[vulkan] Update Vulkan ecosystem to v1.2.174

Merge commit 'e1d8c4931d8e4b6c4a8e633c163ed3aa82d6ac1c' into HEAD

Bug:73208

Change-Id: I9b729b70ced974773cd476fa4b7c279520fa2d1c
diff --git a/BUILD.gn b/BUILD.gn
index 7a4f92d..7d708ff 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -55,6 +55,7 @@
     "include/vulkan/vulkan.h",
     "include/vulkan/vulkan.hpp",
     "include/vulkan/vulkan_core.h",
+    "include/vulkan/vulkan_screen.h",
   ]
   public_configs = [
     ":vulkan_headers_config",
diff --git a/include/vulkan/vk_icd.h b/include/vulkan/vk_icd.h
index f10812d..70b5c44 100644
--- a/include/vulkan/vk_icd.h
+++ b/include/vulkan/vk_icd.h
@@ -121,6 +121,9 @@
     VK_ICD_WSI_PLATFORM_HEADLESS,
     VK_ICD_WSI_PLATFORM_METAL,
     VK_ICD_WSI_PLATFORM_DIRECTFB,
+    VK_ICD_WSI_PLATFORM_VI,
+    VK_ICD_WSI_PLATFORM_GGP,
+    VK_ICD_WSI_PLATFORM_SCREEN,
 } VkIcdWsiPlatform;
 
 typedef struct {
@@ -202,6 +205,12 @@
 } VkIcdSurfaceImagePipe;
 #endif // VK_USE_PLATFORM_FUCHSIA
 
+#ifdef VK_USE_PLATFORM_GGP
+typedef struct {
+    VkIcdSurfaceBase base;
+    GgpStreamDescriptor streamDescriptor;
+} VkIcdSurfaceGgp;
+#endif  // VK_USE_PLATFORM_GGP
 
 typedef struct {
     VkIcdSurfaceBase base;
@@ -225,4 +234,19 @@
 } VkIcdSurfaceMetal;
 #endif // VK_USE_PLATFORM_METAL_EXT
 
+#ifdef VK_USE_PLATFORM_VI_NN
+typedef struct {
+    VkIcdSurfaceBase base;
+    void *window;
+} VkIcdSurfaceVi;
+#endif // VK_USE_PLATFORM_VI_NN
+
+#ifdef VK_USE_PLATFORM_SCREEN_QNX
+typedef struct {
+    VkIcdSurfaceBase base;
+    struct _screen_context *context;
+    struct _screen_window *window;
+} VkIcdSurfaceScreen;
+#endif  // VK_USE_PLATFORM_SCREEN_QNX
+
 #endif  // VKICD_H
diff --git a/include/vulkan/vk_platform.h b/include/vulkan/vk_platform.h
index 048322d..18b913a 100644
--- a/include/vulkan/vk_platform.h
+++ b/include/vulkan/vk_platform.h
@@ -2,7 +2,7 @@
 // File: vk_platform.h
 //
 /*
-** Copyright (c) 2014-2020 The Khronos Group Inc.
+** Copyright 2014-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
@@ -58,7 +58,9 @@
     #define VKAPI_PTR
 #endif
 
-#include <stddef.h>
+#if !defined(VK_NO_STDDEF_H)
+    #include <stddef.h>
+#endif // !defined(VK_NO_STDDEF_H)
 
 #if !defined(VK_NO_STDINT_H)
     #if defined(_MSC_VER) && (_MSC_VER < 1600)
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index b7716ec..b187c9c 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -2,7 +2,7 @@
 #define VULKAN_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
@@ -80,6 +80,12 @@
 #endif
 
 
+#ifdef VK_USE_PLATFORM_SCREEN_QNX
+#include <screen/screen.h>
+#include "vulkan_screen.h"
+#endif
+
+
 #ifdef VK_ENABLE_BETA_EXTENSIONS
 #include "vulkan_beta.h"
 #endif
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp
index 091ef50..750982f 100644
--- a/include/vulkan/vulkan.hpp
+++ b/include/vulkan/vulkan.hpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2015-2020 The Khronos Group Inc.
+// Copyright 2015-2021 The Khronos Group Inc.
 //
 // SPDX-License-Identifier: Apache-2.0 OR MIT
 //
@@ -8,22 +8,22 @@
 #ifndef VULKAN_HPP
 #define VULKAN_HPP
 
-#if defined( _MSVC_LANG )
-#  define VULKAN_HPP_CPLUSPLUS _MSVC_LANG
+#if defined(_MSVC_LANG)
+#define VULKAN_HPP_CPLUSPLUS _MSVC_LANG
 #else
-#  define VULKAN_HPP_CPLUSPLUS __cplusplus
+#define VULKAN_HPP_CPLUSPLUS __cplusplus
 #endif
 
 #if 201703L < VULKAN_HPP_CPLUSPLUS
-#  define VULKAN_HPP_CPP_VERSION 20
+#define VULKAN_HPP_CPP_VERSION 20
 #elif 201402L < VULKAN_HPP_CPLUSPLUS
-#  define VULKAN_HPP_CPP_VERSION 17
+#define VULKAN_HPP_CPP_VERSION 17
 #elif 201103L < VULKAN_HPP_CPLUSPLUS
-#  define VULKAN_HPP_CPP_VERSION 14
+#define VULKAN_HPP_CPP_VERSION 14
 #elif 199711L < VULKAN_HPP_CPLUSPLUS
-#  define VULKAN_HPP_CPP_VERSION 11
+#define VULKAN_HPP_CPP_VERSION 11
 #else
-#  error "vulkan.hpp needs at least c++ standard version 11"
+#error "vulkan.hpp needs at least c++ standard version 11"
 #endif
 
 #include <algorithm>
@@ -33,6 +33,7 @@
 #include <cstring>
 #include <functional>
 #include <initializer_list>
+#include <sstream>
 #include <string>
 #include <system_error>
 #include <tuple>
@@ -40,110239 +41,123325 @@
 #include <vulkan/vulkan.h>
 
 #if 17 <= VULKAN_HPP_CPP_VERSION
-#  include <string_view>
+#include <string_view>
 #endif
 
-#if defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-#  if !defined( VULKAN_HPP_NO_SMART_HANDLE )
-#    define VULKAN_HPP_NO_SMART_HANDLE
-#  endif
+#if defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_NO_SMART_HANDLE)
+#define VULKAN_HPP_NO_SMART_HANDLE
+#endif
 #else
-#  include <memory>
-#  include <vector>
+#include <memory>
+#include <vector>
 #endif
 
-#if !defined( VULKAN_HPP_ASSERT )
-#  include <cassert>
-#  define VULKAN_HPP_ASSERT assert
+#if !defined(VULKAN_HPP_ASSERT)
+#include <cassert>
+#define VULKAN_HPP_ASSERT assert
 #endif
 
-#if !defined( VULKAN_HPP_ASSERT_ON_RESULT )
-#  define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT
+#if !defined(VULKAN_HPP_ASSERT_ON_RESULT)
+#define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT
 #endif
 
-#if !defined( VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL )
-#  define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1
+#if !defined(VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL)
+#define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1
 #endif
 
 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
-#  if defined( __linux__ ) || defined( __APPLE__ ) || defined( __Fuchsia__ )
-#    include <dlfcn.h>
-#  elif defined( _WIN32 )
-typedef struct HINSTANCE__ * HINSTANCE;
-#    if defined( _WIN64 )
-typedef int64_t( __stdcall * FARPROC )();
-#    else
-typedef int( __stdcall * FARPROC )();
-#    endif
-extern "C" __declspec( dllimport ) HINSTANCE __stdcall LoadLibraryA( char const * lpLibFileName );
-extern "C" __declspec( dllimport ) int __stdcall FreeLibrary( HINSTANCE hLibModule );
-extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE hModule, const char * lpProcName );
-#  endif
+#if defined(__linux__) || defined(__APPLE__) || defined(__QNXNTO__) ||         \
+    defined(__Fuchsia__)
+#include <dlfcn.h>
+#elif defined(_WIN32)
+typedef struct HINSTANCE__ *HINSTANCE;
+#if defined(_WIN64)
+typedef int64_t(__stdcall *FARPROC)();
+#else
+typedef int(__stdcall *FARPROC)();
+#endif
+extern "C" __declspec(dllimport) HINSTANCE
+    __stdcall LoadLibraryA(char const *lpLibFileName);
+extern "C" __declspec(dllimport) int __stdcall FreeLibrary(
+    HINSTANCE hLibModule);
+extern "C" __declspec(dllimport) FARPROC
+    __stdcall GetProcAddress(HINSTANCE hModule, const char *lpProcName);
+#endif
 #endif
 
-#if 201711 <= __cpp_impl_three_way_comparison
-#  define VULKAN_HPP_HAS_SPACESHIP_OPERATOR
-#endif
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-#  include <compare>
+#if !defined(__has_include)
+#define __has_include(x) false
 #endif
 
-static_assert( VK_HEADER_VERSION == 148, "Wrong VK_HEADER_VERSION!" );
+#if (201711 <= __cpp_impl_three_way_comparison) &&                             \
+    __has_include(<compare> ) && !defined( VULKAN_HPP_NO_SPACESHIP_OPERATOR )
+#define VULKAN_HPP_HAS_SPACESHIP_OPERATOR
+#endif
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+#include <compare>
+#endif
 
-// 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
-// To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
-#if defined( __LP64__ ) || defined( _WIN64 ) || ( defined( __x86_64__ ) && !defined( __ILP32__ ) ) || \
-  defined( _M_X64 ) || defined( __ia64 ) || defined( _M_IA64 ) || defined( __aarch64__ ) || defined( __powerpc64__ )
-#  if !defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-#    define VULKAN_HPP_TYPESAFE_CONVERSION
-#  endif
+static_assert(VK_HEADER_VERSION == 174, "Wrong VK_HEADER_VERSION!");
+
+// 32-bit vulkan is not typesafe for handles, so don't allow copy constructors
+// on this platform by default. To enable this feature on 32-bit platforms
+// please define VULKAN_HPP_TYPESAFE_CONVERSION
+#if (VK_USE_64_BIT_PTR_DEFINES == 1)
+#if !defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+#define VULKAN_HPP_TYPESAFE_CONVERSION
+#endif
 #endif
 
 // <tuple> includes <sys/sysmacros.h> through some other header
 // this results in major(x) being resolved to gnu_dev_major(x)
 // which is an expression in a constructor initializer list.
-#if defined( major )
-#  undef major
+#if defined(major)
+#undef major
 #endif
-#if defined( minor )
-#  undef minor
+#if defined(minor)
+#undef minor
 #endif
 
 // Windows defines MemoryBarrier which is deprecated and collides
 // with the VULKAN_HPP_NAMESPACE::MemoryBarrier struct.
-#if defined( MemoryBarrier )
-#  undef MemoryBarrier
+#if defined(MemoryBarrier)
+#undef MemoryBarrier
 #endif
 
-#if !defined( VULKAN_HPP_HAS_UNRESTRICTED_UNIONS )
-#  if defined( __clang__ )
-#    if __has_feature( cxx_unrestricted_unions )
-#      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-#    endif
-#  elif defined( __GNUC__ )
-#    define GCC_VERSION ( __GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ )
-#    if 40600 <= GCC_VERSION
-#      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-#    endif
-#  elif defined( _MSC_VER )
-#    if 1900 <= _MSC_VER
-#      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-#    endif
-#  endif
+#if !defined(VULKAN_HPP_HAS_UNRESTRICTED_UNIONS)
+#if defined(__clang__)
+#if __has_feature(cxx_unrestricted_unions)
+#define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+#endif
+#elif defined(__GNUC__)
+#define GCC_VERSION                                                            \
+  (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#if 40600 <= GCC_VERSION
+#define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+#endif
+#elif defined(_MSC_VER)
+#if 1900 <= _MSC_VER
+#define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+#endif
+#endif
 #endif
 
-#if !defined( VULKAN_HPP_INLINE )
-#  if defined( __clang__ )
-#    if __has_attribute( always_inline )
-#      define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
-#    else
-#      define VULKAN_HPP_INLINE inline
-#    endif
-#  elif defined( __GNUC__ )
-#    define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
-#  elif defined( _MSC_VER )
-#    define VULKAN_HPP_INLINE inline
-#  else
-#    define VULKAN_HPP_INLINE inline
-#  endif
-#endif
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-#  define VULKAN_HPP_TYPESAFE_EXPLICIT
+#if !defined(VULKAN_HPP_INLINE)
+#if defined(__clang__)
+#if __has_attribute(always_inline)
+#define VULKAN_HPP_INLINE __attribute__((always_inline)) __inline__
 #else
-#  define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
+#define VULKAN_HPP_INLINE inline
 #endif
-
-#if defined( __cpp_constexpr )
-#  define VULKAN_HPP_CONSTEXPR constexpr
-#  if __cpp_constexpr >= 201304
-#    define VULKAN_HPP_CONSTEXPR_14 constexpr
-#  else
-#    define VULKAN_HPP_CONSTEXPR_14
-#  endif
-#  define VULKAN_HPP_CONST_OR_CONSTEXPR constexpr
+#elif defined(__GNUC__)
+#define VULKAN_HPP_INLINE __attribute__((always_inline)) __inline__
+#elif defined(_MSC_VER)
+#define VULKAN_HPP_INLINE inline
 #else
-#  define VULKAN_HPP_CONSTEXPR
-#  define VULKAN_HPP_CONSTEXPR_14
-#  define VULKAN_HPP_CONST_OR_CONSTEXPR const
+#define VULKAN_HPP_INLINE inline
+#endif
 #endif
 
-#if !defined( VULKAN_HPP_NOEXCEPT )
-#  if defined( _MSC_VER ) && ( _MSC_VER <= 1800 )
-#    define VULKAN_HPP_NOEXCEPT
-#  else
-#    define VULKAN_HPP_NOEXCEPT     noexcept
-#    define VULKAN_HPP_HAS_NOEXCEPT 1
-#  endif
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+#define VULKAN_HPP_TYPESAFE_EXPLICIT
+#else
+#define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
+#endif
+
+#if defined(__cpp_constexpr)
+#define VULKAN_HPP_CONSTEXPR constexpr
+#if __cpp_constexpr >= 201304
+#define VULKAN_HPP_CONSTEXPR_14 constexpr
+#else
+#define VULKAN_HPP_CONSTEXPR_14
+#endif
+#define VULKAN_HPP_CONST_OR_CONSTEXPR constexpr
+#else
+#define VULKAN_HPP_CONSTEXPR
+#define VULKAN_HPP_CONSTEXPR_14
+#define VULKAN_HPP_CONST_OR_CONSTEXPR const
+#endif
+
+#if !defined(VULKAN_HPP_NOEXCEPT)
+#if defined(_MSC_VER) && (_MSC_VER <= 1800)
+#define VULKAN_HPP_NOEXCEPT
+#else
+#define VULKAN_HPP_NOEXCEPT noexcept
+#define VULKAN_HPP_HAS_NOEXCEPT 1
+#if defined(VULKAN_HPP_NO_EXCEPTIONS)
+#define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS noexcept
+#else
+#define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS
+#endif
+#endif
 #endif
 
 #if 14 <= VULKAN_HPP_CPP_VERSION
-#  define VULKAN_HPP_DEPRECATED( msg ) [[deprecated( msg )]]
+#define VULKAN_HPP_DEPRECATED(msg) [[deprecated(msg)]]
 #else
-#  define VULKAN_HPP_DEPRECATED( msg )
+#define VULKAN_HPP_DEPRECATED(msg)
 #endif
 
-#if !defined( VULKAN_HPP_NAMESPACE )
-#  define VULKAN_HPP_NAMESPACE vk
+#if (17 <= VULKAN_HPP_CPP_VERSION) && !defined(VULKAN_HPP_NO_NODISCARD_WARNINGS)
+#define VULKAN_HPP_NODISCARD [[nodiscard]]
+#if defined(VULKAN_HPP_NO_EXCEPTIONS)
+#define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS [[nodiscard]]
+#else
+#define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+#endif
+#else
+#define VULKAN_HPP_NODISCARD
+#define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
 #endif
 
-#define VULKAN_HPP_STRINGIFY2( text ) #text
-#define VULKAN_HPP_STRINGIFY( text )  VULKAN_HPP_STRINGIFY2( text )
-#define VULKAN_HPP_NAMESPACE_STRING   VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
-
-namespace VULKAN_HPP_NAMESPACE
-{
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-  template <typename T>
-  class ArrayProxy
-  {
-  public:
-    VULKAN_HPP_CONSTEXPR ArrayProxy() VULKAN_HPP_NOEXCEPT
-      : m_count( 0 )
-      , m_ptr( nullptr )
-    {}
-
-    VULKAN_HPP_CONSTEXPR ArrayProxy( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_count( 0 )
-      , m_ptr( nullptr )
-    {}
-
-    ArrayProxy( T & value ) VULKAN_HPP_NOEXCEPT
-      : m_count( 1 )
-      , m_ptr( &value )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
-      : m_count( 1 )
-      , m_ptr( &value )
-    {}
-
-    ArrayProxy( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
-      : m_count( count )
-      , m_ptr( ptr )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
-      : m_count( count )
-      , m_ptr( ptr )
-    {}
-
-    ArrayProxy( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( std::initializer_list<typename std::remove_const<T>::type> const & list ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    ArrayProxy( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( std::initializer_list<typename std::remove_const<T>::type> & list ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    template <size_t N>
-    ArrayProxy( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <size_t N, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( std::array<typename std::remove_const<T>::type, N> const & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <size_t N>
-    ArrayProxy( std::array<T, N> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <size_t N, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( std::array<typename std::remove_const<T>::type, N> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
-    ArrayProxy( std::vector<T, Allocator> const & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
-              typename B      = T,
-              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( std::vector<typename std::remove_const<T>::type, Allocator> const & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
-    ArrayProxy( std::vector<T, Allocator> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
-              typename B      = T,
-              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxy( std::vector<typename std::remove_const<T>::type, Allocator> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    const T * begin() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr;
-    }
-
-    const T * end() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr + m_count;
-    }
-
-    const T & front() const VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( m_count && m_ptr );
-      return *m_ptr;
-    }
-
-    const T & back() const VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( m_count && m_ptr );
-      return *( m_ptr + m_count - 1 );
-    }
-
-    bool empty() const VULKAN_HPP_NOEXCEPT
-    {
-      return ( m_count == 0 );
-    }
-
-    uint32_t size() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_count;
-    }
-
-    T * data() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr;
-    }
-
-  private:
-    uint32_t m_count;
-    T *      m_ptr;
-  };
-
-  template <typename T>
-  class ArrayProxyNoTemporaries
-  {
-  public:
-    VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries() VULKAN_HPP_NOEXCEPT
-      : m_count( 0 )
-      , m_ptr( nullptr )
-    {}
-
-    VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_count( 0 )
-      , m_ptr( nullptr )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
-      : m_count( 1 )
-      , m_ptr( &value )
-    {}
-
-    ArrayProxyNoTemporaries( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
-      : m_count( count )
-      , m_ptr( ptr )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
-      : m_count( count )
-      , m_ptr( ptr )
-    {}
-
-    ArrayProxyNoTemporaries( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const & list )
-      VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    ArrayProxyNoTemporaries( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> & list ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( list.size() ) )
-      , m_ptr( list.begin() )
-    {}
-
-    ArrayProxyNoTemporaries( std::initializer_list<T> const && list ) VULKAN_HPP_NOEXCEPT = delete;
-    ArrayProxyNoTemporaries( std::initializer_list<T> && list ) VULKAN_HPP_NOEXCEPT       = delete;
-
-    template <size_t N>
-    ArrayProxyNoTemporaries( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <size_t N, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type, N> const & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <size_t N>
-    ArrayProxyNoTemporaries( std::array<T, N> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <size_t N, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type, N> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( N )
-      , m_ptr( data.data() )
-    {}
-
-    template <size_t N>
-    ArrayProxyNoTemporaries( std::array<T, N> const && data ) VULKAN_HPP_NOEXCEPT = delete;
-    template <size_t N>
-    ArrayProxyNoTemporaries( std::array<T, N> && data ) VULKAN_HPP_NOEXCEPT = delete;
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
-    ArrayProxyNoTemporaries( std::vector<T, Allocator> const & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
-              typename B      = T,
-              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> const & data )
-      VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
-    ArrayProxyNoTemporaries( std::vector<T, Allocator> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
-              typename B      = T,
-              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
-    ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> & data ) VULKAN_HPP_NOEXCEPT
-      : m_count( static_cast<uint32_t>( data.size() ) )
-      , m_ptr( data.data() )
-    {}
-
-    ArrayProxyNoTemporaries( std::vector<T> const && data ) VULKAN_HPP_NOEXCEPT = delete;
-    ArrayProxyNoTemporaries( std::vector<T> && data ) VULKAN_HPP_NOEXCEPT       = delete;
-
-    const T * begin() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr;
-    }
-
-    const T * end() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr + m_count;
-    }
-
-    const T & front() const VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( m_count && m_ptr );
-      return *m_ptr;
-    }
-
-    const T & back() const VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( m_count && m_ptr );
-      return *( m_ptr + m_count - 1 );
-    }
-
-    bool empty() const VULKAN_HPP_NOEXCEPT
-    {
-      return ( m_count == 0 );
-    }
-
-    uint32_t size() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_count;
-    }
-
-    T * data() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr;
-    }
-
-  private:
-    uint32_t m_count;
-    T *      m_ptr;
-  };
+#if !defined(VULKAN_HPP_NAMESPACE)
+#define VULKAN_HPP_NAMESPACE vk
 #endif
 
-  template <typename T, size_t N>
-  class ArrayWrapper1D : public std::array<T, N>
-  {
-  public:
-    VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT : std::array<T, N>() {}
+#define VULKAN_HPP_STRINGIFY2(text) #text
+#define VULKAN_HPP_STRINGIFY(text) VULKAN_HPP_STRINGIFY2(text)
+#define VULKAN_HPP_NAMESPACE_STRING VULKAN_HPP_STRINGIFY(VULKAN_HPP_NAMESPACE)
 
-    VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT : std::array<T, N>( data )
-    {}
+namespace VULKAN_HPP_NAMESPACE {
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+template <typename T> class ArrayProxy {
+public:
+  VULKAN_HPP_CONSTEXPR ArrayProxy() VULKAN_HPP_NOEXCEPT : m_count(0),
+                                                          m_ptr(nullptr) {}
 
-#if defined( _WIN32 ) && !defined( _WIN64 )
-    VULKAN_HPP_CONSTEXPR T const & operator[]( int index ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::array<T, N>::operator[]( index );
-    }
+  VULKAN_HPP_CONSTEXPR ArrayProxy(std::nullptr_t) VULKAN_HPP_NOEXCEPT
+      : m_count(0),
+        m_ptr(nullptr) {}
 
-    VULKAN_HPP_CONSTEXPR T & operator[]( int index ) VULKAN_HPP_NOEXCEPT
-    {
-      return std::array<T, N>::operator[]( index );
-    }
+  ArrayProxy(T &value) VULKAN_HPP_NOEXCEPT : m_count(1), m_ptr(&value) {}
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(typename std::remove_const<T>::type &value) VULKAN_HPP_NOEXCEPT
+      : m_count(1),
+        m_ptr(&value) {}
+
+  ArrayProxy(uint32_t count, T *ptr) VULKAN_HPP_NOEXCEPT : m_count(count),
+                                                           m_ptr(ptr) {}
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(uint32_t count,
+             typename std::remove_const<T>::type *ptr) VULKAN_HPP_NOEXCEPT
+      : m_count(count),
+        m_ptr(ptr) {}
+
+#if __GNUC__ >= 9
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Winit-list-lifetime"
 #endif
 
-    operator T const *() const VULKAN_HPP_NOEXCEPT
-    {
-      return this->data();
-    }
+  ArrayProxy(std::initializer_list<T> const &list) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(list.size())),
+        m_ptr(list.begin()) {}
 
-    operator T *() VULKAN_HPP_NOEXCEPT
-    {
-      return this->data();
-    }
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(std::initializer_list<typename std::remove_const<T>::type> const
+                 &list) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(list.size())),
+        m_ptr(list.begin()) {}
 
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    operator std::string() const
-    {
-      return std::string( this->data() );
-    }
+  ArrayProxy(std::initializer_list<T> &list) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(list.size())),
+        m_ptr(list.begin()) {}
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(std::initializer_list<typename std::remove_const<T>::type> &list)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(list.size())),
+                            m_ptr(list.begin()) {}
+
+#if __GNUC__ >= 9
+#pragma GCC diagnostic pop
+#endif
+
+  template <size_t N>
+  ArrayProxy(std::array<T, N> const &data) VULKAN_HPP_NOEXCEPT
+      : m_count(N),
+        m_ptr(data.data()) {}
+
+  template <size_t N, typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(std::array<typename std::remove_const<T>::type, N> const &data)
+      VULKAN_HPP_NOEXCEPT : m_count(N),
+                            m_ptr(data.data()) {}
+
+  template <size_t N>
+  ArrayProxy(std::array<T, N> &data) VULKAN_HPP_NOEXCEPT : m_count(N),
+                                                           m_ptr(data.data()) {}
+
+  template <size_t N, typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(std::array<typename std::remove_const<T>::type, N> &data)
+      VULKAN_HPP_NOEXCEPT : m_count(N),
+                            m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>>
+  ArrayProxy(std::vector<T, Allocator> const &data) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(data.size())),
+        m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>,
+      typename B = T,
+      typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(std::vector<typename std::remove_const<T>::type, Allocator> const
+                 &data) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(data.size())),
+        m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>>
+  ArrayProxy(std::vector<T, Allocator> &data) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(data.size())),
+        m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>,
+      typename B = T,
+      typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxy(std::vector<typename std::remove_const<T>::type, Allocator> &data)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(data.size())),
+                            m_ptr(data.data()) {}
+
+  const T *begin() const VULKAN_HPP_NOEXCEPT { return m_ptr; }
+
+  const T *end() const VULKAN_HPP_NOEXCEPT { return m_ptr + m_count; }
+
+  const T &front() const VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_count && m_ptr);
+    return *m_ptr;
+  }
+
+  const T &back() const VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_count && m_ptr);
+    return *(m_ptr + m_count - 1);
+  }
+
+  bool empty() const VULKAN_HPP_NOEXCEPT { return (m_count == 0); }
+
+  uint32_t size() const VULKAN_HPP_NOEXCEPT { return m_count; }
+
+  T *data() const VULKAN_HPP_NOEXCEPT { return m_ptr; }
+
+private:
+  uint32_t m_count;
+  T *m_ptr;
+};
+
+template <typename T> class ArrayProxyNoTemporaries {
+public:
+  VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries() VULKAN_HPP_NOEXCEPT
+      : m_count(0),
+        m_ptr(nullptr) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ArrayProxyNoTemporaries(std::nullptr_t) VULKAN_HPP_NOEXCEPT : m_count(0),
+                                                                m_ptr(nullptr) {
+  }
+
+  ArrayProxyNoTemporaries(T &value) VULKAN_HPP_NOEXCEPT : m_count(1),
+                                                          m_ptr(&value) {}
+
+  ArrayProxyNoTemporaries(T &&value) = delete;
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(typename std::remove_const<T>::type &value)
+      VULKAN_HPP_NOEXCEPT : m_count(1),
+                            m_ptr(&value) {}
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(typename std::remove_const<T>::type &&value) = delete;
+
+  ArrayProxyNoTemporaries(uint32_t count, T *ptr) VULKAN_HPP_NOEXCEPT
+      : m_count(count),
+        m_ptr(ptr) {}
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(uint32_t count,
+                          typename std::remove_const<T>::type *ptr)
+      VULKAN_HPP_NOEXCEPT : m_count(count),
+                            m_ptr(ptr) {}
+
+  ArrayProxyNoTemporaries(std::initializer_list<T> const &list)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(list.size())),
+                            m_ptr(list.begin()) {}
+
+  ArrayProxyNoTemporaries(std::initializer_list<T> const &&list) = delete;
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::initializer_list<typename std::remove_const<T>::type> const &list)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(list.size())),
+                            m_ptr(list.begin()) {}
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::initializer_list<typename std::remove_const<T>::type> const &&list) =
+      delete;
+
+  ArrayProxyNoTemporaries(std::initializer_list<T> &list) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(list.size())),
+        m_ptr(list.begin()) {}
+
+  ArrayProxyNoTemporaries(std::initializer_list<T> &&list) = delete;
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::initializer_list<typename std::remove_const<T>::type> &list)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(list.size())),
+                            m_ptr(list.begin()) {}
+
+  template <typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::initializer_list<typename std::remove_const<T>::type> &&list) =
+      delete;
+
+  template <size_t N>
+  ArrayProxyNoTemporaries(std::array<T, N> const &data) VULKAN_HPP_NOEXCEPT
+      : m_count(N),
+        m_ptr(data.data()) {}
+
+  template <size_t N>
+  ArrayProxyNoTemporaries(std::array<T, N> const &&data) = delete;
+
+  template <size_t N, typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::array<typename std::remove_const<T>::type, N> const &data)
+      VULKAN_HPP_NOEXCEPT : m_count(N),
+                            m_ptr(data.data()) {}
+
+  template <size_t N, typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::array<typename std::remove_const<T>::type, N> const &&data) = delete;
+
+  template <size_t N>
+  ArrayProxyNoTemporaries(std::array<T, N> &data) VULKAN_HPP_NOEXCEPT
+      : m_count(N),
+        m_ptr(data.data()) {}
+
+  template <size_t N> ArrayProxyNoTemporaries(std::array<T, N> &&data) = delete;
+
+  template <size_t N, typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(std::array<typename std::remove_const<T>::type, N>
+                              &data) VULKAN_HPP_NOEXCEPT : m_count(N),
+                                                           m_ptr(data.data()) {}
+
+  template <size_t N, typename B = T,
+            typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::array<typename std::remove_const<T>::type, N> &&data) = delete;
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>>
+  ArrayProxyNoTemporaries(std::vector<T, Allocator> const &data)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(data.size())),
+                            m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>>
+  ArrayProxyNoTemporaries(std::vector<T, Allocator> const &&data) = delete;
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>,
+      typename B = T,
+      typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::vector<typename std::remove_const<T>::type, Allocator> const &data)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(data.size())),
+                            m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>,
+      typename B = T,
+      typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(std::vector<typename std::remove_const<T>::type,
+                                      Allocator> const &&data) = delete;
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>>
+  ArrayProxyNoTemporaries(std::vector<T, Allocator> &data) VULKAN_HPP_NOEXCEPT
+      : m_count(static_cast<uint32_t>(data.size())),
+        m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>>
+  ArrayProxyNoTemporaries(std::vector<T, Allocator> &&data) = delete;
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>,
+      typename B = T,
+      typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::vector<typename std::remove_const<T>::type, Allocator> &data)
+      VULKAN_HPP_NOEXCEPT : m_count(static_cast<uint32_t>(data.size())),
+                            m_ptr(data.data()) {}
+
+  template <
+      class Allocator = std::allocator<typename std::remove_const<T>::type>,
+      typename B = T,
+      typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+  ArrayProxyNoTemporaries(
+      std::vector<typename std::remove_const<T>::type, Allocator> &&data) =
+      delete;
+
+  const T *begin() const VULKAN_HPP_NOEXCEPT { return m_ptr; }
+
+  const T *end() const VULKAN_HPP_NOEXCEPT { return m_ptr + m_count; }
+
+  const T &front() const VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_count && m_ptr);
+    return *m_ptr;
+  }
+
+  const T &back() const VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_count && m_ptr);
+    return *(m_ptr + m_count - 1);
+  }
+
+  bool empty() const VULKAN_HPP_NOEXCEPT { return (m_count == 0); }
+
+  uint32_t size() const VULKAN_HPP_NOEXCEPT { return m_count; }
+
+  T *data() const VULKAN_HPP_NOEXCEPT { return m_ptr; }
+
+private:
+  uint32_t m_count;
+  T *m_ptr;
+};
+#endif
+
+template <typename T, size_t N> class ArrayWrapper1D : public std::array<T, N> {
+public:
+  VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT
+      : std::array<T, N>() {}
+
+  VULKAN_HPP_CONSTEXPR
+  ArrayWrapper1D(std::array<T, N> const &data) VULKAN_HPP_NOEXCEPT
+      : std::array<T, N>(data) {}
+
+#if defined(_WIN32) && !defined(_WIN64)
+  VULKAN_HPP_CONSTEXPR T const &
+  operator[](int index) const VULKAN_HPP_NOEXCEPT {
+    return std::array<T, N>::operator[](index);
+  }
+
+  T &operator[](int index) VULKAN_HPP_NOEXCEPT {
+    return std::array<T, N>::operator[](index);
+  }
+#endif
+
+  operator T const *() const VULKAN_HPP_NOEXCEPT { return this->data(); }
+
+  operator T *() VULKAN_HPP_NOEXCEPT { return this->data(); }
+
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  operator std::string() const {
+    return std::string(this->data());
+  }
 
 #if 17 <= VULKAN_HPP_CPP_VERSION
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    operator std::string_view() const
-    {
-      return std::string_view( this->data() );
-    }
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  operator std::string_view() const {
+    return std::string_view(this->data());
+  }
 #endif
 
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    bool operator<( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return *static_cast<std::array<char, N> const *>( this ) < *static_cast<std::array<char, N> const *>( &rhs );
-    }
-
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    bool operator<=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return *static_cast<std::array<char, N> const *>( this ) <= *static_cast<std::array<char, N> const *>( &rhs );
-    }
-
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    bool operator>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return *static_cast<std::array<char, N> const *>( this ) > *static_cast<std::array<char, N> const *>( &rhs );
-    }
-
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    bool operator>=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return *static_cast<std::array<char, N> const *>( this ) >= *static_cast<std::array<char, N> const *>( &rhs );
-    }
-
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    bool operator==( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return *static_cast<std::array<char, N> const *>( this ) == *static_cast<std::array<char, N> const *>( &rhs );
-    }
-
-    template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
-    bool operator!=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return *static_cast<std::array<char, N> const *>( this ) != *static_cast<std::array<char, N> const *>( &rhs );
-    }
-  };
-
-  // specialization of relational operators between std::string and arrays of chars
-  template <size_t N>
-  bool operator<( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
-  {
-    return lhs < rhs.data();
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  bool operator<(ArrayWrapper1D<char, N> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return *static_cast<std::array<char, N> const *>(this) <
+           *static_cast<std::array<char, N> const *>(&rhs);
   }
 
-  template <size_t N>
-  bool operator<=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
-  {
-    return lhs <= rhs.data();
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  bool
+  operator<=(ArrayWrapper1D<char, N> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return *static_cast<std::array<char, N> const *>(this) <=
+           *static_cast<std::array<char, N> const *>(&rhs);
   }
 
-  template <size_t N>
-  bool operator>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
-  {
-    return lhs > rhs.data();
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  bool operator>(ArrayWrapper1D<char, N> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return *static_cast<std::array<char, N> const *>(this) >
+           *static_cast<std::array<char, N> const *>(&rhs);
   }
 
-  template <size_t N>
-  bool operator>=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
-  {
-    return lhs >= rhs.data();
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  bool
+  operator>=(ArrayWrapper1D<char, N> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return *static_cast<std::array<char, N> const *>(this) >=
+           *static_cast<std::array<char, N> const *>(&rhs);
   }
 
-  template <size_t N>
-  bool operator==( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
-  {
-    return lhs == rhs.data();
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  bool
+  operator==(ArrayWrapper1D<char, N> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return *static_cast<std::array<char, N> const *>(this) ==
+           *static_cast<std::array<char, N> const *>(&rhs);
   }
 
-  template <size_t N>
-  bool operator!=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
-  {
-    return lhs != rhs.data();
+  template <typename B = T, typename std::enable_if<
+                                std::is_same<B, char>::value, int>::type = 0>
+  bool
+  operator!=(ArrayWrapper1D<char, N> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return *static_cast<std::array<char, N> const *>(this) !=
+           *static_cast<std::array<char, N> const *>(&rhs);
   }
+};
 
-  template <typename T, size_t N, size_t M>
-  class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N>
-  {
-  public:
-    VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT : std::array<ArrayWrapper1D<T, M>, N>() {}
+// specialization of relational operators between std::string and arrays of
+// chars
+template <size_t N>
+bool operator<(std::string const &lhs,
+               ArrayWrapper1D<char, N> const &rhs) VULKAN_HPP_NOEXCEPT {
+  return lhs < rhs.data();
+}
 
-    VULKAN_HPP_CONSTEXPR ArrayWrapper2D( std::array<std::array<T, M>, N> const & data ) VULKAN_HPP_NOEXCEPT
-      : std::array<ArrayWrapper1D<T, M>, N>( *reinterpret_cast<std::array<ArrayWrapper1D<T, M>, N> const *>( &data ) )
-    {}
-  };
+template <size_t N>
+bool operator<=(std::string const &lhs,
+                ArrayWrapper1D<char, N> const &rhs) VULKAN_HPP_NOEXCEPT {
+  return lhs <= rhs.data();
+}
 
-  template <typename FlagBitsType>
-  struct FlagTraits
-  {
-    enum
-    {
-      allFlags = 0
-    };
-  };
+template <size_t N>
+bool operator>(std::string const &lhs,
+               ArrayWrapper1D<char, N> const &rhs) VULKAN_HPP_NOEXCEPT {
+  return lhs > rhs.data();
+}
 
-  template <typename BitType>
-  class Flags
-  {
-  public:
-    using MaskType = typename std::underlying_type<BitType>::type;
+template <size_t N>
+bool operator>=(std::string const &lhs,
+                ArrayWrapper1D<char, N> const &rhs) VULKAN_HPP_NOEXCEPT {
+  return lhs >= rhs.data();
+}
 
-    // constructors
-    VULKAN_HPP_CONSTEXPR Flags() VULKAN_HPP_NOEXCEPT : m_mask( 0 ) {}
+template <size_t N>
+bool operator==(std::string const &lhs,
+                ArrayWrapper1D<char, N> const &rhs) VULKAN_HPP_NOEXCEPT {
+  return lhs == rhs.data();
+}
 
-    VULKAN_HPP_CONSTEXPR Flags( BitType bit ) VULKAN_HPP_NOEXCEPT : m_mask( static_cast<MaskType>( bit ) ) {}
+template <size_t N>
+bool operator!=(std::string const &lhs,
+                ArrayWrapper1D<char, N> const &rhs) VULKAN_HPP_NOEXCEPT {
+  return lhs != rhs.data();
+}
 
-    VULKAN_HPP_CONSTEXPR Flags( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT : m_mask( rhs.m_mask ) {}
+template <typename T, size_t N, size_t M>
+class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N> {
+public:
+  VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT
+      : std::array<ArrayWrapper1D<T, M>, N>() {}
 
-    VULKAN_HPP_CONSTEXPR explicit Flags( MaskType flags ) VULKAN_HPP_NOEXCEPT : m_mask( flags ) {}
+  VULKAN_HPP_CONSTEXPR ArrayWrapper2D(
+      std::array<std::array<T, M>, N> const &data) VULKAN_HPP_NOEXCEPT
+      : std::array<ArrayWrapper1D<T, M>, N>(
+            *reinterpret_cast<std::array<ArrayWrapper1D<T, M>, N> const *>(
+                &data)) {}
+};
 
-    // relational operators
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Flags<BitType> const & ) const = default;
+template <typename FlagBitsType> struct FlagTraits {
+  enum { allFlags = 0 };
+};
+
+template <typename BitType> class Flags {
+public:
+  using MaskType = typename std::underlying_type<BitType>::type;
+
+  // constructors
+  VULKAN_HPP_CONSTEXPR Flags() VULKAN_HPP_NOEXCEPT : m_mask(0) {}
+
+  VULKAN_HPP_CONSTEXPR Flags(BitType bit) VULKAN_HPP_NOEXCEPT
+      : m_mask(static_cast<MaskType>(bit)) {}
+
+  VULKAN_HPP_CONSTEXPR
+  Flags(Flags<BitType> const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  VULKAN_HPP_CONSTEXPR explicit Flags(MaskType flags) VULKAN_HPP_NOEXCEPT
+      : m_mask(flags) {}
+
+  // relational operators
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Flags<BitType> const &) const = default;
 #else
-    VULKAN_HPP_CONSTEXPR bool operator<( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_mask < rhs.m_mask;
-    }
-
-    VULKAN_HPP_CONSTEXPR bool operator<=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_mask <= rhs.m_mask;
-    }
-
-    VULKAN_HPP_CONSTEXPR bool operator>( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_mask > rhs.m_mask;
-    }
-
-    VULKAN_HPP_CONSTEXPR bool operator>=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_mask >= rhs.m_mask;
-    }
-
-    VULKAN_HPP_CONSTEXPR bool operator==( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_mask == rhs.m_mask;
-    }
-
-    VULKAN_HPP_CONSTEXPR bool operator!=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_mask != rhs.m_mask;
-    }
-#endif
-
-    // logical operator
-    VULKAN_HPP_CONSTEXPR bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return !m_mask;
-    }
-
-    // bitwise operators
-    VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return Flags<BitType>( m_mask & rhs.m_mask );
-    }
-
-    VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return Flags<BitType>( m_mask | rhs.m_mask );
-    }
-
-    VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return Flags<BitType>( m_mask ^ rhs.m_mask );
-    }
-
-    VULKAN_HPP_CONSTEXPR Flags<BitType> operator~() const VULKAN_HPP_NOEXCEPT
-    {
-      return Flags<BitType>( m_mask ^ FlagTraits<BitType>::allFlags );
-    }
-
-    // assignment operators
-    VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      m_mask = rhs.m_mask;
-      return *this;
-    }
-
-    VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator|=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      m_mask |= rhs.m_mask;
-      return *this;
-    }
-
-    VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator&=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      m_mask &= rhs.m_mask;
-      return *this;
-    }
-
-    VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator^=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      m_mask ^= rhs.m_mask;
-      return *this;
-    }
-
-    // cast operators
-    explicit VULKAN_HPP_CONSTEXPR operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return !!m_mask;
-    }
-
-    explicit VULKAN_HPP_CONSTEXPR operator MaskType() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_mask;
-    }
-
-  private:
-    MaskType m_mask;
-  };
-
-#if !defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-  // relational operators only needed for pre C++20
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR bool operator<( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags > bit;
+  VULKAN_HPP_CONSTEXPR bool
+  operator<(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_mask < rhs.m_mask;
   }
 
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR bool operator<=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags >= bit;
+  VULKAN_HPP_CONSTEXPR bool
+  operator<=(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_mask <= rhs.m_mask;
   }
 
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR bool operator>( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags < bit;
+  VULKAN_HPP_CONSTEXPR bool
+  operator>(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_mask > rhs.m_mask;
   }
 
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR bool operator>=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags <= bit;
+  VULKAN_HPP_CONSTEXPR bool
+  operator>=(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_mask >= rhs.m_mask;
   }
 
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR bool operator==( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags == bit;
+  VULKAN_HPP_CONSTEXPR bool
+  operator==(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_mask == rhs.m_mask;
   }
 
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR bool operator!=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags != bit;
+  VULKAN_HPP_CONSTEXPR bool
+  operator!=(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_mask != rhs.m_mask;
   }
 #endif
 
+  // logical operator
+  VULKAN_HPP_CONSTEXPR bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return !m_mask;
+  }
+
   // bitwise operators
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags & bit;
+  VULKAN_HPP_CONSTEXPR Flags<BitType>
+  operator&(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return Flags<BitType>(m_mask & rhs.m_mask);
   }
 
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags | bit;
+  VULKAN_HPP_CONSTEXPR Flags<BitType>
+  operator|(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return Flags<BitType>(m_mask | rhs.m_mask);
   }
 
-  template <typename BitType>
-  VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
-  {
-    return flags ^ bit;
+  VULKAN_HPP_CONSTEXPR Flags<BitType>
+  operator^(Flags<BitType> const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return Flags<BitType>(m_mask ^ rhs.m_mask);
   }
 
-  template <typename RefType>
-  class Optional
-  {
-  public:
-    Optional( RefType & reference ) VULKAN_HPP_NOEXCEPT
-    {
-      m_ptr = &reference;
-    }
-    Optional( RefType * ptr ) VULKAN_HPP_NOEXCEPT
-    {
-      m_ptr = ptr;
-    }
-    Optional( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_ptr = nullptr;
-    }
-
-    operator RefType *() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr;
-    }
-    RefType const * operator->() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_ptr;
-    }
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return !!m_ptr;
-    }
-
-  private:
-    RefType * m_ptr;
-  };
-
-  template <typename X, typename Y>
-  struct StructExtends
-  {
-    enum
-    {
-      value = false
-    };
-  };
-
-  template <typename Type, class...>
-  struct IsPartOfStructureChain
-  {
-    static const bool valid = false;
-  };
-
-  template <typename Type, typename Head, typename... Tail>
-  struct IsPartOfStructureChain<Type, Head, Tail...>
-  {
-    static const bool valid = std::is_same<Type, Head>::value || IsPartOfStructureChain<Type, Tail...>::valid;
-  };
-
-  template <size_t Index, typename T, typename... ChainElements>
-  struct StructureChainContains
-  {
-    static const bool value =
-      std::is_same<T, typename std::tuple_element<Index, std::tuple<ChainElements...>>::type>::value ||
-      StructureChainContains<Index - 1, T, ChainElements...>::value;
-  };
-
-  template <typename T, typename... ChainElements>
-  struct StructureChainContains<0, T, ChainElements...>
-  {
-    static const bool value =
-      std::is_same<T, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value;
-  };
-
-  template <size_t Index, typename... ChainElements>
-  struct StructureChainValidation
-  {
-    using TestType = typename std::tuple_element<Index, std::tuple<ChainElements...>>::type;
-    static const bool valid =
-      StructExtends<TestType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
-      ( TestType::allowDuplicate || !StructureChainContains<Index - 1, TestType, ChainElements...>::value ) &&
-      StructureChainValidation<Index - 1, ChainElements...>::valid;
-  };
-
-  template <typename... ChainElements>
-  struct StructureChainValidation<0, ChainElements...>
-  {
-    static const bool valid = true;
-  };
-
-  template <typename... ChainElements>
-  class StructureChain : public std::tuple<ChainElements...>
-  {
-  public:
-    StructureChain() VULKAN_HPP_NOEXCEPT
-    {
-      static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
-                     "The structure chain is not valid!" );
-      link<sizeof...( ChainElements ) - 1>();
-    }
-
-    StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
-    {
-      static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
-                     "The structure chain is not valid!" );
-      link<sizeof...( ChainElements ) - 1>();
-    }
-
-    StructureChain( StructureChain && rhs ) VULKAN_HPP_NOEXCEPT
-      : std::tuple<ChainElements...>( std::forward<std::tuple<ChainElements...>>( rhs ) )
-    {
-      static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
-                     "The structure chain is not valid!" );
-      link<sizeof...( ChainElements ) - 1>();
-    }
-
-    StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
-    {
-      static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
-                     "The structure chain is not valid!" );
-      link<sizeof...( ChainElements ) - 1>();
-    }
-
-    StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      std::tuple<ChainElements...>::operator=( rhs );
-      link<sizeof...( ChainElements ) - 1>();
-      return *this;
-    }
-
-    StructureChain & operator=( StructureChain && rhs ) = delete;
-
-    template <typename T, size_t Which = 0>
-    T & get() VULKAN_HPP_NOEXCEPT
-    {
-      return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( *this );
-    }
-
-    template <typename T, size_t Which = 0>
-    T const & get() const VULKAN_HPP_NOEXCEPT
-    {
-      return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( *this );
-    }
-
-    template <typename T0, typename T1, typename... Ts>
-    std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT
-    {
-      return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
-    }
-
-    template <typename T0, typename T1, typename... Ts>
-    std::tuple<T0 const &, T1 const &, Ts const &...> get() const VULKAN_HPP_NOEXCEPT
-    {
-      return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
-    }
-
-    template <typename ClassType, size_t Which = 0>
-    void relink() VULKAN_HPP_NOEXCEPT
-    {
-      static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
-                     "Can't relink Structure that's not part of this StructureChain!" );
-      static_assert(
-        !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
-          ( Which != 0 ),
-        "It's not allowed to have the first element unlinked!" );
-
-      auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
-      VULKAN_HPP_ASSERT( !isLinked( pNext ) );
-      auto & headElement = std::get<0>( *this );
-      pNext->pNext       = reinterpret_cast<VkBaseInStructure const *>( headElement.pNext );
-      headElement.pNext  = pNext;
-    }
-
-    template <typename ClassType, size_t Which = 0>
-    void unlink() VULKAN_HPP_NOEXCEPT
-    {
-      static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
-                     "Can't unlink Structure that's not part of this StructureChain!" );
-      static_assert(
-        !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
-          ( Which != 0 ),
-        "It's not allowed to unlink the first element!" );
-
-      unlink<sizeof...( ChainElements ) - 1>(
-        reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
-    }
-
-  private:
-    template <int Index, typename T, int Which, typename, class First, class... Types>
-    struct ChainElementIndex : ChainElementIndex<Index + 1, T, Which, void, Types...>
-    {};
-
-    template <int Index, typename T, int Which, class First, class... Types>
-    struct ChainElementIndex<Index,
-                             T,
-                             Which,
-                             typename std::enable_if<!std::is_same<T, First>::value, void>::type,
-                             First,
-                             Types...> : ChainElementIndex<Index + 1, T, Which, void, Types...>
-    {};
-
-    template <int Index, typename T, int Which, class First, class... Types>
-    struct ChainElementIndex<Index,
-                             T,
-                             Which,
-                             typename std::enable_if<std::is_same<T, First>::value, void>::type,
-                             First,
-                             Types...> : ChainElementIndex<Index + 1, T, Which - 1, void, Types...>
-    {};
-
-    template <int Index, typename T, class First, class... Types>
-    struct ChainElementIndex<Index,
-                             T,
-                             0,
-                             typename std::enable_if<std::is_same<T, First>::value, void>::type,
-                             First,
-                             Types...> : std::integral_constant<int, Index>
-    {};
-
-    bool isLinked( VkBaseInStructure const * pNext )
-    {
-      VkBaseInStructure const * elementPtr = reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( *this ) );
-      while ( elementPtr )
-      {
-        if ( elementPtr->pNext == pNext )
-        {
-          return true;
-        }
-        elementPtr = elementPtr->pNext;
-      }
-      return false;
-    }
-
-    template <size_t Index>
-    typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEXCEPT
-    {
-      auto & x = std::get<Index - 1>( *this );
-      x.pNext  = &std::get<Index>( *this );
-      link<Index - 1>();
-    }
-
-    template <size_t Index>
-    typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEXCEPT
-    {}
-
-    template <size_t Index>
-    typename std::enable_if<Index != 0, void>::type unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
-    {
-      auto & element = std::get<Index>( *this );
-      if ( element.pNext == pNext )
-      {
-        element.pNext = pNext->pNext;
-      }
-      else
-      {
-        unlink<Index - 1>( pNext );
-      }
-    }
-
-    template <size_t Index>
-    typename std::enable_if<Index == 0, void>::type unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
-    {
-      auto & element = std::get<0>( *this );
-      if ( element.pNext == pNext )
-      {
-        element.pNext = pNext->pNext;
-      }
-      else
-      {
-        VULKAN_HPP_ASSERT( false );  // fires, if the ClassType member has already been unlinked !
-      }
-    }
-  };
-
-#if !defined( VULKAN_HPP_NO_SMART_HANDLE )
-  template <typename Type, typename Dispatch>
-  class UniqueHandleTraits;
-
-  template <typename Type, typename Dispatch>
-  class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter
-  {
-  private:
-    using Deleter = typename UniqueHandleTraits<Type, Dispatch>::deleter;
-
-  public:
-    using element_type = Type;
-
-    UniqueHandle() : Deleter(), m_value() {}
-
-    explicit UniqueHandle( Type const & value, Deleter const & deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
-      : Deleter( deleter )
-      , m_value( value )
-    {}
-
-    UniqueHandle( UniqueHandle const & ) = delete;
-
-    UniqueHandle( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
-      : Deleter( std::move( static_cast<Deleter &>( other ) ) )
-      , m_value( other.release() )
-    {}
-
-    ~UniqueHandle() VULKAN_HPP_NOEXCEPT
-    {
-      if ( m_value )
-        this->destroy( m_value );
-    }
-
-    UniqueHandle & operator=( UniqueHandle const & ) = delete;
-
-    UniqueHandle & operator=( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
-    {
-      reset( other.release() );
-      *static_cast<Deleter *>( this ) = std::move( static_cast<Deleter &>( other ) );
-      return *this;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_value.operator bool();
-    }
-
-    Type const * operator->() const VULKAN_HPP_NOEXCEPT
-    {
-      return &m_value;
-    }
-
-    Type * operator->() VULKAN_HPP_NOEXCEPT
-    {
-      return &m_value;
-    }
-
-    Type const & operator*() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_value;
-    }
-
-    Type & operator*() VULKAN_HPP_NOEXCEPT
-    {
-      return m_value;
-    }
-
-    const Type & get() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_value;
-    }
-
-    Type & get() VULKAN_HPP_NOEXCEPT
-    {
-      return m_value;
-    }
-
-    void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
-    {
-      if ( m_value != value )
-      {
-        if ( m_value )
-          this->destroy( m_value );
-        m_value = value;
-      }
-    }
-
-    Type release() VULKAN_HPP_NOEXCEPT
-    {
-      Type value = m_value;
-      m_value    = nullptr;
-      return value;
-    }
-
-    void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      std::swap( m_value, rhs.m_value );
-      std::swap( static_cast<Deleter &>( *this ), static_cast<Deleter &>( rhs ) );
-    }
-
-  private:
-    Type m_value;
-  };
-
-  template <typename UniqueType>
-  VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type>
-                    uniqueToRaw( std::vector<UniqueType> const & handles )
-  {
-    std::vector<typename UniqueType::element_type> newBuffer( handles.size() );
-    std::transform(
-      handles.begin(), handles.end(), newBuffer.begin(), []( UniqueType const & handle ) { return handle.get(); } );
-    return newBuffer;
+  VULKAN_HPP_CONSTEXPR Flags<BitType> operator~() const VULKAN_HPP_NOEXCEPT {
+    return Flags<BitType>(m_mask ^ FlagTraits<BitType>::allFlags);
   }
 
-  template <typename Type, typename Dispatch>
-  VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs,
-                               UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
-  {
-    lhs.swap( rhs );
+  // assignment operators
+  VULKAN_HPP_CONSTEXPR_14 Flags<BitType> &
+  operator=(Flags<BitType> const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  VULKAN_HPP_CONSTEXPR_14 Flags<BitType> &
+  operator|=(Flags<BitType> const &rhs) VULKAN_HPP_NOEXCEPT {
+    m_mask |= rhs.m_mask;
+    return *this;
   }
-#endif
 
-#if !defined( VK_NO_PROTOTYPES )
-  class DispatchLoaderStatic
-  {
-  public:
-    VkResult vkCreateInstance( const VkInstanceCreateInfo *  pCreateInfo,
-                               const VkAllocationCallbacks * pAllocator,
-                               VkInstance *                  pInstance ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
-    }
+  VULKAN_HPP_CONSTEXPR_14 Flags<BitType> &
+  operator&=(Flags<BitType> const &rhs) VULKAN_HPP_NOEXCEPT {
+    m_mask &= rhs.m_mask;
+    return *this;
+  }
 
-    VkResult vkEnumerateInstanceExtensionProperties( const char *            pLayerName,
-                                                     uint32_t *              pPropertyCount,
-                                                     VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
-    }
+  VULKAN_HPP_CONSTEXPR_14 Flags<BitType> &
+  operator^=(Flags<BitType> const &rhs) VULKAN_HPP_NOEXCEPT {
+    m_mask ^= rhs.m_mask;
+    return *this;
+  }
 
-    VkResult vkEnumerateInstanceLayerProperties( uint32_t *          pPropertyCount,
-                                                 VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
-    }
+  // cast operators
+  explicit VULKAN_HPP_CONSTEXPR operator bool() const VULKAN_HPP_NOEXCEPT {
+    return !!m_mask;
+  }
 
-    VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumerateInstanceVersion( pApiVersion );
-    }
+  explicit VULKAN_HPP_CONSTEXPR operator MaskType() const VULKAN_HPP_NOEXCEPT {
+    return m_mask;
+  }
 
-    VkResult vkBeginCommandBuffer( VkCommandBuffer                  commandBuffer,
-                                   const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
-    }
-
-    void vkCmdBeginConditionalRenderingEXT(
-      VkCommandBuffer                            commandBuffer,
-      const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
-    }
-
-    void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer              commandBuffer,
-                                       const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
-    }
-
-    void vkCmdBeginQuery( VkCommandBuffer     commandBuffer,
-                          VkQueryPool         queryPool,
-                          uint32_t            query,
-                          VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
-    }
-
-    void vkCmdBeginQueryIndexedEXT( VkCommandBuffer     commandBuffer,
-                                    VkQueryPool         queryPool,
-                                    uint32_t            query,
-                                    VkQueryControlFlags flags,
-                                    uint32_t            index ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
-    }
-
-    void vkCmdBeginRenderPass( VkCommandBuffer               commandBuffer,
-                               const VkRenderPassBeginInfo * pRenderPassBegin,
-                               VkSubpassContents             contents ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
-    }
-
-    void vkCmdBeginRenderPass2( VkCommandBuffer               commandBuffer,
-                                const VkRenderPassBeginInfo * pRenderPassBegin,
-                                const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
-    }
-
-    void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
-                                   const VkRenderPassBeginInfo * pRenderPassBegin,
-                                   const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
-    }
-
-    void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
-                                         uint32_t             firstCounterBuffer,
-                                         uint32_t             counterBufferCount,
-                                         const VkBuffer *     pCounterBuffers,
-                                         const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBeginTransformFeedbackEXT(
-        commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
-    }
-
-    void vkCmdBindDescriptorSets( VkCommandBuffer         commandBuffer,
-                                  VkPipelineBindPoint     pipelineBindPoint,
-                                  VkPipelineLayout        layout,
-                                  uint32_t                firstSet,
-                                  uint32_t                descriptorSetCount,
-                                  const VkDescriptorSet * pDescriptorSets,
-                                  uint32_t                dynamicOffsetCount,
-                                  const uint32_t *        pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindDescriptorSets( commandBuffer,
-                                        pipelineBindPoint,
-                                        layout,
-                                        firstSet,
-                                        descriptorSetCount,
-                                        pDescriptorSets,
-                                        dynamicOffsetCount,
-                                        pDynamicOffsets );
-    }
-
-    void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer,
-                               VkBuffer        buffer,
-                               VkDeviceSize    offset,
-                               VkIndexType     indexType ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
-    }
-
-    void vkCmdBindPipeline( VkCommandBuffer     commandBuffer,
-                            VkPipelineBindPoint pipelineBindPoint,
-                            VkPipeline          pipeline ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
-    }
-
-    void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
-                                         VkPipelineBindPoint pipelineBindPoint,
-                                         VkPipeline          pipeline,
-                                         uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
-    }
-
-    void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer,
-                                      VkImageView     imageView,
-                                      VkImageLayout   imageLayout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
-    }
-
-    void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
-                                               uint32_t             firstBinding,
-                                               uint32_t             bindingCount,
-                                               const VkBuffer *     pBuffers,
-                                               const VkDeviceSize * pOffsets,
-                                               const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindTransformFeedbackBuffersEXT(
-        commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
-    }
-
-    void vkCmdBindVertexBuffers( VkCommandBuffer      commandBuffer,
-                                 uint32_t             firstBinding,
-                                 uint32_t             bindingCount,
-                                 const VkBuffer *     pBuffers,
-                                 const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
-    }
-
-    void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
-                                     uint32_t             firstBinding,
-                                     uint32_t             bindingCount,
-                                     const VkBuffer *     pBuffers,
-                                     const VkDeviceSize * pOffsets,
-                                     const VkDeviceSize * pSizes,
-                                     const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBindVertexBuffers2EXT(
-        commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
-    }
-
-    void vkCmdBlitImage( VkCommandBuffer     commandBuffer,
-                         VkImage             srcImage,
-                         VkImageLayout       srcImageLayout,
-                         VkImage             dstImage,
-                         VkImageLayout       dstImageLayout,
-                         uint32_t            regionCount,
-                         const VkImageBlit * pRegions,
-                         VkFilter            filter ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBlitImage(
-        commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdBuildAccelerationStructureIndirectKHR( VkCommandBuffer                                     commandBuffer,
-                                                     const VkAccelerationStructureBuildGeometryInfoKHR * pInfo,
-                                                     VkBuffer                                            indirectBuffer,
-                                                     VkDeviceSize                                        indirectOffset,
-                                                     uint32_t indirectStride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBuildAccelerationStructureIndirectKHR(
-        commandBuffer, pInfo, indirectBuffer, indirectOffset, indirectStride );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdBuildAccelerationStructureKHR(
-      VkCommandBuffer                                           commandBuffer,
-      uint32_t                                                  infoCount,
-      const VkAccelerationStructureBuildGeometryInfoKHR *       pInfos,
-      const VkAccelerationStructureBuildOffsetInfoKHR * const * ppOffsetInfos ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBuildAccelerationStructureKHR( commandBuffer, infoCount, pInfos, ppOffsetInfos );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
-                                            const VkAccelerationStructureInfoNV * pInfo,
-                                            VkBuffer                              instanceData,
-                                            VkDeviceSize                          instanceOffset,
-                                            VkBool32                              update,
-                                            VkAccelerationStructureKHR            dst,
-                                            VkAccelerationStructureKHR            src,
-                                            VkBuffer                              scratch,
-                                            VkDeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdBuildAccelerationStructureNV(
-        commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
-    }
-
-    void vkCmdClearAttachments( VkCommandBuffer           commandBuffer,
-                                uint32_t                  attachmentCount,
-                                const VkClearAttachment * pAttachments,
-                                uint32_t                  rectCount,
-                                const VkClearRect *       pRects ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
-    }
-
-    void vkCmdClearColorImage( VkCommandBuffer                 commandBuffer,
-                               VkImage                         image,
-                               VkImageLayout                   imageLayout,
-                               const VkClearColorValue *       pColor,
-                               uint32_t                        rangeCount,
-                               const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
-    }
-
-    void vkCmdClearDepthStencilImage( VkCommandBuffer                  commandBuffer,
-                                      VkImage                          image,
-                                      VkImageLayout                    imageLayout,
-                                      const VkClearDepthStencilValue * pDepthStencil,
-                                      uint32_t                         rangeCount,
-                                      const VkImageSubresourceRange *  pRanges ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer                            commandBuffer,
-                                            const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
-                                           VkAccelerationStructureKHR         dst,
-                                           VkAccelerationStructureKHR         src,
-                                           VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
-                                                    const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkCmdCopyBuffer( VkCommandBuffer      commandBuffer,
-                          VkBuffer             srcBuffer,
-                          VkBuffer             dstBuffer,
-                          uint32_t             regionCount,
-                          const VkBufferCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
-    }
-
-    void vkCmdCopyBufferToImage( VkCommandBuffer           commandBuffer,
-                                 VkBuffer                  srcBuffer,
-                                 VkImage                   dstImage,
-                                 VkImageLayout             dstImageLayout,
-                                 uint32_t                  regionCount,
-                                 const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
-    }
-
-    void vkCmdCopyImage( VkCommandBuffer     commandBuffer,
-                         VkImage             srcImage,
-                         VkImageLayout       srcImageLayout,
-                         VkImage             dstImage,
-                         VkImageLayout       dstImageLayout,
-                         uint32_t            regionCount,
-                         const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyImage(
-        commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
-    }
-
-    void vkCmdCopyImageToBuffer( VkCommandBuffer           commandBuffer,
-                                 VkImage                   srcImage,
-                                 VkImageLayout             srcImageLayout,
-                                 VkBuffer                  dstBuffer,
-                                 uint32_t                  regionCount,
-                                 const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
-                                                    const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkCmdCopyQueryPoolResults( VkCommandBuffer    commandBuffer,
-                                    VkQueryPool        queryPool,
-                                    uint32_t           firstQuery,
-                                    uint32_t           queryCount,
-                                    VkBuffer           dstBuffer,
-                                    VkDeviceSize       dstOffset,
-                                    VkDeviceSize       stride,
-                                    VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdCopyQueryPoolResults(
-        commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
-    }
-
-    void vkCmdDebugMarkerBeginEXT( VkCommandBuffer                    commandBuffer,
-                                   const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
-    }
-
-    void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDebugMarkerEndEXT( commandBuffer );
-    }
-
-    void vkCmdDebugMarkerInsertEXT( VkCommandBuffer                    commandBuffer,
-                                    const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
-    }
-
-    void vkCmdDispatch( VkCommandBuffer commandBuffer,
-                        uint32_t        groupCountX,
-                        uint32_t        groupCountY,
-                        uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
-    }
-
-    void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
-                            uint32_t        baseGroupX,
-                            uint32_t        baseGroupY,
-                            uint32_t        baseGroupZ,
-                            uint32_t        groupCountX,
-                            uint32_t        groupCountY,
-                            uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDispatchBase(
-        commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
-    }
-
-    void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
-                               uint32_t        baseGroupX,
-                               uint32_t        baseGroupY,
-                               uint32_t        baseGroupZ,
-                               uint32_t        groupCountX,
-                               uint32_t        groupCountY,
-                               uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDispatchBaseKHR(
-        commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
-    }
-
-    void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer,
-                                VkBuffer        buffer,
-                                VkDeviceSize    offset ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
-    }
-
-    void vkCmdDraw( VkCommandBuffer commandBuffer,
-                    uint32_t        vertexCount,
-                    uint32_t        instanceCount,
-                    uint32_t        firstVertex,
-                    uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
-    }
-
-    void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
-                           uint32_t        indexCount,
-                           uint32_t        instanceCount,
-                           uint32_t        firstIndex,
-                           int32_t         vertexOffset,
-                           uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
-    }
-
-    void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer,
-                                   VkBuffer        buffer,
-                                   VkDeviceSize    offset,
-                                   uint32_t        drawCount,
-                                   uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
-    }
-
-    void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
-                                        VkBuffer        buffer,
-                                        VkDeviceSize    offset,
-                                        VkBuffer        countBuffer,
-                                        VkDeviceSize    countBufferOffset,
-                                        uint32_t        maxDrawCount,
-                                        uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndexedIndirectCount(
-        commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
-    }
-
-    void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
-                                           VkBuffer        buffer,
-                                           VkDeviceSize    offset,
-                                           VkBuffer        countBuffer,
-                                           VkDeviceSize    countBufferOffset,
-                                           uint32_t        maxDrawCount,
-                                           uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndexedIndirectCountAMD(
-        commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
-    }
-
-    void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
-                                           VkBuffer        buffer,
-                                           VkDeviceSize    offset,
-                                           VkBuffer        countBuffer,
-                                           VkDeviceSize    countBufferOffset,
-                                           uint32_t        maxDrawCount,
-                                           uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndexedIndirectCountKHR(
-        commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
-    }
-
-    void vkCmdDrawIndirect( VkCommandBuffer commandBuffer,
-                            VkBuffer        buffer,
-                            VkDeviceSize    offset,
-                            uint32_t        drawCount,
-                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
-    }
-
-    void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
-                                        uint32_t        instanceCount,
-                                        uint32_t        firstInstance,
-                                        VkBuffer        counterBuffer,
-                                        VkDeviceSize    counterBufferOffset,
-                                        uint32_t        counterOffset,
-                                        uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndirectByteCountEXT(
-        commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
-    }
-
-    void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
-                                 VkBuffer        buffer,
-                                 VkDeviceSize    offset,
-                                 VkBuffer        countBuffer,
-                                 VkDeviceSize    countBufferOffset,
-                                 uint32_t        maxDrawCount,
-                                 uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndirectCount(
-        commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
-    }
-
-    void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
-                                    VkBuffer        buffer,
-                                    VkDeviceSize    offset,
-                                    VkBuffer        countBuffer,
-                                    VkDeviceSize    countBufferOffset,
-                                    uint32_t        maxDrawCount,
-                                    uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndirectCountAMD(
-        commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
-    }
-
-    void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
-                                    VkBuffer        buffer,
-                                    VkDeviceSize    offset,
-                                    VkBuffer        countBuffer,
-                                    VkDeviceSize    countBufferOffset,
-                                    uint32_t        maxDrawCount,
-                                    uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawIndirectCountKHR(
-        commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
-    }
-
-    void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
-                                            VkBuffer        buffer,
-                                            VkDeviceSize    offset,
-                                            VkBuffer        countBuffer,
-                                            VkDeviceSize    countBufferOffset,
-                                            uint32_t        maxDrawCount,
-                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawMeshTasksIndirectCountNV(
-        commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
-    }
-
-    void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer,
-                                       VkBuffer        buffer,
-                                       VkDeviceSize    offset,
-                                       uint32_t        drawCount,
-                                       uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
-    }
-
-    void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer,
-                               uint32_t        taskCount,
-                               uint32_t        firstTask ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
-    }
-
-    void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
-    }
-
-    void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
-    }
-
-    void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndQuery( commandBuffer, queryPool, query );
-    }
-
-    void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer,
-                                  VkQueryPool     queryPool,
-                                  uint32_t        query,
-                                  uint32_t        index ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
-    }
-
-    void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndRenderPass( commandBuffer );
-    }
-
-    void vkCmdEndRenderPass2( VkCommandBuffer          commandBuffer,
-                              const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
-    }
-
-    void vkCmdEndRenderPass2KHR( VkCommandBuffer          commandBuffer,
-                                 const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
-    }
-
-    void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
-                                       uint32_t             firstCounterBuffer,
-                                       uint32_t             counterBufferCount,
-                                       const VkBuffer *     pCounterBuffers,
-                                       const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdEndTransformFeedbackEXT(
-        commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
-    }
-
-    void vkCmdExecuteCommands( VkCommandBuffer         commandBuffer,
-                               uint32_t                commandBufferCount,
-                               const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
-    }
-
-    void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
-                                          VkBool32                          isPreprocessed,
-                                          const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
-    }
-
-    void vkCmdFillBuffer( VkCommandBuffer commandBuffer,
-                          VkBuffer        dstBuffer,
-                          VkDeviceSize    dstOffset,
-                          VkDeviceSize    size,
-                          uint32_t        data ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
-    }
-
-    void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer              commandBuffer,
-                                        const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
-    }
-
-    void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdNextSubpass( commandBuffer, contents );
-    }
-
-    void vkCmdNextSubpass2( VkCommandBuffer            commandBuffer,
-                            const VkSubpassBeginInfo * pSubpassBeginInfo,
-                            const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
-    }
-
-    void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
-                               const VkSubpassBeginInfo * pSubpassBeginInfo,
-                               const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
-    }
-
-    void vkCmdPipelineBarrier( VkCommandBuffer               commandBuffer,
-                               VkPipelineStageFlags          srcStageMask,
-                               VkPipelineStageFlags          dstStageMask,
-                               VkDependencyFlags             dependencyFlags,
-                               uint32_t                      memoryBarrierCount,
-                               const VkMemoryBarrier *       pMemoryBarriers,
-                               uint32_t                      bufferMemoryBarrierCount,
-                               const VkBufferMemoryBarrier * pBufferMemoryBarriers,
-                               uint32_t                      imageMemoryBarrierCount,
-                               const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdPipelineBarrier( commandBuffer,
-                                     srcStageMask,
-                                     dstStageMask,
-                                     dependencyFlags,
-                                     memoryBarrierCount,
-                                     pMemoryBarriers,
-                                     bufferMemoryBarrierCount,
-                                     pBufferMemoryBarriers,
-                                     imageMemoryBarrierCount,
-                                     pImageMemoryBarriers );
-    }
-
-    void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
-                                             const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
-    }
-
-    void vkCmdPushConstants( VkCommandBuffer    commandBuffer,
-                             VkPipelineLayout   layout,
-                             VkShaderStageFlags stageFlags,
-                             uint32_t           offset,
-                             uint32_t           size,
-                             const void *       pValues ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
-    }
-
-    void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
-                                    VkPipelineBindPoint          pipelineBindPoint,
-                                    VkPipelineLayout             layout,
-                                    uint32_t                     set,
-                                    uint32_t                     descriptorWriteCount,
-                                    const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdPushDescriptorSetKHR(
-        commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
-    }
-
-    void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
-                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
-                                                VkPipelineLayout           layout,
-                                                uint32_t                   set,
-                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
-    }
-
-    void vkCmdResetEvent( VkCommandBuffer      commandBuffer,
-                          VkEvent              event,
-                          VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdResetEvent( commandBuffer, event, stageMask );
-    }
-
-    void vkCmdResetQueryPool( VkCommandBuffer commandBuffer,
-                              VkQueryPool     queryPool,
-                              uint32_t        firstQuery,
-                              uint32_t        queryCount ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
-    }
-
-    void vkCmdResolveImage( VkCommandBuffer        commandBuffer,
-                            VkImage                srcImage,
-                            VkImageLayout          srcImageLayout,
-                            VkImage                dstImage,
-                            VkImageLayout          dstImageLayout,
-                            uint32_t               regionCount,
-                            const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdResolveImage(
-        commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
-    }
-
-    void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer,
-                                 const float     blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
-    }
-
-    void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
-    }
-
-    void
-      vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
-                                   VkCoarseSampleOrderTypeNV           sampleOrderType,
-                                   uint32_t                            customSampleOrderCount,
-                                   const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetCoarseSampleOrderNV(
-        commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
-    }
-
-    void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
-    }
-
-    void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
-                            float           depthBiasConstantFactor,
-                            float           depthBiasClamp,
-                            float           depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
-    }
-
-    void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer,
-                              float           minDepthBounds,
-                              float           maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
-    }
-
-    void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer,
-                                           VkBool32        depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
-    }
-
-    void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer,
-                                    VkCompareOp     depthCompareOp ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
-    }
-
-    void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
-    }
-
-    void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer,
-                                      VkBool32        depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
-    }
-
-    void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
-    }
-
-    void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
-    }
-
-    void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
-                                      uint32_t         firstDiscardRectangle,
-                                      uint32_t         discardRectangleCount,
-                                      const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetDiscardRectangleEXT(
-        commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
-    }
-
-    void vkCmdSetEvent( VkCommandBuffer      commandBuffer,
-                        VkEvent              event,
-                        VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetEvent( commandBuffer, event, stageMask );
-    }
-
-    void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
-                                     uint32_t         firstExclusiveScissor,
-                                     uint32_t         exclusiveScissorCount,
-                                     const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetExclusiveScissorNV(
-        commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
-    }
-
-    void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
-    }
-
-    void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer,
-                                 uint32_t        lineStippleFactor,
-                                 uint16_t        lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
-    }
-
-    void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
-    }
-
-    VkResult
-      vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer                      commandBuffer,
-                                      const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
-    }
-
-    VkResult
-      vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer                        commandBuffer,
-                                        const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
-    }
-
-    VkResult vkCmdSetPerformanceStreamMarkerINTEL(
-      VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
-    }
-
-    void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer     commandBuffer,
-                                       VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
-    }
-
-    void vkCmdSetSampleLocationsEXT( VkCommandBuffer                  commandBuffer,
-                                     const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
-    }
-
-    void vkCmdSetScissor( VkCommandBuffer  commandBuffer,
-                          uint32_t         firstScissor,
-                          uint32_t         scissorCount,
-                          const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
-    }
-
-    void vkCmdSetScissorWithCountEXT( VkCommandBuffer  commandBuffer,
-                                      uint32_t         scissorCount,
-                                      const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
-    }
-
-    void vkCmdSetStencilCompareMask( VkCommandBuffer    commandBuffer,
-                                     VkStencilFaceFlags faceMask,
-                                     uint32_t           compareMask ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
-    }
-
-    void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
-                               VkStencilFaceFlags faceMask,
-                               VkStencilOp        failOp,
-                               VkStencilOp        passOp,
-                               VkStencilOp        depthFailOp,
-                               VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
-    }
-
-    void vkCmdSetStencilReference( VkCommandBuffer    commandBuffer,
-                                   VkStencilFaceFlags faceMask,
-                                   uint32_t           reference ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
-    }
-
-    void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer,
-                                       VkBool32        stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
-    }
-
-    void vkCmdSetStencilWriteMask( VkCommandBuffer    commandBuffer,
-                                   VkStencilFaceFlags faceMask,
-                                   uint32_t           writeMask ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
-    }
-
-    void vkCmdSetViewport( VkCommandBuffer    commandBuffer,
-                           uint32_t           firstViewport,
-                           uint32_t           viewportCount,
-                           const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
-    }
-
-    void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
-                                               uint32_t                       firstViewport,
-                                               uint32_t                       viewportCount,
-                                               const VkShadingRatePaletteNV * pShadingRatePalettes ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetViewportShadingRatePaletteNV(
-        commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
-    }
-
-    void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
-                                     uint32_t                     firstViewport,
-                                     uint32_t                     viewportCount,
-                                     const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
-    }
-
-    void vkCmdSetViewportWithCountEXT( VkCommandBuffer    commandBuffer,
-                                       uint32_t           viewportCount,
-                                       const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                  commandBuffer,
-                                    const VkStridedBufferRegionKHR * pRaygenShaderBindingTable,
-                                    const VkStridedBufferRegionKHR * pMissShaderBindingTable,
-                                    const VkStridedBufferRegionKHR * pHitShaderBindingTable,
-                                    const VkStridedBufferRegionKHR * pCallableShaderBindingTable,
-                                    VkBuffer                         buffer,
-                                    VkDeviceSize                     offset ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdTraceRaysIndirectKHR( commandBuffer,
-                                          pRaygenShaderBindingTable,
-                                          pMissShaderBindingTable,
-                                          pHitShaderBindingTable,
-                                          pCallableShaderBindingTable,
-                                          buffer,
-                                          offset );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdTraceRaysKHR( VkCommandBuffer                  commandBuffer,
-                            const VkStridedBufferRegionKHR * pRaygenShaderBindingTable,
-                            const VkStridedBufferRegionKHR * pMissShaderBindingTable,
-                            const VkStridedBufferRegionKHR * pHitShaderBindingTable,
-                            const VkStridedBufferRegionKHR * pCallableShaderBindingTable,
-                            uint32_t                         width,
-                            uint32_t                         height,
-                            uint32_t                         depth ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdTraceRaysKHR( commandBuffer,
-                                  pRaygenShaderBindingTable,
-                                  pMissShaderBindingTable,
-                                  pHitShaderBindingTable,
-                                  pCallableShaderBindingTable,
-                                  width,
-                                  height,
-                                  depth );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
-                           VkBuffer        raygenShaderBindingTableBuffer,
-                           VkDeviceSize    raygenShaderBindingOffset,
-                           VkBuffer        missShaderBindingTableBuffer,
-                           VkDeviceSize    missShaderBindingOffset,
-                           VkDeviceSize    missShaderBindingStride,
-                           VkBuffer        hitShaderBindingTableBuffer,
-                           VkDeviceSize    hitShaderBindingOffset,
-                           VkDeviceSize    hitShaderBindingStride,
-                           VkBuffer        callableShaderBindingTableBuffer,
-                           VkDeviceSize    callableShaderBindingOffset,
-                           VkDeviceSize    callableShaderBindingStride,
-                           uint32_t        width,
-                           uint32_t        height,
-                           uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdTraceRaysNV( commandBuffer,
-                                 raygenShaderBindingTableBuffer,
-                                 raygenShaderBindingOffset,
-                                 missShaderBindingTableBuffer,
-                                 missShaderBindingOffset,
-                                 missShaderBindingStride,
-                                 hitShaderBindingTableBuffer,
-                                 hitShaderBindingOffset,
-                                 hitShaderBindingStride,
-                                 callableShaderBindingTableBuffer,
-                                 callableShaderBindingOffset,
-                                 callableShaderBindingStride,
-                                 width,
-                                 height,
-                                 depth );
-    }
-
-    void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer,
-                            VkBuffer        dstBuffer,
-                            VkDeviceSize    dstOffset,
-                            VkDeviceSize    dataSize,
-                            const void *    pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
-    }
-
-    void vkCmdWaitEvents( VkCommandBuffer               commandBuffer,
-                          uint32_t                      eventCount,
-                          const VkEvent *               pEvents,
-                          VkPipelineStageFlags          srcStageMask,
-                          VkPipelineStageFlags          dstStageMask,
-                          uint32_t                      memoryBarrierCount,
-                          const VkMemoryBarrier *       pMemoryBarriers,
-                          uint32_t                      bufferMemoryBarrierCount,
-                          const VkBufferMemoryBarrier * pBufferMemoryBarriers,
-                          uint32_t                      imageMemoryBarrierCount,
-                          const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdWaitEvents( commandBuffer,
-                                eventCount,
-                                pEvents,
-                                srcStageMask,
-                                dstStageMask,
-                                memoryBarrierCount,
-                                pMemoryBarriers,
-                                bufferMemoryBarrierCount,
-                                pBufferMemoryBarriers,
-                                imageMemoryBarrierCount,
-                                pImageMemoryBarriers );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
-                                                        uint32_t                           accelerationStructureCount,
-                                                        const VkAccelerationStructureKHR * pAccelerationStructures,
-                                                        VkQueryType                        queryType,
-                                                        VkQueryPool                        queryPool,
-                                                        uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
-        commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                    commandBuffer,
-                                                       uint32_t                           accelerationStructureCount,
-                                                       const VkAccelerationStructureKHR * pAccelerationStructures,
-                                                       VkQueryType                        queryType,
-                                                       VkQueryPool                        queryPool,
-                                                       uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdWriteAccelerationStructuresPropertiesNV(
-        commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
-    }
-
-    void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
-                                    VkPipelineStageFlagBits pipelineStage,
-                                    VkBuffer                dstBuffer,
-                                    VkDeviceSize            dstOffset,
-                                    uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
-    }
-
-    void vkCmdWriteTimestamp( VkCommandBuffer         commandBuffer,
-                              VkPipelineStageFlagBits pipelineStage,
-                              VkQueryPool             queryPool,
-                              uint32_t                query ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
-    }
-
-    VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEndCommandBuffer( commandBuffer );
-    }
-
-    VkResult vkResetCommandBuffer( VkCommandBuffer           commandBuffer,
-                                   VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkResetCommandBuffer( commandBuffer, flags );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    VkResult vkAcquireNextImage2KHR( VkDevice                          device,
-                                     const VkAcquireNextImageInfoKHR * pAcquireInfo,
-                                     uint32_t *                        pImageIndex ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
-    }
-
-    VkResult vkAcquireNextImageKHR( VkDevice       device,
-                                    VkSwapchainKHR swapchain,
-                                    uint64_t       timeout,
-                                    VkSemaphore    semaphore,
-                                    VkFence        fence,
-                                    uint32_t *     pImageIndex ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
-    }
-
-    VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
-                                                     const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
-                                                     VkPerformanceConfigurationINTEL * pConfiguration ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
-    }
-
-    VkResult vkAcquireProfilingLockKHR( VkDevice                              device,
-                                        const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAcquireProfilingLockKHR( device, pInfo );
-    }
-
-    VkResult vkAllocateCommandBuffers( VkDevice                            device,
-                                       const VkCommandBufferAllocateInfo * pAllocateInfo,
-                                       VkCommandBuffer *                   pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
-    }
-
-    VkResult vkAllocateDescriptorSets( VkDevice                            device,
-                                       const VkDescriptorSetAllocateInfo * pAllocateInfo,
-                                       VkDescriptorSet *                   pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
-    }
-
-    VkResult vkAllocateMemory( VkDevice                      device,
-                               const VkMemoryAllocateInfo *  pAllocateInfo,
-                               const VkAllocationCallbacks * pAllocator,
-                               VkDeviceMemory *              pMemory ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkBindAccelerationStructureMemoryKHR( VkDevice                                         device,
-                                                   uint32_t                                         bindInfoCount,
-                                                   const VkBindAccelerationStructureMemoryInfoKHR * pBindInfos ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindAccelerationStructureMemoryKHR( device, bindInfoCount, pBindInfos );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                         device,
-                                                  uint32_t                                         bindInfoCount,
-                                                  const VkBindAccelerationStructureMemoryInfoKHR * pBindInfos ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
-    }
-
-    VkResult vkBindBufferMemory( VkDevice       device,
-                                 VkBuffer       buffer,
-                                 VkDeviceMemory memory,
-                                 VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
-    }
-
-    VkResult vkBindBufferMemory2( VkDevice                       device,
-                                  uint32_t                       bindInfoCount,
-                                  const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
-    }
-
-    VkResult vkBindBufferMemory2KHR( VkDevice                       device,
-                                     uint32_t                       bindInfoCount,
-                                     const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
-    }
-
-    VkResult vkBindImageMemory( VkDevice       device,
-                                VkImage        image,
-                                VkDeviceMemory memory,
-                                VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindImageMemory( device, image, memory, memoryOffset );
-    }
-
-    VkResult vkBindImageMemory2( VkDevice                      device,
-                                 uint32_t                      bindInfoCount,
-                                 const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
-    }
-
-    VkResult vkBindImageMemory2KHR( VkDevice                      device,
-                                    uint32_t                      bindInfoCount,
-                                    const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkBuildAccelerationStructureKHR(
-      VkDevice                                                  device,
-      uint32_t                                                  infoCount,
-      const VkAccelerationStructureBuildGeometryInfoKHR *       pInfos,
-      const VkAccelerationStructureBuildOffsetInfoKHR * const * ppOffsetInfos ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkBuildAccelerationStructureKHR( device, infoCount, pInfos, ppOffsetInfos );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCompileDeferredNV( device, pipeline, shader );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult
-      vkCopyAccelerationStructureKHR( VkDevice                                   device,
-                                      const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCopyAccelerationStructureKHR( device, pInfo );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkCopyAccelerationStructureToMemoryKHR(
-      VkDevice device, const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCopyAccelerationStructureToMemoryKHR( device, pInfo );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkCopyMemoryToAccelerationStructureKHR(
-      VkDevice device, const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCopyMemoryToAccelerationStructureKHR( device, pInfo );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult
-      vkCreateAccelerationStructureKHR( VkDevice                                     device,
-                                        const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
-                                        const VkAllocationCallbacks *                pAllocator,
-                                        VkAccelerationStructureKHR * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VkResult
-      vkCreateAccelerationStructureNV( VkDevice                                    device,
-                                       const VkAccelerationStructureCreateInfoNV * pCreateInfo,
-                                       const VkAllocationCallbacks *               pAllocator,
-                                       VkAccelerationStructureNV * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
-    }
-
-    VkResult vkCreateBuffer( VkDevice                      device,
-                             const VkBufferCreateInfo *    pCreateInfo,
-                             const VkAllocationCallbacks * pAllocator,
-                             VkBuffer *                    pBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
-    }
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
-                                              const VkBufferCollectionCreateInfoFUCHSIA * pImportInfo,
-                                              const VkAllocationCallbacks *               pAllocator,
-                                              VkBufferCollectionFUCHSIA * pCollection ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateBufferCollectionFUCHSIA( device, pImportInfo, pAllocator, pCollection );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-    VkResult vkCreateBufferView( VkDevice                       device,
-                                 const VkBufferViewCreateInfo * pCreateInfo,
-                                 const VkAllocationCallbacks *  pAllocator,
-                                 VkBufferView *                 pView ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
-    }
-
-    VkResult vkCreateCommandPool( VkDevice                        device,
-                                  const VkCommandPoolCreateInfo * pCreateInfo,
-                                  const VkAllocationCallbacks *   pAllocator,
-                                  VkCommandPool *                 pCommandPool ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
-    }
-
-    VkResult vkCreateComputePipelines( VkDevice                            device,
-                                       VkPipelineCache                     pipelineCache,
-                                       uint32_t                            createInfoCount,
-                                       const VkComputePipelineCreateInfo * pCreateInfos,
-                                       const VkAllocationCallbacks *       pAllocator,
-                                       VkPipeline *                        pPipelines ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
-                                           const VkAllocationCallbacks * pAllocator,
-                                           VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VkResult vkCreateDescriptorPool( VkDevice                           device,
-                                     const VkDescriptorPoolCreateInfo * pCreateInfo,
-                                     const VkAllocationCallbacks *      pAllocator,
-                                     VkDescriptorPool *                 pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
-    }
-
-    VkResult vkCreateDescriptorSetLayout( VkDevice                                device,
-                                          const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
-                                          const VkAllocationCallbacks *           pAllocator,
-                                          VkDescriptorSetLayout *                 pSetLayout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
-    }
-
-    VkResult vkCreateDescriptorUpdateTemplate( VkDevice                                     device,
-                                               const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
-                                               const VkAllocationCallbacks *                pAllocator,
-                                               VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
-    }
-
-    VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
-                                                  const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
-                                                  const VkAllocationCallbacks *                pAllocator,
-                                                  VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
-    }
-
-    VkResult vkCreateEvent( VkDevice                      device,
-                            const VkEventCreateInfo *     pCreateInfo,
-                            const VkAllocationCallbacks * pAllocator,
-                            VkEvent *                     pEvent ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
-    }
-
-    VkResult vkCreateFence( VkDevice                      device,
-                            const VkFenceCreateInfo *     pCreateInfo,
-                            const VkAllocationCallbacks * pAllocator,
-                            VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
-    }
-
-    VkResult vkCreateFramebuffer( VkDevice                        device,
-                                  const VkFramebufferCreateInfo * pCreateInfo,
-                                  const VkAllocationCallbacks *   pAllocator,
-                                  VkFramebuffer *                 pFramebuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
-    }
-
-    VkResult vkCreateGraphicsPipelines( VkDevice                             device,
-                                        VkPipelineCache                      pipelineCache,
-                                        uint32_t                             createInfoCount,
-                                        const VkGraphicsPipelineCreateInfo * pCreateInfos,
-                                        const VkAllocationCallbacks *        pAllocator,
-                                        VkPipeline *                         pPipelines ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateGraphicsPipelines(
-        device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
-    }
-
-    VkResult vkCreateImage( VkDevice                      device,
-                            const VkImageCreateInfo *     pCreateInfo,
-                            const VkAllocationCallbacks * pAllocator,
-                            VkImage *                     pImage ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
-    }
-
-    VkResult vkCreateImageView( VkDevice                      device,
-                                const VkImageViewCreateInfo * pCreateInfo,
-                                const VkAllocationCallbacks * pAllocator,
-                                VkImageView *                 pView ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
-    }
-
-    VkResult
-      vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
-                                        const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
-                                        const VkAllocationCallbacks *                pAllocator,
-                                        VkIndirectCommandsLayoutNV * pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
-    }
-
-    VkResult vkCreatePipelineCache( VkDevice                          device,
-                                    const VkPipelineCacheCreateInfo * pCreateInfo,
-                                    const VkAllocationCallbacks *     pAllocator,
-                                    VkPipelineCache *                 pPipelineCache ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
-    }
-
-    VkResult vkCreatePipelineLayout( VkDevice                           device,
-                                     const VkPipelineLayoutCreateInfo * pCreateInfo,
-                                     const VkAllocationCallbacks *      pAllocator,
-                                     VkPipelineLayout *                 pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
-    }
-
-    VkResult vkCreatePrivateDataSlotEXT( VkDevice                               device,
-                                         const VkPrivateDataSlotCreateInfoEXT * pCreateInfo,
-                                         const VkAllocationCallbacks *          pAllocator,
-                                         VkPrivateDataSlotEXT * pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
-    }
-
-    VkResult vkCreateQueryPool( VkDevice                      device,
-                                const VkQueryPoolCreateInfo * pCreateInfo,
-                                const VkAllocationCallbacks * pAllocator,
-                                VkQueryPool *                 pQueryPool ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
-                                             VkPipelineCache                           pipelineCache,
-                                             uint32_t                                  createInfoCount,
-                                             const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
-                                             const VkAllocationCallbacks *             pAllocator,
-                                             VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateRayTracingPipelinesKHR(
-        device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
-                                            VkPipelineCache                          pipelineCache,
-                                            uint32_t                                 createInfoCount,
-                                            const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
-                                            const VkAllocationCallbacks *            pAllocator,
-                                            VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateRayTracingPipelinesNV(
-        device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
-    }
-
-    VkResult vkCreateRenderPass( VkDevice                       device,
-                                 const VkRenderPassCreateInfo * pCreateInfo,
-                                 const VkAllocationCallbacks *  pAllocator,
-                                 VkRenderPass *                 pRenderPass ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
-    }
-
-    VkResult vkCreateRenderPass2( VkDevice                        device,
-                                  const VkRenderPassCreateInfo2 * pCreateInfo,
-                                  const VkAllocationCallbacks *   pAllocator,
-                                  VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
-    }
-
-    VkResult vkCreateRenderPass2KHR( VkDevice                        device,
-                                     const VkRenderPassCreateInfo2 * pCreateInfo,
-                                     const VkAllocationCallbacks *   pAllocator,
-                                     VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
-    }
-
-    VkResult vkCreateSampler( VkDevice                      device,
-                              const VkSamplerCreateInfo *   pCreateInfo,
-                              const VkAllocationCallbacks * pAllocator,
-                              VkSampler *                   pSampler ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
-    }
-
-    VkResult vkCreateSamplerYcbcrConversion( VkDevice                                   device,
-                                             const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
-                                             const VkAllocationCallbacks *              pAllocator,
-                                             VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
-    }
-
-    VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
-                                                const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
-                                                const VkAllocationCallbacks *              pAllocator,
-                                                VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
-    }
-
-    VkResult vkCreateSemaphore( VkDevice                      device,
-                                const VkSemaphoreCreateInfo * pCreateInfo,
-                                const VkAllocationCallbacks * pAllocator,
-                                VkSemaphore *                 pSemaphore ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
-    }
-
-    VkResult vkCreateShaderModule( VkDevice                         device,
-                                   const VkShaderModuleCreateInfo * pCreateInfo,
-                                   const VkAllocationCallbacks *    pAllocator,
-                                   VkShaderModule *                 pShaderModule ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
-    }
-
-    VkResult vkCreateSharedSwapchainsKHR( VkDevice                         device,
-                                          uint32_t                         swapchainCount,
-                                          const VkSwapchainCreateInfoKHR * pCreateInfos,
-                                          const VkAllocationCallbacks *    pAllocator,
-                                          VkSwapchainKHR *                 pSwapchains ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
-    }
-
-    VkResult vkCreateSwapchainKHR( VkDevice                         device,
-                                   const VkSwapchainCreateInfoKHR * pCreateInfo,
-                                   const VkAllocationCallbacks *    pAllocator,
-                                   VkSwapchainKHR *                 pSwapchain ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
-    }
-
-    VkResult vkCreateValidationCacheEXT( VkDevice                               device,
-                                         const VkValidationCacheCreateInfoEXT * pCreateInfo,
-                                         const VkAllocationCallbacks *          pAllocator,
-                                         VkValidationCacheEXT * pValidationCache ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
-    }
-
-    VkResult vkDebugMarkerSetObjectNameEXT( VkDevice                               device,
-                                            const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
-    }
-
-    VkResult vkDebugMarkerSetObjectTagEXT( VkDevice                              device,
-                                           const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDeferredOperationJoinKHR( device, operation );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkDestroyAccelerationStructureKHR( VkDevice                      device,
-                                            VkAccelerationStructureKHR    accelerationStructure,
-                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkDestroyAccelerationStructureNV( VkDevice                      device,
-                                           VkAccelerationStructureKHR    accelerationStructure,
-                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
-    }
-
-    void vkDestroyBuffer( VkDevice                      device,
-                          VkBuffer                      buffer,
-                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyBuffer( device, buffer, pAllocator );
-    }
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
-                                           VkBufferCollectionFUCHSIA     collection,
-                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-    void vkDestroyBufferView( VkDevice                      device,
-                              VkBufferView                  bufferView,
-                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyBufferView( device, bufferView, pAllocator );
-    }
-
-    void vkDestroyCommandPool( VkDevice                      device,
-                               VkCommandPool                 commandPool,
-                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyCommandPool( device, commandPool, pAllocator );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkDestroyDeferredOperationKHR( VkDevice                      device,
-                                        VkDeferredOperationKHR        operation,
-                                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkDestroyDescriptorPool( VkDevice                      device,
-                                  VkDescriptorPool              descriptorPool,
-                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
-    }
-
-    void vkDestroyDescriptorSetLayout( VkDevice                      device,
-                                       VkDescriptorSetLayout         descriptorSetLayout,
-                                       const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
-    }
-
-    void vkDestroyDescriptorUpdateTemplate( VkDevice                      device,
-                                            VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
-                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
-    }
-
-    void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
-                                               VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
-                                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
-    }
-
-    void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDevice( device, pAllocator );
-    }
-
-    void vkDestroyEvent( VkDevice                      device,
-                         VkEvent                       event,
-                         const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyEvent( device, event, pAllocator );
-    }
-
-    void vkDestroyFence( VkDevice                      device,
-                         VkFence                       fence,
-                         const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyFence( device, fence, pAllocator );
-    }
-
-    void vkDestroyFramebuffer( VkDevice                      device,
-                               VkFramebuffer                 framebuffer,
-                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
-    }
-
-    void vkDestroyImage( VkDevice                      device,
-                         VkImage                       image,
-                         const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyImage( device, image, pAllocator );
-    }
-
-    void vkDestroyImageView( VkDevice                      device,
-                             VkImageView                   imageView,
-                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyImageView( device, imageView, pAllocator );
-    }
-
-    void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
-                                            VkIndirectCommandsLayoutNV    indirectCommandsLayout,
-                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
-    }
-
-    void vkDestroyPipeline( VkDevice                      device,
-                            VkPipeline                    pipeline,
-                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyPipeline( device, pipeline, pAllocator );
-    }
-
-    void vkDestroyPipelineCache( VkDevice                      device,
-                                 VkPipelineCache               pipelineCache,
-                                 const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
-    }
-
-    void vkDestroyPipelineLayout( VkDevice                      device,
-                                  VkPipelineLayout              pipelineLayout,
-                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
-    }
-
-    void vkDestroyPrivateDataSlotEXT( VkDevice                      device,
-                                      VkPrivateDataSlotEXT          privateDataSlot,
-                                      const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
-    }
-
-    void vkDestroyQueryPool( VkDevice                      device,
-                             VkQueryPool                   queryPool,
-                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyQueryPool( device, queryPool, pAllocator );
-    }
-
-    void vkDestroyRenderPass( VkDevice                      device,
-                              VkRenderPass                  renderPass,
-                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyRenderPass( device, renderPass, pAllocator );
-    }
-
-    void vkDestroySampler( VkDevice                      device,
-                           VkSampler                     sampler,
-                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroySampler( device, sampler, pAllocator );
-    }
-
-    void vkDestroySamplerYcbcrConversion( VkDevice                      device,
-                                          VkSamplerYcbcrConversion      ycbcrConversion,
-                                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
-    }
-
-    void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
-                                             VkSamplerYcbcrConversion      ycbcrConversion,
-                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
-    }
-
-    void vkDestroySemaphore( VkDevice                      device,
-                             VkSemaphore                   semaphore,
-                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroySemaphore( device, semaphore, pAllocator );
-    }
-
-    void vkDestroyShaderModule( VkDevice                      device,
-                                VkShaderModule                shaderModule,
-                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
-    }
-
-    void vkDestroySwapchainKHR( VkDevice                      device,
-                                VkSwapchainKHR                swapchain,
-                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
-    }
-
-    void vkDestroyValidationCacheEXT( VkDevice                      device,
-                                      VkValidationCacheEXT          validationCache,
-                                      const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
-    }
-
-    VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDeviceWaitIdle( device );
-    }
-
-    VkResult vkDisplayPowerControlEXT( VkDevice                      device,
-                                       VkDisplayKHR                  display,
-                                       const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
-    }
-
-    VkResult vkFlushMappedMemoryRanges( VkDevice                    device,
-                                        uint32_t                    memoryRangeCount,
-                                        const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
-    }
-
-    void vkFreeCommandBuffers( VkDevice                device,
-                               VkCommandPool           commandPool,
-                               uint32_t                commandBufferCount,
-                               const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
-    }
-
-    VkResult vkFreeDescriptorSets( VkDevice                device,
-                                   VkDescriptorPool        descriptorPool,
-                                   uint32_t                descriptorSetCount,
-                                   const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
-    }
-
-    void vkFreeMemory( VkDevice                      device,
-                       VkDeviceMemory                memory,
-                       const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkFreeMemory( device, memory, pAllocator );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR(
-      VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VkResult vkGetAccelerationStructureHandleNV( VkDevice                   device,
-                                                 VkAccelerationStructureKHR accelerationStructure,
-                                                 size_t                     dataSize,
-                                                 void *                     pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    void vkGetAccelerationStructureMemoryRequirementsKHR(
-      VkDevice                                                 device,
-      const VkAccelerationStructureMemoryRequirementsInfoKHR * pInfo,
-      VkMemoryRequirements2 *                                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetAccelerationStructureMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
-                                                         const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
-                                                         VkMemoryRequirements2KHR * pMemoryRequirements ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
-    }
-
-#  ifdef VK_USE_PLATFORM_ANDROID_KHR
-    VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
-                                                          const struct AHardwareBuffer *             buffer,
-                                                          VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
-    }
-#  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkGetBufferCollectionProperties2FUCHSIA( VkDevice                               device,
-                                                      VkBufferCollectionFUCHSIA              collection,
-                                                      VkBufferCollectionProperties2FUCHSIA * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferCollectionProperties2FUCHSIA( device, collection, pProperties );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
-                                                     VkBufferCollectionFUCHSIA             collection,
-                                                     VkBufferCollectionPropertiesFUCHSIA * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-    VkDeviceAddress vkGetBufferDeviceAddress( VkDevice                          device,
-                                              const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferDeviceAddress( device, pInfo );
-    }
-
-    VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice                          device,
-                                                 const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferDeviceAddressEXT( device, pInfo );
-    }
-
-    VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice                          device,
-                                                 const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferDeviceAddressKHR( device, pInfo );
-    }
-
-    void vkGetBufferMemoryRequirements( VkDevice               device,
-                                        VkBuffer               buffer,
-                                        VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
-    }
-
-    void vkGetBufferMemoryRequirements2( VkDevice                                device,
-                                         const VkBufferMemoryRequirementsInfo2 * pInfo,
-                                         VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
-    }
-
-    void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
-                                            const VkBufferMemoryRequirementsInfo2 * pInfo,
-                                            VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
-    }
-
-    uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice                          device,
-                                              const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
-    }
-
-    uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice                          device,
-                                                 const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
-    }
-
-    VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
-                                           uint32_t                             timestampCount,
-                                           const VkCalibratedTimestampInfoEXT * pTimestampInfos,
-                                           uint64_t *                           pTimestamps,
-                                           uint64_t * pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice               device,
-                                                      VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkGetDeferredOperationResultKHR( VkDevice               device,
-                                              VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeferredOperationResultKHR( device, operation );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkGetDescriptorSetLayoutSupport( VkDevice                                device,
-                                          const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
-                                          VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
-    }
-
-    void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
-                                             const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
-                                             VkDescriptorSetLayoutSupport * pSupport ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkGetDeviceAccelerationStructureCompatibilityKHR(
-      VkDevice device, const VkAccelerationStructureVersionKHR * version ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, version );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    void vkGetDeviceGroupPeerMemoryFeatures( VkDevice                   device,
-                                             uint32_t                   heapIndex,
-                                             uint32_t                   localDeviceIndex,
-                                             uint32_t                   remoteDeviceIndex,
-                                             VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceGroupPeerMemoryFeatures(
-        device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
-    }
-
-    void
-      vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
-                                             uint32_t                   heapIndex,
-                                             uint32_t                   localDeviceIndex,
-                                             uint32_t                   remoteDeviceIndex,
-                                             VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceGroupPeerMemoryFeaturesKHR(
-        device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
-    }
-
-    VkResult vkGetDeviceGroupPresentCapabilitiesKHR(
-      VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult
-      vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
-                                               const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                               VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    VkResult vkGetDeviceGroupSurfacePresentModesKHR(
-      VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
-    }
-
-    void vkGetDeviceMemoryCommitment( VkDevice       device,
-                                      VkDeviceMemory memory,
-                                      VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
-    }
-
-    uint64_t vkGetDeviceMemoryOpaqueCaptureAddress(
-      VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
-    }
-
-    uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR(
-      VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
-    }
-
-    PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceProcAddr( device, pName );
-    }
-
-    void vkGetDeviceQueue( VkDevice  device,
-                           uint32_t  queueFamilyIndex,
-                           uint32_t  queueIndex,
-                           VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
-    }
-
-    void vkGetDeviceQueue2( VkDevice                   device,
-                            const VkDeviceQueueInfo2 * pQueueInfo,
-                            VkQueue *                  pQueue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
-    }
-
-    VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetEventStatus( device, event );
-    }
-
-    VkResult
-      vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
-    }
-
-    VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetFenceStatus( device, fence );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkGetFenceWin32HandleKHR( VkDevice                             device,
-                                       const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                       HANDLE *                             pHandle ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
-                                                     const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
-                                                     VkMemoryRequirements2 * pMemoryRequirements ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
-    }
-
-    VkResult vkGetImageDrmFormatModifierPropertiesEXT(
-      VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
-    }
-
-    void vkGetImageMemoryRequirements( VkDevice               device,
-                                       VkImage                image,
-                                       VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
-    }
-
-    void vkGetImageMemoryRequirements2( VkDevice                               device,
-                                        const VkImageMemoryRequirementsInfo2 * pInfo,
-                                        VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
-    }
-
-    void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
-                                           const VkImageMemoryRequirementsInfo2 * pInfo,
-                                           VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
-    }
-
-    void vkGetImageSparseMemoryRequirements( VkDevice                          device,
-                                             VkImage                           image,
-                                             uint32_t *                        pSparseMemoryRequirementCount,
-                                             VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageSparseMemoryRequirements(
-        device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
-    }
-
-    void vkGetImageSparseMemoryRequirements2( VkDevice                                     device,
-                                              const VkImageSparseMemoryRequirementsInfo2 * pInfo,
-                                              uint32_t *                         pSparseMemoryRequirementCount,
-                                              VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageSparseMemoryRequirements2(
-        device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
-    }
-
-    void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
-                                                 const VkImageSparseMemoryRequirementsInfo2 * pInfo,
-                                                 uint32_t *                         pSparseMemoryRequirementCount,
-                                                 VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageSparseMemoryRequirements2KHR(
-        device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
-    }
-
-    void vkGetImageSubresourceLayout( VkDevice                   device,
-                                      VkImage                    image,
-                                      const VkImageSubresource * pSubresource,
-                                      VkSubresourceLayout *      pLayout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
-    }
-
-    VkResult vkGetImageViewAddressNVX( VkDevice                          device,
-                                       VkImageView                       imageView,
-                                       VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
-    }
-
-    uint32_t vkGetImageViewHandleNVX( VkDevice                         device,
-                                      const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetImageViewHandleNVX( device, pInfo );
-    }
-
-#  ifdef VK_USE_PLATFORM_ANDROID_KHR
-    VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
-                                                      const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
-                                                      struct AHardwareBuffer ** pBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
-    }
-#  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-    VkResult
-      vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
-    }
-
-    VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
-                                         VkExternalMemoryHandleTypeFlagBits handleType,
-                                         int                                fd,
-                                         VkMemoryFdPropertiesKHR * pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
-    }
-
-    VkResult vkGetMemoryHostPointerPropertiesEXT(
-      VkDevice                           device,
-      VkExternalMemoryHandleTypeFlagBits handleType,
-      const void *                       pHostPointer,
-      VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkGetMemoryWin32HandleKHR( VkDevice                              device,
-                                        const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                        HANDLE *                              pHandle ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
-                                       VkDeviceMemory                    memory,
-                                       VkExternalMemoryHandleTypeFlagsNV handleType,
-                                       HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkGetMemoryWin32HandlePropertiesKHR(
-      VkDevice                           device,
-      VkExternalMemoryHandleTypeFlagBits handleType,
-      HANDLE                             handle,
-      VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
-                                             const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
-                                             zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA(
-      VkDevice                                device,
-      VkExternalMemoryHandleTypeFlagBits      handleType,
-      zx_handle_t                             ZirconHandle,
-      VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetMemoryZirconHandlePropertiesFUCHSIA(
-        device, handleType, ZirconHandle, pMemoryZirconHandleProperties );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-    VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
-                                                VkSwapchainKHR                   swapchain,
-                                                uint32_t *                       pPresentationTimingCount,
-                                                VkPastPresentationTimingGOOGLE * pPresentationTimings ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
-    }
-
-    VkResult vkGetPerformanceParameterINTEL( VkDevice                        device,
-                                             VkPerformanceParameterTypeINTEL parameter,
-                                             VkPerformanceValueINTEL *       pValue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
-    }
-
-    VkResult vkGetPipelineCacheData( VkDevice        device,
-                                     VkPipelineCache pipelineCache,
-                                     size_t *        pDataSize,
-                                     void *          pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
-    }
-
-    VkResult vkGetPipelineExecutableInternalRepresentationsKHR(
-      VkDevice                                        device,
-      const VkPipelineExecutableInfoKHR *             pExecutableInfo,
-      uint32_t *                                      pInternalRepresentationCount,
-      VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPipelineExecutableInternalRepresentationsKHR(
-        device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
-    }
-
-    VkResult
-      vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
-                                            const VkPipelineInfoKHR *           pPipelineInfo,
-                                            uint32_t *                          pExecutableCount,
-                                            VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
-    }
-
-    VkResult
-      vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
-                                            const VkPipelineExecutableInfoKHR * pExecutableInfo,
-                                            uint32_t *                          pStatisticCount,
-                                            VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
-    }
-
-    void vkGetPrivateDataEXT( VkDevice             device,
-                              VkObjectType         objectType,
-                              uint64_t             objectHandle,
-                              VkPrivateDataSlotEXT privateDataSlot,
-                              uint64_t *           pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
-    }
-
-    VkResult vkGetQueryPoolResults( VkDevice           device,
-                                    VkQueryPool        queryPool,
-                                    uint32_t           firstQuery,
-                                    uint32_t           queryCount,
-                                    size_t             dataSize,
-                                    void *             pData,
-                                    VkDeviceSize       stride,
-                                    VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( VkDevice   device,
-                                                                VkPipeline pipeline,
-                                                                uint32_t   firstGroup,
-                                                                uint32_t   groupCount,
-                                                                size_t     dataSize,
-                                                                void *     pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
-        device, pipeline, firstGroup, groupCount, dataSize, pData );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkGetRayTracingShaderGroupHandlesKHR( VkDevice   device,
-                                                   VkPipeline pipeline,
-                                                   uint32_t   firstGroup,
-                                                   uint32_t   groupCount,
-                                                   size_t     dataSize,
-                                                   void *     pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VkResult vkGetRayTracingShaderGroupHandlesNV( VkDevice   device,
-                                                  VkPipeline pipeline,
-                                                  uint32_t   firstGroup,
-                                                  uint32_t   groupCount,
-                                                  size_t     dataSize,
-                                                  void *     pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
-    }
-
-    VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
-                                              VkSwapchainKHR                 swapchain,
-                                              VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
-    }
-
-    void vkGetRenderAreaGranularity( VkDevice     device,
-                                     VkRenderPass renderPass,
-                                     VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
-    }
-
-    VkResult
-      vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
-    }
-
-    VkResult vkGetSemaphoreCounterValueKHR( VkDevice    device,
-                                            VkSemaphore semaphore,
-                                            uint64_t *  pValue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
-    }
-
-    VkResult vkGetSemaphoreFdKHR( VkDevice                        device,
-                                  const VkSemaphoreGetFdInfoKHR * pGetFdInfo,
-                                  int *                           pFd ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkGetSemaphoreWin32HandleKHR( VkDevice                                 device,
-                                           const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                           HANDLE *                                 pHandle ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
-                                                const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
-                                                zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-    VkResult vkGetShaderInfoAMD( VkDevice              device,
-                                 VkPipeline            pipeline,
-                                 VkShaderStageFlagBits shaderStage,
-                                 VkShaderInfoTypeAMD   infoType,
-                                 size_t *              pInfoSize,
-                                 void *                pInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
-    }
-
-    VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
-                                       VkSwapchainKHR              swapchain,
-                                       VkSurfaceCounterFlagBitsEXT counter,
-                                       uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
-    }
-
-    VkResult vkGetSwapchainImagesKHR( VkDevice       device,
-                                      VkSwapchainKHR swapchain,
-                                      uint32_t *     pSwapchainImageCount,
-                                      VkImage *      pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
-    }
-
-    VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetSwapchainStatusKHR( device, swapchain );
-    }
-
-    VkResult vkGetValidationCacheDataEXT( VkDevice             device,
-                                          VkValidationCacheEXT validationCache,
-                                          size_t *             pDataSize,
-                                          void *               pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
-    }
-
-    VkResult vkImportFenceFdKHR( VkDevice                       device,
-                                 const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkImportFenceWin32HandleKHR(
-      VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    VkResult
-      vkImportSemaphoreFdKHR( VkDevice                           device,
-                              const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkImportSemaphoreWin32HandleKHR(
-      VkDevice                                    device,
-      const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkImportSemaphoreZirconHandleFUCHSIA(
-      VkDevice                                         device,
-      const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-    VkResult vkInitializePerformanceApiINTEL(
-      VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
-    }
-
-    VkResult vkInvalidateMappedMemoryRanges( VkDevice                    device,
-                                             uint32_t                    memoryRangeCount,
-                                             const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
-    }
-
-    VkResult vkMapMemory( VkDevice         device,
-                          VkDeviceMemory   memory,
-                          VkDeviceSize     offset,
-                          VkDeviceSize     size,
-                          VkMemoryMapFlags flags,
-                          void **          ppData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkMapMemory( device, memory, offset, size, flags, ppData );
-    }
-
-    VkResult vkMergePipelineCaches( VkDevice                device,
-                                    VkPipelineCache         dstCache,
-                                    uint32_t                srcCacheCount,
-                                    const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
-    }
-
-    VkResult vkMergeValidationCachesEXT( VkDevice                     device,
-                                         VkValidationCacheEXT         dstCache,
-                                         uint32_t                     srcCacheCount,
-                                         const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
-    }
-
-    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 );
-    }
-
-    VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
-                                       const VkDeviceEventInfoEXT *  pDeviceEventInfo,
-                                       const VkAllocationCallbacks * pAllocator,
-                                       VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
-    }
-
-    VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
-                                        VkDisplayKHR                  display,
-                                        const VkDisplayEventInfoEXT * pDisplayEventInfo,
-                                        const VkAllocationCallbacks * pAllocator,
-                                        VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    VkResult
-      vkReleasePerformanceConfigurationINTEL( VkDevice                        device,
-                                              VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
-    }
-
-    void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkReleaseProfilingLockKHR( device );
-    }
-
-    VkResult vkResetCommandPool( VkDevice                device,
-                                 VkCommandPool           commandPool,
-                                 VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkResetCommandPool( device, commandPool, flags );
-    }
-
-    VkResult vkResetDescriptorPool( VkDevice                   device,
-                                    VkDescriptorPool           descriptorPool,
-                                    VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkResetDescriptorPool( device, descriptorPool, flags );
-    }
-
-    VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkResetEvent( device, event );
-    }
-
-    VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkResetFences( device, fenceCount, pFences );
-    }
-
-    void vkResetQueryPool( VkDevice    device,
-                           VkQueryPool queryPool,
-                           uint32_t    firstQuery,
-                           uint32_t    queryCount ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
-    }
-
-    void vkResetQueryPoolEXT( VkDevice    device,
-                              VkQueryPool queryPool,
-                              uint32_t    firstQuery,
-                              uint32_t    queryCount ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
-    }
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA(
-      VkDevice                               device,
-      VkBufferCollectionFUCHSIA              collection,
-      const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkSetBufferCollectionConstraintsFUCHSIA( VkDevice                  device,
-                                                      VkBufferCollectionFUCHSIA collection,
-                                                      const VkImageCreateInfo * pImageInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetBufferCollectionConstraintsFUCHSIA( device, collection, pImageInfo );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkSetBufferCollectionImageConstraintsFUCHSIA(
-      VkDevice                              device,
-      VkBufferCollectionFUCHSIA             collection,
-      const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-    VkResult vkSetDebugUtilsObjectNameEXT( VkDevice                              device,
-                                           const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
-    }
-
-    VkResult vkSetDebugUtilsObjectTagEXT( VkDevice                             device,
-                                          const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
-    }
-
-    VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetEvent( device, event );
-    }
-
-    void vkSetHdrMetadataEXT( VkDevice                 device,
-                              uint32_t                 swapchainCount,
-                              const VkSwapchainKHR *   pSwapchains,
-                              const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
-    }
-
-    void vkSetLocalDimmingAMD( VkDevice       device,
-                               VkSwapchainKHR swapChain,
-                               VkBool32       localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
-    }
-
-    VkResult vkSetPrivateDataEXT( VkDevice             device,
-                                  VkObjectType         objectType,
-                                  uint64_t             objectHandle,
-                                  VkPrivateDataSlotEXT privateDataSlot,
-                                  uint64_t             data ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
-    }
-
-    VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSignalSemaphore( device, pSignalInfo );
-    }
-
-    VkResult vkSignalSemaphoreKHR( VkDevice                      device,
-                                   const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSignalSemaphoreKHR( device, pSignalInfo );
-    }
-
-    void vkTrimCommandPool( VkDevice               device,
-                            VkCommandPool          commandPool,
-                            VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkTrimCommandPool( device, commandPool, flags );
-    }
-
-    void vkTrimCommandPoolKHR( VkDevice               device,
-                               VkCommandPool          commandPool,
-                               VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkTrimCommandPoolKHR( device, commandPool, flags );
-    }
-
-    VkResult vkTrimCompactImageDeviceMemoryFUCHSIA( VkDevice       device,
-                                                    VkImage        image,
-                                                    VkDeviceMemory memory,
-                                                    VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkTrimCompactImageDeviceMemoryFUCHSIA( device, image, memory, memoryOffset );
-    }
-
-    void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkUninitializePerformanceApiINTEL( device );
-    }
-
-    void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkUnmapMemory( device, memory );
-    }
-
-    void vkUpdateDescriptorSetWithTemplate( VkDevice                   device,
-                                            VkDescriptorSet            descriptorSet,
-                                            VkDescriptorUpdateTemplate descriptorUpdateTemplate,
-                                            const void *               pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
-    }
-
-    void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
-                                               VkDescriptorSet            descriptorSet,
-                                               VkDescriptorUpdateTemplate descriptorUpdateTemplate,
-                                               const void *               pData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
-    }
-
-    void vkUpdateDescriptorSets( VkDevice                     device,
-                                 uint32_t                     descriptorWriteCount,
-                                 const VkWriteDescriptorSet * pDescriptorWrites,
-                                 uint32_t                     descriptorCopyCount,
-                                 const VkCopyDescriptorSet *  pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkUpdateDescriptorSets(
-        device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
-    }
-
-    VkResult vkWaitForFences( VkDevice        device,
-                              uint32_t        fenceCount,
-                              const VkFence * pFences,
-                              VkBool32        waitAll,
-                              uint64_t        timeout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
-    }
-
-    VkResult vkWaitSemaphores( VkDevice                    device,
-                               const VkSemaphoreWaitInfo * pWaitInfo,
-                               uint64_t                    timeout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkWaitSemaphores( device, pWaitInfo, timeout );
-    }
-
-    VkResult vkWaitSemaphoresKHR( VkDevice                    device,
-                                  const VkSemaphoreWaitInfo * pWaitInfo,
-                                  uint64_t                    timeout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
-    }
-
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
-                                                         uint32_t                           accelerationStructureCount,
-                                                         const VkAccelerationStructureKHR * pAccelerationStructures,
-                                                         VkQueryType                        queryType,
-                                                         size_t                             dataSize,
-                                                         void *                             pData,
-                                                         size_t stride ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkWriteAccelerationStructuresPropertiesKHR(
-        device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
-    }
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#  ifdef VK_USE_PLATFORM_ANDROID_KHR
-    VkResult vkCreateAndroidSurfaceKHR( VkInstance                            instance,
-                                        const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
-                                        const VkAllocationCallbacks *         pAllocator,
-                                        VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-    VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
-                                             const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
-                                             const VkAllocationCallbacks *              pAllocator,
-                                             VkDebugReportCallbackEXT * pCallback ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
-    }
-
-    VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
-                                             const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
-                                             const VkAllocationCallbacks *              pAllocator,
-                                             VkDebugUtilsMessengerEXT * pMessenger ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
-    }
-
-#  ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-    VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
-                                         const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
-                                         const VkAllocationCallbacks *          pAllocator,
-                                         VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-
-    VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance                            instance,
-                                             const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
-                                             const VkAllocationCallbacks *         pAllocator,
-                                             VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
-    }
-
-    VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
-                                         const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
-                                         const VkAllocationCallbacks *          pAllocator,
-                                         VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
-    }
-
-#  ifdef VK_USE_PLATFORM_IOS_MVK
-    VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
-                                    const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
-                                    const VkAllocationCallbacks *     pAllocator,
-                                    VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_IOS_MVK*/
-
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-    VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
-                                              const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
-                                              const VkAllocationCallbacks *               pAllocator,
-                                              VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#  ifdef VK_USE_PLATFORM_MACOS_MVK
-    VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
-                                      const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
-                                      const VkAllocationCallbacks *       pAllocator,
-                                      VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_MACOS_MVK*/
-
-#  ifdef VK_USE_PLATFORM_METAL_EXT
-    VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
-                                      const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
-                                      const VkAllocationCallbacks *       pAllocator,
-                                      VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_METAL_EXT*/
-
-#  ifdef VK_USE_PLATFORM_GGP
-    VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
-                                                 const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
-                                                 const VkAllocationCallbacks *                  pAllocator,
-                                                 VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_GGP*/
-
-#  ifdef VK_USE_PLATFORM_VI_NN
-    VkResult vkCreateViSurfaceNN( VkInstance                      instance,
-                                  const VkViSurfaceCreateInfoNN * pCreateInfo,
-                                  const VkAllocationCallbacks *   pAllocator,
-                                  VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_VI_NN*/
-
-#  ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    VkResult vkCreateWaylandSurfaceKHR( VkInstance                            instance,
-                                        const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
-                                        const VkAllocationCallbacks *         pAllocator,
-                                        VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
-                                      const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
-                                      const VkAllocationCallbacks *       pAllocator,
-                                      VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#  ifdef VK_USE_PLATFORM_XCB_KHR
-    VkResult vkCreateXcbSurfaceKHR( VkInstance                        instance,
-                                    const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
-                                    const VkAllocationCallbacks *     pAllocator,
-                                    VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_XCB_KHR*/
-
-#  ifdef VK_USE_PLATFORM_XLIB_KHR
-    VkResult vkCreateXlibSurfaceKHR( VkInstance                         instance,
-                                     const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
-                                     const VkAllocationCallbacks *      pAllocator,
-                                     VkSurfaceKHR *                     pSurface ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
-    }
-#  endif /*VK_USE_PLATFORM_XLIB_KHR*/
-
-    void vkDebugReportMessageEXT( VkInstance                 instance,
-                                  VkDebugReportFlagsEXT      flags,
-                                  VkDebugReportObjectTypeEXT objectType,
-                                  uint64_t                   object,
-                                  size_t                     location,
-                                  int32_t                    messageCode,
-                                  const char *               pLayerPrefix,
-                                  const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDebugReportMessageEXT(
-        instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
-    }
-
-    void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
-                                          VkDebugReportCallbackEXT      callback,
-                                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
-    }
-
-    void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
-                                          VkDebugUtilsMessengerEXT      messenger,
-                                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
-    }
-
-    void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroyInstance( instance, pAllocator );
-    }
-
-    void vkDestroySurfaceKHR( VkInstance                    instance,
-                              VkSurfaceKHR                  surface,
-                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
-    }
-
-    VkResult vkEnumeratePhysicalDeviceGroups( VkInstance                        instance,
-                                              uint32_t *                        pPhysicalDeviceGroupCount,
-                                              VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
-    }
-
-    VkResult vkEnumeratePhysicalDeviceGroupsKHR(
-      VkInstance                        instance,
-      uint32_t *                        pPhysicalDeviceGroupCount,
-      VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumeratePhysicalDeviceGroupsKHR(
-        instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
-    }
-
-    VkResult vkEnumeratePhysicalDevices( VkInstance         instance,
-                                         uint32_t *         pPhysicalDeviceCount,
-                                         VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
-    }
-
-    PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetInstanceProcAddr( instance, pName );
-    }
-
-    void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
-                                       VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
-                                       VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
-                                       const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
-    }
-
-#  ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-    VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice,
-                                      Display *        dpy,
-                                      VkDisplayKHR     display ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
-    }
-#  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-
-    VkResult vkCreateDevice( VkPhysicalDevice              physicalDevice,
-                             const VkDeviceCreateInfo *    pCreateInfo,
-                             const VkAllocationCallbacks * pAllocator,
-                             VkDevice *                    pDevice ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
-    }
-
-    VkResult vkCreateDisplayModeKHR( VkPhysicalDevice                   physicalDevice,
-                                     VkDisplayKHR                       display,
-                                     const VkDisplayModeCreateInfoKHR * pCreateInfo,
-                                     const VkAllocationCallbacks *      pAllocator,
-                                     VkDisplayModeKHR *                 pMode ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
-    }
-
-    VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice        physicalDevice,
-                                                   const char *            pLayerName,
-                                                   uint32_t *              pPropertyCount,
-                                                   VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
-    }
-
-    VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice    physicalDevice,
-                                               uint32_t *          pPropertyCount,
-                                               VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
-    }
-
-    VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-      VkPhysicalDevice                     physicalDevice,
-      uint32_t                             queueFamilyIndex,
-      uint32_t *                           pCounterCount,
-      VkPerformanceCounterKHR *            pCounters,
-      VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-        physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
-    }
-
-    VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
-                                             VkDisplayKHR                  display,
-                                             uint32_t *                    pPropertyCount,
-                                             VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
-    }
-
-    VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice             physicalDevice,
-                                            VkDisplayKHR                 display,
-                                            uint32_t *                   pPropertyCount,
-                                            VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
-    }
-
-    VkResult
-      vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
-                                         const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
-                                         VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
-    }
-
-    VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice                physicalDevice,
-                                               VkDisplayModeKHR                mode,
-                                               uint32_t                        planeIndex,
-                                               VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
-    }
-
-    VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
-                                                    uint32_t         planeIndex,
-                                                    uint32_t *       pDisplayCount,
-                                                    VkDisplayKHR *   pDisplays ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
-    }
-
-    VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
-                                                             uint32_t *        pTimeDomainCount,
-                                                             VkTimeDomainEXT * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
-    }
-
-    VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
-                                                               uint32_t *                        pPropertyCount,
-                                                               VkCooperativeMatrixPropertiesNV * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
-    }
-
-#  ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-    VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice,
-                                                                uint32_t         queueFamilyIndex,
-                                                                IDirectFB *      dfb ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
-    }
-#  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-
-    VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
-                                                            uint32_t *                     pPropertyCount,
-                                                            VkDisplayPlaneProperties2KHR * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice              physicalDevice,
-                                                           uint32_t *                    pPropertyCount,
-                                                           VkDisplayPlanePropertiesKHR * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
-                                                       uint32_t *                pPropertyCount,
-                                                       VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice         physicalDevice,
-                                                      uint32_t *               pPropertyCount,
-                                                      VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
-    }
-
-    void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice                           physicalDevice,
-                                                      const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
-                                                      VkExternalBufferProperties * pExternalBufferProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceExternalBufferProperties(
-        physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
-    }
-
-    void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
-                                                         const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
-                                                         VkExternalBufferProperties * pExternalBufferProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR(
-        physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
-    }
-
-    void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice                          physicalDevice,
-                                                     const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
-                                                     VkExternalFenceProperties * pExternalFenceProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceExternalFenceProperties(
-        physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
-    }
-
-    void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
-                                                        const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
-                                                        VkExternalFenceProperties * pExternalFenceProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceExternalFencePropertiesKHR(
-        physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
-      VkPhysicalDevice                    physicalDevice,
-      VkFormat                            format,
-      VkImageType                         type,
-      VkImageTiling                       tiling,
-      VkImageUsageFlags                   usage,
-      VkImageCreateFlags                  flags,
-      VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
-      VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
-        physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
-    }
-
-    void vkGetPhysicalDeviceExternalSemaphoreProperties(
-      VkPhysicalDevice                              physicalDevice,
-      const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
-      VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceExternalSemaphoreProperties(
-        physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
-    }
-
-    void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
-      VkPhysicalDevice                              physicalDevice,
-      const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
-      VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
-        physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
-    }
-
-    void vkGetPhysicalDeviceFeatures( VkPhysicalDevice           physicalDevice,
-                                      VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
-    }
-
-    void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice            physicalDevice,
-                                       VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
-    }
-
-    void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice            physicalDevice,
-                                          VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
-    }
-
-    void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice     physicalDevice,
-                                              VkFormat             format,
-                                              VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
-    }
-
-    void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice      physicalDevice,
-                                               VkFormat              format,
-                                               VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
-    }
-
-    void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
-                                                  VkFormat              format,
-                                                  VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice          physicalDevice,
-                                                       VkFormat                  format,
-                                                       VkImageType               type,
-                                                       VkImageTiling             tiling,
-                                                       VkImageUsageFlags         usage,
-                                                       VkImageCreateFlags        flags,
-                                                       VkImageFormatProperties * pImageFormatProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceImageFormatProperties(
-        physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice                         physicalDevice,
-                                                        const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
-                                                        VkImageFormatProperties2 * pImageFormatProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
-                                                           const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
-                                                           VkImageFormatProperties2 * pImageFormatProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
-    }
-
-    void vkGetPhysicalDeviceMemoryProperties(
-      VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
-    }
-
-    void vkGetPhysicalDeviceMemoryProperties2(
-      VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
-    }
-
-    void vkGetPhysicalDeviceMemoryProperties2KHR(
-      VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
-    }
-
-    void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
-                                                      VkSampleCountFlagBits        samples,
-                                                      VkMultisamplePropertiesEXT * pMultisampleProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
-    }
-
-    VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
-                                                      VkSurfaceKHR     surface,
-                                                      uint32_t *       pRectCount,
-                                                      VkRect2D *       pRects ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
-    }
-
-    void vkGetPhysicalDeviceProperties( VkPhysicalDevice             physicalDevice,
-                                        VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
-    }
-
-    void vkGetPhysicalDeviceProperties2( VkPhysicalDevice              physicalDevice,
-                                         VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
-    }
-
-    void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice              physicalDevice,
-                                            VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
-    }
-
-    void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
-      VkPhysicalDevice                            physicalDevice,
-      const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
-      uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
-        physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
-    }
-
-    void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice          physicalDevice,
-                                                   uint32_t *                pQueueFamilyPropertyCount,
-                                                   VkQueueFamilyProperties * pQueueFamilyProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceQueueFamilyProperties(
-        physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
-    }
-
-    void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice           physicalDevice,
-                                                    uint32_t *                 pQueueFamilyPropertyCount,
-                                                    VkQueueFamilyProperties2 * pQueueFamilyProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceQueueFamilyProperties2(
-        physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
-    }
-
-    void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
-                                                       uint32_t *                 pQueueFamilyPropertyCount,
-                                                       VkQueueFamilyProperties2 * pQueueFamilyProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR(
-        physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
-    }
-
-    void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice                physicalDevice,
-                                                         VkFormat                        format,
-                                                         VkImageType                     type,
-                                                         VkSampleCountFlagBits           samples,
-                                                         VkImageUsageFlags               usage,
-                                                         VkImageTiling                   tiling,
-                                                         uint32_t *                      pPropertyCount,
-                                                         VkSparseImageFormatProperties * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSparseImageFormatProperties(
-        physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
-    }
-
-    void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice                               physicalDevice,
-                                                          const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
-                                                          uint32_t *                                     pPropertyCount,
-                                                          VkSparseImageFormatProperties2 * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSparseImageFormatProperties2(
-        physicalDevice, pFormatInfo, pPropertyCount, pProperties );
-    }
-
-    void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice physicalDevice,
-                                                             const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
-                                                             uint32_t *                       pPropertyCount,
-                                                             VkSparseImageFormatProperties2 * pProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
-        physicalDevice, pFormatInfo, pPropertyCount, pProperties );
-    }
-
-    VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-      VkPhysicalDevice                         physicalDevice,
-      uint32_t *                               pCombinationCount,
-      VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-        physicalDevice, pCombinationCount, pCombinations );
-    }
-
-    VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
-                                                         VkSurfaceKHR                surface,
-                                                         VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
-    }
-
-    VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
-                                                         const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                                         VkSurfaceCapabilities2KHR * pSurfaceCapabilities ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
-    }
-
-    VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice           physicalDevice,
-                                                        VkSurfaceKHR               surface,
-                                                        VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
-    }
-
-    VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
-                                                    const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                                    uint32_t *                              pSurfaceFormatCount,
-                                                    VkSurfaceFormat2KHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfaceFormats2KHR(
-        physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
-    }
-
-    VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice     physicalDevice,
-                                                   VkSurfaceKHR         surface,
-                                                   uint32_t *           pSurfaceFormatCount,
-                                                   VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
-    }
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
-                                                         const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                                         uint32_t *                              pPresentModeCount,
-                                                         VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfacePresentModes2EXT(
-        physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice   physicalDevice,
-                                                        VkSurfaceKHR       surface,
-                                                        uint32_t *         pPresentModeCount,
-                                                        VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
-    }
-
-    VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
-                                                   uint32_t         queueFamilyIndex,
-                                                   VkSurfaceKHR     surface,
-                                                   VkBool32 *       pSupported ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
-    }
-
-    VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                    physicalDevice,
-                                                   uint32_t *                          pToolCount,
-                                                   VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
-    }
-
-#  ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice    physicalDevice,
-                                                               uint32_t            queueFamilyIndex,
-                                                               struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
-    }
-#  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-
-#  ifdef VK_USE_PLATFORM_WIN32_KHR
-    VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice,
-                                                             uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
-    }
-#  endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#  ifdef VK_USE_PLATFORM_XCB_KHR
-    VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice   physicalDevice,
-                                                           uint32_t           queueFamilyIndex,
-                                                           xcb_connection_t * connection,
-                                                           xcb_visualid_t     visual_id ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
-    }
-#  endif /*VK_USE_PLATFORM_XCB_KHR*/
-
-#  ifdef VK_USE_PLATFORM_XLIB_KHR
-    VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
-                                                            uint32_t         queueFamilyIndex,
-                                                            Display *        dpy,
-                                                            VisualID         visualID ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
-    }
-#  endif /*VK_USE_PLATFORM_XLIB_KHR*/
-
-#  ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-    VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice,
-                                         Display *        dpy,
-                                         RROutput         rrOutput,
-                                         VkDisplayKHR *   pDisplay ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
-    }
-#  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-
-    VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkReleaseDisplayEXT( physicalDevice, display );
-    }
-
-    void vkGetQueueCheckpointDataNV( VkQueue              queue,
-                                     uint32_t *           pCheckpointDataCount,
-                                     VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
-    }
-
-    void vkQueueBeginDebugUtilsLabelEXT( VkQueue                      queue,
-                                         const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
-    }
-
-    VkResult vkQueueBindSparse( VkQueue                  queue,
-                                uint32_t                 bindInfoCount,
-                                const VkBindSparseInfo * pBindInfo,
-                                VkFence                  fence ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
-    }
-
-    void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueueEndDebugUtilsLabelEXT( queue );
-    }
-
-    void vkQueueInsertDebugUtilsLabelEXT( VkQueue                      queue,
-                                          const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
-    }
-
-    VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueuePresentKHR( queue, pPresentInfo );
-    }
-
-    VkResult
-      vkQueueSetPerformanceConfigurationINTEL( VkQueue                         queue,
-                                               VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
-    }
-
-    VkResult vkQueueSubmit( VkQueue              queue,
-                            uint32_t             submitCount,
-                            const VkSubmitInfo * pSubmits,
-                            VkFence              fence ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
-    }
-
-    VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ::vkQueueWaitIdle( queue );
-    }
-  };
-#endif
-
-  class DispatchLoaderDynamic;
-#if !defined( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC )
-#  if defined( VK_NO_PROTOTYPES )
-#    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
-#  else
-#    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 0
-#  endif
-#endif
-
-#if defined( _WIN32 ) && defined( VULKAN_HPP_STORAGE_SHARED )
-#  ifdef VULKAN_HPP_STORAGE_SHARED_EXPORT
-#    define VULKAN_HPP_STORAGE_API __declspec( dllexport )
-#  else
-#    define VULKAN_HPP_STORAGE_API __declspec( dllimport )
-#  endif
+#if defined(VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC)
+public:
 #else
-#  define VULKAN_HPP_STORAGE_API
+private:
+#endif
+  MaskType m_mask;
+};
+
+#if !defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+// relational operators only needed for pre C++20
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR bool
+operator<(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator>(bit);
+}
+
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR bool
+operator<=(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator>=(bit);
+}
+
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR bool
+operator>(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator<(bit);
+}
+
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR bool
+operator>=(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator<=(bit);
+}
+
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR bool
+operator==(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator==(bit);
+}
+
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR bool
+operator!=(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator!=(bit);
+}
 #endif
 
-#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER )
-#  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
-#    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::defaultDispatchLoaderDynamic
-#    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE                     \
-      namespace VULKAN_HPP_NAMESPACE                                               \
-      {                                                                            \
-        VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic; \
+// bitwise operators
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR Flags<BitType>
+operator&(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator&(bit);
+}
+
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR Flags<BitType>
+operator|(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator|(bit);
+}
+
+template <typename BitType>
+VULKAN_HPP_CONSTEXPR Flags<BitType>
+operator^(BitType bit, Flags<BitType> const &flags) VULKAN_HPP_NOEXCEPT {
+  return flags.operator^(bit);
+}
+
+template <typename RefType> class Optional {
+public:
+  Optional(RefType &reference) VULKAN_HPP_NOEXCEPT { m_ptr = &reference; }
+  Optional(RefType *ptr) VULKAN_HPP_NOEXCEPT { m_ptr = ptr; }
+  Optional(std::nullptr_t) VULKAN_HPP_NOEXCEPT { m_ptr = nullptr; }
+
+  operator RefType *() const VULKAN_HPP_NOEXCEPT { return m_ptr; }
+  RefType const *operator->() const VULKAN_HPP_NOEXCEPT { return m_ptr; }
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT { return !!m_ptr; }
+
+private:
+  RefType *m_ptr;
+};
+
+template <typename X, typename Y> struct StructExtends {
+  enum { value = false };
+};
+
+template <typename Type, class...> struct IsPartOfStructureChain {
+  static const bool valid = false;
+};
+
+template <typename Type, typename Head, typename... Tail>
+struct IsPartOfStructureChain<Type, Head, Tail...> {
+  static const bool valid = std::is_same<Type, Head>::value ||
+                            IsPartOfStructureChain<Type, Tail...>::valid;
+};
+
+template <size_t Index, typename T, typename... ChainElements>
+struct StructureChainContains {
+  static const bool value =
+      std::is_same<T, typename std::tuple_element<
+                          Index, std::tuple<ChainElements...>>::type>::value ||
+      StructureChainContains<Index - 1, T, ChainElements...>::value;
+};
+
+template <typename T, typename... ChainElements>
+struct StructureChainContains<0, T, ChainElements...> {
+  static const bool value =
+      std::is_same<T, typename std::tuple_element<
+                          0, std::tuple<ChainElements...>>::type>::value;
+};
+
+template <size_t Index, typename... ChainElements>
+struct StructureChainValidation {
+  using TestType =
+      typename std::tuple_element<Index, std::tuple<ChainElements...>>::type;
+  static const bool valid =
+      StructExtends<TestType,
+                    typename std::tuple_element<
+                        0, std::tuple<ChainElements...>>::type>::value &&
+      (TestType::allowDuplicate ||
+       !StructureChainContains<Index - 1, TestType, ChainElements...>::value) &&
+      StructureChainValidation<Index - 1, ChainElements...>::valid;
+};
+
+template <typename... ChainElements>
+struct StructureChainValidation<0, ChainElements...> {
+  static const bool valid = true;
+};
+
+template <typename... ChainElements>
+class StructureChain : public std::tuple<ChainElements...> {
+public:
+  StructureChain() VULKAN_HPP_NOEXCEPT {
+    static_assert(StructureChainValidation<sizeof...(ChainElements) - 1,
+                                           ChainElements...>::valid,
+                  "The structure chain is not valid!");
+    link<sizeof...(ChainElements) - 1>();
+  }
+
+  StructureChain(StructureChain const &rhs) VULKAN_HPP_NOEXCEPT
+      : std::tuple<ChainElements...>(rhs) {
+    static_assert(StructureChainValidation<sizeof...(ChainElements) - 1,
+                                           ChainElements...>::valid,
+                  "The structure chain is not valid!");
+    link<sizeof...(ChainElements) - 1>();
+  }
+
+  StructureChain(StructureChain &&rhs) VULKAN_HPP_NOEXCEPT
+      : std::tuple<ChainElements...>(
+            std::forward<std::tuple<ChainElements...>>(rhs)) {
+    static_assert(StructureChainValidation<sizeof...(ChainElements) - 1,
+                                           ChainElements...>::valid,
+                  "The structure chain is not valid!");
+    link<sizeof...(ChainElements) - 1>();
+  }
+
+  StructureChain(ChainElements const &...elems) VULKAN_HPP_NOEXCEPT
+      : std::tuple<ChainElements...>(elems...) {
+    static_assert(StructureChainValidation<sizeof...(ChainElements) - 1,
+                                           ChainElements...>::valid,
+                  "The structure chain is not valid!");
+    link<sizeof...(ChainElements) - 1>();
+  }
+
+  StructureChain &operator=(StructureChain const &rhs) VULKAN_HPP_NOEXCEPT {
+    std::tuple<ChainElements...>::operator=(rhs);
+    link<sizeof...(ChainElements) - 1>();
+    return *this;
+  }
+
+  StructureChain &operator=(StructureChain &&rhs) = delete;
+
+  template <typename T = typename std::tuple_element<
+                0, std::tuple<ChainElements...>>::type,
+            size_t Which = 0>
+  T &get() VULKAN_HPP_NOEXCEPT {
+    return std::get<
+        ChainElementIndex<0, T, Which, void, ChainElements...>::value>(
+        static_cast<std::tuple<ChainElements...> &>(*this));
+  }
+
+  template <typename T = typename std::tuple_element<
+                0, std::tuple<ChainElements...>>::type,
+            size_t Which = 0>
+  T const &get() const VULKAN_HPP_NOEXCEPT {
+    return std::get<
+        ChainElementIndex<0, T, Which, void, ChainElements...>::value>(
+        static_cast<std::tuple<ChainElements...> const &>(*this));
+  }
+
+  template <typename T0, typename T1, typename... Ts>
+  std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT {
+    return std::tie(get<T0>(), get<T1>(), get<Ts>()...);
+  }
+
+  template <typename T0, typename T1, typename... Ts>
+  std::tuple<T0 const &, T1 const &, Ts const &...>
+  get() const VULKAN_HPP_NOEXCEPT {
+    return std::tie(get<T0>(), get<T1>(), get<Ts>()...);
+  }
+
+  template <typename ClassType, size_t Which = 0>
+  typename std::enable_if<
+      std::is_same<ClassType,
+                   typename std::tuple_element<
+                       0, std::tuple<ChainElements...>>::type>::value &&
+          (Which == 0),
+      bool>::type
+  isLinked() const VULKAN_HPP_NOEXCEPT {
+    return true;
+  }
+
+  template <typename ClassType, size_t Which = 0>
+  typename std::enable_if<
+      !std::is_same<ClassType,
+                    typename std::tuple_element<
+                        0, std::tuple<ChainElements...>>::type>::value ||
+          (Which != 0),
+      bool>::type
+  isLinked() const VULKAN_HPP_NOEXCEPT {
+    static_assert(
+        IsPartOfStructureChain<ClassType, ChainElements...>::valid,
+        "Can't unlink Structure that's not part of this StructureChain!");
+    return isLinked(
+        reinterpret_cast<VkBaseInStructure const *>(&get<ClassType, Which>()));
+  }
+
+  template <typename ClassType, size_t Which = 0>
+  typename std::enable_if<
+      !std::is_same<ClassType,
+                    typename std::tuple_element<
+                        0, std::tuple<ChainElements...>>::type>::value ||
+          (Which != 0),
+      void>::type
+  relink() VULKAN_HPP_NOEXCEPT {
+    static_assert(
+        IsPartOfStructureChain<ClassType, ChainElements...>::valid,
+        "Can't relink Structure that's not part of this StructureChain!");
+    auto pNext =
+        reinterpret_cast<VkBaseInStructure *>(&get<ClassType, Which>());
+    VULKAN_HPP_ASSERT(!isLinked(pNext));
+    auto &headElement =
+        std::get<0>(static_cast<std::tuple<ChainElements...> &>(*this));
+    pNext->pNext =
+        reinterpret_cast<VkBaseInStructure const *>(headElement.pNext);
+    headElement.pNext = pNext;
+  }
+
+  template <typename ClassType, size_t Which = 0>
+  typename std::enable_if<
+      !std::is_same<ClassType,
+                    typename std::tuple_element<
+                        0, std::tuple<ChainElements...>>::type>::value ||
+          (Which != 0),
+      void>::type
+  unlink() VULKAN_HPP_NOEXCEPT {
+    static_assert(
+        IsPartOfStructureChain<ClassType, ChainElements...>::valid,
+        "Can't unlink Structure that's not part of this StructureChain!");
+    unlink(
+        reinterpret_cast<VkBaseOutStructure const *>(&get<ClassType, Which>()));
+  }
+
+private:
+  template <int Index, typename T, int Which, typename, class First,
+            class... Types>
+  struct ChainElementIndex
+      : ChainElementIndex<Index + 1, T, Which, void, Types...> {};
+
+  template <int Index, typename T, int Which, class First, class... Types>
+  struct ChainElementIndex<
+      Index, T, Which,
+      typename std::enable_if<!std::is_same<T, First>::value, void>::type,
+      First, Types...>
+      : ChainElementIndex<Index + 1, T, Which, void, Types...> {};
+
+  template <int Index, typename T, int Which, class First, class... Types>
+  struct ChainElementIndex<
+      Index, T, Which,
+      typename std::enable_if<std::is_same<T, First>::value, void>::type, First,
+      Types...> : ChainElementIndex<Index + 1, T, Which - 1, void, Types...> {};
+
+  template <int Index, typename T, class First, class... Types>
+  struct ChainElementIndex<
+      Index, T, 0,
+      typename std::enable_if<std::is_same<T, First>::value, void>::type, First,
+      Types...> : std::integral_constant<int, Index> {};
+
+  bool isLinked(VkBaseInStructure const *pNext) const VULKAN_HPP_NOEXCEPT {
+    VkBaseInStructure const *elementPtr =
+        reinterpret_cast<VkBaseInStructure const *>(&std::get<0>(
+            static_cast<std::tuple<ChainElements...> const &>(*this)));
+    while (elementPtr) {
+      if (elementPtr->pNext == pNext) {
+        return true;
       }
-  extern VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic;
-#  else
-#    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic()
-#    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
-#  endif
+      elementPtr = elementPtr->pNext;
+    }
+    return false;
+  }
+
+  template <size_t Index>
+  typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEXCEPT {
+    auto &x =
+        std::get<Index - 1>(static_cast<std::tuple<ChainElements...> &>(*this));
+    x.pNext =
+        &std::get<Index>(static_cast<std::tuple<ChainElements...> &>(*this));
+    link<Index - 1>();
+  }
+
+  template <size_t Index>
+  typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEXCEPT {}
+
+  void unlink(VkBaseOutStructure const *pNext) VULKAN_HPP_NOEXCEPT {
+    VkBaseOutStructure *elementPtr = reinterpret_cast<VkBaseOutStructure *>(
+        &std::get<0>(static_cast<std::tuple<ChainElements...> &>(*this)));
+    while (elementPtr && (elementPtr->pNext != pNext)) {
+      elementPtr = elementPtr->pNext;
+    }
+    if (elementPtr) {
+      elementPtr->pNext = pNext->pNext;
+    } else {
+      VULKAN_HPP_ASSERT(
+          false); // fires, if the ClassType member has already been unlinked !
+    }
+  }
+};
+
+#if !defined(VULKAN_HPP_NO_SMART_HANDLE)
+template <typename Type, typename Dispatch> class UniqueHandleTraits;
+
+template <typename Type, typename Dispatch>
+class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter {
+private:
+  using Deleter = typename UniqueHandleTraits<Type, Dispatch>::deleter;
+
+public:
+  using element_type = Type;
+
+  UniqueHandle() : Deleter(), m_value() {}
+
+  explicit UniqueHandle(Type const &value,
+                        Deleter const &deleter = Deleter()) VULKAN_HPP_NOEXCEPT
+      : Deleter(deleter),
+        m_value(value) {}
+
+  UniqueHandle(UniqueHandle const &) = delete;
+
+  UniqueHandle(UniqueHandle &&other) VULKAN_HPP_NOEXCEPT
+      : Deleter(std::move(static_cast<Deleter &>(other))),
+        m_value(other.release()) {}
+
+  ~UniqueHandle() VULKAN_HPP_NOEXCEPT {
+    if (m_value) {
+      this->destroy(m_value);
+    }
+  }
+
+  UniqueHandle &operator=(UniqueHandle const &) = delete;
+
+  UniqueHandle &operator=(UniqueHandle &&other) VULKAN_HPP_NOEXCEPT {
+    reset(other.release());
+    *static_cast<Deleter *>(this) = std::move(static_cast<Deleter &>(other));
+    return *this;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_value.operator bool();
+  }
+
+  Type const *operator->() const VULKAN_HPP_NOEXCEPT { return &m_value; }
+
+  Type *operator->() VULKAN_HPP_NOEXCEPT { return &m_value; }
+
+  Type const &operator*() const VULKAN_HPP_NOEXCEPT { return m_value; }
+
+  Type &operator*() VULKAN_HPP_NOEXCEPT { return m_value; }
+
+  const Type &get() const VULKAN_HPP_NOEXCEPT { return m_value; }
+
+  Type &get() VULKAN_HPP_NOEXCEPT { return m_value; }
+
+  void reset(Type const &value = Type()) VULKAN_HPP_NOEXCEPT {
+    if (m_value != value) {
+      if (m_value) {
+        this->destroy(m_value);
+      }
+      m_value = value;
+    }
+  }
+
+  Type release() VULKAN_HPP_NOEXCEPT {
+    Type value = m_value;
+    m_value = nullptr;
+    return value;
+  }
+
+  void swap(UniqueHandle<Type, Dispatch> &rhs) VULKAN_HPP_NOEXCEPT {
+    std::swap(m_value, rhs.m_value);
+    std::swap(static_cast<Deleter &>(*this), static_cast<Deleter &>(rhs));
+  }
+
+private:
+  Type m_value;
+};
+
+template <typename UniqueType>
+VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type>
+uniqueToRaw(std::vector<UniqueType> const &handles) {
+  std::vector<typename UniqueType::element_type> newBuffer(handles.size());
+  std::transform(handles.begin(), handles.end(), newBuffer.begin(),
+                 [](UniqueType const &handle) { return handle.get(); });
+  return newBuffer;
+}
+
+template <typename Type, typename Dispatch>
+VULKAN_HPP_INLINE void
+swap(UniqueHandle<Type, Dispatch> &lhs,
+     UniqueHandle<Type, Dispatch> &rhs) VULKAN_HPP_NOEXCEPT {
+  lhs.swap(rhs);
+}
 #endif
 
-#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER_TYPE )
-#  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
-#    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic
-#  else
-#    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic
-#  endif
-#endif
-
-  struct AllocationCallbacks;
-
-  template <typename OwnerType, typename Dispatch>
-  class ObjectDestroy
-  {
-  public:
-    ObjectDestroy() : m_owner(), m_allocationCallbacks( nullptr ), m_dispatch( nullptr ) {}
-
-    ObjectDestroy( OwnerType                           owner,
-                   Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
-                   Dispatch const &                    dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
-      : m_owner( owner )
-      , m_allocationCallbacks( allocationCallbacks )
-      , m_dispatch( &dispatch )
-    {}
-
-    OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_owner;
-    }
-    Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_allocationCallbacks;
-    }
-
-  protected:
-    template <typename T>
-    void destroy( T t ) VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( m_owner && m_dispatch );
-      m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
-    }
-
-  private:
-    OwnerType                           m_owner;
-    Optional<const AllocationCallbacks> m_allocationCallbacks;
-    Dispatch const *                    m_dispatch;
-  };
-
-  class NoParent;
-
-  template <typename Dispatch>
-  class ObjectDestroy<NoParent, Dispatch>
-  {
-  public:
-    ObjectDestroy() : m_allocationCallbacks( nullptr ), m_dispatch( nullptr ) {}
-
-    ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
-                   Dispatch const &                    dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
-      : m_allocationCallbacks( allocationCallbacks )
-      , m_dispatch( &dispatch )
-    {}
-
-    Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_allocationCallbacks;
-    }
-
-  protected:
-    template <typename T>
-    void destroy( T t ) VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( m_dispatch );
-      t.destroy( m_allocationCallbacks, *m_dispatch );
-    }
-
-  private:
-    Optional<const AllocationCallbacks> m_allocationCallbacks;
-    Dispatch const *                    m_dispatch;
-  };
-
-  template <typename OwnerType, typename Dispatch>
-  class ObjectFree
-  {
-  public:
-    ObjectFree() : m_owner(), m_allocationCallbacks( nullptr ), m_dispatch( nullptr ) {}
-
-    ObjectFree( OwnerType                           owner,
-                Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
-                Dispatch const &                    dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
-      : m_owner( owner )
-      , m_allocationCallbacks( allocationCallbacks )
-      , m_dispatch( &dispatch )
-    {}
-
-    OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_owner;
-    }
-
-    Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_allocationCallbacks;
-    }
-
-  protected:
-    template <typename T>
-    void destroy( T t ) VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( m_owner && m_dispatch );
-      m_owner.free( t, m_allocationCallbacks, *m_dispatch );
-    }
-
-  private:
-    OwnerType                           m_owner;
-    Optional<const AllocationCallbacks> m_allocationCallbacks;
-    Dispatch const *                    m_dispatch;
-  };
-
-  template <typename OwnerType, typename PoolType, typename Dispatch>
-  class PoolFree
-  {
-  public:
-    PoolFree( OwnerType        owner    = OwnerType(),
-              PoolType         pool     = PoolType(),
-              Dispatch const & dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
-      : m_owner( owner )
-      , m_pool( pool )
-      , m_dispatch( &dispatch )
-    {}
-
-    OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_owner;
-    }
-    PoolType getPool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pool;
-    }
-
-  protected:
-    template <typename T>
-    void destroy( T t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_owner.free( m_pool, t, *m_dispatch );
-    }
-
-  private:
-    OwnerType        m_owner;
-    PoolType         m_pool;
-    Dispatch const * m_dispatch;
-  };
-
-  using Bool32        = uint32_t;
-  using DeviceAddress = uint64_t;
-  using DeviceSize    = uint64_t;
-  using SampleMask    = uint32_t;
-
-  template <typename EnumType, EnumType value>
-  struct CppType
-  {};
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  enum class AccelerationStructureBuildTypeKHR
-  {
-    eHost         = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
-    eDevice       = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR,
-    eHostOrDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( AccelerationStructureBuildTypeKHR value )
-  {
-    switch ( value )
-    {
-      case AccelerationStructureBuildTypeKHR::eHost: return "Host";
-      case AccelerationStructureBuildTypeKHR::eDevice: return "Device";
-      case AccelerationStructureBuildTypeKHR::eHostOrDevice: return "HostOrDevice";
-      default: return "invalid";
-    }
-  }
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  enum class AccelerationStructureMemoryRequirementsTypeKHR
-  {
-    eObject        = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR,
-    eBuildScratch  = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR,
-    eUpdateScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR
-  };
-  using AccelerationStructureMemoryRequirementsTypeNV = AccelerationStructureMemoryRequirementsTypeKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMemoryRequirementsTypeKHR value )
-  {
-    switch ( value )
-    {
-      case AccelerationStructureMemoryRequirementsTypeKHR::eObject: return "Object";
-      case AccelerationStructureMemoryRequirementsTypeKHR::eBuildScratch: return "BuildScratch";
-      case AccelerationStructureMemoryRequirementsTypeKHR::eUpdateScratch: return "UpdateScratch";
-      default: return "invalid";
-    }
-  }
-
-  enum class AccelerationStructureTypeKHR
-  {
-    eTopLevel    = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
-    eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR
-  };
-  using AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( AccelerationStructureTypeKHR value )
-  {
-    switch ( value )
-    {
-      case AccelerationStructureTypeKHR::eTopLevel: return "TopLevel";
-      case AccelerationStructureTypeKHR::eBottomLevel: return "BottomLevel";
-      default: return "invalid";
-    }
-  }
-
-  enum class AccessFlagBits : VkAccessFlags
-  {
-    eIndirectCommandRead               = VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
-    eIndexRead                         = VK_ACCESS_INDEX_READ_BIT,
-    eVertexAttributeRead               = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
-    eUniformRead                       = VK_ACCESS_UNIFORM_READ_BIT,
-    eInputAttachmentRead               = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
-    eShaderRead                        = VK_ACCESS_SHADER_READ_BIT,
-    eShaderWrite                       = VK_ACCESS_SHADER_WRITE_BIT,
-    eColorAttachmentRead               = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
-    eColorAttachmentWrite              = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
-    eDepthStencilAttachmentRead        = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
-    eDepthStencilAttachmentWrite       = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
-    eTransferRead                      = VK_ACCESS_TRANSFER_READ_BIT,
-    eTransferWrite                     = VK_ACCESS_TRANSFER_WRITE_BIT,
-    eHostRead                          = VK_ACCESS_HOST_READ_BIT,
-    eHostWrite                         = VK_ACCESS_HOST_WRITE_BIT,
-    eMemoryRead                        = VK_ACCESS_MEMORY_READ_BIT,
-    eMemoryWrite                       = VK_ACCESS_MEMORY_WRITE_BIT,
-    eTransformFeedbackWriteEXT         = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
-    eTransformFeedbackCounterReadEXT   = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
-    eTransformFeedbackCounterWriteEXT  = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
-    eConditionalRenderingReadEXT       = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,
-    eColorAttachmentReadNoncoherentEXT = VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
-    eAccelerationStructureReadKHR      = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-    eAccelerationStructureWriteKHR     = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-    eShadingRateImageReadNV            = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
-    eFragmentDensityMapReadEXT         = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
-    eCommandPreprocessReadNV           = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,
-    eCommandPreprocessWriteNV          = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV,
-    eAccelerationStructureReadNV       = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,
-    eAccelerationStructureWriteNV      = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( AccessFlagBits value )
-  {
-    switch ( value )
-    {
-      case AccessFlagBits::eIndirectCommandRead: return "IndirectCommandRead";
-      case AccessFlagBits::eIndexRead: return "IndexRead";
-      case AccessFlagBits::eVertexAttributeRead: return "VertexAttributeRead";
-      case AccessFlagBits::eUniformRead: return "UniformRead";
-      case AccessFlagBits::eInputAttachmentRead: return "InputAttachmentRead";
-      case AccessFlagBits::eShaderRead: return "ShaderRead";
-      case AccessFlagBits::eShaderWrite: return "ShaderWrite";
-      case AccessFlagBits::eColorAttachmentRead: return "ColorAttachmentRead";
-      case AccessFlagBits::eColorAttachmentWrite: return "ColorAttachmentWrite";
-      case AccessFlagBits::eDepthStencilAttachmentRead: return "DepthStencilAttachmentRead";
-      case AccessFlagBits::eDepthStencilAttachmentWrite: return "DepthStencilAttachmentWrite";
-      case AccessFlagBits::eTransferRead: return "TransferRead";
-      case AccessFlagBits::eTransferWrite: return "TransferWrite";
-      case AccessFlagBits::eHostRead: return "HostRead";
-      case AccessFlagBits::eHostWrite: return "HostWrite";
-      case AccessFlagBits::eMemoryRead: return "MemoryRead";
-      case AccessFlagBits::eMemoryWrite: return "MemoryWrite";
-      case AccessFlagBits::eTransformFeedbackWriteEXT: return "TransformFeedbackWriteEXT";
-      case AccessFlagBits::eTransformFeedbackCounterReadEXT: return "TransformFeedbackCounterReadEXT";
-      case AccessFlagBits::eTransformFeedbackCounterWriteEXT: return "TransformFeedbackCounterWriteEXT";
-      case AccessFlagBits::eConditionalRenderingReadEXT: return "ConditionalRenderingReadEXT";
-      case AccessFlagBits::eColorAttachmentReadNoncoherentEXT: return "ColorAttachmentReadNoncoherentEXT";
-      case AccessFlagBits::eAccelerationStructureReadKHR: return "AccelerationStructureReadKHR";
-      case AccessFlagBits::eAccelerationStructureWriteKHR: return "AccelerationStructureWriteKHR";
-      case AccessFlagBits::eShadingRateImageReadNV: return "ShadingRateImageReadNV";
-      case AccessFlagBits::eFragmentDensityMapReadEXT: return "FragmentDensityMapReadEXT";
-      case AccessFlagBits::eCommandPreprocessReadNV: return "CommandPreprocessReadNV";
-      case AccessFlagBits::eCommandPreprocessWriteNV: return "CommandPreprocessWriteNV";
-      default: return "invalid";
-    }
-  }
-
-  enum class AcquireProfilingLockFlagBitsKHR : VkAcquireProfilingLockFlagsKHR
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( AcquireProfilingLockFlagBitsKHR )
-  {
-    return "(void)";
-  }
-
-  enum class AttachmentDescriptionFlagBits : VkAttachmentDescriptionFlags
-  {
-    eMayAlias = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( AttachmentDescriptionFlagBits value )
-  {
-    switch ( value )
-    {
-      case AttachmentDescriptionFlagBits::eMayAlias: return "MayAlias";
-      default: return "invalid";
-    }
-  }
-
-  enum class AttachmentLoadOp
-  {
-    eLoad     = VK_ATTACHMENT_LOAD_OP_LOAD,
-    eClear    = VK_ATTACHMENT_LOAD_OP_CLEAR,
-    eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( AttachmentLoadOp value )
-  {
-    switch ( value )
-    {
-      case AttachmentLoadOp::eLoad: return "Load";
-      case AttachmentLoadOp::eClear: return "Clear";
-      case AttachmentLoadOp::eDontCare: return "DontCare";
-      default: return "invalid";
-    }
-  }
-
-  enum class AttachmentStoreOp
-  {
-    eStore    = VK_ATTACHMENT_STORE_OP_STORE,
-    eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE,
-    eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( AttachmentStoreOp value )
-  {
-    switch ( value )
-    {
-      case AttachmentStoreOp::eStore: return "Store";
-      case AttachmentStoreOp::eDontCare: return "DontCare";
-      case AttachmentStoreOp::eNoneQCOM: return "NoneQCOM";
-      default: return "invalid";
-    }
-  }
-
-  enum class BlendFactor
-  {
-    eZero                  = VK_BLEND_FACTOR_ZERO,
-    eOne                   = VK_BLEND_FACTOR_ONE,
-    eSrcColor              = VK_BLEND_FACTOR_SRC_COLOR,
-    eOneMinusSrcColor      = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
-    eDstColor              = VK_BLEND_FACTOR_DST_COLOR,
-    eOneMinusDstColor      = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
-    eSrcAlpha              = VK_BLEND_FACTOR_SRC_ALPHA,
-    eOneMinusSrcAlpha      = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
-    eDstAlpha              = VK_BLEND_FACTOR_DST_ALPHA,
-    eOneMinusDstAlpha      = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
-    eConstantColor         = VK_BLEND_FACTOR_CONSTANT_COLOR,
-    eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
-    eConstantAlpha         = VK_BLEND_FACTOR_CONSTANT_ALPHA,
-    eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,
-    eSrcAlphaSaturate      = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
-    eSrc1Color             = VK_BLEND_FACTOR_SRC1_COLOR,
-    eOneMinusSrc1Color     = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
-    eSrc1Alpha             = VK_BLEND_FACTOR_SRC1_ALPHA,
-    eOneMinusSrc1Alpha     = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( BlendFactor value )
-  {
-    switch ( value )
-    {
-      case BlendFactor::eZero: return "Zero";
-      case BlendFactor::eOne: return "One";
-      case BlendFactor::eSrcColor: return "SrcColor";
-      case BlendFactor::eOneMinusSrcColor: return "OneMinusSrcColor";
-      case BlendFactor::eDstColor: return "DstColor";
-      case BlendFactor::eOneMinusDstColor: return "OneMinusDstColor";
-      case BlendFactor::eSrcAlpha: return "SrcAlpha";
-      case BlendFactor::eOneMinusSrcAlpha: return "OneMinusSrcAlpha";
-      case BlendFactor::eDstAlpha: return "DstAlpha";
-      case BlendFactor::eOneMinusDstAlpha: return "OneMinusDstAlpha";
-      case BlendFactor::eConstantColor: return "ConstantColor";
-      case BlendFactor::eOneMinusConstantColor: return "OneMinusConstantColor";
-      case BlendFactor::eConstantAlpha: return "ConstantAlpha";
-      case BlendFactor::eOneMinusConstantAlpha: return "OneMinusConstantAlpha";
-      case BlendFactor::eSrcAlphaSaturate: return "SrcAlphaSaturate";
-      case BlendFactor::eSrc1Color: return "Src1Color";
-      case BlendFactor::eOneMinusSrc1Color: return "OneMinusSrc1Color";
-      case BlendFactor::eSrc1Alpha: return "Src1Alpha";
-      case BlendFactor::eOneMinusSrc1Alpha: return "OneMinusSrc1Alpha";
-      default: return "invalid";
-    }
-  }
-
-  enum class BlendOp
-  {
-    eAdd                 = VK_BLEND_OP_ADD,
-    eSubtract            = VK_BLEND_OP_SUBTRACT,
-    eReverseSubtract     = VK_BLEND_OP_REVERSE_SUBTRACT,
-    eMin                 = VK_BLEND_OP_MIN,
-    eMax                 = VK_BLEND_OP_MAX,
-    eZeroEXT             = VK_BLEND_OP_ZERO_EXT,
-    eSrcEXT              = VK_BLEND_OP_SRC_EXT,
-    eDstEXT              = VK_BLEND_OP_DST_EXT,
-    eSrcOverEXT          = VK_BLEND_OP_SRC_OVER_EXT,
-    eDstOverEXT          = VK_BLEND_OP_DST_OVER_EXT,
-    eSrcInEXT            = VK_BLEND_OP_SRC_IN_EXT,
-    eDstInEXT            = VK_BLEND_OP_DST_IN_EXT,
-    eSrcOutEXT           = VK_BLEND_OP_SRC_OUT_EXT,
-    eDstOutEXT           = VK_BLEND_OP_DST_OUT_EXT,
-    eSrcAtopEXT          = VK_BLEND_OP_SRC_ATOP_EXT,
-    eDstAtopEXT          = VK_BLEND_OP_DST_ATOP_EXT,
-    eXorEXT              = VK_BLEND_OP_XOR_EXT,
-    eMultiplyEXT         = VK_BLEND_OP_MULTIPLY_EXT,
-    eScreenEXT           = VK_BLEND_OP_SCREEN_EXT,
-    eOverlayEXT          = VK_BLEND_OP_OVERLAY_EXT,
-    eDarkenEXT           = VK_BLEND_OP_DARKEN_EXT,
-    eLightenEXT          = VK_BLEND_OP_LIGHTEN_EXT,
-    eColordodgeEXT       = VK_BLEND_OP_COLORDODGE_EXT,
-    eColorburnEXT        = VK_BLEND_OP_COLORBURN_EXT,
-    eHardlightEXT        = VK_BLEND_OP_HARDLIGHT_EXT,
-    eSoftlightEXT        = VK_BLEND_OP_SOFTLIGHT_EXT,
-    eDifferenceEXT       = VK_BLEND_OP_DIFFERENCE_EXT,
-    eExclusionEXT        = VK_BLEND_OP_EXCLUSION_EXT,
-    eInvertEXT           = VK_BLEND_OP_INVERT_EXT,
-    eInvertRgbEXT        = VK_BLEND_OP_INVERT_RGB_EXT,
-    eLineardodgeEXT      = VK_BLEND_OP_LINEARDODGE_EXT,
-    eLinearburnEXT       = VK_BLEND_OP_LINEARBURN_EXT,
-    eVividlightEXT       = VK_BLEND_OP_VIVIDLIGHT_EXT,
-    eLinearlightEXT      = VK_BLEND_OP_LINEARLIGHT_EXT,
-    ePinlightEXT         = VK_BLEND_OP_PINLIGHT_EXT,
-    eHardmixEXT          = VK_BLEND_OP_HARDMIX_EXT,
-    eHslHueEXT           = VK_BLEND_OP_HSL_HUE_EXT,
-    eHslSaturationEXT    = VK_BLEND_OP_HSL_SATURATION_EXT,
-    eHslColorEXT         = VK_BLEND_OP_HSL_COLOR_EXT,
-    eHslLuminosityEXT    = VK_BLEND_OP_HSL_LUMINOSITY_EXT,
-    ePlusEXT             = VK_BLEND_OP_PLUS_EXT,
-    ePlusClampedEXT      = VK_BLEND_OP_PLUS_CLAMPED_EXT,
-    ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
-    ePlusDarkerEXT       = VK_BLEND_OP_PLUS_DARKER_EXT,
-    eMinusEXT            = VK_BLEND_OP_MINUS_EXT,
-    eMinusClampedEXT     = VK_BLEND_OP_MINUS_CLAMPED_EXT,
-    eContrastEXT         = VK_BLEND_OP_CONTRAST_EXT,
-    eInvertOvgEXT        = VK_BLEND_OP_INVERT_OVG_EXT,
-    eRedEXT              = VK_BLEND_OP_RED_EXT,
-    eGreenEXT            = VK_BLEND_OP_GREEN_EXT,
-    eBlueEXT             = VK_BLEND_OP_BLUE_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( BlendOp value )
-  {
-    switch ( value )
-    {
-      case BlendOp::eAdd: return "Add";
-      case BlendOp::eSubtract: return "Subtract";
-      case BlendOp::eReverseSubtract: return "ReverseSubtract";
-      case BlendOp::eMin: return "Min";
-      case BlendOp::eMax: return "Max";
-      case BlendOp::eZeroEXT: return "ZeroEXT";
-      case BlendOp::eSrcEXT: return "SrcEXT";
-      case BlendOp::eDstEXT: return "DstEXT";
-      case BlendOp::eSrcOverEXT: return "SrcOverEXT";
-      case BlendOp::eDstOverEXT: return "DstOverEXT";
-      case BlendOp::eSrcInEXT: return "SrcInEXT";
-      case BlendOp::eDstInEXT: return "DstInEXT";
-      case BlendOp::eSrcOutEXT: return "SrcOutEXT";
-      case BlendOp::eDstOutEXT: return "DstOutEXT";
-      case BlendOp::eSrcAtopEXT: return "SrcAtopEXT";
-      case BlendOp::eDstAtopEXT: return "DstAtopEXT";
-      case BlendOp::eXorEXT: return "XorEXT";
-      case BlendOp::eMultiplyEXT: return "MultiplyEXT";
-      case BlendOp::eScreenEXT: return "ScreenEXT";
-      case BlendOp::eOverlayEXT: return "OverlayEXT";
-      case BlendOp::eDarkenEXT: return "DarkenEXT";
-      case BlendOp::eLightenEXT: return "LightenEXT";
-      case BlendOp::eColordodgeEXT: return "ColordodgeEXT";
-      case BlendOp::eColorburnEXT: return "ColorburnEXT";
-      case BlendOp::eHardlightEXT: return "HardlightEXT";
-      case BlendOp::eSoftlightEXT: return "SoftlightEXT";
-      case BlendOp::eDifferenceEXT: return "DifferenceEXT";
-      case BlendOp::eExclusionEXT: return "ExclusionEXT";
-      case BlendOp::eInvertEXT: return "InvertEXT";
-      case BlendOp::eInvertRgbEXT: return "InvertRgbEXT";
-      case BlendOp::eLineardodgeEXT: return "LineardodgeEXT";
-      case BlendOp::eLinearburnEXT: return "LinearburnEXT";
-      case BlendOp::eVividlightEXT: return "VividlightEXT";
-      case BlendOp::eLinearlightEXT: return "LinearlightEXT";
-      case BlendOp::ePinlightEXT: return "PinlightEXT";
-      case BlendOp::eHardmixEXT: return "HardmixEXT";
-      case BlendOp::eHslHueEXT: return "HslHueEXT";
-      case BlendOp::eHslSaturationEXT: return "HslSaturationEXT";
-      case BlendOp::eHslColorEXT: return "HslColorEXT";
-      case BlendOp::eHslLuminosityEXT: return "HslLuminosityEXT";
-      case BlendOp::ePlusEXT: return "PlusEXT";
-      case BlendOp::ePlusClampedEXT: return "PlusClampedEXT";
-      case BlendOp::ePlusClampedAlphaEXT: return "PlusClampedAlphaEXT";
-      case BlendOp::ePlusDarkerEXT: return "PlusDarkerEXT";
-      case BlendOp::eMinusEXT: return "MinusEXT";
-      case BlendOp::eMinusClampedEXT: return "MinusClampedEXT";
-      case BlendOp::eContrastEXT: return "ContrastEXT";
-      case BlendOp::eInvertOvgEXT: return "InvertOvgEXT";
-      case BlendOp::eRedEXT: return "RedEXT";
-      case BlendOp::eGreenEXT: return "GreenEXT";
-      case BlendOp::eBlueEXT: return "BlueEXT";
-      default: return "invalid";
-    }
-  }
-
-  enum class BlendOverlapEXT
-  {
-    eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
-    eDisjoint     = VK_BLEND_OVERLAP_DISJOINT_EXT,
-    eConjoint     = VK_BLEND_OVERLAP_CONJOINT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( BlendOverlapEXT value )
-  {
-    switch ( value )
-    {
-      case BlendOverlapEXT::eUncorrelated: return "Uncorrelated";
-      case BlendOverlapEXT::eDisjoint: return "Disjoint";
-      case BlendOverlapEXT::eConjoint: return "Conjoint";
-      default: return "invalid";
-    }
-  }
-
-  enum class BorderColor
-  {
-    eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
-    eIntTransparentBlack   = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
-    eFloatOpaqueBlack      = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
-    eIntOpaqueBlack        = VK_BORDER_COLOR_INT_OPAQUE_BLACK,
-    eFloatOpaqueWhite      = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
-    eIntOpaqueWhite        = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
-    eFloatCustomEXT        = VK_BORDER_COLOR_FLOAT_CUSTOM_EXT,
-    eIntCustomEXT          = VK_BORDER_COLOR_INT_CUSTOM_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( BorderColor value )
-  {
-    switch ( value )
-    {
-      case BorderColor::eFloatTransparentBlack: return "FloatTransparentBlack";
-      case BorderColor::eIntTransparentBlack: return "IntTransparentBlack";
-      case BorderColor::eFloatOpaqueBlack: return "FloatOpaqueBlack";
-      case BorderColor::eIntOpaqueBlack: return "IntOpaqueBlack";
-      case BorderColor::eFloatOpaqueWhite: return "FloatOpaqueWhite";
-      case BorderColor::eIntOpaqueWhite: return "IntOpaqueWhite";
-      case BorderColor::eFloatCustomEXT: return "FloatCustomEXT";
-      case BorderColor::eIntCustomEXT: return "IntCustomEXT";
-      default: return "invalid";
-    }
-  }
-
-  enum class BufferCreateFlagBits : VkBufferCreateFlags
-  {
-    eSparseBinding                 = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
-    eSparseResidency               = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
-    eSparseAliased                 = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
-    eProtected                     = VK_BUFFER_CREATE_PROTECTED_BIT,
-    eDeviceAddressCaptureReplay    = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
-    eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
-    eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( BufferCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case BufferCreateFlagBits::eSparseBinding: return "SparseBinding";
-      case BufferCreateFlagBits::eSparseResidency: return "SparseResidency";
-      case BufferCreateFlagBits::eSparseAliased: return "SparseAliased";
-      case BufferCreateFlagBits::eProtected: return "Protected";
-      case BufferCreateFlagBits::eDeviceAddressCaptureReplay: return "DeviceAddressCaptureReplay";
-      default: return "invalid";
-    }
-  }
-
-  enum class BufferUsageFlagBits : VkBufferUsageFlags
-  {
-    eTransferSrc                       = VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
-    eTransferDst                       = VK_BUFFER_USAGE_TRANSFER_DST_BIT,
-    eUniformTexelBuffer                = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,
-    eStorageTexelBuffer                = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,
-    eUniformBuffer                     = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
-    eStorageBuffer                     = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
-    eIndexBuffer                       = VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
-    eVertexBuffer                      = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
-    eIndirectBuffer                    = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
-    eShaderDeviceAddress               = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
-    eTransformFeedbackBufferEXT        = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
-    eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
-    eConditionalRenderingEXT           = VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT,
-    eRayTracingKHR                     = VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR,
-    eRayTracingNV                      = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
-    eShaderDeviceAddressEXT            = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
-    eShaderDeviceAddressKHR            = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( BufferUsageFlagBits value )
-  {
-    switch ( value )
-    {
-      case BufferUsageFlagBits::eTransferSrc: return "TransferSrc";
-      case BufferUsageFlagBits::eTransferDst: return "TransferDst";
-      case BufferUsageFlagBits::eUniformTexelBuffer: return "UniformTexelBuffer";
-      case BufferUsageFlagBits::eStorageTexelBuffer: return "StorageTexelBuffer";
-      case BufferUsageFlagBits::eUniformBuffer: return "UniformBuffer";
-      case BufferUsageFlagBits::eStorageBuffer: return "StorageBuffer";
-      case BufferUsageFlagBits::eIndexBuffer: return "IndexBuffer";
-      case BufferUsageFlagBits::eVertexBuffer: return "VertexBuffer";
-      case BufferUsageFlagBits::eIndirectBuffer: return "IndirectBuffer";
-      case BufferUsageFlagBits::eShaderDeviceAddress: return "ShaderDeviceAddress";
-      case BufferUsageFlagBits::eTransformFeedbackBufferEXT: return "TransformFeedbackBufferEXT";
-      case BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT: return "TransformFeedbackCounterBufferEXT";
-      case BufferUsageFlagBits::eConditionalRenderingEXT: return "ConditionalRenderingEXT";
-      case BufferUsageFlagBits::eRayTracingKHR: return "RayTracingKHR";
-      default: return "invalid";
-    }
-  }
-
-  enum class BuildAccelerationStructureFlagBitsKHR : VkBuildAccelerationStructureFlagsKHR
-  {
-    eAllowUpdate     = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
-    eAllowCompaction = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
-    ePreferFastTrace = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
-    ePreferFastBuild = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
-    eLowMemory       = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR
-  };
-  using BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( BuildAccelerationStructureFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case BuildAccelerationStructureFlagBitsKHR::eAllowUpdate: return "AllowUpdate";
-      case BuildAccelerationStructureFlagBitsKHR::eAllowCompaction: return "AllowCompaction";
-      case BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace: return "PreferFastTrace";
-      case BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild: return "PreferFastBuild";
-      case BuildAccelerationStructureFlagBitsKHR::eLowMemory: return "LowMemory";
-      default: return "invalid";
-    }
-  }
-
-  enum class ChromaLocation
-  {
-    eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
-    eMidpoint    = VK_CHROMA_LOCATION_MIDPOINT
-  };
-  using ChromaLocationKHR = ChromaLocation;
-
-  VULKAN_HPP_INLINE std::string to_string( ChromaLocation value )
-  {
-    switch ( value )
-    {
-      case ChromaLocation::eCositedEven: return "CositedEven";
-      case ChromaLocation::eMidpoint: return "Midpoint";
-      default: return "invalid";
-    }
-  }
-
-  enum class CoarseSampleOrderTypeNV
-  {
-    eDefault     = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
-    eCustom      = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV,
-    ePixelMajor  = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV,
-    eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CoarseSampleOrderTypeNV value )
-  {
-    switch ( value )
-    {
-      case CoarseSampleOrderTypeNV::eDefault: return "Default";
-      case CoarseSampleOrderTypeNV::eCustom: return "Custom";
-      case CoarseSampleOrderTypeNV::ePixelMajor: return "PixelMajor";
-      case CoarseSampleOrderTypeNV::eSampleMajor: return "SampleMajor";
-      default: return "invalid";
-    }
-  }
-
-  enum class ColorComponentFlagBits : VkColorComponentFlags
-  {
-    eR = VK_COLOR_COMPONENT_R_BIT,
-    eG = VK_COLOR_COMPONENT_G_BIT,
-    eB = VK_COLOR_COMPONENT_B_BIT,
-    eA = VK_COLOR_COMPONENT_A_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ColorComponentFlagBits value )
-  {
-    switch ( value )
-    {
-      case ColorComponentFlagBits::eR: return "R";
-      case ColorComponentFlagBits::eG: return "G";
-      case ColorComponentFlagBits::eB: return "B";
-      case ColorComponentFlagBits::eA: return "A";
-      default: return "invalid";
-    }
-  }
-
-  enum class ColorSpaceKHR
-  {
-    eSrgbNonlinear             = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
-    eDisplayP3NonlinearEXT     = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
-    eExtendedSrgbLinearEXT     = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
-    eDisplayP3LinearEXT        = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
-    eDciP3NonlinearEXT         = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
-    eBt709LinearEXT            = VK_COLOR_SPACE_BT709_LINEAR_EXT,
-    eBt709NonlinearEXT         = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
-    eBt2020LinearEXT           = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
-    eHdr10St2084EXT            = VK_COLOR_SPACE_HDR10_ST2084_EXT,
-    eDolbyvisionEXT            = VK_COLOR_SPACE_DOLBYVISION_EXT,
-    eHdr10HlgEXT               = VK_COLOR_SPACE_HDR10_HLG_EXT,
-    eAdobergbLinearEXT         = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
-    eAdobergbNonlinearEXT      = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,
-    ePassThroughEXT            = VK_COLOR_SPACE_PASS_THROUGH_EXT,
-    eExtendedSrgbNonlinearEXT  = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT,
-    eDisplayNativeAMD          = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD,
-    eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
-    eDciP3LinearEXT            = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ColorSpaceKHR value )
-  {
-    switch ( value )
-    {
-      case ColorSpaceKHR::eSrgbNonlinear: return "SrgbNonlinear";
-      case ColorSpaceKHR::eDisplayP3NonlinearEXT: return "DisplayP3NonlinearEXT";
-      case ColorSpaceKHR::eExtendedSrgbLinearEXT: return "ExtendedSrgbLinearEXT";
-      case ColorSpaceKHR::eDisplayP3LinearEXT: return "DisplayP3LinearEXT";
-      case ColorSpaceKHR::eDciP3NonlinearEXT: return "DciP3NonlinearEXT";
-      case ColorSpaceKHR::eBt709LinearEXT: return "Bt709LinearEXT";
-      case ColorSpaceKHR::eBt709NonlinearEXT: return "Bt709NonlinearEXT";
-      case ColorSpaceKHR::eBt2020LinearEXT: return "Bt2020LinearEXT";
-      case ColorSpaceKHR::eHdr10St2084EXT: return "Hdr10St2084EXT";
-      case ColorSpaceKHR::eDolbyvisionEXT: return "DolbyvisionEXT";
-      case ColorSpaceKHR::eHdr10HlgEXT: return "Hdr10HlgEXT";
-      case ColorSpaceKHR::eAdobergbLinearEXT: return "AdobergbLinearEXT";
-      case ColorSpaceKHR::eAdobergbNonlinearEXT: return "AdobergbNonlinearEXT";
-      case ColorSpaceKHR::ePassThroughEXT: return "PassThroughEXT";
-      case ColorSpaceKHR::eExtendedSrgbNonlinearEXT: return "ExtendedSrgbNonlinearEXT";
-      case ColorSpaceKHR::eDisplayNativeAMD: return "DisplayNativeAMD";
-      default: return "invalid";
-    }
-  }
-
-  enum class CommandBufferLevel
-  {
-    ePrimary   = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
-    eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CommandBufferLevel value )
-  {
-    switch ( value )
-    {
-      case CommandBufferLevel::ePrimary: return "Primary";
-      case CommandBufferLevel::eSecondary: return "Secondary";
-      default: return "invalid";
-    }
-  }
-
-  enum class CommandBufferResetFlagBits : VkCommandBufferResetFlags
-  {
-    eReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CommandBufferResetFlagBits value )
-  {
-    switch ( value )
-    {
-      case CommandBufferResetFlagBits::eReleaseResources: return "ReleaseResources";
-      default: return "invalid";
-    }
-  }
-
-  enum class CommandBufferUsageFlagBits : VkCommandBufferUsageFlags
-  {
-    eOneTimeSubmit      = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
-    eRenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,
-    eSimultaneousUse    = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CommandBufferUsageFlagBits value )
-  {
-    switch ( value )
-    {
-      case CommandBufferUsageFlagBits::eOneTimeSubmit: return "OneTimeSubmit";
-      case CommandBufferUsageFlagBits::eRenderPassContinue: return "RenderPassContinue";
-      case CommandBufferUsageFlagBits::eSimultaneousUse: return "SimultaneousUse";
-      default: return "invalid";
-    }
-  }
-
-  enum class CommandPoolCreateFlagBits : VkCommandPoolCreateFlags
-  {
-    eTransient          = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
-    eResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
-    eProtected          = VK_COMMAND_POOL_CREATE_PROTECTED_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CommandPoolCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case CommandPoolCreateFlagBits::eTransient: return "Transient";
-      case CommandPoolCreateFlagBits::eResetCommandBuffer: return "ResetCommandBuffer";
-      case CommandPoolCreateFlagBits::eProtected: return "Protected";
-      default: return "invalid";
-    }
-  }
-
-  enum class CommandPoolResetFlagBits : VkCommandPoolResetFlags
-  {
-    eReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CommandPoolResetFlagBits value )
-  {
-    switch ( value )
-    {
-      case CommandPoolResetFlagBits::eReleaseResources: return "ReleaseResources";
-      default: return "invalid";
-    }
-  }
-
-  enum class CompareOp
-  {
-    eNever          = VK_COMPARE_OP_NEVER,
-    eLess           = VK_COMPARE_OP_LESS,
-    eEqual          = VK_COMPARE_OP_EQUAL,
-    eLessOrEqual    = VK_COMPARE_OP_LESS_OR_EQUAL,
-    eGreater        = VK_COMPARE_OP_GREATER,
-    eNotEqual       = VK_COMPARE_OP_NOT_EQUAL,
-    eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL,
-    eAlways         = VK_COMPARE_OP_ALWAYS
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CompareOp value )
-  {
-    switch ( value )
-    {
-      case CompareOp::eNever: return "Never";
-      case CompareOp::eLess: return "Less";
-      case CompareOp::eEqual: return "Equal";
-      case CompareOp::eLessOrEqual: return "LessOrEqual";
-      case CompareOp::eGreater: return "Greater";
-      case CompareOp::eNotEqual: return "NotEqual";
-      case CompareOp::eGreaterOrEqual: return "GreaterOrEqual";
-      case CompareOp::eAlways: return "Always";
-      default: return "invalid";
-    }
-  }
-
-  enum class ComponentSwizzle
-  {
-    eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY,
-    eZero     = VK_COMPONENT_SWIZZLE_ZERO,
-    eOne      = VK_COMPONENT_SWIZZLE_ONE,
-    eR        = VK_COMPONENT_SWIZZLE_R,
-    eG        = VK_COMPONENT_SWIZZLE_G,
-    eB        = VK_COMPONENT_SWIZZLE_B,
-    eA        = VK_COMPONENT_SWIZZLE_A
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ComponentSwizzle value )
-  {
-    switch ( value )
-    {
-      case ComponentSwizzle::eIdentity: return "Identity";
-      case ComponentSwizzle::eZero: return "Zero";
-      case ComponentSwizzle::eOne: return "One";
-      case ComponentSwizzle::eR: return "R";
-      case ComponentSwizzle::eG: return "G";
-      case ComponentSwizzle::eB: return "B";
-      case ComponentSwizzle::eA: return "A";
-      default: return "invalid";
-    }
-  }
-
-  enum class ComponentTypeNV
-  {
-    eFloat16 = VK_COMPONENT_TYPE_FLOAT16_NV,
-    eFloat32 = VK_COMPONENT_TYPE_FLOAT32_NV,
-    eFloat64 = VK_COMPONENT_TYPE_FLOAT64_NV,
-    eSint8   = VK_COMPONENT_TYPE_SINT8_NV,
-    eSint16  = VK_COMPONENT_TYPE_SINT16_NV,
-    eSint32  = VK_COMPONENT_TYPE_SINT32_NV,
-    eSint64  = VK_COMPONENT_TYPE_SINT64_NV,
-    eUint8   = VK_COMPONENT_TYPE_UINT8_NV,
-    eUint16  = VK_COMPONENT_TYPE_UINT16_NV,
-    eUint32  = VK_COMPONENT_TYPE_UINT32_NV,
-    eUint64  = VK_COMPONENT_TYPE_UINT64_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ComponentTypeNV value )
-  {
-    switch ( value )
-    {
-      case ComponentTypeNV::eFloat16: return "Float16";
-      case ComponentTypeNV::eFloat32: return "Float32";
-      case ComponentTypeNV::eFloat64: return "Float64";
-      case ComponentTypeNV::eSint8: return "Sint8";
-      case ComponentTypeNV::eSint16: return "Sint16";
-      case ComponentTypeNV::eSint32: return "Sint32";
-      case ComponentTypeNV::eSint64: return "Sint64";
-      case ComponentTypeNV::eUint8: return "Uint8";
-      case ComponentTypeNV::eUint16: return "Uint16";
-      case ComponentTypeNV::eUint32: return "Uint32";
-      case ComponentTypeNV::eUint64: return "Uint64";
-      default: return "invalid";
-    }
-  }
-
-  enum class CompositeAlphaFlagBitsKHR : VkCompositeAlphaFlagsKHR
-  {
-    eOpaque         = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,
-    ePreMultiplied  = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,
-    ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,
-    eInherit        = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CompositeAlphaFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case CompositeAlphaFlagBitsKHR::eOpaque: return "Opaque";
-      case CompositeAlphaFlagBitsKHR::ePreMultiplied: return "PreMultiplied";
-      case CompositeAlphaFlagBitsKHR::ePostMultiplied: return "PostMultiplied";
-      case CompositeAlphaFlagBitsKHR::eInherit: return "Inherit";
-      default: return "invalid";
-    }
-  }
-
-  enum class ConditionalRenderingFlagBitsEXT : VkConditionalRenderingFlagsEXT
-  {
-    eInverted = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ConditionalRenderingFlagBitsEXT value )
-  {
-    switch ( value )
-    {
-      case ConditionalRenderingFlagBitsEXT::eInverted: return "Inverted";
-      default: return "invalid";
-    }
-  }
-
-  enum class ConservativeRasterizationModeEXT
-  {
-    eDisabled      = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
-    eOverestimate  = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,
-    eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ConservativeRasterizationModeEXT value )
-  {
-    switch ( value )
-    {
-      case ConservativeRasterizationModeEXT::eDisabled: return "Disabled";
-      case ConservativeRasterizationModeEXT::eOverestimate: return "Overestimate";
-      case ConservativeRasterizationModeEXT::eUnderestimate: return "Underestimate";
-      default: return "invalid";
-    }
-  }
-
-  enum class CopyAccelerationStructureModeKHR
-  {
-    eClone       = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
-    eCompact     = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
-    eSerialize   = VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR,
-    eDeserialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR
-  };
-  using CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( CopyAccelerationStructureModeKHR value )
-  {
-    switch ( value )
-    {
-      case CopyAccelerationStructureModeKHR::eClone: return "Clone";
-      case CopyAccelerationStructureModeKHR::eCompact: return "Compact";
-      case CopyAccelerationStructureModeKHR::eSerialize: return "Serialize";
-      case CopyAccelerationStructureModeKHR::eDeserialize: return "Deserialize";
-      default: return "invalid";
-    }
-  }
-
-  enum class CoverageModulationModeNV
-  {
-    eNone  = VK_COVERAGE_MODULATION_MODE_NONE_NV,
-    eRgb   = VK_COVERAGE_MODULATION_MODE_RGB_NV,
-    eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV,
-    eRgba  = VK_COVERAGE_MODULATION_MODE_RGBA_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CoverageModulationModeNV value )
-  {
-    switch ( value )
-    {
-      case CoverageModulationModeNV::eNone: return "None";
-      case CoverageModulationModeNV::eRgb: return "Rgb";
-      case CoverageModulationModeNV::eAlpha: return "Alpha";
-      case CoverageModulationModeNV::eRgba: return "Rgba";
-      default: return "invalid";
-    }
-  }
-
-  enum class CoverageReductionModeNV
-  {
-    eMerge    = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
-    eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CoverageReductionModeNV value )
-  {
-    switch ( value )
-    {
-      case CoverageReductionModeNV::eMerge: return "Merge";
-      case CoverageReductionModeNV::eTruncate: return "Truncate";
-      default: return "invalid";
-    }
-  }
-
-  enum class CullModeFlagBits : VkCullModeFlags
-  {
-    eNone         = VK_CULL_MODE_NONE,
-    eFront        = VK_CULL_MODE_FRONT_BIT,
-    eBack         = VK_CULL_MODE_BACK_BIT,
-    eFrontAndBack = VK_CULL_MODE_FRONT_AND_BACK
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CullModeFlagBits value )
-  {
-    switch ( value )
-    {
-      case CullModeFlagBits::eNone: return "None";
-      case CullModeFlagBits::eFront: return "Front";
-      case CullModeFlagBits::eBack: return "Back";
-      case CullModeFlagBits::eFrontAndBack: return "FrontAndBack";
-      default: return "invalid";
-    }
-  }
-
-  enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT
-  {
-    eInformation        = VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
-    eWarning            = VK_DEBUG_REPORT_WARNING_BIT_EXT,
-    ePerformanceWarning = VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
-    eError              = VK_DEBUG_REPORT_ERROR_BIT_EXT,
-    eDebug              = VK_DEBUG_REPORT_DEBUG_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DebugReportFlagBitsEXT value )
-  {
-    switch ( value )
-    {
-      case DebugReportFlagBitsEXT::eInformation: return "Information";
-      case DebugReportFlagBitsEXT::eWarning: return "Warning";
-      case DebugReportFlagBitsEXT::ePerformanceWarning: return "PerformanceWarning";
-      case DebugReportFlagBitsEXT::eError: return "Error";
-      case DebugReportFlagBitsEXT::eDebug: return "Debug";
-      default: return "invalid";
-    }
-  }
-
-  enum class DebugReportObjectTypeEXT
-  {
-    eUnknown                     = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
-    eInstance                    = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
-    ePhysicalDevice              = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
-    eDevice                      = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
-    eQueue                       = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,
-    eSemaphore                   = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,
-    eCommandBuffer               = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
-    eFence                       = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,
-    eDeviceMemory                = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,
-    eBuffer                      = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
-    eImage                       = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
-    eEvent                       = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,
-    eQueryPool                   = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,
-    eBufferView                  = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,
-    eImageView                   = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,
-    eShaderModule                = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
-    ePipelineCache               = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,
-    ePipelineLayout              = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,
-    eRenderPass                  = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,
-    ePipeline                    = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
-    eDescriptorSetLayout         = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,
-    eSampler                     = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,
-    eDescriptorPool              = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
-    eDescriptorSet               = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,
-    eFramebuffer                 = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,
-    eCommandPool                 = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,
-    eSurfaceKHR                  = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,
-    eSwapchainKHR                = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,
-    eDebugReportCallbackEXT      = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
-    eDisplayKHR                  = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
-    eDisplayModeKHR              = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
-    eValidationCacheEXT          = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
-    eSamplerYcbcrConversion      = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
-    eDescriptorUpdateTemplate    = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
-    eAccelerationStructureKHR    = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
-    eBufferCollectionFUCHSIA     = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT,
-    eAccelerationStructureNV     = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
-    eDebugReport                 = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
-    eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,
-    eSamplerYcbcrConversionKHR   = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT,
-    eValidationCache             = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DebugReportObjectTypeEXT value )
-  {
-    switch ( value )
-    {
-      case DebugReportObjectTypeEXT::eUnknown: return "Unknown";
-      case DebugReportObjectTypeEXT::eInstance: return "Instance";
-      case DebugReportObjectTypeEXT::ePhysicalDevice: return "PhysicalDevice";
-      case DebugReportObjectTypeEXT::eDevice: return "Device";
-      case DebugReportObjectTypeEXT::eQueue: return "Queue";
-      case DebugReportObjectTypeEXT::eSemaphore: return "Semaphore";
-      case DebugReportObjectTypeEXT::eCommandBuffer: return "CommandBuffer";
-      case DebugReportObjectTypeEXT::eFence: return "Fence";
-      case DebugReportObjectTypeEXT::eDeviceMemory: return "DeviceMemory";
-      case DebugReportObjectTypeEXT::eBuffer: return "Buffer";
-      case DebugReportObjectTypeEXT::eImage: return "Image";
-      case DebugReportObjectTypeEXT::eEvent: return "Event";
-      case DebugReportObjectTypeEXT::eQueryPool: return "QueryPool";
-      case DebugReportObjectTypeEXT::eBufferView: return "BufferView";
-      case DebugReportObjectTypeEXT::eImageView: return "ImageView";
-      case DebugReportObjectTypeEXT::eShaderModule: return "ShaderModule";
-      case DebugReportObjectTypeEXT::ePipelineCache: return "PipelineCache";
-      case DebugReportObjectTypeEXT::ePipelineLayout: return "PipelineLayout";
-      case DebugReportObjectTypeEXT::eRenderPass: return "RenderPass";
-      case DebugReportObjectTypeEXT::ePipeline: return "Pipeline";
-      case DebugReportObjectTypeEXT::eDescriptorSetLayout: return "DescriptorSetLayout";
-      case DebugReportObjectTypeEXT::eSampler: return "Sampler";
-      case DebugReportObjectTypeEXT::eDescriptorPool: return "DescriptorPool";
-      case DebugReportObjectTypeEXT::eDescriptorSet: return "DescriptorSet";
-      case DebugReportObjectTypeEXT::eFramebuffer: return "Framebuffer";
-      case DebugReportObjectTypeEXT::eCommandPool: return "CommandPool";
-      case DebugReportObjectTypeEXT::eSurfaceKHR: return "SurfaceKHR";
-      case DebugReportObjectTypeEXT::eSwapchainKHR: return "SwapchainKHR";
-      case DebugReportObjectTypeEXT::eDebugReportCallbackEXT: return "DebugReportCallbackEXT";
-      case DebugReportObjectTypeEXT::eDisplayKHR: return "DisplayKHR";
-      case DebugReportObjectTypeEXT::eDisplayModeKHR: return "DisplayModeKHR";
-      case DebugReportObjectTypeEXT::eValidationCacheEXT: return "ValidationCacheEXT";
-      case DebugReportObjectTypeEXT::eSamplerYcbcrConversion: return "SamplerYcbcrConversion";
-      case DebugReportObjectTypeEXT::eDescriptorUpdateTemplate: return "DescriptorUpdateTemplate";
-      case DebugReportObjectTypeEXT::eAccelerationStructureKHR: return "AccelerationStructureKHR";
-      case DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA: return "BufferCollectionFUCHSIA";
-      default: return "invalid";
-    }
-  }
-
-  enum class DebugUtilsMessageSeverityFlagBitsEXT : VkDebugUtilsMessageSeverityFlagsEXT
-  {
-    eVerbose = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,
-    eInfo    = VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,
-    eWarning = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,
-    eError   = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageSeverityFlagBitsEXT value )
-  {
-    switch ( value )
-    {
-      case DebugUtilsMessageSeverityFlagBitsEXT::eVerbose: return "Verbose";
-      case DebugUtilsMessageSeverityFlagBitsEXT::eInfo: return "Info";
-      case DebugUtilsMessageSeverityFlagBitsEXT::eWarning: return "Warning";
-      case DebugUtilsMessageSeverityFlagBitsEXT::eError: return "Error";
-      default: return "invalid";
-    }
-  }
-
-  enum class DebugUtilsMessageTypeFlagBitsEXT : VkDebugUtilsMessageTypeFlagsEXT
-  {
-    eGeneral     = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,
-    eValidation  = VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
-    ePerformance = VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageTypeFlagBitsEXT value )
-  {
-    switch ( value )
-    {
-      case DebugUtilsMessageTypeFlagBitsEXT::eGeneral: return "General";
-      case DebugUtilsMessageTypeFlagBitsEXT::eValidation: return "Validation";
-      case DebugUtilsMessageTypeFlagBitsEXT::ePerformance: return "Performance";
-      default: return "invalid";
-    }
-  }
-
-  enum class DependencyFlagBits : VkDependencyFlags
-  {
-    eByRegion       = VK_DEPENDENCY_BY_REGION_BIT,
-    eDeviceGroup    = VK_DEPENDENCY_DEVICE_GROUP_BIT,
-    eViewLocal      = VK_DEPENDENCY_VIEW_LOCAL_BIT,
-    eDeviceGroupKHR = VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,
-    eViewLocalKHR   = VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DependencyFlagBits value )
-  {
-    switch ( value )
-    {
-      case DependencyFlagBits::eByRegion: return "ByRegion";
-      case DependencyFlagBits::eDeviceGroup: return "DeviceGroup";
-      case DependencyFlagBits::eViewLocal: return "ViewLocal";
-      default: return "invalid";
-    }
-  }
-
-  enum class DescriptorBindingFlagBits : VkDescriptorBindingFlags
-  {
-    eUpdateAfterBind          = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
-    eUpdateUnusedWhilePending = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
-    ePartiallyBound           = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
-    eVariableDescriptorCount  = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
-  };
-  using DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorBindingFlagBits value )
-  {
-    switch ( value )
-    {
-      case DescriptorBindingFlagBits::eUpdateAfterBind: return "UpdateAfterBind";
-      case DescriptorBindingFlagBits::eUpdateUnusedWhilePending: return "UpdateUnusedWhilePending";
-      case DescriptorBindingFlagBits::ePartiallyBound: return "PartiallyBound";
-      case DescriptorBindingFlagBits::eVariableDescriptorCount: return "VariableDescriptorCount";
-      default: return "invalid";
-    }
-  }
-
-  enum class DescriptorPoolCreateFlagBits : VkDescriptorPoolCreateFlags
-  {
-    eFreeDescriptorSet  = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
-    eUpdateAfterBind    = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
-    eUpdateAfterBindEXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorPoolCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case DescriptorPoolCreateFlagBits::eFreeDescriptorSet: return "FreeDescriptorSet";
-      case DescriptorPoolCreateFlagBits::eUpdateAfterBind: return "UpdateAfterBind";
-      default: return "invalid";
-    }
-  }
-
-  enum class DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags
-  {
-    eUpdateAfterBindPool    = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-    ePushDescriptorKHR      = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
-    eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorSetLayoutCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool: return "UpdateAfterBindPool";
-      case DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR: return "PushDescriptorKHR";
-      default: return "invalid";
-    }
-  }
-
-  enum class DescriptorType
-  {
-    eSampler                  = VK_DESCRIPTOR_TYPE_SAMPLER,
-    eCombinedImageSampler     = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-    eSampledImage             = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-    eStorageImage             = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
-    eUniformTexelBuffer       = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
-    eStorageTexelBuffer       = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
-    eUniformBuffer            = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-    eStorageBuffer            = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
-    eUniformBufferDynamic     = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
-    eStorageBufferDynamic     = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
-    eInputAttachment          = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
-    eInlineUniformBlockEXT    = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
-    eAccelerationStructureKHR = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
-    eAccelerationStructureNV  = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorType value )
-  {
-    switch ( value )
-    {
-      case DescriptorType::eSampler: return "Sampler";
-      case DescriptorType::eCombinedImageSampler: return "CombinedImageSampler";
-      case DescriptorType::eSampledImage: return "SampledImage";
-      case DescriptorType::eStorageImage: return "StorageImage";
-      case DescriptorType::eUniformTexelBuffer: return "UniformTexelBuffer";
-      case DescriptorType::eStorageTexelBuffer: return "StorageTexelBuffer";
-      case DescriptorType::eUniformBuffer: return "UniformBuffer";
-      case DescriptorType::eStorageBuffer: return "StorageBuffer";
-      case DescriptorType::eUniformBufferDynamic: return "UniformBufferDynamic";
-      case DescriptorType::eStorageBufferDynamic: return "StorageBufferDynamic";
-      case DescriptorType::eInputAttachment: return "InputAttachment";
-      case DescriptorType::eInlineUniformBlockEXT: return "InlineUniformBlockEXT";
-      case DescriptorType::eAccelerationStructureKHR: return "AccelerationStructureKHR";
-      default: return "invalid";
-    }
-  }
-
-  enum class DescriptorUpdateTemplateType
-  {
-    eDescriptorSet      = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
-    ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
-  };
-  using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateType value )
-  {
-    switch ( value )
-    {
-      case DescriptorUpdateTemplateType::eDescriptorSet: return "DescriptorSet";
-      case DescriptorUpdateTemplateType::ePushDescriptorsKHR: return "PushDescriptorsKHR";
-      default: return "invalid";
-    }
-  }
-
-  enum class DeviceCreateFlagBits
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceCreateFlagBits )
-  {
-    return "(void)";
-  }
-
-  enum class DeviceDiagnosticsConfigFlagBitsNV : VkDeviceDiagnosticsConfigFlagsNV
-  {
-    eEnableShaderDebugInfo      = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV,
-    eEnableResourceTracking     = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV,
-    eEnableAutomaticCheckpoints = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceDiagnosticsConfigFlagBitsNV value )
-  {
-    switch ( value )
-    {
-      case DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo: return "EnableShaderDebugInfo";
-      case DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking: return "EnableResourceTracking";
-      case DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints: return "EnableAutomaticCheckpoints";
-      default: return "invalid";
-    }
-  }
-
-  enum class DeviceEventTypeEXT
-  {
-    eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceEventTypeEXT value )
-  {
-    switch ( value )
-    {
-      case DeviceEventTypeEXT::eDisplayHotplug: return "DisplayHotplug";
-      default: return "invalid";
-    }
-  }
-
-  enum class DeviceGroupPresentModeFlagBitsKHR : VkDeviceGroupPresentModeFlagsKHR
-  {
-    eLocal            = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
-    eRemote           = VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
-    eSum              = VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,
-    eLocalMultiDevice = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceGroupPresentModeFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case DeviceGroupPresentModeFlagBitsKHR::eLocal: return "Local";
-      case DeviceGroupPresentModeFlagBitsKHR::eRemote: return "Remote";
-      case DeviceGroupPresentModeFlagBitsKHR::eSum: return "Sum";
-      case DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice: return "LocalMultiDevice";
-      default: return "invalid";
-    }
-  }
-
-  enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags
-  {
-    eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceQueueCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case DeviceQueueCreateFlagBits::eProtected: return "Protected";
-      default: return "invalid";
-    }
-  }
-
-  enum class DiscardRectangleModeEXT
-  {
-    eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
-    eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DiscardRectangleModeEXT value )
-  {
-    switch ( value )
-    {
-      case DiscardRectangleModeEXT::eInclusive: return "Inclusive";
-      case DiscardRectangleModeEXT::eExclusive: return "Exclusive";
-      default: return "invalid";
-    }
-  }
-
-  enum class DisplayEventTypeEXT
-  {
-    eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DisplayEventTypeEXT value )
-  {
-    switch ( value )
-    {
-      case DisplayEventTypeEXT::eFirstPixelOut: return "FirstPixelOut";
-      default: return "invalid";
-    }
-  }
-
-  enum class DisplayPlaneAlphaFlagBitsKHR : VkDisplayPlaneAlphaFlagsKHR
-  {
-    eOpaque                = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,
-    eGlobal                = VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,
-    ePerPixel              = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,
-    ePerPixelPremultiplied = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DisplayPlaneAlphaFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case DisplayPlaneAlphaFlagBitsKHR::eOpaque: return "Opaque";
-      case DisplayPlaneAlphaFlagBitsKHR::eGlobal: return "Global";
-      case DisplayPlaneAlphaFlagBitsKHR::ePerPixel: return "PerPixel";
-      case DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied: return "PerPixelPremultiplied";
-      default: return "invalid";
-    }
-  }
-
-  enum class DisplayPowerStateEXT
-  {
-    eOff     = VK_DISPLAY_POWER_STATE_OFF_EXT,
-    eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT,
-    eOn      = VK_DISPLAY_POWER_STATE_ON_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DisplayPowerStateEXT value )
-  {
-    switch ( value )
-    {
-      case DisplayPowerStateEXT::eOff: return "Off";
-      case DisplayPowerStateEXT::eSuspend: return "Suspend";
-      case DisplayPowerStateEXT::eOn: return "On";
-      default: return "invalid";
-    }
-  }
-
-  enum class DriverId
-  {
-    eAmdProprietary          = VK_DRIVER_ID_AMD_PROPRIETARY,
-    eAmdOpenSource           = VK_DRIVER_ID_AMD_OPEN_SOURCE,
-    eMesaRadv                = VK_DRIVER_ID_MESA_RADV,
-    eNvidiaProprietary       = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
-    eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
-    eIntelOpenSourceMESA     = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
-    eImaginationProprietary  = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
-    eQualcommProprietary     = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
-    eArmProprietary          = VK_DRIVER_ID_ARM_PROPRIETARY,
-    eGoogleSwiftshader       = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
-    eGgpProprietary          = VK_DRIVER_ID_GGP_PROPRIETARY,
-    eBroadcomProprietary     = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
-    eMesaLlvmpipe            = VK_DRIVER_ID_MESA_LLVMPIPE,
-    eMoltenvk                = VK_DRIVER_ID_MOLTENVK,
-    eIntelOpenSourceMesa     = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR
-  };
-  using DriverIdKHR = DriverId;
-
-  VULKAN_HPP_INLINE std::string to_string( DriverId value )
-  {
-    switch ( value )
-    {
-      case DriverId::eAmdProprietary: return "AmdProprietary";
-      case DriverId::eAmdOpenSource: return "AmdOpenSource";
-      case DriverId::eMesaRadv: return "MesaRadv";
-      case DriverId::eNvidiaProprietary: return "NvidiaProprietary";
-      case DriverId::eIntelProprietaryWindows: return "IntelProprietaryWindows";
-      case DriverId::eIntelOpenSourceMESA: return "IntelOpenSourceMESA";
-      case DriverId::eImaginationProprietary: return "ImaginationProprietary";
-      case DriverId::eQualcommProprietary: return "QualcommProprietary";
-      case DriverId::eArmProprietary: return "ArmProprietary";
-      case DriverId::eGoogleSwiftshader: return "GoogleSwiftshader";
-      case DriverId::eGgpProprietary: return "GgpProprietary";
-      case DriverId::eBroadcomProprietary: return "BroadcomProprietary";
-      case DriverId::eMesaLlvmpipe: return "MesaLlvmpipe";
-      case DriverId::eMoltenvk: return "Moltenvk";
-      default: return "invalid";
-    }
-  }
-
-  enum class DynamicState
-  {
-    eViewport                     = VK_DYNAMIC_STATE_VIEWPORT,
-    eScissor                      = VK_DYNAMIC_STATE_SCISSOR,
-    eLineWidth                    = VK_DYNAMIC_STATE_LINE_WIDTH,
-    eDepthBias                    = VK_DYNAMIC_STATE_DEPTH_BIAS,
-    eBlendConstants               = VK_DYNAMIC_STATE_BLEND_CONSTANTS,
-    eDepthBounds                  = VK_DYNAMIC_STATE_DEPTH_BOUNDS,
-    eStencilCompareMask           = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,
-    eStencilWriteMask             = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,
-    eStencilReference             = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
-    eViewportWScalingNV           = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
-    eDiscardRectangleEXT          = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
-    eSampleLocationsEXT           = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
-    eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV,
-    eViewportCoarseSampleOrderNV  = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,
-    eExclusiveScissorNV           = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
-    eLineStippleEXT               = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT,
-    eCullModeEXT                  = VK_DYNAMIC_STATE_CULL_MODE_EXT,
-    eFrontFaceEXT                 = VK_DYNAMIC_STATE_FRONT_FACE_EXT,
-    ePrimitiveTopologyEXT         = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
-    eViewportWithCountEXT         = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
-    eScissorWithCountEXT          = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
-    eVertexInputBindingStrideEXT  = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
-    eDepthTestEnableEXT           = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
-    eDepthWriteEnableEXT          = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
-    eDepthCompareOpEXT            = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
-    eDepthBoundsTestEnableEXT     = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
-    eStencilTestEnableEXT         = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
-    eStencilOpEXT                 = VK_DYNAMIC_STATE_STENCIL_OP_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DynamicState value )
-  {
-    switch ( value )
-    {
-      case DynamicState::eViewport: return "Viewport";
-      case DynamicState::eScissor: return "Scissor";
-      case DynamicState::eLineWidth: return "LineWidth";
-      case DynamicState::eDepthBias: return "DepthBias";
-      case DynamicState::eBlendConstants: return "BlendConstants";
-      case DynamicState::eDepthBounds: return "DepthBounds";
-      case DynamicState::eStencilCompareMask: return "StencilCompareMask";
-      case DynamicState::eStencilWriteMask: return "StencilWriteMask";
-      case DynamicState::eStencilReference: return "StencilReference";
-      case DynamicState::eViewportWScalingNV: return "ViewportWScalingNV";
-      case DynamicState::eDiscardRectangleEXT: return "DiscardRectangleEXT";
-      case DynamicState::eSampleLocationsEXT: return "SampleLocationsEXT";
-      case DynamicState::eViewportShadingRatePaletteNV: return "ViewportShadingRatePaletteNV";
-      case DynamicState::eViewportCoarseSampleOrderNV: return "ViewportCoarseSampleOrderNV";
-      case DynamicState::eExclusiveScissorNV: return "ExclusiveScissorNV";
-      case DynamicState::eLineStippleEXT: return "LineStippleEXT";
-      case DynamicState::eCullModeEXT: return "CullModeEXT";
-      case DynamicState::eFrontFaceEXT: return "FrontFaceEXT";
-      case DynamicState::ePrimitiveTopologyEXT: return "PrimitiveTopologyEXT";
-      case DynamicState::eViewportWithCountEXT: return "ViewportWithCountEXT";
-      case DynamicState::eScissorWithCountEXT: return "ScissorWithCountEXT";
-      case DynamicState::eVertexInputBindingStrideEXT: return "VertexInputBindingStrideEXT";
-      case DynamicState::eDepthTestEnableEXT: return "DepthTestEnableEXT";
-      case DynamicState::eDepthWriteEnableEXT: return "DepthWriteEnableEXT";
-      case DynamicState::eDepthCompareOpEXT: return "DepthCompareOpEXT";
-      case DynamicState::eDepthBoundsTestEnableEXT: return "DepthBoundsTestEnableEXT";
-      case DynamicState::eStencilTestEnableEXT: return "StencilTestEnableEXT";
-      case DynamicState::eStencilOpEXT: return "StencilOpEXT";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalFenceFeatureFlagBits : VkExternalFenceFeatureFlags
-  {
-    eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
-    eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
-  };
-  using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalFenceFeatureFlagBits value )
-  {
-    switch ( value )
-    {
-      case ExternalFenceFeatureFlagBits::eExportable: return "Exportable";
-      case ExternalFenceFeatureFlagBits::eImportable: return "Importable";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalFenceHandleTypeFlagBits : VkExternalFenceHandleTypeFlags
-  {
-    eOpaqueFd       = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
-    eOpaqueWin32    = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
-    eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
-    eSyncFd         = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
-  };
-  using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalFenceHandleTypeFlagBits value )
-  {
-    switch ( value )
-    {
-      case ExternalFenceHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
-      case ExternalFenceHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
-      case ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
-      case ExternalFenceHandleTypeFlagBits::eSyncFd: return "SyncFd";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalMemoryFeatureFlagBits : VkExternalMemoryFeatureFlags
-  {
-    eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
-    eExportable    = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
-    eImportable    = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
-  };
-  using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlagBits value )
-  {
-    switch ( value )
-    {
-      case ExternalMemoryFeatureFlagBits::eDedicatedOnly: return "DedicatedOnly";
-      case ExternalMemoryFeatureFlagBits::eExportable: return "Exportable";
-      case ExternalMemoryFeatureFlagBits::eImportable: return "Importable";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalMemoryFeatureFlagBitsNV : VkExternalMemoryFeatureFlagsNV
-  {
-    eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,
-    eExportable    = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,
-    eImportable    = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlagBitsNV value )
-  {
-    switch ( value )
-    {
-      case ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly: return "DedicatedOnly";
-      case ExternalMemoryFeatureFlagBitsNV::eExportable: return "Exportable";
-      case ExternalMemoryFeatureFlagBitsNV::eImportable: return "Importable";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalMemoryHandleTypeFlagBits : VkExternalMemoryHandleTypeFlags
-  {
-    eOpaqueFd                     = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
-    eOpaqueWin32                  = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
-    eOpaqueWin32Kmt               = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
-    eD3D11Texture                 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
-    eD3D11TextureKmt              = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
-    eD3D12Heap                    = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
-    eD3D12Resource                = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
-    eDmaBufEXT                    = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
-    eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
-    eHostAllocationEXT            = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
-    eHostMappedForeignMemoryEXT   = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT,
-    eTempZirconVmoFUCHSIA         = VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA
-  };
-  using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlagBits value )
-  {
-    switch ( value )
-    {
-      case ExternalMemoryHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
-      case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
-      case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
-      case ExternalMemoryHandleTypeFlagBits::eD3D11Texture: return "D3D11Texture";
-      case ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt: return "D3D11TextureKmt";
-      case ExternalMemoryHandleTypeFlagBits::eD3D12Heap: return "D3D12Heap";
-      case ExternalMemoryHandleTypeFlagBits::eD3D12Resource: return "D3D12Resource";
-      case ExternalMemoryHandleTypeFlagBits::eDmaBufEXT: return "DmaBufEXT";
-      case ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID: return "AndroidHardwareBufferANDROID";
-      case ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT: return "HostAllocationEXT";
-      case ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT: return "HostMappedForeignMemoryEXT";
-      case ExternalMemoryHandleTypeFlagBits::eTempZirconVmoFUCHSIA: return "TempZirconVmoFUCHSIA";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalMemoryHandleTypeFlagBitsNV : VkExternalMemoryHandleTypeFlagsNV
-  {
-    eOpaqueWin32    = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,
-    eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,
-    eD3D11Image     = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,
-    eD3D11ImageKmt  = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlagBitsNV value )
-  {
-    switch ( value )
-    {
-      case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32: return "OpaqueWin32";
-      case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
-      case ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image: return "D3D11Image";
-      case ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt: return "D3D11ImageKmt";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalSemaphoreFeatureFlagBits : VkExternalSemaphoreFeatureFlags
-  {
-    eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
-    eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
-  };
-  using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreFeatureFlagBits value )
-  {
-    switch ( value )
-    {
-      case ExternalSemaphoreFeatureFlagBits::eExportable: return "Exportable";
-      case ExternalSemaphoreFeatureFlagBits::eImportable: return "Importable";
-      default: return "invalid";
-    }
-  }
-
-  enum class ExternalSemaphoreHandleTypeFlagBits : VkExternalSemaphoreHandleTypeFlags
-  {
-    eOpaqueFd               = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
-    eOpaqueWin32            = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
-    eOpaqueWin32Kmt         = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
-    eD3D12Fence             = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
-    eSyncFd                 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
-    eTempZirconEventFUCHSIA = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA,
-    eD3D11Fence             = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT
-  };
-  using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreHandleTypeFlagBits value )
-  {
-    switch ( value )
-    {
-      case ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
-      case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
-      case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
-      case ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence: return "D3D12Fence";
-      case ExternalSemaphoreHandleTypeFlagBits::eSyncFd: return "SyncFd";
-      case ExternalSemaphoreHandleTypeFlagBits::eTempZirconEventFUCHSIA: return "TempZirconEventFUCHSIA";
-      default: return "invalid";
-    }
-  }
-
-  enum class FenceCreateFlagBits : VkFenceCreateFlags
-  {
-    eSignaled = VK_FENCE_CREATE_SIGNALED_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( FenceCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case FenceCreateFlagBits::eSignaled: return "Signaled";
-      default: return "invalid";
-    }
-  }
-
-  enum class FenceImportFlagBits : VkFenceImportFlags
-  {
-    eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
-  };
-  using FenceImportFlagBitsKHR = FenceImportFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( FenceImportFlagBits value )
-  {
-    switch ( value )
-    {
-      case FenceImportFlagBits::eTemporary: return "Temporary";
-      default: return "invalid";
-    }
-  }
-
-  enum class Filter
-  {
-    eNearest  = VK_FILTER_NEAREST,
-    eLinear   = VK_FILTER_LINEAR,
-    eCubicIMG = VK_FILTER_CUBIC_IMG,
-    eCubicEXT = VK_FILTER_CUBIC_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( Filter value )
-  {
-    switch ( value )
-    {
-      case Filter::eNearest: return "Nearest";
-      case Filter::eLinear: return "Linear";
-      case Filter::eCubicIMG: return "CubicIMG";
-      default: return "invalid";
-    }
-  }
-
-  enum class Format
-  {
-    eUndefined                               = VK_FORMAT_UNDEFINED,
-    eR4G4UnormPack8                          = VK_FORMAT_R4G4_UNORM_PACK8,
-    eR4G4B4A4UnormPack16                     = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
-    eB4G4R4A4UnormPack16                     = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
-    eR5G6B5UnormPack16                       = VK_FORMAT_R5G6B5_UNORM_PACK16,
-    eB5G6R5UnormPack16                       = VK_FORMAT_B5G6R5_UNORM_PACK16,
-    eR5G5B5A1UnormPack16                     = VK_FORMAT_R5G5B5A1_UNORM_PACK16,
-    eB5G5R5A1UnormPack16                     = VK_FORMAT_B5G5R5A1_UNORM_PACK16,
-    eA1R5G5B5UnormPack16                     = VK_FORMAT_A1R5G5B5_UNORM_PACK16,
-    eR8Unorm                                 = VK_FORMAT_R8_UNORM,
-    eR8Snorm                                 = VK_FORMAT_R8_SNORM,
-    eR8Uscaled                               = VK_FORMAT_R8_USCALED,
-    eR8Sscaled                               = VK_FORMAT_R8_SSCALED,
-    eR8Uint                                  = VK_FORMAT_R8_UINT,
-    eR8Sint                                  = VK_FORMAT_R8_SINT,
-    eR8Srgb                                  = VK_FORMAT_R8_SRGB,
-    eR8G8Unorm                               = VK_FORMAT_R8G8_UNORM,
-    eR8G8Snorm                               = VK_FORMAT_R8G8_SNORM,
-    eR8G8Uscaled                             = VK_FORMAT_R8G8_USCALED,
-    eR8G8Sscaled                             = VK_FORMAT_R8G8_SSCALED,
-    eR8G8Uint                                = VK_FORMAT_R8G8_UINT,
-    eR8G8Sint                                = VK_FORMAT_R8G8_SINT,
-    eR8G8Srgb                                = VK_FORMAT_R8G8_SRGB,
-    eR8G8B8Unorm                             = VK_FORMAT_R8G8B8_UNORM,
-    eR8G8B8Snorm                             = VK_FORMAT_R8G8B8_SNORM,
-    eR8G8B8Uscaled                           = VK_FORMAT_R8G8B8_USCALED,
-    eR8G8B8Sscaled                           = VK_FORMAT_R8G8B8_SSCALED,
-    eR8G8B8Uint                              = VK_FORMAT_R8G8B8_UINT,
-    eR8G8B8Sint                              = VK_FORMAT_R8G8B8_SINT,
-    eR8G8B8Srgb                              = VK_FORMAT_R8G8B8_SRGB,
-    eB8G8R8Unorm                             = VK_FORMAT_B8G8R8_UNORM,
-    eB8G8R8Snorm                             = VK_FORMAT_B8G8R8_SNORM,
-    eB8G8R8Uscaled                           = VK_FORMAT_B8G8R8_USCALED,
-    eB8G8R8Sscaled                           = VK_FORMAT_B8G8R8_SSCALED,
-    eB8G8R8Uint                              = VK_FORMAT_B8G8R8_UINT,
-    eB8G8R8Sint                              = VK_FORMAT_B8G8R8_SINT,
-    eB8G8R8Srgb                              = VK_FORMAT_B8G8R8_SRGB,
-    eR8G8B8A8Unorm                           = VK_FORMAT_R8G8B8A8_UNORM,
-    eR8G8B8A8Snorm                           = VK_FORMAT_R8G8B8A8_SNORM,
-    eR8G8B8A8Uscaled                         = VK_FORMAT_R8G8B8A8_USCALED,
-    eR8G8B8A8Sscaled                         = VK_FORMAT_R8G8B8A8_SSCALED,
-    eR8G8B8A8Uint                            = VK_FORMAT_R8G8B8A8_UINT,
-    eR8G8B8A8Sint                            = VK_FORMAT_R8G8B8A8_SINT,
-    eR8G8B8A8Srgb                            = VK_FORMAT_R8G8B8A8_SRGB,
-    eB8G8R8A8Unorm                           = VK_FORMAT_B8G8R8A8_UNORM,
-    eB8G8R8A8Snorm                           = VK_FORMAT_B8G8R8A8_SNORM,
-    eB8G8R8A8Uscaled                         = VK_FORMAT_B8G8R8A8_USCALED,
-    eB8G8R8A8Sscaled                         = VK_FORMAT_B8G8R8A8_SSCALED,
-    eB8G8R8A8Uint                            = VK_FORMAT_B8G8R8A8_UINT,
-    eB8G8R8A8Sint                            = VK_FORMAT_B8G8R8A8_SINT,
-    eB8G8R8A8Srgb                            = VK_FORMAT_B8G8R8A8_SRGB,
-    eA8B8G8R8UnormPack32                     = VK_FORMAT_A8B8G8R8_UNORM_PACK32,
-    eA8B8G8R8SnormPack32                     = VK_FORMAT_A8B8G8R8_SNORM_PACK32,
-    eA8B8G8R8UscaledPack32                   = VK_FORMAT_A8B8G8R8_USCALED_PACK32,
-    eA8B8G8R8SscaledPack32                   = VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
-    eA8B8G8R8UintPack32                      = VK_FORMAT_A8B8G8R8_UINT_PACK32,
-    eA8B8G8R8SintPack32                      = VK_FORMAT_A8B8G8R8_SINT_PACK32,
-    eA8B8G8R8SrgbPack32                      = VK_FORMAT_A8B8G8R8_SRGB_PACK32,
-    eA2R10G10B10UnormPack32                  = VK_FORMAT_A2R10G10B10_UNORM_PACK32,
-    eA2R10G10B10SnormPack32                  = VK_FORMAT_A2R10G10B10_SNORM_PACK32,
-    eA2R10G10B10UscaledPack32                = VK_FORMAT_A2R10G10B10_USCALED_PACK32,
-    eA2R10G10B10SscaledPack32                = VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
-    eA2R10G10B10UintPack32                   = VK_FORMAT_A2R10G10B10_UINT_PACK32,
-    eA2R10G10B10SintPack32                   = VK_FORMAT_A2R10G10B10_SINT_PACK32,
-    eA2B10G10R10UnormPack32                  = VK_FORMAT_A2B10G10R10_UNORM_PACK32,
-    eA2B10G10R10SnormPack32                  = VK_FORMAT_A2B10G10R10_SNORM_PACK32,
-    eA2B10G10R10UscaledPack32                = VK_FORMAT_A2B10G10R10_USCALED_PACK32,
-    eA2B10G10R10SscaledPack32                = VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
-    eA2B10G10R10UintPack32                   = VK_FORMAT_A2B10G10R10_UINT_PACK32,
-    eA2B10G10R10SintPack32                   = VK_FORMAT_A2B10G10R10_SINT_PACK32,
-    eR16Unorm                                = VK_FORMAT_R16_UNORM,
-    eR16Snorm                                = VK_FORMAT_R16_SNORM,
-    eR16Uscaled                              = VK_FORMAT_R16_USCALED,
-    eR16Sscaled                              = VK_FORMAT_R16_SSCALED,
-    eR16Uint                                 = VK_FORMAT_R16_UINT,
-    eR16Sint                                 = VK_FORMAT_R16_SINT,
-    eR16Sfloat                               = VK_FORMAT_R16_SFLOAT,
-    eR16G16Unorm                             = VK_FORMAT_R16G16_UNORM,
-    eR16G16Snorm                             = VK_FORMAT_R16G16_SNORM,
-    eR16G16Uscaled                           = VK_FORMAT_R16G16_USCALED,
-    eR16G16Sscaled                           = VK_FORMAT_R16G16_SSCALED,
-    eR16G16Uint                              = VK_FORMAT_R16G16_UINT,
-    eR16G16Sint                              = VK_FORMAT_R16G16_SINT,
-    eR16G16Sfloat                            = VK_FORMAT_R16G16_SFLOAT,
-    eR16G16B16Unorm                          = VK_FORMAT_R16G16B16_UNORM,
-    eR16G16B16Snorm                          = VK_FORMAT_R16G16B16_SNORM,
-    eR16G16B16Uscaled                        = VK_FORMAT_R16G16B16_USCALED,
-    eR16G16B16Sscaled                        = VK_FORMAT_R16G16B16_SSCALED,
-    eR16G16B16Uint                           = VK_FORMAT_R16G16B16_UINT,
-    eR16G16B16Sint                           = VK_FORMAT_R16G16B16_SINT,
-    eR16G16B16Sfloat                         = VK_FORMAT_R16G16B16_SFLOAT,
-    eR16G16B16A16Unorm                       = VK_FORMAT_R16G16B16A16_UNORM,
-    eR16G16B16A16Snorm                       = VK_FORMAT_R16G16B16A16_SNORM,
-    eR16G16B16A16Uscaled                     = VK_FORMAT_R16G16B16A16_USCALED,
-    eR16G16B16A16Sscaled                     = VK_FORMAT_R16G16B16A16_SSCALED,
-    eR16G16B16A16Uint                        = VK_FORMAT_R16G16B16A16_UINT,
-    eR16G16B16A16Sint                        = VK_FORMAT_R16G16B16A16_SINT,
-    eR16G16B16A16Sfloat                      = VK_FORMAT_R16G16B16A16_SFLOAT,
-    eR32Uint                                 = VK_FORMAT_R32_UINT,
-    eR32Sint                                 = VK_FORMAT_R32_SINT,
-    eR32Sfloat                               = VK_FORMAT_R32_SFLOAT,
-    eR32G32Uint                              = VK_FORMAT_R32G32_UINT,
-    eR32G32Sint                              = VK_FORMAT_R32G32_SINT,
-    eR32G32Sfloat                            = VK_FORMAT_R32G32_SFLOAT,
-    eR32G32B32Uint                           = VK_FORMAT_R32G32B32_UINT,
-    eR32G32B32Sint                           = VK_FORMAT_R32G32B32_SINT,
-    eR32G32B32Sfloat                         = VK_FORMAT_R32G32B32_SFLOAT,
-    eR32G32B32A32Uint                        = VK_FORMAT_R32G32B32A32_UINT,
-    eR32G32B32A32Sint                        = VK_FORMAT_R32G32B32A32_SINT,
-    eR32G32B32A32Sfloat                      = VK_FORMAT_R32G32B32A32_SFLOAT,
-    eR64Uint                                 = VK_FORMAT_R64_UINT,
-    eR64Sint                                 = VK_FORMAT_R64_SINT,
-    eR64Sfloat                               = VK_FORMAT_R64_SFLOAT,
-    eR64G64Uint                              = VK_FORMAT_R64G64_UINT,
-    eR64G64Sint                              = VK_FORMAT_R64G64_SINT,
-    eR64G64Sfloat                            = VK_FORMAT_R64G64_SFLOAT,
-    eR64G64B64Uint                           = VK_FORMAT_R64G64B64_UINT,
-    eR64G64B64Sint                           = VK_FORMAT_R64G64B64_SINT,
-    eR64G64B64Sfloat                         = VK_FORMAT_R64G64B64_SFLOAT,
-    eR64G64B64A64Uint                        = VK_FORMAT_R64G64B64A64_UINT,
-    eR64G64B64A64Sint                        = VK_FORMAT_R64G64B64A64_SINT,
-    eR64G64B64A64Sfloat                      = VK_FORMAT_R64G64B64A64_SFLOAT,
-    eB10G11R11UfloatPack32                   = VK_FORMAT_B10G11R11_UFLOAT_PACK32,
-    eE5B9G9R9UfloatPack32                    = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
-    eD16Unorm                                = VK_FORMAT_D16_UNORM,
-    eX8D24UnormPack32                        = VK_FORMAT_X8_D24_UNORM_PACK32,
-    eD32Sfloat                               = VK_FORMAT_D32_SFLOAT,
-    eS8Uint                                  = VK_FORMAT_S8_UINT,
-    eD16UnormS8Uint                          = VK_FORMAT_D16_UNORM_S8_UINT,
-    eD24UnormS8Uint                          = VK_FORMAT_D24_UNORM_S8_UINT,
-    eD32SfloatS8Uint                         = VK_FORMAT_D32_SFLOAT_S8_UINT,
-    eBc1RgbUnormBlock                        = VK_FORMAT_BC1_RGB_UNORM_BLOCK,
-    eBc1RgbSrgbBlock                         = VK_FORMAT_BC1_RGB_SRGB_BLOCK,
-    eBc1RgbaUnormBlock                       = VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
-    eBc1RgbaSrgbBlock                        = VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
-    eBc2UnormBlock                           = VK_FORMAT_BC2_UNORM_BLOCK,
-    eBc2SrgbBlock                            = VK_FORMAT_BC2_SRGB_BLOCK,
-    eBc3UnormBlock                           = VK_FORMAT_BC3_UNORM_BLOCK,
-    eBc3SrgbBlock                            = VK_FORMAT_BC3_SRGB_BLOCK,
-    eBc4UnormBlock                           = VK_FORMAT_BC4_UNORM_BLOCK,
-    eBc4SnormBlock                           = VK_FORMAT_BC4_SNORM_BLOCK,
-    eBc5UnormBlock                           = VK_FORMAT_BC5_UNORM_BLOCK,
-    eBc5SnormBlock                           = VK_FORMAT_BC5_SNORM_BLOCK,
-    eBc6HUfloatBlock                         = VK_FORMAT_BC6H_UFLOAT_BLOCK,
-    eBc6HSfloatBlock                         = VK_FORMAT_BC6H_SFLOAT_BLOCK,
-    eBc7UnormBlock                           = VK_FORMAT_BC7_UNORM_BLOCK,
-    eBc7SrgbBlock                            = VK_FORMAT_BC7_SRGB_BLOCK,
-    eEtc2R8G8B8UnormBlock                    = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
-    eEtc2R8G8B8SrgbBlock                     = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
-    eEtc2R8G8B8A1UnormBlock                  = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
-    eEtc2R8G8B8A1SrgbBlock                   = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
-    eEtc2R8G8B8A8UnormBlock                  = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
-    eEtc2R8G8B8A8SrgbBlock                   = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
-    eEacR11UnormBlock                        = VK_FORMAT_EAC_R11_UNORM_BLOCK,
-    eEacR11SnormBlock                        = VK_FORMAT_EAC_R11_SNORM_BLOCK,
-    eEacR11G11UnormBlock                     = VK_FORMAT_EAC_R11G11_UNORM_BLOCK,
-    eEacR11G11SnormBlock                     = VK_FORMAT_EAC_R11G11_SNORM_BLOCK,
-    eAstc4x4UnormBlock                       = VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
-    eAstc4x4SrgbBlock                        = VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
-    eAstc5x4UnormBlock                       = VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
-    eAstc5x4SrgbBlock                        = VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
-    eAstc5x5UnormBlock                       = VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
-    eAstc5x5SrgbBlock                        = VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
-    eAstc6x5UnormBlock                       = VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
-    eAstc6x5SrgbBlock                        = VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
-    eAstc6x6UnormBlock                       = VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
-    eAstc6x6SrgbBlock                        = VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
-    eAstc8x5UnormBlock                       = VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
-    eAstc8x5SrgbBlock                        = VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
-    eAstc8x6UnormBlock                       = VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
-    eAstc8x6SrgbBlock                        = VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
-    eAstc8x8UnormBlock                       = VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
-    eAstc8x8SrgbBlock                        = VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
-    eAstc10x5UnormBlock                      = VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
-    eAstc10x5SrgbBlock                       = VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
-    eAstc10x6UnormBlock                      = VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
-    eAstc10x6SrgbBlock                       = VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
-    eAstc10x8UnormBlock                      = VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
-    eAstc10x8SrgbBlock                       = VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
-    eAstc10x10UnormBlock                     = VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
-    eAstc10x10SrgbBlock                      = VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
-    eAstc12x10UnormBlock                     = VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
-    eAstc12x10SrgbBlock                      = VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
-    eAstc12x12UnormBlock                     = VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
-    eAstc12x12SrgbBlock                      = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
-    eG8B8G8R8422Unorm                        = VK_FORMAT_G8B8G8R8_422_UNORM,
-    eB8G8R8G8422Unorm                        = VK_FORMAT_B8G8R8G8_422_UNORM,
-    eG8B8R83Plane420Unorm                    = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
-    eG8B8R82Plane420Unorm                    = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
-    eG8B8R83Plane422Unorm                    = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
-    eG8B8R82Plane422Unorm                    = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
-    eG8B8R83Plane444Unorm                    = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
-    eR10X6UnormPack16                        = VK_FORMAT_R10X6_UNORM_PACK16,
-    eR10X6G10X6Unorm2Pack16                  = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
-    eR10X6G10X6B10X6A10X6Unorm4Pack16        = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
-    eG10X6B10X6G10X6R10X6422Unorm4Pack16     = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
-    eB10X6G10X6R10X6G10X6422Unorm4Pack16     = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
-    eG10X6B10X6R10X63Plane420Unorm3Pack16    = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
-    eG10X6B10X6R10X62Plane420Unorm3Pack16    = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
-    eG10X6B10X6R10X63Plane422Unorm3Pack16    = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
-    eG10X6B10X6R10X62Plane422Unorm3Pack16    = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
-    eG10X6B10X6R10X63Plane444Unorm3Pack16    = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
-    eR12X4UnormPack16                        = VK_FORMAT_R12X4_UNORM_PACK16,
-    eR12X4G12X4Unorm2Pack16                  = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
-    eR12X4G12X4B12X4A12X4Unorm4Pack16        = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
-    eG12X4B12X4G12X4R12X4422Unorm4Pack16     = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
-    eB12X4G12X4R12X4G12X4422Unorm4Pack16     = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
-    eG12X4B12X4R12X43Plane420Unorm3Pack16    = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
-    eG12X4B12X4R12X42Plane420Unorm3Pack16    = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
-    eG12X4B12X4R12X43Plane422Unorm3Pack16    = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
-    eG12X4B12X4R12X42Plane422Unorm3Pack16    = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
-    eG12X4B12X4R12X43Plane444Unorm3Pack16    = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
-    eG16B16G16R16422Unorm                    = VK_FORMAT_G16B16G16R16_422_UNORM,
-    eB16G16R16G16422Unorm                    = VK_FORMAT_B16G16R16G16_422_UNORM,
-    eG16B16R163Plane420Unorm                 = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
-    eG16B16R162Plane420Unorm                 = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
-    eG16B16R163Plane422Unorm                 = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
-    eG16B16R162Plane422Unorm                 = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
-    eG16B16R163Plane444Unorm                 = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
-    ePvrtc12BppUnormBlockIMG                 = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,
-    ePvrtc14BppUnormBlockIMG                 = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,
-    ePvrtc22BppUnormBlockIMG                 = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,
-    ePvrtc24BppUnormBlockIMG                 = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,
-    ePvrtc12BppSrgbBlockIMG                  = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,
-    ePvrtc14BppSrgbBlockIMG                  = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,
-    ePvrtc22BppSrgbBlockIMG                  = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,
-    ePvrtc24BppSrgbBlockIMG                  = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG,
-    eAstc4x4SfloatBlockEXT                   = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT,
-    eAstc5x4SfloatBlockEXT                   = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT,
-    eAstc5x5SfloatBlockEXT                   = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT,
-    eAstc6x5SfloatBlockEXT                   = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT,
-    eAstc6x6SfloatBlockEXT                   = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT,
-    eAstc8x5SfloatBlockEXT                   = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT,
-    eAstc8x6SfloatBlockEXT                   = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT,
-    eAstc8x8SfloatBlockEXT                   = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT,
-    eAstc10x5SfloatBlockEXT                  = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT,
-    eAstc10x6SfloatBlockEXT                  = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT,
-    eAstc10x8SfloatBlockEXT                  = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT,
-    eAstc10x10SfloatBlockEXT                 = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT,
-    eAstc12x10SfloatBlockEXT                 = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT,
-    eAstc12x12SfloatBlockEXT                 = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT,
-    eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR  = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
-    eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR  = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
-    eB16G16R16G16422UnormKHR                 = VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
-    eB8G8R8G8422UnormKHR                     = VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
-    eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR  = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
-    eG10X6B10X6R10X62Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
-    eG10X6B10X6R10X62Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
-    eG10X6B10X6R10X63Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
-    eG10X6B10X6R10X63Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
-    eG10X6B10X6R10X63Plane444Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
-    eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR  = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
-    eG12X4B12X4R12X42Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
-    eG12X4B12X4R12X42Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
-    eG12X4B12X4R12X43Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
-    eG12X4B12X4R12X43Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
-    eG12X4B12X4R12X43Plane444Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
-    eG16B16G16R16422UnormKHR                 = VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
-    eG16B16R162Plane420UnormKHR              = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
-    eG16B16R162Plane422UnormKHR              = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
-    eG16B16R163Plane420UnormKHR              = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
-    eG16B16R163Plane422UnormKHR              = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
-    eG16B16R163Plane444UnormKHR              = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,
-    eG8B8G8R8422UnormKHR                     = VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
-    eG8B8R82Plane420UnormKHR                 = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
-    eG8B8R82Plane422UnormKHR                 = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
-    eG8B8R83Plane420UnormKHR                 = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
-    eG8B8R83Plane422UnormKHR                 = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
-    eG8B8R83Plane444UnormKHR                 = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
-    eR10X6G10X6B10X6A10X6Unorm4Pack16KHR     = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
-    eR10X6G10X6Unorm2Pack16KHR               = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
-    eR10X6UnormPack16KHR                     = VK_FORMAT_R10X6_UNORM_PACK16_KHR,
-    eR12X4G12X4B12X4A12X4Unorm4Pack16KHR     = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
-    eR12X4G12X4Unorm2Pack16KHR               = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
-    eR12X4UnormPack16KHR                     = VK_FORMAT_R12X4_UNORM_PACK16_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( Format value )
-  {
-    switch ( value )
-    {
-      case Format::eUndefined: return "Undefined";
-      case Format::eR4G4UnormPack8: return "R4G4UnormPack8";
-      case Format::eR4G4B4A4UnormPack16: return "R4G4B4A4UnormPack16";
-      case Format::eB4G4R4A4UnormPack16: return "B4G4R4A4UnormPack16";
-      case Format::eR5G6B5UnormPack16: return "R5G6B5UnormPack16";
-      case Format::eB5G6R5UnormPack16: return "B5G6R5UnormPack16";
-      case Format::eR5G5B5A1UnormPack16: return "R5G5B5A1UnormPack16";
-      case Format::eB5G5R5A1UnormPack16: return "B5G5R5A1UnormPack16";
-      case Format::eA1R5G5B5UnormPack16: return "A1R5G5B5UnormPack16";
-      case Format::eR8Unorm: return "R8Unorm";
-      case Format::eR8Snorm: return "R8Snorm";
-      case Format::eR8Uscaled: return "R8Uscaled";
-      case Format::eR8Sscaled: return "R8Sscaled";
-      case Format::eR8Uint: return "R8Uint";
-      case Format::eR8Sint: return "R8Sint";
-      case Format::eR8Srgb: return "R8Srgb";
-      case Format::eR8G8Unorm: return "R8G8Unorm";
-      case Format::eR8G8Snorm: return "R8G8Snorm";
-      case Format::eR8G8Uscaled: return "R8G8Uscaled";
-      case Format::eR8G8Sscaled: return "R8G8Sscaled";
-      case Format::eR8G8Uint: return "R8G8Uint";
-      case Format::eR8G8Sint: return "R8G8Sint";
-      case Format::eR8G8Srgb: return "R8G8Srgb";
-      case Format::eR8G8B8Unorm: return "R8G8B8Unorm";
-      case Format::eR8G8B8Snorm: return "R8G8B8Snorm";
-      case Format::eR8G8B8Uscaled: return "R8G8B8Uscaled";
-      case Format::eR8G8B8Sscaled: return "R8G8B8Sscaled";
-      case Format::eR8G8B8Uint: return "R8G8B8Uint";
-      case Format::eR8G8B8Sint: return "R8G8B8Sint";
-      case Format::eR8G8B8Srgb: return "R8G8B8Srgb";
-      case Format::eB8G8R8Unorm: return "B8G8R8Unorm";
-      case Format::eB8G8R8Snorm: return "B8G8R8Snorm";
-      case Format::eB8G8R8Uscaled: return "B8G8R8Uscaled";
-      case Format::eB8G8R8Sscaled: return "B8G8R8Sscaled";
-      case Format::eB8G8R8Uint: return "B8G8R8Uint";
-      case Format::eB8G8R8Sint: return "B8G8R8Sint";
-      case Format::eB8G8R8Srgb: return "B8G8R8Srgb";
-      case Format::eR8G8B8A8Unorm: return "R8G8B8A8Unorm";
-      case Format::eR8G8B8A8Snorm: return "R8G8B8A8Snorm";
-      case Format::eR8G8B8A8Uscaled: return "R8G8B8A8Uscaled";
-      case Format::eR8G8B8A8Sscaled: return "R8G8B8A8Sscaled";
-      case Format::eR8G8B8A8Uint: return "R8G8B8A8Uint";
-      case Format::eR8G8B8A8Sint: return "R8G8B8A8Sint";
-      case Format::eR8G8B8A8Srgb: return "R8G8B8A8Srgb";
-      case Format::eB8G8R8A8Unorm: return "B8G8R8A8Unorm";
-      case Format::eB8G8R8A8Snorm: return "B8G8R8A8Snorm";
-      case Format::eB8G8R8A8Uscaled: return "B8G8R8A8Uscaled";
-      case Format::eB8G8R8A8Sscaled: return "B8G8R8A8Sscaled";
-      case Format::eB8G8R8A8Uint: return "B8G8R8A8Uint";
-      case Format::eB8G8R8A8Sint: return "B8G8R8A8Sint";
-      case Format::eB8G8R8A8Srgb: return "B8G8R8A8Srgb";
-      case Format::eA8B8G8R8UnormPack32: return "A8B8G8R8UnormPack32";
-      case Format::eA8B8G8R8SnormPack32: return "A8B8G8R8SnormPack32";
-      case Format::eA8B8G8R8UscaledPack32: return "A8B8G8R8UscaledPack32";
-      case Format::eA8B8G8R8SscaledPack32: return "A8B8G8R8SscaledPack32";
-      case Format::eA8B8G8R8UintPack32: return "A8B8G8R8UintPack32";
-      case Format::eA8B8G8R8SintPack32: return "A8B8G8R8SintPack32";
-      case Format::eA8B8G8R8SrgbPack32: return "A8B8G8R8SrgbPack32";
-      case Format::eA2R10G10B10UnormPack32: return "A2R10G10B10UnormPack32";
-      case Format::eA2R10G10B10SnormPack32: return "A2R10G10B10SnormPack32";
-      case Format::eA2R10G10B10UscaledPack32: return "A2R10G10B10UscaledPack32";
-      case Format::eA2R10G10B10SscaledPack32: return "A2R10G10B10SscaledPack32";
-      case Format::eA2R10G10B10UintPack32: return "A2R10G10B10UintPack32";
-      case Format::eA2R10G10B10SintPack32: return "A2R10G10B10SintPack32";
-      case Format::eA2B10G10R10UnormPack32: return "A2B10G10R10UnormPack32";
-      case Format::eA2B10G10R10SnormPack32: return "A2B10G10R10SnormPack32";
-      case Format::eA2B10G10R10UscaledPack32: return "A2B10G10R10UscaledPack32";
-      case Format::eA2B10G10R10SscaledPack32: return "A2B10G10R10SscaledPack32";
-      case Format::eA2B10G10R10UintPack32: return "A2B10G10R10UintPack32";
-      case Format::eA2B10G10R10SintPack32: return "A2B10G10R10SintPack32";
-      case Format::eR16Unorm: return "R16Unorm";
-      case Format::eR16Snorm: return "R16Snorm";
-      case Format::eR16Uscaled: return "R16Uscaled";
-      case Format::eR16Sscaled: return "R16Sscaled";
-      case Format::eR16Uint: return "R16Uint";
-      case Format::eR16Sint: return "R16Sint";
-      case Format::eR16Sfloat: return "R16Sfloat";
-      case Format::eR16G16Unorm: return "R16G16Unorm";
-      case Format::eR16G16Snorm: return "R16G16Snorm";
-      case Format::eR16G16Uscaled: return "R16G16Uscaled";
-      case Format::eR16G16Sscaled: return "R16G16Sscaled";
-      case Format::eR16G16Uint: return "R16G16Uint";
-      case Format::eR16G16Sint: return "R16G16Sint";
-      case Format::eR16G16Sfloat: return "R16G16Sfloat";
-      case Format::eR16G16B16Unorm: return "R16G16B16Unorm";
-      case Format::eR16G16B16Snorm: return "R16G16B16Snorm";
-      case Format::eR16G16B16Uscaled: return "R16G16B16Uscaled";
-      case Format::eR16G16B16Sscaled: return "R16G16B16Sscaled";
-      case Format::eR16G16B16Uint: return "R16G16B16Uint";
-      case Format::eR16G16B16Sint: return "R16G16B16Sint";
-      case Format::eR16G16B16Sfloat: return "R16G16B16Sfloat";
-      case Format::eR16G16B16A16Unorm: return "R16G16B16A16Unorm";
-      case Format::eR16G16B16A16Snorm: return "R16G16B16A16Snorm";
-      case Format::eR16G16B16A16Uscaled: return "R16G16B16A16Uscaled";
-      case Format::eR16G16B16A16Sscaled: return "R16G16B16A16Sscaled";
-      case Format::eR16G16B16A16Uint: return "R16G16B16A16Uint";
-      case Format::eR16G16B16A16Sint: return "R16G16B16A16Sint";
-      case Format::eR16G16B16A16Sfloat: return "R16G16B16A16Sfloat";
-      case Format::eR32Uint: return "R32Uint";
-      case Format::eR32Sint: return "R32Sint";
-      case Format::eR32Sfloat: return "R32Sfloat";
-      case Format::eR32G32Uint: return "R32G32Uint";
-      case Format::eR32G32Sint: return "R32G32Sint";
-      case Format::eR32G32Sfloat: return "R32G32Sfloat";
-      case Format::eR32G32B32Uint: return "R32G32B32Uint";
-      case Format::eR32G32B32Sint: return "R32G32B32Sint";
-      case Format::eR32G32B32Sfloat: return "R32G32B32Sfloat";
-      case Format::eR32G32B32A32Uint: return "R32G32B32A32Uint";
-      case Format::eR32G32B32A32Sint: return "R32G32B32A32Sint";
-      case Format::eR32G32B32A32Sfloat: return "R32G32B32A32Sfloat";
-      case Format::eR64Uint: return "R64Uint";
-      case Format::eR64Sint: return "R64Sint";
-      case Format::eR64Sfloat: return "R64Sfloat";
-      case Format::eR64G64Uint: return "R64G64Uint";
-      case Format::eR64G64Sint: return "R64G64Sint";
-      case Format::eR64G64Sfloat: return "R64G64Sfloat";
-      case Format::eR64G64B64Uint: return "R64G64B64Uint";
-      case Format::eR64G64B64Sint: return "R64G64B64Sint";
-      case Format::eR64G64B64Sfloat: return "R64G64B64Sfloat";
-      case Format::eR64G64B64A64Uint: return "R64G64B64A64Uint";
-      case Format::eR64G64B64A64Sint: return "R64G64B64A64Sint";
-      case Format::eR64G64B64A64Sfloat: return "R64G64B64A64Sfloat";
-      case Format::eB10G11R11UfloatPack32: return "B10G11R11UfloatPack32";
-      case Format::eE5B9G9R9UfloatPack32: return "E5B9G9R9UfloatPack32";
-      case Format::eD16Unorm: return "D16Unorm";
-      case Format::eX8D24UnormPack32: return "X8D24UnormPack32";
-      case Format::eD32Sfloat: return "D32Sfloat";
-      case Format::eS8Uint: return "S8Uint";
-      case Format::eD16UnormS8Uint: return "D16UnormS8Uint";
-      case Format::eD24UnormS8Uint: return "D24UnormS8Uint";
-      case Format::eD32SfloatS8Uint: return "D32SfloatS8Uint";
-      case Format::eBc1RgbUnormBlock: return "Bc1RgbUnormBlock";
-      case Format::eBc1RgbSrgbBlock: return "Bc1RgbSrgbBlock";
-      case Format::eBc1RgbaUnormBlock: return "Bc1RgbaUnormBlock";
-      case Format::eBc1RgbaSrgbBlock: return "Bc1RgbaSrgbBlock";
-      case Format::eBc2UnormBlock: return "Bc2UnormBlock";
-      case Format::eBc2SrgbBlock: return "Bc2SrgbBlock";
-      case Format::eBc3UnormBlock: return "Bc3UnormBlock";
-      case Format::eBc3SrgbBlock: return "Bc3SrgbBlock";
-      case Format::eBc4UnormBlock: return "Bc4UnormBlock";
-      case Format::eBc4SnormBlock: return "Bc4SnormBlock";
-      case Format::eBc5UnormBlock: return "Bc5UnormBlock";
-      case Format::eBc5SnormBlock: return "Bc5SnormBlock";
-      case Format::eBc6HUfloatBlock: return "Bc6HUfloatBlock";
-      case Format::eBc6HSfloatBlock: return "Bc6HSfloatBlock";
-      case Format::eBc7UnormBlock: return "Bc7UnormBlock";
-      case Format::eBc7SrgbBlock: return "Bc7SrgbBlock";
-      case Format::eEtc2R8G8B8UnormBlock: return "Etc2R8G8B8UnormBlock";
-      case Format::eEtc2R8G8B8SrgbBlock: return "Etc2R8G8B8SrgbBlock";
-      case Format::eEtc2R8G8B8A1UnormBlock: return "Etc2R8G8B8A1UnormBlock";
-      case Format::eEtc2R8G8B8A1SrgbBlock: return "Etc2R8G8B8A1SrgbBlock";
-      case Format::eEtc2R8G8B8A8UnormBlock: return "Etc2R8G8B8A8UnormBlock";
-      case Format::eEtc2R8G8B8A8SrgbBlock: return "Etc2R8G8B8A8SrgbBlock";
-      case Format::eEacR11UnormBlock: return "EacR11UnormBlock";
-      case Format::eEacR11SnormBlock: return "EacR11SnormBlock";
-      case Format::eEacR11G11UnormBlock: return "EacR11G11UnormBlock";
-      case Format::eEacR11G11SnormBlock: return "EacR11G11SnormBlock";
-      case Format::eAstc4x4UnormBlock: return "Astc4x4UnormBlock";
-      case Format::eAstc4x4SrgbBlock: return "Astc4x4SrgbBlock";
-      case Format::eAstc5x4UnormBlock: return "Astc5x4UnormBlock";
-      case Format::eAstc5x4SrgbBlock: return "Astc5x4SrgbBlock";
-      case Format::eAstc5x5UnormBlock: return "Astc5x5UnormBlock";
-      case Format::eAstc5x5SrgbBlock: return "Astc5x5SrgbBlock";
-      case Format::eAstc6x5UnormBlock: return "Astc6x5UnormBlock";
-      case Format::eAstc6x5SrgbBlock: return "Astc6x5SrgbBlock";
-      case Format::eAstc6x6UnormBlock: return "Astc6x6UnormBlock";
-      case Format::eAstc6x6SrgbBlock: return "Astc6x6SrgbBlock";
-      case Format::eAstc8x5UnormBlock: return "Astc8x5UnormBlock";
-      case Format::eAstc8x5SrgbBlock: return "Astc8x5SrgbBlock";
-      case Format::eAstc8x6UnormBlock: return "Astc8x6UnormBlock";
-      case Format::eAstc8x6SrgbBlock: return "Astc8x6SrgbBlock";
-      case Format::eAstc8x8UnormBlock: return "Astc8x8UnormBlock";
-      case Format::eAstc8x8SrgbBlock: return "Astc8x8SrgbBlock";
-      case Format::eAstc10x5UnormBlock: return "Astc10x5UnormBlock";
-      case Format::eAstc10x5SrgbBlock: return "Astc10x5SrgbBlock";
-      case Format::eAstc10x6UnormBlock: return "Astc10x6UnormBlock";
-      case Format::eAstc10x6SrgbBlock: return "Astc10x6SrgbBlock";
-      case Format::eAstc10x8UnormBlock: return "Astc10x8UnormBlock";
-      case Format::eAstc10x8SrgbBlock: return "Astc10x8SrgbBlock";
-      case Format::eAstc10x10UnormBlock: return "Astc10x10UnormBlock";
-      case Format::eAstc10x10SrgbBlock: return "Astc10x10SrgbBlock";
-      case Format::eAstc12x10UnormBlock: return "Astc12x10UnormBlock";
-      case Format::eAstc12x10SrgbBlock: return "Astc12x10SrgbBlock";
-      case Format::eAstc12x12UnormBlock: return "Astc12x12UnormBlock";
-      case Format::eAstc12x12SrgbBlock: return "Astc12x12SrgbBlock";
-      case Format::eG8B8G8R8422Unorm: return "G8B8G8R8422Unorm";
-      case Format::eB8G8R8G8422Unorm: return "B8G8R8G8422Unorm";
-      case Format::eG8B8R83Plane420Unorm: return "G8B8R83Plane420Unorm";
-      case Format::eG8B8R82Plane420Unorm: return "G8B8R82Plane420Unorm";
-      case Format::eG8B8R83Plane422Unorm: return "G8B8R83Plane422Unorm";
-      case Format::eG8B8R82Plane422Unorm: return "G8B8R82Plane422Unorm";
-      case Format::eG8B8R83Plane444Unorm: return "G8B8R83Plane444Unorm";
-      case Format::eR10X6UnormPack16: return "R10X6UnormPack16";
-      case Format::eR10X6G10X6Unorm2Pack16: return "R10X6G10X6Unorm2Pack16";
-      case Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: return "R10X6G10X6B10X6A10X6Unorm4Pack16";
-      case Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return "G10X6B10X6G10X6R10X6422Unorm4Pack16";
-      case Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return "B10X6G10X6R10X6G10X6422Unorm4Pack16";
-      case Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return "G10X6B10X6R10X63Plane420Unorm3Pack16";
-      case Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return "G10X6B10X6R10X62Plane420Unorm3Pack16";
-      case Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return "G10X6B10X6R10X63Plane422Unorm3Pack16";
-      case Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return "G10X6B10X6R10X62Plane422Unorm3Pack16";
-      case Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return "G10X6B10X6R10X63Plane444Unorm3Pack16";
-      case Format::eR12X4UnormPack16: return "R12X4UnormPack16";
-      case Format::eR12X4G12X4Unorm2Pack16: return "R12X4G12X4Unorm2Pack16";
-      case Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: return "R12X4G12X4B12X4A12X4Unorm4Pack16";
-      case Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return "G12X4B12X4G12X4R12X4422Unorm4Pack16";
-      case Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return "B12X4G12X4R12X4G12X4422Unorm4Pack16";
-      case Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return "G12X4B12X4R12X43Plane420Unorm3Pack16";
-      case Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return "G12X4B12X4R12X42Plane420Unorm3Pack16";
-      case Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return "G12X4B12X4R12X43Plane422Unorm3Pack16";
-      case Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return "G12X4B12X4R12X42Plane422Unorm3Pack16";
-      case Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return "G12X4B12X4R12X43Plane444Unorm3Pack16";
-      case Format::eG16B16G16R16422Unorm: return "G16B16G16R16422Unorm";
-      case Format::eB16G16R16G16422Unorm: return "B16G16R16G16422Unorm";
-      case Format::eG16B16R163Plane420Unorm: return "G16B16R163Plane420Unorm";
-      case Format::eG16B16R162Plane420Unorm: return "G16B16R162Plane420Unorm";
-      case Format::eG16B16R163Plane422Unorm: return "G16B16R163Plane422Unorm";
-      case Format::eG16B16R162Plane422Unorm: return "G16B16R162Plane422Unorm";
-      case Format::eG16B16R163Plane444Unorm: return "G16B16R163Plane444Unorm";
-      case Format::ePvrtc12BppUnormBlockIMG: return "Pvrtc12BppUnormBlockIMG";
-      case Format::ePvrtc14BppUnormBlockIMG: return "Pvrtc14BppUnormBlockIMG";
-      case Format::ePvrtc22BppUnormBlockIMG: return "Pvrtc22BppUnormBlockIMG";
-      case Format::ePvrtc24BppUnormBlockIMG: return "Pvrtc24BppUnormBlockIMG";
-      case Format::ePvrtc12BppSrgbBlockIMG: return "Pvrtc12BppSrgbBlockIMG";
-      case Format::ePvrtc14BppSrgbBlockIMG: return "Pvrtc14BppSrgbBlockIMG";
-      case Format::ePvrtc22BppSrgbBlockIMG: return "Pvrtc22BppSrgbBlockIMG";
-      case Format::ePvrtc24BppSrgbBlockIMG: return "Pvrtc24BppSrgbBlockIMG";
-      case Format::eAstc4x4SfloatBlockEXT: return "Astc4x4SfloatBlockEXT";
-      case Format::eAstc5x4SfloatBlockEXT: return "Astc5x4SfloatBlockEXT";
-      case Format::eAstc5x5SfloatBlockEXT: return "Astc5x5SfloatBlockEXT";
-      case Format::eAstc6x5SfloatBlockEXT: return "Astc6x5SfloatBlockEXT";
-      case Format::eAstc6x6SfloatBlockEXT: return "Astc6x6SfloatBlockEXT";
-      case Format::eAstc8x5SfloatBlockEXT: return "Astc8x5SfloatBlockEXT";
-      case Format::eAstc8x6SfloatBlockEXT: return "Astc8x6SfloatBlockEXT";
-      case Format::eAstc8x8SfloatBlockEXT: return "Astc8x8SfloatBlockEXT";
-      case Format::eAstc10x5SfloatBlockEXT: return "Astc10x5SfloatBlockEXT";
-      case Format::eAstc10x6SfloatBlockEXT: return "Astc10x6SfloatBlockEXT";
-      case Format::eAstc10x8SfloatBlockEXT: return "Astc10x8SfloatBlockEXT";
-      case Format::eAstc10x10SfloatBlockEXT: return "Astc10x10SfloatBlockEXT";
-      case Format::eAstc12x10SfloatBlockEXT: return "Astc12x10SfloatBlockEXT";
-      case Format::eAstc12x12SfloatBlockEXT: return "Astc12x12SfloatBlockEXT";
-      default: return "invalid";
-    }
-  }
-
-  enum class FormatFeatureFlagBits : VkFormatFeatureFlags
-  {
-    eSampledImage                            = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
-    eStorageImage                            = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,
-    eStorageImageAtomic                      = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,
-    eUniformTexelBuffer                      = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,
-    eStorageTexelBuffer                      = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,
-    eStorageTexelBufferAtomic                = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
-    eVertexBuffer                            = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,
-    eColorAttachment                         = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,
-    eColorAttachmentBlend                    = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,
-    eDepthStencilAttachment                  = VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,
-    eBlitSrc                                 = VK_FORMAT_FEATURE_BLIT_SRC_BIT,
-    eBlitDst                                 = VK_FORMAT_FEATURE_BLIT_DST_BIT,
-    eSampledImageFilterLinear                = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
-    eTransferSrc                             = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
-    eTransferDst                             = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
-    eMidpointChromaSamples                   = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
-    eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
-    eSampledImageYcbcrConversionSeparateReconstructionFilter =
-      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
-    eSampledImageYcbcrConversionChromaReconstructionExplicit =
-      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
-    eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
-      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
-    eDisjoint                             = VK_FORMAT_FEATURE_DISJOINT_BIT,
-    eCositedChromaSamples                 = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
-    eSampledImageFilterMinmax             = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
-    eSampledImageFilterCubicIMG           = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
-    eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
-    eFragmentDensityMapEXT                = VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT,
-    eCositedChromaSamplesKHR              = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,
-    eDisjointKHR                          = VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,
-    eMidpointChromaSamplesKHR             = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,
-    eSampledImageFilterCubicEXT           = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
-    eSampledImageFilterMinmaxEXT          = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT,
-    eSampledImageYcbcrConversionChromaReconstructionExplicitKHR =
-      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,
-    eSampledImageYcbcrConversionChromaReconstructionExplicitForceableKHR =
-      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,
-    eSampledImageYcbcrConversionLinearFilterKHR =
-      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,
-    eSampledImageYcbcrConversionSeparateReconstructionFilterKHR =
-      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,
-    eTransferDstKHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,
-    eTransferSrcKHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( FormatFeatureFlagBits value )
-  {
-    switch ( value )
-    {
-      case FormatFeatureFlagBits::eSampledImage: return "SampledImage";
-      case FormatFeatureFlagBits::eStorageImage: return "StorageImage";
-      case FormatFeatureFlagBits::eStorageImageAtomic: return "StorageImageAtomic";
-      case FormatFeatureFlagBits::eUniformTexelBuffer: return "UniformTexelBuffer";
-      case FormatFeatureFlagBits::eStorageTexelBuffer: return "StorageTexelBuffer";
-      case FormatFeatureFlagBits::eStorageTexelBufferAtomic: return "StorageTexelBufferAtomic";
-      case FormatFeatureFlagBits::eVertexBuffer: return "VertexBuffer";
-      case FormatFeatureFlagBits::eColorAttachment: return "ColorAttachment";
-      case FormatFeatureFlagBits::eColorAttachmentBlend: return "ColorAttachmentBlend";
-      case FormatFeatureFlagBits::eDepthStencilAttachment: return "DepthStencilAttachment";
-      case FormatFeatureFlagBits::eBlitSrc: return "BlitSrc";
-      case FormatFeatureFlagBits::eBlitDst: return "BlitDst";
-      case FormatFeatureFlagBits::eSampledImageFilterLinear: return "SampledImageFilterLinear";
-      case FormatFeatureFlagBits::eTransferSrc: return "TransferSrc";
-      case FormatFeatureFlagBits::eTransferDst: return "TransferDst";
-      case FormatFeatureFlagBits::eMidpointChromaSamples: return "MidpointChromaSamples";
-      case FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter:
-        return "SampledImageYcbcrConversionLinearFilter";
-      case FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter:
-        return "SampledImageYcbcrConversionSeparateReconstructionFilter";
-      case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit:
-        return "SampledImageYcbcrConversionChromaReconstructionExplicit";
-      case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable:
-        return "SampledImageYcbcrConversionChromaReconstructionExplicitForceable";
-      case FormatFeatureFlagBits::eDisjoint: return "Disjoint";
-      case FormatFeatureFlagBits::eCositedChromaSamples: return "CositedChromaSamples";
-      case FormatFeatureFlagBits::eSampledImageFilterMinmax: return "SampledImageFilterMinmax";
-      case FormatFeatureFlagBits::eSampledImageFilterCubicIMG: return "SampledImageFilterCubicIMG";
-      case FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR: return "AccelerationStructureVertexBufferKHR";
-      case FormatFeatureFlagBits::eFragmentDensityMapEXT: return "FragmentDensityMapEXT";
-      default: return "invalid";
-    }
-  }
-
-  enum class FramebufferCreateFlagBits : VkFramebufferCreateFlags
-  {
-    eImageless    = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
-    eImagelessKHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( FramebufferCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case FramebufferCreateFlagBits::eImageless: return "Imageless";
-      default: return "invalid";
-    }
-  }
-
-  enum class FrontFace
-  {
-    eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE,
-    eClockwise        = VK_FRONT_FACE_CLOCKWISE
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( FrontFace value )
-  {
-    switch ( value )
-    {
-      case FrontFace::eCounterClockwise: return "CounterClockwise";
-      case FrontFace::eClockwise: return "Clockwise";
-      default: return "invalid";
-    }
-  }
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  enum class FullScreenExclusiveEXT
-  {
-    eDefault               = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
-    eAllowed               = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT,
-    eDisallowed            = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT,
-    eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( FullScreenExclusiveEXT value )
-  {
-    switch ( value )
-    {
-      case FullScreenExclusiveEXT::eDefault: return "Default";
-      case FullScreenExclusiveEXT::eAllowed: return "Allowed";
-      case FullScreenExclusiveEXT::eDisallowed: return "Disallowed";
-      case FullScreenExclusiveEXT::eApplicationControlled: return "ApplicationControlled";
-      default: return "invalid";
-    }
+#if !defined(VK_NO_PROTOTYPES)
+class DispatchLoaderStatic {
+public:
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkAcquireFullScreenExclusiveModeEXT(
+      VkDevice device, VkSwapchainKHR swapchain) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAcquireFullScreenExclusiveModeEXT(device, swapchain);
   }
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  enum class GeometryFlagBitsKHR : VkGeometryFlagsKHR
-  {
-    eOpaque                      = VK_GEOMETRY_OPAQUE_BIT_KHR,
-    eNoDuplicateAnyHitInvocation = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
-  };
-  using GeometryFlagBitsNV = GeometryFlagBitsKHR;
+  VkResult
+  vkAcquireNextImage2KHR(VkDevice device,
+                         const VkAcquireNextImageInfoKHR *pAcquireInfo,
+                         uint32_t *pImageIndex) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( GeometryFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case GeometryFlagBitsKHR::eOpaque: return "Opaque";
-      case GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation: return "NoDuplicateAnyHitInvocation";
-      default: return "invalid";
-    }
+  VkResult
+  vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain,
+                        uint64_t timeout, VkSemaphore semaphore, VkFence fence,
+                        uint32_t *pImageIndex) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence,
+                                   pImageIndex);
   }
 
-  enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR
-  {
-    eTriangleFacingCullDisable     = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
-    eTriangleFrontCounterclockwise = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
-    eForceOpaque                   = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
-    eForceNoOpaque                 = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
-    eTriangleCullDisable           = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV
-  };
-  using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
+  VkResult vkAcquirePerformanceConfigurationINTEL(
+      VkDevice device,
+      const VkPerformanceConfigurationAcquireInfoINTEL *pAcquireInfo,
+      VkPerformanceConfigurationINTEL *pConfiguration) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkAcquirePerformanceConfigurationINTEL(device, pAcquireInfo,
+                                                    pConfiguration);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( GeometryInstanceFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable: return "TriangleFacingCullDisable";
-      case GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise: return "TriangleFrontCounterclockwise";
-      case GeometryInstanceFlagBitsKHR::eForceOpaque: return "ForceOpaque";
-      case GeometryInstanceFlagBitsKHR::eForceNoOpaque: return "ForceNoOpaque";
-      default: return "invalid";
-    }
+  VkResult vkAcquireProfilingLockKHR(
+      VkDevice device,
+      const VkAcquireProfilingLockInfoKHR *pInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAcquireProfilingLockKHR(device, pInfo);
   }
 
-  enum class GeometryTypeKHR
-  {
-    eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
-    eAabbs     = VK_GEOMETRY_TYPE_AABBS_KHR,
-    eInstances = VK_GEOMETRY_TYPE_INSTANCES_KHR
-  };
-  using GeometryTypeNV = GeometryTypeKHR;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult
+  vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,
+                          VkDisplayKHR display) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAcquireWinrtDisplayNV(physicalDevice, display);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  VULKAN_HPP_INLINE std::string to_string( GeometryTypeKHR value )
-  {
-    switch ( value )
-    {
-      case GeometryTypeKHR::eTriangles: return "Triangles";
-      case GeometryTypeKHR::eAabbs: return "Aabbs";
-      case GeometryTypeKHR::eInstances: return "Instances";
-      default: return "invalid";
-    }
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+  VkResult
+  vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display *dpy,
+                          VkDisplayKHR display) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAcquireXlibDisplayEXT(physicalDevice, dpy, display);
   }
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
 
-  enum class ImageAspectFlagBits : VkImageAspectFlags
-  {
-    eColor           = VK_IMAGE_ASPECT_COLOR_BIT,
-    eDepth           = VK_IMAGE_ASPECT_DEPTH_BIT,
-    eStencil         = VK_IMAGE_ASPECT_STENCIL_BIT,
-    eMetadata        = VK_IMAGE_ASPECT_METADATA_BIT,
-    ePlane0          = VK_IMAGE_ASPECT_PLANE_0_BIT,
-    ePlane1          = VK_IMAGE_ASPECT_PLANE_1_BIT,
-    ePlane2          = VK_IMAGE_ASPECT_PLANE_2_BIT,
-    eMemoryPlane0EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,
-    eMemoryPlane1EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,
-    eMemoryPlane2EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,
-    eMemoryPlane3EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,
-    ePlane0KHR       = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,
-    ePlane1KHR       = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,
-    ePlane2KHR       = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR
-  };
+  VkResult vkAllocateCommandBuffers(
+      VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo,
+      VkCommandBuffer *pCommandBuffers) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageAspectFlagBits value )
-  {
-    switch ( value )
-    {
-      case ImageAspectFlagBits::eColor: return "Color";
-      case ImageAspectFlagBits::eDepth: return "Depth";
-      case ImageAspectFlagBits::eStencil: return "Stencil";
-      case ImageAspectFlagBits::eMetadata: return "Metadata";
-      case ImageAspectFlagBits::ePlane0: return "Plane0";
-      case ImageAspectFlagBits::ePlane1: return "Plane1";
-      case ImageAspectFlagBits::ePlane2: return "Plane2";
-      case ImageAspectFlagBits::eMemoryPlane0EXT: return "MemoryPlane0EXT";
-      case ImageAspectFlagBits::eMemoryPlane1EXT: return "MemoryPlane1EXT";
-      case ImageAspectFlagBits::eMemoryPlane2EXT: return "MemoryPlane2EXT";
-      case ImageAspectFlagBits::eMemoryPlane3EXT: return "MemoryPlane3EXT";
-      default: return "invalid";
-    }
+  VkResult vkAllocateDescriptorSets(
+      VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo,
+      VkDescriptorSet *pDescriptorSets) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
   }
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  enum class ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA
-  {
-    eCpuReadRarely     = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA,
-    eCpuReadOften      = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA,
-    eCpuWriteRarely    = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA,
-    eCpuWriteOften     = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA,
-    eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA
-  };
+  VkResult vkAllocateMemory(VkDevice device,
+                            const VkMemoryAllocateInfo *pAllocateInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkDeviceMemory *pMemory) const VULKAN_HPP_NOEXCEPT {
+    return ::vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageConstraintsInfoFlagBitsFUCHSIA value )
-  {
-    switch ( value )
-    {
-      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely: return "CpuReadRarely";
-      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften: return "CpuReadOften";
-      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely: return "CpuWriteRarely";
-      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften: return "CpuWriteOften";
-      case ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional: return "ProtectedOptional";
-      default: return "invalid";
-    }
+  VkResult vkBeginCommandBuffer(
+      VkCommandBuffer commandBuffer,
+      const VkCommandBufferBeginInfo *pBeginInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkBeginCommandBuffer(commandBuffer, pBeginInfo);
   }
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  enum class ImageCreateFlagBits : VkImageCreateFlags
-  {
-    eSparseBinding                     = VK_IMAGE_CREATE_SPARSE_BINDING_BIT,
-    eSparseResidency                   = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,
-    eSparseAliased                     = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,
-    eMutableFormat                     = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
-    eCubeCompatible                    = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT,
-    eAlias                             = VK_IMAGE_CREATE_ALIAS_BIT,
-    eSplitInstanceBindRegions          = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
-    e2DArrayCompatible                 = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
-    eBlockTexelViewCompatible          = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
-    eExtendedUsage                     = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
-    eProtected                         = VK_IMAGE_CREATE_PROTECTED_BIT,
-    eDisjoint                          = VK_IMAGE_CREATE_DISJOINT_BIT,
-    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,
-    eCompactFUCHSIA                    = VK_IMAGE_CREATE_COMPACT_BIT_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
-  };
+  VkResult vkBindAccelerationStructureMemoryNV(
+      VkDevice device, uint32_t bindInfoCount,
+      const VkBindAccelerationStructureMemoryInfoNV *pBindInfos) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkBindAccelerationStructureMemoryNV(device, bindInfoCount,
+                                                 pBindInfos);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case ImageCreateFlagBits::eSparseBinding: return "SparseBinding";
-      case ImageCreateFlagBits::eSparseResidency: return "SparseResidency";
-      case ImageCreateFlagBits::eSparseAliased: return "SparseAliased";
-      case ImageCreateFlagBits::eMutableFormat: return "MutableFormat";
-      case ImageCreateFlagBits::eCubeCompatible: return "CubeCompatible";
-      case ImageCreateFlagBits::eAlias: return "Alias";
-      case ImageCreateFlagBits::eSplitInstanceBindRegions: return "SplitInstanceBindRegions";
-      case ImageCreateFlagBits::e2DArrayCompatible: return "2DArrayCompatible";
-      case ImageCreateFlagBits::eBlockTexelViewCompatible: return "BlockTexelViewCompatible";
-      case ImageCreateFlagBits::eExtendedUsage: return "ExtendedUsage";
-      case ImageCreateFlagBits::eProtected: return "Protected";
-      case ImageCreateFlagBits::eDisjoint: return "Disjoint";
-      case ImageCreateFlagBits::eCornerSampledNV: return "CornerSampledNV";
-      case ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT: return "SampleLocationsCompatibleDepthEXT";
-      case ImageCreateFlagBits::eSubsampledEXT: return "SubsampledEXT";
-      case ImageCreateFlagBits::eCompactFUCHSIA: return "CompactFUCHSIA";
-      default: return "invalid";
-    }
+  VkResult
+  vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory,
+                     VkDeviceSize memoryOffset) const VULKAN_HPP_NOEXCEPT {
+    return ::vkBindBufferMemory(device, buffer, memory, memoryOffset);
   }
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  enum class ImageFormatConstraintsFlagBitsFUCHSIA : VkImageFormatConstraintsFlagsFUCHSIA
-  {
-  };
+  VkResult vkBindBufferMemory2(VkDevice device, uint32_t bindInfoCount,
+                               const VkBindBufferMemoryInfo *pBindInfos) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkBindBufferMemory2(device, bindInfoCount, pBindInfos);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageFormatConstraintsFlagBitsFUCHSIA )
-  {
-    return "(void)";
+  VkResult vkBindBufferMemory2KHR(
+      VkDevice device, uint32_t bindInfoCount,
+      const VkBindBufferMemoryInfo *pBindInfos) const VULKAN_HPP_NOEXCEPT {
+    return ::vkBindBufferMemory2KHR(device, bindInfoCount, pBindInfos);
   }
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  enum class ImageLayout
-  {
-    eUndefined                                = VK_IMAGE_LAYOUT_UNDEFINED,
-    eGeneral                                  = VK_IMAGE_LAYOUT_GENERAL,
-    eColorAttachmentOptimal                   = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
-    eDepthStencilAttachmentOptimal            = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
-    eDepthStencilReadOnlyOptimal              = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
-    eShaderReadOnlyOptimal                    = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
-    eTransferSrcOptimal                       = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
-    eTransferDstOptimal                       = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
-    ePreinitialized                           = VK_IMAGE_LAYOUT_PREINITIALIZED,
-    eDepthReadOnlyStencilAttachmentOptimal    = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
-    eDepthAttachmentStencilReadOnlyOptimal    = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-    eDepthAttachmentOptimal                   = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-    eDepthReadOnlyOptimal                     = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-    eStencilAttachmentOptimal                 = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
-    eStencilReadOnlyOptimal                   = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
-    ePresentSrcKHR                            = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
-    eSharedPresentKHR                         = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-    eShadingRateOptimalNV                     = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
-    eFragmentDensityMapOptimalEXT             = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
-    eDepthAttachmentOptimalKHR                = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR,
-    eDepthAttachmentStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR,
-    eDepthReadOnlyOptimalKHR                  = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR,
-    eDepthReadOnlyStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,
-    eStencilAttachmentOptimalKHR              = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR,
-    eStencilReadOnlyOptimalKHR                = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR
-  };
+  VkResult
+  vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory,
+                    VkDeviceSize memoryOffset) const VULKAN_HPP_NOEXCEPT {
+    return ::vkBindImageMemory(device, image, memory, memoryOffset);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageLayout value )
-  {
-    switch ( value )
-    {
-      case ImageLayout::eUndefined: return "Undefined";
-      case ImageLayout::eGeneral: return "General";
-      case ImageLayout::eColorAttachmentOptimal: return "ColorAttachmentOptimal";
-      case ImageLayout::eDepthStencilAttachmentOptimal: return "DepthStencilAttachmentOptimal";
-      case ImageLayout::eDepthStencilReadOnlyOptimal: return "DepthStencilReadOnlyOptimal";
-      case ImageLayout::eShaderReadOnlyOptimal: return "ShaderReadOnlyOptimal";
-      case ImageLayout::eTransferSrcOptimal: return "TransferSrcOptimal";
-      case ImageLayout::eTransferDstOptimal: return "TransferDstOptimal";
-      case ImageLayout::ePreinitialized: return "Preinitialized";
-      case ImageLayout::eDepthReadOnlyStencilAttachmentOptimal: return "DepthReadOnlyStencilAttachmentOptimal";
-      case ImageLayout::eDepthAttachmentStencilReadOnlyOptimal: return "DepthAttachmentStencilReadOnlyOptimal";
-      case ImageLayout::eDepthAttachmentOptimal: return "DepthAttachmentOptimal";
-      case ImageLayout::eDepthReadOnlyOptimal: return "DepthReadOnlyOptimal";
-      case ImageLayout::eStencilAttachmentOptimal: return "StencilAttachmentOptimal";
-      case ImageLayout::eStencilReadOnlyOptimal: return "StencilReadOnlyOptimal";
-      case ImageLayout::ePresentSrcKHR: return "PresentSrcKHR";
-      case ImageLayout::eSharedPresentKHR: return "SharedPresentKHR";
-      case ImageLayout::eShadingRateOptimalNV: return "ShadingRateOptimalNV";
-      case ImageLayout::eFragmentDensityMapOptimalEXT: return "FragmentDensityMapOptimalEXT";
-      default: return "invalid";
-    }
+  VkResult vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount,
+                              const VkBindImageMemoryInfo *pBindInfos) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkBindImageMemory2(device, bindInfoCount, pBindInfos);
   }
 
-  enum class ImageTiling
-  {
-    eOptimal              = VK_IMAGE_TILING_OPTIMAL,
-    eLinear               = VK_IMAGE_TILING_LINEAR,
-    eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
-  };
+  VkResult vkBindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount,
+                                 const VkBindImageMemoryInfo *pBindInfos) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkBindImageMemory2KHR(device, bindInfoCount, pBindInfos);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageTiling value )
-  {
-    switch ( value )
-    {
-      case ImageTiling::eOptimal: return "Optimal";
-      case ImageTiling::eLinear: return "Linear";
-      case ImageTiling::eDrmFormatModifierEXT: return "DrmFormatModifierEXT";
-      default: return "invalid";
-    }
+  VkResult vkBuildAccelerationStructuresKHR(
+      VkDevice device, VkDeferredOperationKHR deferredOperation,
+      uint32_t infoCount,
+      const VkAccelerationStructureBuildGeometryInfoKHR *pInfos,
+      const VkAccelerationStructureBuildRangeInfoKHR *const *ppBuildRangeInfos)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkBuildAccelerationStructuresKHR(
+        device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos);
   }
 
-  enum class ImageType
-  {
-    e1D = VK_IMAGE_TYPE_1D,
-    e2D = VK_IMAGE_TYPE_2D,
-    e3D = VK_IMAGE_TYPE_3D
-  };
+  void vkCmdBeginConditionalRenderingEXT(
+      VkCommandBuffer commandBuffer,
+      const VkConditionalRenderingBeginInfoEXT *pConditionalRenderingBegin)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginConditionalRenderingEXT(commandBuffer,
+                                               pConditionalRenderingBegin);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageType value )
-  {
-    switch ( value )
-    {
-      case ImageType::e1D: return "1D";
-      case ImageType::e2D: return "2D";
-      case ImageType::e3D: return "3D";
-      default: return "invalid";
-    }
+  void vkCmdBeginDebugUtilsLabelEXT(
+      VkCommandBuffer commandBuffer,
+      const VkDebugUtilsLabelEXT *pLabelInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
   }
 
-  enum class ImageUsageFlagBits : VkImageUsageFlags
-  {
-    eTransferSrc            = VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
-    eTransferDst            = VK_IMAGE_USAGE_TRANSFER_DST_BIT,
-    eSampled                = VK_IMAGE_USAGE_SAMPLED_BIT,
-    eStorage                = VK_IMAGE_USAGE_STORAGE_BIT,
-    eColorAttachment        = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-    eDepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-    eTransientAttachment    = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
-    eInputAttachment        = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
-    eShadingRateImageNV     = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
-    eFragmentDensityMapEXT  = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
-  };
+  void vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool,
+                       uint32_t query,
+                       VkQueryControlFlags flags) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageUsageFlagBits value )
-  {
-    switch ( value )
-    {
-      case ImageUsageFlagBits::eTransferSrc: return "TransferSrc";
-      case ImageUsageFlagBits::eTransferDst: return "TransferDst";
-      case ImageUsageFlagBits::eSampled: return "Sampled";
-      case ImageUsageFlagBits::eStorage: return "Storage";
-      case ImageUsageFlagBits::eColorAttachment: return "ColorAttachment";
-      case ImageUsageFlagBits::eDepthStencilAttachment: return "DepthStencilAttachment";
-      case ImageUsageFlagBits::eTransientAttachment: return "TransientAttachment";
-      case ImageUsageFlagBits::eInputAttachment: return "InputAttachment";
-      case ImageUsageFlagBits::eShadingRateImageNV: return "ShadingRateImageNV";
-      case ImageUsageFlagBits::eFragmentDensityMapEXT: return "FragmentDensityMapEXT";
-      default: return "invalid";
-    }
+  void vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,
+                                 VkQueryPool queryPool, uint32_t query,
+                                 VkQueryControlFlags flags,
+                                 uint32_t index) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags,
+                                       index);
   }
 
-  enum class ImageViewCreateFlagBits : VkImageViewCreateFlags
-  {
-    eFragmentDensityMapDynamicEXT  = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
-    eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
-  };
+  void
+  vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,
+                       const VkRenderPassBeginInfo *pRenderPassBegin,
+                       VkSubpassContents contents) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageViewCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT: return "FragmentDensityMapDynamicEXT";
-      case ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT: return "FragmentDensityMapDeferredEXT";
-      default: return "invalid";
-    }
+  void vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer,
+                             const VkRenderPassBeginInfo *pRenderPassBegin,
+                             const VkSubpassBeginInfo *pSubpassBeginInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginRenderPass2(commandBuffer, pRenderPassBegin,
+                                   pSubpassBeginInfo);
   }
 
-  enum class ImageViewType
-  {
-    e1D        = VK_IMAGE_VIEW_TYPE_1D,
-    e2D        = VK_IMAGE_VIEW_TYPE_2D,
-    e3D        = VK_IMAGE_VIEW_TYPE_3D,
-    eCube      = VK_IMAGE_VIEW_TYPE_CUBE,
-    e1DArray   = VK_IMAGE_VIEW_TYPE_1D_ARRAY,
-    e2DArray   = VK_IMAGE_VIEW_TYPE_2D_ARRAY,
-    eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
-  };
+  void vkCmdBeginRenderPass2KHR(
+      VkCommandBuffer commandBuffer,
+      const VkRenderPassBeginInfo *pRenderPassBegin,
+      const VkSubpassBeginInfo *pSubpassBeginInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginRenderPass2KHR(commandBuffer, pRenderPassBegin,
+                                      pSubpassBeginInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ImageViewType value )
-  {
-    switch ( value )
-    {
-      case ImageViewType::e1D: return "1D";
-      case ImageViewType::e2D: return "2D";
-      case ImageViewType::e3D: return "3D";
-      case ImageViewType::eCube: return "Cube";
-      case ImageViewType::e1DArray: return "1DArray";
-      case ImageViewType::e2DArray: return "2DArray";
-      case ImageViewType::eCubeArray: return "CubeArray";
-      default: return "invalid";
-    }
+  void vkCmdBeginTransformFeedbackEXT(
+      VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer,
+      uint32_t counterBufferCount, const VkBuffer *pCounterBuffers,
+      const VkDeviceSize *pCounterBufferOffsets) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer,
+                                            counterBufferCount, pCounterBuffers,
+                                            pCounterBufferOffsets);
   }
 
-  enum class IndexType
-  {
-    eUint16   = VK_INDEX_TYPE_UINT16,
-    eUint32   = VK_INDEX_TYPE_UINT32,
-    eNoneKHR  = VK_INDEX_TYPE_NONE_KHR,
-    eUint8EXT = VK_INDEX_TYPE_UINT8_EXT,
-    eNoneNV   = VK_INDEX_TYPE_NONE_NV
-  };
+  void vkCmdBindDescriptorSets(
+      VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint,
+      VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount,
+      const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount,
+      const uint32_t *pDynamicOffsets) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindDescriptorSets(
+        commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount,
+        pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( IndexType value )
-  {
-    switch ( value )
-    {
-      case IndexType::eUint16: return "Uint16";
-      case IndexType::eUint32: return "Uint32";
-      case IndexType::eNoneKHR: return "NoneKHR";
-      case IndexType::eUint8EXT: return "Uint8EXT";
-      default: return "invalid";
-    }
+  void vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                            VkDeviceSize offset,
+                            VkIndexType indexType) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
   }
 
-  enum class IndirectCommandsLayoutUsageFlagBitsNV : VkIndirectCommandsLayoutUsageFlagsNV
-  {
-    eExplicitPreprocess = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV,
-    eIndexedSequences   = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV,
-    eUnorderedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV
-  };
+  void vkCmdBindPipeline(VkCommandBuffer commandBuffer,
+                         VkPipelineBindPoint pipelineBindPoint,
+                         VkPipeline pipeline) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( IndirectCommandsLayoutUsageFlagBitsNV value )
-  {
-    switch ( value )
-    {
-      case IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess: return "ExplicitPreprocess";
-      case IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences: return "IndexedSequences";
-      case IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences: return "UnorderedSequences";
-      default: return "invalid";
-    }
+  void vkCmdBindPipelineShaderGroupNV(
+      VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint,
+      VkPipeline pipeline, uint32_t groupIndex) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindPipelineShaderGroupNV(commandBuffer, pipelineBindPoint,
+                                            pipeline, groupIndex);
   }
 
-  enum class IndirectCommandsTokenTypeNV
-  {
-    eShaderGroup  = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV,
-    eStateFlags   = VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,
-    eIndexBuffer  = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV,
-    eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,
-    ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
-    eDrawIndexed  = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV,
-    eDraw         = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV,
-    eDrawTasks    = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV
-  };
+  void vkCmdBindShadingRateImageNV(
+      VkCommandBuffer commandBuffer, VkImageView imageView,
+      VkImageLayout imageLayout) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindShadingRateImageNV(commandBuffer, imageView, imageLayout);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( IndirectCommandsTokenTypeNV value )
-  {
-    switch ( value )
-    {
-      case IndirectCommandsTokenTypeNV::eShaderGroup: return "ShaderGroup";
-      case IndirectCommandsTokenTypeNV::eStateFlags: return "StateFlags";
-      case IndirectCommandsTokenTypeNV::eIndexBuffer: return "IndexBuffer";
-      case IndirectCommandsTokenTypeNV::eVertexBuffer: return "VertexBuffer";
-      case IndirectCommandsTokenTypeNV::ePushConstant: return "PushConstant";
-      case IndirectCommandsTokenTypeNV::eDrawIndexed: return "DrawIndexed";
-      case IndirectCommandsTokenTypeNV::eDraw: return "Draw";
-      case IndirectCommandsTokenTypeNV::eDrawTasks: return "DrawTasks";
-      default: return "invalid";
-    }
+  void vkCmdBindTransformFeedbackBuffersEXT(
+      VkCommandBuffer commandBuffer, uint32_t firstBinding,
+      uint32_t bindingCount, const VkBuffer *pBuffers,
+      const VkDeviceSize *pOffsets,
+      const VkDeviceSize *pSizes) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindTransformFeedbackBuffersEXT(
+        commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
   }
 
-  enum class IndirectStateFlagBitsNV : VkIndirectStateFlagsNV
-  {
-    eFlagFrontface = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV
-  };
+  void vkCmdBindVertexBuffers(
+      VkCommandBuffer commandBuffer, uint32_t firstBinding,
+      uint32_t bindingCount, const VkBuffer *pBuffers,
+      const VkDeviceSize *pOffsets) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount,
+                                    pBuffers, pOffsets);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( IndirectStateFlagBitsNV value )
-  {
-    switch ( value )
-    {
-      case IndirectStateFlagBitsNV::eFlagFrontface: return "FlagFrontface";
-      default: return "invalid";
-    }
+  void vkCmdBindVertexBuffers2EXT(
+      VkCommandBuffer commandBuffer, uint32_t firstBinding,
+      uint32_t bindingCount, const VkBuffer *pBuffers,
+      const VkDeviceSize *pOffsets, const VkDeviceSize *pSizes,
+      const VkDeviceSize *pStrides) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBindVertexBuffers2EXT(commandBuffer, firstBinding,
+                                        bindingCount, pBuffers, pOffsets,
+                                        pSizes, pStrides);
   }
 
-  enum class InstanceCreateFlagBits
-  {
-  };
+  void vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage,
+                      VkImageLayout srcImageLayout, VkImage dstImage,
+                      VkImageLayout dstImageLayout, uint32_t regionCount,
+                      const VkImageBlit *pRegions,
+                      VkFilter filter) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage,
+                            dstImageLayout, regionCount, pRegions, filter);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( InstanceCreateFlagBits )
-  {
-    return "(void)";
+  void vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,
+                          const VkBlitImageInfo2KHR *pBlitImageInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo);
   }
 
-  enum class InternalAllocationType
-  {
-    eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE
-  };
+  void vkCmdBuildAccelerationStructureNV(
+      VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV *pInfo,
+      VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update,
+      VkAccelerationStructureNV dst, VkAccelerationStructureNV src,
+      VkBuffer scratch, VkDeviceSize scratchOffset) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBuildAccelerationStructureNV(
+        commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src,
+        scratch, scratchOffset);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( InternalAllocationType value )
-  {
-    switch ( value )
-    {
-      case InternalAllocationType::eExecutable: return "Executable";
-      default: return "invalid";
-    }
+  void vkCmdBuildAccelerationStructuresIndirectKHR(
+      VkCommandBuffer commandBuffer, uint32_t infoCount,
+      const VkAccelerationStructureBuildGeometryInfoKHR *pInfos,
+      const VkDeviceAddress *pIndirectDeviceAddresses,
+      const uint32_t *pIndirectStrides,
+      const uint32_t *const *ppMaxPrimitiveCounts) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBuildAccelerationStructuresIndirectKHR(
+        commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses,
+        pIndirectStrides, ppMaxPrimitiveCounts);
   }
 
-  enum class LineRasterizationModeEXT
-  {
-    eDefault           = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
-    eRectangular       = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT,
-    eBresenham         = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT,
-    eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
-  };
+  void vkCmdBuildAccelerationStructuresKHR(
+      VkCommandBuffer commandBuffer, uint32_t infoCount,
+      const VkAccelerationStructureBuildGeometryInfoKHR *pInfos,
+      const VkAccelerationStructureBuildRangeInfoKHR *const *ppBuildRangeInfos)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdBuildAccelerationStructuresKHR(commandBuffer, infoCount,
+                                                 pInfos, ppBuildRangeInfos);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( LineRasterizationModeEXT value )
-  {
-    switch ( value )
-    {
-      case LineRasterizationModeEXT::eDefault: return "Default";
-      case LineRasterizationModeEXT::eRectangular: return "Rectangular";
-      case LineRasterizationModeEXT::eBresenham: return "Bresenham";
-      case LineRasterizationModeEXT::eRectangularSmooth: return "RectangularSmooth";
-      default: return "invalid";
-    }
+  void
+  vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount,
+                        const VkClearAttachment *pAttachments,
+                        uint32_t rectCount,
+                        const VkClearRect *pRects) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments,
+                                   rectCount, pRects);
   }
 
-  enum class LogicOp
-  {
-    eClear        = VK_LOGIC_OP_CLEAR,
-    eAnd          = VK_LOGIC_OP_AND,
-    eAndReverse   = VK_LOGIC_OP_AND_REVERSE,
-    eCopy         = VK_LOGIC_OP_COPY,
-    eAndInverted  = VK_LOGIC_OP_AND_INVERTED,
-    eNoOp         = VK_LOGIC_OP_NO_OP,
-    eXor          = VK_LOGIC_OP_XOR,
-    eOr           = VK_LOGIC_OP_OR,
-    eNor          = VK_LOGIC_OP_NOR,
-    eEquivalent   = VK_LOGIC_OP_EQUIVALENT,
-    eInvert       = VK_LOGIC_OP_INVERT,
-    eOrReverse    = VK_LOGIC_OP_OR_REVERSE,
-    eCopyInverted = VK_LOGIC_OP_COPY_INVERTED,
-    eOrInverted   = VK_LOGIC_OP_OR_INVERTED,
-    eNand         = VK_LOGIC_OP_NAND,
-    eSet          = VK_LOGIC_OP_SET
-  };
+  void vkCmdClearColorImage(
+      VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout,
+      const VkClearColorValue *pColor, uint32_t rangeCount,
+      const VkImageSubresourceRange *pRanges) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor,
+                                  rangeCount, pRanges);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( LogicOp value )
-  {
-    switch ( value )
-    {
-      case LogicOp::eClear: return "Clear";
-      case LogicOp::eAnd: return "And";
-      case LogicOp::eAndReverse: return "AndReverse";
-      case LogicOp::eCopy: return "Copy";
-      case LogicOp::eAndInverted: return "AndInverted";
-      case LogicOp::eNoOp: return "NoOp";
-      case LogicOp::eXor: return "Xor";
-      case LogicOp::eOr: return "Or";
-      case LogicOp::eNor: return "Nor";
-      case LogicOp::eEquivalent: return "Equivalent";
-      case LogicOp::eInvert: return "Invert";
-      case LogicOp::eOrReverse: return "OrReverse";
-      case LogicOp::eCopyInverted: return "CopyInverted";
-      case LogicOp::eOrInverted: return "OrInverted";
-      case LogicOp::eNand: return "Nand";
-      case LogicOp::eSet: return "Set";
-      default: return "invalid";
-    }
+  void vkCmdClearDepthStencilImage(
+      VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout,
+      const VkClearDepthStencilValue *pDepthStencil, uint32_t rangeCount,
+      const VkImageSubresourceRange *pRanges) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout,
+                                         pDepthStencil, rangeCount, pRanges);
   }
 
-  enum class MemoryAllocateFlagBits : VkMemoryAllocateFlags
-  {
-    eDeviceMask                 = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
-    eDeviceAddress              = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
-    eDeviceAddressCaptureReplay = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
-  };
-  using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
+  void vkCmdCopyAccelerationStructureKHR(
+      VkCommandBuffer commandBuffer,
+      const VkCopyAccelerationStructureInfoKHR *pInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyAccelerationStructureKHR(commandBuffer, pInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( MemoryAllocateFlagBits value )
-  {
-    switch ( value )
-    {
-      case MemoryAllocateFlagBits::eDeviceMask: return "DeviceMask";
-      case MemoryAllocateFlagBits::eDeviceAddress: return "DeviceAddress";
-      case MemoryAllocateFlagBits::eDeviceAddressCaptureReplay: return "DeviceAddressCaptureReplay";
-      default: return "invalid";
-    }
+  void vkCmdCopyAccelerationStructureNV(
+      VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst,
+      VkAccelerationStructureNV src,
+      VkCopyAccelerationStructureModeKHR mode) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyAccelerationStructureNV(commandBuffer, dst, src, mode);
   }
 
-  enum class MemoryHeapFlagBits : VkMemoryHeapFlags
-  {
-    eDeviceLocal      = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
-    eMultiInstance    = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
-    eMultiInstanceKHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR
-  };
+  void vkCmdCopyAccelerationStructureToMemoryKHR(
+      VkCommandBuffer commandBuffer,
+      const VkCopyAccelerationStructureToMemoryInfoKHR *pInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyAccelerationStructureToMemoryKHR(commandBuffer, pInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( MemoryHeapFlagBits value )
-  {
-    switch ( value )
-    {
-      case MemoryHeapFlagBits::eDeviceLocal: return "DeviceLocal";
-      case MemoryHeapFlagBits::eMultiInstance: return "MultiInstance";
-      default: return "invalid";
-    }
+  void vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer,
+                       VkBuffer dstBuffer, uint32_t regionCount,
+                       const VkBufferCopy *pRegions) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount,
+                             pRegions);
   }
 
-  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
-  };
+  void vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,
+                           const VkCopyBufferInfo2KHR *pCopyBufferInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo);
+  }
 
-  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";
-    }
+  void vkCmdCopyBufferToImage(
+      VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage,
+      VkImageLayout dstImageLayout, uint32_t regionCount,
+      const VkBufferImageCopy *pRegions) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage,
+                                    dstImageLayout, regionCount, pRegions);
   }
 
-  enum class MemoryOverallocationBehaviorAMD
-  {
-    eDefault    = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
-    eAllowed    = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD,
-    eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD
-  };
+  void vkCmdCopyBufferToImage2KHR(
+      VkCommandBuffer commandBuffer,
+      const VkCopyBufferToImageInfo2KHR *pCopyBufferToImageInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( MemoryOverallocationBehaviorAMD value )
-  {
-    switch ( value )
-    {
-      case MemoryOverallocationBehaviorAMD::eDefault: return "Default";
-      case MemoryOverallocationBehaviorAMD::eAllowed: return "Allowed";
-      case MemoryOverallocationBehaviorAMD::eDisallowed: return "Disallowed";
-      default: return "invalid";
-    }
+  void vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage,
+                      VkImageLayout srcImageLayout, VkImage dstImage,
+                      VkImageLayout dstImageLayout, uint32_t regionCount,
+                      const VkImageCopy *pRegions) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage,
+                            dstImageLayout, regionCount, pRegions);
   }
 
-  enum class MemoryPropertyFlagBits : VkMemoryPropertyFlags
-  {
-    eDeviceLocal       = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
-    eHostVisible       = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
-    eHostCoherent      = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
-    eHostCached        = VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
-    eLazilyAllocated   = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT,
-    eProtected         = VK_MEMORY_PROPERTY_PROTECTED_BIT,
-    eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD,
-    eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
-  };
+  void vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,
+                          const VkCopyImageInfo2KHR *pCopyImageInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( MemoryPropertyFlagBits value )
-  {
-    switch ( value )
-    {
-      case MemoryPropertyFlagBits::eDeviceLocal: return "DeviceLocal";
-      case MemoryPropertyFlagBits::eHostVisible: return "HostVisible";
-      case MemoryPropertyFlagBits::eHostCoherent: return "HostCoherent";
-      case MemoryPropertyFlagBits::eHostCached: return "HostCached";
-      case MemoryPropertyFlagBits::eLazilyAllocated: return "LazilyAllocated";
-      case MemoryPropertyFlagBits::eProtected: return "Protected";
-      case MemoryPropertyFlagBits::eDeviceCoherentAMD: return "DeviceCoherentAMD";
-      case MemoryPropertyFlagBits::eDeviceUncachedAMD: return "DeviceUncachedAMD";
-      default: return "invalid";
-    }
+  void vkCmdCopyImageToBuffer(
+      VkCommandBuffer commandBuffer, VkImage srcImage,
+      VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount,
+      const VkBufferImageCopy *pRegions) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout,
+                                    dstBuffer, regionCount, pRegions);
   }
 
-  enum class ObjectType
-  {
-    eUnknown                       = VK_OBJECT_TYPE_UNKNOWN,
-    eInstance                      = VK_OBJECT_TYPE_INSTANCE,
-    ePhysicalDevice                = VK_OBJECT_TYPE_PHYSICAL_DEVICE,
-    eDevice                        = VK_OBJECT_TYPE_DEVICE,
-    eQueue                         = VK_OBJECT_TYPE_QUEUE,
-    eSemaphore                     = VK_OBJECT_TYPE_SEMAPHORE,
-    eCommandBuffer                 = VK_OBJECT_TYPE_COMMAND_BUFFER,
-    eFence                         = VK_OBJECT_TYPE_FENCE,
-    eDeviceMemory                  = VK_OBJECT_TYPE_DEVICE_MEMORY,
-    eBuffer                        = VK_OBJECT_TYPE_BUFFER,
-    eImage                         = VK_OBJECT_TYPE_IMAGE,
-    eEvent                         = VK_OBJECT_TYPE_EVENT,
-    eQueryPool                     = VK_OBJECT_TYPE_QUERY_POOL,
-    eBufferView                    = VK_OBJECT_TYPE_BUFFER_VIEW,
-    eImageView                     = VK_OBJECT_TYPE_IMAGE_VIEW,
-    eShaderModule                  = VK_OBJECT_TYPE_SHADER_MODULE,
-    ePipelineCache                 = VK_OBJECT_TYPE_PIPELINE_CACHE,
-    ePipelineLayout                = VK_OBJECT_TYPE_PIPELINE_LAYOUT,
-    eRenderPass                    = VK_OBJECT_TYPE_RENDER_PASS,
-    ePipeline                      = VK_OBJECT_TYPE_PIPELINE,
-    eDescriptorSetLayout           = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
-    eSampler                       = VK_OBJECT_TYPE_SAMPLER,
-    eDescriptorPool                = VK_OBJECT_TYPE_DESCRIPTOR_POOL,
-    eDescriptorSet                 = VK_OBJECT_TYPE_DESCRIPTOR_SET,
-    eFramebuffer                   = VK_OBJECT_TYPE_FRAMEBUFFER,
-    eCommandPool                   = VK_OBJECT_TYPE_COMMAND_POOL,
-    eSamplerYcbcrConversion        = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
-    eDescriptorUpdateTemplate      = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
-    eSurfaceKHR                    = VK_OBJECT_TYPE_SURFACE_KHR,
-    eSwapchainKHR                  = VK_OBJECT_TYPE_SWAPCHAIN_KHR,
-    eDisplayKHR                    = VK_OBJECT_TYPE_DISPLAY_KHR,
-    eDisplayModeKHR                = VK_OBJECT_TYPE_DISPLAY_MODE_KHR,
-    eDebugReportCallbackEXT        = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
-    eDebugUtilsMessengerEXT        = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
-    eAccelerationStructureKHR      = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
-    eValidationCacheEXT            = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT,
-    ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL,
-    eDeferredOperationKHR          = VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR,
-    eIndirectCommandsLayoutNV      = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
-    ePrivateDataSlotEXT            = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
-    eBufferCollectionFUCHSIA       = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
-    eAccelerationStructureNV       = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV,
-    eDescriptorUpdateTemplateKHR   = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
-    eSamplerYcbcrConversionKHR     = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR
-  };
+  void vkCmdCopyImageToBuffer2KHR(
+      VkCommandBuffer commandBuffer,
+      const VkCopyImageToBufferInfo2KHR *pCopyImageToBufferInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( ObjectType value )
-  {
-    switch ( value )
-    {
-      case ObjectType::eUnknown: return "Unknown";
-      case ObjectType::eInstance: return "Instance";
-      case ObjectType::ePhysicalDevice: return "PhysicalDevice";
-      case ObjectType::eDevice: return "Device";
-      case ObjectType::eQueue: return "Queue";
-      case ObjectType::eSemaphore: return "Semaphore";
-      case ObjectType::eCommandBuffer: return "CommandBuffer";
-      case ObjectType::eFence: return "Fence";
-      case ObjectType::eDeviceMemory: return "DeviceMemory";
-      case ObjectType::eBuffer: return "Buffer";
-      case ObjectType::eImage: return "Image";
-      case ObjectType::eEvent: return "Event";
-      case ObjectType::eQueryPool: return "QueryPool";
-      case ObjectType::eBufferView: return "BufferView";
-      case ObjectType::eImageView: return "ImageView";
-      case ObjectType::eShaderModule: return "ShaderModule";
-      case ObjectType::ePipelineCache: return "PipelineCache";
-      case ObjectType::ePipelineLayout: return "PipelineLayout";
-      case ObjectType::eRenderPass: return "RenderPass";
-      case ObjectType::ePipeline: return "Pipeline";
-      case ObjectType::eDescriptorSetLayout: return "DescriptorSetLayout";
-      case ObjectType::eSampler: return "Sampler";
-      case ObjectType::eDescriptorPool: return "DescriptorPool";
-      case ObjectType::eDescriptorSet: return "DescriptorSet";
-      case ObjectType::eFramebuffer: return "Framebuffer";
-      case ObjectType::eCommandPool: return "CommandPool";
-      case ObjectType::eSamplerYcbcrConversion: return "SamplerYcbcrConversion";
-      case ObjectType::eDescriptorUpdateTemplate: return "DescriptorUpdateTemplate";
-      case ObjectType::eSurfaceKHR: return "SurfaceKHR";
-      case ObjectType::eSwapchainKHR: return "SwapchainKHR";
-      case ObjectType::eDisplayKHR: return "DisplayKHR";
-      case ObjectType::eDisplayModeKHR: return "DisplayModeKHR";
-      case ObjectType::eDebugReportCallbackEXT: return "DebugReportCallbackEXT";
-      case ObjectType::eDebugUtilsMessengerEXT: return "DebugUtilsMessengerEXT";
-      case ObjectType::eAccelerationStructureKHR: return "AccelerationStructureKHR";
-      case ObjectType::eValidationCacheEXT: return "ValidationCacheEXT";
-      case ObjectType::ePerformanceConfigurationINTEL: return "PerformanceConfigurationINTEL";
-      case ObjectType::eDeferredOperationKHR: return "DeferredOperationKHR";
-      case ObjectType::eIndirectCommandsLayoutNV: return "IndirectCommandsLayoutNV";
-      case ObjectType::ePrivateDataSlotEXT: return "PrivateDataSlotEXT";
-      case ObjectType::eBufferCollectionFUCHSIA: return "BufferCollectionFUCHSIA";
-      default: return "invalid";
-    }
+  void vkCmdCopyMemoryToAccelerationStructureKHR(
+      VkCommandBuffer commandBuffer,
+      const VkCopyMemoryToAccelerationStructureInfoKHR *pInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyMemoryToAccelerationStructureKHR(commandBuffer, pInfo);
   }
 
-  template <ObjectType value>
-  struct cpp_type
-  {};
+  void vkCmdCopyQueryPoolResults(
+      VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery,
+      uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset,
+      VkDeviceSize stride, VkQueryResultFlags flags) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery,
+                                       queryCount, dstBuffer, dstOffset, stride,
+                                       flags);
+  }
 
-  enum class PeerMemoryFeatureFlagBits : VkPeerMemoryFeatureFlags
-  {
-    eCopySrc    = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
-    eCopyDst    = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
-    eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
-    eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
-  };
-  using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
+  void vkCmdDebugMarkerBeginEXT(
+      VkCommandBuffer commandBuffer,
+      const VkDebugMarkerMarkerInfoEXT *pMarkerInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDebugMarkerBeginEXT(commandBuffer, pMarkerInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PeerMemoryFeatureFlagBits value )
-  {
-    switch ( value )
-    {
-      case PeerMemoryFeatureFlagBits::eCopySrc: return "CopySrc";
-      case PeerMemoryFeatureFlagBits::eCopyDst: return "CopyDst";
-      case PeerMemoryFeatureFlagBits::eGenericSrc: return "GenericSrc";
-      case PeerMemoryFeatureFlagBits::eGenericDst: return "GenericDst";
-      default: return "invalid";
-    }
+  void vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDebugMarkerEndEXT(commandBuffer);
   }
 
-  enum class PerformanceConfigurationTypeINTEL
-  {
-    eCommandQueueMetricsDiscoveryActivated =
-      VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
-  };
+  void vkCmdDebugMarkerInsertEXT(
+      VkCommandBuffer commandBuffer,
+      const VkDebugMarkerMarkerInfoEXT *pMarkerInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDebugMarkerInsertEXT(commandBuffer, pMarkerInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceConfigurationTypeINTEL value )
-  {
-    switch ( value )
-    {
-      case PerformanceConfigurationTypeINTEL::eCommandQueueMetricsDiscoveryActivated:
-        return "CommandQueueMetricsDiscoveryActivated";
-      default: return "invalid";
-    }
+  void vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX,
+                     uint32_t groupCountY,
+                     uint32_t groupCountZ) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDispatch(commandBuffer, groupCountX, groupCountY,
+                           groupCountZ);
   }
 
-  enum class PerformanceCounterDescriptionFlagBitsKHR : VkPerformanceCounterDescriptionFlagsKHR
-  {
-    ePerformanceImpacting = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR,
-    eConcurrentlyImpacted = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR
-  };
+  void vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX,
+                         uint32_t baseGroupY, uint32_t baseGroupZ,
+                         uint32_t groupCountX, uint32_t groupCountY,
+                         uint32_t groupCountZ) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY,
+                               baseGroupZ, groupCountX, groupCountY,
+                               groupCountZ);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceCounterDescriptionFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting: return "PerformanceImpacting";
-      case PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted: return "ConcurrentlyImpacted";
-      default: return "invalid";
-    }
+  void vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer, uint32_t baseGroupX,
+                            uint32_t baseGroupY, uint32_t baseGroupZ,
+                            uint32_t groupCountX, uint32_t groupCountY,
+                            uint32_t groupCountZ) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY,
+                                  baseGroupZ, groupCountX, groupCountY,
+                                  groupCountZ);
   }
 
-  enum class PerformanceCounterScopeKHR
-  {
-    eCommandBuffer             = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
-    eRenderPass                = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
-    eCommand                   = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
-    eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
-    eVkQueryScopeCommand       = VK_QUERY_SCOPE_COMMAND_KHR,
-    eVkQueryScopeRenderPass    = VK_QUERY_SCOPE_RENDER_PASS_KHR
-  };
+  void vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                             VkDeviceSize offset) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDispatchIndirect(commandBuffer, buffer, offset);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceCounterScopeKHR value )
-  {
-    switch ( value )
-    {
-      case PerformanceCounterScopeKHR::eCommandBuffer: return "CommandBuffer";
-      case PerformanceCounterScopeKHR::eRenderPass: return "RenderPass";
-      case PerformanceCounterScopeKHR::eCommand: return "Command";
-      default: return "invalid";
-    }
+  void vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount,
+                 uint32_t instanceCount, uint32_t firstVertex,
+                 uint32_t firstInstance) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex,
+                       firstInstance);
   }
 
-  enum class PerformanceCounterStorageKHR
-  {
-    eInt32   = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
-    eInt64   = VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR,
-    eUint32  = VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR,
-    eUint64  = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR,
-    eFloat32 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR,
-    eFloat64 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR
-  };
+  void vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount,
+                        uint32_t instanceCount, uint32_t firstIndex,
+                        int32_t vertexOffset,
+                        uint32_t firstInstance) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount,
+                              firstIndex, vertexOffset, firstInstance);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceCounterStorageKHR value )
-  {
-    switch ( value )
-    {
-      case PerformanceCounterStorageKHR::eInt32: return "Int32";
-      case PerformanceCounterStorageKHR::eInt64: return "Int64";
-      case PerformanceCounterStorageKHR::eUint32: return "Uint32";
-      case PerformanceCounterStorageKHR::eUint64: return "Uint64";
-      case PerformanceCounterStorageKHR::eFloat32: return "Float32";
-      case PerformanceCounterStorageKHR::eFloat64: return "Float64";
-      default: return "invalid";
-    }
+  void vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                                VkDeviceSize offset, uint32_t drawCount,
+                                uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount,
+                                      stride);
   }
 
-  enum class PerformanceCounterUnitKHR
-  {
-    eGeneric        = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
-    ePercentage     = VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR,
-    eNanoseconds    = VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR,
-    eBytes          = VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR,
-    eBytesPerSecond = VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR,
-    eKelvin         = VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR,
-    eWatts          = VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR,
-    eVolts          = VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR,
-    eAmps           = VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR,
-    eHertz          = VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR,
-    eCycles         = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR
-  };
+  void vkCmdDrawIndexedIndirectCount(
+      VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset,
+      VkBuffer countBuffer, VkDeviceSize countBufferOffset,
+      uint32_t maxDrawCount, uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset,
+                                           countBuffer, countBufferOffset,
+                                           maxDrawCount, stride);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceCounterUnitKHR value )
-  {
-    switch ( value )
-    {
-      case PerformanceCounterUnitKHR::eGeneric: return "Generic";
-      case PerformanceCounterUnitKHR::ePercentage: return "Percentage";
-      case PerformanceCounterUnitKHR::eNanoseconds: return "Nanoseconds";
-      case PerformanceCounterUnitKHR::eBytes: return "Bytes";
-      case PerformanceCounterUnitKHR::eBytesPerSecond: return "BytesPerSecond";
-      case PerformanceCounterUnitKHR::eKelvin: return "Kelvin";
-      case PerformanceCounterUnitKHR::eWatts: return "Watts";
-      case PerformanceCounterUnitKHR::eVolts: return "Volts";
-      case PerformanceCounterUnitKHR::eAmps: return "Amps";
-      case PerformanceCounterUnitKHR::eHertz: return "Hertz";
-      case PerformanceCounterUnitKHR::eCycles: return "Cycles";
-      default: return "invalid";
-    }
+  void vkCmdDrawIndexedIndirectCountAMD(
+      VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset,
+      VkBuffer countBuffer, VkDeviceSize countBufferOffset,
+      uint32_t maxDrawCount, uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndexedIndirectCountAMD(commandBuffer, buffer, offset,
+                                              countBuffer, countBufferOffset,
+                                              maxDrawCount, stride);
   }
 
-  enum class PerformanceOverrideTypeINTEL
-  {
-    eNullHardware   = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
-    eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL
-  };
+  void vkCmdDrawIndexedIndirectCountKHR(
+      VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset,
+      VkBuffer countBuffer, VkDeviceSize countBufferOffset,
+      uint32_t maxDrawCount, uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndexedIndirectCountKHR(commandBuffer, buffer, offset,
+                                              countBuffer, countBufferOffset,
+                                              maxDrawCount, stride);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceOverrideTypeINTEL value )
-  {
-    switch ( value )
-    {
-      case PerformanceOverrideTypeINTEL::eNullHardware: return "NullHardware";
-      case PerformanceOverrideTypeINTEL::eFlushGpuCaches: return "FlushGpuCaches";
-      default: return "invalid";
-    }
+  void vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                         VkDeviceSize offset, uint32_t drawCount,
+                         uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount,
+                               stride);
   }
 
-  enum class PerformanceParameterTypeINTEL
-  {
-    eHwCountersSupported   = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
-    eStreamMarkerValidBits = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
-  };
+  void vkCmdDrawIndirectByteCountEXT(
+      VkCommandBuffer commandBuffer, uint32_t instanceCount,
+      uint32_t firstInstance, VkBuffer counterBuffer,
+      VkDeviceSize counterBufferOffset, uint32_t counterOffset,
+      uint32_t vertexStride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndirectByteCountEXT(
+        commandBuffer, instanceCount, firstInstance, counterBuffer,
+        counterBufferOffset, counterOffset, vertexStride);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceParameterTypeINTEL value )
-  {
-    switch ( value )
-    {
-      case PerformanceParameterTypeINTEL::eHwCountersSupported: return "HwCountersSupported";
-      case PerformanceParameterTypeINTEL::eStreamMarkerValidBits: return "StreamMarkerValidBits";
-      default: return "invalid";
-    }
+  void vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                              VkDeviceSize offset, VkBuffer countBuffer,
+                              VkDeviceSize countBufferOffset,
+                              uint32_t maxDrawCount,
+                              uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer,
+                                    countBufferOffset, maxDrawCount, stride);
   }
 
-  enum class PerformanceValueTypeINTEL
-  {
-    eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
-    eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL,
-    eFloat  = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL,
-    eBool   = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL,
-    eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
-  };
+  void vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                                 VkDeviceSize offset, VkBuffer countBuffer,
+                                 VkDeviceSize countBufferOffset,
+                                 uint32_t maxDrawCount,
+                                 uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndirectCountAMD(commandBuffer, buffer, offset,
+                                       countBuffer, countBufferOffset,
+                                       maxDrawCount, stride);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceValueTypeINTEL value )
-  {
-    switch ( value )
-    {
-      case PerformanceValueTypeINTEL::eUint32: return "Uint32";
-      case PerformanceValueTypeINTEL::eUint64: return "Uint64";
-      case PerformanceValueTypeINTEL::eFloat: return "Float";
-      case PerformanceValueTypeINTEL::eBool: return "Bool";
-      case PerformanceValueTypeINTEL::eString: return "String";
-      default: return "invalid";
-    }
+  void vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                                 VkDeviceSize offset, VkBuffer countBuffer,
+                                 VkDeviceSize countBufferOffset,
+                                 uint32_t maxDrawCount,
+                                 uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawIndirectCountKHR(commandBuffer, buffer, offset,
+                                       countBuffer, countBufferOffset,
+                                       maxDrawCount, stride);
   }
 
-  enum class PhysicalDeviceType
-  {
-    eOther         = VK_PHYSICAL_DEVICE_TYPE_OTHER,
-    eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
-    eDiscreteGpu   = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
-    eVirtualGpu    = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU,
-    eCpu           = VK_PHYSICAL_DEVICE_TYPE_CPU
-  };
+  void vkCmdDrawMeshTasksIndirectCountNV(
+      VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset,
+      VkBuffer countBuffer, VkDeviceSize countBufferOffset,
+      uint32_t maxDrawCount, uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawMeshTasksIndirectCountNV(commandBuffer, buffer, offset,
+                                               countBuffer, countBufferOffset,
+                                               maxDrawCount, stride);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PhysicalDeviceType value )
-  {
-    switch ( value )
-    {
-      case PhysicalDeviceType::eOther: return "Other";
-      case PhysicalDeviceType::eIntegratedGpu: return "IntegratedGpu";
-      case PhysicalDeviceType::eDiscreteGpu: return "DiscreteGpu";
-      case PhysicalDeviceType::eVirtualGpu: return "VirtualGpu";
-      case PhysicalDeviceType::eCpu: return "Cpu";
-      default: return "invalid";
-    }
+  void vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,
+                                    VkBuffer buffer, VkDeviceSize offset,
+                                    uint32_t drawCount,
+                                    uint32_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawMeshTasksIndirectNV(commandBuffer, buffer, offset,
+                                          drawCount, stride);
   }
 
-  enum class PipelineBindPoint
-  {
-    eGraphics      = VK_PIPELINE_BIND_POINT_GRAPHICS,
-    eCompute       = VK_PIPELINE_BIND_POINT_COMPUTE,
-    eRayTracingKHR = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
-    eRayTracingNV  = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV
-  };
+  void vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer, uint32_t taskCount,
+                            uint32_t firstTask) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdDrawMeshTasksNV(commandBuffer, taskCount, firstTask);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineBindPoint value )
-  {
-    switch ( value )
-    {
-      case PipelineBindPoint::eGraphics: return "Graphics";
-      case PipelineBindPoint::eCompute: return "Compute";
-      case PipelineBindPoint::eRayTracingKHR: return "RayTracingKHR";
-      default: return "invalid";
-    }
+  void vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndConditionalRenderingEXT(commandBuffer);
   }
 
-  enum class PipelineCacheCreateFlagBits : VkPipelineCacheCreateFlags
-  {
-    eExternallySynchronizedEXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT
-  };
+  void vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndDebugUtilsLabelEXT(commandBuffer);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCacheCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case PipelineCacheCreateFlagBits::eExternallySynchronizedEXT: return "ExternallySynchronizedEXT";
-      default: return "invalid";
-    }
+  void vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool,
+                     uint32_t query) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndQuery(commandBuffer, queryPool, query);
   }
 
-  enum class PipelineCacheHeaderVersion
-  {
-    eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE
-  };
+  void vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,
+                               VkQueryPool queryPool, uint32_t query,
+                               uint32_t index) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCacheHeaderVersion value )
-  {
-    switch ( value )
-    {
-      case PipelineCacheHeaderVersion::eOne: return "One";
-      default: return "invalid";
-    }
+  void
+  vkCmdEndRenderPass(VkCommandBuffer commandBuffer) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndRenderPass(commandBuffer);
   }
 
-  enum class PipelineCompilerControlFlagBitsAMD : VkPipelineCompilerControlFlagsAMD
-  {
-  };
+  void vkCmdEndRenderPass2(VkCommandBuffer commandBuffer,
+                           const VkSubpassEndInfo *pSubpassEndInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCompilerControlFlagBitsAMD )
-  {
-    return "(void)";
+  void vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,
+                              const VkSubpassEndInfo *pSubpassEndInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo);
   }
 
-  enum class PipelineCreateFlagBits : VkPipelineCreateFlags
-  {
-    eDisableOptimization                    = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
-    eAllowDerivatives                       = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
-    eDerivative                             = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
-    eViewIndexFromDeviceIndex               = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
-    eDispatchBase                           = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
-    eRayTracingNoNullAnyHitShadersKHR       = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
-    eRayTracingNoNullClosestHitShadersKHR   = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
-    eRayTracingNoNullMissShadersKHR         = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
-    eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
-    eRayTracingSkipTrianglesKHR             = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
-    eRayTracingSkipAabbsKHR                 = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
-    eDeferCompileNV                         = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
-    eCaptureStatisticsKHR                   = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
-    eCaptureInternalRepresentationsKHR      = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
-    eIndirectBindableNV                     = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
-    eLibraryKHR                             = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
-    eFailOnPipelineCompileRequiredEXT       = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
-    eEarlyReturnOnFailureEXT                = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
-    eDispatchBaseKHR                        = VK_PIPELINE_CREATE_DISPATCH_BASE_KHR,
-    eViewIndexFromDeviceIndexKHR            = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR
-  };
+  void vkCmdEndTransformFeedbackEXT(
+      VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer,
+      uint32_t counterBufferCount, const VkBuffer *pCounterBuffers,
+      const VkDeviceSize *pCounterBufferOffsets) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer,
+                                          counterBufferCount, pCounterBuffers,
+                                          pCounterBufferOffsets);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case PipelineCreateFlagBits::eDisableOptimization: return "DisableOptimization";
-      case PipelineCreateFlagBits::eAllowDerivatives: return "AllowDerivatives";
-      case PipelineCreateFlagBits::eDerivative: return "Derivative";
-      case PipelineCreateFlagBits::eViewIndexFromDeviceIndex: return "ViewIndexFromDeviceIndex";
-      case PipelineCreateFlagBits::eDispatchBase: return "DispatchBase";
-      case PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR: return "RayTracingNoNullAnyHitShadersKHR";
-      case PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR: return "RayTracingNoNullClosestHitShadersKHR";
-      case PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR: return "RayTracingNoNullMissShadersKHR";
-      case PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR:
-        return "RayTracingNoNullIntersectionShadersKHR";
-      case PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR: return "RayTracingSkipTrianglesKHR";
-      case PipelineCreateFlagBits::eRayTracingSkipAabbsKHR: return "RayTracingSkipAabbsKHR";
-      case PipelineCreateFlagBits::eDeferCompileNV: return "DeferCompileNV";
-      case PipelineCreateFlagBits::eCaptureStatisticsKHR: return "CaptureStatisticsKHR";
-      case PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR: return "CaptureInternalRepresentationsKHR";
-      case PipelineCreateFlagBits::eIndirectBindableNV: return "IndirectBindableNV";
-      case PipelineCreateFlagBits::eLibraryKHR: return "LibraryKHR";
-      case PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT: return "FailOnPipelineCompileRequiredEXT";
-      case PipelineCreateFlagBits::eEarlyReturnOnFailureEXT: return "EarlyReturnOnFailureEXT";
-      default: return "invalid";
-    }
+  void vkCmdExecuteCommands(
+      VkCommandBuffer commandBuffer, uint32_t commandBufferCount,
+      const VkCommandBuffer *pCommandBuffers) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdExecuteCommands(commandBuffer, commandBufferCount,
+                                  pCommandBuffers);
   }
 
-  enum class PipelineCreationFeedbackFlagBitsEXT : VkPipelineCreationFeedbackFlagsEXT
-  {
-    eValid                       = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT,
-    eApplicationPipelineCacheHit = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT,
-    eBasePipelineAcceleration    = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT
-  };
+  void vkCmdExecuteGeneratedCommandsNV(
+      VkCommandBuffer commandBuffer, VkBool32 isPreprocessed,
+      const VkGeneratedCommandsInfoNV *pGeneratedCommandsInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdExecuteGeneratedCommandsNV(commandBuffer, isPreprocessed,
+                                             pGeneratedCommandsInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCreationFeedbackFlagBitsEXT value )
-  {
-    switch ( value )
-    {
-      case PipelineCreationFeedbackFlagBitsEXT::eValid: return "Valid";
-      case PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit: return "ApplicationPipelineCacheHit";
-      case PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration: return "BasePipelineAcceleration";
-      default: return "invalid";
-    }
+  void vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
+                       VkDeviceSize dstOffset, VkDeviceSize size,
+                       uint32_t data) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
   }
 
-  enum class PipelineExecutableStatisticFormatKHR
-  {
-    eBool32  = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
-    eInt64   = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR,
-    eUint64  = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR,
-    eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
-  };
+  void vkCmdInsertDebugUtilsLabelEXT(
+      VkCommandBuffer commandBuffer,
+      const VkDebugUtilsLabelEXT *pLabelInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdInsertDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineExecutableStatisticFormatKHR value )
-  {
-    switch ( value )
-    {
-      case PipelineExecutableStatisticFormatKHR::eBool32: return "Bool32";
-      case PipelineExecutableStatisticFormatKHR::eInt64: return "Int64";
-      case PipelineExecutableStatisticFormatKHR::eUint64: return "Uint64";
-      case PipelineExecutableStatisticFormatKHR::eFloat64: return "Float64";
-      default: return "invalid";
-    }
+  void vkCmdNextSubpass(VkCommandBuffer commandBuffer,
+                        VkSubpassContents contents) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdNextSubpass(commandBuffer, contents);
   }
 
-  enum class PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags
-  {
-    eAllowVaryingSubgroupSizeEXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
-    eRequireFullSubgroupsEXT     = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-  };
+  void vkCmdNextSubpass2(VkCommandBuffer commandBuffer,
+                         const VkSubpassBeginInfo *pSubpassBeginInfo,
+                         const VkSubpassEndInfo *pSubpassEndInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdNextSubpass2(commandBuffer, pSubpassBeginInfo,
+                               pSubpassEndInfo);
+  }
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineShaderStageCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT: return "AllowVaryingSubgroupSizeEXT";
-      case PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT: return "RequireFullSubgroupsEXT";
-      default: return "invalid";
-    }
+  void vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,
+                            const VkSubpassBeginInfo *pSubpassBeginInfo,
+                            const VkSubpassEndInfo *pSubpassEndInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdNextSubpass2KHR(commandBuffer, pSubpassBeginInfo,
+                                  pSubpassEndInfo);
   }
 
-  enum class PipelineStageFlagBits : VkPipelineStageFlags
-  {
-    eTopOfPipe                     = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
-    eDrawIndirect                  = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
-    eVertexInput                   = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,
-    eVertexShader                  = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,
-    eTessellationControlShader     = VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,
-    eTessellationEvaluationShader  = VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,
-    eGeometryShader                = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,
-    eFragmentShader                = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
-    eEarlyFragmentTests            = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,
-    eLateFragmentTests             = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
-    eColorAttachmentOutput         = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
-    eComputeShader                 = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
-    eTransfer                      = VK_PIPELINE_STAGE_TRANSFER_BIT,
-    eBottomOfPipe                  = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
-    eHost                          = VK_PIPELINE_STAGE_HOST_BIT,
-    eAllGraphics                   = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
-    eAllCommands                   = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
-    eTransformFeedbackEXT          = VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT,
-    eConditionalRenderingEXT       = VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT,
-    eRayTracingShaderKHR           = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
-    eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-    eShadingRateImageNV            = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
-    eTaskShaderNV                  = VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV,
-    eMeshShaderNV                  = VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV,
-    eFragmentDensityProcessEXT     = VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
-    eCommandPreprocessNV           = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV,
-    eAccelerationStructureBuildNV  = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
-    eRayTracingShaderNV            = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineStageFlagBits value )
-  {
-    switch ( value )
-    {
-      case PipelineStageFlagBits::eTopOfPipe: return "TopOfPipe";
-      case PipelineStageFlagBits::eDrawIndirect: return "DrawIndirect";
-      case PipelineStageFlagBits::eVertexInput: return "VertexInput";
-      case PipelineStageFlagBits::eVertexShader: return "VertexShader";
-      case PipelineStageFlagBits::eTessellationControlShader: return "TessellationControlShader";
-      case PipelineStageFlagBits::eTessellationEvaluationShader: return "TessellationEvaluationShader";
-      case PipelineStageFlagBits::eGeometryShader: return "GeometryShader";
-      case PipelineStageFlagBits::eFragmentShader: return "FragmentShader";
-      case PipelineStageFlagBits::eEarlyFragmentTests: return "EarlyFragmentTests";
-      case PipelineStageFlagBits::eLateFragmentTests: return "LateFragmentTests";
-      case PipelineStageFlagBits::eColorAttachmentOutput: return "ColorAttachmentOutput";
-      case PipelineStageFlagBits::eComputeShader: return "ComputeShader";
-      case PipelineStageFlagBits::eTransfer: return "Transfer";
-      case PipelineStageFlagBits::eBottomOfPipe: return "BottomOfPipe";
-      case PipelineStageFlagBits::eHost: return "Host";
-      case PipelineStageFlagBits::eAllGraphics: return "AllGraphics";
-      case PipelineStageFlagBits::eAllCommands: return "AllCommands";
-      case PipelineStageFlagBits::eTransformFeedbackEXT: return "TransformFeedbackEXT";
-      case PipelineStageFlagBits::eConditionalRenderingEXT: return "ConditionalRenderingEXT";
-      case PipelineStageFlagBits::eRayTracingShaderKHR: return "RayTracingShaderKHR";
-      case PipelineStageFlagBits::eAccelerationStructureBuildKHR: return "AccelerationStructureBuildKHR";
-      case PipelineStageFlagBits::eShadingRateImageNV: return "ShadingRateImageNV";
-      case PipelineStageFlagBits::eTaskShaderNV: return "TaskShaderNV";
-      case PipelineStageFlagBits::eMeshShaderNV: return "MeshShaderNV";
-      case PipelineStageFlagBits::eFragmentDensityProcessEXT: return "FragmentDensityProcessEXT";
-      case PipelineStageFlagBits::eCommandPreprocessNV: return "CommandPreprocessNV";
-      default: return "invalid";
-    }
+  void vkCmdPipelineBarrier(VkCommandBuffer commandBuffer,
+                            VkPipelineStageFlags srcStageMask,
+                            VkPipelineStageFlags dstStageMask,
+                            VkDependencyFlags dependencyFlags,
+                            uint32_t memoryBarrierCount,
+                            const VkMemoryBarrier *pMemoryBarriers,
+                            uint32_t bufferMemoryBarrierCount,
+                            const VkBufferMemoryBarrier *pBufferMemoryBarriers,
+                            uint32_t imageMemoryBarrierCount,
+                            const VkImageMemoryBarrier *pImageMemoryBarriers)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdPipelineBarrier(
+        commandBuffer, srcStageMask, dstStageMask, dependencyFlags,
+        memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount,
+        pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
   }
 
-  enum class PointClippingBehavior
-  {
-    eAllClipPlanes      = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
-    eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
-  };
-  using PointClippingBehaviorKHR = PointClippingBehavior;
-
-  VULKAN_HPP_INLINE std::string to_string( PointClippingBehavior value )
-  {
-    switch ( value )
-    {
-      case PointClippingBehavior::eAllClipPlanes: return "AllClipPlanes";
-      case PointClippingBehavior::eUserClipPlanesOnly: return "UserClipPlanesOnly";
-      default: return "invalid";
-    }
+  void vkCmdPipelineBarrier2KHR(
+      VkCommandBuffer commandBuffer,
+      const VkDependencyInfoKHR *pDependencyInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo);
   }
 
-  enum class PolygonMode
-  {
-    eFill            = VK_POLYGON_MODE_FILL,
-    eLine            = VK_POLYGON_MODE_LINE,
-    ePoint           = VK_POLYGON_MODE_POINT,
-    eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PolygonMode value )
-  {
-    switch ( value )
-    {
-      case PolygonMode::eFill: return "Fill";
-      case PolygonMode::eLine: return "Line";
-      case PolygonMode::ePoint: return "Point";
-      case PolygonMode::eFillRectangleNV: return "FillRectangleNV";
-      default: return "invalid";
-    }
+  void vkCmdPreprocessGeneratedCommandsNV(
+      VkCommandBuffer commandBuffer,
+      const VkGeneratedCommandsInfoNV *pGeneratedCommandsInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdPreprocessGeneratedCommandsNV(commandBuffer,
+                                                pGeneratedCommandsInfo);
   }
 
-  enum class PresentModeKHR
-  {
-    eImmediate               = VK_PRESENT_MODE_IMMEDIATE_KHR,
-    eMailbox                 = VK_PRESENT_MODE_MAILBOX_KHR,
-    eFifo                    = VK_PRESENT_MODE_FIFO_KHR,
-    eFifoRelaxed             = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
-    eSharedDemandRefresh     = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,
-    eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PresentModeKHR value )
-  {
-    switch ( value )
-    {
-      case PresentModeKHR::eImmediate: return "Immediate";
-      case PresentModeKHR::eMailbox: return "Mailbox";
-      case PresentModeKHR::eFifo: return "Fifo";
-      case PresentModeKHR::eFifoRelaxed: return "FifoRelaxed";
-      case PresentModeKHR::eSharedDemandRefresh: return "SharedDemandRefresh";
-      case PresentModeKHR::eSharedContinuousRefresh: return "SharedContinuousRefresh";
-      default: return "invalid";
-    }
+  void vkCmdPushConstants(VkCommandBuffer commandBuffer,
+                          VkPipelineLayout layout,
+                          VkShaderStageFlags stageFlags, uint32_t offset,
+                          uint32_t size,
+                          const void *pValues) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size,
+                                pValues);
   }
 
-  enum class PrimitiveTopology
-  {
-    ePointList                  = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
-    eLineList                   = VK_PRIMITIVE_TOPOLOGY_LINE_LIST,
-    eLineStrip                  = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,
-    eTriangleList               = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
-    eTriangleStrip              = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
-    eTriangleFan                = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
-    eLineListWithAdjacency      = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,
-    eLineStripWithAdjacency     = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,
-    eTriangleListWithAdjacency  = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,
-    eTriangleStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,
-    ePatchList                  = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PrimitiveTopology value )
-  {
-    switch ( value )
-    {
-      case PrimitiveTopology::ePointList: return "PointList";
-      case PrimitiveTopology::eLineList: return "LineList";
-      case PrimitiveTopology::eLineStrip: return "LineStrip";
-      case PrimitiveTopology::eTriangleList: return "TriangleList";
-      case PrimitiveTopology::eTriangleStrip: return "TriangleStrip";
-      case PrimitiveTopology::eTriangleFan: return "TriangleFan";
-      case PrimitiveTopology::eLineListWithAdjacency: return "LineListWithAdjacency";
-      case PrimitiveTopology::eLineStripWithAdjacency: return "LineStripWithAdjacency";
-      case PrimitiveTopology::eTriangleListWithAdjacency: return "TriangleListWithAdjacency";
-      case PrimitiveTopology::eTriangleStripWithAdjacency: return "TriangleStripWithAdjacency";
-      case PrimitiveTopology::ePatchList: return "PatchList";
-      default: return "invalid";
-    }
+  void vkCmdPushDescriptorSetKHR(
+      VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint,
+      VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount,
+      const VkWriteDescriptorSet *pDescriptorWrites) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout,
+                                       set, descriptorWriteCount,
+                                       pDescriptorWrites);
   }
 
-  enum class PrivateDataSlotCreateFlagBitsEXT : VkPrivateDataSlotCreateFlagsEXT
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PrivateDataSlotCreateFlagBitsEXT )
-  {
-    return "(void)";
+  void vkCmdPushDescriptorSetWithTemplateKHR(
+      VkCommandBuffer commandBuffer,
+      VkDescriptorUpdateTemplate descriptorUpdateTemplate,
+      VkPipelineLayout layout, uint32_t set,
+      const void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdPushDescriptorSetWithTemplateKHR(
+        commandBuffer, descriptorUpdateTemplate, layout, set, pData);
   }
 
-  enum class QueryControlFlagBits : VkQueryControlFlags
-  {
-    ePrecise = VK_QUERY_CONTROL_PRECISE_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueryControlFlagBits value )
-  {
-    switch ( value )
-    {
-      case QueryControlFlagBits::ePrecise: return "Precise";
-      default: return "invalid";
-    }
+  void
+  vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event,
+                  VkPipelineStageFlags stageMask) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdResetEvent(commandBuffer, event, stageMask);
   }
 
-  enum class QueryPipelineStatisticFlagBits : VkQueryPipelineStatisticFlags
-  {
-    eInputAssemblyVertices            = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,
-    eInputAssemblyPrimitives          = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,
-    eVertexShaderInvocations          = VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,
-    eGeometryShaderInvocations        = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,
-    eGeometryShaderPrimitives         = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
-    eClippingInvocations              = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,
-    eClippingPrimitives               = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,
-    eFragmentShaderInvocations        = VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,
-    eTessellationControlShaderPatches = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,
-    eTessellationEvaluationShaderInvocations =
-      VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,
-    eComputeShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueryPipelineStatisticFlagBits value )
-  {
-    switch ( value )
-    {
-      case QueryPipelineStatisticFlagBits::eInputAssemblyVertices: return "InputAssemblyVertices";
-      case QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives: return "InputAssemblyPrimitives";
-      case QueryPipelineStatisticFlagBits::eVertexShaderInvocations: return "VertexShaderInvocations";
-      case QueryPipelineStatisticFlagBits::eGeometryShaderInvocations: return "GeometryShaderInvocations";
-      case QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives: return "GeometryShaderPrimitives";
-      case QueryPipelineStatisticFlagBits::eClippingInvocations: return "ClippingInvocations";
-      case QueryPipelineStatisticFlagBits::eClippingPrimitives: return "ClippingPrimitives";
-      case QueryPipelineStatisticFlagBits::eFragmentShaderInvocations: return "FragmentShaderInvocations";
-      case QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches: return "TessellationControlShaderPatches";
-      case QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations:
-        return "TessellationEvaluationShaderInvocations";
-      case QueryPipelineStatisticFlagBits::eComputeShaderInvocations: return "ComputeShaderInvocations";
-      default: return "invalid";
-    }
+  void vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event,
+                           VkPipelineStageFlags2KHR stageMask) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdResetEvent2KHR(commandBuffer, event, stageMask);
   }
 
-  enum class QueryPoolCreateFlagBits
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueryPoolCreateFlagBits )
-  {
-    return "(void)";
+  void vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool,
+                           uint32_t firstQuery,
+                           uint32_t queryCount) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery,
+                                 queryCount);
   }
 
-  enum class QueryPoolSamplingModeINTEL
-  {
-    eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueryPoolSamplingModeINTEL value )
-  {
-    switch ( value )
-    {
-      case QueryPoolSamplingModeINTEL::eManual: return "Manual";
-      default: return "invalid";
-    }
+  void
+  vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage,
+                    VkImageLayout srcImageLayout, VkImage dstImage,
+                    VkImageLayout dstImageLayout, uint32_t regionCount,
+                    const VkImageResolve *pRegions) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout,
+                               dstImage, dstImageLayout, regionCount, pRegions);
   }
 
-  enum class QueryResultFlagBits : VkQueryResultFlags
-  {
-    e64               = VK_QUERY_RESULT_64_BIT,
-    eWait             = VK_QUERY_RESULT_WAIT_BIT,
-    eWithAvailability = VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,
-    ePartial          = VK_QUERY_RESULT_PARTIAL_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueryResultFlagBits value )
-  {
-    switch ( value )
-    {
-      case QueryResultFlagBits::e64: return "64";
-      case QueryResultFlagBits::eWait: return "Wait";
-      case QueryResultFlagBits::eWithAvailability: return "WithAvailability";
-      case QueryResultFlagBits::ePartial: return "Partial";
-      default: return "invalid";
-    }
+  void vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,
+                             const VkResolveImageInfo2KHR *pResolveImageInfo)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo);
   }
 
-  enum class QueryType
-  {
-    eOcclusion                                 = VK_QUERY_TYPE_OCCLUSION,
-    ePipelineStatistics                        = VK_QUERY_TYPE_PIPELINE_STATISTICS,
-    eTimestamp                                 = VK_QUERY_TYPE_TIMESTAMP,
-    eTransformFeedbackStreamEXT                = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT,
-    ePerformanceQueryKHR                       = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
-    eAccelerationStructureCompactedSizeKHR     = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
-    eAccelerationStructureSerializationSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR,
-    ePerformanceQueryINTEL                     = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL,
-    eAccelerationStructureCompactedSizeNV      = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueryType value )
-  {
-    switch ( value )
-    {
-      case QueryType::eOcclusion: return "Occlusion";
-      case QueryType::ePipelineStatistics: return "PipelineStatistics";
-      case QueryType::eTimestamp: return "Timestamp";
-      case QueryType::eTransformFeedbackStreamEXT: return "TransformFeedbackStreamEXT";
-      case QueryType::ePerformanceQueryKHR: return "PerformanceQueryKHR";
-      case QueryType::eAccelerationStructureCompactedSizeKHR: return "AccelerationStructureCompactedSizeKHR";
-      case QueryType::eAccelerationStructureSerializationSizeKHR: return "AccelerationStructureSerializationSizeKHR";
-      case QueryType::ePerformanceQueryINTEL: return "PerformanceQueryINTEL";
-      default: return "invalid";
-    }
+  void vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,
+                              const float blendConstants[4]) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetBlendConstants(commandBuffer, blendConstants);
   }
 
-  enum class QueueFlagBits : VkQueueFlags
-  {
-    eGraphics      = VK_QUEUE_GRAPHICS_BIT,
-    eCompute       = VK_QUEUE_COMPUTE_BIT,
-    eTransfer      = VK_QUEUE_TRANSFER_BIT,
-    eSparseBinding = VK_QUEUE_SPARSE_BINDING_BIT,
-    eProtected     = VK_QUEUE_PROTECTED_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueueFlagBits value )
-  {
-    switch ( value )
-    {
-      case QueueFlagBits::eGraphics: return "Graphics";
-      case QueueFlagBits::eCompute: return "Compute";
-      case QueueFlagBits::eTransfer: return "Transfer";
-      case QueueFlagBits::eSparseBinding: return "SparseBinding";
-      case QueueFlagBits::eProtected: return "Protected";
-      default: return "invalid";
-    }
+  void vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,
+                            const void *pCheckpointMarker) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetCheckpointNV(commandBuffer, pCheckpointMarker);
   }
 
-  enum class QueueGlobalPriorityEXT
-  {
-    eLow      = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
-    eMedium   = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,
-    eHigh     = VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,
-    eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( QueueGlobalPriorityEXT value )
-  {
-    switch ( value )
-    {
-      case QueueGlobalPriorityEXT::eLow: return "Low";
-      case QueueGlobalPriorityEXT::eMedium: return "Medium";
-      case QueueGlobalPriorityEXT::eHigh: return "High";
-      case QueueGlobalPriorityEXT::eRealtime: return "Realtime";
-      default: return "invalid";
-    }
+  void vkCmdSetCoarseSampleOrderNV(
+      VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType,
+      uint32_t customSampleOrderCount,
+      const VkCoarseSampleOrderCustomNV *pCustomSampleOrders) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetCoarseSampleOrderNV(commandBuffer, sampleOrderType,
+                                         customSampleOrderCount,
+                                         pCustomSampleOrders);
   }
 
-  enum class RasterizationOrderAMD
-  {
-    eStrict  = VK_RASTERIZATION_ORDER_STRICT_AMD,
-    eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( RasterizationOrderAMD value )
-  {
-    switch ( value )
-    {
-      case RasterizationOrderAMD::eStrict: return "Strict";
-      case RasterizationOrderAMD::eRelaxed: return "Relaxed";
-      default: return "invalid";
-    }
+  void vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,
+                           VkCullModeFlags cullMode) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetCullModeEXT(commandBuffer, cullMode);
   }
 
-  enum class RayTracingShaderGroupTypeKHR
-  {
-    eGeneral            = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
-    eTrianglesHitGroup  = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
-    eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
-  };
-  using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( RayTracingShaderGroupTypeKHR value )
-  {
-    switch ( value )
-    {
-      case RayTracingShaderGroupTypeKHR::eGeneral: return "General";
-      case RayTracingShaderGroupTypeKHR::eTrianglesHitGroup: return "TrianglesHitGroup";
-      case RayTracingShaderGroupTypeKHR::eProceduralHitGroup: return "ProceduralHitGroup";
-      default: return "invalid";
-    }
+  void vkCmdSetDepthBias(VkCommandBuffer commandBuffer,
+                         float depthBiasConstantFactor, float depthBiasClamp,
+                         float depthBiasSlopeFactor) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor,
+                               depthBiasClamp, depthBiasSlopeFactor);
   }
 
-  enum class RenderPassCreateFlagBits : VkRenderPassCreateFlags
-  {
-    eTransformQCOM = VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( RenderPassCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case RenderPassCreateFlagBits::eTransformQCOM: return "TransformQCOM";
-      default: return "invalid";
-    }
+  void vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds,
+                           float maxDepthBounds) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
   }
 
-  enum class ResolveModeFlagBits : VkResolveModeFlags
-  {
-    eNone       = VK_RESOLVE_MODE_NONE,
-    eSampleZero = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
-    eAverage    = VK_RESOLVE_MODE_AVERAGE_BIT,
-    eMin        = VK_RESOLVE_MODE_MIN_BIT,
-    eMax        = VK_RESOLVE_MODE_MAX_BIT
-  };
-  using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( ResolveModeFlagBits value )
-  {
-    switch ( value )
-    {
-      case ResolveModeFlagBits::eNone: return "None";
-      case ResolveModeFlagBits::eSampleZero: return "SampleZero";
-      case ResolveModeFlagBits::eAverage: return "Average";
-      case ResolveModeFlagBits::eMin: return "Min";
-      case ResolveModeFlagBits::eMax: return "Max";
-      default: return "invalid";
-    }
+  void vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,
+                                        VkBool32 depthBoundsTestEnable) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDepthBoundsTestEnableEXT(commandBuffer,
+                                              depthBoundsTestEnable);
   }
 
-  enum class Result
-  {
-    eSuccess                                     = VK_SUCCESS,
-    eNotReady                                    = VK_NOT_READY,
-    eTimeout                                     = VK_TIMEOUT,
-    eEventSet                                    = VK_EVENT_SET,
-    eEventReset                                  = VK_EVENT_RESET,
-    eIncomplete                                  = VK_INCOMPLETE,
-    eErrorOutOfHostMemory                        = VK_ERROR_OUT_OF_HOST_MEMORY,
-    eErrorOutOfDeviceMemory                      = VK_ERROR_OUT_OF_DEVICE_MEMORY,
-    eErrorInitializationFailed                   = VK_ERROR_INITIALIZATION_FAILED,
-    eErrorDeviceLost                             = VK_ERROR_DEVICE_LOST,
-    eErrorMemoryMapFailed                        = VK_ERROR_MEMORY_MAP_FAILED,
-    eErrorLayerNotPresent                        = VK_ERROR_LAYER_NOT_PRESENT,
-    eErrorExtensionNotPresent                    = VK_ERROR_EXTENSION_NOT_PRESENT,
-    eErrorFeatureNotPresent                      = VK_ERROR_FEATURE_NOT_PRESENT,
-    eErrorIncompatibleDriver                     = VK_ERROR_INCOMPATIBLE_DRIVER,
-    eErrorTooManyObjects                         = VK_ERROR_TOO_MANY_OBJECTS,
-    eErrorFormatNotSupported                     = VK_ERROR_FORMAT_NOT_SUPPORTED,
-    eErrorFragmentedPool                         = VK_ERROR_FRAGMENTED_POOL,
-    eErrorUnknown                                = VK_ERROR_UNKNOWN,
-    eErrorOutOfPoolMemory                        = VK_ERROR_OUT_OF_POOL_MEMORY,
-    eErrorInvalidExternalHandle                  = VK_ERROR_INVALID_EXTERNAL_HANDLE,
-    eErrorFragmentation                          = VK_ERROR_FRAGMENTATION,
-    eErrorInvalidOpaqueCaptureAddress            = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
-    eErrorSurfaceLostKHR                         = VK_ERROR_SURFACE_LOST_KHR,
-    eErrorNativeWindowInUseKHR                   = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,
-    eSuboptimalKHR                               = VK_SUBOPTIMAL_KHR,
-    eErrorOutOfDateKHR                           = VK_ERROR_OUT_OF_DATE_KHR,
-    eErrorIncompatibleDisplayKHR                 = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR,
-    eErrorValidationFailedEXT                    = VK_ERROR_VALIDATION_FAILED_EXT,
-    eErrorInvalidShaderNV                        = VK_ERROR_INVALID_SHADER_NV,
-    eErrorIncompatibleVersionKHR                 = VK_ERROR_INCOMPATIBLE_VERSION_KHR,
-    eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
-    eErrorNotPermittedEXT                        = VK_ERROR_NOT_PERMITTED_EXT,
-    eErrorFullScreenExclusiveModeLostEXT         = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_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,
-    eErrorMemoryPinnedFUCHSIA                    = VK_ERROR_MEMORY_PINNED_FUCHSIA,
-    eErrorFragmentationEXT                       = VK_ERROR_FRAGMENTATION_EXT,
-    eErrorInvalidDeviceAddressEXT                = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT,
-    eErrorInvalidExternalHandleKHR               = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
-    eErrorInvalidOpaqueCaptureAddressKHR         = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR,
-    eErrorOutOfPoolMemoryKHR                     = VK_ERROR_OUT_OF_POOL_MEMORY_KHR,
-    eErrorPipelineCompileRequiredEXT             = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( Result value )
-  {
-    switch ( value )
-    {
-      case Result::eSuccess: return "Success";
-      case Result::eNotReady: return "NotReady";
-      case Result::eTimeout: return "Timeout";
-      case Result::eEventSet: return "EventSet";
-      case Result::eEventReset: return "EventReset";
-      case Result::eIncomplete: return "Incomplete";
-      case Result::eErrorOutOfHostMemory: return "ErrorOutOfHostMemory";
-      case Result::eErrorOutOfDeviceMemory: return "ErrorOutOfDeviceMemory";
-      case Result::eErrorInitializationFailed: return "ErrorInitializationFailed";
-      case Result::eErrorDeviceLost: return "ErrorDeviceLost";
-      case Result::eErrorMemoryMapFailed: return "ErrorMemoryMapFailed";
-      case Result::eErrorLayerNotPresent: return "ErrorLayerNotPresent";
-      case Result::eErrorExtensionNotPresent: return "ErrorExtensionNotPresent";
-      case Result::eErrorFeatureNotPresent: return "ErrorFeatureNotPresent";
-      case Result::eErrorIncompatibleDriver: return "ErrorIncompatibleDriver";
-      case Result::eErrorTooManyObjects: return "ErrorTooManyObjects";
-      case Result::eErrorFormatNotSupported: return "ErrorFormatNotSupported";
-      case Result::eErrorFragmentedPool: return "ErrorFragmentedPool";
-      case Result::eErrorUnknown: return "ErrorUnknown";
-      case Result::eErrorOutOfPoolMemory: return "ErrorOutOfPoolMemory";
-      case Result::eErrorInvalidExternalHandle: return "ErrorInvalidExternalHandle";
-      case Result::eErrorFragmentation: return "ErrorFragmentation";
-      case Result::eErrorInvalidOpaqueCaptureAddress: return "ErrorInvalidOpaqueCaptureAddress";
-      case Result::eErrorSurfaceLostKHR: return "ErrorSurfaceLostKHR";
-      case Result::eErrorNativeWindowInUseKHR: return "ErrorNativeWindowInUseKHR";
-      case Result::eSuboptimalKHR: return "SuboptimalKHR";
-      case Result::eErrorOutOfDateKHR: return "ErrorOutOfDateKHR";
-      case Result::eErrorIncompatibleDisplayKHR: return "ErrorIncompatibleDisplayKHR";
-      case Result::eErrorValidationFailedEXT: return "ErrorValidationFailedEXT";
-      case Result::eErrorInvalidShaderNV: return "ErrorInvalidShaderNV";
-      case Result::eErrorIncompatibleVersionKHR: return "ErrorIncompatibleVersionKHR";
-      case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: return "ErrorInvalidDrmFormatModifierPlaneLayoutEXT";
-      case Result::eErrorNotPermittedEXT: return "ErrorNotPermittedEXT";
-      case Result::eErrorFullScreenExclusiveModeLostEXT: return "ErrorFullScreenExclusiveModeLostEXT";
-      case Result::eThreadIdleKHR: return "ThreadIdleKHR";
-      case Result::eThreadDoneKHR: return "ThreadDoneKHR";
-      case Result::eOperationDeferredKHR: return "OperationDeferredKHR";
-      case Result::eOperationNotDeferredKHR: return "OperationNotDeferredKHR";
-      case Result::ePipelineCompileRequiredEXT: return "PipelineCompileRequiredEXT";
-      case Result::eErrorMemoryPinnedFUCHSIA: return "ErrorMemoryPinnedFUCHSIA";
-      default: return "invalid";
-    }
+  void vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,
+                                 VkCompareOp depthCompareOp) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDepthCompareOpEXT(commandBuffer, depthCompareOp);
   }
 
-  enum class SampleCountFlagBits : VkSampleCountFlags
-  {
-    e1  = VK_SAMPLE_COUNT_1_BIT,
-    e2  = VK_SAMPLE_COUNT_2_BIT,
-    e4  = VK_SAMPLE_COUNT_4_BIT,
-    e8  = VK_SAMPLE_COUNT_8_BIT,
-    e16 = VK_SAMPLE_COUNT_16_BIT,
-    e32 = VK_SAMPLE_COUNT_32_BIT,
-    e64 = VK_SAMPLE_COUNT_64_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SampleCountFlagBits value )
-  {
-    switch ( value )
-    {
-      case SampleCountFlagBits::e1: return "1";
-      case SampleCountFlagBits::e2: return "2";
-      case SampleCountFlagBits::e4: return "4";
-      case SampleCountFlagBits::e8: return "8";
-      case SampleCountFlagBits::e16: return "16";
-      case SampleCountFlagBits::e32: return "32";
-      case SampleCountFlagBits::e64: return "64";
-      default: return "invalid";
-    }
+  void vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,
+                                  VkBool32 depthTestEnable) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDepthTestEnableEXT(commandBuffer, depthTestEnable);
   }
 
-  enum class SamplerAddressMode
-  {
-    eRepeat               = VK_SAMPLER_ADDRESS_MODE_REPEAT,
-    eMirroredRepeat       = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
-    eClampToEdge          = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
-    eClampToBorder        = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
-    eMirrorClampToEdge    = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
-    eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SamplerAddressMode value )
-  {
-    switch ( value )
-    {
-      case SamplerAddressMode::eRepeat: return "Repeat";
-      case SamplerAddressMode::eMirroredRepeat: return "MirroredRepeat";
-      case SamplerAddressMode::eClampToEdge: return "ClampToEdge";
-      case SamplerAddressMode::eClampToBorder: return "ClampToBorder";
-      case SamplerAddressMode::eMirrorClampToEdge: return "MirrorClampToEdge";
-      default: return "invalid";
-    }
+  void vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,
+                                   VkBool32 depthWriteEnable) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDepthWriteEnableEXT(commandBuffer, depthWriteEnable);
   }
 
-  enum class SamplerCreateFlagBits : VkSamplerCreateFlags
-  {
-    eSubsampledEXT                     = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,
-    eSubsampledCoarseReconstructionEXT = VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SamplerCreateFlagBits value )
-  {
-    switch ( value )
-    {
-      case SamplerCreateFlagBits::eSubsampledEXT: return "SubsampledEXT";
-      case SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT: return "SubsampledCoarseReconstructionEXT";
-      default: return "invalid";
-    }
+  void vkCmdSetDeviceMask(VkCommandBuffer commandBuffer,
+                          uint32_t deviceMask) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDeviceMask(commandBuffer, deviceMask);
   }
 
-  enum class SamplerMipmapMode
-  {
-    eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST,
-    eLinear  = VK_SAMPLER_MIPMAP_MODE_LINEAR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SamplerMipmapMode value )
-  {
-    switch ( value )
-    {
-      case SamplerMipmapMode::eNearest: return "Nearest";
-      case SamplerMipmapMode::eLinear: return "Linear";
-      default: return "invalid";
-    }
+  void vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,
+                             uint32_t deviceMask) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDeviceMaskKHR(commandBuffer, deviceMask);
   }
 
-  enum class SamplerReductionMode
-  {
-    eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
-    eMin             = VK_SAMPLER_REDUCTION_MODE_MIN,
-    eMax             = VK_SAMPLER_REDUCTION_MODE_MAX
-  };
-  using SamplerReductionModeEXT = SamplerReductionMode;
-
-  VULKAN_HPP_INLINE std::string to_string( SamplerReductionMode value )
-  {
-    switch ( value )
-    {
-      case SamplerReductionMode::eWeightedAverage: return "WeightedAverage";
-      case SamplerReductionMode::eMin: return "Min";
-      case SamplerReductionMode::eMax: return "Max";
-      default: return "invalid";
-    }
+  void vkCmdSetDiscardRectangleEXT(
+      VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle,
+      uint32_t discardRectangleCount,
+      const VkRect2D *pDiscardRectangles) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetDiscardRectangleEXT(commandBuffer, firstDiscardRectangle,
+                                         discardRectangleCount,
+                                         pDiscardRectangles);
   }
 
-  enum class SamplerYcbcrModelConversion
-  {
-    eRgbIdentity   = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
-    eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
-    eYcbcr709      = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
-    eYcbcr601      = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
-    eYcbcr2020     = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
-  };
-  using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
-
-  VULKAN_HPP_INLINE std::string to_string( SamplerYcbcrModelConversion value )
-  {
-    switch ( value )
-    {
-      case SamplerYcbcrModelConversion::eRgbIdentity: return "RgbIdentity";
-      case SamplerYcbcrModelConversion::eYcbcrIdentity: return "YcbcrIdentity";
-      case SamplerYcbcrModelConversion::eYcbcr709: return "Ycbcr709";
-      case SamplerYcbcrModelConversion::eYcbcr601: return "Ycbcr601";
-      case SamplerYcbcrModelConversion::eYcbcr2020: return "Ycbcr2020";
-      default: return "invalid";
-    }
+  void vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event,
+                     VkPipelineStageFlags stageMask) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetEvent(commandBuffer, event, stageMask);
   }
 
-  enum class SamplerYcbcrRange
-  {
-    eItuFull   = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
-    eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
-  };
-  using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
-
-  VULKAN_HPP_INLINE std::string to_string( SamplerYcbcrRange value )
-  {
-    switch ( value )
-    {
-      case SamplerYcbcrRange::eItuFull: return "ItuFull";
-      case SamplerYcbcrRange::eItuNarrow: return "ItuNarrow";
-      default: return "invalid";
-    }
+  void vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event,
+                         const VkDependencyInfoKHR *pDependencyInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo);
   }
 
-  enum class ScopeNV
-  {
-    eDevice      = VK_SCOPE_DEVICE_NV,
-    eWorkgroup   = VK_SCOPE_WORKGROUP_NV,
-    eSubgroup    = VK_SCOPE_SUBGROUP_NV,
-    eQueueFamily = VK_SCOPE_QUEUE_FAMILY_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ScopeNV value )
-  {
-    switch ( value )
-    {
-      case ScopeNV::eDevice: return "Device";
-      case ScopeNV::eWorkgroup: return "Workgroup";
-      case ScopeNV::eSubgroup: return "Subgroup";
-      case ScopeNV::eQueueFamily: return "QueueFamily";
-      default: return "invalid";
-    }
+  void vkCmdSetExclusiveScissorNV(
+      VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor,
+      uint32_t exclusiveScissorCount,
+      const VkRect2D *pExclusiveScissors) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetExclusiveScissorNV(commandBuffer, firstExclusiveScissor,
+                                        exclusiveScissorCount,
+                                        pExclusiveScissors);
   }
 
-  enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlagBits )
-  {
-    return "(void)";
+  void vkCmdSetFragmentShadingRateEnumNV(
+      VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate,
+      const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate,
+                                               combinerOps);
   }
 
-  enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags
-  {
-    eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
-  };
-  using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( SemaphoreImportFlagBits value )
-  {
-    switch ( value )
-    {
-      case SemaphoreImportFlagBits::eTemporary: return "Temporary";
-      default: return "invalid";
-    }
+  void vkCmdSetFragmentShadingRateKHR(
+      VkCommandBuffer commandBuffer, const VkExtent2D *pFragmentSize,
+      const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetFragmentShadingRateKHR(commandBuffer, pFragmentSize,
+                                            combinerOps);
   }
 
-  enum class SemaphoreType
-  {
-    eBinary   = VK_SEMAPHORE_TYPE_BINARY,
-    eTimeline = VK_SEMAPHORE_TYPE_TIMELINE
-  };
-  using SemaphoreTypeKHR = SemaphoreType;
-
-  VULKAN_HPP_INLINE std::string to_string( SemaphoreType value )
-  {
-    switch ( value )
-    {
-      case SemaphoreType::eBinary: return "Binary";
-      case SemaphoreType::eTimeline: return "Timeline";
-      default: return "invalid";
-    }
+  void vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,
+                            VkFrontFace frontFace) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetFrontFaceEXT(commandBuffer, frontFace);
   }
 
-  enum class SemaphoreWaitFlagBits : VkSemaphoreWaitFlags
-  {
-    eAny = VK_SEMAPHORE_WAIT_ANY_BIT
-  };
-  using SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
-
-  VULKAN_HPP_INLINE std::string to_string( SemaphoreWaitFlagBits value )
-  {
-    switch ( value )
-    {
-      case SemaphoreWaitFlagBits::eAny: return "Any";
-      default: return "invalid";
-    }
+  void vkCmdSetLineStippleEXT(
+      VkCommandBuffer commandBuffer, uint32_t lineStippleFactor,
+      uint16_t lineStipplePattern) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetLineStippleEXT(commandBuffer, lineStippleFactor,
+                                    lineStipplePattern);
   }
 
-  enum class ShaderCorePropertiesFlagBitsAMD : VkShaderCorePropertiesFlagsAMD
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ShaderCorePropertiesFlagBitsAMD )
-  {
-    return "(void)";
+  void vkCmdSetLineWidth(VkCommandBuffer commandBuffer,
+                         float lineWidth) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetLineWidth(commandBuffer, lineWidth);
   }
 
-  enum class ShaderFloatControlsIndependence
-  {
-    e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
-    eAll       = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
-    eNone      = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
-  };
-  using ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
-
-  VULKAN_HPP_INLINE std::string to_string( ShaderFloatControlsIndependence value )
-  {
-    switch ( value )
-    {
-      case ShaderFloatControlsIndependence::e32BitOnly: return "32BitOnly";
-      case ShaderFloatControlsIndependence::eAll: return "All";
-      case ShaderFloatControlsIndependence::eNone: return "None";
-      default: return "invalid";
-    }
+  VkResult vkCmdSetPerformanceMarkerINTEL(
+      VkCommandBuffer commandBuffer,
+      const VkPerformanceMarkerInfoINTEL *pMarkerInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetPerformanceMarkerINTEL(commandBuffer, pMarkerInfo);
   }
 
-  enum class ShaderInfoTypeAMD
-  {
-    eStatistics  = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
-    eBinary      = VK_SHADER_INFO_TYPE_BINARY_AMD,
-    eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ShaderInfoTypeAMD value )
-  {
-    switch ( value )
-    {
-      case ShaderInfoTypeAMD::eStatistics: return "Statistics";
-      case ShaderInfoTypeAMD::eBinary: return "Binary";
-      case ShaderInfoTypeAMD::eDisassembly: return "Disassembly";
-      default: return "invalid";
-    }
+  VkResult vkCmdSetPerformanceOverrideINTEL(
+      VkCommandBuffer commandBuffer,
+      const VkPerformanceOverrideInfoINTEL *pOverrideInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetPerformanceOverrideINTEL(commandBuffer, pOverrideInfo);
   }
 
-  enum class ShaderModuleCreateFlagBits : VkShaderModuleCreateFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ShaderModuleCreateFlagBits )
-  {
-    return "(void)";
+  VkResult vkCmdSetPerformanceStreamMarkerINTEL(
+      VkCommandBuffer commandBuffer,
+      const VkPerformanceStreamMarkerInfoINTEL *pMarkerInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetPerformanceStreamMarkerINTEL(commandBuffer, pMarkerInfo);
   }
 
-  enum class ShaderStageFlagBits : VkShaderStageFlags
-  {
-    eVertex                 = VK_SHADER_STAGE_VERTEX_BIT,
-    eTessellationControl    = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
-    eTessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
-    eGeometry               = VK_SHADER_STAGE_GEOMETRY_BIT,
-    eFragment               = VK_SHADER_STAGE_FRAGMENT_BIT,
-    eCompute                = VK_SHADER_STAGE_COMPUTE_BIT,
-    eAllGraphics            = VK_SHADER_STAGE_ALL_GRAPHICS,
-    eAll                    = VK_SHADER_STAGE_ALL,
-    eRaygenKHR              = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
-    eAnyHitKHR              = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
-    eClosestHitKHR          = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
-    eMissKHR                = VK_SHADER_STAGE_MISS_BIT_KHR,
-    eIntersectionKHR        = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
-    eCallableKHR            = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
-    eTaskNV                 = VK_SHADER_STAGE_TASK_BIT_NV,
-    eMeshNV                 = VK_SHADER_STAGE_MESH_BIT_NV,
-    eAnyHitNV               = VK_SHADER_STAGE_ANY_HIT_BIT_NV,
-    eCallableNV             = VK_SHADER_STAGE_CALLABLE_BIT_NV,
-    eClosestHitNV           = VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV,
-    eIntersectionNV         = VK_SHADER_STAGE_INTERSECTION_BIT_NV,
-    eMissNV                 = VK_SHADER_STAGE_MISS_BIT_NV,
-    eRaygenNV               = VK_SHADER_STAGE_RAYGEN_BIT_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ShaderStageFlagBits value )
-  {
-    switch ( value )
-    {
-      case ShaderStageFlagBits::eVertex: return "Vertex";
-      case ShaderStageFlagBits::eTessellationControl: return "TessellationControl";
-      case ShaderStageFlagBits::eTessellationEvaluation: return "TessellationEvaluation";
-      case ShaderStageFlagBits::eGeometry: return "Geometry";
-      case ShaderStageFlagBits::eFragment: return "Fragment";
-      case ShaderStageFlagBits::eCompute: return "Compute";
-      case ShaderStageFlagBits::eAllGraphics: return "AllGraphics";
-      case ShaderStageFlagBits::eAll: return "All";
-      case ShaderStageFlagBits::eRaygenKHR: return "RaygenKHR";
-      case ShaderStageFlagBits::eAnyHitKHR: return "AnyHitKHR";
-      case ShaderStageFlagBits::eClosestHitKHR: return "ClosestHitKHR";
-      case ShaderStageFlagBits::eMissKHR: return "MissKHR";
-      case ShaderStageFlagBits::eIntersectionKHR: return "IntersectionKHR";
-      case ShaderStageFlagBits::eCallableKHR: return "CallableKHR";
-      case ShaderStageFlagBits::eTaskNV: return "TaskNV";
-      case ShaderStageFlagBits::eMeshNV: return "MeshNV";
-      default: return "invalid";
-    }
+  void vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,
+                                    VkPrimitiveTopology primitiveTopology) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetPrimitiveTopologyEXT(commandBuffer, primitiveTopology);
   }
 
-  enum class ShadingRatePaletteEntryNV
-  {
-    eNoInvocations           = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
-    e16InvocationsPerPixel   = VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV,
-    e8InvocationsPerPixel    = VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV,
-    e4InvocationsPerPixel    = VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV,
-    e2InvocationsPerPixel    = VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV,
-    e1InvocationPerPixel     = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV,
-    e1InvocationPer2X1Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV,
-    e1InvocationPer1X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV,
-    e1InvocationPer2X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV,
-    e1InvocationPer4X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV,
-    e1InvocationPer2X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV,
-    e1InvocationPer4X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ShadingRatePaletteEntryNV value )
-  {
-    switch ( value )
-    {
-      case ShadingRatePaletteEntryNV::eNoInvocations: return "NoInvocations";
-      case ShadingRatePaletteEntryNV::e16InvocationsPerPixel: return "16InvocationsPerPixel";
-      case ShadingRatePaletteEntryNV::e8InvocationsPerPixel: return "8InvocationsPerPixel";
-      case ShadingRatePaletteEntryNV::e4InvocationsPerPixel: return "4InvocationsPerPixel";
-      case ShadingRatePaletteEntryNV::e2InvocationsPerPixel: return "2InvocationsPerPixel";
-      case ShadingRatePaletteEntryNV::e1InvocationPerPixel: return "1InvocationPerPixel";
-      case ShadingRatePaletteEntryNV::e1InvocationPer2X1Pixels: return "1InvocationPer2X1Pixels";
-      case ShadingRatePaletteEntryNV::e1InvocationPer1X2Pixels: return "1InvocationPer1X2Pixels";
-      case ShadingRatePaletteEntryNV::e1InvocationPer2X2Pixels: return "1InvocationPer2X2Pixels";
-      case ShadingRatePaletteEntryNV::e1InvocationPer4X2Pixels: return "1InvocationPer4X2Pixels";
-      case ShadingRatePaletteEntryNV::e1InvocationPer2X4Pixels: return "1InvocationPer2X4Pixels";
-      case ShadingRatePaletteEntryNV::e1InvocationPer4X4Pixels: return "1InvocationPer4X4Pixels";
-      default: return "invalid";
-    }
+  void vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,
+                                              uint32_t pipelineStackSize) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetRayTracingPipelineStackSizeKHR(commandBuffer,
+                                                    pipelineStackSize);
   }
 
-  enum class SharingMode
-  {
-    eExclusive  = VK_SHARING_MODE_EXCLUSIVE,
-    eConcurrent = VK_SHARING_MODE_CONCURRENT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SharingMode value )
-  {
-    switch ( value )
-    {
-      case SharingMode::eExclusive: return "Exclusive";
-      case SharingMode::eConcurrent: return "Concurrent";
-      default: return "invalid";
-    }
+  void vkCmdSetSampleLocationsEXT(
+      VkCommandBuffer commandBuffer,
+      const VkSampleLocationsInfoEXT *pSampleLocationsInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetSampleLocationsEXT(commandBuffer, pSampleLocationsInfo);
   }
 
-  enum class SparseImageFormatFlagBits : VkSparseImageFormatFlags
-  {
-    eSingleMiptail        = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
-    eAlignedMipSize       = VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,
-    eNonstandardBlockSize = VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SparseImageFormatFlagBits value )
-  {
-    switch ( value )
-    {
-      case SparseImageFormatFlagBits::eSingleMiptail: return "SingleMiptail";
-      case SparseImageFormatFlagBits::eAlignedMipSize: return "AlignedMipSize";
-      case SparseImageFormatFlagBits::eNonstandardBlockSize: return "NonstandardBlockSize";
-      default: return "invalid";
-    }
+  void vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor,
+                       uint32_t scissorCount,
+                       const VkRect2D *pScissors) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetScissor(commandBuffer, firstScissor, scissorCount,
+                             pScissors);
   }
 
-  enum class SparseMemoryBindFlagBits : VkSparseMemoryBindFlags
-  {
-    eMetadata = VK_SPARSE_MEMORY_BIND_METADATA_BIT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SparseMemoryBindFlagBits value )
-  {
-    switch ( value )
-    {
-      case SparseMemoryBindFlagBits::eMetadata: return "Metadata";
-      default: return "invalid";
-    }
+  void vkCmdSetScissorWithCountEXT(
+      VkCommandBuffer commandBuffer, uint32_t scissorCount,
+      const VkRect2D *pScissors) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetScissorWithCountEXT(commandBuffer, scissorCount,
+                                         pScissors);
   }
 
-  enum class StencilFaceFlagBits : VkStencilFaceFlags
-  {
-    eFront                 = VK_STENCIL_FACE_FRONT_BIT,
-    eBack                  = VK_STENCIL_FACE_BACK_BIT,
-    eFrontAndBack          = VK_STENCIL_FACE_FRONT_AND_BACK,
-    eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( StencilFaceFlagBits value )
-  {
-    switch ( value )
-    {
-      case StencilFaceFlagBits::eFront: return "Front";
-      case StencilFaceFlagBits::eBack: return "Back";
-      case StencilFaceFlagBits::eFrontAndBack: return "FrontAndBack";
-      default: return "invalid";
-    }
+  void
+  vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,
+                             VkStencilFaceFlags faceMask,
+                             uint32_t compareMask) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
   }
 
-  enum class StencilOp
-  {
-    eKeep              = VK_STENCIL_OP_KEEP,
-    eZero              = VK_STENCIL_OP_ZERO,
-    eReplace           = VK_STENCIL_OP_REPLACE,
-    eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP,
-    eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP,
-    eInvert            = VK_STENCIL_OP_INVERT,
-    eIncrementAndWrap  = VK_STENCIL_OP_INCREMENT_AND_WRAP,
-    eDecrementAndWrap  = VK_STENCIL_OP_DECREMENT_AND_WRAP
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( StencilOp value )
-  {
-    switch ( value )
-    {
-      case StencilOp::eKeep: return "Keep";
-      case StencilOp::eZero: return "Zero";
-      case StencilOp::eReplace: return "Replace";
-      case StencilOp::eIncrementAndClamp: return "IncrementAndClamp";
-      case StencilOp::eDecrementAndClamp: return "DecrementAndClamp";
-      case StencilOp::eInvert: return "Invert";
-      case StencilOp::eIncrementAndWrap: return "IncrementAndWrap";
-      case StencilOp::eDecrementAndWrap: return "DecrementAndWrap";
-      default: return "invalid";
-    }
+  void vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,
+                            VkStencilFaceFlags faceMask, VkStencilOp failOp,
+                            VkStencilOp passOp, VkStencilOp depthFailOp,
+                            VkCompareOp compareOp) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp,
+                                  depthFailOp, compareOp);
   }
 
-  enum class StructureType
-  {
-    eApplicationInfo                           = VK_STRUCTURE_TYPE_APPLICATION_INFO,
-    eInstanceCreateInfo                        = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
-    eDeviceQueueCreateInfo                     = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
-    eDeviceCreateInfo                          = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
-    eSubmitInfo                                = VK_STRUCTURE_TYPE_SUBMIT_INFO,
-    eMemoryAllocateInfo                        = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
-    eMappedMemoryRange                         = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
-    eBindSparseInfo                            = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,
-    eFenceCreateInfo                           = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
-    eSemaphoreCreateInfo                       = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
-    eEventCreateInfo                           = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
-    eQueryPoolCreateInfo                       = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
-    eBufferCreateInfo                          = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
-    eBufferViewCreateInfo                      = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
-    eImageCreateInfo                           = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
-    eImageViewCreateInfo                       = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
-    eShaderModuleCreateInfo                    = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
-    ePipelineCacheCreateInfo                   = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
-    ePipelineShaderStageCreateInfo             = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
-    ePipelineVertexInputStateCreateInfo        = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
-    ePipelineInputAssemblyStateCreateInfo      = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
-    ePipelineTessellationStateCreateInfo       = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
-    ePipelineViewportStateCreateInfo           = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
-    ePipelineRasterizationStateCreateInfo      = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
-    ePipelineMultisampleStateCreateInfo        = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
-    ePipelineDepthStencilStateCreateInfo       = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
-    ePipelineColorBlendStateCreateInfo         = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
-    ePipelineDynamicStateCreateInfo            = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
-    eGraphicsPipelineCreateInfo                = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
-    eComputePipelineCreateInfo                 = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
-    ePipelineLayoutCreateInfo                  = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
-    eSamplerCreateInfo                         = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
-    eDescriptorSetLayoutCreateInfo             = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
-    eDescriptorPoolCreateInfo                  = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
-    eDescriptorSetAllocateInfo                 = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
-    eWriteDescriptorSet                        = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
-    eCopyDescriptorSet                         = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
-    eFramebufferCreateInfo                     = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
-    eRenderPassCreateInfo                      = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
-    eCommandPoolCreateInfo                     = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
-    eCommandBufferAllocateInfo                 = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
-    eCommandBufferInheritanceInfo              = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
-    eCommandBufferBeginInfo                    = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
-    eRenderPassBeginInfo                       = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
-    eBufferMemoryBarrier                       = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
-    eImageMemoryBarrier                        = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
-    eMemoryBarrier                             = VK_STRUCTURE_TYPE_MEMORY_BARRIER,
-    eLoaderInstanceCreateInfo                  = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
-    eLoaderDeviceCreateInfo                    = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
-    ePhysicalDeviceSubgroupProperties          = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
-    eBindBufferMemoryInfo                      = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
-    eBindImageMemoryInfo                       = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
-    ePhysicalDevice16BitStorageFeatures        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
-    eMemoryDedicatedRequirements               = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
-    eMemoryDedicatedAllocateInfo               = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
-    eMemoryAllocateFlagsInfo                   = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
-    eDeviceGroupRenderPassBeginInfo            = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
-    eDeviceGroupCommandBufferBeginInfo         = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
-    eDeviceGroupSubmitInfo                     = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
-    eDeviceGroupBindSparseInfo                 = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
-    eBindBufferMemoryDeviceGroupInfo           = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
-    eBindImageMemoryDeviceGroupInfo            = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
-    ePhysicalDeviceGroupProperties             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
-    eDeviceGroupDeviceCreateInfo               = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
-    eBufferMemoryRequirementsInfo2             = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
-    eImageMemoryRequirementsInfo2              = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
-    eImageSparseMemoryRequirementsInfo2        = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
-    eMemoryRequirements2                       = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
-    eSparseImageMemoryRequirements2            = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
-    ePhysicalDeviceFeatures2                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
-    ePhysicalDeviceProperties2                 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
-    eFormatProperties2                         = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
-    eImageFormatProperties2                    = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
-    ePhysicalDeviceImageFormatInfo2            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
-    eQueueFamilyProperties2                    = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
-    ePhysicalDeviceMemoryProperties2           = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
-    eSparseImageFormatProperties2              = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
-    ePhysicalDeviceSparseImageFormatInfo2      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
-    ePhysicalDevicePointClippingProperties     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
-    eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
-    eImageViewUsageCreateInfo                  = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
-    ePipelineTessellationDomainOriginStateCreateInfo =
-      VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
-    eRenderPassMultiviewCreateInfo                = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
-    ePhysicalDeviceMultiviewFeatures              = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
-    ePhysicalDeviceMultiviewProperties            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
-    ePhysicalDeviceVariablePointersFeatures       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
-    eProtectedSubmitInfo                          = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
-    ePhysicalDeviceProtectedMemoryFeatures        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
-    ePhysicalDeviceProtectedMemoryProperties      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
-    eDeviceQueueInfo2                             = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
-    eSamplerYcbcrConversionCreateInfo             = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
-    eSamplerYcbcrConversionInfo                   = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
-    eBindImagePlaneMemoryInfo                     = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
-    eImagePlaneMemoryRequirementsInfo             = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
-    ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
-    eSamplerYcbcrConversionImageFormatProperties  = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
-    eDescriptorUpdateTemplateCreateInfo           = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
-    ePhysicalDeviceExternalImageFormatInfo        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
-    eExternalImageFormatProperties                = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
-    ePhysicalDeviceExternalBufferInfo             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
-    eExternalBufferProperties                     = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
-    ePhysicalDeviceIdProperties                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
-    eExternalMemoryBufferCreateInfo               = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
-    eExternalMemoryImageCreateInfo                = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
-    eExportMemoryAllocateInfo                     = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
-    ePhysicalDeviceExternalFenceInfo              = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
-    eExternalFenceProperties                      = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
-    eExportFenceCreateInfo                        = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
-    eExportSemaphoreCreateInfo                    = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
-    ePhysicalDeviceExternalSemaphoreInfo          = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
-    eExternalSemaphoreProperties                  = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
-    ePhysicalDeviceMaintenance3Properties         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
-    eDescriptorSetLayoutSupport                   = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
-    ePhysicalDeviceShaderDrawParametersFeatures   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
-    ePhysicalDeviceVulkan11Features               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
-    ePhysicalDeviceVulkan11Properties             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
-    ePhysicalDeviceVulkan12Features               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
-    ePhysicalDeviceVulkan12Properties             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
-    eImageFormatListCreateInfo                    = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
-    eAttachmentDescription2                       = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
-    eAttachmentReference2                         = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
-    eSubpassDescription2                          = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
-    eSubpassDependency2                           = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
-    eRenderPassCreateInfo2                        = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
-    eSubpassBeginInfo                             = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
-    eSubpassEndInfo                               = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
-    ePhysicalDevice8BitStorageFeatures            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
-    ePhysicalDeviceDriverProperties               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
-    ePhysicalDeviceShaderAtomicInt64Features      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
-    ePhysicalDeviceShaderFloat16Int8Features      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
-    ePhysicalDeviceFloatControlsProperties        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
-    eDescriptorSetLayoutBindingFlagsCreateInfo    = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
-    ePhysicalDeviceDescriptorIndexingFeatures     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
-    ePhysicalDeviceDescriptorIndexingProperties   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
-    eDescriptorSetVariableDescriptorCountAllocateInfo =
-      VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
-    eDescriptorSetVariableDescriptorCountLayoutSupport =
-      VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
-    ePhysicalDeviceDepthStencilResolveProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
-    eSubpassDescriptionDepthStencilResolve       = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
-    ePhysicalDeviceScalarBlockLayoutFeatures     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
-    eImageStencilUsageCreateInfo                 = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
-    ePhysicalDeviceSamplerFilterMinmaxProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
-    eSamplerReductionModeCreateInfo              = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
-    ePhysicalDeviceVulkanMemoryModelFeatures     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
-    ePhysicalDeviceImagelessFramebufferFeatures  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
-    eFramebufferAttachmentsCreateInfo            = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
-    eFramebufferAttachmentImageInfo              = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
-    eRenderPassAttachmentBeginInfo               = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
-    ePhysicalDeviceUniformBufferStandardLayoutFeatures =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
-    ePhysicalDeviceShaderSubgroupExtendedTypesFeatures =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
-    ePhysicalDeviceSeparateDepthStencilLayoutsFeatures =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
-    eAttachmentReferenceStencilLayout          = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
-    eAttachmentDescriptionStencilLayout        = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
-    ePhysicalDeviceHostQueryResetFeatures      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
-    ePhysicalDeviceTimelineSemaphoreFeatures   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
-    ePhysicalDeviceTimelineSemaphoreProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
-    eSemaphoreTypeCreateInfo                   = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
-    eTimelineSemaphoreSubmitInfo               = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
-    eSemaphoreWaitInfo                         = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
-    eSemaphoreSignalInfo                       = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
-    ePhysicalDeviceBufferDeviceAddressFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
-    eBufferDeviceAddressInfo                   = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
-    eBufferOpaqueCaptureAddressCreateInfo      = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
-    eMemoryOpaqueCaptureAddressAllocateInfo    = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
-    eDeviceMemoryOpaqueCaptureAddressInfo      = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
-    eSwapchainCreateInfoKHR                    = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
-    ePresentInfoKHR                            = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
-    eDeviceGroupPresentCapabilitiesKHR         = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
-    eImageSwapchainCreateInfoKHR               = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
-    eBindImageMemorySwapchainInfoKHR           = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
-    eAcquireNextImageInfoKHR                   = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
-    eDeviceGroupPresentInfoKHR                 = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
-    eDeviceGroupSwapchainCreateInfoKHR         = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
-    eDisplayModeCreateInfoKHR                  = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
-    eDisplaySurfaceCreateInfoKHR               = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
-    eDisplayPresentInfoKHR                     = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
-    eXlibSurfaceCreateInfoKHR                  = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
-    eXcbSurfaceCreateInfoKHR                   = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
-    eWaylandSurfaceCreateInfoKHR               = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
-    eAndroidSurfaceCreateInfoKHR               = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
-    eWin32SurfaceCreateInfoKHR                 = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
-    eDebugReportCallbackCreateInfoEXT          = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
-    ePipelineRasterizationStateRasterizationOrderAMD =
-      VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
-    eDebugMarkerObjectNameInfoEXT                 = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
-    eDebugMarkerObjectTagInfoEXT                  = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
-    eDebugMarkerMarkerInfoEXT                     = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
-    eDedicatedAllocationImageCreateInfoNV         = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
-    eDedicatedAllocationBufferCreateInfoNV        = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
-    eDedicatedAllocationMemoryAllocateInfoNV      = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
-    ePhysicalDeviceTransformFeedbackFeaturesEXT   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
-    ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
-    ePipelineRasterizationStateStreamCreateInfoEXT =
-      VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
-    eImageViewHandleInfoNVX                     = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
-    eImageViewAddressPropertiesNVX              = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
-    eTextureLodGatherFormatPropertiesAMD        = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
-    eStreamDescriptorSurfaceCreateInfoGGP       = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
-    ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
-    eExternalMemoryImageCreateInfoNV            = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
-    eExportMemoryAllocateInfoNV                 = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
-    eImportMemoryWin32HandleInfoNV              = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
-    eExportMemoryWin32HandleInfoNV              = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
-    eWin32KeyedMutexAcquireReleaseInfoNV        = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
-    eValidationFlagsEXT                         = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
-    eViSurfaceCreateInfoNN                      = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN,
-    ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
-    eImageViewAstcDecodeModeEXT                = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
-    ePhysicalDeviceAstcDecodeFeaturesEXT       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
-    eImportMemoryWin32HandleInfoKHR            = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
-    eExportMemoryWin32HandleInfoKHR            = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
-    eMemoryWin32HandlePropertiesKHR            = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
-    eMemoryGetWin32HandleInfoKHR               = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
-    eImportMemoryFdInfoKHR                     = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
-    eMemoryFdPropertiesKHR                     = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
-    eMemoryGetFdInfoKHR                        = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
-    eWin32KeyedMutexAcquireReleaseInfoKHR      = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
-    eImportSemaphoreWin32HandleInfoKHR         = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
-    eExportSemaphoreWin32HandleInfoKHR         = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
-    eD3D12FenceSubmitInfoKHR                   = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
-    eSemaphoreGetWin32HandleInfoKHR            = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
-    eImportSemaphoreFdInfoKHR                  = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
-    eSemaphoreGetFdInfoKHR                     = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
-    ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
-    eCommandBufferInheritanceConditionalRenderingInfoEXT =
-      VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
-    ePhysicalDeviceConditionalRenderingFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
-    eConditionalRenderingBeginInfoEXT          = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
-    ePresentRegionsKHR                         = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
-    ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
-    eSurfaceCapabilities2EXT                   = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
-    eDisplayPowerInfoEXT                       = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
-    eDeviceEventInfoEXT                        = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
-    eDisplayEventInfoEXT                       = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
-    eSwapchainCounterCreateInfoEXT             = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
-    ePresentTimesInfoGOOGLE                    = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
-    ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
-    ePipelineViewportSwizzleStateCreateInfoNV    = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
-    ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
-    ePipelineDiscardRectangleStateCreateInfoEXT  = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
-    ePhysicalDeviceConservativeRasterizationPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
-    ePipelineRasterizationConservativeStateCreateInfoEXT =
-      VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
-    ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
-    ePipelineRasterizationDepthClipStateCreateInfoEXT =
-      VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
-    eHdrMetadataEXT                               = VK_STRUCTURE_TYPE_HDR_METADATA_EXT,
-    eSharedPresentSurfaceCapabilitiesKHR          = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
-    eImportFenceWin32HandleInfoKHR                = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
-    eExportFenceWin32HandleInfoKHR                = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
-    eFenceGetWin32HandleInfoKHR                   = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
-    eImportFenceFdInfoKHR                         = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
-    eFenceGetFdInfoKHR                            = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
-    ePhysicalDevicePerformanceQueryFeaturesKHR    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
-    ePhysicalDevicePerformanceQueryPropertiesKHR  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
-    eQueryPoolPerformanceCreateInfoKHR            = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
-    ePerformanceQuerySubmitInfoKHR                = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
-    eAcquireProfilingLockInfoKHR                  = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
-    ePerformanceCounterKHR                        = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR,
-    ePerformanceCounterDescriptionKHR             = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR,
-    ePhysicalDeviceSurfaceInfo2KHR                = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
-    eSurfaceCapabilities2KHR                      = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
-    eSurfaceFormat2KHR                            = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
-    eDisplayProperties2KHR                        = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
-    eDisplayPlaneProperties2KHR                   = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
-    eDisplayModeProperties2KHR                    = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
-    eDisplayPlaneInfo2KHR                         = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
-    eDisplayPlaneCapabilities2KHR                 = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
-    eIosSurfaceCreateInfoMVK                      = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK,
-    eMacosSurfaceCreateInfoMVK                    = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK,
-    eDebugUtilsObjectNameInfoEXT                  = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
-    eDebugUtilsObjectTagInfoEXT                   = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
-    eDebugUtilsLabelEXT                           = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
-    eDebugUtilsMessengerCallbackDataEXT           = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
-    eDebugUtilsMessengerCreateInfoEXT             = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
-    eAndroidHardwareBufferUsageANDROID            = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
-    eAndroidHardwareBufferPropertiesANDROID       = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
-    eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
-    eImportAndroidHardwareBufferInfoANDROID       = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
-    eMemoryGetAndroidHardwareBufferInfoANDROID    = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
-    eExternalFormatANDROID                        = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
-    ePhysicalDeviceInlineUniformBlockFeaturesEXT  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
-    ePhysicalDeviceInlineUniformBlockPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
-    eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
-    eDescriptorPoolInlineUniformBlockCreateInfoEXT =
-      VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
-    eSampleLocationsInfoEXT                     = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
-    eRenderPassSampleLocationsBeginInfoEXT      = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
-    ePipelineSampleLocationsStateCreateInfoEXT  = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
-    ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
-    eMultisamplePropertiesEXT                   = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
-    ePhysicalDeviceBlendOperationAdvancedFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
-    ePhysicalDeviceBlendOperationAdvancedPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
-    ePipelineColorBlendAdvancedStateCreateInfoEXT =
-      VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
-    ePipelineCoverageToColorStateCreateInfoNV   = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
-    eBindAccelerationStructureMemoryInfoKHR     = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,
-    eWriteDescriptorSetAccelerationStructureKHR = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
-    eAccelerationStructureBuildGeometryInfoKHR  = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
-    eAccelerationStructureCreateGeometryTypeInfoKHR =
-      VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR,
-    eAccelerationStructureDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
-    eAccelerationStructureGeometryAabbsDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
-    eAccelerationStructureGeometryInstancesDataKHR =
-      VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
-    eAccelerationStructureGeometryTrianglesDataKHR =
-      VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
-    eAccelerationStructureGeometryKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR,
-    eAccelerationStructureMemoryRequirementsInfoKHR =
-      VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR,
-    eAccelerationStructureVersionKHR             = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR,
-    eCopyAccelerationStructureInfoKHR            = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR,
-    eCopyAccelerationStructureToMemoryInfoKHR    = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
-    eCopyMemoryToAccelerationStructureInfoKHR    = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
-    ePhysicalDeviceRayTracingFeaturesKHR         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR,
-    ePhysicalDeviceRayTracingPropertiesKHR       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR,
-    eRayTracingPipelineCreateInfoKHR             = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
-    eRayTracingShaderGroupCreateInfoKHR          = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
-    eAccelerationStructureCreateInfoKHR          = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
-    eRayTracingPipelineInterfaceCreateInfoKHR    = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
-    ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
-    ePhysicalDeviceShaderSmBuiltinsFeaturesNV    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
-    ePhysicalDeviceShaderSmBuiltinsPropertiesNV  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
-    eDrmFormatModifierPropertiesListEXT          = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
-    eDrmFormatModifierPropertiesEXT              = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
-    ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
-    eImageDrmFormatModifierListCreateInfoEXT     = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
-    eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
-    eImageDrmFormatModifierPropertiesEXT         = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
-    eValidationCacheCreateInfoEXT                = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
-    eShaderModuleValidationCacheCreateInfoEXT    = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
-    ePipelineViewportShadingRateImageStateCreateInfoNV =
-      VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
-    ePhysicalDeviceShadingRateImageFeaturesNV   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
-    ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
-    ePipelineViewportCoarseSampleOrderStateCreateInfoNV =
-      VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
-    eRayTracingPipelineCreateInfoNV    = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
-    eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
-    eGeometryNV                        = VK_STRUCTURE_TYPE_GEOMETRY_NV,
-    eGeometryTrianglesNV               = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
-    eGeometryAabbNV                    = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV,
-    eAccelerationStructureMemoryRequirementsInfoNV =
-      VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
-    ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
-    eRayTracingShaderGroupCreateInfoNV    = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
-    eAccelerationStructureInfoNV          = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
-    ePhysicalDeviceRepresentativeFragmentTestFeaturesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
-    ePipelineRepresentativeFragmentTestStateCreateInfoNV =
-      VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
-    ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
-    eFilterCubicImageViewImageFormatPropertiesEXT =
-      VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
-    eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
-    eImportMemoryHostPointerInfoEXT         = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
-    eMemoryHostPointerPropertiesEXT         = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
-    ePhysicalDeviceExternalMemoryHostPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
-    ePhysicalDeviceShaderClockFeaturesKHR    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
-    ePipelineCompilerControlCreateInfoAMD    = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
-    eCalibratedTimestampInfoEXT              = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
-    ePhysicalDeviceShaderCorePropertiesAMD   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
-    eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
-    ePhysicalDeviceVertexAttributeDivisorPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
-    ePipelineVertexInputDivisorStateCreateInfoEXT =
-      VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
-    ePhysicalDeviceVertexAttributeDivisorFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
-    ePresentFrameTokenGGP                  = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP,
-    ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
-    ePhysicalDeviceComputeShaderDerivativesFeaturesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
-    ePhysicalDeviceMeshShaderFeaturesNV   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
-    ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
-    ePhysicalDeviceFragmentShaderBarycentricFeaturesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
-    ePhysicalDeviceShaderImageFootprintFeaturesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
-    ePipelineViewportExclusiveScissorStateCreateInfoNV =
-      VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
-    ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
-    eCheckpointDataNV                         = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
-    eQueueFamilyCheckpointPropertiesNV        = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
-    ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
-    eQueryPoolPerformanceQueryCreateInfoINTEL    = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
-    eInitializePerformanceApiInfoINTEL           = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
-    ePerformanceMarkerInfoINTEL                  = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
-    ePerformanceStreamMarkerInfoINTEL            = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
-    ePerformanceOverrideInfoINTEL                = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
-    ePerformanceConfigurationAcquireInfoINTEL    = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
-    ePhysicalDevicePciBusInfoPropertiesEXT       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
-    eDisplayNativeHdrSurfaceCapabilitiesAMD      = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
-    eSwapchainDisplayNativeHdrCreateInfoAMD      = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
-    eImagepipeSurfaceCreateInfoFUCHSIA           = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
-    eMetalSurfaceCreateInfoEXT                   = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT,
-    ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
-    ePhysicalDeviceFragmentDensityMapPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
-    eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
-    ePhysicalDeviceSubgroupSizeControlPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
-    ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
-      VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
-    ePhysicalDeviceSubgroupSizeControlFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
-    ePhysicalDeviceShaderCoreProperties2AMD  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
-    ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
-    ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
-    ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
-    eMemoryPriorityAllocateInfoEXT           = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
-    eSurfaceProtectedCapabilitiesKHR         = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
-    ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
-    ePhysicalDeviceBufferDeviceAddressFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
-    eBufferDeviceAddressCreateInfoEXT            = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
-    ePhysicalDeviceToolPropertiesEXT             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT,
-    eValidationFeaturesEXT                       = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
-    ePhysicalDeviceCooperativeMatrixFeaturesNV   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
-    eCooperativeMatrixPropertiesNV               = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
-    ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
-    ePhysicalDeviceCoverageReductionModeFeaturesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
-    ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
-    eFramebufferMixedSamplesCombinationNV       = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
-    ePhysicalDeviceFragmentShaderInterlockFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
-    ePhysicalDeviceYcbcrImageArraysFeaturesEXT    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
-    eSurfaceFullScreenExclusiveInfoEXT            = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
-    eSurfaceCapabilitiesFullScreenExclusiveEXT    = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
-    eSurfaceFullScreenExclusiveWin32InfoEXT       = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
-    eHeadlessSurfaceCreateInfoEXT                 = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
-    ePhysicalDeviceLineRasterizationFeaturesEXT   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
-    ePipelineRasterizationLineStateCreateInfoEXT  = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
-    ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
-    ePhysicalDeviceShaderAtomicFloatFeaturesEXT   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
-    ePhysicalDeviceIndexTypeUint8FeaturesEXT      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
-    ePhysicalDeviceExtendedDynamicStateFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
-    eDeferredOperationInfoKHR = VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR,
-    ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
-    ePipelineInfoKHR                             = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
-    ePipelineExecutablePropertiesKHR             = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
-    ePipelineExecutableInfoKHR                   = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
-    ePipelineExecutableStatisticKHR              = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR,
-    ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
-    ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
-    ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
-    eGraphicsShaderGroupCreateInfoNV           = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
-    eGraphicsPipelineShaderGroupsCreateInfoNV  = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
-    eIndirectCommandsLayoutTokenNV             = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
-    eIndirectCommandsLayoutCreateInfoNV        = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
-    eGeneratedCommandsInfoNV                   = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV,
-    eGeneratedCommandsMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
-    ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
-    ePhysicalDeviceTexelBufferAlignmentFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
-    ePhysicalDeviceTexelBufferAlignmentPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
-    eCommandBufferInheritanceRenderPassTransformInfoQCOM =
-      VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
-    eRenderPassTransformBeginInfoQCOM       = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
-    ePhysicalDeviceRobustness2FeaturesEXT   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,
-    ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,
-    eSamplerCustomBorderColorCreateInfoEXT  = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
-    ePhysicalDeviceCustomBorderColorPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
-    ePhysicalDeviceCustomBorderColorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
-    ePipelineLibraryCreateInfoKHR               = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR,
-    ePhysicalDevicePrivateDataFeaturesEXT       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
-    eDevicePrivateDataCreateInfoEXT             = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
-    ePrivateDataSlotCreateInfoEXT               = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
-    ePhysicalDevicePipelineCreationCacheControlFeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT,
-    ePhysicalDeviceDiagnosticsConfigFeaturesNV  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
-    eDeviceDiagnosticsConfigCreateInfoNV        = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
-    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,
-    eBufferCollectionProperties2FUCHSIA         = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA,
-    eSysmemColorSpaceFUCHSIA                    = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
-    eTempImportMemoryZirconHandleInfoFUCHSIA    = VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
-    eTempMemoryZirconHandlePropertiesFUCHSIA    = VK_STRUCTURE_TYPE_TEMP_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
-    eTempMemoryGetZirconHandleInfoFUCHSIA       = VK_STRUCTURE_TYPE_TEMP_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
-    eTempImportSemaphoreZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_TEMP_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
-    eTempSemaphoreGetZirconHandleInfoFUCHSIA    = VK_STRUCTURE_TYPE_TEMP_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
-    ePhysicalDeviceFragmentDensityMap2FeaturesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
-    ePhysicalDeviceFragmentDensityMap2PropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
-    ePhysicalDeviceImageRobustnessFeaturesEXT     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT,
-    eDirectfbSurfaceCreateInfoEXT                 = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
-    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,
-    eAttachmentDescription2KHR                    = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR,
-    eAttachmentDescriptionStencilLayoutKHR        = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR,
-    eAttachmentReference2KHR                      = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR,
-    eAttachmentReferenceStencilLayoutKHR          = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR,
-    eBindAccelerationStructureMemoryInfoNV        = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
-    eBindBufferMemoryDeviceGroupInfoKHR           = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,
-    eBindBufferMemoryInfoKHR                      = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
-    eBindImageMemoryDeviceGroupInfoKHR            = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,
-    eBindImageMemoryInfoKHR                       = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR,
-    eBindImagePlaneMemoryInfoKHR                  = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,
-    eBufferDeviceAddressInfoEXT                   = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT,
-    eBufferDeviceAddressInfoKHR                   = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR,
-    eBufferMemoryRequirementsInfo2KHR             = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR,
-    eBufferOpaqueCaptureAddressCreateInfoKHR      = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR,
-    eDebugReportCreateInfoEXT                     = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT,
-    eDescriptorSetLayoutBindingFlagsCreateInfoEXT =
-      VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT,
-    eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR,
-    eDescriptorSetVariableDescriptorCountAllocateInfoEXT =
-      VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT,
-    eDescriptorSetVariableDescriptorCountLayoutSupportEXT =
-      VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT,
-    eDescriptorUpdateTemplateCreateInfoKHR     = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR,
-    eDeviceGroupBindSparseInfoKHR              = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR,
-    eDeviceGroupCommandBufferBeginInfoKHR      = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR,
-    eDeviceGroupDeviceCreateInfoKHR            = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR,
-    eDeviceGroupRenderPassBeginInfoKHR         = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR,
-    eDeviceGroupSubmitInfoKHR                  = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR,
-    eDeviceMemoryOpaqueCaptureAddressInfoKHR   = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR,
-    eExportFenceCreateInfoKHR                  = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR,
-    eExportMemoryAllocateInfoKHR               = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR,
-    eExportSemaphoreCreateInfoKHR              = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR,
-    eExternalBufferPropertiesKHR               = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR,
-    eExternalFencePropertiesKHR                = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR,
-    eExternalImageFormatPropertiesKHR          = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR,
-    eExternalMemoryBufferCreateInfoKHR         = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR,
-    eExternalMemoryImageCreateInfoKHR          = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR,
-    eExternalSemaphorePropertiesKHR            = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR,
-    eFormatProperties2KHR                      = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,
-    eFramebufferAttachmentsCreateInfoKHR       = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR,
-    eFramebufferAttachmentImageInfoKHR         = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR,
-    eImageFormatListCreateInfoKHR              = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR,
-    eImageFormatProperties2KHR                 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,
-    eImageMemoryRequirementsInfo2KHR           = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR,
-    eImagePlaneMemoryRequirementsInfoKHR       = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,
-    eImageSparseMemoryRequirementsInfo2KHR     = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR,
-    eImageStencilUsageCreateInfoEXT            = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT,
-    eImageViewUsageCreateInfoKHR               = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR,
-    eMemoryAllocateFlagsInfoKHR                = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR,
-    eMemoryDedicatedAllocateInfoKHR            = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR,
-    eMemoryDedicatedRequirementsKHR            = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,
-    eMemoryOpaqueCaptureAddressAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR,
-    eMemoryRequirements2KHR                    = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR,
-    ePhysicalDevice16BitStorageFeaturesKHR     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR,
-    ePhysicalDevice8BitStorageFeaturesKHR      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR,
-    ePhysicalDeviceBufferAddressFeaturesEXT    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT,
-    ePhysicalDeviceBufferDeviceAddressFeaturesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR,
-    ePhysicalDeviceDepthStencilResolvePropertiesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR,
-    ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
-    ePhysicalDeviceDescriptorIndexingPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT,
-    ePhysicalDeviceDriverPropertiesKHR        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR,
-    ePhysicalDeviceExternalBufferInfoKHR      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR,
-    ePhysicalDeviceExternalFenceInfoKHR       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR,
-    ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR,
-    ePhysicalDeviceExternalSemaphoreInfoKHR   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR,
-    ePhysicalDeviceFeatures2KHR               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
-    ePhysicalDeviceFloat16Int8FeaturesKHR     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR,
-    ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR,
-    ePhysicalDeviceGroupPropertiesKHR         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR,
-    ePhysicalDeviceHostQueryResetFeaturesEXT  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
-    ePhysicalDeviceIdPropertiesKHR            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR,
-    ePhysicalDeviceImagelessFramebufferFeaturesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR,
-    ePhysicalDeviceImageFormatInfo2KHR        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,
-    ePhysicalDeviceMaintenance3PropertiesKHR  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR,
-    ePhysicalDeviceMemoryProperties2KHR       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,
-    ePhysicalDeviceMultiviewFeaturesKHR       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,
-    ePhysicalDeviceMultiviewPropertiesKHR     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR,
-    ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR,
-    ePhysicalDeviceProperties2KHR             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,
-    ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,
-    ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,
-    ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT,
-    ePhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR,
-    ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR,
-    ePhysicalDeviceShaderDrawParameterFeatures  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES,
-    ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR,
-    ePhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR,
-    ePhysicalDeviceSparseImageFormatInfo2KHR      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR,
-    ePhysicalDeviceTimelineSemaphoreFeaturesKHR   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR,
-    ePhysicalDeviceTimelineSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR,
-    ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
-      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR,
-    ePhysicalDeviceVariablePointersFeaturesKHR  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
-    ePhysicalDeviceVariablePointerFeatures      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
-    ePhysicalDeviceVariablePointerFeaturesKHR   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR,
-    ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR,
-    ePipelineTessellationDomainOriginStateCreateInfoKHR =
-      VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR,
-    eQueryPoolCreateInfoINTEL         = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
-    eQueueFamilyProperties2KHR        = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,
-    eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR,
-    eRenderPassCreateInfo2KHR         = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR,
-    eRenderPassInputAttachmentAspectCreateInfoKHR =
-      VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
-    eRenderPassMultiviewCreateInfoKHR    = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR,
-    eSamplerReductionModeCreateInfoEXT   = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,
-    eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,
-    eSamplerYcbcrConversionImageFormatPropertiesKHR =
-      VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,
-    eSamplerYcbcrConversionInfoKHR             = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,
-    eSemaphoreSignalInfoKHR                    = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR,
-    eSemaphoreTypeCreateInfoKHR                = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR,
-    eSemaphoreWaitInfoKHR                      = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR,
-    eSparseImageFormatProperties2KHR           = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,
-    eSparseImageMemoryRequirements2KHR         = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR,
-    eSubpassBeginInfoKHR                       = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR,
-    eSubpassDependency2KHR                     = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR,
-    eSubpassDescription2KHR                    = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR,
-    eSubpassDescriptionDepthStencilResolveKHR  = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR,
-    eSubpassEndInfoKHR                         = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR,
-    eTimelineSemaphoreSubmitInfoKHR            = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR,
-    eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( StructureType value )
-  {
-    switch ( value )
-    {
-      case StructureType::eApplicationInfo: return "ApplicationInfo";
-      case StructureType::eInstanceCreateInfo: return "InstanceCreateInfo";
-      case StructureType::eDeviceQueueCreateInfo: return "DeviceQueueCreateInfo";
-      case StructureType::eDeviceCreateInfo: return "DeviceCreateInfo";
-      case StructureType::eSubmitInfo: return "SubmitInfo";
-      case StructureType::eMemoryAllocateInfo: return "MemoryAllocateInfo";
-      case StructureType::eMappedMemoryRange: return "MappedMemoryRange";
-      case StructureType::eBindSparseInfo: return "BindSparseInfo";
-      case StructureType::eFenceCreateInfo: return "FenceCreateInfo";
-      case StructureType::eSemaphoreCreateInfo: return "SemaphoreCreateInfo";
-      case StructureType::eEventCreateInfo: return "EventCreateInfo";
-      case StructureType::eQueryPoolCreateInfo: return "QueryPoolCreateInfo";
-      case StructureType::eBufferCreateInfo: return "BufferCreateInfo";
-      case StructureType::eBufferViewCreateInfo: return "BufferViewCreateInfo";
-      case StructureType::eImageCreateInfo: return "ImageCreateInfo";
-      case StructureType::eImageViewCreateInfo: return "ImageViewCreateInfo";
-      case StructureType::eShaderModuleCreateInfo: return "ShaderModuleCreateInfo";
-      case StructureType::ePipelineCacheCreateInfo: return "PipelineCacheCreateInfo";
-      case StructureType::ePipelineShaderStageCreateInfo: return "PipelineShaderStageCreateInfo";
-      case StructureType::ePipelineVertexInputStateCreateInfo: return "PipelineVertexInputStateCreateInfo";
-      case StructureType::ePipelineInputAssemblyStateCreateInfo: return "PipelineInputAssemblyStateCreateInfo";
-      case StructureType::ePipelineTessellationStateCreateInfo: return "PipelineTessellationStateCreateInfo";
-      case StructureType::ePipelineViewportStateCreateInfo: return "PipelineViewportStateCreateInfo";
-      case StructureType::ePipelineRasterizationStateCreateInfo: return "PipelineRasterizationStateCreateInfo";
-      case StructureType::ePipelineMultisampleStateCreateInfo: return "PipelineMultisampleStateCreateInfo";
-      case StructureType::ePipelineDepthStencilStateCreateInfo: return "PipelineDepthStencilStateCreateInfo";
-      case StructureType::ePipelineColorBlendStateCreateInfo: return "PipelineColorBlendStateCreateInfo";
-      case StructureType::ePipelineDynamicStateCreateInfo: return "PipelineDynamicStateCreateInfo";
-      case StructureType::eGraphicsPipelineCreateInfo: return "GraphicsPipelineCreateInfo";
-      case StructureType::eComputePipelineCreateInfo: return "ComputePipelineCreateInfo";
-      case StructureType::ePipelineLayoutCreateInfo: return "PipelineLayoutCreateInfo";
-      case StructureType::eSamplerCreateInfo: return "SamplerCreateInfo";
-      case StructureType::eDescriptorSetLayoutCreateInfo: return "DescriptorSetLayoutCreateInfo";
-      case StructureType::eDescriptorPoolCreateInfo: return "DescriptorPoolCreateInfo";
-      case StructureType::eDescriptorSetAllocateInfo: return "DescriptorSetAllocateInfo";
-      case StructureType::eWriteDescriptorSet: return "WriteDescriptorSet";
-      case StructureType::eCopyDescriptorSet: return "CopyDescriptorSet";
-      case StructureType::eFramebufferCreateInfo: return "FramebufferCreateInfo";
-      case StructureType::eRenderPassCreateInfo: return "RenderPassCreateInfo";
-      case StructureType::eCommandPoolCreateInfo: return "CommandPoolCreateInfo";
-      case StructureType::eCommandBufferAllocateInfo: return "CommandBufferAllocateInfo";
-      case StructureType::eCommandBufferInheritanceInfo: return "CommandBufferInheritanceInfo";
-      case StructureType::eCommandBufferBeginInfo: return "CommandBufferBeginInfo";
-      case StructureType::eRenderPassBeginInfo: return "RenderPassBeginInfo";
-      case StructureType::eBufferMemoryBarrier: return "BufferMemoryBarrier";
-      case StructureType::eImageMemoryBarrier: return "ImageMemoryBarrier";
-      case StructureType::eMemoryBarrier: return "MemoryBarrier";
-      case StructureType::eLoaderInstanceCreateInfo: return "LoaderInstanceCreateInfo";
-      case StructureType::eLoaderDeviceCreateInfo: return "LoaderDeviceCreateInfo";
-      case StructureType::ePhysicalDeviceSubgroupProperties: return "PhysicalDeviceSubgroupProperties";
-      case StructureType::eBindBufferMemoryInfo: return "BindBufferMemoryInfo";
-      case StructureType::eBindImageMemoryInfo: return "BindImageMemoryInfo";
-      case StructureType::ePhysicalDevice16BitStorageFeatures: return "PhysicalDevice16BitStorageFeatures";
-      case StructureType::eMemoryDedicatedRequirements: return "MemoryDedicatedRequirements";
-      case StructureType::eMemoryDedicatedAllocateInfo: return "MemoryDedicatedAllocateInfo";
-      case StructureType::eMemoryAllocateFlagsInfo: return "MemoryAllocateFlagsInfo";
-      case StructureType::eDeviceGroupRenderPassBeginInfo: return "DeviceGroupRenderPassBeginInfo";
-      case StructureType::eDeviceGroupCommandBufferBeginInfo: return "DeviceGroupCommandBufferBeginInfo";
-      case StructureType::eDeviceGroupSubmitInfo: return "DeviceGroupSubmitInfo";
-      case StructureType::eDeviceGroupBindSparseInfo: return "DeviceGroupBindSparseInfo";
-      case StructureType::eBindBufferMemoryDeviceGroupInfo: return "BindBufferMemoryDeviceGroupInfo";
-      case StructureType::eBindImageMemoryDeviceGroupInfo: return "BindImageMemoryDeviceGroupInfo";
-      case StructureType::ePhysicalDeviceGroupProperties: return "PhysicalDeviceGroupProperties";
-      case StructureType::eDeviceGroupDeviceCreateInfo: return "DeviceGroupDeviceCreateInfo";
-      case StructureType::eBufferMemoryRequirementsInfo2: return "BufferMemoryRequirementsInfo2";
-      case StructureType::eImageMemoryRequirementsInfo2: return "ImageMemoryRequirementsInfo2";
-      case StructureType::eImageSparseMemoryRequirementsInfo2: return "ImageSparseMemoryRequirementsInfo2";
-      case StructureType::eMemoryRequirements2: return "MemoryRequirements2";
-      case StructureType::eSparseImageMemoryRequirements2: return "SparseImageMemoryRequirements2";
-      case StructureType::ePhysicalDeviceFeatures2: return "PhysicalDeviceFeatures2";
-      case StructureType::ePhysicalDeviceProperties2: return "PhysicalDeviceProperties2";
-      case StructureType::eFormatProperties2: return "FormatProperties2";
-      case StructureType::eImageFormatProperties2: return "ImageFormatProperties2";
-      case StructureType::ePhysicalDeviceImageFormatInfo2: return "PhysicalDeviceImageFormatInfo2";
-      case StructureType::eQueueFamilyProperties2: return "QueueFamilyProperties2";
-      case StructureType::ePhysicalDeviceMemoryProperties2: return "PhysicalDeviceMemoryProperties2";
-      case StructureType::eSparseImageFormatProperties2: return "SparseImageFormatProperties2";
-      case StructureType::ePhysicalDeviceSparseImageFormatInfo2: return "PhysicalDeviceSparseImageFormatInfo2";
-      case StructureType::ePhysicalDevicePointClippingProperties: return "PhysicalDevicePointClippingProperties";
-      case StructureType::eRenderPassInputAttachmentAspectCreateInfo:
-        return "RenderPassInputAttachmentAspectCreateInfo";
-      case StructureType::eImageViewUsageCreateInfo: return "ImageViewUsageCreateInfo";
-      case StructureType::ePipelineTessellationDomainOriginStateCreateInfo:
-        return "PipelineTessellationDomainOriginStateCreateInfo";
-      case StructureType::eRenderPassMultiviewCreateInfo: return "RenderPassMultiviewCreateInfo";
-      case StructureType::ePhysicalDeviceMultiviewFeatures: return "PhysicalDeviceMultiviewFeatures";
-      case StructureType::ePhysicalDeviceMultiviewProperties: return "PhysicalDeviceMultiviewProperties";
-      case StructureType::ePhysicalDeviceVariablePointersFeatures: return "PhysicalDeviceVariablePointersFeatures";
-      case StructureType::eProtectedSubmitInfo: return "ProtectedSubmitInfo";
-      case StructureType::ePhysicalDeviceProtectedMemoryFeatures: return "PhysicalDeviceProtectedMemoryFeatures";
-      case StructureType::ePhysicalDeviceProtectedMemoryProperties: return "PhysicalDeviceProtectedMemoryProperties";
-      case StructureType::eDeviceQueueInfo2: return "DeviceQueueInfo2";
-      case StructureType::eSamplerYcbcrConversionCreateInfo: return "SamplerYcbcrConversionCreateInfo";
-      case StructureType::eSamplerYcbcrConversionInfo: return "SamplerYcbcrConversionInfo";
-      case StructureType::eBindImagePlaneMemoryInfo: return "BindImagePlaneMemoryInfo";
-      case StructureType::eImagePlaneMemoryRequirementsInfo: return "ImagePlaneMemoryRequirementsInfo";
-      case StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures:
-        return "PhysicalDeviceSamplerYcbcrConversionFeatures";
-      case StructureType::eSamplerYcbcrConversionImageFormatProperties:
-        return "SamplerYcbcrConversionImageFormatProperties";
-      case StructureType::eDescriptorUpdateTemplateCreateInfo: return "DescriptorUpdateTemplateCreateInfo";
-      case StructureType::ePhysicalDeviceExternalImageFormatInfo: return "PhysicalDeviceExternalImageFormatInfo";
-      case StructureType::eExternalImageFormatProperties: return "ExternalImageFormatProperties";
-      case StructureType::ePhysicalDeviceExternalBufferInfo: return "PhysicalDeviceExternalBufferInfo";
-      case StructureType::eExternalBufferProperties: return "ExternalBufferProperties";
-      case StructureType::ePhysicalDeviceIdProperties: return "PhysicalDeviceIdProperties";
-      case StructureType::eExternalMemoryBufferCreateInfo: return "ExternalMemoryBufferCreateInfo";
-      case StructureType::eExternalMemoryImageCreateInfo: return "ExternalMemoryImageCreateInfo";
-      case StructureType::eExportMemoryAllocateInfo: return "ExportMemoryAllocateInfo";
-      case StructureType::ePhysicalDeviceExternalFenceInfo: return "PhysicalDeviceExternalFenceInfo";
-      case StructureType::eExternalFenceProperties: return "ExternalFenceProperties";
-      case StructureType::eExportFenceCreateInfo: return "ExportFenceCreateInfo";
-      case StructureType::eExportSemaphoreCreateInfo: return "ExportSemaphoreCreateInfo";
-      case StructureType::ePhysicalDeviceExternalSemaphoreInfo: return "PhysicalDeviceExternalSemaphoreInfo";
-      case StructureType::eExternalSemaphoreProperties: return "ExternalSemaphoreProperties";
-      case StructureType::ePhysicalDeviceMaintenance3Properties: return "PhysicalDeviceMaintenance3Properties";
-      case StructureType::eDescriptorSetLayoutSupport: return "DescriptorSetLayoutSupport";
-      case StructureType::ePhysicalDeviceShaderDrawParametersFeatures:
-        return "PhysicalDeviceShaderDrawParametersFeatures";
-      case StructureType::ePhysicalDeviceVulkan11Features: return "PhysicalDeviceVulkan11Features";
-      case StructureType::ePhysicalDeviceVulkan11Properties: return "PhysicalDeviceVulkan11Properties";
-      case StructureType::ePhysicalDeviceVulkan12Features: return "PhysicalDeviceVulkan12Features";
-      case StructureType::ePhysicalDeviceVulkan12Properties: return "PhysicalDeviceVulkan12Properties";
-      case StructureType::eImageFormatListCreateInfo: return "ImageFormatListCreateInfo";
-      case StructureType::eAttachmentDescription2: return "AttachmentDescription2";
-      case StructureType::eAttachmentReference2: return "AttachmentReference2";
-      case StructureType::eSubpassDescription2: return "SubpassDescription2";
-      case StructureType::eSubpassDependency2: return "SubpassDependency2";
-      case StructureType::eRenderPassCreateInfo2: return "RenderPassCreateInfo2";
-      case StructureType::eSubpassBeginInfo: return "SubpassBeginInfo";
-      case StructureType::eSubpassEndInfo: return "SubpassEndInfo";
-      case StructureType::ePhysicalDevice8BitStorageFeatures: return "PhysicalDevice8BitStorageFeatures";
-      case StructureType::ePhysicalDeviceDriverProperties: return "PhysicalDeviceDriverProperties";
-      case StructureType::ePhysicalDeviceShaderAtomicInt64Features: return "PhysicalDeviceShaderAtomicInt64Features";
-      case StructureType::ePhysicalDeviceShaderFloat16Int8Features: return "PhysicalDeviceShaderFloat16Int8Features";
-      case StructureType::ePhysicalDeviceFloatControlsProperties: return "PhysicalDeviceFloatControlsProperties";
-      case StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo:
-        return "DescriptorSetLayoutBindingFlagsCreateInfo";
-      case StructureType::ePhysicalDeviceDescriptorIndexingFeatures: return "PhysicalDeviceDescriptorIndexingFeatures";
-      case StructureType::ePhysicalDeviceDescriptorIndexingProperties:
-        return "PhysicalDeviceDescriptorIndexingProperties";
-      case StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo:
-        return "DescriptorSetVariableDescriptorCountAllocateInfo";
-      case StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport:
-        return "DescriptorSetVariableDescriptorCountLayoutSupport";
-      case StructureType::ePhysicalDeviceDepthStencilResolveProperties:
-        return "PhysicalDeviceDepthStencilResolveProperties";
-      case StructureType::eSubpassDescriptionDepthStencilResolve: return "SubpassDescriptionDepthStencilResolve";
-      case StructureType::ePhysicalDeviceScalarBlockLayoutFeatures: return "PhysicalDeviceScalarBlockLayoutFeatures";
-      case StructureType::eImageStencilUsageCreateInfo: return "ImageStencilUsageCreateInfo";
-      case StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties:
-        return "PhysicalDeviceSamplerFilterMinmaxProperties";
-      case StructureType::eSamplerReductionModeCreateInfo: return "SamplerReductionModeCreateInfo";
-      case StructureType::ePhysicalDeviceVulkanMemoryModelFeatures: return "PhysicalDeviceVulkanMemoryModelFeatures";
-      case StructureType::ePhysicalDeviceImagelessFramebufferFeatures:
-        return "PhysicalDeviceImagelessFramebufferFeatures";
-      case StructureType::eFramebufferAttachmentsCreateInfo: return "FramebufferAttachmentsCreateInfo";
-      case StructureType::eFramebufferAttachmentImageInfo: return "FramebufferAttachmentImageInfo";
-      case StructureType::eRenderPassAttachmentBeginInfo: return "RenderPassAttachmentBeginInfo";
-      case StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures:
-        return "PhysicalDeviceUniformBufferStandardLayoutFeatures";
-      case StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures:
-        return "PhysicalDeviceShaderSubgroupExtendedTypesFeatures";
-      case StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures:
-        return "PhysicalDeviceSeparateDepthStencilLayoutsFeatures";
-      case StructureType::eAttachmentReferenceStencilLayout: return "AttachmentReferenceStencilLayout";
-      case StructureType::eAttachmentDescriptionStencilLayout: return "AttachmentDescriptionStencilLayout";
-      case StructureType::ePhysicalDeviceHostQueryResetFeatures: return "PhysicalDeviceHostQueryResetFeatures";
-      case StructureType::ePhysicalDeviceTimelineSemaphoreFeatures: return "PhysicalDeviceTimelineSemaphoreFeatures";
-      case StructureType::ePhysicalDeviceTimelineSemaphoreProperties:
-        return "PhysicalDeviceTimelineSemaphoreProperties";
-      case StructureType::eSemaphoreTypeCreateInfo: return "SemaphoreTypeCreateInfo";
-      case StructureType::eTimelineSemaphoreSubmitInfo: return "TimelineSemaphoreSubmitInfo";
-      case StructureType::eSemaphoreWaitInfo: return "SemaphoreWaitInfo";
-      case StructureType::eSemaphoreSignalInfo: return "SemaphoreSignalInfo";
-      case StructureType::ePhysicalDeviceBufferDeviceAddressFeatures:
-        return "PhysicalDeviceBufferDeviceAddressFeatures";
-      case StructureType::eBufferDeviceAddressInfo: return "BufferDeviceAddressInfo";
-      case StructureType::eBufferOpaqueCaptureAddressCreateInfo: return "BufferOpaqueCaptureAddressCreateInfo";
-      case StructureType::eMemoryOpaqueCaptureAddressAllocateInfo: return "MemoryOpaqueCaptureAddressAllocateInfo";
-      case StructureType::eDeviceMemoryOpaqueCaptureAddressInfo: return "DeviceMemoryOpaqueCaptureAddressInfo";
-      case StructureType::eSwapchainCreateInfoKHR: return "SwapchainCreateInfoKHR";
-      case StructureType::ePresentInfoKHR: return "PresentInfoKHR";
-      case StructureType::eDeviceGroupPresentCapabilitiesKHR: return "DeviceGroupPresentCapabilitiesKHR";
-      case StructureType::eImageSwapchainCreateInfoKHR: return "ImageSwapchainCreateInfoKHR";
-      case StructureType::eBindImageMemorySwapchainInfoKHR: return "BindImageMemorySwapchainInfoKHR";
-      case StructureType::eAcquireNextImageInfoKHR: return "AcquireNextImageInfoKHR";
-      case StructureType::eDeviceGroupPresentInfoKHR: return "DeviceGroupPresentInfoKHR";
-      case StructureType::eDeviceGroupSwapchainCreateInfoKHR: return "DeviceGroupSwapchainCreateInfoKHR";
-      case StructureType::eDisplayModeCreateInfoKHR: return "DisplayModeCreateInfoKHR";
-      case StructureType::eDisplaySurfaceCreateInfoKHR: return "DisplaySurfaceCreateInfoKHR";
-      case StructureType::eDisplayPresentInfoKHR: return "DisplayPresentInfoKHR";
-      case StructureType::eXlibSurfaceCreateInfoKHR: return "XlibSurfaceCreateInfoKHR";
-      case StructureType::eXcbSurfaceCreateInfoKHR: return "XcbSurfaceCreateInfoKHR";
-      case StructureType::eWaylandSurfaceCreateInfoKHR: return "WaylandSurfaceCreateInfoKHR";
-      case StructureType::eAndroidSurfaceCreateInfoKHR: return "AndroidSurfaceCreateInfoKHR";
-      case StructureType::eWin32SurfaceCreateInfoKHR: return "Win32SurfaceCreateInfoKHR";
-      case StructureType::eDebugReportCallbackCreateInfoEXT: return "DebugReportCallbackCreateInfoEXT";
-      case StructureType::ePipelineRasterizationStateRasterizationOrderAMD:
-        return "PipelineRasterizationStateRasterizationOrderAMD";
-      case StructureType::eDebugMarkerObjectNameInfoEXT: return "DebugMarkerObjectNameInfoEXT";
-      case StructureType::eDebugMarkerObjectTagInfoEXT: return "DebugMarkerObjectTagInfoEXT";
-      case StructureType::eDebugMarkerMarkerInfoEXT: return "DebugMarkerMarkerInfoEXT";
-      case StructureType::eDedicatedAllocationImageCreateInfoNV: return "DedicatedAllocationImageCreateInfoNV";
-      case StructureType::eDedicatedAllocationBufferCreateInfoNV: return "DedicatedAllocationBufferCreateInfoNV";
-      case StructureType::eDedicatedAllocationMemoryAllocateInfoNV: return "DedicatedAllocationMemoryAllocateInfoNV";
-      case StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT:
-        return "PhysicalDeviceTransformFeedbackFeaturesEXT";
-      case StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT:
-        return "PhysicalDeviceTransformFeedbackPropertiesEXT";
-      case StructureType::ePipelineRasterizationStateStreamCreateInfoEXT:
-        return "PipelineRasterizationStateStreamCreateInfoEXT";
-      case StructureType::eImageViewHandleInfoNVX: return "ImageViewHandleInfoNVX";
-      case StructureType::eImageViewAddressPropertiesNVX: return "ImageViewAddressPropertiesNVX";
-      case StructureType::eTextureLodGatherFormatPropertiesAMD: return "TextureLodGatherFormatPropertiesAMD";
-      case StructureType::eStreamDescriptorSurfaceCreateInfoGGP: return "StreamDescriptorSurfaceCreateInfoGGP";
-      case StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV:
-        return "PhysicalDeviceCornerSampledImageFeaturesNV";
-      case StructureType::eExternalMemoryImageCreateInfoNV: return "ExternalMemoryImageCreateInfoNV";
-      case StructureType::eExportMemoryAllocateInfoNV: return "ExportMemoryAllocateInfoNV";
-      case StructureType::eImportMemoryWin32HandleInfoNV: return "ImportMemoryWin32HandleInfoNV";
-      case StructureType::eExportMemoryWin32HandleInfoNV: return "ExportMemoryWin32HandleInfoNV";
-      case StructureType::eWin32KeyedMutexAcquireReleaseInfoNV: return "Win32KeyedMutexAcquireReleaseInfoNV";
-      case StructureType::eValidationFlagsEXT: return "ValidationFlagsEXT";
-      case StructureType::eViSurfaceCreateInfoNN: return "ViSurfaceCreateInfoNN";
-      case StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT:
-        return "PhysicalDeviceTextureCompressionAstcHdrFeaturesEXT";
-      case StructureType::eImageViewAstcDecodeModeEXT: return "ImageViewAstcDecodeModeEXT";
-      case StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT: return "PhysicalDeviceAstcDecodeFeaturesEXT";
-      case StructureType::eImportMemoryWin32HandleInfoKHR: return "ImportMemoryWin32HandleInfoKHR";
-      case StructureType::eExportMemoryWin32HandleInfoKHR: return "ExportMemoryWin32HandleInfoKHR";
-      case StructureType::eMemoryWin32HandlePropertiesKHR: return "MemoryWin32HandlePropertiesKHR";
-      case StructureType::eMemoryGetWin32HandleInfoKHR: return "MemoryGetWin32HandleInfoKHR";
-      case StructureType::eImportMemoryFdInfoKHR: return "ImportMemoryFdInfoKHR";
-      case StructureType::eMemoryFdPropertiesKHR: return "MemoryFdPropertiesKHR";
-      case StructureType::eMemoryGetFdInfoKHR: return "MemoryGetFdInfoKHR";
-      case StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR: return "Win32KeyedMutexAcquireReleaseInfoKHR";
-      case StructureType::eImportSemaphoreWin32HandleInfoKHR: return "ImportSemaphoreWin32HandleInfoKHR";
-      case StructureType::eExportSemaphoreWin32HandleInfoKHR: return "ExportSemaphoreWin32HandleInfoKHR";
-      case StructureType::eD3D12FenceSubmitInfoKHR: return "D3D12FenceSubmitInfoKHR";
-      case StructureType::eSemaphoreGetWin32HandleInfoKHR: return "SemaphoreGetWin32HandleInfoKHR";
-      case StructureType::eImportSemaphoreFdInfoKHR: return "ImportSemaphoreFdInfoKHR";
-      case StructureType::eSemaphoreGetFdInfoKHR: return "SemaphoreGetFdInfoKHR";
-      case StructureType::ePhysicalDevicePushDescriptorPropertiesKHR:
-        return "PhysicalDevicePushDescriptorPropertiesKHR";
-      case StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT:
-        return "CommandBufferInheritanceConditionalRenderingInfoEXT";
-      case StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT:
-        return "PhysicalDeviceConditionalRenderingFeaturesEXT";
-      case StructureType::eConditionalRenderingBeginInfoEXT: return "ConditionalRenderingBeginInfoEXT";
-      case StructureType::ePresentRegionsKHR: return "PresentRegionsKHR";
-      case StructureType::ePipelineViewportWScalingStateCreateInfoNV:
-        return "PipelineViewportWScalingStateCreateInfoNV";
-      case StructureType::eSurfaceCapabilities2EXT: return "SurfaceCapabilities2EXT";
-      case StructureType::eDisplayPowerInfoEXT: return "DisplayPowerInfoEXT";
-      case StructureType::eDeviceEventInfoEXT: return "DeviceEventInfoEXT";
-      case StructureType::eDisplayEventInfoEXT: return "DisplayEventInfoEXT";
-      case StructureType::eSwapchainCounterCreateInfoEXT: return "SwapchainCounterCreateInfoEXT";
-      case StructureType::ePresentTimesInfoGOOGLE: return "PresentTimesInfoGOOGLE";
-      case StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX:
-        return "PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX";
-      case StructureType::ePipelineViewportSwizzleStateCreateInfoNV: return "PipelineViewportSwizzleStateCreateInfoNV";
-      case StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT:
-        return "PhysicalDeviceDiscardRectanglePropertiesEXT";
-      case StructureType::ePipelineDiscardRectangleStateCreateInfoEXT:
-        return "PipelineDiscardRectangleStateCreateInfoEXT";
-      case StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT:
-        return "PhysicalDeviceConservativeRasterizationPropertiesEXT";
-      case StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT:
-        return "PipelineRasterizationConservativeStateCreateInfoEXT";
-      case StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT: return "PhysicalDeviceDepthClipEnableFeaturesEXT";
-      case StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT:
-        return "PipelineRasterizationDepthClipStateCreateInfoEXT";
-      case StructureType::eHdrMetadataEXT: return "HdrMetadataEXT";
-      case StructureType::eSharedPresentSurfaceCapabilitiesKHR: return "SharedPresentSurfaceCapabilitiesKHR";
-      case StructureType::eImportFenceWin32HandleInfoKHR: return "ImportFenceWin32HandleInfoKHR";
-      case StructureType::eExportFenceWin32HandleInfoKHR: return "ExportFenceWin32HandleInfoKHR";
-      case StructureType::eFenceGetWin32HandleInfoKHR: return "FenceGetWin32HandleInfoKHR";
-      case StructureType::eImportFenceFdInfoKHR: return "ImportFenceFdInfoKHR";
-      case StructureType::eFenceGetFdInfoKHR: return "FenceGetFdInfoKHR";
-      case StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR:
-        return "PhysicalDevicePerformanceQueryFeaturesKHR";
-      case StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR:
-        return "PhysicalDevicePerformanceQueryPropertiesKHR";
-      case StructureType::eQueryPoolPerformanceCreateInfoKHR: return "QueryPoolPerformanceCreateInfoKHR";
-      case StructureType::ePerformanceQuerySubmitInfoKHR: return "PerformanceQuerySubmitInfoKHR";
-      case StructureType::eAcquireProfilingLockInfoKHR: return "AcquireProfilingLockInfoKHR";
-      case StructureType::ePerformanceCounterKHR: return "PerformanceCounterKHR";
-      case StructureType::ePerformanceCounterDescriptionKHR: return "PerformanceCounterDescriptionKHR";
-      case StructureType::ePhysicalDeviceSurfaceInfo2KHR: return "PhysicalDeviceSurfaceInfo2KHR";
-      case StructureType::eSurfaceCapabilities2KHR: return "SurfaceCapabilities2KHR";
-      case StructureType::eSurfaceFormat2KHR: return "SurfaceFormat2KHR";
-      case StructureType::eDisplayProperties2KHR: return "DisplayProperties2KHR";
-      case StructureType::eDisplayPlaneProperties2KHR: return "DisplayPlaneProperties2KHR";
-      case StructureType::eDisplayModeProperties2KHR: return "DisplayModeProperties2KHR";
-      case StructureType::eDisplayPlaneInfo2KHR: return "DisplayPlaneInfo2KHR";
-      case StructureType::eDisplayPlaneCapabilities2KHR: return "DisplayPlaneCapabilities2KHR";
-      case StructureType::eIosSurfaceCreateInfoMVK: return "IosSurfaceCreateInfoMVK";
-      case StructureType::eMacosSurfaceCreateInfoMVK: return "MacosSurfaceCreateInfoMVK";
-      case StructureType::eDebugUtilsObjectNameInfoEXT: return "DebugUtilsObjectNameInfoEXT";
-      case StructureType::eDebugUtilsObjectTagInfoEXT: return "DebugUtilsObjectTagInfoEXT";
-      case StructureType::eDebugUtilsLabelEXT: return "DebugUtilsLabelEXT";
-      case StructureType::eDebugUtilsMessengerCallbackDataEXT: return "DebugUtilsMessengerCallbackDataEXT";
-      case StructureType::eDebugUtilsMessengerCreateInfoEXT: return "DebugUtilsMessengerCreateInfoEXT";
-      case StructureType::eAndroidHardwareBufferUsageANDROID: return "AndroidHardwareBufferUsageANDROID";
-      case StructureType::eAndroidHardwareBufferPropertiesANDROID: return "AndroidHardwareBufferPropertiesANDROID";
-      case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID:
-        return "AndroidHardwareBufferFormatPropertiesANDROID";
-      case StructureType::eImportAndroidHardwareBufferInfoANDROID: return "ImportAndroidHardwareBufferInfoANDROID";
-      case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID:
-        return "MemoryGetAndroidHardwareBufferInfoANDROID";
-      case StructureType::eExternalFormatANDROID: return "ExternalFormatANDROID";
-      case StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT:
-        return "PhysicalDeviceInlineUniformBlockFeaturesEXT";
-      case StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT:
-        return "PhysicalDeviceInlineUniformBlockPropertiesEXT";
-      case StructureType::eWriteDescriptorSetInlineUniformBlockEXT: return "WriteDescriptorSetInlineUniformBlockEXT";
-      case StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT:
-        return "DescriptorPoolInlineUniformBlockCreateInfoEXT";
-      case StructureType::eSampleLocationsInfoEXT: return "SampleLocationsInfoEXT";
-      case StructureType::eRenderPassSampleLocationsBeginInfoEXT: return "RenderPassSampleLocationsBeginInfoEXT";
-      case StructureType::ePipelineSampleLocationsStateCreateInfoEXT:
-        return "PipelineSampleLocationsStateCreateInfoEXT";
-      case StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT:
-        return "PhysicalDeviceSampleLocationsPropertiesEXT";
-      case StructureType::eMultisamplePropertiesEXT: return "MultisamplePropertiesEXT";
-      case StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT:
-        return "PhysicalDeviceBlendOperationAdvancedFeaturesEXT";
-      case StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT:
-        return "PhysicalDeviceBlendOperationAdvancedPropertiesEXT";
-      case StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT:
-        return "PipelineColorBlendAdvancedStateCreateInfoEXT";
-      case StructureType::ePipelineCoverageToColorStateCreateInfoNV: return "PipelineCoverageToColorStateCreateInfoNV";
-      case StructureType::eBindAccelerationStructureMemoryInfoKHR: return "BindAccelerationStructureMemoryInfoKHR";
-      case StructureType::eWriteDescriptorSetAccelerationStructureKHR:
-        return "WriteDescriptorSetAccelerationStructureKHR";
-      case StructureType::eAccelerationStructureBuildGeometryInfoKHR:
-        return "AccelerationStructureBuildGeometryInfoKHR";
-      case StructureType::eAccelerationStructureCreateGeometryTypeInfoKHR:
-        return "AccelerationStructureCreateGeometryTypeInfoKHR";
-      case StructureType::eAccelerationStructureDeviceAddressInfoKHR:
-        return "AccelerationStructureDeviceAddressInfoKHR";
-      case StructureType::eAccelerationStructureGeometryAabbsDataKHR:
-        return "AccelerationStructureGeometryAabbsDataKHR";
-      case StructureType::eAccelerationStructureGeometryInstancesDataKHR:
-        return "AccelerationStructureGeometryInstancesDataKHR";
-      case StructureType::eAccelerationStructureGeometryTrianglesDataKHR:
-        return "AccelerationStructureGeometryTrianglesDataKHR";
-      case StructureType::eAccelerationStructureGeometryKHR: return "AccelerationStructureGeometryKHR";
-      case StructureType::eAccelerationStructureMemoryRequirementsInfoKHR:
-        return "AccelerationStructureMemoryRequirementsInfoKHR";
-      case StructureType::eAccelerationStructureVersionKHR: return "AccelerationStructureVersionKHR";
-      case StructureType::eCopyAccelerationStructureInfoKHR: return "CopyAccelerationStructureInfoKHR";
-      case StructureType::eCopyAccelerationStructureToMemoryInfoKHR: return "CopyAccelerationStructureToMemoryInfoKHR";
-      case StructureType::eCopyMemoryToAccelerationStructureInfoKHR: return "CopyMemoryToAccelerationStructureInfoKHR";
-      case StructureType::ePhysicalDeviceRayTracingFeaturesKHR: return "PhysicalDeviceRayTracingFeaturesKHR";
-      case StructureType::ePhysicalDeviceRayTracingPropertiesKHR: return "PhysicalDeviceRayTracingPropertiesKHR";
-      case StructureType::eRayTracingPipelineCreateInfoKHR: return "RayTracingPipelineCreateInfoKHR";
-      case StructureType::eRayTracingShaderGroupCreateInfoKHR: return "RayTracingShaderGroupCreateInfoKHR";
-      case StructureType::eAccelerationStructureCreateInfoKHR: return "AccelerationStructureCreateInfoKHR";
-      case StructureType::eRayTracingPipelineInterfaceCreateInfoKHR: return "RayTracingPipelineInterfaceCreateInfoKHR";
-      case StructureType::ePipelineCoverageModulationStateCreateInfoNV:
-        return "PipelineCoverageModulationStateCreateInfoNV";
-      case StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV: return "PhysicalDeviceShaderSmBuiltinsFeaturesNV";
-      case StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV:
-        return "PhysicalDeviceShaderSmBuiltinsPropertiesNV";
-      case StructureType::eDrmFormatModifierPropertiesListEXT: return "DrmFormatModifierPropertiesListEXT";
-      case StructureType::eDrmFormatModifierPropertiesEXT: return "DrmFormatModifierPropertiesEXT";
-      case StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT:
-        return "PhysicalDeviceImageDrmFormatModifierInfoEXT";
-      case StructureType::eImageDrmFormatModifierListCreateInfoEXT: return "ImageDrmFormatModifierListCreateInfoEXT";
-      case StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT:
-        return "ImageDrmFormatModifierExplicitCreateInfoEXT";
-      case StructureType::eImageDrmFormatModifierPropertiesEXT: return "ImageDrmFormatModifierPropertiesEXT";
-      case StructureType::eValidationCacheCreateInfoEXT: return "ValidationCacheCreateInfoEXT";
-      case StructureType::eShaderModuleValidationCacheCreateInfoEXT: return "ShaderModuleValidationCacheCreateInfoEXT";
-      case StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV:
-        return "PipelineViewportShadingRateImageStateCreateInfoNV";
-      case StructureType::ePhysicalDeviceShadingRateImageFeaturesNV: return "PhysicalDeviceShadingRateImageFeaturesNV";
-      case StructureType::ePhysicalDeviceShadingRateImagePropertiesNV:
-        return "PhysicalDeviceShadingRateImagePropertiesNV";
-      case StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV:
-        return "PipelineViewportCoarseSampleOrderStateCreateInfoNV";
-      case StructureType::eRayTracingPipelineCreateInfoNV: return "RayTracingPipelineCreateInfoNV";
-      case StructureType::eAccelerationStructureCreateInfoNV: return "AccelerationStructureCreateInfoNV";
-      case StructureType::eGeometryNV: return "GeometryNV";
-      case StructureType::eGeometryTrianglesNV: return "GeometryTrianglesNV";
-      case StructureType::eGeometryAabbNV: return "GeometryAabbNV";
-      case StructureType::eAccelerationStructureMemoryRequirementsInfoNV:
-        return "AccelerationStructureMemoryRequirementsInfoNV";
-      case StructureType::ePhysicalDeviceRayTracingPropertiesNV: return "PhysicalDeviceRayTracingPropertiesNV";
-      case StructureType::eRayTracingShaderGroupCreateInfoNV: return "RayTracingShaderGroupCreateInfoNV";
-      case StructureType::eAccelerationStructureInfoNV: return "AccelerationStructureInfoNV";
-      case StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV:
-        return "PhysicalDeviceRepresentativeFragmentTestFeaturesNV";
-      case StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV:
-        return "PipelineRepresentativeFragmentTestStateCreateInfoNV";
-      case StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT:
-        return "PhysicalDeviceImageViewImageFormatInfoEXT";
-      case StructureType::eFilterCubicImageViewImageFormatPropertiesEXT:
-        return "FilterCubicImageViewImageFormatPropertiesEXT";
-      case StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT: return "DeviceQueueGlobalPriorityCreateInfoEXT";
-      case StructureType::eImportMemoryHostPointerInfoEXT: return "ImportMemoryHostPointerInfoEXT";
-      case StructureType::eMemoryHostPointerPropertiesEXT: return "MemoryHostPointerPropertiesEXT";
-      case StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT:
-        return "PhysicalDeviceExternalMemoryHostPropertiesEXT";
-      case StructureType::ePhysicalDeviceShaderClockFeaturesKHR: return "PhysicalDeviceShaderClockFeaturesKHR";
-      case StructureType::ePipelineCompilerControlCreateInfoAMD: return "PipelineCompilerControlCreateInfoAMD";
-      case StructureType::eCalibratedTimestampInfoEXT: return "CalibratedTimestampInfoEXT";
-      case StructureType::ePhysicalDeviceShaderCorePropertiesAMD: return "PhysicalDeviceShaderCorePropertiesAMD";
-      case StructureType::eDeviceMemoryOverallocationCreateInfoAMD: return "DeviceMemoryOverallocationCreateInfoAMD";
-      case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT:
-        return "PhysicalDeviceVertexAttributeDivisorPropertiesEXT";
-      case StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT:
-        return "PipelineVertexInputDivisorStateCreateInfoEXT";
-      case StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT:
-        return "PhysicalDeviceVertexAttributeDivisorFeaturesEXT";
-      case StructureType::ePresentFrameTokenGGP: return "PresentFrameTokenGGP";
-      case StructureType::ePipelineCreationFeedbackCreateInfoEXT: return "PipelineCreationFeedbackCreateInfoEXT";
-      case StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV:
-        return "PhysicalDeviceComputeShaderDerivativesFeaturesNV";
-      case StructureType::ePhysicalDeviceMeshShaderFeaturesNV: return "PhysicalDeviceMeshShaderFeaturesNV";
-      case StructureType::ePhysicalDeviceMeshShaderPropertiesNV: return "PhysicalDeviceMeshShaderPropertiesNV";
-      case StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV:
-        return "PhysicalDeviceFragmentShaderBarycentricFeaturesNV";
-      case StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV:
-        return "PhysicalDeviceShaderImageFootprintFeaturesNV";
-      case StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV:
-        return "PipelineViewportExclusiveScissorStateCreateInfoNV";
-      case StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV: return "PhysicalDeviceExclusiveScissorFeaturesNV";
-      case StructureType::eCheckpointDataNV: return "CheckpointDataNV";
-      case StructureType::eQueueFamilyCheckpointPropertiesNV: return "QueueFamilyCheckpointPropertiesNV";
-      case StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL:
-        return "PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL";
-      case StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL: return "QueryPoolPerformanceQueryCreateInfoINTEL";
-      case StructureType::eInitializePerformanceApiInfoINTEL: return "InitializePerformanceApiInfoINTEL";
-      case StructureType::ePerformanceMarkerInfoINTEL: return "PerformanceMarkerInfoINTEL";
-      case StructureType::ePerformanceStreamMarkerInfoINTEL: return "PerformanceStreamMarkerInfoINTEL";
-      case StructureType::ePerformanceOverrideInfoINTEL: return "PerformanceOverrideInfoINTEL";
-      case StructureType::ePerformanceConfigurationAcquireInfoINTEL: return "PerformanceConfigurationAcquireInfoINTEL";
-      case StructureType::ePhysicalDevicePciBusInfoPropertiesEXT: return "PhysicalDevicePciBusInfoPropertiesEXT";
-      case StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD: return "DisplayNativeHdrSurfaceCapabilitiesAMD";
-      case StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD: return "SwapchainDisplayNativeHdrCreateInfoAMD";
-      case StructureType::eImagepipeSurfaceCreateInfoFUCHSIA: return "ImagepipeSurfaceCreateInfoFUCHSIA";
-      case StructureType::eMetalSurfaceCreateInfoEXT: return "MetalSurfaceCreateInfoEXT";
-      case StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT:
-        return "PhysicalDeviceFragmentDensityMapFeaturesEXT";
-      case StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT:
-        return "PhysicalDeviceFragmentDensityMapPropertiesEXT";
-      case StructureType::eRenderPassFragmentDensityMapCreateInfoEXT:
-        return "RenderPassFragmentDensityMapCreateInfoEXT";
-      case StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT:
-        return "PhysicalDeviceSubgroupSizeControlPropertiesEXT";
-      case StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT:
-        return "PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT";
-      case StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT:
-        return "PhysicalDeviceSubgroupSizeControlFeaturesEXT";
-      case StructureType::ePhysicalDeviceShaderCoreProperties2AMD: return "PhysicalDeviceShaderCoreProperties2AMD";
-      case StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD: return "PhysicalDeviceCoherentMemoryFeaturesAMD";
-      case StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT: return "PhysicalDeviceMemoryBudgetPropertiesEXT";
-      case StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT: return "PhysicalDeviceMemoryPriorityFeaturesEXT";
-      case StructureType::eMemoryPriorityAllocateInfoEXT: return "MemoryPriorityAllocateInfoEXT";
-      case StructureType::eSurfaceProtectedCapabilitiesKHR: return "SurfaceProtectedCapabilitiesKHR";
-      case StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV:
-        return "PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV";
-      case StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT:
-        return "PhysicalDeviceBufferDeviceAddressFeaturesEXT";
-      case StructureType::eBufferDeviceAddressCreateInfoEXT: return "BufferDeviceAddressCreateInfoEXT";
-      case StructureType::ePhysicalDeviceToolPropertiesEXT: return "PhysicalDeviceToolPropertiesEXT";
-      case StructureType::eValidationFeaturesEXT: return "ValidationFeaturesEXT";
-      case StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV:
-        return "PhysicalDeviceCooperativeMatrixFeaturesNV";
-      case StructureType::eCooperativeMatrixPropertiesNV: return "CooperativeMatrixPropertiesNV";
-      case StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV:
-        return "PhysicalDeviceCooperativeMatrixPropertiesNV";
-      case StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV:
-        return "PhysicalDeviceCoverageReductionModeFeaturesNV";
-      case StructureType::ePipelineCoverageReductionStateCreateInfoNV:
-        return "PipelineCoverageReductionStateCreateInfoNV";
-      case StructureType::eFramebufferMixedSamplesCombinationNV: return "FramebufferMixedSamplesCombinationNV";
-      case StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT:
-        return "PhysicalDeviceFragmentShaderInterlockFeaturesEXT";
-      case StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT:
-        return "PhysicalDeviceYcbcrImageArraysFeaturesEXT";
-      case StructureType::eSurfaceFullScreenExclusiveInfoEXT: return "SurfaceFullScreenExclusiveInfoEXT";
-      case StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT:
-        return "SurfaceCapabilitiesFullScreenExclusiveEXT";
-      case StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT: return "SurfaceFullScreenExclusiveWin32InfoEXT";
-      case StructureType::eHeadlessSurfaceCreateInfoEXT: return "HeadlessSurfaceCreateInfoEXT";
-      case StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT:
-        return "PhysicalDeviceLineRasterizationFeaturesEXT";
-      case StructureType::ePipelineRasterizationLineStateCreateInfoEXT:
-        return "PipelineRasterizationLineStateCreateInfoEXT";
-      case StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT:
-        return "PhysicalDeviceLineRasterizationPropertiesEXT";
-      case StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT:
-        return "PhysicalDeviceShaderAtomicFloatFeaturesEXT";
-      case StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT: return "PhysicalDeviceIndexTypeUint8FeaturesEXT";
-      case StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT:
-        return "PhysicalDeviceExtendedDynamicStateFeaturesEXT";
-      case StructureType::eDeferredOperationInfoKHR: return "DeferredOperationInfoKHR";
-      case StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
-        return "PhysicalDevicePipelineExecutablePropertiesFeaturesKHR";
-      case StructureType::ePipelineInfoKHR: return "PipelineInfoKHR";
-      case StructureType::ePipelineExecutablePropertiesKHR: return "PipelineExecutablePropertiesKHR";
-      case StructureType::ePipelineExecutableInfoKHR: return "PipelineExecutableInfoKHR";
-      case StructureType::ePipelineExecutableStatisticKHR: return "PipelineExecutableStatisticKHR";
-      case StructureType::ePipelineExecutableInternalRepresentationKHR:
-        return "PipelineExecutableInternalRepresentationKHR";
-      case StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
-        return "PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT";
-      case StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV:
-        return "PhysicalDeviceDeviceGeneratedCommandsPropertiesNV";
-      case StructureType::eGraphicsShaderGroupCreateInfoNV: return "GraphicsShaderGroupCreateInfoNV";
-      case StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV: return "GraphicsPipelineShaderGroupsCreateInfoNV";
-      case StructureType::eIndirectCommandsLayoutTokenNV: return "IndirectCommandsLayoutTokenNV";
-      case StructureType::eIndirectCommandsLayoutCreateInfoNV: return "IndirectCommandsLayoutCreateInfoNV";
-      case StructureType::eGeneratedCommandsInfoNV: return "GeneratedCommandsInfoNV";
-      case StructureType::eGeneratedCommandsMemoryRequirementsInfoNV:
-        return "GeneratedCommandsMemoryRequirementsInfoNV";
-      case StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV:
-        return "PhysicalDeviceDeviceGeneratedCommandsFeaturesNV";
-      case StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT:
-        return "PhysicalDeviceTexelBufferAlignmentFeaturesEXT";
-      case StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT:
-        return "PhysicalDeviceTexelBufferAlignmentPropertiesEXT";
-      case StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM:
-        return "CommandBufferInheritanceRenderPassTransformInfoQCOM";
-      case StructureType::eRenderPassTransformBeginInfoQCOM: return "RenderPassTransformBeginInfoQCOM";
-      case StructureType::ePhysicalDeviceRobustness2FeaturesEXT: return "PhysicalDeviceRobustness2FeaturesEXT";
-      case StructureType::ePhysicalDeviceRobustness2PropertiesEXT: return "PhysicalDeviceRobustness2PropertiesEXT";
-      case StructureType::eSamplerCustomBorderColorCreateInfoEXT: return "SamplerCustomBorderColorCreateInfoEXT";
-      case StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT:
-        return "PhysicalDeviceCustomBorderColorPropertiesEXT";
-      case StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT:
-        return "PhysicalDeviceCustomBorderColorFeaturesEXT";
-      case StructureType::ePipelineLibraryCreateInfoKHR: return "PipelineLibraryCreateInfoKHR";
-      case StructureType::ePhysicalDevicePrivateDataFeaturesEXT: return "PhysicalDevicePrivateDataFeaturesEXT";
-      case StructureType::eDevicePrivateDataCreateInfoEXT: return "DevicePrivateDataCreateInfoEXT";
-      case StructureType::ePrivateDataSlotCreateInfoEXT: return "PrivateDataSlotCreateInfoEXT";
-      case StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT:
-        return "PhysicalDevicePipelineCreationCacheControlFeaturesEXT";
-      case StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV:
-        return "PhysicalDeviceDiagnosticsConfigFeaturesNV";
-      case StructureType::eDeviceDiagnosticsConfigCreateInfoNV: return "DeviceDiagnosticsConfigCreateInfoNV";
-      case StructureType::eBufferCollectionCreateInfoFUCHSIA: return "BufferCollectionCreateInfoFUCHSIA";
-      case StructureType::eImportMemoryBufferCollectionFUCHSIA: return "ImportMemoryBufferCollectionFUCHSIA";
-      case StructureType::eBufferCollectionImageCreateInfoFUCHSIA: return "BufferCollectionImageCreateInfoFUCHSIA";
-      case StructureType::eBufferCollectionPropertiesFUCHSIA: return "BufferCollectionPropertiesFUCHSIA";
-      case StructureType::eBufferConstraintsInfoFUCHSIA: return "BufferConstraintsInfoFUCHSIA";
-      case StructureType::eBufferCollectionBufferCreateInfoFUCHSIA: return "BufferCollectionBufferCreateInfoFUCHSIA";
-      case StructureType::eImageConstraintsInfoFUCHSIA: return "ImageConstraintsInfoFUCHSIA";
-      case StructureType::eImageFormatConstraintsInfoFUCHSIA: return "ImageFormatConstraintsInfoFUCHSIA";
-      case StructureType::eBufferCollectionProperties2FUCHSIA: return "BufferCollectionProperties2FUCHSIA";
-      case StructureType::eSysmemColorSpaceFUCHSIA: return "SysmemColorSpaceFUCHSIA";
-      case StructureType::eTempImportMemoryZirconHandleInfoFUCHSIA: return "TempImportMemoryZirconHandleInfoFUCHSIA";
-      case StructureType::eTempMemoryZirconHandlePropertiesFUCHSIA: return "TempMemoryZirconHandlePropertiesFUCHSIA";
-      case StructureType::eTempMemoryGetZirconHandleInfoFUCHSIA: return "TempMemoryGetZirconHandleInfoFUCHSIA";
-      case StructureType::eTempImportSemaphoreZirconHandleInfoFUCHSIA:
-        return "TempImportSemaphoreZirconHandleInfoFUCHSIA";
-      case StructureType::eTempSemaphoreGetZirconHandleInfoFUCHSIA: return "TempSemaphoreGetZirconHandleInfoFUCHSIA";
-      case StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT:
-        return "PhysicalDeviceFragmentDensityMap2FeaturesEXT";
-      case StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT:
-        return "PhysicalDeviceFragmentDensityMap2PropertiesEXT";
-      case StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT: return "PhysicalDeviceImageRobustnessFeaturesEXT";
-      case StructureType::eDirectfbSurfaceCreateInfoEXT: return "DirectfbSurfaceCreateInfoEXT";
-      case StructureType::ePhysicalDeviceMemoryControlPropertiesFUCHSIA:
-        return "PhysicalDeviceMemoryControlPropertiesFUCHSIA";
-      case StructureType::eMemoryRangeFUCHSIA: return "MemoryRangeFUCHSIA";
-      case StructureType::eMemoryOpResultFUCHSIA: return "MemoryOpResultFUCHSIA";
-      case StructureType::eControlOpsMemoryAllocateInfoFUCHSIA: return "ControlOpsMemoryAllocateInfoFUCHSIA";
-      default: return "invalid";
-    }
+  void vkCmdSetStencilReference(VkCommandBuffer commandBuffer,
+                                VkStencilFaceFlags faceMask,
+                                uint32_t reference) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetStencilReference(commandBuffer, faceMask, reference);
   }
 
-  enum class SubgroupFeatureFlagBits : VkSubgroupFeatureFlags
-  {
-    eBasic           = VK_SUBGROUP_FEATURE_BASIC_BIT,
-    eVote            = VK_SUBGROUP_FEATURE_VOTE_BIT,
-    eArithmetic      = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT,
-    eBallot          = VK_SUBGROUP_FEATURE_BALLOT_BIT,
-    eShuffle         = VK_SUBGROUP_FEATURE_SHUFFLE_BIT,
-    eShuffleRelative = VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,
-    eClustered       = VK_SUBGROUP_FEATURE_CLUSTERED_BIT,
-    eQuad            = VK_SUBGROUP_FEATURE_QUAD_BIT,
-    ePartitionedNV   = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SubgroupFeatureFlagBits value )
-  {
-    switch ( value )
-    {
-      case SubgroupFeatureFlagBits::eBasic: return "Basic";
-      case SubgroupFeatureFlagBits::eVote: return "Vote";
-      case SubgroupFeatureFlagBits::eArithmetic: return "Arithmetic";
-      case SubgroupFeatureFlagBits::eBallot: return "Ballot";
-      case SubgroupFeatureFlagBits::eShuffle: return "Shuffle";
-      case SubgroupFeatureFlagBits::eShuffleRelative: return "ShuffleRelative";
-      case SubgroupFeatureFlagBits::eClustered: return "Clustered";
-      case SubgroupFeatureFlagBits::eQuad: return "Quad";
-      case SubgroupFeatureFlagBits::ePartitionedNV: return "PartitionedNV";
-      default: return "invalid";
-    }
+  void vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,
+                                    VkBool32 stencilTestEnable) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetStencilTestEnableEXT(commandBuffer, stencilTestEnable);
   }
 
-  enum class SubpassContents
-  {
-    eInline                  = VK_SUBPASS_CONTENTS_INLINE,
-    eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SubpassContents value )
-  {
-    switch ( value )
-    {
-      case SubpassContents::eInline: return "Inline";
-      case SubpassContents::eSecondaryCommandBuffers: return "SecondaryCommandBuffers";
-      default: return "invalid";
-    }
+  void vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,
+                                VkStencilFaceFlags faceMask,
+                                uint32_t writeMask) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
   }
 
-  enum class SubpassDescriptionFlagBits : VkSubpassDescriptionFlags
-  {
-    ePerViewAttributesNVX    = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
-    ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
-    eFragmentRegionQCOM      = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
-    eShaderResolveQCOM       = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SubpassDescriptionFlagBits value )
-  {
-    switch ( value )
-    {
-      case SubpassDescriptionFlagBits::ePerViewAttributesNVX: return "PerViewAttributesNVX";
-      case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX: return "PerViewPositionXOnlyNVX";
-      case SubpassDescriptionFlagBits::eFragmentRegionQCOM: return "FragmentRegionQCOM";
-      case SubpassDescriptionFlagBits::eShaderResolveQCOM: return "ShaderResolveQCOM";
-      default: return "invalid";
-    }
+  void
+  vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport,
+                   uint32_t viewportCount,
+                   const VkViewport *pViewports) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetViewport(commandBuffer, firstViewport, viewportCount,
+                              pViewports);
   }
 
-  enum class SurfaceCounterFlagBitsEXT : VkSurfaceCounterFlagsEXT
-  {
-    eVblank = VK_SURFACE_COUNTER_VBLANK_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SurfaceCounterFlagBitsEXT value )
-  {
-    switch ( value )
-    {
-      case SurfaceCounterFlagBitsEXT::eVblank: return "Vblank";
-      default: return "invalid";
-    }
+  void vkCmdSetViewportShadingRatePaletteNV(
+      VkCommandBuffer commandBuffer, uint32_t firstViewport,
+      uint32_t viewportCount,
+      const VkShadingRatePaletteNV *pShadingRatePalettes) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetViewportShadingRatePaletteNV(
+        commandBuffer, firstViewport, viewportCount, pShadingRatePalettes);
   }
 
-  enum class SurfaceTransformFlagBitsKHR : VkSurfaceTransformFlagsKHR
-  {
-    eIdentity                  = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
-    eRotate90                  = VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
-    eRotate180                 = VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,
-    eRotate270                 = VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,
-    eHorizontalMirror          = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,
-    eHorizontalMirrorRotate90  = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,
-    eHorizontalMirrorRotate180 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,
-    eHorizontalMirrorRotate270 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,
-    eInherit                   = VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SurfaceTransformFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case SurfaceTransformFlagBitsKHR::eIdentity: return "Identity";
-      case SurfaceTransformFlagBitsKHR::eRotate90: return "Rotate90";
-      case SurfaceTransformFlagBitsKHR::eRotate180: return "Rotate180";
-      case SurfaceTransformFlagBitsKHR::eRotate270: return "Rotate270";
-      case SurfaceTransformFlagBitsKHR::eHorizontalMirror: return "HorizontalMirror";
-      case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90: return "HorizontalMirrorRotate90";
-      case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180: return "HorizontalMirrorRotate180";
-      case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270: return "HorizontalMirrorRotate270";
-      case SurfaceTransformFlagBitsKHR::eInherit: return "Inherit";
-      default: return "invalid";
-    }
+  void
+  vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,
+                             uint32_t firstViewport, uint32_t viewportCount,
+                             const VkViewportWScalingNV *pViewportWScalings)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetViewportWScalingNV(commandBuffer, firstViewport,
+                                        viewportCount, pViewportWScalings);
   }
 
-  enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR
-  {
-    eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
-    eProtected                = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR,
-    eMutableFormat            = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SwapchainCreateFlagBitsKHR value )
-  {
-    switch ( value )
-    {
-      case SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions: return "SplitInstanceBindRegions";
-      case SwapchainCreateFlagBitsKHR::eProtected: return "Protected";
-      case SwapchainCreateFlagBitsKHR::eMutableFormat: return "MutableFormat";
-      default: return "invalid";
-    }
+  void vkCmdSetViewportWithCountEXT(
+      VkCommandBuffer commandBuffer, uint32_t viewportCount,
+      const VkViewport *pViewports) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdSetViewportWithCountEXT(commandBuffer, viewportCount,
+                                          pViewports);
   }
 
-  enum class SystemAllocationScope
-  {
-    eCommand  = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
-    eObject   = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,
-    eCache    = VK_SYSTEM_ALLOCATION_SCOPE_CACHE,
-    eDevice   = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,
-    eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( SystemAllocationScope value )
-  {
-    switch ( value )
-    {
-      case SystemAllocationScope::eCommand: return "Command";
-      case SystemAllocationScope::eObject: return "Object";
-      case SystemAllocationScope::eCache: return "Cache";
-      case SystemAllocationScope::eDevice: return "Device";
-      case SystemAllocationScope::eInstance: return "Instance";
-      default: return "invalid";
-    }
+  void vkCmdTraceRaysIndirectKHR(
+      VkCommandBuffer commandBuffer,
+      const VkStridedDeviceAddressRegionKHR *pRaygenShaderBindingTable,
+      const VkStridedDeviceAddressRegionKHR *pMissShaderBindingTable,
+      const VkStridedDeviceAddressRegionKHR *pHitShaderBindingTable,
+      const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable,
+      VkDeviceAddress indirectDeviceAddress) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdTraceRaysIndirectKHR(
+        commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable,
+        pHitShaderBindingTable, pCallableShaderBindingTable,
+        indirectDeviceAddress);
   }
 
-  enum class TessellationDomainOrigin
-  {
-    eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
-    eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
-  };
-  using TessellationDomainOriginKHR = TessellationDomainOrigin;
-
-  VULKAN_HPP_INLINE std::string to_string( TessellationDomainOrigin value )
-  {
-    switch ( value )
-    {
-      case TessellationDomainOrigin::eUpperLeft: return "UpperLeft";
-      case TessellationDomainOrigin::eLowerLeft: return "LowerLeft";
-      default: return "invalid";
-    }
+  void vkCmdTraceRaysKHR(
+      VkCommandBuffer commandBuffer,
+      const VkStridedDeviceAddressRegionKHR *pRaygenShaderBindingTable,
+      const VkStridedDeviceAddressRegionKHR *pMissShaderBindingTable,
+      const VkStridedDeviceAddressRegionKHR *pHitShaderBindingTable,
+      const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable,
+      uint32_t width, uint32_t height,
+      uint32_t depth) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdTraceRaysKHR(commandBuffer, pRaygenShaderBindingTable,
+                               pMissShaderBindingTable, pHitShaderBindingTable,
+                               pCallableShaderBindingTable, width, height,
+                               depth);
   }
 
-  enum class TimeDomainEXT
-  {
-    eDevice                  = VK_TIME_DOMAIN_DEVICE_EXT,
-    eClockMonotonic          = VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT,
-    eClockMonotonicRaw       = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT,
-    eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( TimeDomainEXT value )
-  {
-    switch ( value )
-    {
-      case TimeDomainEXT::eDevice: return "Device";
-      case TimeDomainEXT::eClockMonotonic: return "ClockMonotonic";
-      case TimeDomainEXT::eClockMonotonicRaw: return "ClockMonotonicRaw";
-      case TimeDomainEXT::eQueryPerformanceCounter: return "QueryPerformanceCounter";
-      default: return "invalid";
-    }
+  void vkCmdTraceRaysNV(VkCommandBuffer commandBuffer,
+                        VkBuffer raygenShaderBindingTableBuffer,
+                        VkDeviceSize raygenShaderBindingOffset,
+                        VkBuffer missShaderBindingTableBuffer,
+                        VkDeviceSize missShaderBindingOffset,
+                        VkDeviceSize missShaderBindingStride,
+                        VkBuffer hitShaderBindingTableBuffer,
+                        VkDeviceSize hitShaderBindingOffset,
+                        VkDeviceSize hitShaderBindingStride,
+                        VkBuffer callableShaderBindingTableBuffer,
+                        VkDeviceSize callableShaderBindingOffset,
+                        VkDeviceSize callableShaderBindingStride,
+                        uint32_t width, uint32_t height,
+                        uint32_t depth) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdTraceRaysNV(
+        commandBuffer, raygenShaderBindingTableBuffer,
+        raygenShaderBindingOffset, missShaderBindingTableBuffer,
+        missShaderBindingOffset, missShaderBindingStride,
+        hitShaderBindingTableBuffer, hitShaderBindingOffset,
+        hitShaderBindingStride, callableShaderBindingTableBuffer,
+        callableShaderBindingOffset, callableShaderBindingStride, width, height,
+        depth);
   }
 
-  enum class ToolPurposeFlagBitsEXT : VkToolPurposeFlagsEXT
-  {
-    eValidation         = VK_TOOL_PURPOSE_VALIDATION_BIT_EXT,
-    eProfiling          = VK_TOOL_PURPOSE_PROFILING_BIT_EXT,
-    eTracing            = VK_TOOL_PURPOSE_TRACING_BIT_EXT,
-    eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT,
-    eModifyingFeatures  = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT,
-    eDebugReporting     = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT,
-    eDebugMarkers       = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ToolPurposeFlagBitsEXT value )
-  {
-    switch ( value )
-    {
-      case ToolPurposeFlagBitsEXT::eValidation: return "Validation";
-      case ToolPurposeFlagBitsEXT::eProfiling: return "Profiling";
-      case ToolPurposeFlagBitsEXT::eTracing: return "Tracing";
-      case ToolPurposeFlagBitsEXT::eAdditionalFeatures: return "AdditionalFeatures";
-      case ToolPurposeFlagBitsEXT::eModifyingFeatures: return "ModifyingFeatures";
-      case ToolPurposeFlagBitsEXT::eDebugReporting: return "DebugReporting";
-      case ToolPurposeFlagBitsEXT::eDebugMarkers: return "DebugMarkers";
-      default: return "invalid";
-    }
+  void vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
+                         VkDeviceSize dstOffset, VkDeviceSize dataSize,
+                         const void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize,
+                               pData);
   }
 
-  enum class ValidationCacheHeaderVersionEXT
-  {
-    eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ValidationCacheHeaderVersionEXT value )
-  {
-    switch ( value )
-    {
-      case ValidationCacheHeaderVersionEXT::eOne: return "One";
-      default: return "invalid";
-    }
+  void vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount,
+                       const VkEvent *pEvents,
+                       VkPipelineStageFlags srcStageMask,
+                       VkPipelineStageFlags dstStageMask,
+                       uint32_t memoryBarrierCount,
+                       const VkMemoryBarrier *pMemoryBarriers,
+                       uint32_t bufferMemoryBarrierCount,
+                       const VkBufferMemoryBarrier *pBufferMemoryBarriers,
+                       uint32_t imageMemoryBarrierCount,
+                       const VkImageMemoryBarrier *pImageMemoryBarriers) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask,
+                             dstStageMask, memoryBarrierCount, pMemoryBarriers,
+                             bufferMemoryBarrierCount, pBufferMemoryBarriers,
+                             imageMemoryBarrierCount, pImageMemoryBarriers);
   }
 
-  enum class ValidationCheckEXT
-  {
-    eAll     = VK_VALIDATION_CHECK_ALL_EXT,
-    eShaders = VK_VALIDATION_CHECK_SHADERS_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ValidationCheckEXT value )
-  {
-    switch ( value )
-    {
-      case ValidationCheckEXT::eAll: return "All";
-      case ValidationCheckEXT::eShaders: return "Shaders";
-      default: return "invalid";
-    }
+  void vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer, uint32_t eventCount,
+                           const VkEvent *pEvents,
+                           const VkDependencyInfoKHR *pDependencyInfos) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents,
+                                 pDependencyInfos);
   }
 
-  enum class ValidationFeatureDisableEXT
-  {
-    eAll             = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
-    eShaders         = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT,
-    eThreadSafety    = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,
-    eApiParameters   = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT,
-    eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT,
-    eCoreChecks      = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT,
-    eUniqueHandles   = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ValidationFeatureDisableEXT value )
-  {
-    switch ( value )
-    {
-      case ValidationFeatureDisableEXT::eAll: return "All";
-      case ValidationFeatureDisableEXT::eShaders: return "Shaders";
-      case ValidationFeatureDisableEXT::eThreadSafety: return "ThreadSafety";
-      case ValidationFeatureDisableEXT::eApiParameters: return "ApiParameters";
-      case ValidationFeatureDisableEXT::eObjectLifetimes: return "ObjectLifetimes";
-      case ValidationFeatureDisableEXT::eCoreChecks: return "CoreChecks";
-      case ValidationFeatureDisableEXT::eUniqueHandles: return "UniqueHandles";
-      default: return "invalid";
-    }
+  void vkCmdWriteAccelerationStructuresPropertiesKHR(
+      VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount,
+      const VkAccelerationStructureKHR *pAccelerationStructures,
+      VkQueryType queryType, VkQueryPool queryPool,
+      uint32_t firstQuery) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
+        commandBuffer, accelerationStructureCount, pAccelerationStructures,
+        queryType, queryPool, firstQuery);
   }
 
-  enum class ValidationFeatureEnableEXT
-  {
-    eGpuAssisted                   = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
-    eGpuAssistedReserveBindingSlot = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
-    eBestPractices                 = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
-    eDebugPrintf                   = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ValidationFeatureEnableEXT value )
-  {
-    switch ( value )
-    {
-      case ValidationFeatureEnableEXT::eGpuAssisted: return "GpuAssisted";
-      case ValidationFeatureEnableEXT::eGpuAssistedReserveBindingSlot: return "GpuAssistedReserveBindingSlot";
-      case ValidationFeatureEnableEXT::eBestPractices: return "BestPractices";
-      case ValidationFeatureEnableEXT::eDebugPrintf: return "DebugPrintf";
-      default: return "invalid";
-    }
+  void vkCmdWriteAccelerationStructuresPropertiesNV(
+      VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount,
+      const VkAccelerationStructureNV *pAccelerationStructures,
+      VkQueryType queryType, VkQueryPool queryPool,
+      uint32_t firstQuery) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWriteAccelerationStructuresPropertiesNV(
+        commandBuffer, accelerationStructureCount, pAccelerationStructures,
+        queryType, queryPool, firstQuery);
   }
 
-  enum class VendorId
-  {
-    eVIV      = VK_VENDOR_ID_VIV,
-    eVSI      = VK_VENDOR_ID_VSI,
-    eKazan    = VK_VENDOR_ID_KAZAN,
-    eCodeplay = VK_VENDOR_ID_CODEPLAY,
-    eMESA     = VK_VENDOR_ID_MESA
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( VendorId value )
-  {
-    switch ( value )
-    {
-      case VendorId::eVIV: return "VIV";
-      case VendorId::eVSI: return "VSI";
-      case VendorId::eKazan: return "Kazan";
-      case VendorId::eCodeplay: return "Codeplay";
-      case VendorId::eMESA: return "MESA";
-      default: return "invalid";
-    }
+  void vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,
+                                  VkPipelineStageFlags2KHR stage,
+                                  VkBuffer dstBuffer, VkDeviceSize dstOffset,
+                                  uint32_t marker) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer,
+                                        dstOffset, marker);
   }
 
-  enum class VertexInputRate
-  {
-    eVertex   = VK_VERTEX_INPUT_RATE_VERTEX,
-    eInstance = VK_VERTEX_INPUT_RATE_INSTANCE
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( VertexInputRate value )
-  {
-    switch ( value )
-    {
-      case VertexInputRate::eVertex: return "Vertex";
-      case VertexInputRate::eInstance: return "Instance";
-      default: return "invalid";
-    }
+  void vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,
+                                 VkPipelineStageFlagBits pipelineStage,
+                                 VkBuffer dstBuffer, VkDeviceSize dstOffset,
+                                 uint32_t marker) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWriteBufferMarkerAMD(commandBuffer, pipelineStage, dstBuffer,
+                                       dstOffset, marker);
   }
 
-  enum class ViewportCoordinateSwizzleNV
-  {
-    ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
-    eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
-    ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
-    eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
-    ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
-    eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
-    ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
-    eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ViewportCoordinateSwizzleNV value )
-  {
-    switch ( value )
-    {
-      case ViewportCoordinateSwizzleNV::ePositiveX: return "PositiveX";
-      case ViewportCoordinateSwizzleNV::eNegativeX: return "NegativeX";
-      case ViewportCoordinateSwizzleNV::ePositiveY: return "PositiveY";
-      case ViewportCoordinateSwizzleNV::eNegativeY: return "NegativeY";
-      case ViewportCoordinateSwizzleNV::ePositiveZ: return "PositiveZ";
-      case ViewportCoordinateSwizzleNV::eNegativeZ: return "NegativeZ";
-      case ViewportCoordinateSwizzleNV::ePositiveW: return "PositiveW";
-      case ViewportCoordinateSwizzleNV::eNegativeW: return "NegativeW";
-      default: return "invalid";
-    }
+  void vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,
+                           VkPipelineStageFlagBits pipelineStage,
+                           VkQueryPool queryPool,
+                           uint32_t query) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool,
+                                 query);
   }
 
-  template <typename T>
-  struct IndexTypeValue
-  {};
-
-  template <>
-  struct IndexTypeValue<uint16_t>
-  {
-    static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint16;
-  };
-
-  template <>
-  struct CppType<IndexType, IndexType::eUint16>
-  {
-    using Type = uint16_t;
-  };
-
-  template <>
-  struct IndexTypeValue<uint32_t>
-  {
-    static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint32;
-  };
-
-  template <>
-  struct CppType<IndexType, IndexType::eUint32>
-  {
-    using Type = uint32_t;
-  };
-
-  template <>
-  struct IndexTypeValue<uint8_t>
-  {
-    static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8EXT;
-  };
-
-  template <>
-  struct CppType<IndexType, IndexType::eUint8EXT>
-  {
-    using Type = uint8_t;
-  };
-
-  using AccessFlags = Flags<AccessFlagBits>;
-
-  template <>
-  struct FlagTraits<AccessFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags =
-        VkFlags( AccessFlagBits::eIndirectCommandRead ) | VkFlags( AccessFlagBits::eIndexRead ) |
-        VkFlags( AccessFlagBits::eVertexAttributeRead ) | VkFlags( AccessFlagBits::eUniformRead ) |
-        VkFlags( AccessFlagBits::eInputAttachmentRead ) | VkFlags( AccessFlagBits::eShaderRead ) |
-        VkFlags( AccessFlagBits::eShaderWrite ) | VkFlags( AccessFlagBits::eColorAttachmentRead ) |
-        VkFlags( AccessFlagBits::eColorAttachmentWrite ) | VkFlags( AccessFlagBits::eDepthStencilAttachmentRead ) |
-        VkFlags( AccessFlagBits::eDepthStencilAttachmentWrite ) | VkFlags( AccessFlagBits::eTransferRead ) |
-        VkFlags( AccessFlagBits::eTransferWrite ) | VkFlags( AccessFlagBits::eHostRead ) |
-        VkFlags( AccessFlagBits::eHostWrite ) | VkFlags( AccessFlagBits::eMemoryRead ) |
-        VkFlags( AccessFlagBits::eMemoryWrite ) | VkFlags( AccessFlagBits::eTransformFeedbackWriteEXT ) |
-        VkFlags( AccessFlagBits::eTransformFeedbackCounterReadEXT ) |
-        VkFlags( AccessFlagBits::eTransformFeedbackCounterWriteEXT ) |
-        VkFlags( AccessFlagBits::eConditionalRenderingReadEXT ) |
-        VkFlags( AccessFlagBits::eColorAttachmentReadNoncoherentEXT ) |
-        VkFlags( AccessFlagBits::eAccelerationStructureReadKHR ) |
-        VkFlags( AccessFlagBits::eAccelerationStructureWriteKHR ) | VkFlags( AccessFlagBits::eShadingRateImageReadNV ) |
-        VkFlags( AccessFlagBits::eFragmentDensityMapReadEXT ) | VkFlags( AccessFlagBits::eCommandPreprocessReadNV ) |
-        VkFlags( AccessFlagBits::eCommandPreprocessWriteNV )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator|( AccessFlagBits bit0,
-                                                                AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return AccessFlags( bit0 ) | bit1;
+  void vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,
+                               VkPipelineStageFlags2KHR stage,
+                               VkQueryPool queryPool,
+                               uint32_t query) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator&( AccessFlagBits bit0,
-                                                                AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return AccessFlags( bit0 ) & bit1;
+  VkResult vkCompileDeferredNV(VkDevice device, VkPipeline pipeline,
+                               uint32_t shader) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCompileDeferredNV(device, pipeline, shader);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator^( AccessFlagBits bit0,
-                                                                AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return AccessFlags( bit0 ) ^ bit1;
+  VkResult vkCopyAccelerationStructureKHR(
+      VkDevice device, VkDeferredOperationKHR deferredOperation,
+      const VkCopyAccelerationStructureInfoKHR *pInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCopyAccelerationStructureKHR(device, deferredOperation, pInfo);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator~( AccessFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( AccessFlags( bits ) );
+  VkResult vkCopyAccelerationStructureToMemoryKHR(
+      VkDevice device, VkDeferredOperationKHR deferredOperation,
+      const VkCopyAccelerationStructureToMemoryInfoKHR *pInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCopyAccelerationStructureToMemoryKHR(device, deferredOperation,
+                                                    pInfo);
   }
 
-  VULKAN_HPP_INLINE std::string to_string( AccessFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & AccessFlagBits::eIndirectCommandRead )
-      result += "IndirectCommandRead | ";
-    if ( value & AccessFlagBits::eIndexRead )
-      result += "IndexRead | ";
-    if ( value & AccessFlagBits::eVertexAttributeRead )
-      result += "VertexAttributeRead | ";
-    if ( value & AccessFlagBits::eUniformRead )
-      result += "UniformRead | ";
-    if ( value & AccessFlagBits::eInputAttachmentRead )
-      result += "InputAttachmentRead | ";
-    if ( value & AccessFlagBits::eShaderRead )
-      result += "ShaderRead | ";
-    if ( value & AccessFlagBits::eShaderWrite )
-      result += "ShaderWrite | ";
-    if ( value & AccessFlagBits::eColorAttachmentRead )
-      result += "ColorAttachmentRead | ";
-    if ( value & AccessFlagBits::eColorAttachmentWrite )
-      result += "ColorAttachmentWrite | ";
-    if ( value & AccessFlagBits::eDepthStencilAttachmentRead )
-      result += "DepthStencilAttachmentRead | ";
-    if ( value & AccessFlagBits::eDepthStencilAttachmentWrite )
-      result += "DepthStencilAttachmentWrite | ";
-    if ( value & AccessFlagBits::eTransferRead )
-      result += "TransferRead | ";
-    if ( value & AccessFlagBits::eTransferWrite )
-      result += "TransferWrite | ";
-    if ( value & AccessFlagBits::eHostRead )
-      result += "HostRead | ";
-    if ( value & AccessFlagBits::eHostWrite )
-      result += "HostWrite | ";
-    if ( value & AccessFlagBits::eMemoryRead )
-      result += "MemoryRead | ";
-    if ( value & AccessFlagBits::eMemoryWrite )
-      result += "MemoryWrite | ";
-    if ( value & AccessFlagBits::eTransformFeedbackWriteEXT )
-      result += "TransformFeedbackWriteEXT | ";
-    if ( value & AccessFlagBits::eTransformFeedbackCounterReadEXT )
-      result += "TransformFeedbackCounterReadEXT | ";
-    if ( value & AccessFlagBits::eTransformFeedbackCounterWriteEXT )
-      result += "TransformFeedbackCounterWriteEXT | ";
-    if ( value & AccessFlagBits::eConditionalRenderingReadEXT )
-      result += "ConditionalRenderingReadEXT | ";
-    if ( value & AccessFlagBits::eColorAttachmentReadNoncoherentEXT )
-      result += "ColorAttachmentReadNoncoherentEXT | ";
-    if ( value & AccessFlagBits::eAccelerationStructureReadKHR )
-      result += "AccelerationStructureReadKHR | ";
-    if ( value & AccessFlagBits::eAccelerationStructureWriteKHR )
-      result += "AccelerationStructureWriteKHR | ";
-    if ( value & AccessFlagBits::eShadingRateImageReadNV )
-      result += "ShadingRateImageReadNV | ";
-    if ( value & AccessFlagBits::eFragmentDensityMapReadEXT )
-      result += "FragmentDensityMapReadEXT | ";
-    if ( value & AccessFlagBits::eCommandPreprocessReadNV )
-      result += "CommandPreprocessReadNV | ";
-    if ( value & AccessFlagBits::eCommandPreprocessWriteNV )
-      result += "CommandPreprocessWriteNV | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+  VkResult vkCopyMemoryToAccelerationStructureKHR(
+      VkDevice device, VkDeferredOperationKHR deferredOperation,
+      const VkCopyMemoryToAccelerationStructureInfoKHR *pInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCopyMemoryToAccelerationStructureKHR(device, deferredOperation,
+                                                    pInfo);
   }
 
-  using AcquireProfilingLockFlagsKHR = Flags<AcquireProfilingLockFlagBitsKHR>;
-
-  VULKAN_HPP_INLINE std::string to_string( AcquireProfilingLockFlagsKHR )
-  {
-    return "{}";
+  VkResult vkCreateAccelerationStructureKHR(
+      VkDevice device, const VkAccelerationStructureCreateInfoKHR *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkAccelerationStructureKHR *pAccelerationStructure) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateAccelerationStructureKHR(device, pCreateInfo, pAllocator,
+                                              pAccelerationStructure);
   }
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  enum class AndroidSurfaceCreateFlagBitsKHR : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( AndroidSurfaceCreateFlagBitsKHR )
-  {
-    return "(void)";
+  VkResult vkCreateAccelerationStructureNV(
+      VkDevice device, const VkAccelerationStructureCreateInfoNV *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkAccelerationStructureNV *pAccelerationStructure) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateAccelerationStructureNV(device, pCreateInfo, pAllocator,
+                                             pAccelerationStructure);
   }
 
-  using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR>;
-
-  VULKAN_HPP_INLINE std::string to_string( AndroidSurfaceCreateFlagsKHR )
-  {
-    return "{}";
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  VkResult
+  vkCreateAndroidSurfaceKHR(VkInstance instance,
+                            const VkAndroidSurfaceCreateInfoKHR *pCreateInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator,
+                                       pSurface);
   }
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 
-  using AttachmentDescriptionFlags = Flags<AttachmentDescriptionFlagBits>;
-
-  template <>
-  struct FlagTraits<AttachmentDescriptionFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( AttachmentDescriptionFlagBits::eMayAlias )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
-    operator|( AttachmentDescriptionFlagBits bit0, AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return AttachmentDescriptionFlags( bit0 ) | bit1;
+  VkResult vkCreateBuffer(VkDevice device,
+                          const VkBufferCreateInfo *pCreateInfo,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkBuffer *pBuffer) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
-    operator&( AttachmentDescriptionFlagBits bit0, AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return AttachmentDescriptionFlags( bit0 ) & bit1;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkCreateBufferCollectionFUCHSIA(
+      VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA *pImportInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkBufferCollectionFUCHSIA *pCollection) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateBufferCollectionFUCHSIA(device, pImportInfo, pAllocator,
+                                             pCollection);
   }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
-    operator^( AttachmentDescriptionFlagBits bit0, AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return AttachmentDescriptionFlags( bit0 ) ^ bit1;
+  VkResult vkCreateBufferView(VkDevice device,
+                              const VkBufferViewCreateInfo *pCreateInfo,
+                              const VkAllocationCallbacks *pAllocator,
+                              VkBufferView *pView) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags operator~( AttachmentDescriptionFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( AttachmentDescriptionFlags( bits ) );
+  VkResult
+  vkCreateCommandPool(VkDevice device,
+                      const VkCommandPoolCreateInfo *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkCommandPool *pCommandPool) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
   }
 
-  VULKAN_HPP_INLINE std::string to_string( AttachmentDescriptionFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & AttachmentDescriptionFlagBits::eMayAlias )
-      result += "MayAlias | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+  VkResult
+  vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache,
+                           uint32_t createInfoCount,
+                           const VkComputePipelineCreateInfo *pCreateInfos,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkPipeline *pPipelines) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateComputePipelines(device, pipelineCache, createInfoCount,
+                                      pCreateInfos, pAllocator, pPipelines);
   }
 
-  using BufferCreateFlags = Flags<BufferCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<BufferCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( BufferCreateFlagBits::eSparseBinding ) | VkFlags( BufferCreateFlagBits::eSparseResidency ) |
-                 VkFlags( BufferCreateFlagBits::eSparseAliased ) | VkFlags( BufferCreateFlagBits::eProtected ) |
-                 VkFlags( BufferCreateFlagBits::eDeviceAddressCaptureReplay )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator|( BufferCreateFlagBits bit0,
-                                                                      BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BufferCreateFlags( bit0 ) | bit1;
+  VkResult vkCreateDebugReportCallbackEXT(
+      VkInstance instance,
+      const VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkDebugReportCallbackEXT *pCallback) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDebugReportCallbackEXT(instance, pCreateInfo, pAllocator,
+                                            pCallback);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator&( BufferCreateFlagBits bit0,
-                                                                      BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BufferCreateFlags( bit0 ) & bit1;
+  VkResult vkCreateDebugUtilsMessengerEXT(
+      VkInstance instance,
+      const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkDebugUtilsMessengerEXT *pMessenger) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator,
+                                            pMessenger);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator^( BufferCreateFlagBits bit0,
-                                                                      BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BufferCreateFlags( bit0 ) ^ bit1;
+  VkResult vkCreateDeferredOperationKHR(
+      VkDevice device, const VkAllocationCallbacks *pAllocator,
+      VkDeferredOperationKHR *pDeferredOperation) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDeferredOperationKHR(device, pAllocator,
+                                          pDeferredOperation);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator~( BufferCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( BufferCreateFlags( bits ) );
+  VkResult vkCreateDescriptorPool(
+      VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkDescriptorPool *pDescriptorPool) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDescriptorPool(device, pCreateInfo, pAllocator,
+                                    pDescriptorPool);
   }
 
-  VULKAN_HPP_INLINE std::string to_string( BufferCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & BufferCreateFlagBits::eSparseBinding )
-      result += "SparseBinding | ";
-    if ( value & BufferCreateFlagBits::eSparseResidency )
-      result += "SparseResidency | ";
-    if ( value & BufferCreateFlagBits::eSparseAliased )
-      result += "SparseAliased | ";
-    if ( value & BufferCreateFlagBits::eProtected )
-      result += "Protected | ";
-    if ( value & BufferCreateFlagBits::eDeviceAddressCaptureReplay )
-      result += "DeviceAddressCaptureReplay | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+  VkResult vkCreateDescriptorSetLayout(
+      VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkDescriptorSetLayout *pSetLayout) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator,
+                                         pSetLayout);
   }
 
-  using BufferUsageFlags = Flags<BufferUsageFlagBits>;
-
-  template <>
-  struct FlagTraits<BufferUsageFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags =
-        VkFlags( BufferUsageFlagBits::eTransferSrc ) | VkFlags( BufferUsageFlagBits::eTransferDst ) |
-        VkFlags( BufferUsageFlagBits::eUniformTexelBuffer ) | VkFlags( BufferUsageFlagBits::eStorageTexelBuffer ) |
-        VkFlags( BufferUsageFlagBits::eUniformBuffer ) | VkFlags( BufferUsageFlagBits::eStorageBuffer ) |
-        VkFlags( BufferUsageFlagBits::eIndexBuffer ) | VkFlags( BufferUsageFlagBits::eVertexBuffer ) |
-        VkFlags( BufferUsageFlagBits::eIndirectBuffer ) | VkFlags( BufferUsageFlagBits::eShaderDeviceAddress ) |
-        VkFlags( BufferUsageFlagBits::eTransformFeedbackBufferEXT ) |
-        VkFlags( BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT ) |
-        VkFlags( BufferUsageFlagBits::eConditionalRenderingEXT ) | VkFlags( BufferUsageFlagBits::eRayTracingKHR )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator|( BufferUsageFlagBits bit0,
-                                                                     BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BufferUsageFlags( bit0 ) | bit1;
+  VkResult vkCreateDescriptorUpdateTemplate(
+      VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator,
+                                              pDescriptorUpdateTemplate);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator&( BufferUsageFlagBits bit0,
-                                                                     BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BufferUsageFlags( bit0 ) & bit1;
+  VkResult vkCreateDescriptorUpdateTemplateKHR(
+      VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDescriptorUpdateTemplateKHR(
+        device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator^( BufferUsageFlagBits bit0,
-                                                                     BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BufferUsageFlags( bit0 ) ^ bit1;
+  VkResult vkCreateDevice(VkPhysicalDevice physicalDevice,
+                          const VkDeviceCreateInfo *pCreateInfo,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkDevice *pDevice) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator~( BufferUsageFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( BufferUsageFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( BufferUsageFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & BufferUsageFlagBits::eTransferSrc )
-      result += "TransferSrc | ";
-    if ( value & BufferUsageFlagBits::eTransferDst )
-      result += "TransferDst | ";
-    if ( value & BufferUsageFlagBits::eUniformTexelBuffer )
-      result += "UniformTexelBuffer | ";
-    if ( value & BufferUsageFlagBits::eStorageTexelBuffer )
-      result += "StorageTexelBuffer | ";
-    if ( value & BufferUsageFlagBits::eUniformBuffer )
-      result += "UniformBuffer | ";
-    if ( value & BufferUsageFlagBits::eStorageBuffer )
-      result += "StorageBuffer | ";
-    if ( value & BufferUsageFlagBits::eIndexBuffer )
-      result += "IndexBuffer | ";
-    if ( value & BufferUsageFlagBits::eVertexBuffer )
-      result += "VertexBuffer | ";
-    if ( value & BufferUsageFlagBits::eIndirectBuffer )
-      result += "IndirectBuffer | ";
-    if ( value & BufferUsageFlagBits::eShaderDeviceAddress )
-      result += "ShaderDeviceAddress | ";
-    if ( value & BufferUsageFlagBits::eTransformFeedbackBufferEXT )
-      result += "TransformFeedbackBufferEXT | ";
-    if ( value & BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT )
-      result += "TransformFeedbackCounterBufferEXT | ";
-    if ( value & BufferUsageFlagBits::eConditionalRenderingEXT )
-      result += "ConditionalRenderingEXT | ";
-    if ( value & BufferUsageFlagBits::eRayTracingKHR )
-      result += "RayTracingKHR | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class BufferViewCreateFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( BufferViewCreateFlagBits )
-  {
-    return "(void)";
-  }
-
-  using BufferViewCreateFlags = Flags<BufferViewCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( BufferViewCreateFlags )
-  {
-    return "{}";
-  }
-
-  using BuildAccelerationStructureFlagsKHR = Flags<BuildAccelerationStructureFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<BuildAccelerationStructureFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( BuildAccelerationStructureFlagBitsKHR::eAllowUpdate ) |
-                 VkFlags( BuildAccelerationStructureFlagBitsKHR::eAllowCompaction ) |
-                 VkFlags( BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace ) |
-                 VkFlags( BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild ) |
-                 VkFlags( BuildAccelerationStructureFlagBitsKHR::eLowMemory )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator|(
-    BuildAccelerationStructureFlagBitsKHR bit0, BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BuildAccelerationStructureFlagsKHR( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator&(
-    BuildAccelerationStructureFlagBitsKHR bit0, BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BuildAccelerationStructureFlagsKHR( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator^(
-    BuildAccelerationStructureFlagBitsKHR bit0, BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return BuildAccelerationStructureFlagsKHR( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR
-    operator~( BuildAccelerationStructureFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( BuildAccelerationStructureFlagsKHR( bits ) );
-  }
-
-  using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( BuildAccelerationStructureFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowUpdate )
-      result += "AllowUpdate | ";
-    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowCompaction )
-      result += "AllowCompaction | ";
-    if ( value & BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace )
-      result += "PreferFastTrace | ";
-    if ( value & BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild )
-      result += "PreferFastBuild | ";
-    if ( value & BuildAccelerationStructureFlagBitsKHR::eLowMemory )
-      result += "LowMemory | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ColorComponentFlags = Flags<ColorComponentFlagBits>;
-
-  template <>
-  struct FlagTraits<ColorComponentFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ColorComponentFlagBits::eR ) | VkFlags( ColorComponentFlagBits::eG ) |
-                 VkFlags( ColorComponentFlagBits::eB ) | VkFlags( ColorComponentFlagBits::eA )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
-    operator|( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ColorComponentFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
-    operator&( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ColorComponentFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
-    operator^( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ColorComponentFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags operator~( ColorComponentFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ColorComponentFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ColorComponentFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ColorComponentFlagBits::eR )
-      result += "R | ";
-    if ( value & ColorComponentFlagBits::eG )
-      result += "G | ";
-    if ( value & ColorComponentFlagBits::eB )
-      result += "B | ";
-    if ( value & ColorComponentFlagBits::eA )
-      result += "A | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using CommandBufferResetFlags = Flags<CommandBufferResetFlagBits>;
-
-  template <>
-  struct FlagTraits<CommandBufferResetFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( CommandBufferResetFlagBits::eReleaseResources )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
-    operator|( CommandBufferResetFlagBits bit0, CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandBufferResetFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
-    operator&( CommandBufferResetFlagBits bit0, CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandBufferResetFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
-    operator^( CommandBufferResetFlagBits bit0, CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandBufferResetFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags operator~( CommandBufferResetFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( CommandBufferResetFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( CommandBufferResetFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & CommandBufferResetFlagBits::eReleaseResources )
-      result += "ReleaseResources | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using CommandBufferUsageFlags = Flags<CommandBufferUsageFlagBits>;
-
-  template <>
-  struct FlagTraits<CommandBufferUsageFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( CommandBufferUsageFlagBits::eOneTimeSubmit ) |
-                 VkFlags( CommandBufferUsageFlagBits::eRenderPassContinue ) |
-                 VkFlags( CommandBufferUsageFlagBits::eSimultaneousUse )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
-    operator|( CommandBufferUsageFlagBits bit0, CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandBufferUsageFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
-    operator&( CommandBufferUsageFlagBits bit0, CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandBufferUsageFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
-    operator^( CommandBufferUsageFlagBits bit0, CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandBufferUsageFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags operator~( CommandBufferUsageFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( CommandBufferUsageFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( CommandBufferUsageFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & CommandBufferUsageFlagBits::eOneTimeSubmit )
-      result += "OneTimeSubmit | ";
-    if ( value & CommandBufferUsageFlagBits::eRenderPassContinue )
-      result += "RenderPassContinue | ";
-    if ( value & CommandBufferUsageFlagBits::eSimultaneousUse )
-      result += "SimultaneousUse | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using CommandPoolCreateFlags = Flags<CommandPoolCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<CommandPoolCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( CommandPoolCreateFlagBits::eTransient ) |
-                 VkFlags( CommandPoolCreateFlagBits::eResetCommandBuffer ) |
-                 VkFlags( CommandPoolCreateFlagBits::eProtected )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
-    operator|( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandPoolCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
-    operator&( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandPoolCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
-    operator^( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandPoolCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags operator~( CommandPoolCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( CommandPoolCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( CommandPoolCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & CommandPoolCreateFlagBits::eTransient )
-      result += "Transient | ";
-    if ( value & CommandPoolCreateFlagBits::eResetCommandBuffer )
-      result += "ResetCommandBuffer | ";
-    if ( value & CommandPoolCreateFlagBits::eProtected )
-      result += "Protected | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using CommandPoolResetFlags = Flags<CommandPoolResetFlagBits>;
-
-  template <>
-  struct FlagTraits<CommandPoolResetFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( CommandPoolResetFlagBits::eReleaseResources )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
-    operator|( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandPoolResetFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
-    operator&( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandPoolResetFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
-    operator^( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CommandPoolResetFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags operator~( CommandPoolResetFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( CommandPoolResetFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( CommandPoolResetFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & CommandPoolResetFlagBits::eReleaseResources )
-      result += "ReleaseResources | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class CommandPoolTrimFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( CommandPoolTrimFlagBits )
-  {
-    return "(void)";
-  }
-
-  using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits>;
-
-  using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( CommandPoolTrimFlags )
-  {
-    return "{}";
-  }
-
-  using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<CompositeAlphaFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( CompositeAlphaFlagBitsKHR::eOpaque ) | VkFlags( CompositeAlphaFlagBitsKHR::ePreMultiplied ) |
-                 VkFlags( CompositeAlphaFlagBitsKHR::ePostMultiplied ) | VkFlags( CompositeAlphaFlagBitsKHR::eInherit )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
-    operator|( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CompositeAlphaFlagsKHR( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
-    operator&( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CompositeAlphaFlagsKHR( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
-    operator^( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CompositeAlphaFlagsKHR( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator~( CompositeAlphaFlagBitsKHR bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( CompositeAlphaFlagsKHR( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( CompositeAlphaFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & CompositeAlphaFlagBitsKHR::eOpaque )
-      result += "Opaque | ";
-    if ( value & CompositeAlphaFlagBitsKHR::ePreMultiplied )
-      result += "PreMultiplied | ";
-    if ( value & CompositeAlphaFlagBitsKHR::ePostMultiplied )
-      result += "PostMultiplied | ";
-    if ( value & CompositeAlphaFlagBitsKHR::eInherit )
-      result += "Inherit | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ConditionalRenderingFlagsEXT = Flags<ConditionalRenderingFlagBitsEXT>;
-
-  template <>
-  struct FlagTraits<ConditionalRenderingFlagBitsEXT>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ConditionalRenderingFlagBitsEXT::eInverted )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
-    operator|( ConditionalRenderingFlagBitsEXT bit0, ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ConditionalRenderingFlagsEXT( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
-    operator&( ConditionalRenderingFlagBitsEXT bit0, ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ConditionalRenderingFlagsEXT( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
-    operator^( ConditionalRenderingFlagBitsEXT bit0, ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ConditionalRenderingFlagsEXT( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT operator~( ConditionalRenderingFlagBitsEXT bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ConditionalRenderingFlagsEXT( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ConditionalRenderingFlagsEXT value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ConditionalRenderingFlagBitsEXT::eInverted )
-      result += "Inverted | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using CullModeFlags = Flags<CullModeFlagBits>;
-
-  template <>
-  struct FlagTraits<CullModeFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( CullModeFlagBits::eNone ) | VkFlags( CullModeFlagBits::eFront ) |
-                 VkFlags( CullModeFlagBits::eBack ) | VkFlags( CullModeFlagBits::eFrontAndBack )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator|( CullModeFlagBits bit0,
-                                                                  CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CullModeFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator&( CullModeFlagBits bit0,
-                                                                  CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CullModeFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator^( CullModeFlagBits bit0,
-                                                                  CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return CullModeFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator~( CullModeFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( CullModeFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( CullModeFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & CullModeFlagBits::eFront )
-      result += "Front | ";
-    if ( value & CullModeFlagBits::eBack )
-      result += "Back | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>;
-
-  template <>
-  struct FlagTraits<DebugReportFlagBitsEXT>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DebugReportFlagBitsEXT::eInformation ) | VkFlags( DebugReportFlagBitsEXT::eWarning ) |
-                 VkFlags( DebugReportFlagBitsEXT::ePerformanceWarning ) | VkFlags( DebugReportFlagBitsEXT::eError ) |
-                 VkFlags( DebugReportFlagBitsEXT::eDebug )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
-    operator|( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugReportFlagsEXT( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
-    operator&( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugReportFlagsEXT( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
-    operator^( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugReportFlagsEXT( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT operator~( DebugReportFlagBitsEXT bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DebugReportFlagsEXT( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DebugReportFlagsEXT value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DebugReportFlagBitsEXT::eInformation )
-      result += "Information | ";
-    if ( value & DebugReportFlagBitsEXT::eWarning )
-      result += "Warning | ";
-    if ( value & DebugReportFlagBitsEXT::ePerformanceWarning )
-      result += "PerformanceWarning | ";
-    if ( value & DebugReportFlagBitsEXT::eError )
-      result += "Error | ";
-    if ( value & DebugReportFlagBitsEXT::eDebug )
-      result += "Debug | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using DebugUtilsMessageSeverityFlagsEXT = Flags<DebugUtilsMessageSeverityFlagBitsEXT>;
-
-  template <>
-  struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eVerbose ) |
-                 VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eInfo ) |
-                 VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eWarning ) |
-                 VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eError )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator|(
-    DebugUtilsMessageSeverityFlagBitsEXT bit0, DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugUtilsMessageSeverityFlagsEXT( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator&(
-    DebugUtilsMessageSeverityFlagBitsEXT bit0, DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugUtilsMessageSeverityFlagsEXT( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator^(
-    DebugUtilsMessageSeverityFlagBitsEXT bit0, DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugUtilsMessageSeverityFlagsEXT( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT
-    operator~( DebugUtilsMessageSeverityFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DebugUtilsMessageSeverityFlagsEXT( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageSeverityFlagsEXT value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eVerbose )
-      result += "Verbose | ";
-    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eInfo )
-      result += "Info | ";
-    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eWarning )
-      result += "Warning | ";
-    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eError )
-      result += "Error | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using DebugUtilsMessageTypeFlagsEXT = Flags<DebugUtilsMessageTypeFlagBitsEXT>;
-
-  template <>
-  struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DebugUtilsMessageTypeFlagBitsEXT::eGeneral ) |
-                 VkFlags( DebugUtilsMessageTypeFlagBitsEXT::eValidation ) |
-                 VkFlags( DebugUtilsMessageTypeFlagBitsEXT::ePerformance )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
-    operator|( DebugUtilsMessageTypeFlagBitsEXT bit0, DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugUtilsMessageTypeFlagsEXT( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
-    operator&( DebugUtilsMessageTypeFlagBitsEXT bit0, DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugUtilsMessageTypeFlagsEXT( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
-    operator^( DebugUtilsMessageTypeFlagBitsEXT bit0, DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DebugUtilsMessageTypeFlagsEXT( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
-    operator~( DebugUtilsMessageTypeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DebugUtilsMessageTypeFlagsEXT( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageTypeFlagsEXT value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DebugUtilsMessageTypeFlagBitsEXT::eGeneral )
-      result += "General | ";
-    if ( value & DebugUtilsMessageTypeFlagBitsEXT::eValidation )
-      result += "Validation | ";
-    if ( value & DebugUtilsMessageTypeFlagBitsEXT::ePerformance )
-      result += "Performance | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class DebugUtilsMessengerCallbackDataFlagBitsEXT : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCallbackDataFlagBitsEXT )
-  {
-    return "(void)";
-  }
-
-  using DebugUtilsMessengerCallbackDataFlagsEXT = Flags<DebugUtilsMessengerCallbackDataFlagBitsEXT>;
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCallbackDataFlagsEXT )
-  {
-    return "{}";
-  }
-
-  enum class DebugUtilsMessengerCreateFlagBitsEXT : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
-
-  using DebugUtilsMessengerCreateFlagsEXT = Flags<DebugUtilsMessengerCreateFlagBitsEXT>;
-
-  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCreateFlagsEXT )
-  {
-    return "{}";
-  }
-
-  using DependencyFlags = Flags<DependencyFlagBits>;
-
-  template <>
-  struct FlagTraits<DependencyFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DependencyFlagBits::eByRegion ) | VkFlags( DependencyFlagBits::eDeviceGroup ) |
-                 VkFlags( DependencyFlagBits::eViewLocal )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator|( DependencyFlagBits bit0,
-                                                                    DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DependencyFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator&( DependencyFlagBits bit0,
-                                                                    DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DependencyFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator^( DependencyFlagBits bit0,
-                                                                    DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DependencyFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator~( DependencyFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DependencyFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DependencyFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DependencyFlagBits::eByRegion )
-      result += "ByRegion | ";
-    if ( value & DependencyFlagBits::eDeviceGroup )
-      result += "DeviceGroup | ";
-    if ( value & DependencyFlagBits::eViewLocal )
-      result += "ViewLocal | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using DescriptorBindingFlags = Flags<DescriptorBindingFlagBits>;
-
-  template <>
-  struct FlagTraits<DescriptorBindingFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DescriptorBindingFlagBits::eUpdateAfterBind ) |
-                 VkFlags( DescriptorBindingFlagBits::eUpdateUnusedWhilePending ) |
-                 VkFlags( DescriptorBindingFlagBits::ePartiallyBound ) |
-                 VkFlags( DescriptorBindingFlagBits::eVariableDescriptorCount )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
-    operator|( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorBindingFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
-    operator&( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorBindingFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
-    operator^( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorBindingFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags operator~( DescriptorBindingFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DescriptorBindingFlags( bits ) );
-  }
-
-  using DescriptorBindingFlagsEXT = DescriptorBindingFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorBindingFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DescriptorBindingFlagBits::eUpdateAfterBind )
-      result += "UpdateAfterBind | ";
-    if ( value & DescriptorBindingFlagBits::eUpdateUnusedWhilePending )
-      result += "UpdateUnusedWhilePending | ";
-    if ( value & DescriptorBindingFlagBits::ePartiallyBound )
-      result += "PartiallyBound | ";
-    if ( value & DescriptorBindingFlagBits::eVariableDescriptorCount )
-      result += "VariableDescriptorCount | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using DescriptorPoolCreateFlags = Flags<DescriptorPoolCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<DescriptorPoolCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DescriptorPoolCreateFlagBits::eFreeDescriptorSet ) |
-                 VkFlags( DescriptorPoolCreateFlagBits::eUpdateAfterBind )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
-    operator|( DescriptorPoolCreateFlagBits bit0, DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorPoolCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
-    operator&( DescriptorPoolCreateFlagBits bit0, DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorPoolCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
-    operator^( DescriptorPoolCreateFlagBits bit0, DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorPoolCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags operator~( DescriptorPoolCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DescriptorPoolCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorPoolCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DescriptorPoolCreateFlagBits::eFreeDescriptorSet )
-      result += "FreeDescriptorSet | ";
-    if ( value & DescriptorPoolCreateFlagBits::eUpdateAfterBind )
-      result += "UpdateAfterBind | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class DescriptorPoolResetFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorPoolResetFlagBits )
-  {
-    return "(void)";
-  }
-
-  using DescriptorPoolResetFlags = Flags<DescriptorPoolResetFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorPoolResetFlags )
-  {
-    return "{}";
-  }
-
-  using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<DescriptorSetLayoutCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool ) |
-                 VkFlags( DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
-    operator|( DescriptorSetLayoutCreateFlagBits bit0, DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorSetLayoutCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
-    operator&( DescriptorSetLayoutCreateFlagBits bit0, DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorSetLayoutCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
-    operator^( DescriptorSetLayoutCreateFlagBits bit0, DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DescriptorSetLayoutCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
-    operator~( DescriptorSetLayoutCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DescriptorSetLayoutCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorSetLayoutCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool )
-      result += "UpdateAfterBindPool | ";
-    if ( value & DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR )
-      result += "PushDescriptorKHR | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class DescriptorUpdateTemplateCreateFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateCreateFlagBits )
-  {
-    return "(void)";
-  }
-
-  using DescriptorUpdateTemplateCreateFlags = Flags<DescriptorUpdateTemplateCreateFlagBits>;
-
-  using DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateCreateFlags )
-  {
-    return "{}";
-  }
-
-  using DeviceCreateFlags = Flags<DeviceCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceCreateFlags )
-  {
-    return "{}";
-  }
-
-  using DeviceDiagnosticsConfigFlagsNV = Flags<DeviceDiagnosticsConfigFlagBitsNV>;
-
-  template <>
-  struct FlagTraits<DeviceDiagnosticsConfigFlagBitsNV>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo ) |
-                 VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking ) |
-                 VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
-    operator|( DeviceDiagnosticsConfigFlagBitsNV bit0, DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceDiagnosticsConfigFlagsNV( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
-    operator&( DeviceDiagnosticsConfigFlagBitsNV bit0, DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceDiagnosticsConfigFlagsNV( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
-    operator^( DeviceDiagnosticsConfigFlagBitsNV bit0, DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceDiagnosticsConfigFlagsNV( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
-    operator~( DeviceDiagnosticsConfigFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DeviceDiagnosticsConfigFlagsNV( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceDiagnosticsConfigFlagsNV value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo )
-      result += "EnableShaderDebugInfo | ";
-    if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking )
-      result += "EnableResourceTracking | ";
-    if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints )
-      result += "EnableAutomaticCheckpoints | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using DeviceGroupPresentModeFlagsKHR = Flags<DeviceGroupPresentModeFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DeviceGroupPresentModeFlagBitsKHR::eLocal ) |
-                 VkFlags( DeviceGroupPresentModeFlagBitsKHR::eRemote ) |
-                 VkFlags( DeviceGroupPresentModeFlagBitsKHR::eSum ) |
-                 VkFlags( DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
-    operator|( DeviceGroupPresentModeFlagBitsKHR bit0, DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceGroupPresentModeFlagsKHR( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
-    operator&( DeviceGroupPresentModeFlagBitsKHR bit0, DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceGroupPresentModeFlagsKHR( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
-    operator^( DeviceGroupPresentModeFlagBitsKHR bit0, DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceGroupPresentModeFlagsKHR( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
-    operator~( DeviceGroupPresentModeFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DeviceGroupPresentModeFlagsKHR( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceGroupPresentModeFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DeviceGroupPresentModeFlagBitsKHR::eLocal )
-      result += "Local | ";
-    if ( value & DeviceGroupPresentModeFlagBitsKHR::eRemote )
-      result += "Remote | ";
-    if ( value & DeviceGroupPresentModeFlagBitsKHR::eSum )
-      result += "Sum | ";
-    if ( value & DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice )
-      result += "LocalMultiDevice | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using DeviceQueueCreateFlags = Flags<DeviceQueueCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<DeviceQueueCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DeviceQueueCreateFlagBits::eProtected )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
-    operator|( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceQueueCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
-    operator&( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceQueueCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
-    operator^( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DeviceQueueCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags operator~( DeviceQueueCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DeviceQueueCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( DeviceQueueCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DeviceQueueCreateFlagBits::eProtected )
-      result += "Protected | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-  enum class DirectFBSurfaceCreateFlagBitsEXT : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DirectFBSurfaceCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
-
-  using DirectFBSurfaceCreateFlagsEXT = Flags<DirectFBSurfaceCreateFlagBitsEXT>;
-
-  VULKAN_HPP_INLINE std::string to_string( DirectFBSurfaceCreateFlagsEXT )
-  {
-    return "{}";
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+  VkResult
+  vkCreateDirectFBSurfaceEXT(VkInstance instance,
+                             const VkDirectFBSurfaceCreateInfoEXT *pCreateInfo,
+                             const VkAllocationCallbacks *pAllocator,
+                             VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDirectFBSurfaceEXT(instance, pCreateInfo, pAllocator,
+                                        pSurface);
   }
 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
 
-  enum class DisplayModeCreateFlagBitsKHR : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DisplayModeCreateFlagBitsKHR )
-  {
-    return "(void)";
+  VkResult
+  vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display,
+                         const VkDisplayModeCreateInfoKHR *pCreateInfo,
+                         const VkAllocationCallbacks *pAllocator,
+                         VkDisplayModeKHR *pMode) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDisplayModeKHR(physicalDevice, display, pCreateInfo,
+                                    pAllocator, pMode);
   }
 
-  using DisplayModeCreateFlagsKHR = Flags<DisplayModeCreateFlagBitsKHR>;
-
-  VULKAN_HPP_INLINE std::string to_string( DisplayModeCreateFlagsKHR )
-  {
-    return "{}";
+  VkResult vkCreateDisplayPlaneSurfaceKHR(
+      VkInstance instance, const VkDisplaySurfaceCreateInfoKHR *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator,
+                                            pSurface);
   }
 
-  using DisplayPlaneAlphaFlagsKHR = Flags<DisplayPlaneAlphaFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( DisplayPlaneAlphaFlagBitsKHR::eOpaque ) | VkFlags( DisplayPlaneAlphaFlagBitsKHR::eGlobal ) |
-                 VkFlags( DisplayPlaneAlphaFlagBitsKHR::ePerPixel ) |
-                 VkFlags( DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
-    operator|( DisplayPlaneAlphaFlagBitsKHR bit0, DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DisplayPlaneAlphaFlagsKHR( bit0 ) | bit1;
+  VkResult vkCreateEvent(VkDevice device, const VkEventCreateInfo *pCreateInfo,
+                         const VkAllocationCallbacks *pAllocator,
+                         VkEvent *pEvent) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
-    operator&( DisplayPlaneAlphaFlagBitsKHR bit0, DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DisplayPlaneAlphaFlagsKHR( bit0 ) & bit1;
+  VkResult vkCreateFence(VkDevice device, const VkFenceCreateInfo *pCreateInfo,
+                         const VkAllocationCallbacks *pAllocator,
+                         VkFence *pFence) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateFence(device, pCreateInfo, pAllocator, pFence);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
-    operator^( DisplayPlaneAlphaFlagBitsKHR bit0, DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return DisplayPlaneAlphaFlagsKHR( bit0 ) ^ bit1;
+  VkResult
+  vkCreateFramebuffer(VkDevice device,
+                      const VkFramebufferCreateInfo *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkFramebuffer *pFramebuffer) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR operator~( DisplayPlaneAlphaFlagBitsKHR bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( DisplayPlaneAlphaFlagsKHR( bits ) );
+  VkResult
+  vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache,
+                            uint32_t createInfoCount,
+                            const VkGraphicsPipelineCreateInfo *pCreateInfos,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkPipeline *pPipelines) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount,
+                                       pCreateInfos, pAllocator, pPipelines);
   }
 
-  VULKAN_HPP_INLINE std::string to_string( DisplayPlaneAlphaFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & DisplayPlaneAlphaFlagBitsKHR::eOpaque )
-      result += "Opaque | ";
-    if ( value & DisplayPlaneAlphaFlagBitsKHR::eGlobal )
-      result += "Global | ";
-    if ( value & DisplayPlaneAlphaFlagBitsKHR::ePerPixel )
-      result += "PerPixel | ";
-    if ( value & DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied )
-      result += "PerPixelPremultiplied | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+  VkResult
+  vkCreateHeadlessSurfaceEXT(VkInstance instance,
+                             const VkHeadlessSurfaceCreateInfoEXT *pCreateInfo,
+                             const VkAllocationCallbacks *pAllocator,
+                             VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateHeadlessSurfaceEXT(instance, pCreateInfo, pAllocator,
+                                        pSurface);
   }
 
-  enum class DisplaySurfaceCreateFlagBitsKHR : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( DisplaySurfaceCreateFlagBitsKHR )
-  {
-    return "(void)";
-  }
-
-  using DisplaySurfaceCreateFlagsKHR = Flags<DisplaySurfaceCreateFlagBitsKHR>;
-
-  VULKAN_HPP_INLINE std::string to_string( DisplaySurfaceCreateFlagsKHR )
-  {
-    return "{}";
-  }
-
-  enum class EventCreateFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( EventCreateFlagBits )
-  {
-    return "(void)";
-  }
-
-  using EventCreateFlags = Flags<EventCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( EventCreateFlags )
-  {
-    return "{}";
-  }
-
-  using ExternalFenceFeatureFlags = Flags<ExternalFenceFeatureFlagBits>;
-
-  template <>
-  struct FlagTraits<ExternalFenceFeatureFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags =
-        VkFlags( ExternalFenceFeatureFlagBits::eExportable ) | VkFlags( ExternalFenceFeatureFlagBits::eImportable )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
-    operator|( ExternalFenceFeatureFlagBits bit0, ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalFenceFeatureFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
-    operator&( ExternalFenceFeatureFlagBits bit0, ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalFenceFeatureFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
-    operator^( ExternalFenceFeatureFlagBits bit0, ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalFenceFeatureFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags operator~( ExternalFenceFeatureFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalFenceFeatureFlags( bits ) );
-  }
-
-  using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalFenceFeatureFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalFenceFeatureFlagBits::eExportable )
-      result += "Exportable | ";
-    if ( value & ExternalFenceFeatureFlagBits::eImportable )
-      result += "Importable | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ExternalFenceHandleTypeFlags = Flags<ExternalFenceHandleTypeFlagBits>;
-
-  template <>
-  struct FlagTraits<ExternalFenceHandleTypeFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueFd ) |
-                 VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueWin32 ) |
-                 VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt ) |
-                 VkFlags( ExternalFenceHandleTypeFlagBits::eSyncFd )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
-    operator|( ExternalFenceHandleTypeFlagBits bit0, ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalFenceHandleTypeFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
-    operator&( ExternalFenceHandleTypeFlagBits bit0, ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalFenceHandleTypeFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
-    operator^( ExternalFenceHandleTypeFlagBits bit0, ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalFenceHandleTypeFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags operator~( ExternalFenceHandleTypeFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalFenceHandleTypeFlags( bits ) );
-  }
-
-  using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalFenceHandleTypeFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueFd )
-      result += "OpaqueFd | ";
-    if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32 )
-      result += "OpaqueWin32 | ";
-    if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt )
-      result += "OpaqueWin32Kmt | ";
-    if ( value & ExternalFenceHandleTypeFlagBits::eSyncFd )
-      result += "SyncFd | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ExternalMemoryFeatureFlags = Flags<ExternalMemoryFeatureFlagBits>;
-
-  template <>
-  struct FlagTraits<ExternalMemoryFeatureFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ExternalMemoryFeatureFlagBits::eDedicatedOnly ) |
-                 VkFlags( ExternalMemoryFeatureFlagBits::eExportable ) |
-                 VkFlags( ExternalMemoryFeatureFlagBits::eImportable )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
-    operator|( ExternalMemoryFeatureFlagBits bit0, ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryFeatureFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
-    operator&( ExternalMemoryFeatureFlagBits bit0, ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryFeatureFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
-    operator^( ExternalMemoryFeatureFlagBits bit0, ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryFeatureFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags operator~( ExternalMemoryFeatureFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalMemoryFeatureFlags( bits ) );
-  }
-
-  using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalMemoryFeatureFlagBits::eDedicatedOnly )
-      result += "DedicatedOnly | ";
-    if ( value & ExternalMemoryFeatureFlagBits::eExportable )
-      result += "Exportable | ";
-    if ( value & ExternalMemoryFeatureFlagBits::eImportable )
-      result += "Importable | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ExternalMemoryFeatureFlagsNV = Flags<ExternalMemoryFeatureFlagBitsNV>;
-
-  template <>
-  struct FlagTraits<ExternalMemoryFeatureFlagBitsNV>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly ) |
-                 VkFlags( ExternalMemoryFeatureFlagBitsNV::eExportable ) |
-                 VkFlags( ExternalMemoryFeatureFlagBitsNV::eImportable )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
-    operator|( ExternalMemoryFeatureFlagBitsNV bit0, ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryFeatureFlagsNV( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
-    operator&( ExternalMemoryFeatureFlagBitsNV bit0, ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryFeatureFlagsNV( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
-    operator^( ExternalMemoryFeatureFlagBitsNV bit0, ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryFeatureFlagsNV( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV operator~( ExternalMemoryFeatureFlagBitsNV bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalMemoryFeatureFlagsNV( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlagsNV value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly )
-      result += "DedicatedOnly | ";
-    if ( value & ExternalMemoryFeatureFlagBitsNV::eExportable )
-      result += "Exportable | ";
-    if ( value & ExternalMemoryFeatureFlagBitsNV::eImportable )
-      result += "Importable | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ExternalMemoryHandleTypeFlags = Flags<ExternalMemoryHandleTypeFlagBits>;
-
-  template <>
-  struct FlagTraits<ExternalMemoryHandleTypeFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D11Texture ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D12Heap ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D12Resource ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eDmaBufEXT ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBits::eTempZirconVmoFUCHSIA )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
-    operator|( ExternalMemoryHandleTypeFlagBits bit0, ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryHandleTypeFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
-    operator&( ExternalMemoryHandleTypeFlagBits bit0, ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryHandleTypeFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
-    operator^( ExternalMemoryHandleTypeFlagBits bit0, ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryHandleTypeFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
-    operator~( ExternalMemoryHandleTypeFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalMemoryHandleTypeFlags( bits ) );
-  }
-
-  using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueFd )
-      result += "OpaqueFd | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 )
-      result += "OpaqueWin32 | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt )
-      result += "OpaqueWin32Kmt | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D11Texture )
-      result += "D3D11Texture | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt )
-      result += "D3D11TextureKmt | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D12Heap )
-      result += "D3D12Heap | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D12Resource )
-      result += "D3D12Resource | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eDmaBufEXT )
-      result += "DmaBufEXT | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID )
-      result += "AndroidHardwareBufferANDROID | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT )
-      result += "HostAllocationEXT | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT )
-      result += "HostMappedForeignMemoryEXT | ";
-    if ( value & ExternalMemoryHandleTypeFlagBits::eTempZirconVmoFUCHSIA )
-      result += "TempZirconVmoFUCHSIA | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ExternalMemoryHandleTypeFlagsNV = Flags<ExternalMemoryHandleTypeFlagBitsNV>;
-
-  template <>
-  struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image ) |
-                 VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
-    operator|( ExternalMemoryHandleTypeFlagBitsNV bit0, ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryHandleTypeFlagsNV( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
-    operator&( ExternalMemoryHandleTypeFlagBitsNV bit0, ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryHandleTypeFlagsNV( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
-    operator^( ExternalMemoryHandleTypeFlagBitsNV bit0, ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalMemoryHandleTypeFlagsNV( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
-    operator~( ExternalMemoryHandleTypeFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalMemoryHandleTypeFlagsNV( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlagsNV value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 )
-      result += "OpaqueWin32 | ";
-    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt )
-      result += "OpaqueWin32Kmt | ";
-    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image )
-      result += "D3D11Image | ";
-    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt )
-      result += "D3D11ImageKmt | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ExternalSemaphoreFeatureFlags = Flags<ExternalSemaphoreFeatureFlagBits>;
-
-  template <>
-  struct FlagTraits<ExternalSemaphoreFeatureFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ExternalSemaphoreFeatureFlagBits::eExportable ) |
-                 VkFlags( ExternalSemaphoreFeatureFlagBits::eImportable )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
-    operator|( ExternalSemaphoreFeatureFlagBits bit0, ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalSemaphoreFeatureFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
-    operator&( ExternalSemaphoreFeatureFlagBits bit0, ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalSemaphoreFeatureFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
-    operator^( ExternalSemaphoreFeatureFlagBits bit0, ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalSemaphoreFeatureFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
-    operator~( ExternalSemaphoreFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalSemaphoreFeatureFlags( bits ) );
-  }
-
-  using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreFeatureFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalSemaphoreFeatureFlagBits::eExportable )
-      result += "Exportable | ";
-    if ( value & ExternalSemaphoreFeatureFlagBits::eImportable )
-      result += "Importable | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ExternalSemaphoreHandleTypeFlags = Flags<ExternalSemaphoreHandleTypeFlagBits>;
-
-  template <>
-  struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd ) |
-                 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 ) |
-                 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt ) |
-                 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence ) |
-                 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eSyncFd ) |
-                 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eTempZirconEventFUCHSIA )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
-    operator|( ExternalSemaphoreHandleTypeFlagBits bit0, ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalSemaphoreHandleTypeFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
-    operator&( ExternalSemaphoreHandleTypeFlagBits bit0, ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalSemaphoreHandleTypeFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
-    operator^( ExternalSemaphoreHandleTypeFlagBits bit0, ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ExternalSemaphoreHandleTypeFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
-    operator~( ExternalSemaphoreHandleTypeFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ExternalSemaphoreHandleTypeFlags( bits ) );
-  }
-
-  using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreHandleTypeFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd )
-      result += "OpaqueFd | ";
-    if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 )
-      result += "OpaqueWin32 | ";
-    if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt )
-      result += "OpaqueWin32Kmt | ";
-    if ( value & ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence )
-      result += "D3D12Fence | ";
-    if ( value & ExternalSemaphoreHandleTypeFlagBits::eSyncFd )
-      result += "SyncFd | ";
-    if ( value & ExternalSemaphoreHandleTypeFlagBits::eTempZirconEventFUCHSIA )
-      result += "TempZirconEventFUCHSIA | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using FenceCreateFlags = Flags<FenceCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<FenceCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( FenceCreateFlagBits::eSignaled )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator|( FenceCreateFlagBits bit0,
-                                                                     FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FenceCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator&( FenceCreateFlagBits bit0,
-                                                                     FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FenceCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator^( FenceCreateFlagBits bit0,
-                                                                     FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FenceCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator~( FenceCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( FenceCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( FenceCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & FenceCreateFlagBits::eSignaled )
-      result += "Signaled | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using FenceImportFlags = Flags<FenceImportFlagBits>;
-
-  template <>
-  struct FlagTraits<FenceImportFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( FenceImportFlagBits::eTemporary )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator|( FenceImportFlagBits bit0,
-                                                                     FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FenceImportFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator&( FenceImportFlagBits bit0,
-                                                                     FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FenceImportFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator^( FenceImportFlagBits bit0,
-                                                                     FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FenceImportFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator~( FenceImportFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( FenceImportFlags( bits ) );
-  }
-
-  using FenceImportFlagsKHR = FenceImportFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( FenceImportFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & FenceImportFlagBits::eTemporary )
-      result += "Temporary | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using FormatFeatureFlags = Flags<FormatFeatureFlagBits>;
-
-  template <>
-  struct FlagTraits<FormatFeatureFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags =
-        VkFlags( FormatFeatureFlagBits::eSampledImage ) | VkFlags( FormatFeatureFlagBits::eStorageImage ) |
-        VkFlags( FormatFeatureFlagBits::eStorageImageAtomic ) | VkFlags( FormatFeatureFlagBits::eUniformTexelBuffer ) |
-        VkFlags( FormatFeatureFlagBits::eStorageTexelBuffer ) |
-        VkFlags( FormatFeatureFlagBits::eStorageTexelBufferAtomic ) | VkFlags( FormatFeatureFlagBits::eVertexBuffer ) |
-        VkFlags( FormatFeatureFlagBits::eColorAttachment ) | VkFlags( FormatFeatureFlagBits::eColorAttachmentBlend ) |
-        VkFlags( FormatFeatureFlagBits::eDepthStencilAttachment ) | VkFlags( FormatFeatureFlagBits::eBlitSrc ) |
-        VkFlags( FormatFeatureFlagBits::eBlitDst ) | VkFlags( FormatFeatureFlagBits::eSampledImageFilterLinear ) |
-        VkFlags( FormatFeatureFlagBits::eTransferSrc ) | VkFlags( FormatFeatureFlagBits::eTransferDst ) |
-        VkFlags( FormatFeatureFlagBits::eMidpointChromaSamples ) |
-        VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter ) |
-        VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter ) |
-        VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit ) |
-        VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable ) |
-        VkFlags( FormatFeatureFlagBits::eDisjoint ) | VkFlags( FormatFeatureFlagBits::eCositedChromaSamples ) |
-        VkFlags( FormatFeatureFlagBits::eSampledImageFilterMinmax ) |
-        VkFlags( FormatFeatureFlagBits::eSampledImageFilterCubicIMG ) |
-        VkFlags( FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR ) |
-        VkFlags( FormatFeatureFlagBits::eFragmentDensityMapEXT )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator|( FormatFeatureFlagBits bit0,
-                                                                       FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FormatFeatureFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator&( FormatFeatureFlagBits bit0,
-                                                                       FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FormatFeatureFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator^( FormatFeatureFlagBits bit0,
-                                                                       FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FormatFeatureFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator~( FormatFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( FormatFeatureFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( FormatFeatureFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & FormatFeatureFlagBits::eSampledImage )
-      result += "SampledImage | ";
-    if ( value & FormatFeatureFlagBits::eStorageImage )
-      result += "StorageImage | ";
-    if ( value & FormatFeatureFlagBits::eStorageImageAtomic )
-      result += "StorageImageAtomic | ";
-    if ( value & FormatFeatureFlagBits::eUniformTexelBuffer )
-      result += "UniformTexelBuffer | ";
-    if ( value & FormatFeatureFlagBits::eStorageTexelBuffer )
-      result += "StorageTexelBuffer | ";
-    if ( value & FormatFeatureFlagBits::eStorageTexelBufferAtomic )
-      result += "StorageTexelBufferAtomic | ";
-    if ( value & FormatFeatureFlagBits::eVertexBuffer )
-      result += "VertexBuffer | ";
-    if ( value & FormatFeatureFlagBits::eColorAttachment )
-      result += "ColorAttachment | ";
-    if ( value & FormatFeatureFlagBits::eColorAttachmentBlend )
-      result += "ColorAttachmentBlend | ";
-    if ( value & FormatFeatureFlagBits::eDepthStencilAttachment )
-      result += "DepthStencilAttachment | ";
-    if ( value & FormatFeatureFlagBits::eBlitSrc )
-      result += "BlitSrc | ";
-    if ( value & FormatFeatureFlagBits::eBlitDst )
-      result += "BlitDst | ";
-    if ( value & FormatFeatureFlagBits::eSampledImageFilterLinear )
-      result += "SampledImageFilterLinear | ";
-    if ( value & FormatFeatureFlagBits::eTransferSrc )
-      result += "TransferSrc | ";
-    if ( value & FormatFeatureFlagBits::eTransferDst )
-      result += "TransferDst | ";
-    if ( value & FormatFeatureFlagBits::eMidpointChromaSamples )
-      result += "MidpointChromaSamples | ";
-    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter )
-      result += "SampledImageYcbcrConversionLinearFilter | ";
-    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter )
-      result += "SampledImageYcbcrConversionSeparateReconstructionFilter | ";
-    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit )
-      result += "SampledImageYcbcrConversionChromaReconstructionExplicit | ";
-    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable )
-      result += "SampledImageYcbcrConversionChromaReconstructionExplicitForceable | ";
-    if ( value & FormatFeatureFlagBits::eDisjoint )
-      result += "Disjoint | ";
-    if ( value & FormatFeatureFlagBits::eCositedChromaSamples )
-      result += "CositedChromaSamples | ";
-    if ( value & FormatFeatureFlagBits::eSampledImageFilterMinmax )
-      result += "SampledImageFilterMinmax | ";
-    if ( value & FormatFeatureFlagBits::eSampledImageFilterCubicIMG )
-      result += "SampledImageFilterCubicIMG | ";
-    if ( value & FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR )
-      result += "AccelerationStructureVertexBufferKHR | ";
-    if ( value & FormatFeatureFlagBits::eFragmentDensityMapEXT )
-      result += "FragmentDensityMapEXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using FramebufferCreateFlags = Flags<FramebufferCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<FramebufferCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( FramebufferCreateFlagBits::eImageless )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
-    operator|( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FramebufferCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
-    operator&( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FramebufferCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
-    operator^( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return FramebufferCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags operator~( FramebufferCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( FramebufferCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( FramebufferCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & FramebufferCreateFlagBits::eImageless )
-      result += "Imageless | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using GeometryFlagsKHR = Flags<GeometryFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<GeometryFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( GeometryFlagBitsKHR::eOpaque ) | VkFlags( GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator|( GeometryFlagBitsKHR bit0,
-                                                                     GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return GeometryFlagsKHR( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator&( GeometryFlagBitsKHR bit0,
-                                                                     GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return GeometryFlagsKHR( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator^( GeometryFlagBitsKHR bit0,
-                                                                     GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return GeometryFlagsKHR( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator~( GeometryFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( GeometryFlagsKHR( bits ) );
-  }
-
-  using GeometryFlagsNV = GeometryFlagsKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( GeometryFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & GeometryFlagBitsKHR::eOpaque )
-      result += "Opaque | ";
-    if ( value & GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation )
-      result += "NoDuplicateAnyHitInvocation | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using GeometryInstanceFlagsKHR = Flags<GeometryInstanceFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<GeometryInstanceFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable ) |
-                 VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise ) |
-                 VkFlags( GeometryInstanceFlagBitsKHR::eForceOpaque ) |
-                 VkFlags( GeometryInstanceFlagBitsKHR::eForceNoOpaque )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
-    operator|( GeometryInstanceFlagBitsKHR bit0, GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return GeometryInstanceFlagsKHR( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
-    operator&( GeometryInstanceFlagBitsKHR bit0, GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return GeometryInstanceFlagsKHR( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
-    operator^( GeometryInstanceFlagBitsKHR bit0, GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return GeometryInstanceFlagsKHR( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR operator~( GeometryInstanceFlagBitsKHR bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( GeometryInstanceFlagsKHR( bits ) );
-  }
-
-  using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
-
-  VULKAN_HPP_INLINE std::string to_string( GeometryInstanceFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable )
-      result += "TriangleFacingCullDisable | ";
-    if ( value & GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise )
-      result += "TriangleFrontCounterclockwise | ";
-    if ( value & GeometryInstanceFlagBitsKHR::eForceOpaque )
-      result += "ForceOpaque | ";
-    if ( value & GeometryInstanceFlagBitsKHR::eForceNoOpaque )
-      result += "ForceNoOpaque | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class HeadlessSurfaceCreateFlagBitsEXT : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( HeadlessSurfaceCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
-
-  using HeadlessSurfaceCreateFlagsEXT = Flags<HeadlessSurfaceCreateFlagBitsEXT>;
-
-  VULKAN_HPP_INLINE std::string to_string( HeadlessSurfaceCreateFlagsEXT )
-  {
-    return "{}";
-  }
-
-#ifdef VK_USE_PLATFORM_IOS_MVK
-  enum class IOSSurfaceCreateFlagBitsMVK : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( IOSSurfaceCreateFlagBitsMVK )
-  {
-    return "(void)";
-  }
-
-  using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK>;
-
-  VULKAN_HPP_INLINE std::string to_string( IOSSurfaceCreateFlagsMVK )
-  {
-    return "{}";
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+  VkResult
+  vkCreateIOSSurfaceMVK(VkInstance instance,
+                        const VkIOSSurfaceCreateInfoMVK *pCreateInfo,
+                        const VkAllocationCallbacks *pAllocator,
+                        VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateIOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface);
   }
 #endif /*VK_USE_PLATFORM_IOS_MVK*/
 
-  using ImageAspectFlags = Flags<ImageAspectFlagBits>;
-
-  template <>
-  struct FlagTraits<ImageAspectFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ImageAspectFlagBits::eColor ) | VkFlags( ImageAspectFlagBits::eDepth ) |
-                 VkFlags( ImageAspectFlagBits::eStencil ) | VkFlags( ImageAspectFlagBits::eMetadata ) |
-                 VkFlags( ImageAspectFlagBits::ePlane0 ) | VkFlags( ImageAspectFlagBits::ePlane1 ) |
-                 VkFlags( ImageAspectFlagBits::ePlane2 ) | VkFlags( ImageAspectFlagBits::eMemoryPlane0EXT ) |
-                 VkFlags( ImageAspectFlagBits::eMemoryPlane1EXT ) | VkFlags( ImageAspectFlagBits::eMemoryPlane2EXT ) |
-                 VkFlags( ImageAspectFlagBits::eMemoryPlane3EXT )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator|( ImageAspectFlagBits bit0,
-                                                                     ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageAspectFlags( bit0 ) | bit1;
+  VkResult vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo,
+                         const VkAllocationCallbacks *pAllocator,
+                         VkImage *pImage) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateImage(device, pCreateInfo, pAllocator, pImage);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator&( ImageAspectFlagBits bit0,
-                                                                     ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageAspectFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator^( ImageAspectFlagBits bit0,
-                                                                     ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageAspectFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator~( ImageAspectFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ImageAspectFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ImageAspectFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ImageAspectFlagBits::eColor )
-      result += "Color | ";
-    if ( value & ImageAspectFlagBits::eDepth )
-      result += "Depth | ";
-    if ( value & ImageAspectFlagBits::eStencil )
-      result += "Stencil | ";
-    if ( value & ImageAspectFlagBits::eMetadata )
-      result += "Metadata | ";
-    if ( value & ImageAspectFlagBits::ePlane0 )
-      result += "Plane0 | ";
-    if ( value & ImageAspectFlagBits::ePlane1 )
-      result += "Plane1 | ";
-    if ( value & ImageAspectFlagBits::ePlane2 )
-      result += "Plane2 | ";
-    if ( value & ImageAspectFlagBits::eMemoryPlane0EXT )
-      result += "MemoryPlane0EXT | ";
-    if ( value & ImageAspectFlagBits::eMemoryPlane1EXT )
-      result += "MemoryPlane1EXT | ";
-    if ( value & ImageAspectFlagBits::eMemoryPlane2EXT )
-      result += "MemoryPlane2EXT | ";
-    if ( value & ImageAspectFlagBits::eMemoryPlane3EXT )
-      result += "MemoryPlane3EXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-
-  using ImageConstraintsInfoFlagsFUCHSIA = Flags<ImageConstraintsInfoFlagBitsFUCHSIA>;
-
-  template <>
-  struct FlagTraits<ImageConstraintsInfoFlagBitsFUCHSIA>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely ) |
-                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften ) |
-                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely ) |
-                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften ) |
-                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
-    operator|( ImageConstraintsInfoFlagBitsFUCHSIA bit0, ImageConstraintsInfoFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageConstraintsInfoFlagsFUCHSIA( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
-    operator&( ImageConstraintsInfoFlagBitsFUCHSIA bit0, ImageConstraintsInfoFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageConstraintsInfoFlagsFUCHSIA( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
-    operator^( ImageConstraintsInfoFlagBitsFUCHSIA bit0, ImageConstraintsInfoFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageConstraintsInfoFlagsFUCHSIA( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
-    operator~( ImageConstraintsInfoFlagBitsFUCHSIA bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ImageConstraintsInfoFlagsFUCHSIA( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ImageConstraintsInfoFlagsFUCHSIA value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely )
-      result += "CpuReadRarely | ";
-    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften )
-      result += "CpuReadOften | ";
-    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely )
-      result += "CpuWriteRarely | ";
-    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften )
-      result += "CpuWriteOften | ";
-    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional )
-      result += "ProtectedOptional | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkCreateImagePipeSurfaceFUCHSIA(
+      VkInstance instance,
+      const VkImagePipeSurfaceCreateInfoFUCHSIA *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateImagePipeSurfaceFUCHSIA(instance, pCreateInfo, pAllocator,
+                                             pSurface);
   }
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  using ImageCreateFlags = Flags<ImageCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<ImageCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ImageCreateFlagBits::eSparseBinding ) | VkFlags( ImageCreateFlagBits::eSparseResidency ) |
-                 VkFlags( ImageCreateFlagBits::eSparseAliased ) | VkFlags( ImageCreateFlagBits::eMutableFormat ) |
-                 VkFlags( ImageCreateFlagBits::eCubeCompatible ) | VkFlags( ImageCreateFlagBits::eAlias ) |
-                 VkFlags( ImageCreateFlagBits::eSplitInstanceBindRegions ) |
-                 VkFlags( ImageCreateFlagBits::e2DArrayCompatible ) |
-                 VkFlags( ImageCreateFlagBits::eBlockTexelViewCompatible ) |
-                 VkFlags( ImageCreateFlagBits::eExtendedUsage ) | VkFlags( ImageCreateFlagBits::eProtected ) |
-                 VkFlags( ImageCreateFlagBits::eDisjoint ) | VkFlags( ImageCreateFlagBits::eCornerSampledNV ) |
-                 VkFlags( ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT ) |
-                 VkFlags( ImageCreateFlagBits::eSubsampledEXT ) | VkFlags( ImageCreateFlagBits::eCompactFUCHSIA )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator|( ImageCreateFlagBits bit0,
-                                                                     ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageCreateFlags( bit0 ) | bit1;
+  VkResult vkCreateImageView(VkDevice device,
+                             const VkImageViewCreateInfo *pCreateInfo,
+                             const VkAllocationCallbacks *pAllocator,
+                             VkImageView *pView) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateImageView(device, pCreateInfo, pAllocator, pView);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator&( ImageCreateFlagBits bit0,
-                                                                     ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageCreateFlags( bit0 ) & bit1;
+  VkResult vkCreateIndirectCommandsLayoutNV(
+      VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkIndirectCommandsLayoutNV *pIndirectCommandsLayout) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateIndirectCommandsLayoutNV(device, pCreateInfo, pAllocator,
+                                              pIndirectCommandsLayout);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator^( ImageCreateFlagBits bit0,
-                                                                     ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageCreateFlags( bit0 ) ^ bit1;
+  VkResult vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkInstance *pInstance) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateInstance(pCreateInfo, pAllocator, pInstance);
   }
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator~( ImageCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ImageCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ImageCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ImageCreateFlagBits::eSparseBinding )
-      result += "SparseBinding | ";
-    if ( value & ImageCreateFlagBits::eSparseResidency )
-      result += "SparseResidency | ";
-    if ( value & ImageCreateFlagBits::eSparseAliased )
-      result += "SparseAliased | ";
-    if ( value & ImageCreateFlagBits::eMutableFormat )
-      result += "MutableFormat | ";
-    if ( value & ImageCreateFlagBits::eCubeCompatible )
-      result += "CubeCompatible | ";
-    if ( value & ImageCreateFlagBits::eAlias )
-      result += "Alias | ";
-    if ( value & ImageCreateFlagBits::eSplitInstanceBindRegions )
-      result += "SplitInstanceBindRegions | ";
-    if ( value & ImageCreateFlagBits::e2DArrayCompatible )
-      result += "2DArrayCompatible | ";
-    if ( value & ImageCreateFlagBits::eBlockTexelViewCompatible )
-      result += "BlockTexelViewCompatible | ";
-    if ( value & ImageCreateFlagBits::eExtendedUsage )
-      result += "ExtendedUsage | ";
-    if ( value & ImageCreateFlagBits::eProtected )
-      result += "Protected | ";
-    if ( value & ImageCreateFlagBits::eDisjoint )
-      result += "Disjoint | ";
-    if ( value & ImageCreateFlagBits::eCornerSampledNV )
-      result += "CornerSampledNV | ";
-    if ( value & ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT )
-      result += "SampleLocationsCompatibleDepthEXT | ";
-    if ( value & ImageCreateFlagBits::eSubsampledEXT )
-      result += "SubsampledEXT | ";
-    if ( value & ImageCreateFlagBits::eCompactFUCHSIA )
-      result += "CompactFUCHSIA | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-
-  using ImageFormatConstraintsFlagsFUCHSIA = Flags<ImageFormatConstraintsFlagBitsFUCHSIA>;
-
-  VULKAN_HPP_INLINE std::string to_string( ImageFormatConstraintsFlagsFUCHSIA )
-  {
-    return "{}";
-  }
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  enum class ImagePipeSurfaceCreateFlagBitsFUCHSIA : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ImagePipeSurfaceCreateFlagBitsFUCHSIA )
-  {
-    return "(void)";
-  }
-
-  using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags<ImagePipeSurfaceCreateFlagBitsFUCHSIA>;
-
-  VULKAN_HPP_INLINE std::string to_string( ImagePipeSurfaceCreateFlagsFUCHSIA )
-  {
-    return "{}";
-  }
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  using ImageUsageFlags = Flags<ImageUsageFlagBits>;
-
-  template <>
-  struct FlagTraits<ImageUsageFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags =
-        VkFlags( ImageUsageFlagBits::eTransferSrc ) | VkFlags( ImageUsageFlagBits::eTransferDst ) |
-        VkFlags( ImageUsageFlagBits::eSampled ) | VkFlags( ImageUsageFlagBits::eStorage ) |
-        VkFlags( ImageUsageFlagBits::eColorAttachment ) | VkFlags( ImageUsageFlagBits::eDepthStencilAttachment ) |
-        VkFlags( ImageUsageFlagBits::eTransientAttachment ) | VkFlags( ImageUsageFlagBits::eInputAttachment ) |
-        VkFlags( ImageUsageFlagBits::eShadingRateImageNV ) | VkFlags( ImageUsageFlagBits::eFragmentDensityMapEXT )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator|( ImageUsageFlagBits bit0,
-                                                                    ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageUsageFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator&( ImageUsageFlagBits bit0,
-                                                                    ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageUsageFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator^( ImageUsageFlagBits bit0,
-                                                                    ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageUsageFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator~( ImageUsageFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ImageUsageFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ImageUsageFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ImageUsageFlagBits::eTransferSrc )
-      result += "TransferSrc | ";
-    if ( value & ImageUsageFlagBits::eTransferDst )
-      result += "TransferDst | ";
-    if ( value & ImageUsageFlagBits::eSampled )
-      result += "Sampled | ";
-    if ( value & ImageUsageFlagBits::eStorage )
-      result += "Storage | ";
-    if ( value & ImageUsageFlagBits::eColorAttachment )
-      result += "ColorAttachment | ";
-    if ( value & ImageUsageFlagBits::eDepthStencilAttachment )
-      result += "DepthStencilAttachment | ";
-    if ( value & ImageUsageFlagBits::eTransientAttachment )
-      result += "TransientAttachment | ";
-    if ( value & ImageUsageFlagBits::eInputAttachment )
-      result += "InputAttachment | ";
-    if ( value & ImageUsageFlagBits::eShadingRateImageNV )
-      result += "ShadingRateImageNV | ";
-    if ( value & ImageUsageFlagBits::eFragmentDensityMapEXT )
-      result += "FragmentDensityMapEXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<ImageViewCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT ) |
-                 VkFlags( ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
-    operator|( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageViewCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
-    operator&( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageViewCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
-    operator^( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ImageViewCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags operator~( ImageViewCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ImageViewCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ImageViewCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT )
-      result += "FragmentDensityMapDynamicEXT | ";
-    if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT )
-      result += "FragmentDensityMapDeferredEXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using IndirectCommandsLayoutUsageFlagsNV = Flags<IndirectCommandsLayoutUsageFlagBitsNV>;
-
-  template <>
-  struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNV>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess ) |
-                 VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences ) |
-                 VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator|(
-    IndirectCommandsLayoutUsageFlagBitsNV bit0, IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return IndirectCommandsLayoutUsageFlagsNV( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator&(
-    IndirectCommandsLayoutUsageFlagBitsNV bit0, IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return IndirectCommandsLayoutUsageFlagsNV( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator^(
-    IndirectCommandsLayoutUsageFlagBitsNV bit0, IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return IndirectCommandsLayoutUsageFlagsNV( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV
-    operator~( IndirectCommandsLayoutUsageFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( IndirectCommandsLayoutUsageFlagsNV( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( IndirectCommandsLayoutUsageFlagsNV value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess )
-      result += "ExplicitPreprocess | ";
-    if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences )
-      result += "IndexedSequences | ";
-    if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences )
-      result += "UnorderedSequences | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using IndirectStateFlagsNV = Flags<IndirectStateFlagBitsNV>;
-
-  template <>
-  struct FlagTraits<IndirectStateFlagBitsNV>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( IndirectStateFlagBitsNV::eFlagFrontface )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
-    operator|( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return IndirectStateFlagsNV( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
-    operator&( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return IndirectStateFlagsNV( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
-    operator^( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return IndirectStateFlagsNV( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV operator~( IndirectStateFlagBitsNV bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( IndirectStateFlagsNV( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( IndirectStateFlagsNV value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & IndirectStateFlagBitsNV::eFlagFrontface )
-      result += "FlagFrontface | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using InstanceCreateFlags = Flags<InstanceCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( InstanceCreateFlags )
-  {
-    return "{}";
-  }
-
-#ifdef VK_USE_PLATFORM_MACOS_MVK
-  enum class MacOSSurfaceCreateFlagBitsMVK : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( MacOSSurfaceCreateFlagBitsMVK )
-  {
-    return "(void)";
-  }
-
-  using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK>;
-
-  VULKAN_HPP_INLINE std::string to_string( MacOSSurfaceCreateFlagsMVK )
-  {
-    return "{}";
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+  VkResult
+  vkCreateMacOSSurfaceMVK(VkInstance instance,
+                          const VkMacOSSurfaceCreateInfoMVK *pCreateInfo,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateMacOSSurfaceMVK(instance, pCreateInfo, pAllocator,
+                                     pSurface);
   }
 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
 
-  using MemoryAllocateFlags = Flags<MemoryAllocateFlagBits>;
-
-  template <>
-  struct FlagTraits<MemoryAllocateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( MemoryAllocateFlagBits::eDeviceMask ) | VkFlags( MemoryAllocateFlagBits::eDeviceAddress ) |
-                 VkFlags( MemoryAllocateFlagBits::eDeviceAddressCaptureReplay )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
-    operator|( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryAllocateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
-    operator&( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryAllocateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
-    operator^( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryAllocateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags operator~( MemoryAllocateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( MemoryAllocateFlags( bits ) );
-  }
-
-  using MemoryAllocateFlagsKHR = MemoryAllocateFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( MemoryAllocateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & MemoryAllocateFlagBits::eDeviceMask )
-      result += "DeviceMask | ";
-    if ( value & MemoryAllocateFlagBits::eDeviceAddress )
-      result += "DeviceAddress | ";
-    if ( value & MemoryAllocateFlagBits::eDeviceAddressCaptureReplay )
-      result += "DeviceAddressCaptureReplay | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using MemoryHeapFlags = Flags<MemoryHeapFlagBits>;
-
-  template <>
-  struct FlagTraits<MemoryHeapFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( MemoryHeapFlagBits::eDeviceLocal ) | VkFlags( MemoryHeapFlagBits::eMultiInstance )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator|( MemoryHeapFlagBits bit0,
-                                                                    MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryHeapFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator&( MemoryHeapFlagBits bit0,
-                                                                    MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryHeapFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator^( MemoryHeapFlagBits bit0,
-                                                                    MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryHeapFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator~( MemoryHeapFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( MemoryHeapFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( MemoryHeapFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & MemoryHeapFlagBits::eDeviceLocal )
-      result += "DeviceLocal | ";
-    if ( value & MemoryHeapFlagBits::eMultiInstance )
-      result += "MultiInstance | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class MemoryMapFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( MemoryMapFlagBits )
-  {
-    return "(void)";
-  }
-
-  using MemoryMapFlags = Flags<MemoryMapFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( MemoryMapFlags )
-  {
-    return "{}";
-  }
-
-  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 ) + " }";
-  }
-
-  using MemoryPropertyFlags = Flags<MemoryPropertyFlagBits>;
-
-  template <>
-  struct FlagTraits<MemoryPropertyFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( MemoryPropertyFlagBits::eDeviceLocal ) | VkFlags( MemoryPropertyFlagBits::eHostVisible ) |
-                 VkFlags( MemoryPropertyFlagBits::eHostCoherent ) | VkFlags( MemoryPropertyFlagBits::eHostCached ) |
-                 VkFlags( MemoryPropertyFlagBits::eLazilyAllocated ) | VkFlags( MemoryPropertyFlagBits::eProtected ) |
-                 VkFlags( MemoryPropertyFlagBits::eDeviceCoherentAMD ) |
-                 VkFlags( MemoryPropertyFlagBits::eDeviceUncachedAMD )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
-    operator|( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryPropertyFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
-    operator&( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryPropertyFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
-    operator^( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return MemoryPropertyFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags operator~( MemoryPropertyFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( MemoryPropertyFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( MemoryPropertyFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & MemoryPropertyFlagBits::eDeviceLocal )
-      result += "DeviceLocal | ";
-    if ( value & MemoryPropertyFlagBits::eHostVisible )
-      result += "HostVisible | ";
-    if ( value & MemoryPropertyFlagBits::eHostCoherent )
-      result += "HostCoherent | ";
-    if ( value & MemoryPropertyFlagBits::eHostCached )
-      result += "HostCached | ";
-    if ( value & MemoryPropertyFlagBits::eLazilyAllocated )
-      result += "LazilyAllocated | ";
-    if ( value & MemoryPropertyFlagBits::eProtected )
-      result += "Protected | ";
-    if ( value & MemoryPropertyFlagBits::eDeviceCoherentAMD )
-      result += "DeviceCoherentAMD | ";
-    if ( value & MemoryPropertyFlagBits::eDeviceUncachedAMD )
-      result += "DeviceUncachedAMD | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-#ifdef VK_USE_PLATFORM_METAL_EXT
-  enum class MetalSurfaceCreateFlagBitsEXT : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( MetalSurfaceCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
-
-  using MetalSurfaceCreateFlagsEXT = Flags<MetalSurfaceCreateFlagBitsEXT>;
-
-  VULKAN_HPP_INLINE std::string to_string( MetalSurfaceCreateFlagsEXT )
-  {
-    return "{}";
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+  VkResult
+  vkCreateMetalSurfaceEXT(VkInstance instance,
+                          const VkMetalSurfaceCreateInfoEXT *pCreateInfo,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateMetalSurfaceEXT(instance, pCreateInfo, pAllocator,
+                                     pSurface);
   }
 #endif /*VK_USE_PLATFORM_METAL_EXT*/
 
-  using PeerMemoryFeatureFlags = Flags<PeerMemoryFeatureFlagBits>;
+  VkResult vkCreatePipelineCache(
+      VkDevice device, const VkPipelineCacheCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkPipelineCache *pPipelineCache) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreatePipelineCache(device, pCreateInfo, pAllocator,
+                                   pPipelineCache);
+  }
 
-  template <>
-  struct FlagTraits<PeerMemoryFeatureFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( PeerMemoryFeatureFlagBits::eCopySrc ) | VkFlags( PeerMemoryFeatureFlagBits::eCopyDst ) |
-                 VkFlags( PeerMemoryFeatureFlagBits::eGenericSrc ) | VkFlags( PeerMemoryFeatureFlagBits::eGenericDst )
+  VkResult vkCreatePipelineLayout(
+      VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkPipelineLayout *pPipelineLayout) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreatePipelineLayout(device, pCreateInfo, pAllocator,
+                                    pPipelineLayout);
+  }
+
+  VkResult vkCreatePrivateDataSlotEXT(
+      VkDevice device, const VkPrivateDataSlotCreateInfoEXT *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkPrivateDataSlotEXT *pPrivateDataSlot) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator,
+                                        pPrivateDataSlot);
+  }
+
+  VkResult
+  vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo,
+                    const VkAllocationCallbacks *pAllocator,
+                    VkQueryPool *pQueryPool) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
+  }
+
+  VkResult vkCreateRayTracingPipelinesKHR(
+      VkDevice device, VkDeferredOperationKHR deferredOperation,
+      VkPipelineCache pipelineCache, uint32_t createInfoCount,
+      const VkRayTracingPipelineCreateInfoKHR *pCreateInfos,
+      const VkAllocationCallbacks *pAllocator,
+      VkPipeline *pPipelines) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateRayTracingPipelinesKHR(
+        device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos,
+        pAllocator, pPipelines);
+  }
+
+  VkResult vkCreateRayTracingPipelinesNV(
+      VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount,
+      const VkRayTracingPipelineCreateInfoNV *pCreateInfos,
+      const VkAllocationCallbacks *pAllocator,
+      VkPipeline *pPipelines) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateRayTracingPipelinesNV(device, pipelineCache,
+                                           createInfoCount, pCreateInfos,
+                                           pAllocator, pPipelines);
+  }
+
+  VkResult
+  vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo,
+                     const VkAllocationCallbacks *pAllocator,
+                     VkRenderPass *pRenderPass) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
+  }
+
+  VkResult
+  vkCreateRenderPass2(VkDevice device,
+                      const VkRenderPassCreateInfo2 *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkRenderPass *pRenderPass) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateRenderPass2(device, pCreateInfo, pAllocator, pRenderPass);
+  }
+
+  VkResult
+  vkCreateRenderPass2KHR(VkDevice device,
+                         const VkRenderPassCreateInfo2 *pCreateInfo,
+                         const VkAllocationCallbacks *pAllocator,
+                         VkRenderPass *pRenderPass) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator,
+                                    pRenderPass);
+  }
+
+  VkResult vkCreateSampler(VkDevice device,
+                           const VkSamplerCreateInfo *pCreateInfo,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkSampler *pSampler) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateSampler(device, pCreateInfo, pAllocator, pSampler);
+  }
+
+  VkResult vkCreateSamplerYcbcrConversion(
+      VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkSamplerYcbcrConversion *pYcbcrConversion) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator,
+                                            pYcbcrConversion);
+  }
+
+  VkResult vkCreateSamplerYcbcrConversionKHR(
+      VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkSamplerYcbcrConversion *pYcbcrConversion) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateSamplerYcbcrConversionKHR(device, pCreateInfo, pAllocator,
+                                               pYcbcrConversion);
+  }
+
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+  VkResult
+  vkCreateScreenSurfaceQNX(VkInstance instance,
+                           const VkScreenSurfaceCreateInfoQNX *pCreateInfo,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateScreenSurfaceQNX(instance, pCreateInfo, pAllocator,
+                                      pSurface);
+  }
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+
+  VkResult
+  vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo,
+                    const VkAllocationCallbacks *pAllocator,
+                    VkSemaphore *pSemaphore) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
+  }
+
+  VkResult vkCreateShaderModule(
+      VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkShaderModule *pShaderModule) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateShaderModule(device, pCreateInfo, pAllocator,
+                                  pShaderModule);
+  }
+
+  VkResult vkCreateSharedSwapchainsKHR(
+      VkDevice device, uint32_t swapchainCount,
+      const VkSwapchainCreateInfoKHR *pCreateInfos,
+      const VkAllocationCallbacks *pAllocator,
+      VkSwapchainKHR *pSwapchains) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos,
+                                         pAllocator, pSwapchains);
+  }
+
+#if defined(VK_USE_PLATFORM_GGP)
+  VkResult vkCreateStreamDescriptorSurfaceGGP(
+      VkInstance instance,
+      const VkStreamDescriptorSurfaceCreateInfoGGP *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateStreamDescriptorSurfaceGGP(instance, pCreateInfo,
+                                                pAllocator, pSurface);
+  }
+#endif /*VK_USE_PLATFORM_GGP*/
+
+  VkResult
+  vkCreateSwapchainKHR(VkDevice device,
+                       const VkSwapchainCreateInfoKHR *pCreateInfo,
+                       const VkAllocationCallbacks *pAllocator,
+                       VkSwapchainKHR *pSwapchain) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
+  }
+
+  VkResult vkCreateValidationCacheEXT(
+      VkDevice device, const VkValidationCacheCreateInfoEXT *pCreateInfo,
+      const VkAllocationCallbacks *pAllocator,
+      VkValidationCacheEXT *pValidationCache) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateValidationCacheEXT(device, pCreateInfo, pAllocator,
+                                        pValidationCache);
+  }
+
+#if defined(VK_USE_PLATFORM_VI_NN)
+  VkResult
+  vkCreateViSurfaceNN(VkInstance instance,
+                      const VkViSurfaceCreateInfoNN *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateViSurfaceNN(instance, pCreateInfo, pAllocator, pSurface);
+  }
+#endif /*VK_USE_PLATFORM_VI_NN*/
+
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+  VkResult
+  vkCreateWaylandSurfaceKHR(VkInstance instance,
+                            const VkWaylandSurfaceCreateInfoKHR *pCreateInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator,
+                                       pSurface);
+  }
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult
+  vkCreateWin32SurfaceKHR(VkInstance instance,
+                          const VkWin32SurfaceCreateInfoKHR *pCreateInfo,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateWin32SurfaceKHR(instance, pCreateInfo, pAllocator,
+                                     pSurface);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+  VkResult
+  vkCreateXcbSurfaceKHR(VkInstance instance,
+                        const VkXcbSurfaceCreateInfoKHR *pCreateInfo,
+                        const VkAllocationCallbacks *pAllocator,
+                        VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+  }
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+  VkResult
+  vkCreateXlibSurfaceKHR(VkInstance instance,
+                         const VkXlibSurfaceCreateInfoKHR *pCreateInfo,
+                         const VkAllocationCallbacks *pAllocator,
+                         VkSurfaceKHR *pSurface) const VULKAN_HPP_NOEXCEPT {
+    return ::vkCreateXlibSurfaceKHR(instance, pCreateInfo, pAllocator,
+                                    pSurface);
+  }
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+  VkResult vkDebugMarkerSetObjectNameEXT(
+      VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDebugMarkerSetObjectNameEXT(device, pNameInfo);
+  }
+
+  VkResult vkDebugMarkerSetObjectTagEXT(
+      VkDevice device,
+      const VkDebugMarkerObjectTagInfoEXT *pTagInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDebugMarkerSetObjectTagEXT(device, pTagInfo);
+  }
+
+  void vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags,
+                               VkDebugReportObjectTypeEXT objectType,
+                               uint64_t object, size_t location,
+                               int32_t messageCode, const char *pLayerPrefix,
+                               const char *pMessage) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDebugReportMessageEXT(instance, flags, objectType, object,
+                                     location, messageCode, pLayerPrefix,
+                                     pMessage);
+  }
+
+  VkResult vkDeferredOperationJoinKHR(VkDevice device,
+                                      VkDeferredOperationKHR operation) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDeferredOperationJoinKHR(device, operation);
+  }
+
+  void vkDestroyAccelerationStructureKHR(
+      VkDevice device, VkAccelerationStructureKHR accelerationStructure,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyAccelerationStructureKHR(device, accelerationStructure,
+                                               pAllocator);
+  }
+
+  void vkDestroyAccelerationStructureNV(
+      VkDevice device, VkAccelerationStructureNV accelerationStructure,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyAccelerationStructureNV(device, accelerationStructure,
+                                              pAllocator);
+  }
+
+  void vkDestroyBuffer(VkDevice device, VkBuffer buffer,
+                       const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyBuffer(device, buffer, pAllocator);
+  }
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  void vkDestroyBufferCollectionFUCHSIA(
+      VkDevice device, VkBufferCollectionFUCHSIA collection,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyBufferCollectionFUCHSIA(device, collection, pAllocator);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  void vkDestroyBufferView(VkDevice device, VkBufferView bufferView,
+                           const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyBufferView(device, bufferView, pAllocator);
+  }
+
+  void vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool,
+                            const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyCommandPool(device, commandPool, pAllocator);
+  }
+
+  void vkDestroyDebugReportCallbackEXT(
+      VkInstance instance, VkDebugReportCallbackEXT callback,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDebugReportCallbackEXT(instance, callback, pAllocator);
+  }
+
+  void vkDestroyDebugUtilsMessengerEXT(
+      VkInstance instance, VkDebugUtilsMessengerEXT messenger,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDebugUtilsMessengerEXT(instance, messenger, pAllocator);
+  }
+
+  void vkDestroyDeferredOperationKHR(
+      VkDevice device, VkDeferredOperationKHR operation,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDeferredOperationKHR(device, operation, pAllocator);
+  }
+
+  void vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool,
+                               const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDescriptorPool(device, descriptorPool, pAllocator);
+  }
+
+  void vkDestroyDescriptorSetLayout(
+      VkDevice device, VkDescriptorSetLayout descriptorSetLayout,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDescriptorSetLayout(device, descriptorSetLayout,
+                                          pAllocator);
+  }
+
+  void vkDestroyDescriptorUpdateTemplate(
+      VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate,
+                                               pAllocator);
+  }
+
+  void vkDestroyDescriptorUpdateTemplateKHR(
+      VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDescriptorUpdateTemplateKHR(
+        device, descriptorUpdateTemplate, pAllocator);
+  }
+
+  void vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyDevice(device, pAllocator);
+  }
+
+  void vkDestroyEvent(VkDevice device, VkEvent event,
+                      const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyEvent(device, event, pAllocator);
+  }
+
+  void vkDestroyFence(VkDevice device, VkFence fence,
+                      const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyFence(device, fence, pAllocator);
+  }
+
+  void vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer,
+                            const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyFramebuffer(device, framebuffer, pAllocator);
+  }
+
+  void vkDestroyImage(VkDevice device, VkImage image,
+                      const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyImage(device, image, pAllocator);
+  }
+
+  void vkDestroyImageView(VkDevice device, VkImageView imageView,
+                          const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyImageView(device, imageView, pAllocator);
+  }
+
+  void vkDestroyIndirectCommandsLayoutNV(
+      VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyIndirectCommandsLayoutNV(device, indirectCommandsLayout,
+                                               pAllocator);
+  }
+
+  void vkDestroyInstance(VkInstance instance,
+                         const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyInstance(instance, pAllocator);
+  }
+
+  void vkDestroyPipeline(VkDevice device, VkPipeline pipeline,
+                         const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyPipeline(device, pipeline, pAllocator);
+  }
+
+  void vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache,
+                              const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyPipelineCache(device, pipelineCache, pAllocator);
+  }
+
+  void vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout,
+                               const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
+  }
+
+  void vkDestroyPrivateDataSlotEXT(
+      VkDevice device, VkPrivateDataSlotEXT privateDataSlot,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator);
+  }
+
+  void vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool,
+                          const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyQueryPool(device, queryPool, pAllocator);
+  }
+
+  void vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass,
+                           const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyRenderPass(device, renderPass, pAllocator);
+  }
+
+  void vkDestroySampler(VkDevice device, VkSampler sampler,
+                        const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroySampler(device, sampler, pAllocator);
+  }
+
+  void vkDestroySamplerYcbcrConversion(
+      VkDevice device, VkSamplerYcbcrConversion ycbcrConversion,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroySamplerYcbcrConversion(device, ycbcrConversion,
+                                             pAllocator);
+  }
+
+  void vkDestroySamplerYcbcrConversionKHR(
+      VkDevice device, VkSamplerYcbcrConversion ycbcrConversion,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroySamplerYcbcrConversionKHR(device, ycbcrConversion,
+                                                pAllocator);
+  }
+
+  void vkDestroySemaphore(VkDevice device, VkSemaphore semaphore,
+                          const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroySemaphore(device, semaphore, pAllocator);
+  }
+
+  void vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule,
+                             const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyShaderModule(device, shaderModule, pAllocator);
+  }
+
+  void vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface,
+                           const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroySurfaceKHR(instance, surface, pAllocator);
+  }
+
+  void vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain,
+                             const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroySwapchainKHR(device, swapchain, pAllocator);
+  }
+
+  void vkDestroyValidationCacheEXT(
+      VkDevice device, VkValidationCacheEXT validationCache,
+      const VkAllocationCallbacks *pAllocator) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDestroyValidationCacheEXT(device, validationCache, pAllocator);
+  }
+
+  VkResult vkDeviceWaitIdle(VkDevice device) const VULKAN_HPP_NOEXCEPT {
+    return ::vkDeviceWaitIdle(device);
+  }
+
+  VkResult
+  vkDisplayPowerControlEXT(VkDevice device, VkDisplayKHR display,
+                           const VkDisplayPowerInfoEXT *pDisplayPowerInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkDisplayPowerControlEXT(device, display, pDisplayPowerInfo);
+  }
+
+  VkResult
+  vkEndCommandBuffer(VkCommandBuffer commandBuffer) const VULKAN_HPP_NOEXCEPT {
+    return ::vkEndCommandBuffer(commandBuffer);
+  }
+
+  VkResult vkEnumerateDeviceExtensionProperties(
+      VkPhysicalDevice physicalDevice, const char *pLayerName,
+      uint32_t *pPropertyCount,
+      VkExtensionProperties *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumerateDeviceExtensionProperties(physicalDevice, pLayerName,
+                                                  pPropertyCount, pProperties);
+  }
+
+  VkResult vkEnumerateDeviceLayerProperties(
+      VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount,
+      VkLayerProperties *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount,
+                                              pProperties);
+  }
+
+  VkResult vkEnumerateInstanceExtensionProperties(
+      const char *pLayerName, uint32_t *pPropertyCount,
+      VkExtensionProperties *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumerateInstanceExtensionProperties(pLayerName, pPropertyCount,
+                                                    pProperties);
+  }
+
+  VkResult vkEnumerateInstanceLayerProperties(
+      uint32_t *pPropertyCount,
+      VkLayerProperties *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumerateInstanceLayerProperties(pPropertyCount, pProperties);
+  }
+
+  VkResult
+  vkEnumerateInstanceVersion(uint32_t *pApiVersion) const VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumerateInstanceVersion(pApiVersion);
+  }
+
+  VkResult vkEnumeratePhysicalDeviceGroups(
+      VkInstance instance, uint32_t *pPhysicalDeviceGroupCount,
+      VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumeratePhysicalDeviceGroups(
+        instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
+  }
+
+  VkResult vkEnumeratePhysicalDeviceGroupsKHR(
+      VkInstance instance, uint32_t *pPhysicalDeviceGroupCount,
+      VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumeratePhysicalDeviceGroupsKHR(
+        instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
+  }
+
+  VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+      VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+      uint32_t *pCounterCount, VkPerformanceCounterKHR *pCounters,
+      VkPerformanceCounterDescriptionKHR *pCounterDescriptions) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+        physicalDevice, queueFamilyIndex, pCounterCount, pCounters,
+        pCounterDescriptions);
+  }
+
+  VkResult vkEnumeratePhysicalDevices(
+      VkInstance instance, uint32_t *pPhysicalDeviceCount,
+      VkPhysicalDevice *pPhysicalDevices) const VULKAN_HPP_NOEXCEPT {
+    return ::vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount,
+                                        pPhysicalDevices);
+  }
+
+  VkResult vkFlushMappedMemoryRanges(
+      VkDevice device, uint32_t memoryRangeCount,
+      const VkMappedMemoryRange *pMemoryRanges) const VULKAN_HPP_NOEXCEPT {
+    return ::vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
+  }
+
+  void vkFreeCommandBuffers(
+      VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount,
+      const VkCommandBuffer *pCommandBuffers) const VULKAN_HPP_NOEXCEPT {
+    return ::vkFreeCommandBuffers(device, commandPool, commandBufferCount,
+                                  pCommandBuffers);
+  }
+
+  VkResult vkFreeDescriptorSets(
+      VkDevice device, VkDescriptorPool descriptorPool,
+      uint32_t descriptorSetCount,
+      const VkDescriptorSet *pDescriptorSets) const VULKAN_HPP_NOEXCEPT {
+    return ::vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount,
+                                  pDescriptorSets);
+  }
+
+  void vkFreeMemory(VkDevice device, VkDeviceMemory memory,
+                    const VkAllocationCallbacks *pAllocator) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkFreeMemory(device, memory, pAllocator);
+  }
+
+  void vkGetAccelerationStructureBuildSizesKHR(
+      VkDevice device, VkAccelerationStructureBuildTypeKHR buildType,
+      const VkAccelerationStructureBuildGeometryInfoKHR *pBuildInfo,
+      const uint32_t *pMaxPrimitiveCounts,
+      VkAccelerationStructureBuildSizesInfoKHR *pSizeInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetAccelerationStructureBuildSizesKHR(
+        device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo);
+  }
+
+  VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR(
+      VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR *pInfo)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetAccelerationStructureDeviceAddressKHR(device, pInfo);
+  }
+
+  VkResult vkGetAccelerationStructureHandleNV(
+      VkDevice device, VkAccelerationStructureNV accelerationStructure,
+      size_t dataSize, void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetAccelerationStructureHandleNV(device, accelerationStructure,
+                                                dataSize, pData);
+  }
+
+  void vkGetAccelerationStructureMemoryRequirementsNV(
+      VkDevice device,
+      const VkAccelerationStructureMemoryRequirementsInfoNV *pInfo,
+      VkMemoryRequirements2KHR *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetAccelerationStructureMemoryRequirementsNV(
+        device, pInfo, pMemoryRequirements);
+  }
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  VkResult vkGetAndroidHardwareBufferPropertiesANDROID(
+      VkDevice device, const struct AHardwareBuffer *buffer,
+      VkAndroidHardwareBufferPropertiesANDROID *pProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetAndroidHardwareBufferPropertiesANDROID(device, buffer,
+                                                         pProperties);
+  }
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkGetBufferCollectionProperties2FUCHSIA(
+      VkDevice device, VkBufferCollectionFUCHSIA collection,
+      VkBufferCollectionProperties2FUCHSIA *pProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferCollectionProperties2FUCHSIA(device, collection,
+                                                     pProperties);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkGetBufferCollectionPropertiesFUCHSIA(
+      VkDevice device, VkBufferCollectionFUCHSIA collection,
+      VkBufferCollectionPropertiesFUCHSIA *pProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferCollectionPropertiesFUCHSIA(device, collection,
+                                                    pProperties);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  VkDeviceAddress vkGetBufferDeviceAddress(
+      VkDevice device,
+      const VkBufferDeviceAddressInfo *pInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferDeviceAddress(device, pInfo);
+  }
+
+  VkDeviceAddress vkGetBufferDeviceAddressEXT(
+      VkDevice device,
+      const VkBufferDeviceAddressInfo *pInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferDeviceAddressEXT(device, pInfo);
+  }
+
+  VkDeviceAddress vkGetBufferDeviceAddressKHR(
+      VkDevice device,
+      const VkBufferDeviceAddressInfo *pInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferDeviceAddressKHR(device, pInfo);
+  }
+
+  void vkGetBufferMemoryRequirements(
+      VkDevice device, VkBuffer buffer,
+      VkMemoryRequirements *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
+  }
+
+  void vkGetBufferMemoryRequirements2(
+      VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo,
+      VkMemoryRequirements2 *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements);
+  }
+
+  void vkGetBufferMemoryRequirements2KHR(
+      VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo,
+      VkMemoryRequirements2 *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferMemoryRequirements2KHR(device, pInfo,
+                                               pMemoryRequirements);
+  }
+
+  uint64_t vkGetBufferOpaqueCaptureAddress(
+      VkDevice device,
+      const VkBufferDeviceAddressInfo *pInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferOpaqueCaptureAddress(device, pInfo);
+  }
+
+  uint64_t vkGetBufferOpaqueCaptureAddressKHR(
+      VkDevice device,
+      const VkBufferDeviceAddressInfo *pInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetBufferOpaqueCaptureAddressKHR(device, pInfo);
+  }
+
+  VkResult vkGetCalibratedTimestampsEXT(
+      VkDevice device, uint32_t timestampCount,
+      const VkCalibratedTimestampInfoEXT *pTimestampInfos,
+      uint64_t *pTimestamps,
+      uint64_t *pMaxDeviation) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetCalibratedTimestampsEXT(
+        device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation);
+  }
+
+  uint32_t vkGetDeferredOperationMaxConcurrencyKHR(
+      VkDevice device,
+      VkDeferredOperationKHR operation) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeferredOperationMaxConcurrencyKHR(device, operation);
+  }
+
+  VkResult vkGetDeferredOperationResultKHR(
+      VkDevice device,
+      VkDeferredOperationKHR operation) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeferredOperationResultKHR(device, operation);
+  }
+
+  void vkGetDescriptorSetLayoutSupport(
+      VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo,
+      VkDescriptorSetLayoutSupport *pSupport) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
+  }
+
+  void vkGetDescriptorSetLayoutSupportKHR(
+      VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo,
+      VkDescriptorSetLayoutSupport *pSupport) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDescriptorSetLayoutSupportKHR(device, pCreateInfo, pSupport);
+  }
+
+  void vkGetDeviceAccelerationStructureCompatibilityKHR(
+      VkDevice device,
+      const VkAccelerationStructureVersionInfoKHR *pVersionInfo,
+      VkAccelerationStructureCompatibilityKHR *pCompatibility) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceAccelerationStructureCompatibilityKHR(
+        device, pVersionInfo, pCompatibility);
+  }
+
+  void vkGetDeviceGroupPeerMemoryFeatures(
+      VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex,
+      uint32_t remoteDeviceIndex,
+      VkPeerMemoryFeatureFlags *pPeerMemoryFeatures) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceGroupPeerMemoryFeatures(
+        device, heapIndex, localDeviceIndex, remoteDeviceIndex,
+        pPeerMemoryFeatures);
+  }
+
+  void vkGetDeviceGroupPeerMemoryFeaturesKHR(
+      VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex,
+      uint32_t remoteDeviceIndex,
+      VkPeerMemoryFeatureFlags *pPeerMemoryFeatures) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceGroupPeerMemoryFeaturesKHR(
+        device, heapIndex, localDeviceIndex, remoteDeviceIndex,
+        pPeerMemoryFeatures);
+  }
+
+  VkResult vkGetDeviceGroupPresentCapabilitiesKHR(
+      VkDevice device,
+      VkDeviceGroupPresentCapabilitiesKHR *pDeviceGroupPresentCapabilities)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceGroupPresentCapabilitiesKHR(
+        device, pDeviceGroupPresentCapabilities);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkGetDeviceGroupSurfacePresentModes2EXT(
+      VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      VkDeviceGroupPresentModeFlagsKHR *pModes) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceGroupSurfacePresentModes2EXT(device, pSurfaceInfo,
+                                                     pModes);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  VkResult vkGetDeviceGroupSurfacePresentModesKHR(
+      VkDevice device, VkSurfaceKHR surface,
+      VkDeviceGroupPresentModeFlagsKHR *pModes) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
+  }
+
+  void vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory,
+                                   VkDeviceSize *pCommittedMemoryInBytes) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceMemoryCommitment(device, memory,
+                                         pCommittedMemoryInBytes);
+  }
+
+  uint64_t vkGetDeviceMemoryOpaqueCaptureAddress(
+      VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo *pInfo)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo);
+  }
+
+  uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR(
+      VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo *pInfo)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR(device, pInfo);
+  }
+
+  PFN_vkVoidFunction
+  vkGetDeviceProcAddr(VkDevice device,
+                      const char *pName) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceProcAddr(device, pName);
+  }
+
+  void vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex,
+                        uint32_t queueIndex,
+                        VkQueue *pQueue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
+  }
+
+  void vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2 *pQueueInfo,
+                         VkQueue *pQueue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDeviceQueue2(device, pQueueInfo, pQueue);
+  }
+
+  VkResult vkGetDisplayModeProperties2KHR(
+      VkPhysicalDevice physicalDevice, VkDisplayKHR display,
+      uint32_t *pPropertyCount,
+      VkDisplayModeProperties2KHR *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDisplayModeProperties2KHR(physicalDevice, display,
+                                            pPropertyCount, pProperties);
+  }
+
+  VkResult vkGetDisplayModePropertiesKHR(
+      VkPhysicalDevice physicalDevice, VkDisplayKHR display,
+      uint32_t *pPropertyCount,
+      VkDisplayModePropertiesKHR *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDisplayModePropertiesKHR(physicalDevice, display,
+                                           pPropertyCount, pProperties);
+  }
+
+  VkResult vkGetDisplayPlaneCapabilities2KHR(
+      VkPhysicalDevice physicalDevice,
+      const VkDisplayPlaneInfo2KHR *pDisplayPlaneInfo,
+      VkDisplayPlaneCapabilities2KHR *pCapabilities) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDisplayPlaneCapabilities2KHR(
+        physicalDevice, pDisplayPlaneInfo, pCapabilities);
+  }
+
+  VkResult vkGetDisplayPlaneCapabilitiesKHR(
+      VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode,
+      uint32_t planeIndex,
+      VkDisplayPlaneCapabilitiesKHR *pCapabilities) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex,
+                                              pCapabilities);
+  }
+
+  VkResult vkGetDisplayPlaneSupportedDisplaysKHR(
+      VkPhysicalDevice physicalDevice, uint32_t planeIndex,
+      uint32_t *pDisplayCount,
+      VkDisplayKHR *pDisplays) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex,
+                                                   pDisplayCount, pDisplays);
+  }
+
+  VkResult vkGetEventStatus(VkDevice device,
+                            VkEvent event) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetEventStatus(device, event);
+  }
+
+  VkResult vkGetFenceFdKHR(VkDevice device,
+                           const VkFenceGetFdInfoKHR *pGetFdInfo,
+                           int *pFd) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetFenceFdKHR(device, pGetFdInfo, pFd);
+  }
+
+  VkResult vkGetFenceStatus(VkDevice device,
+                            VkFence fence) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetFenceStatus(device, fence);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkGetFenceWin32HandleKHR(
+      VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo,
+      HANDLE *pHandle) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  void vkGetGeneratedCommandsMemoryRequirementsNV(
+      VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV *pInfo,
+      VkMemoryRequirements2 *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetGeneratedCommandsMemoryRequirementsNV(device, pInfo,
+                                                        pMemoryRequirements);
+  }
+
+  VkResult vkGetImageDrmFormatModifierPropertiesEXT(
+      VkDevice device, VkImage image,
+      VkImageDrmFormatModifierPropertiesEXT *pProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageDrmFormatModifierPropertiesEXT(device, image,
+                                                      pProperties);
+  }
+
+  void vkGetImageMemoryRequirements(
+      VkDevice device, VkImage image,
+      VkMemoryRequirements *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
+  }
+
+  void vkGetImageMemoryRequirements2(
+      VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo,
+      VkMemoryRequirements2 *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
+  }
+
+  void vkGetImageMemoryRequirements2KHR(
+      VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo,
+      VkMemoryRequirements2 *pMemoryRequirements) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageMemoryRequirements2KHR(device, pInfo,
+                                              pMemoryRequirements);
+  }
+
+  void vkGetImageSparseMemoryRequirements(
+      VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount,
+      VkSparseImageMemoryRequirements *pSparseMemoryRequirements) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageSparseMemoryRequirements(device, image,
+                                                pSparseMemoryRequirementCount,
+                                                pSparseMemoryRequirements);
+  }
+
+  void vkGetImageSparseMemoryRequirements2(
+      VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo,
+      uint32_t *pSparseMemoryRequirementCount,
+      VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageSparseMemoryRequirements2(device, pInfo,
+                                                 pSparseMemoryRequirementCount,
+                                                 pSparseMemoryRequirements);
+  }
+
+  void vkGetImageSparseMemoryRequirements2KHR(
+      VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo,
+      uint32_t *pSparseMemoryRequirementCount,
+      VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageSparseMemoryRequirements2KHR(
+        device, pInfo, pSparseMemoryRequirementCount,
+        pSparseMemoryRequirements);
+  }
+
+  void vkGetImageSubresourceLayout(
+      VkDevice device, VkImage image, const VkImageSubresource *pSubresource,
+      VkSubresourceLayout *pLayout) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
+  }
+
+  VkResult vkGetImageViewAddressNVX(
+      VkDevice device, VkImageView imageView,
+      VkImageViewAddressPropertiesNVX *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageViewAddressNVX(device, imageView, pProperties);
+  }
+
+  uint32_t vkGetImageViewHandleNVX(VkDevice device,
+                                   const VkImageViewHandleInfoNVX *pInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetImageViewHandleNVX(device, pInfo);
+  }
+
+  PFN_vkVoidFunction
+  vkGetInstanceProcAddr(VkInstance instance,
+                        const char *pName) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetInstanceProcAddr(instance, pName);
+  }
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  VkResult vkGetMemoryAndroidHardwareBufferANDROID(
+      VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID *pInfo,
+      struct AHardwareBuffer **pBuffer) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryAndroidHardwareBufferANDROID(device, pInfo, pBuffer);
+  }
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+  VkResult vkGetMemoryFdKHR(VkDevice device,
+                            const VkMemoryGetFdInfoKHR *pGetFdInfo,
+                            int *pFd) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
+  }
+
+  VkResult vkGetMemoryFdPropertiesKHR(
+      VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd,
+      VkMemoryFdPropertiesKHR *pMemoryFdProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryFdPropertiesKHR(device, handleType, fd,
+                                        pMemoryFdProperties);
+  }
+
+  VkResult vkGetMemoryHostPointerPropertiesEXT(
+      VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
+      const void *pHostPointer,
+      VkMemoryHostPointerPropertiesEXT *pMemoryHostPointerProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryHostPointerPropertiesEXT(
+        device, handleType, pHostPointer, pMemoryHostPointerProperties);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkGetMemoryWin32HandleKHR(
+      VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo,
+      HANDLE *pHandle) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult
+  vkGetMemoryWin32HandleNV(VkDevice device, VkDeviceMemory memory,
+                           VkExternalMemoryHandleTypeFlagsNV handleType,
+                           HANDLE *pHandle) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryWin32HandleNV(device, memory, handleType, pHandle);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkGetMemoryWin32HandlePropertiesKHR(
+      VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
+      HANDLE handle,
+      VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryWin32HandlePropertiesKHR(device, handleType, handle,
+                                                 pMemoryWin32HandleProperties);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkGetMemoryZirconHandleFUCHSIA(
+      VkDevice device,
+      const VkMemoryGetZirconHandleInfoFUCHSIA *pGetZirconHandleInfo,
+      zx_handle_t *pZirconHandle) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryZirconHandleFUCHSIA(device, pGetZirconHandleInfo,
+                                            pZirconHandle);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA(
+      VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
+      zx_handle_t zirconHandle,
+      VkMemoryZirconHandlePropertiesFUCHSIA *pMemoryZirconHandleProperties)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetMemoryZirconHandlePropertiesFUCHSIA(
+        device, handleType, zirconHandle, pMemoryZirconHandleProperties);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  VkResult vkGetPastPresentationTimingGOOGLE(
+      VkDevice device, VkSwapchainKHR swapchain,
+      uint32_t *pPresentationTimingCount,
+      VkPastPresentationTimingGOOGLE *pPresentationTimings) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPastPresentationTimingGOOGLE(
+        device, swapchain, pPresentationTimingCount, pPresentationTimings);
+  }
+
+  VkResult vkGetPerformanceParameterINTEL(
+      VkDevice device, VkPerformanceParameterTypeINTEL parameter,
+      VkPerformanceValueINTEL *pValue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPerformanceParameterINTEL(device, parameter, pValue);
+  }
+
+  VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+      VkPhysicalDevice physicalDevice, uint32_t *pTimeDomainCount,
+      VkTimeDomainEXT *pTimeDomains) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+        physicalDevice, pTimeDomainCount, pTimeDomains);
+  }
+
+  VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+      VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount,
+      VkCooperativeMatrixPropertiesNV *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+        physicalDevice, pPropertyCount, pProperties);
+  }
+
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+  VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
+      VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+      IDirectFB *dfb) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
+        physicalDevice, queueFamilyIndex, dfb);
+  }
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+  VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
+      VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount,
+      VkDisplayPlaneProperties2KHR *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
+        physicalDevice, pPropertyCount, pProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
+      VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount,
+      VkDisplayPlanePropertiesKHR *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
+        physicalDevice, pPropertyCount, pProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceDisplayProperties2KHR(
+      VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount,
+      VkDisplayProperties2KHR *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceDisplayProperties2KHR(
+        physicalDevice, pPropertyCount, pProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceDisplayPropertiesKHR(
+      VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount,
+      VkDisplayPropertiesKHR *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceDisplayPropertiesKHR(
+        physicalDevice, pPropertyCount, pProperties);
+  }
+
+  void vkGetPhysicalDeviceExternalBufferProperties(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo,
+      VkExternalBufferProperties *pExternalBufferProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceExternalBufferProperties(
+        physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
+  }
+
+  void vkGetPhysicalDeviceExternalBufferPropertiesKHR(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo,
+      VkExternalBufferProperties *pExternalBufferProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR(
+        physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
+  }
+
+  void vkGetPhysicalDeviceExternalFenceProperties(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo,
+      VkExternalFenceProperties *pExternalFenceProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceExternalFenceProperties(
+        physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
+  }
+
+  void vkGetPhysicalDeviceExternalFencePropertiesKHR(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo,
+      VkExternalFenceProperties *pExternalFenceProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceExternalFencePropertiesKHR(
+        physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
+      VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+      VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
+      VkExternalMemoryHandleTypeFlagsNV externalHandleType,
+      VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
+        physicalDevice, format, type, tiling, usage, flags, externalHandleType,
+        pExternalImageFormatProperties);
+  }
+
+  void vkGetPhysicalDeviceExternalSemaphoreProperties(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo,
+      VkExternalSemaphoreProperties *pExternalSemaphoreProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceExternalSemaphoreProperties(
+        physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
+  }
+
+  void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo,
+      VkExternalSemaphoreProperties *pExternalSemaphoreProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
+        physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
+  }
+
+  void vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
+                                   VkPhysicalDeviceFeatures *pFeatures) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures);
+  }
+
+  void vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
+                                    VkPhysicalDeviceFeatures2 *pFeatures) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
+  }
+
+  void vkGetPhysicalDeviceFeatures2KHR(
+      VkPhysicalDevice physicalDevice,
+      VkPhysicalDeviceFeatures2 *pFeatures) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures);
+  }
+
+  void vkGetPhysicalDeviceFormatProperties(
+      VkPhysicalDevice physicalDevice, VkFormat format,
+      VkFormatProperties *pFormatProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceFormatProperties(physicalDevice, format,
+                                                 pFormatProperties);
+  }
+
+  void vkGetPhysicalDeviceFormatProperties2(
+      VkPhysicalDevice physicalDevice, VkFormat format,
+      VkFormatProperties2 *pFormatProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceFormatProperties2(physicalDevice, format,
+                                                  pFormatProperties);
+  }
+
+  void vkGetPhysicalDeviceFormatProperties2KHR(
+      VkPhysicalDevice physicalDevice, VkFormat format,
+      VkFormatProperties2 *pFormatProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice, format,
+                                                     pFormatProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR(
+      VkPhysicalDevice physicalDevice, uint32_t *pFragmentShadingRateCount,
+      VkPhysicalDeviceFragmentShadingRateKHR *pFragmentShadingRates) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceFragmentShadingRatesKHR(
+        physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates);
+  }
+
+  VkResult vkGetPhysicalDeviceImageFormatProperties(
+      VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+      VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
+      VkImageFormatProperties *pImageFormatProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceImageFormatProperties(
+        physicalDevice, format, type, tiling, usage, flags,
+        pImageFormatProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceImageFormatProperties2(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo,
+      VkImageFormatProperties2 *pImageFormatProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceImageFormatProperties2(
+        physicalDevice, pImageFormatInfo, pImageFormatProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceImageFormatProperties2KHR(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo,
+      VkImageFormatProperties2 *pImageFormatProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceImageFormatProperties2KHR(
+        physicalDevice, pImageFormatInfo, pImageFormatProperties);
+  }
+
+  void vkGetPhysicalDeviceMemoryProperties(
+      VkPhysicalDevice physicalDevice,
+      VkPhysicalDeviceMemoryProperties *pMemoryProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceMemoryProperties(physicalDevice,
+                                                 pMemoryProperties);
+  }
+
+  void vkGetPhysicalDeviceMemoryProperties2(
+      VkPhysicalDevice physicalDevice,
+      VkPhysicalDeviceMemoryProperties2 *pMemoryProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceMemoryProperties2(physicalDevice,
+                                                  pMemoryProperties);
+  }
+
+  void vkGetPhysicalDeviceMemoryProperties2KHR(
+      VkPhysicalDevice physicalDevice,
+      VkPhysicalDeviceMemoryProperties2 *pMemoryProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice,
+                                                     pMemoryProperties);
+  }
+
+  void vkGetPhysicalDeviceMultisamplePropertiesEXT(
+      VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples,
+      VkMultisamplePropertiesEXT *pMultisampleProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceMultisamplePropertiesEXT(
+        physicalDevice, samples, pMultisampleProperties);
+  }
+
+  VkResult vkGetPhysicalDevicePresentRectanglesKHR(
+      VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+      uint32_t *pRectCount, VkRect2D *pRects) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice, surface,
+                                                     pRectCount, pRects);
+  }
+
+  void vkGetPhysicalDeviceProperties(
+      VkPhysicalDevice physicalDevice,
+      VkPhysicalDeviceProperties *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceProperties(physicalDevice, pProperties);
+  }
+
+  void vkGetPhysicalDeviceProperties2(
+      VkPhysicalDevice physicalDevice,
+      VkPhysicalDeviceProperties2 *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceProperties2(physicalDevice, pProperties);
+  }
+
+  void vkGetPhysicalDeviceProperties2KHR(
+      VkPhysicalDevice physicalDevice,
+      VkPhysicalDeviceProperties2 *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceProperties2KHR(physicalDevice, pProperties);
+  }
+
+  void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
+      VkPhysicalDevice physicalDevice,
+      const VkQueryPoolPerformanceCreateInfoKHR *pPerformanceQueryCreateInfo,
+      uint32_t *pNumPasses) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
+        physicalDevice, pPerformanceQueryCreateInfo, pNumPasses);
+  }
+
+  void vkGetPhysicalDeviceQueueFamilyProperties(
+      VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount,
+      VkQueueFamilyProperties *pQueueFamilyProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceQueueFamilyProperties(
+        physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+  }
+
+  void vkGetPhysicalDeviceQueueFamilyProperties2(
+      VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount,
+      VkQueueFamilyProperties2 *pQueueFamilyProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceQueueFamilyProperties2(
+        physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+  }
+
+  void vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount,
+      VkQueueFamilyProperties2 *pQueueFamilyProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+        physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+  }
+
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+  VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX(
+      VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+      struct _screen_window *window) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceScreenPresentationSupportQNX(
+        physicalDevice, queueFamilyIndex, window);
+  }
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+
+  void vkGetPhysicalDeviceSparseImageFormatProperties(
+      VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+      VkSampleCountFlagBits samples, VkImageUsageFlags usage,
+      VkImageTiling tiling, uint32_t *pPropertyCount,
+      VkSparseImageFormatProperties *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSparseImageFormatProperties(
+        physicalDevice, format, type, samples, usage, tiling, pPropertyCount,
+        pProperties);
+  }
+
+  void vkGetPhysicalDeviceSparseImageFormatProperties2(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo,
+      uint32_t *pPropertyCount,
+      VkSparseImageFormatProperties2 *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSparseImageFormatProperties2(
+        physicalDevice, pFormatInfo, pPropertyCount, pProperties);
+  }
+
+  void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo,
+      uint32_t *pPropertyCount,
+      VkSparseImageFormatProperties2 *pProperties) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+        physicalDevice, pFormatInfo, pPropertyCount, pProperties);
+  }
+
+  VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
+      VkPhysicalDevice physicalDevice, uint32_t *pCombinationCount,
+      VkFramebufferMixedSamplesCombinationNV *pCombinations) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
+        physicalDevice, pCombinationCount, pCombinations);
+  }
+
+  VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT(
+      VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+      VkSurfaceCapabilities2EXT *pSurfaceCapabilities) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice, surface,
+                                                        pSurfaceCapabilities);
+  }
+
+  VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      VkSurfaceCapabilities2KHR *pSurfaceCapabilities) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR(
+        physicalDevice, pSurfaceInfo, pSurfaceCapabilities);
+  }
+
+  VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
+      VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+      VkSurfaceCapabilitiesKHR *pSurfaceCapabilities) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface,
+                                                       pSurfaceCapabilities);
+  }
+
+  VkResult vkGetPhysicalDeviceSurfaceFormats2KHR(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      uint32_t *pSurfaceFormatCount,
+      VkSurfaceFormat2KHR *pSurfaceFormats) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfaceFormats2KHR(
+        physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats);
+  }
+
+  VkResult vkGetPhysicalDeviceSurfaceFormatsKHR(
+      VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+      uint32_t *pSurfaceFormatCount,
+      VkSurfaceFormatKHR *pSurfaceFormats) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfaceFormatsKHR(
+        physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT(
+      VkPhysicalDevice physicalDevice,
+      const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      uint32_t *pPresentModeCount,
+      VkPresentModeKHR *pPresentModes) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfacePresentModes2EXT(
+        physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  VkResult vkGetPhysicalDeviceSurfacePresentModesKHR(
+      VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+      uint32_t *pPresentModeCount,
+      VkPresentModeKHR *pPresentModes) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfacePresentModesKHR(
+        physicalDevice, surface, pPresentModeCount, pPresentModes);
+  }
+
+  VkResult vkGetPhysicalDeviceSurfaceSupportKHR(
+      VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+      VkSurfaceKHR surface, VkBool32 *pSupported) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceSurfaceSupportKHR(
+        physicalDevice, queueFamilyIndex, surface, pSupported);
+  }
+
+  VkResult vkGetPhysicalDeviceToolPropertiesEXT(
+      VkPhysicalDevice physicalDevice, uint32_t *pToolCount,
+      VkPhysicalDeviceToolPropertiesEXT *pToolProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount,
+                                                  pToolProperties);
+  }
+
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+  VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR(
+      VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+      struct wl_display *display) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR(
+        physicalDevice, queueFamilyIndex, display);
+  }
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR(
+      VkPhysicalDevice physicalDevice,
+      uint32_t queueFamilyIndex) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice,
+                                                            queueFamilyIndex);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+  VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR(
+      VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+      xcb_connection_t *connection,
+      xcb_visualid_t visual_id) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceXcbPresentationSupportKHR(
+        physicalDevice, queueFamilyIndex, connection, visual_id);
+  }
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+  VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR(
+      VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display *dpy,
+      VisualID visualID) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPhysicalDeviceXlibPresentationSupportKHR(
+        physicalDevice, queueFamilyIndex, dpy, visualID);
+  }
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+  VkResult vkGetPipelineCacheData(VkDevice device,
+                                  VkPipelineCache pipelineCache,
+                                  size_t *pDataSize,
+                                  void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
+  }
+
+  VkResult vkGetPipelineExecutableInternalRepresentationsKHR(
+      VkDevice device, const VkPipelineExecutableInfoKHR *pExecutableInfo,
+      uint32_t *pInternalRepresentationCount,
+      VkPipelineExecutableInternalRepresentationKHR *pInternalRepresentations)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPipelineExecutableInternalRepresentationsKHR(
+        device, pExecutableInfo, pInternalRepresentationCount,
+        pInternalRepresentations);
+  }
+
+  VkResult vkGetPipelineExecutablePropertiesKHR(
+      VkDevice device, const VkPipelineInfoKHR *pPipelineInfo,
+      uint32_t *pExecutableCount,
+      VkPipelineExecutablePropertiesKHR *pProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPipelineExecutablePropertiesKHR(
+        device, pPipelineInfo, pExecutableCount, pProperties);
+  }
+
+  VkResult vkGetPipelineExecutableStatisticsKHR(
+      VkDevice device, const VkPipelineExecutableInfoKHR *pExecutableInfo,
+      uint32_t *pStatisticCount,
+      VkPipelineExecutableStatisticKHR *pStatistics) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPipelineExecutableStatisticsKHR(device, pExecutableInfo,
+                                                  pStatisticCount, pStatistics);
+  }
+
+  void vkGetPrivateDataEXT(VkDevice device, VkObjectType objectType,
+                           uint64_t objectHandle,
+                           VkPrivateDataSlotEXT privateDataSlot,
+                           uint64_t *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetPrivateDataEXT(device, objectType, objectHandle,
+                                 privateDataSlot, pData);
+  }
+
+  VkResult
+  vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool,
+                        uint32_t firstQuery, uint32_t queryCount,
+                        size_t dataSize, void *pData, VkDeviceSize stride,
+                        VkQueryResultFlags flags) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount,
+                                   dataSize, pData, stride, flags);
+  }
+
+  void vkGetQueueCheckpointData2NV(
+      VkQueue queue, uint32_t *pCheckpointDataCount,
+      VkCheckpointData2NV *pCheckpointData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount,
+                                         pCheckpointData);
+  }
+
+  void vkGetQueueCheckpointDataNV(VkQueue queue, uint32_t *pCheckpointDataCount,
+                                  VkCheckpointDataNV *pCheckpointData) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetQueueCheckpointDataNV(queue, pCheckpointDataCount,
+                                        pCheckpointData);
+  }
+
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+  VkResult
+  vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display *dpy,
+                             RROutput rrOutput,
+                             VkDisplayKHR *pDisplay) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetRandROutputDisplayEXT(physicalDevice, dpy, rrOutput,
+                                        pDisplay);
+  }
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+
+  VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+      VkDevice device, VkPipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount, size_t dataSize,
+      void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+        device, pipeline, firstGroup, groupCount, dataSize, pData);
+  }
+
+  VkResult
+  vkGetRayTracingShaderGroupHandlesKHR(VkDevice device, VkPipeline pipeline,
+                                       uint32_t firstGroup, uint32_t groupCount,
+                                       size_t dataSize,
+                                       void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetRayTracingShaderGroupHandlesKHR(device, pipeline, firstGroup,
+                                                  groupCount, dataSize, pData);
+  }
+
+  VkResult
+  vkGetRayTracingShaderGroupHandlesNV(VkDevice device, VkPipeline pipeline,
+                                      uint32_t firstGroup, uint32_t groupCount,
+                                      size_t dataSize,
+                                      void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetRayTracingShaderGroupHandlesNV(device, pipeline, firstGroup,
+                                                 groupCount, dataSize, pData);
+  }
+
+  VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR(
+      VkDevice device, VkPipeline pipeline, uint32_t group,
+      VkShaderGroupShaderKHR groupShader) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetRayTracingShaderGroupStackSizeKHR(device, pipeline, group,
+                                                    groupShader);
+  }
+
+  VkResult vkGetRefreshCycleDurationGOOGLE(
+      VkDevice device, VkSwapchainKHR swapchain,
+      VkRefreshCycleDurationGOOGLE *pDisplayTimingProperties) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetRefreshCycleDurationGOOGLE(device, swapchain,
+                                             pDisplayTimingProperties);
+  }
+
+  void vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass,
+                                  VkExtent2D *pGranularity) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkGetRenderAreaGranularity(device, renderPass, pGranularity);
+  }
+
+  VkResult
+  vkGetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore,
+                             uint64_t *pValue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSemaphoreCounterValue(device, semaphore, pValue);
+  }
+
+  VkResult
+  vkGetSemaphoreCounterValueKHR(VkDevice device, VkSemaphore semaphore,
+                                uint64_t *pValue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSemaphoreCounterValueKHR(device, semaphore, pValue);
+  }
+
+  VkResult vkGetSemaphoreFdKHR(VkDevice device,
+                               const VkSemaphoreGetFdInfoKHR *pGetFdInfo,
+                               int *pFd) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSemaphoreFdKHR(device, pGetFdInfo, pFd);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkGetSemaphoreWin32HandleKHR(
+      VkDevice device,
+      const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo,
+      HANDLE *pHandle) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkGetSemaphoreZirconHandleFUCHSIA(
+      VkDevice device,
+      const VkSemaphoreGetZirconHandleInfoFUCHSIA *pGetZirconHandleInfo,
+      zx_handle_t *pZirconHandle) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSemaphoreZirconHandleFUCHSIA(device, pGetZirconHandleInfo,
+                                               pZirconHandle);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  VkResult vkGetShaderInfoAMD(VkDevice device, VkPipeline pipeline,
+                              VkShaderStageFlagBits shaderStage,
+                              VkShaderInfoTypeAMD infoType, size_t *pInfoSize,
+                              void *pInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetShaderInfoAMD(device, pipeline, shaderStage, infoType,
+                                pInfoSize, pInfo);
+  }
+
+  VkResult
+  vkGetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain,
+                           VkSurfaceCounterFlagBitsEXT counter,
+                           uint64_t *pCounterValue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSwapchainCounterEXT(device, swapchain, counter,
+                                      pCounterValue);
+  }
+
+  VkResult
+  vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain,
+                          uint32_t *pSwapchainImageCount,
+                          VkImage *pSwapchainImages) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount,
+                                     pSwapchainImages);
+  }
+
+  VkResult
+  vkGetSwapchainStatusKHR(VkDevice device,
+                          VkSwapchainKHR swapchain) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetSwapchainStatusKHR(device, swapchain);
+  }
+
+  VkResult vkGetValidationCacheDataEXT(VkDevice device,
+                                       VkValidationCacheEXT validationCache,
+                                       size_t *pDataSize,
+                                       void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetValidationCacheDataEXT(device, validationCache, pDataSize,
+                                         pData);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult
+  vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,
+                      uint32_t deviceRelativeId,
+                      VkDisplayKHR *pDisplay) const VULKAN_HPP_NOEXCEPT {
+    return ::vkGetWinrtDisplayNV(physicalDevice, deviceRelativeId, pDisplay);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  VkResult vkImportFenceFdKHR(VkDevice device,
+                              const VkImportFenceFdInfoKHR *pImportFenceFdInfo)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkImportFenceFdKHR(device, pImportFenceFdInfo);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkImportFenceWin32HandleKHR(
+      VkDevice device,
+      const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  VkResult vkImportSemaphoreFdKHR(
+      VkDevice device, const VkImportSemaphoreFdInfoKHR *pImportSemaphoreFdInfo)
+      const VULKAN_HPP_NOEXCEPT {
+    return ::vkImportSemaphoreFdKHR(device, pImportSemaphoreFdInfo);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkImportSemaphoreWin32HandleKHR(
+      VkDevice device,
+      const VkImportSemaphoreWin32HandleInfoKHR
+          *pImportSemaphoreWin32HandleInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkImportSemaphoreWin32HandleKHR(device,
+                                             pImportSemaphoreWin32HandleInfo);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkImportSemaphoreZirconHandleFUCHSIA(
+      VkDevice device,
+      const VkImportSemaphoreZirconHandleInfoFUCHSIA
+          *pImportSemaphoreZirconHandleInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkImportSemaphoreZirconHandleFUCHSIA(
+        device, pImportSemaphoreZirconHandleInfo);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  VkResult vkInitializePerformanceApiINTEL(
+      VkDevice device,
+      const VkInitializePerformanceApiInfoINTEL *pInitializeInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkInitializePerformanceApiINTEL(device, pInitializeInfo);
+  }
+
+  VkResult vkInvalidateMappedMemoryRanges(
+      VkDevice device, uint32_t memoryRangeCount,
+      const VkMappedMemoryRange *pMemoryRanges) const VULKAN_HPP_NOEXCEPT {
+    return ::vkInvalidateMappedMemoryRanges(device, memoryRangeCount,
+                                            pMemoryRanges);
+  }
+
+  VkResult vkMapMemory(VkDevice device, VkDeviceMemory memory,
+                       VkDeviceSize offset, VkDeviceSize size,
+                       VkMemoryMapFlags flags,
+                       void **ppData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkMapMemory(device, memory, offset, size, flags, ppData);
+  }
+
+  VkResult vkMergePipelineCaches(
+      VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount,
+      const VkPipelineCache *pSrcCaches) const VULKAN_HPP_NOEXCEPT {
+    return ::vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
+  }
+
+  VkResult vkMergeValidationCachesEXT(
+      VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount,
+      const VkValidationCacheEXT *pSrcCaches) const VULKAN_HPP_NOEXCEPT {
+    return ::vkMergeValidationCachesEXT(device, dstCache, srcCacheCount,
+                                        pSrcCaches);
+  }
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  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*/
+
+  void vkQueueBeginDebugUtilsLabelEXT(
+      VkQueue queue,
+      const VkDebugUtilsLabelEXT *pLabelInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueBeginDebugUtilsLabelEXT(queue, pLabelInfo);
+  }
+
+  VkResult vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount,
+                             const VkBindSparseInfo *pBindInfo,
+                             VkFence fence) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
+  }
+
+  void vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueEndDebugUtilsLabelEXT(queue);
+  }
+
+  void vkQueueInsertDebugUtilsLabelEXT(
+      VkQueue queue,
+      const VkDebugUtilsLabelEXT *pLabelInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueInsertDebugUtilsLabelEXT(queue, pLabelInfo);
+  }
+
+  VkResult vkQueuePresentKHR(VkQueue queue,
+                             const VkPresentInfoKHR *pPresentInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkQueuePresentKHR(queue, pPresentInfo);
+  }
+
+  VkResult vkQueueSetPerformanceConfigurationINTEL(
+      VkQueue queue,
+      VkPerformanceConfigurationINTEL configuration) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueSetPerformanceConfigurationINTEL(queue, configuration);
+  }
+
+  VkResult vkQueueSubmit(VkQueue queue, uint32_t submitCount,
+                         const VkSubmitInfo *pSubmits,
+                         VkFence fence) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueSubmit(queue, submitCount, pSubmits, fence);
+  }
+
+  VkResult vkQueueSubmit2KHR(VkQueue queue, uint32_t submitCount,
+                             const VkSubmitInfo2KHR *pSubmits,
+                             VkFence fence) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence);
+  }
+
+  VkResult vkQueueWaitIdle(VkQueue queue) const VULKAN_HPP_NOEXCEPT {
+    return ::vkQueueWaitIdle(queue);
+  }
+
+  VkResult
+  vkRegisterDeviceEventEXT(VkDevice device,
+                           const VkDeviceEventInfoEXT *pDeviceEventInfo,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkFence *pFence) const VULKAN_HPP_NOEXCEPT {
+    return ::vkRegisterDeviceEventEXT(device, pDeviceEventInfo, pAllocator,
+                                      pFence);
+  }
+
+  VkResult
+  vkRegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display,
+                            const VkDisplayEventInfoEXT *pDisplayEventInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkFence *pFence) const VULKAN_HPP_NOEXCEPT {
+    return ::vkRegisterDisplayEventEXT(device, display, pDisplayEventInfo,
+                                       pAllocator, pFence);
+  }
+
+  VkResult vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,
+                               VkDisplayKHR display) const VULKAN_HPP_NOEXCEPT {
+    return ::vkReleaseDisplayEXT(physicalDevice, display);
+  }
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  VkResult vkReleaseFullScreenExclusiveModeEXT(
+      VkDevice device, VkSwapchainKHR swapchain) const VULKAN_HPP_NOEXCEPT {
+    return ::vkReleaseFullScreenExclusiveModeEXT(device, swapchain);
+  }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  VkResult vkReleasePerformanceConfigurationINTEL(
+      VkDevice device,
+      VkPerformanceConfigurationINTEL configuration) const VULKAN_HPP_NOEXCEPT {
+    return ::vkReleasePerformanceConfigurationINTEL(device, configuration);
+  }
+
+  void vkReleaseProfilingLockKHR(VkDevice device) const VULKAN_HPP_NOEXCEPT {
+    return ::vkReleaseProfilingLockKHR(device);
+  }
+
+  VkResult vkResetCommandBuffer(VkCommandBuffer commandBuffer,
+                                VkCommandBufferResetFlags flags) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkResetCommandBuffer(commandBuffer, flags);
+  }
+
+  VkResult
+  vkResetCommandPool(VkDevice device, VkCommandPool commandPool,
+                     VkCommandPoolResetFlags flags) const VULKAN_HPP_NOEXCEPT {
+    return ::vkResetCommandPool(device, commandPool, flags);
+  }
+
+  VkResult vkResetDescriptorPool(
+      VkDevice device, VkDescriptorPool descriptorPool,
+      VkDescriptorPoolResetFlags flags) const VULKAN_HPP_NOEXCEPT {
+    return ::vkResetDescriptorPool(device, descriptorPool, flags);
+  }
+
+  VkResult vkResetEvent(VkDevice device,
+                        VkEvent event) const VULKAN_HPP_NOEXCEPT {
+    return ::vkResetEvent(device, event);
+  }
+
+  VkResult vkResetFences(VkDevice device, uint32_t fenceCount,
+                         const VkFence *pFences) const VULKAN_HPP_NOEXCEPT {
+    return ::vkResetFences(device, fenceCount, pFences);
+  }
+
+  void vkResetQueryPool(VkDevice device, VkQueryPool queryPool,
+                        uint32_t firstQuery,
+                        uint32_t queryCount) const VULKAN_HPP_NOEXCEPT {
+    return ::vkResetQueryPool(device, queryPool, firstQuery, queryCount);
+  }
+
+  void vkResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool,
+                           uint32_t firstQuery,
+                           uint32_t queryCount) const VULKAN_HPP_NOEXCEPT {
+    return ::vkResetQueryPoolEXT(device, queryPool, firstQuery, queryCount);
+  }
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA(
+      VkDevice device, VkBufferCollectionFUCHSIA collection,
+      const VkBufferConstraintsInfoFUCHSIA *pBufferConstraintsInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkSetBufferCollectionBufferConstraintsFUCHSIA(
+        device, collection, pBufferConstraintsInfo);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkSetBufferCollectionConstraintsFUCHSIA(
+      VkDevice device, VkBufferCollectionFUCHSIA collection,
+      const VkImageCreateInfo *pImageInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkSetBufferCollectionConstraintsFUCHSIA(device, collection,
+                                                     pImageInfo);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  VkResult vkSetBufferCollectionImageConstraintsFUCHSIA(
+      VkDevice device, VkBufferCollectionFUCHSIA collection,
+      const VkImageConstraintsInfoFUCHSIA *pImageConstraintsInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkSetBufferCollectionImageConstraintsFUCHSIA(
+        device, collection, pImageConstraintsInfo);
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  VkResult vkSetDebugUtilsObjectNameEXT(
+      VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkSetDebugUtilsObjectNameEXT(device, pNameInfo);
+  }
+
+  VkResult vkSetDebugUtilsObjectTagEXT(
+      VkDevice device,
+      const VkDebugUtilsObjectTagInfoEXT *pTagInfo) const VULKAN_HPP_NOEXCEPT {
+    return ::vkSetDebugUtilsObjectTagEXT(device, pTagInfo);
+  }
+
+  VkResult vkSetEvent(VkDevice device,
+                      VkEvent event) const VULKAN_HPP_NOEXCEPT {
+    return ::vkSetEvent(device, event);
+  }
+
+  void vkSetHdrMetadataEXT(VkDevice device, uint32_t swapchainCount,
+                           const VkSwapchainKHR *pSwapchains,
+                           const VkHdrMetadataEXT *pMetadata) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkSetHdrMetadataEXT(device, swapchainCount, pSwapchains,
+                                 pMetadata);
+  }
+
+  void
+  vkSetLocalDimmingAMD(VkDevice device, VkSwapchainKHR swapChain,
+                       VkBool32 localDimmingEnable) const VULKAN_HPP_NOEXCEPT {
+    return ::vkSetLocalDimmingAMD(device, swapChain, localDimmingEnable);
+  }
+
+  VkResult vkSetPrivateDataEXT(VkDevice device, VkObjectType objectType,
+                               uint64_t objectHandle,
+                               VkPrivateDataSlotEXT privateDataSlot,
+                               uint64_t data) const VULKAN_HPP_NOEXCEPT {
+    return ::vkSetPrivateDataEXT(device, objectType, objectHandle,
+                                 privateDataSlot, data);
+  }
+
+  VkResult vkSignalSemaphore(VkDevice device,
+                             const VkSemaphoreSignalInfo *pSignalInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkSignalSemaphore(device, pSignalInfo);
+  }
+
+  VkResult vkSignalSemaphoreKHR(VkDevice device,
+                                const VkSemaphoreSignalInfo *pSignalInfo) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkSignalSemaphoreKHR(device, pSignalInfo);
+  }
+
+  void vkSubmitDebugUtilsMessageEXT(
+      VkInstance instance,
+      VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
+      VkDebugUtilsMessageTypeFlagsEXT messageTypes,
+      const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData) const
+      VULKAN_HPP_NOEXCEPT {
+    return ::vkSubmitDebugUtilsMessageEXT(instance, messageSeverity,
+                                          messageTypes, pCallbackData);
+  }
+
+  void
+  vkTrimCommandPool(VkDevice device, VkCommandPool commandPool,
+                    VkCommandPoolTrimFlags flags) const VULKAN_HPP_NOEXCEPT {
+    return ::vkTrimCommandPool(device, commandPool, flags);
+  }
+
+  void
+  vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool,
+                       VkCommandPoolTrimFlags flags) const VULKAN_HPP_NOEXCEPT {
+    return ::vkTrimCommandPoolKHR(device, commandPool, flags);
+  }
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  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*/
+
+  void
+  vkUninitializePerformanceApiINTEL(VkDevice device) const VULKAN_HPP_NOEXCEPT {
+    return ::vkUninitializePerformanceApiINTEL(device);
+  }
+
+  void vkUnmapMemory(VkDevice device,
+                     VkDeviceMemory memory) const VULKAN_HPP_NOEXCEPT {
+    return ::vkUnmapMemory(device, memory);
+  }
+
+  void vkUpdateDescriptorSetWithTemplate(
+      VkDevice device, VkDescriptorSet descriptorSet,
+      VkDescriptorUpdateTemplate descriptorUpdateTemplate,
+      const void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkUpdateDescriptorSetWithTemplate(device, descriptorSet,
+                                               descriptorUpdateTemplate, pData);
+  }
+
+  void vkUpdateDescriptorSetWithTemplateKHR(
+      VkDevice device, VkDescriptorSet descriptorSet,
+      VkDescriptorUpdateTemplate descriptorUpdateTemplate,
+      const void *pData) const VULKAN_HPP_NOEXCEPT {
+    return ::vkUpdateDescriptorSetWithTemplateKHR(
+        device, descriptorSet, descriptorUpdateTemplate, pData);
+  }
+
+  void vkUpdateDescriptorSets(
+      VkDevice device, uint32_t descriptorWriteCount,
+      const VkWriteDescriptorSet *pDescriptorWrites,
+      uint32_t descriptorCopyCount,
+      const VkCopyDescriptorSet *pDescriptorCopies) const VULKAN_HPP_NOEXCEPT {
+    return ::vkUpdateDescriptorSets(device, descriptorWriteCount,
+                                    pDescriptorWrites, descriptorCopyCount,
+                                    pDescriptorCopies);
+  }
+
+  VkResult vkWaitForFences(VkDevice device, uint32_t fenceCount,
+                           const VkFence *pFences, VkBool32 waitAll,
+                           uint64_t timeout) const VULKAN_HPP_NOEXCEPT {
+    return ::vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
+  }
+
+  VkResult vkWaitSemaphores(VkDevice device,
+                            const VkSemaphoreWaitInfo *pWaitInfo,
+                            uint64_t timeout) const VULKAN_HPP_NOEXCEPT {
+    return ::vkWaitSemaphores(device, pWaitInfo, timeout);
+  }
+
+  VkResult vkWaitSemaphoresKHR(VkDevice device,
+                               const VkSemaphoreWaitInfo *pWaitInfo,
+                               uint64_t timeout) const VULKAN_HPP_NOEXCEPT {
+    return ::vkWaitSemaphoresKHR(device, pWaitInfo, timeout);
+  }
+
+  VkResult vkWriteAccelerationStructuresPropertiesKHR(
+      VkDevice device, uint32_t accelerationStructureCount,
+      const VkAccelerationStructureKHR *pAccelerationStructures,
+      VkQueryType queryType, size_t dataSize, void *pData,
+      size_t stride) const VULKAN_HPP_NOEXCEPT {
+    return ::vkWriteAccelerationStructuresPropertiesKHR(
+        device, accelerationStructureCount, pAccelerationStructures, queryType,
+        dataSize, pData, stride);
+  }
+};
+#endif
+
+class DispatchLoaderDynamic;
+#if !defined(VULKAN_HPP_DISPATCH_LOADER_DYNAMIC)
+#if defined(VK_NO_PROTOTYPES)
+#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
+#else
+#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 0
+#endif
+#endif
+
+#if !defined(VULKAN_HPP_STORAGE_API)
+#if defined(VULKAN_HPP_STORAGE_SHARED)
+#if defined(_MSC_VER)
+#if defined(VULKAN_HPP_STORAGE_SHARED_EXPORT)
+#define VULKAN_HPP_STORAGE_API __declspec(dllexport)
+#else
+#define VULKAN_HPP_STORAGE_API __declspec(dllimport)
+#endif
+#elif defined(__clang__) || defined(__GNUC__)
+#if defined(VULKAN_HPP_STORAGE_SHARED_EXPORT)
+#define VULKAN_HPP_STORAGE_API __attribute__((visibility("default")))
+#else
+#define VULKAN_HPP_STORAGE_API
+#endif
+#else
+#define VULKAN_HPP_STORAGE_API
+#pragma warning Unknown import / export semantics
+#endif
+#else
+#define VULKAN_HPP_STORAGE_API
+#endif
+#endif
+
+#if !defined(VULKAN_HPP_DEFAULT_DISPATCHER)
+#if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
+#define VULKAN_HPP_DEFAULT_DISPATCHER                                          \
+  ::VULKAN_HPP_NAMESPACE::defaultDispatchLoaderDynamic
+#define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE                     \
+  namespace VULKAN_HPP_NAMESPACE {                                             \
+  VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic;   \
+  }
+extern VULKAN_HPP_STORAGE_API DispatchLoaderDynamic
+    defaultDispatchLoaderDynamic;
+#else
+#define VULKAN_HPP_DEFAULT_DISPATCHER                                          \
+  ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic()
+#define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
+#endif
+#endif
+
+#if !defined(VULKAN_HPP_DEFAULT_DISPATCHER_TYPE)
+#if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
+#define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE                                     \
+  ::VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic
+#else
+#define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE                                     \
+  ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic
+#endif
+#endif
+
+#if defined(VULKAN_HPP_NO_DEFAULT_DISPATCHER)
+#define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT
+#define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT
+#define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT
+#else
+#define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT = {}
+#define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT = nullptr
+#define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT = VULKAN_HPP_DEFAULT_DISPATCHER
+#endif
+
+struct AllocationCallbacks;
+
+template <typename OwnerType, typename Dispatch> class ObjectDestroy {
+public:
+  ObjectDestroy() = default;
+
+  ObjectDestroy(OwnerType owner,
+                Optional<const AllocationCallbacks> allocationCallbacks
+                    VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                Dispatch const &dispatch = VULKAN_HPP_DEFAULT_DISPATCHER)
+      VULKAN_HPP_NOEXCEPT : m_owner(owner),
+                            m_allocationCallbacks(allocationCallbacks),
+                            m_dispatch(&dispatch) {}
+
+  OwnerType getOwner() const VULKAN_HPP_NOEXCEPT { return m_owner; }
+  Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT {
+    return m_allocationCallbacks;
+  }
+
+protected:
+  template <typename T> void destroy(T t) VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_owner && m_dispatch);
+    m_owner.destroy(t, m_allocationCallbacks, *m_dispatch);
+  }
+
+private:
+  OwnerType m_owner = {};
+  Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
+  Dispatch const *m_dispatch = nullptr;
+};
+
+class NoParent;
+
+template <typename Dispatch> class ObjectDestroy<NoParent, Dispatch> {
+public:
+  ObjectDestroy() = default;
+
+  ObjectDestroy(Optional<const AllocationCallbacks> allocationCallbacks,
+                Dispatch const &dispatch = VULKAN_HPP_DEFAULT_DISPATCHER)
+      VULKAN_HPP_NOEXCEPT : m_allocationCallbacks(allocationCallbacks),
+                            m_dispatch(&dispatch) {}
+
+  Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT {
+    return m_allocationCallbacks;
+  }
+
+protected:
+  template <typename T> void destroy(T t) VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_dispatch);
+    t.destroy(m_allocationCallbacks, *m_dispatch);
+  }
+
+private:
+  Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
+  Dispatch const *m_dispatch = nullptr;
+};
+
+template <typename OwnerType, typename Dispatch> class ObjectFree {
+public:
+  ObjectFree() = default;
+
+  ObjectFree(OwnerType owner,
+             Optional<const AllocationCallbacks> allocationCallbacks
+                 VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+             Dispatch const &dispatch = VULKAN_HPP_DEFAULT_DISPATCHER)
+      VULKAN_HPP_NOEXCEPT : m_owner(owner),
+                            m_allocationCallbacks(allocationCallbacks),
+                            m_dispatch(&dispatch) {}
+
+  OwnerType getOwner() const VULKAN_HPP_NOEXCEPT { return m_owner; }
+
+  Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT {
+    return m_allocationCallbacks;
+  }
+
+protected:
+  template <typename T> void destroy(T t) VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_owner && m_dispatch);
+    m_owner.free(t, m_allocationCallbacks, *m_dispatch);
+  }
+
+private:
+  OwnerType m_owner = {};
+  Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
+  Dispatch const *m_dispatch = nullptr;
+};
+
+template <typename OwnerType, typename Dispatch> class ObjectRelease {
+public:
+  ObjectRelease() = default;
+
+  ObjectRelease(OwnerType owner,
+                Dispatch const &dispatch = VULKAN_HPP_DEFAULT_DISPATCHER)
+      VULKAN_HPP_NOEXCEPT : m_owner(owner),
+                            m_dispatch(&dispatch) {}
+
+  OwnerType getOwner() const VULKAN_HPP_NOEXCEPT { return m_owner; }
+
+protected:
+  template <typename T> void destroy(T t) VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(m_owner && m_dispatch);
+    m_owner.release(t, *m_dispatch);
+  }
+
+private:
+  OwnerType m_owner = {};
+  Dispatch const *m_dispatch = nullptr;
+};
+
+template <typename OwnerType, typename PoolType, typename Dispatch>
+class PoolFree {
+public:
+  PoolFree() = default;
+
+  PoolFree(OwnerType owner, PoolType pool,
+           Dispatch const &dispatch = VULKAN_HPP_DEFAULT_DISPATCHER)
+      VULKAN_HPP_NOEXCEPT : m_owner(owner),
+                            m_pool(pool),
+                            m_dispatch(&dispatch) {}
+
+  OwnerType getOwner() const VULKAN_HPP_NOEXCEPT { return m_owner; }
+  PoolType getPool() const VULKAN_HPP_NOEXCEPT { return m_pool; }
+
+protected:
+  template <typename T> void destroy(T t) VULKAN_HPP_NOEXCEPT {
+    m_owner.free(m_pool, t, *m_dispatch);
+  }
+
+private:
+  OwnerType m_owner = OwnerType();
+  PoolType m_pool = PoolType();
+  Dispatch const *m_dispatch = nullptr;
+};
+
+using Bool32 = uint32_t;
+using DeviceAddress = uint64_t;
+using DeviceSize = uint64_t;
+using SampleMask = uint32_t;
+
+template <typename EnumType, EnumType value> struct CppType {};
+
+template <typename Type> struct isVulkanHandleType {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false;
+};
+
+VULKAN_HPP_INLINE std::string toHexString(uint32_t value) {
+  std::stringstream stream;
+  stream << std::hex << value;
+  return stream.str();
+}
+
+enum class AccelerationStructureBuildTypeKHR {
+  eHost = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
+  eDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR,
+  eHostOrDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(AccelerationStructureBuildTypeKHR value) {
+  switch (value) {
+  case AccelerationStructureBuildTypeKHR::eHost:
+    return "Host";
+  case AccelerationStructureBuildTypeKHR::eDevice:
+    return "Device";
+  case AccelerationStructureBuildTypeKHR::eHostOrDevice:
+    return "HostOrDevice";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class AccelerationStructureCompatibilityKHR {
+  eCompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR,
+  eIncompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(AccelerationStructureCompatibilityKHR value) {
+  switch (value) {
+  case AccelerationStructureCompatibilityKHR::eCompatible:
+    return "Compatible";
+  case AccelerationStructureCompatibilityKHR::eIncompatible:
+    return "Incompatible";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    AccelerationStructureCreateFlagBitsKHR : VkAccelerationStructureCreateFlagsKHR {
+      eDeviceAddressCaptureReplay =
+          VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
     };
-  };
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
-    operator|( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PeerMemoryFeatureFlags( bit0 ) | bit1;
+VULKAN_HPP_INLINE std::string
+to_string(AccelerationStructureCreateFlagBitsKHR value) {
+  switch (value) {
+  case AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay:
+    return "DeviceAddressCaptureReplay";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
-    operator&( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PeerMemoryFeatureFlags( bit0 ) & bit1;
+enum class AccelerationStructureMemoryRequirementsTypeNV {
+  eObject = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
+  eBuildScratch =
+      VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV,
+  eUpdateScratch =
+      VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(AccelerationStructureMemoryRequirementsTypeNV value) {
+  switch (value) {
+  case AccelerationStructureMemoryRequirementsTypeNV::eObject:
+    return "Object";
+  case AccelerationStructureMemoryRequirementsTypeNV::eBuildScratch:
+    return "BuildScratch";
+  case AccelerationStructureMemoryRequirementsTypeNV::eUpdateScratch:
+    return "UpdateScratch";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
-    operator^( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PeerMemoryFeatureFlags( bit0 ) ^ bit1;
+enum class AccelerationStructureTypeKHR {
+  eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
+  eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
+  eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
+};
+using AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
+
+VULKAN_HPP_INLINE std::string to_string(AccelerationStructureTypeKHR value) {
+  switch (value) {
+  case AccelerationStructureTypeKHR::eTopLevel:
+    return "TopLevel";
+  case AccelerationStructureTypeKHR::eBottomLevel:
+    return "BottomLevel";
+  case AccelerationStructureTypeKHR::eGeneric:
+    return "Generic";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags operator~( PeerMemoryFeatureFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( PeerMemoryFeatureFlags( bits ) );
+enum class AccessFlagBits : VkAccessFlags {
+  eIndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
+  eIndexRead = VK_ACCESS_INDEX_READ_BIT,
+  eVertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
+  eUniformRead = VK_ACCESS_UNIFORM_READ_BIT,
+  eInputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
+  eShaderRead = VK_ACCESS_SHADER_READ_BIT,
+  eShaderWrite = VK_ACCESS_SHADER_WRITE_BIT,
+  eColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
+  eColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
+  eDepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
+  eDepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
+  eTransferRead = VK_ACCESS_TRANSFER_READ_BIT,
+  eTransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT,
+  eHostRead = VK_ACCESS_HOST_READ_BIT,
+  eHostWrite = VK_ACCESS_HOST_WRITE_BIT,
+  eMemoryRead = VK_ACCESS_MEMORY_READ_BIT,
+  eMemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT,
+  eTransformFeedbackWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
+  eTransformFeedbackCounterReadEXT =
+      VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
+  eTransformFeedbackCounterWriteEXT =
+      VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
+  eConditionalRenderingReadEXT = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,
+  eColorAttachmentReadNoncoherentEXT =
+      VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
+  eAccelerationStructureReadKHR = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
+  eAccelerationStructureWriteKHR =
+      VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
+  eShadingRateImageReadNV = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
+  eFragmentDensityMapReadEXT = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
+  eCommandPreprocessReadNV = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,
+  eCommandPreprocessWriteNV = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV,
+  eNoneKHR = VK_ACCESS_NONE_KHR,
+  eAccelerationStructureReadNV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,
+  eAccelerationStructureWriteNV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
+  eFragmentShadingRateAttachmentReadKHR =
+      VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(AccessFlagBits value) {
+  switch (value) {
+  case AccessFlagBits::eIndirectCommandRead:
+    return "IndirectCommandRead";
+  case AccessFlagBits::eIndexRead:
+    return "IndexRead";
+  case AccessFlagBits::eVertexAttributeRead:
+    return "VertexAttributeRead";
+  case AccessFlagBits::eUniformRead:
+    return "UniformRead";
+  case AccessFlagBits::eInputAttachmentRead:
+    return "InputAttachmentRead";
+  case AccessFlagBits::eShaderRead:
+    return "ShaderRead";
+  case AccessFlagBits::eShaderWrite:
+    return "ShaderWrite";
+  case AccessFlagBits::eColorAttachmentRead:
+    return "ColorAttachmentRead";
+  case AccessFlagBits::eColorAttachmentWrite:
+    return "ColorAttachmentWrite";
+  case AccessFlagBits::eDepthStencilAttachmentRead:
+    return "DepthStencilAttachmentRead";
+  case AccessFlagBits::eDepthStencilAttachmentWrite:
+    return "DepthStencilAttachmentWrite";
+  case AccessFlagBits::eTransferRead:
+    return "TransferRead";
+  case AccessFlagBits::eTransferWrite:
+    return "TransferWrite";
+  case AccessFlagBits::eHostRead:
+    return "HostRead";
+  case AccessFlagBits::eHostWrite:
+    return "HostWrite";
+  case AccessFlagBits::eMemoryRead:
+    return "MemoryRead";
+  case AccessFlagBits::eMemoryWrite:
+    return "MemoryWrite";
+  case AccessFlagBits::eTransformFeedbackWriteEXT:
+    return "TransformFeedbackWriteEXT";
+  case AccessFlagBits::eTransformFeedbackCounterReadEXT:
+    return "TransformFeedbackCounterReadEXT";
+  case AccessFlagBits::eTransformFeedbackCounterWriteEXT:
+    return "TransformFeedbackCounterWriteEXT";
+  case AccessFlagBits::eConditionalRenderingReadEXT:
+    return "ConditionalRenderingReadEXT";
+  case AccessFlagBits::eColorAttachmentReadNoncoherentEXT:
+    return "ColorAttachmentReadNoncoherentEXT";
+  case AccessFlagBits::eAccelerationStructureReadKHR:
+    return "AccelerationStructureReadKHR";
+  case AccessFlagBits::eAccelerationStructureWriteKHR:
+    return "AccelerationStructureWriteKHR";
+  case AccessFlagBits::eShadingRateImageReadNV:
+    return "ShadingRateImageReadNV";
+  case AccessFlagBits::eFragmentDensityMapReadEXT:
+    return "FragmentDensityMapReadEXT";
+  case AccessFlagBits::eCommandPreprocessReadNV:
+    return "CommandPreprocessReadNV";
+  case AccessFlagBits::eCommandPreprocessWriteNV:
+    return "CommandPreprocessWriteNV";
+  case AccessFlagBits::eNoneKHR:
+    return "NoneKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
+enum class AccessFlagBits2KHR : VkAccessFlags2KHR {
+  eNone = VK_ACCESS_2_NONE_KHR,
+  eIndirectCommandRead = VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR,
+  eIndexRead = VK_ACCESS_2_INDEX_READ_BIT_KHR,
+  eVertexAttributeRead = VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR,
+  eUniformRead = VK_ACCESS_2_UNIFORM_READ_BIT_KHR,
+  eInputAttachmentRead = VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR,
+  eShaderRead = VK_ACCESS_2_SHADER_READ_BIT_KHR,
+  eShaderWrite = VK_ACCESS_2_SHADER_WRITE_BIT_KHR,
+  eColorAttachmentRead = VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR,
+  eColorAttachmentWrite = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR,
+  eDepthStencilAttachmentRead =
+      VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
+  eDepthStencilAttachmentWrite =
+      VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
+  eTransferRead = VK_ACCESS_2_TRANSFER_READ_BIT_KHR,
+  eTransferWrite = VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR,
+  eHostRead = VK_ACCESS_2_HOST_READ_BIT_KHR,
+  eHostWrite = VK_ACCESS_2_HOST_WRITE_BIT_KHR,
+  eMemoryRead = VK_ACCESS_2_MEMORY_READ_BIT_KHR,
+  eMemoryWrite = VK_ACCESS_2_MEMORY_WRITE_BIT_KHR,
+  eShaderSampledRead = VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR,
+  eShaderStorageRead = VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR,
+  eShaderStorageWrite = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR,
+  eTransformFeedbackWriteExt = VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
+  eTransformFeedbackCounterReadExt =
+      VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
+  eTransformFeedbackCounterWriteExt =
+      VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
+  eConditionalRenderingReadExt = VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
+  eCommandPreprocessReadNv = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
+  eCommandPreprocessWriteNv = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
+  eFragmentShadingRateAttachmentRead =
+      VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
+  eAccelerationStructureRead = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
+  eAccelerationStructureWrite =
+      VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
+  eFragmentDensityMapReadExt = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
+  eColorAttachmentReadNoncoherentExt =
+      VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
+  eAccelerationStructureReadNv = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV,
+  eAccelerationStructureWriteNv =
+      VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
+  eShadingRateImageReadNv = VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PeerMemoryFeatureFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & PeerMemoryFeatureFlagBits::eCopySrc )
-      result += "CopySrc | ";
-    if ( value & PeerMemoryFeatureFlagBits::eCopyDst )
-      result += "CopyDst | ";
-    if ( value & PeerMemoryFeatureFlagBits::eGenericSrc )
-      result += "GenericSrc | ";
-    if ( value & PeerMemoryFeatureFlagBits::eGenericDst )
-      result += "GenericDst | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+VULKAN_HPP_INLINE std::string to_string(AccessFlagBits2KHR value) {
+  switch (value) {
+  case AccessFlagBits2KHR::eNone:
+    return "None";
+  case AccessFlagBits2KHR::eIndirectCommandRead:
+    return "IndirectCommandRead";
+  case AccessFlagBits2KHR::eIndexRead:
+    return "IndexRead";
+  case AccessFlagBits2KHR::eVertexAttributeRead:
+    return "VertexAttributeRead";
+  case AccessFlagBits2KHR::eUniformRead:
+    return "UniformRead";
+  case AccessFlagBits2KHR::eInputAttachmentRead:
+    return "InputAttachmentRead";
+  case AccessFlagBits2KHR::eShaderRead:
+    return "ShaderRead";
+  case AccessFlagBits2KHR::eShaderWrite:
+    return "ShaderWrite";
+  case AccessFlagBits2KHR::eColorAttachmentRead:
+    return "ColorAttachmentRead";
+  case AccessFlagBits2KHR::eColorAttachmentWrite:
+    return "ColorAttachmentWrite";
+  case AccessFlagBits2KHR::eDepthStencilAttachmentRead:
+    return "DepthStencilAttachmentRead";
+  case AccessFlagBits2KHR::eDepthStencilAttachmentWrite:
+    return "DepthStencilAttachmentWrite";
+  case AccessFlagBits2KHR::eTransferRead:
+    return "TransferRead";
+  case AccessFlagBits2KHR::eTransferWrite:
+    return "TransferWrite";
+  case AccessFlagBits2KHR::eHostRead:
+    return "HostRead";
+  case AccessFlagBits2KHR::eHostWrite:
+    return "HostWrite";
+  case AccessFlagBits2KHR::eMemoryRead:
+    return "MemoryRead";
+  case AccessFlagBits2KHR::eMemoryWrite:
+    return "MemoryWrite";
+  case AccessFlagBits2KHR::eShaderSampledRead:
+    return "ShaderSampledRead";
+  case AccessFlagBits2KHR::eShaderStorageRead:
+    return "ShaderStorageRead";
+  case AccessFlagBits2KHR::eShaderStorageWrite:
+    return "ShaderStorageWrite";
+  case AccessFlagBits2KHR::eTransformFeedbackWriteExt:
+    return "TransformFeedbackWriteExt";
+  case AccessFlagBits2KHR::eTransformFeedbackCounterReadExt:
+    return "TransformFeedbackCounterReadExt";
+  case AccessFlagBits2KHR::eTransformFeedbackCounterWriteExt:
+    return "TransformFeedbackCounterWriteExt";
+  case AccessFlagBits2KHR::eConditionalRenderingReadExt:
+    return "ConditionalRenderingReadExt";
+  case AccessFlagBits2KHR::eCommandPreprocessReadNv:
+    return "CommandPreprocessReadNv";
+  case AccessFlagBits2KHR::eCommandPreprocessWriteNv:
+    return "CommandPreprocessWriteNv";
+  case AccessFlagBits2KHR::eFragmentShadingRateAttachmentRead:
+    return "FragmentShadingRateAttachmentRead";
+  case AccessFlagBits2KHR::eAccelerationStructureRead:
+    return "AccelerationStructureRead";
+  case AccessFlagBits2KHR::eAccelerationStructureWrite:
+    return "AccelerationStructureWrite";
+  case AccessFlagBits2KHR::eFragmentDensityMapReadExt:
+    return "FragmentDensityMapReadExt";
+  case AccessFlagBits2KHR::eColorAttachmentReadNoncoherentExt:
+    return "ColorAttachmentReadNoncoherentExt";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  using PerformanceCounterDescriptionFlagsKHR = Flags<PerformanceCounterDescriptionFlagBitsKHR>;
+enum class AcquireProfilingLockFlagBitsKHR : VkAcquireProfilingLockFlagsKHR {};
 
-  template <>
-  struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting ) |
-                 VkFlags( PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted )
+VULKAN_HPP_INLINE std::string to_string(AcquireProfilingLockFlagBitsKHR) {
+  return "(void)";
+}
+
+enum class AttachmentDescriptionFlagBits : VkAttachmentDescriptionFlags {
+  eMayAlias = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(AttachmentDescriptionFlagBits value) {
+  switch (value) {
+  case AttachmentDescriptionFlagBits::eMayAlias:
+    return "MayAlias";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class AttachmentLoadOp {
+  eLoad = VK_ATTACHMENT_LOAD_OP_LOAD,
+  eClear = VK_ATTACHMENT_LOAD_OP_CLEAR,
+  eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE
+};
+
+VULKAN_HPP_INLINE std::string to_string(AttachmentLoadOp value) {
+  switch (value) {
+  case AttachmentLoadOp::eLoad:
+    return "Load";
+  case AttachmentLoadOp::eClear:
+    return "Clear";
+  case AttachmentLoadOp::eDontCare:
+    return "DontCare";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class AttachmentStoreOp {
+  eStore = VK_ATTACHMENT_STORE_OP_STORE,
+  eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE,
+  eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM
+};
+
+VULKAN_HPP_INLINE std::string to_string(AttachmentStoreOp value) {
+  switch (value) {
+  case AttachmentStoreOp::eStore:
+    return "Store";
+  case AttachmentStoreOp::eDontCare:
+    return "DontCare";
+  case AttachmentStoreOp::eNoneQCOM:
+    return "NoneQCOM";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class BlendFactor {
+  eZero = VK_BLEND_FACTOR_ZERO,
+  eOne = VK_BLEND_FACTOR_ONE,
+  eSrcColor = VK_BLEND_FACTOR_SRC_COLOR,
+  eOneMinusSrcColor = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
+  eDstColor = VK_BLEND_FACTOR_DST_COLOR,
+  eOneMinusDstColor = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
+  eSrcAlpha = VK_BLEND_FACTOR_SRC_ALPHA,
+  eOneMinusSrcAlpha = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
+  eDstAlpha = VK_BLEND_FACTOR_DST_ALPHA,
+  eOneMinusDstAlpha = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
+  eConstantColor = VK_BLEND_FACTOR_CONSTANT_COLOR,
+  eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
+  eConstantAlpha = VK_BLEND_FACTOR_CONSTANT_ALPHA,
+  eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,
+  eSrcAlphaSaturate = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
+  eSrc1Color = VK_BLEND_FACTOR_SRC1_COLOR,
+  eOneMinusSrc1Color = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
+  eSrc1Alpha = VK_BLEND_FACTOR_SRC1_ALPHA,
+  eOneMinusSrc1Alpha = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
+};
+
+VULKAN_HPP_INLINE std::string to_string(BlendFactor value) {
+  switch (value) {
+  case BlendFactor::eZero:
+    return "Zero";
+  case BlendFactor::eOne:
+    return "One";
+  case BlendFactor::eSrcColor:
+    return "SrcColor";
+  case BlendFactor::eOneMinusSrcColor:
+    return "OneMinusSrcColor";
+  case BlendFactor::eDstColor:
+    return "DstColor";
+  case BlendFactor::eOneMinusDstColor:
+    return "OneMinusDstColor";
+  case BlendFactor::eSrcAlpha:
+    return "SrcAlpha";
+  case BlendFactor::eOneMinusSrcAlpha:
+    return "OneMinusSrcAlpha";
+  case BlendFactor::eDstAlpha:
+    return "DstAlpha";
+  case BlendFactor::eOneMinusDstAlpha:
+    return "OneMinusDstAlpha";
+  case BlendFactor::eConstantColor:
+    return "ConstantColor";
+  case BlendFactor::eOneMinusConstantColor:
+    return "OneMinusConstantColor";
+  case BlendFactor::eConstantAlpha:
+    return "ConstantAlpha";
+  case BlendFactor::eOneMinusConstantAlpha:
+    return "OneMinusConstantAlpha";
+  case BlendFactor::eSrcAlphaSaturate:
+    return "SrcAlphaSaturate";
+  case BlendFactor::eSrc1Color:
+    return "Src1Color";
+  case BlendFactor::eOneMinusSrc1Color:
+    return "OneMinusSrc1Color";
+  case BlendFactor::eSrc1Alpha:
+    return "Src1Alpha";
+  case BlendFactor::eOneMinusSrc1Alpha:
+    return "OneMinusSrc1Alpha";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class BlendOp {
+  eAdd = VK_BLEND_OP_ADD,
+  eSubtract = VK_BLEND_OP_SUBTRACT,
+  eReverseSubtract = VK_BLEND_OP_REVERSE_SUBTRACT,
+  eMin = VK_BLEND_OP_MIN,
+  eMax = VK_BLEND_OP_MAX,
+  eZeroEXT = VK_BLEND_OP_ZERO_EXT,
+  eSrcEXT = VK_BLEND_OP_SRC_EXT,
+  eDstEXT = VK_BLEND_OP_DST_EXT,
+  eSrcOverEXT = VK_BLEND_OP_SRC_OVER_EXT,
+  eDstOverEXT = VK_BLEND_OP_DST_OVER_EXT,
+  eSrcInEXT = VK_BLEND_OP_SRC_IN_EXT,
+  eDstInEXT = VK_BLEND_OP_DST_IN_EXT,
+  eSrcOutEXT = VK_BLEND_OP_SRC_OUT_EXT,
+  eDstOutEXT = VK_BLEND_OP_DST_OUT_EXT,
+  eSrcAtopEXT = VK_BLEND_OP_SRC_ATOP_EXT,
+  eDstAtopEXT = VK_BLEND_OP_DST_ATOP_EXT,
+  eXorEXT = VK_BLEND_OP_XOR_EXT,
+  eMultiplyEXT = VK_BLEND_OP_MULTIPLY_EXT,
+  eScreenEXT = VK_BLEND_OP_SCREEN_EXT,
+  eOverlayEXT = VK_BLEND_OP_OVERLAY_EXT,
+  eDarkenEXT = VK_BLEND_OP_DARKEN_EXT,
+  eLightenEXT = VK_BLEND_OP_LIGHTEN_EXT,
+  eColordodgeEXT = VK_BLEND_OP_COLORDODGE_EXT,
+  eColorburnEXT = VK_BLEND_OP_COLORBURN_EXT,
+  eHardlightEXT = VK_BLEND_OP_HARDLIGHT_EXT,
+  eSoftlightEXT = VK_BLEND_OP_SOFTLIGHT_EXT,
+  eDifferenceEXT = VK_BLEND_OP_DIFFERENCE_EXT,
+  eExclusionEXT = VK_BLEND_OP_EXCLUSION_EXT,
+  eInvertEXT = VK_BLEND_OP_INVERT_EXT,
+  eInvertRgbEXT = VK_BLEND_OP_INVERT_RGB_EXT,
+  eLineardodgeEXT = VK_BLEND_OP_LINEARDODGE_EXT,
+  eLinearburnEXT = VK_BLEND_OP_LINEARBURN_EXT,
+  eVividlightEXT = VK_BLEND_OP_VIVIDLIGHT_EXT,
+  eLinearlightEXT = VK_BLEND_OP_LINEARLIGHT_EXT,
+  ePinlightEXT = VK_BLEND_OP_PINLIGHT_EXT,
+  eHardmixEXT = VK_BLEND_OP_HARDMIX_EXT,
+  eHslHueEXT = VK_BLEND_OP_HSL_HUE_EXT,
+  eHslSaturationEXT = VK_BLEND_OP_HSL_SATURATION_EXT,
+  eHslColorEXT = VK_BLEND_OP_HSL_COLOR_EXT,
+  eHslLuminosityEXT = VK_BLEND_OP_HSL_LUMINOSITY_EXT,
+  ePlusEXT = VK_BLEND_OP_PLUS_EXT,
+  ePlusClampedEXT = VK_BLEND_OP_PLUS_CLAMPED_EXT,
+  ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
+  ePlusDarkerEXT = VK_BLEND_OP_PLUS_DARKER_EXT,
+  eMinusEXT = VK_BLEND_OP_MINUS_EXT,
+  eMinusClampedEXT = VK_BLEND_OP_MINUS_CLAMPED_EXT,
+  eContrastEXT = VK_BLEND_OP_CONTRAST_EXT,
+  eInvertOvgEXT = VK_BLEND_OP_INVERT_OVG_EXT,
+  eRedEXT = VK_BLEND_OP_RED_EXT,
+  eGreenEXT = VK_BLEND_OP_GREEN_EXT,
+  eBlueEXT = VK_BLEND_OP_BLUE_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(BlendOp value) {
+  switch (value) {
+  case BlendOp::eAdd:
+    return "Add";
+  case BlendOp::eSubtract:
+    return "Subtract";
+  case BlendOp::eReverseSubtract:
+    return "ReverseSubtract";
+  case BlendOp::eMin:
+    return "Min";
+  case BlendOp::eMax:
+    return "Max";
+  case BlendOp::eZeroEXT:
+    return "ZeroEXT";
+  case BlendOp::eSrcEXT:
+    return "SrcEXT";
+  case BlendOp::eDstEXT:
+    return "DstEXT";
+  case BlendOp::eSrcOverEXT:
+    return "SrcOverEXT";
+  case BlendOp::eDstOverEXT:
+    return "DstOverEXT";
+  case BlendOp::eSrcInEXT:
+    return "SrcInEXT";
+  case BlendOp::eDstInEXT:
+    return "DstInEXT";
+  case BlendOp::eSrcOutEXT:
+    return "SrcOutEXT";
+  case BlendOp::eDstOutEXT:
+    return "DstOutEXT";
+  case BlendOp::eSrcAtopEXT:
+    return "SrcAtopEXT";
+  case BlendOp::eDstAtopEXT:
+    return "DstAtopEXT";
+  case BlendOp::eXorEXT:
+    return "XorEXT";
+  case BlendOp::eMultiplyEXT:
+    return "MultiplyEXT";
+  case BlendOp::eScreenEXT:
+    return "ScreenEXT";
+  case BlendOp::eOverlayEXT:
+    return "OverlayEXT";
+  case BlendOp::eDarkenEXT:
+    return "DarkenEXT";
+  case BlendOp::eLightenEXT:
+    return "LightenEXT";
+  case BlendOp::eColordodgeEXT:
+    return "ColordodgeEXT";
+  case BlendOp::eColorburnEXT:
+    return "ColorburnEXT";
+  case BlendOp::eHardlightEXT:
+    return "HardlightEXT";
+  case BlendOp::eSoftlightEXT:
+    return "SoftlightEXT";
+  case BlendOp::eDifferenceEXT:
+    return "DifferenceEXT";
+  case BlendOp::eExclusionEXT:
+    return "ExclusionEXT";
+  case BlendOp::eInvertEXT:
+    return "InvertEXT";
+  case BlendOp::eInvertRgbEXT:
+    return "InvertRgbEXT";
+  case BlendOp::eLineardodgeEXT:
+    return "LineardodgeEXT";
+  case BlendOp::eLinearburnEXT:
+    return "LinearburnEXT";
+  case BlendOp::eVividlightEXT:
+    return "VividlightEXT";
+  case BlendOp::eLinearlightEXT:
+    return "LinearlightEXT";
+  case BlendOp::ePinlightEXT:
+    return "PinlightEXT";
+  case BlendOp::eHardmixEXT:
+    return "HardmixEXT";
+  case BlendOp::eHslHueEXT:
+    return "HslHueEXT";
+  case BlendOp::eHslSaturationEXT:
+    return "HslSaturationEXT";
+  case BlendOp::eHslColorEXT:
+    return "HslColorEXT";
+  case BlendOp::eHslLuminosityEXT:
+    return "HslLuminosityEXT";
+  case BlendOp::ePlusEXT:
+    return "PlusEXT";
+  case BlendOp::ePlusClampedEXT:
+    return "PlusClampedEXT";
+  case BlendOp::ePlusClampedAlphaEXT:
+    return "PlusClampedAlphaEXT";
+  case BlendOp::ePlusDarkerEXT:
+    return "PlusDarkerEXT";
+  case BlendOp::eMinusEXT:
+    return "MinusEXT";
+  case BlendOp::eMinusClampedEXT:
+    return "MinusClampedEXT";
+  case BlendOp::eContrastEXT:
+    return "ContrastEXT";
+  case BlendOp::eInvertOvgEXT:
+    return "InvertOvgEXT";
+  case BlendOp::eRedEXT:
+    return "RedEXT";
+  case BlendOp::eGreenEXT:
+    return "GreenEXT";
+  case BlendOp::eBlueEXT:
+    return "BlueEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class BlendOverlapEXT {
+  eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
+  eDisjoint = VK_BLEND_OVERLAP_DISJOINT_EXT,
+  eConjoint = VK_BLEND_OVERLAP_CONJOINT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(BlendOverlapEXT value) {
+  switch (value) {
+  case BlendOverlapEXT::eUncorrelated:
+    return "Uncorrelated";
+  case BlendOverlapEXT::eDisjoint:
+    return "Disjoint";
+  case BlendOverlapEXT::eConjoint:
+    return "Conjoint";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class BorderColor {
+  eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
+  eIntTransparentBlack = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
+  eFloatOpaqueBlack = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
+  eIntOpaqueBlack = VK_BORDER_COLOR_INT_OPAQUE_BLACK,
+  eFloatOpaqueWhite = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
+  eIntOpaqueWhite = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
+  eFloatCustomEXT = VK_BORDER_COLOR_FLOAT_CUSTOM_EXT,
+  eIntCustomEXT = VK_BORDER_COLOR_INT_CUSTOM_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(BorderColor value) {
+  switch (value) {
+  case BorderColor::eFloatTransparentBlack:
+    return "FloatTransparentBlack";
+  case BorderColor::eIntTransparentBlack:
+    return "IntTransparentBlack";
+  case BorderColor::eFloatOpaqueBlack:
+    return "FloatOpaqueBlack";
+  case BorderColor::eIntOpaqueBlack:
+    return "IntOpaqueBlack";
+  case BorderColor::eFloatOpaqueWhite:
+    return "FloatOpaqueWhite";
+  case BorderColor::eIntOpaqueWhite:
+    return "IntOpaqueWhite";
+  case BorderColor::eFloatCustomEXT:
+    return "FloatCustomEXT";
+  case BorderColor::eIntCustomEXT:
+    return "IntCustomEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class BufferCreateFlagBits : VkBufferCreateFlags {
+  eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
+  eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
+  eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
+  eProtected = VK_BUFFER_CREATE_PROTECTED_BIT,
+  eDeviceAddressCaptureReplay =
+      VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
+  eDeviceAddressCaptureReplayEXT =
+      VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
+  eDeviceAddressCaptureReplayKHR =
+      VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(BufferCreateFlagBits value) {
+  switch (value) {
+  case BufferCreateFlagBits::eSparseBinding:
+    return "SparseBinding";
+  case BufferCreateFlagBits::eSparseResidency:
+    return "SparseResidency";
+  case BufferCreateFlagBits::eSparseAliased:
+    return "SparseAliased";
+  case BufferCreateFlagBits::eProtected:
+    return "Protected";
+  case BufferCreateFlagBits::eDeviceAddressCaptureReplay:
+    return "DeviceAddressCaptureReplay";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class BufferUsageFlagBits : VkBufferUsageFlags {
+  eTransferSrc = VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
+  eTransferDst = VK_BUFFER_USAGE_TRANSFER_DST_BIT,
+  eUniformTexelBuffer = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,
+  eStorageTexelBuffer = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,
+  eUniformBuffer = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
+  eStorageBuffer = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
+  eIndexBuffer = VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
+  eVertexBuffer = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
+  eIndirectBuffer = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
+  eShaderDeviceAddress = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
+  eTransformFeedbackBufferEXT =
+      VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
+  eTransformFeedbackCounterBufferEXT =
+      VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
+  eConditionalRenderingEXT = VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT,
+  eAccelerationStructureBuildInputReadOnlyKHR =
+      VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,
+  eAccelerationStructureStorageKHR =
+      VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,
+  eShaderBindingTableKHR = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
+  eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
+  eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
+  eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(BufferUsageFlagBits value) {
+  switch (value) {
+  case BufferUsageFlagBits::eTransferSrc:
+    return "TransferSrc";
+  case BufferUsageFlagBits::eTransferDst:
+    return "TransferDst";
+  case BufferUsageFlagBits::eUniformTexelBuffer:
+    return "UniformTexelBuffer";
+  case BufferUsageFlagBits::eStorageTexelBuffer:
+    return "StorageTexelBuffer";
+  case BufferUsageFlagBits::eUniformBuffer:
+    return "UniformBuffer";
+  case BufferUsageFlagBits::eStorageBuffer:
+    return "StorageBuffer";
+  case BufferUsageFlagBits::eIndexBuffer:
+    return "IndexBuffer";
+  case BufferUsageFlagBits::eVertexBuffer:
+    return "VertexBuffer";
+  case BufferUsageFlagBits::eIndirectBuffer:
+    return "IndirectBuffer";
+  case BufferUsageFlagBits::eShaderDeviceAddress:
+    return "ShaderDeviceAddress";
+  case BufferUsageFlagBits::eTransformFeedbackBufferEXT:
+    return "TransformFeedbackBufferEXT";
+  case BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT:
+    return "TransformFeedbackCounterBufferEXT";
+  case BufferUsageFlagBits::eConditionalRenderingEXT:
+    return "ConditionalRenderingEXT";
+  case BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR:
+    return "AccelerationStructureBuildInputReadOnlyKHR";
+  case BufferUsageFlagBits::eAccelerationStructureStorageKHR:
+    return "AccelerationStructureStorageKHR";
+  case BufferUsageFlagBits::eShaderBindingTableKHR:
+    return "ShaderBindingTableKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    BuildAccelerationStructureFlagBitsKHR : VkBuildAccelerationStructureFlagsKHR {
+      eAllowUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
+      eAllowCompaction =
+          VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
+      ePreferFastTrace =
+          VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
+      ePreferFastBuild =
+          VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
+      eLowMemory = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR
     };
-  };
+using BuildAccelerationStructureFlagBitsNV =
+    BuildAccelerationStructureFlagBitsKHR;
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator|(
-    PerformanceCounterDescriptionFlagBitsKHR bit0, PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PerformanceCounterDescriptionFlagsKHR( bit0 ) | bit1;
+VULKAN_HPP_INLINE std::string
+to_string(BuildAccelerationStructureFlagBitsKHR value) {
+  switch (value) {
+  case BuildAccelerationStructureFlagBitsKHR::eAllowUpdate:
+    return "AllowUpdate";
+  case BuildAccelerationStructureFlagBitsKHR::eAllowCompaction:
+    return "AllowCompaction";
+  case BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace:
+    return "PreferFastTrace";
+  case BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild:
+    return "PreferFastBuild";
+  case BuildAccelerationStructureFlagBitsKHR::eLowMemory:
+    return "LowMemory";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator&(
-    PerformanceCounterDescriptionFlagBitsKHR bit0, PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PerformanceCounterDescriptionFlagsKHR( bit0 ) & bit1;
+enum class BuildAccelerationStructureModeKHR {
+  eBuild = VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR,
+  eUpdate = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(BuildAccelerationStructureModeKHR value) {
+  switch (value) {
+  case BuildAccelerationStructureModeKHR::eBuild:
+    return "Build";
+  case BuildAccelerationStructureModeKHR::eUpdate:
+    return "Update";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator^(
-    PerformanceCounterDescriptionFlagBitsKHR bit0, PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PerformanceCounterDescriptionFlagsKHR( bit0 ) ^ bit1;
+enum class ChromaLocation {
+  eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
+  eMidpoint = VK_CHROMA_LOCATION_MIDPOINT
+};
+using ChromaLocationKHR = ChromaLocation;
+
+VULKAN_HPP_INLINE std::string to_string(ChromaLocation value) {
+  switch (value) {
+  case ChromaLocation::eCositedEven:
+    return "CositedEven";
+  case ChromaLocation::eMidpoint:
+    return "Midpoint";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR
-    operator~( PerformanceCounterDescriptionFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( PerformanceCounterDescriptionFlagsKHR( bits ) );
+enum class CoarseSampleOrderTypeNV {
+  eDefault = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
+  eCustom = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV,
+  ePixelMajor = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV,
+  eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(CoarseSampleOrderTypeNV value) {
+  switch (value) {
+  case CoarseSampleOrderTypeNV::eDefault:
+    return "Default";
+  case CoarseSampleOrderTypeNV::eCustom:
+    return "Custom";
+  case CoarseSampleOrderTypeNV::ePixelMajor:
+    return "PixelMajor";
+  case CoarseSampleOrderTypeNV::eSampleMajor:
+    return "SampleMajor";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PerformanceCounterDescriptionFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+enum class ColorComponentFlagBits : VkColorComponentFlags {
+  eR = VK_COLOR_COMPONENT_R_BIT,
+  eG = VK_COLOR_COMPONENT_G_BIT,
+  eB = VK_COLOR_COMPONENT_B_BIT,
+  eA = VK_COLOR_COMPONENT_A_BIT
+};
 
-    if ( value & PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting )
-      result += "PerformanceImpacting | ";
-    if ( value & PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted )
-      result += "ConcurrentlyImpacted | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+VULKAN_HPP_INLINE std::string to_string(ColorComponentFlagBits value) {
+  switch (value) {
+  case ColorComponentFlagBits::eR:
+    return "R";
+  case ColorComponentFlagBits::eG:
+    return "G";
+  case ColorComponentFlagBits::eB:
+    return "B";
+  case ColorComponentFlagBits::eA:
+    return "A";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  using PipelineCacheCreateFlags = Flags<PipelineCacheCreateFlagBits>;
+enum class ColorSpaceKHR {
+  eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
+  eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
+  eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
+  eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
+  eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
+  eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
+  eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
+  eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
+  eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
+  eDolbyvisionEXT = VK_COLOR_SPACE_DOLBYVISION_EXT,
+  eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT,
+  eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
+  eAdobergbNonlinearEXT = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,
+  ePassThroughEXT = VK_COLOR_SPACE_PASS_THROUGH_EXT,
+  eExtendedSrgbNonlinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT,
+  eDisplayNativeAMD = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD,
+  eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
+  eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT
+};
 
-  template <>
-  struct FlagTraits<PipelineCacheCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( PipelineCacheCreateFlagBits::eExternallySynchronizedEXT )
+VULKAN_HPP_INLINE std::string to_string(ColorSpaceKHR value) {
+  switch (value) {
+  case ColorSpaceKHR::eSrgbNonlinear:
+    return "SrgbNonlinear";
+  case ColorSpaceKHR::eDisplayP3NonlinearEXT:
+    return "DisplayP3NonlinearEXT";
+  case ColorSpaceKHR::eExtendedSrgbLinearEXT:
+    return "ExtendedSrgbLinearEXT";
+  case ColorSpaceKHR::eDisplayP3LinearEXT:
+    return "DisplayP3LinearEXT";
+  case ColorSpaceKHR::eDciP3NonlinearEXT:
+    return "DciP3NonlinearEXT";
+  case ColorSpaceKHR::eBt709LinearEXT:
+    return "Bt709LinearEXT";
+  case ColorSpaceKHR::eBt709NonlinearEXT:
+    return "Bt709NonlinearEXT";
+  case ColorSpaceKHR::eBt2020LinearEXT:
+    return "Bt2020LinearEXT";
+  case ColorSpaceKHR::eHdr10St2084EXT:
+    return "Hdr10St2084EXT";
+  case ColorSpaceKHR::eDolbyvisionEXT:
+    return "DolbyvisionEXT";
+  case ColorSpaceKHR::eHdr10HlgEXT:
+    return "Hdr10HlgEXT";
+  case ColorSpaceKHR::eAdobergbLinearEXT:
+    return "AdobergbLinearEXT";
+  case ColorSpaceKHR::eAdobergbNonlinearEXT:
+    return "AdobergbNonlinearEXT";
+  case ColorSpaceKHR::ePassThroughEXT:
+    return "PassThroughEXT";
+  case ColorSpaceKHR::eExtendedSrgbNonlinearEXT:
+    return "ExtendedSrgbNonlinearEXT";
+  case ColorSpaceKHR::eDisplayNativeAMD:
+    return "DisplayNativeAMD";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CommandBufferLevel {
+  ePrimary = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
+  eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY
+};
+
+VULKAN_HPP_INLINE std::string to_string(CommandBufferLevel value) {
+  switch (value) {
+  case CommandBufferLevel::ePrimary:
+    return "Primary";
+  case CommandBufferLevel::eSecondary:
+    return "Secondary";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CommandBufferResetFlagBits : VkCommandBufferResetFlags {
+  eReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(CommandBufferResetFlagBits value) {
+  switch (value) {
+  case CommandBufferResetFlagBits::eReleaseResources:
+    return "ReleaseResources";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CommandBufferUsageFlagBits : VkCommandBufferUsageFlags {
+  eOneTimeSubmit = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
+  eRenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,
+  eSimultaneousUse = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(CommandBufferUsageFlagBits value) {
+  switch (value) {
+  case CommandBufferUsageFlagBits::eOneTimeSubmit:
+    return "OneTimeSubmit";
+  case CommandBufferUsageFlagBits::eRenderPassContinue:
+    return "RenderPassContinue";
+  case CommandBufferUsageFlagBits::eSimultaneousUse:
+    return "SimultaneousUse";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CommandPoolCreateFlagBits : VkCommandPoolCreateFlags {
+  eTransient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
+  eResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
+  eProtected = VK_COMMAND_POOL_CREATE_PROTECTED_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(CommandPoolCreateFlagBits value) {
+  switch (value) {
+  case CommandPoolCreateFlagBits::eTransient:
+    return "Transient";
+  case CommandPoolCreateFlagBits::eResetCommandBuffer:
+    return "ResetCommandBuffer";
+  case CommandPoolCreateFlagBits::eProtected:
+    return "Protected";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CommandPoolResetFlagBits : VkCommandPoolResetFlags {
+  eReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(CommandPoolResetFlagBits value) {
+  switch (value) {
+  case CommandPoolResetFlagBits::eReleaseResources:
+    return "ReleaseResources";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CompareOp {
+  eNever = VK_COMPARE_OP_NEVER,
+  eLess = VK_COMPARE_OP_LESS,
+  eEqual = VK_COMPARE_OP_EQUAL,
+  eLessOrEqual = VK_COMPARE_OP_LESS_OR_EQUAL,
+  eGreater = VK_COMPARE_OP_GREATER,
+  eNotEqual = VK_COMPARE_OP_NOT_EQUAL,
+  eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL,
+  eAlways = VK_COMPARE_OP_ALWAYS
+};
+
+VULKAN_HPP_INLINE std::string to_string(CompareOp value) {
+  switch (value) {
+  case CompareOp::eNever:
+    return "Never";
+  case CompareOp::eLess:
+    return "Less";
+  case CompareOp::eEqual:
+    return "Equal";
+  case CompareOp::eLessOrEqual:
+    return "LessOrEqual";
+  case CompareOp::eGreater:
+    return "Greater";
+  case CompareOp::eNotEqual:
+    return "NotEqual";
+  case CompareOp::eGreaterOrEqual:
+    return "GreaterOrEqual";
+  case CompareOp::eAlways:
+    return "Always";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ComponentSwizzle {
+  eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY,
+  eZero = VK_COMPONENT_SWIZZLE_ZERO,
+  eOne = VK_COMPONENT_SWIZZLE_ONE,
+  eR = VK_COMPONENT_SWIZZLE_R,
+  eG = VK_COMPONENT_SWIZZLE_G,
+  eB = VK_COMPONENT_SWIZZLE_B,
+  eA = VK_COMPONENT_SWIZZLE_A
+};
+
+VULKAN_HPP_INLINE std::string to_string(ComponentSwizzle value) {
+  switch (value) {
+  case ComponentSwizzle::eIdentity:
+    return "Identity";
+  case ComponentSwizzle::eZero:
+    return "Zero";
+  case ComponentSwizzle::eOne:
+    return "One";
+  case ComponentSwizzle::eR:
+    return "R";
+  case ComponentSwizzle::eG:
+    return "G";
+  case ComponentSwizzle::eB:
+    return "B";
+  case ComponentSwizzle::eA:
+    return "A";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ComponentTypeNV {
+  eFloat16 = VK_COMPONENT_TYPE_FLOAT16_NV,
+  eFloat32 = VK_COMPONENT_TYPE_FLOAT32_NV,
+  eFloat64 = VK_COMPONENT_TYPE_FLOAT64_NV,
+  eSint8 = VK_COMPONENT_TYPE_SINT8_NV,
+  eSint16 = VK_COMPONENT_TYPE_SINT16_NV,
+  eSint32 = VK_COMPONENT_TYPE_SINT32_NV,
+  eSint64 = VK_COMPONENT_TYPE_SINT64_NV,
+  eUint8 = VK_COMPONENT_TYPE_UINT8_NV,
+  eUint16 = VK_COMPONENT_TYPE_UINT16_NV,
+  eUint32 = VK_COMPONENT_TYPE_UINT32_NV,
+  eUint64 = VK_COMPONENT_TYPE_UINT64_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(ComponentTypeNV value) {
+  switch (value) {
+  case ComponentTypeNV::eFloat16:
+    return "Float16";
+  case ComponentTypeNV::eFloat32:
+    return "Float32";
+  case ComponentTypeNV::eFloat64:
+    return "Float64";
+  case ComponentTypeNV::eSint8:
+    return "Sint8";
+  case ComponentTypeNV::eSint16:
+    return "Sint16";
+  case ComponentTypeNV::eSint32:
+    return "Sint32";
+  case ComponentTypeNV::eSint64:
+    return "Sint64";
+  case ComponentTypeNV::eUint8:
+    return "Uint8";
+  case ComponentTypeNV::eUint16:
+    return "Uint16";
+  case ComponentTypeNV::eUint32:
+    return "Uint32";
+  case ComponentTypeNV::eUint64:
+    return "Uint64";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CompositeAlphaFlagBitsKHR : VkCompositeAlphaFlagsKHR {
+  eOpaque = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,
+  ePreMultiplied = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,
+  ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,
+  eInherit = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(CompositeAlphaFlagBitsKHR value) {
+  switch (value) {
+  case CompositeAlphaFlagBitsKHR::eOpaque:
+    return "Opaque";
+  case CompositeAlphaFlagBitsKHR::ePreMultiplied:
+    return "PreMultiplied";
+  case CompositeAlphaFlagBitsKHR::ePostMultiplied:
+    return "PostMultiplied";
+  case CompositeAlphaFlagBitsKHR::eInherit:
+    return "Inherit";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ConditionalRenderingFlagBitsEXT : VkConditionalRenderingFlagsEXT {
+  eInverted = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ConditionalRenderingFlagBitsEXT value) {
+  switch (value) {
+  case ConditionalRenderingFlagBitsEXT::eInverted:
+    return "Inverted";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ConservativeRasterizationModeEXT {
+  eDisabled = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
+  eOverestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,
+  eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(ConservativeRasterizationModeEXT value) {
+  switch (value) {
+  case ConservativeRasterizationModeEXT::eDisabled:
+    return "Disabled";
+  case ConservativeRasterizationModeEXT::eOverestimate:
+    return "Overestimate";
+  case ConservativeRasterizationModeEXT::eUnderestimate:
+    return "Underestimate";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CopyAccelerationStructureModeKHR {
+  eClone = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
+  eCompact = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
+  eSerialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR,
+  eDeserialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR
+};
+using CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
+
+VULKAN_HPP_INLINE std::string
+to_string(CopyAccelerationStructureModeKHR value) {
+  switch (value) {
+  case CopyAccelerationStructureModeKHR::eClone:
+    return "Clone";
+  case CopyAccelerationStructureModeKHR::eCompact:
+    return "Compact";
+  case CopyAccelerationStructureModeKHR::eSerialize:
+    return "Serialize";
+  case CopyAccelerationStructureModeKHR::eDeserialize:
+    return "Deserialize";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CoverageModulationModeNV {
+  eNone = VK_COVERAGE_MODULATION_MODE_NONE_NV,
+  eRgb = VK_COVERAGE_MODULATION_MODE_RGB_NV,
+  eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV,
+  eRgba = VK_COVERAGE_MODULATION_MODE_RGBA_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(CoverageModulationModeNV value) {
+  switch (value) {
+  case CoverageModulationModeNV::eNone:
+    return "None";
+  case CoverageModulationModeNV::eRgb:
+    return "Rgb";
+  case CoverageModulationModeNV::eAlpha:
+    return "Alpha";
+  case CoverageModulationModeNV::eRgba:
+    return "Rgba";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CoverageReductionModeNV {
+  eMerge = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
+  eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(CoverageReductionModeNV value) {
+  switch (value) {
+  case CoverageReductionModeNV::eMerge:
+    return "Merge";
+  case CoverageReductionModeNV::eTruncate:
+    return "Truncate";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class CullModeFlagBits : VkCullModeFlags {
+  eNone = VK_CULL_MODE_NONE,
+  eFront = VK_CULL_MODE_FRONT_BIT,
+  eBack = VK_CULL_MODE_BACK_BIT,
+  eFrontAndBack = VK_CULL_MODE_FRONT_AND_BACK
+};
+
+VULKAN_HPP_INLINE std::string to_string(CullModeFlagBits value) {
+  switch (value) {
+  case CullModeFlagBits::eNone:
+    return "None";
+  case CullModeFlagBits::eFront:
+    return "Front";
+  case CullModeFlagBits::eBack:
+    return "Back";
+  case CullModeFlagBits::eFrontAndBack:
+    return "FrontAndBack";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT {
+  eInformation = VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
+  eWarning = VK_DEBUG_REPORT_WARNING_BIT_EXT,
+  ePerformanceWarning = VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
+  eError = VK_DEBUG_REPORT_ERROR_BIT_EXT,
+  eDebug = VK_DEBUG_REPORT_DEBUG_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DebugReportFlagBitsEXT value) {
+  switch (value) {
+  case DebugReportFlagBitsEXT::eInformation:
+    return "Information";
+  case DebugReportFlagBitsEXT::eWarning:
+    return "Warning";
+  case DebugReportFlagBitsEXT::ePerformanceWarning:
+    return "PerformanceWarning";
+  case DebugReportFlagBitsEXT::eError:
+    return "Error";
+  case DebugReportFlagBitsEXT::eDebug:
+    return "Debug";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DebugReportObjectTypeEXT {
+  // clang-format off
+      eUnknown = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
+    , eInstance = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT
+    , ePhysicalDevice = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT
+    , eDevice = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT
+    , eQueue = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT
+    , eSemaphore = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT
+    , eCommandBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT
+    , eFence = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT
+    , eDeviceMemory = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT
+    , eBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT
+    , eImage = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT
+    , eEvent = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT
+    , eQueryPool = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT
+    , eBufferView = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT
+    , eImageView = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT
+    , eShaderModule = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT
+    , ePipelineCache = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT
+    , ePipelineLayout = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT
+    , eRenderPass = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT
+    , ePipeline = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT
+    , eDescriptorSetLayout = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT
+    , eSampler = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT
+    , eDescriptorPool = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT
+    , eDescriptorSet = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT
+    , eFramebuffer = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT
+    , eCommandPool = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT
+    , eSurfaceKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT
+    , eSwapchainKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT
+    , eDebugReportCallbackEXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
+    , eDisplayKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT
+    , eDisplayModeKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT
+    , eValidationCacheEXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
+    , eSamplerYcbcrConversion = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT
+    , eDescriptorUpdateTemplate = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
+    , 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
+#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
+    , eSamplerYcbcrConversionKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT
+    , eValidationCache = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT
+  // clang-format on
+};
+
+VULKAN_HPP_INLINE std::string to_string(DebugReportObjectTypeEXT value) {
+  switch (value) {
+  case DebugReportObjectTypeEXT::eUnknown:
+    return "Unknown";
+  case DebugReportObjectTypeEXT::eInstance:
+    return "Instance";
+  case DebugReportObjectTypeEXT::ePhysicalDevice:
+    return "PhysicalDevice";
+  case DebugReportObjectTypeEXT::eDevice:
+    return "Device";
+  case DebugReportObjectTypeEXT::eQueue:
+    return "Queue";
+  case DebugReportObjectTypeEXT::eSemaphore:
+    return "Semaphore";
+  case DebugReportObjectTypeEXT::eCommandBuffer:
+    return "CommandBuffer";
+  case DebugReportObjectTypeEXT::eFence:
+    return "Fence";
+  case DebugReportObjectTypeEXT::eDeviceMemory:
+    return "DeviceMemory";
+  case DebugReportObjectTypeEXT::eBuffer:
+    return "Buffer";
+  case DebugReportObjectTypeEXT::eImage:
+    return "Image";
+  case DebugReportObjectTypeEXT::eEvent:
+    return "Event";
+  case DebugReportObjectTypeEXT::eQueryPool:
+    return "QueryPool";
+  case DebugReportObjectTypeEXT::eBufferView:
+    return "BufferView";
+  case DebugReportObjectTypeEXT::eImageView:
+    return "ImageView";
+  case DebugReportObjectTypeEXT::eShaderModule:
+    return "ShaderModule";
+  case DebugReportObjectTypeEXT::ePipelineCache:
+    return "PipelineCache";
+  case DebugReportObjectTypeEXT::ePipelineLayout:
+    return "PipelineLayout";
+  case DebugReportObjectTypeEXT::eRenderPass:
+    return "RenderPass";
+  case DebugReportObjectTypeEXT::ePipeline:
+    return "Pipeline";
+  case DebugReportObjectTypeEXT::eDescriptorSetLayout:
+    return "DescriptorSetLayout";
+  case DebugReportObjectTypeEXT::eSampler:
+    return "Sampler";
+  case DebugReportObjectTypeEXT::eDescriptorPool:
+    return "DescriptorPool";
+  case DebugReportObjectTypeEXT::eDescriptorSet:
+    return "DescriptorSet";
+  case DebugReportObjectTypeEXT::eFramebuffer:
+    return "Framebuffer";
+  case DebugReportObjectTypeEXT::eCommandPool:
+    return "CommandPool";
+  case DebugReportObjectTypeEXT::eSurfaceKHR:
+    return "SurfaceKHR";
+  case DebugReportObjectTypeEXT::eSwapchainKHR:
+    return "SwapchainKHR";
+  case DebugReportObjectTypeEXT::eDebugReportCallbackEXT:
+    return "DebugReportCallbackEXT";
+  case DebugReportObjectTypeEXT::eDisplayKHR:
+    return "DisplayKHR";
+  case DebugReportObjectTypeEXT::eDisplayModeKHR:
+    return "DisplayModeKHR";
+  case DebugReportObjectTypeEXT::eValidationCacheEXT:
+    return "ValidationCacheEXT";
+  case DebugReportObjectTypeEXT::eSamplerYcbcrConversion:
+    return "SamplerYcbcrConversion";
+  case DebugReportObjectTypeEXT::eDescriptorUpdateTemplate:
+    return "DescriptorUpdateTemplate";
+  case DebugReportObjectTypeEXT::eAccelerationStructureKHR:
+    return "AccelerationStructureKHR";
+  case DebugReportObjectTypeEXT::eAccelerationStructureNV:
+    return "AccelerationStructureNV";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  case DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA:
+    return "BufferCollectionFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    DebugUtilsMessageSeverityFlagBitsEXT : VkDebugUtilsMessageSeverityFlagsEXT {
+      eVerbose = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,
+      eInfo = VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,
+      eWarning = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,
+      eError = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
     };
-  };
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
-    operator|( PipelineCacheCreateFlagBits bit0, PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCacheCreateFlags( bit0 ) | bit1;
+VULKAN_HPP_INLINE std::string
+to_string(DebugUtilsMessageSeverityFlagBitsEXT value) {
+  switch (value) {
+  case DebugUtilsMessageSeverityFlagBitsEXT::eVerbose:
+    return "Verbose";
+  case DebugUtilsMessageSeverityFlagBitsEXT::eInfo:
+    return "Info";
+  case DebugUtilsMessageSeverityFlagBitsEXT::eWarning:
+    return "Warning";
+  case DebugUtilsMessageSeverityFlagBitsEXT::eError:
+    return "Error";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
-    operator&( PipelineCacheCreateFlagBits bit0, PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCacheCreateFlags( bit0 ) & bit1;
+enum class DebugUtilsMessageTypeFlagBitsEXT : VkDebugUtilsMessageTypeFlagsEXT {
+  eGeneral = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,
+  eValidation = VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
+  ePerformance = VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(DebugUtilsMessageTypeFlagBitsEXT value) {
+  switch (value) {
+  case DebugUtilsMessageTypeFlagBitsEXT::eGeneral:
+    return "General";
+  case DebugUtilsMessageTypeFlagBitsEXT::eValidation:
+    return "Validation";
+  case DebugUtilsMessageTypeFlagBitsEXT::ePerformance:
+    return "Performance";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
-    operator^( PipelineCacheCreateFlagBits bit0, PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCacheCreateFlags( bit0 ) ^ bit1;
+enum class DependencyFlagBits : VkDependencyFlags {
+  eByRegion = VK_DEPENDENCY_BY_REGION_BIT,
+  eDeviceGroup = VK_DEPENDENCY_DEVICE_GROUP_BIT,
+  eViewLocal = VK_DEPENDENCY_VIEW_LOCAL_BIT,
+  eDeviceGroupKHR = VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,
+  eViewLocalKHR = VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(DependencyFlagBits value) {
+  switch (value) {
+  case DependencyFlagBits::eByRegion:
+    return "ByRegion";
+  case DependencyFlagBits::eDeviceGroup:
+    return "DeviceGroup";
+  case DependencyFlagBits::eViewLocal:
+    return "ViewLocal";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags operator~( PipelineCacheCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( PipelineCacheCreateFlags( bits ) );
+enum class DescriptorBindingFlagBits : VkDescriptorBindingFlags {
+  eUpdateAfterBind = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
+  eUpdateUnusedWhilePending =
+      VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
+  ePartiallyBound = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
+  eVariableDescriptorCount = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
+};
+using DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorBindingFlagBits value) {
+  switch (value) {
+  case DescriptorBindingFlagBits::eUpdateAfterBind:
+    return "UpdateAfterBind";
+  case DescriptorBindingFlagBits::eUpdateUnusedWhilePending:
+    return "UpdateUnusedWhilePending";
+  case DescriptorBindingFlagBits::ePartiallyBound:
+    return "PartiallyBound";
+  case DescriptorBindingFlagBits::eVariableDescriptorCount:
+    return "VariableDescriptorCount";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCacheCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+enum class DescriptorPoolCreateFlagBits : VkDescriptorPoolCreateFlags {
+  eFreeDescriptorSet = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
+  eUpdateAfterBind = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
+  eHostOnlyVALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE,
+  eUpdateAfterBindEXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
+};
 
-    if ( value & PipelineCacheCreateFlagBits::eExternallySynchronizedEXT )
-      result += "ExternallySynchronizedEXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+VULKAN_HPP_INLINE std::string to_string(DescriptorPoolCreateFlagBits value) {
+  switch (value) {
+  case DescriptorPoolCreateFlagBits::eFreeDescriptorSet:
+    return "FreeDescriptorSet";
+  case DescriptorPoolCreateFlagBits::eUpdateAfterBind:
+    return "UpdateAfterBind";
+  case DescriptorPoolCreateFlagBits::eHostOnlyVALVE:
+    return "HostOnlyVALVE";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  enum class PipelineColorBlendStateCreateFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlagBits )
-  {
-    return "(void)";
-  }
-
-  using PipelineColorBlendStateCreateFlags = Flags<PipelineColorBlendStateCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlags )
-  {
-    return "{}";
-  }
-
-  using PipelineCompilerControlFlagsAMD = Flags<PipelineCompilerControlFlagBitsAMD>;
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineCompilerControlFlagsAMD )
-  {
-    return "{}";
-  }
-
-  enum class PipelineCoverageModulationStateCreateFlagBitsNV : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineCoverageModulationStateCreateFlagBitsNV )
-  {
-    return "(void)";
-  }
-
-  using PipelineCoverageModulationStateCreateFlagsNV = Flags<PipelineCoverageModulationStateCreateFlagBitsNV>;
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineCoverageModulationStateCreateFlagsNV )
-  {
-    return "{}";
-  }
-
-  enum class PipelineCoverageReductionStateCreateFlagBitsNV : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineCoverageReductionStateCreateFlagBitsNV )
-  {
-    return "(void)";
-  }
-
-  using PipelineCoverageReductionStateCreateFlagsNV = Flags<PipelineCoverageReductionStateCreateFlagBitsNV>;
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineCoverageReductionStateCreateFlagsNV )
-  {
-    return "{}";
-  }
-
-  enum class PipelineCoverageToColorStateCreateFlagBitsNV : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineCoverageToColorStateCreateFlagBitsNV )
-  {
-    return "(void)";
-  }
-
-  using PipelineCoverageToColorStateCreateFlagsNV = Flags<PipelineCoverageToColorStateCreateFlagBitsNV>;
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineCoverageToColorStateCreateFlagsNV )
-  {
-    return "{}";
-  }
-
-  using PipelineCreateFlags = Flags<PipelineCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<PipelineCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags =
-        VkFlags( PipelineCreateFlagBits::eDisableOptimization ) | VkFlags( PipelineCreateFlagBits::eAllowDerivatives ) |
-        VkFlags( PipelineCreateFlagBits::eDerivative ) | VkFlags( PipelineCreateFlagBits::eViewIndexFromDeviceIndex ) |
-        VkFlags( PipelineCreateFlagBits::eDispatchBase ) |
-        VkFlags( PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR ) |
-        VkFlags( PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR ) |
-        VkFlags( PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR ) |
-        VkFlags( PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR ) |
-        VkFlags( PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR ) |
-        VkFlags( PipelineCreateFlagBits::eRayTracingSkipAabbsKHR ) |
-        VkFlags( PipelineCreateFlagBits::eDeferCompileNV ) | VkFlags( PipelineCreateFlagBits::eCaptureStatisticsKHR ) |
-        VkFlags( PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR ) |
-        VkFlags( PipelineCreateFlagBits::eIndirectBindableNV ) | VkFlags( PipelineCreateFlagBits::eLibraryKHR ) |
-        VkFlags( PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT ) |
-        VkFlags( PipelineCreateFlagBits::eEarlyReturnOnFailureEXT )
+enum class
+    DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags {
+      eUpdateAfterBindPool =
+          VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
+      ePushDescriptorKHR =
+          VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
+      eHostOnlyPoolVALVE =
+          VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
+      eUpdateAfterBindPoolEXT =
+          VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
     };
-  };
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
-    operator|( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCreateFlags( bit0 ) | bit1;
+VULKAN_HPP_INLINE std::string
+to_string(DescriptorSetLayoutCreateFlagBits value) {
+  switch (value) {
+  case DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool:
+    return "UpdateAfterBindPool";
+  case DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR:
+    return "PushDescriptorKHR";
+  case DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolVALVE:
+    return "HostOnlyPoolVALVE";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
-    operator&( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCreateFlags( bit0 ) & bit1;
+enum class DescriptorType {
+  eSampler = VK_DESCRIPTOR_TYPE_SAMPLER,
+  eCombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+  eSampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
+  eStorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
+  eUniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
+  eStorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
+  eUniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+  eStorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
+  eUniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
+  eStorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
+  eInputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
+  eInlineUniformBlockEXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
+  eAccelerationStructureKHR = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
+  eAccelerationStructureNV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV,
+  eMutableVALVE = VK_DESCRIPTOR_TYPE_MUTABLE_VALVE
+};
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorType value) {
+  switch (value) {
+  case DescriptorType::eSampler:
+    return "Sampler";
+  case DescriptorType::eCombinedImageSampler:
+    return "CombinedImageSampler";
+  case DescriptorType::eSampledImage:
+    return "SampledImage";
+  case DescriptorType::eStorageImage:
+    return "StorageImage";
+  case DescriptorType::eUniformTexelBuffer:
+    return "UniformTexelBuffer";
+  case DescriptorType::eStorageTexelBuffer:
+    return "StorageTexelBuffer";
+  case DescriptorType::eUniformBuffer:
+    return "UniformBuffer";
+  case DescriptorType::eStorageBuffer:
+    return "StorageBuffer";
+  case DescriptorType::eUniformBufferDynamic:
+    return "UniformBufferDynamic";
+  case DescriptorType::eStorageBufferDynamic:
+    return "StorageBufferDynamic";
+  case DescriptorType::eInputAttachment:
+    return "InputAttachment";
+  case DescriptorType::eInlineUniformBlockEXT:
+    return "InlineUniformBlockEXT";
+  case DescriptorType::eAccelerationStructureKHR:
+    return "AccelerationStructureKHR";
+  case DescriptorType::eAccelerationStructureNV:
+    return "AccelerationStructureNV";
+  case DescriptorType::eMutableVALVE:
+    return "MutableVALVE";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
-    operator^( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCreateFlags( bit0 ) ^ bit1;
+enum class DescriptorUpdateTemplateType {
+  eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
+  ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
+};
+using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorUpdateTemplateType value) {
+  switch (value) {
+  case DescriptorUpdateTemplateType::eDescriptorSet:
+    return "DescriptorSet";
+  case DescriptorUpdateTemplateType::ePushDescriptorsKHR:
+    return "PushDescriptorsKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
   }
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags operator~( PipelineCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( PipelineCreateFlags( bits ) );
-  }
+enum class DeviceCreateFlagBits {};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string to_string(DeviceCreateFlagBits) {
+  return "(void)";
+}
 
-    if ( value & PipelineCreateFlagBits::eDisableOptimization )
-      result += "DisableOptimization | ";
-    if ( value & PipelineCreateFlagBits::eAllowDerivatives )
-      result += "AllowDerivatives | ";
-    if ( value & PipelineCreateFlagBits::eDerivative )
-      result += "Derivative | ";
-    if ( value & PipelineCreateFlagBits::eViewIndexFromDeviceIndex )
-      result += "ViewIndexFromDeviceIndex | ";
-    if ( value & PipelineCreateFlagBits::eDispatchBase )
-      result += "DispatchBase | ";
-    if ( value & PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR )
-      result += "RayTracingNoNullAnyHitShadersKHR | ";
-    if ( value & PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR )
-      result += "RayTracingNoNullClosestHitShadersKHR | ";
-    if ( value & PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR )
-      result += "RayTracingNoNullMissShadersKHR | ";
-    if ( value & PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR )
-      result += "RayTracingNoNullIntersectionShadersKHR | ";
-    if ( value & PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR )
-      result += "RayTracingSkipTrianglesKHR | ";
-    if ( value & PipelineCreateFlagBits::eRayTracingSkipAabbsKHR )
-      result += "RayTracingSkipAabbsKHR | ";
-    if ( value & PipelineCreateFlagBits::eDeferCompileNV )
-      result += "DeferCompileNV | ";
-    if ( value & PipelineCreateFlagBits::eCaptureStatisticsKHR )
-      result += "CaptureStatisticsKHR | ";
-    if ( value & PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR )
-      result += "CaptureInternalRepresentationsKHR | ";
-    if ( value & PipelineCreateFlagBits::eIndirectBindableNV )
-      result += "IndirectBindableNV | ";
-    if ( value & PipelineCreateFlagBits::eLibraryKHR )
-      result += "LibraryKHR | ";
-    if ( value & PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT )
-      result += "FailOnPipelineCompileRequiredEXT | ";
-    if ( value & PipelineCreateFlagBits::eEarlyReturnOnFailureEXT )
-      result += "EarlyReturnOnFailureEXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using PipelineCreationFeedbackFlagsEXT = Flags<PipelineCreationFeedbackFlagBitsEXT>;
-
-  template <>
-  struct FlagTraits<PipelineCreationFeedbackFlagBitsEXT>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( PipelineCreationFeedbackFlagBitsEXT::eValid ) |
-                 VkFlags( PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit ) |
-                 VkFlags( PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration )
+enum class
+    DeviceDiagnosticsConfigFlagBitsNV : VkDeviceDiagnosticsConfigFlagsNV {
+      eEnableShaderDebugInfo =
+          VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV,
+      eEnableResourceTracking =
+          VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV,
+      eEnableAutomaticCheckpoints =
+          VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV
     };
+
+VULKAN_HPP_INLINE std::string
+to_string(DeviceDiagnosticsConfigFlagBitsNV value) {
+  switch (value) {
+  case DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo:
+    return "EnableShaderDebugInfo";
+  case DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking:
+    return "EnableResourceTracking";
+  case DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints:
+    return "EnableAutomaticCheckpoints";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DeviceEventTypeEXT {
+  eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DeviceEventTypeEXT value) {
+  switch (value) {
+  case DeviceEventTypeEXT::eDisplayHotplug:
+    return "DisplayHotplug";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    DeviceGroupPresentModeFlagBitsKHR : VkDeviceGroupPresentModeFlagsKHR {
+      eLocal = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
+      eRemote = VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
+      eSum = VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,
+      eLocalMultiDevice =
+          VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
+    };
+
+VULKAN_HPP_INLINE std::string
+to_string(DeviceGroupPresentModeFlagBitsKHR value) {
+  switch (value) {
+  case DeviceGroupPresentModeFlagBitsKHR::eLocal:
+    return "Local";
+  case DeviceGroupPresentModeFlagBitsKHR::eRemote:
+    return "Remote";
+  case DeviceGroupPresentModeFlagBitsKHR::eSum:
+    return "Sum";
+  case DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice:
+    return "LocalMultiDevice";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DeviceMemoryReportEventTypeEXT {
+  eAllocate = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
+  eFree = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,
+  eImport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,
+  eUnimport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,
+  eAllocationFailed = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DeviceMemoryReportEventTypeEXT value) {
+  switch (value) {
+  case DeviceMemoryReportEventTypeEXT::eAllocate:
+    return "Allocate";
+  case DeviceMemoryReportEventTypeEXT::eFree:
+    return "Free";
+  case DeviceMemoryReportEventTypeEXT::eImport:
+    return "Import";
+  case DeviceMemoryReportEventTypeEXT::eUnimport:
+    return "Unimport";
+  case DeviceMemoryReportEventTypeEXT::eAllocationFailed:
+    return "AllocationFailed";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags {
+  eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DeviceQueueCreateFlagBits value) {
+  switch (value) {
+  case DeviceQueueCreateFlagBits::eProtected:
+    return "Protected";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DiscardRectangleModeEXT {
+  eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
+  eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DiscardRectangleModeEXT value) {
+  switch (value) {
+  case DiscardRectangleModeEXT::eInclusive:
+    return "Inclusive";
+  case DiscardRectangleModeEXT::eExclusive:
+    return "Exclusive";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DisplayEventTypeEXT {
+  eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DisplayEventTypeEXT value) {
+  switch (value) {
+  case DisplayEventTypeEXT::eFirstPixelOut:
+    return "FirstPixelOut";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DisplayPlaneAlphaFlagBitsKHR : VkDisplayPlaneAlphaFlagsKHR {
+  eOpaque = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,
+  eGlobal = VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,
+  ePerPixel = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,
+  ePerPixelPremultiplied =
+      VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(DisplayPlaneAlphaFlagBitsKHR value) {
+  switch (value) {
+  case DisplayPlaneAlphaFlagBitsKHR::eOpaque:
+    return "Opaque";
+  case DisplayPlaneAlphaFlagBitsKHR::eGlobal:
+    return "Global";
+  case DisplayPlaneAlphaFlagBitsKHR::ePerPixel:
+    return "PerPixel";
+  case DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied:
+    return "PerPixelPremultiplied";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DisplayPowerStateEXT {
+  eOff = VK_DISPLAY_POWER_STATE_OFF_EXT,
+  eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT,
+  eOn = VK_DISPLAY_POWER_STATE_ON_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DisplayPowerStateEXT value) {
+  switch (value) {
+  case DisplayPowerStateEXT::eOff:
+    return "Off";
+  case DisplayPowerStateEXT::eSuspend:
+    return "Suspend";
+  case DisplayPowerStateEXT::eOn:
+    return "On";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DriverId {
+  eAmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY,
+  eAmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE,
+  eMesaRadv = VK_DRIVER_ID_MESA_RADV,
+  eNvidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
+  eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
+  eIntelOpenSourceMESA = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
+  eImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
+  eQualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
+  eArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY,
+  eGoogleSwiftshader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
+  eGgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY,
+  eBroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
+  eMesaLlvmpipe = VK_DRIVER_ID_MESA_LLVMPIPE,
+  eMoltenvk = VK_DRIVER_ID_MOLTENVK,
+  eIntelOpenSourceMesa = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR
+};
+using DriverIdKHR = DriverId;
+
+VULKAN_HPP_INLINE std::string to_string(DriverId value) {
+  switch (value) {
+  case DriverId::eAmdProprietary:
+    return "AmdProprietary";
+  case DriverId::eAmdOpenSource:
+    return "AmdOpenSource";
+  case DriverId::eMesaRadv:
+    return "MesaRadv";
+  case DriverId::eNvidiaProprietary:
+    return "NvidiaProprietary";
+  case DriverId::eIntelProprietaryWindows:
+    return "IntelProprietaryWindows";
+  case DriverId::eIntelOpenSourceMESA:
+    return "IntelOpenSourceMESA";
+  case DriverId::eImaginationProprietary:
+    return "ImaginationProprietary";
+  case DriverId::eQualcommProprietary:
+    return "QualcommProprietary";
+  case DriverId::eArmProprietary:
+    return "ArmProprietary";
+  case DriverId::eGoogleSwiftshader:
+    return "GoogleSwiftshader";
+  case DriverId::eGgpProprietary:
+    return "GgpProprietary";
+  case DriverId::eBroadcomProprietary:
+    return "BroadcomProprietary";
+  case DriverId::eMesaLlvmpipe:
+    return "MesaLlvmpipe";
+  case DriverId::eMoltenvk:
+    return "Moltenvk";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class DynamicState {
+  eViewport = VK_DYNAMIC_STATE_VIEWPORT,
+  eScissor = VK_DYNAMIC_STATE_SCISSOR,
+  eLineWidth = VK_DYNAMIC_STATE_LINE_WIDTH,
+  eDepthBias = VK_DYNAMIC_STATE_DEPTH_BIAS,
+  eBlendConstants = VK_DYNAMIC_STATE_BLEND_CONSTANTS,
+  eDepthBounds = VK_DYNAMIC_STATE_DEPTH_BOUNDS,
+  eStencilCompareMask = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,
+  eStencilWriteMask = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,
+  eStencilReference = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
+  eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
+  eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
+  eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
+  eRayTracingPipelineStackSizeKHR =
+      VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR,
+  eViewportShadingRatePaletteNV =
+      VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV,
+  eViewportCoarseSampleOrderNV =
+      VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,
+  eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
+  eFragmentShadingRateKHR = VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR,
+  eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT,
+  eCullModeEXT = VK_DYNAMIC_STATE_CULL_MODE_EXT,
+  eFrontFaceEXT = VK_DYNAMIC_STATE_FRONT_FACE_EXT,
+  ePrimitiveTopologyEXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
+  eViewportWithCountEXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
+  eScissorWithCountEXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
+  eVertexInputBindingStrideEXT =
+      VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
+  eDepthTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
+  eDepthWriteEnableEXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
+  eDepthCompareOpEXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
+  eDepthBoundsTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
+  eStencilTestEnableEXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
+  eStencilOpEXT = VK_DYNAMIC_STATE_STENCIL_OP_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(DynamicState value) {
+  switch (value) {
+  case DynamicState::eViewport:
+    return "Viewport";
+  case DynamicState::eScissor:
+    return "Scissor";
+  case DynamicState::eLineWidth:
+    return "LineWidth";
+  case DynamicState::eDepthBias:
+    return "DepthBias";
+  case DynamicState::eBlendConstants:
+    return "BlendConstants";
+  case DynamicState::eDepthBounds:
+    return "DepthBounds";
+  case DynamicState::eStencilCompareMask:
+    return "StencilCompareMask";
+  case DynamicState::eStencilWriteMask:
+    return "StencilWriteMask";
+  case DynamicState::eStencilReference:
+    return "StencilReference";
+  case DynamicState::eViewportWScalingNV:
+    return "ViewportWScalingNV";
+  case DynamicState::eDiscardRectangleEXT:
+    return "DiscardRectangleEXT";
+  case DynamicState::eSampleLocationsEXT:
+    return "SampleLocationsEXT";
+  case DynamicState::eRayTracingPipelineStackSizeKHR:
+    return "RayTracingPipelineStackSizeKHR";
+  case DynamicState::eViewportShadingRatePaletteNV:
+    return "ViewportShadingRatePaletteNV";
+  case DynamicState::eViewportCoarseSampleOrderNV:
+    return "ViewportCoarseSampleOrderNV";
+  case DynamicState::eExclusiveScissorNV:
+    return "ExclusiveScissorNV";
+  case DynamicState::eFragmentShadingRateKHR:
+    return "FragmentShadingRateKHR";
+  case DynamicState::eLineStippleEXT:
+    return "LineStippleEXT";
+  case DynamicState::eCullModeEXT:
+    return "CullModeEXT";
+  case DynamicState::eFrontFaceEXT:
+    return "FrontFaceEXT";
+  case DynamicState::ePrimitiveTopologyEXT:
+    return "PrimitiveTopologyEXT";
+  case DynamicState::eViewportWithCountEXT:
+    return "ViewportWithCountEXT";
+  case DynamicState::eScissorWithCountEXT:
+    return "ScissorWithCountEXT";
+  case DynamicState::eVertexInputBindingStrideEXT:
+    return "VertexInputBindingStrideEXT";
+  case DynamicState::eDepthTestEnableEXT:
+    return "DepthTestEnableEXT";
+  case DynamicState::eDepthWriteEnableEXT:
+    return "DepthWriteEnableEXT";
+  case DynamicState::eDepthCompareOpEXT:
+    return "DepthCompareOpEXT";
+  case DynamicState::eDepthBoundsTestEnableEXT:
+    return "DepthBoundsTestEnableEXT";
+  case DynamicState::eStencilTestEnableEXT:
+    return "StencilTestEnableEXT";
+  case DynamicState::eStencilOpEXT:
+    return "StencilOpEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class EventCreateFlagBits : VkEventCreateFlags {
+  eDeviceOnlyKHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(EventCreateFlagBits value) {
+  switch (value) {
+  case EventCreateFlagBits::eDeviceOnlyKHR:
+    return "DeviceOnlyKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ExternalFenceFeatureFlagBits : VkExternalFenceFeatureFlags {
+  eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
+  eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
+};
+using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalFenceFeatureFlagBits value) {
+  switch (value) {
+  case ExternalFenceFeatureFlagBits::eExportable:
+    return "Exportable";
+  case ExternalFenceFeatureFlagBits::eImportable:
+    return "Importable";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ExternalFenceHandleTypeFlagBits : VkExternalFenceHandleTypeFlags {
+  eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
+  eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
+  eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
+  eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
+};
+using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalFenceHandleTypeFlagBits value) {
+  switch (value) {
+  case ExternalFenceHandleTypeFlagBits::eOpaqueFd:
+    return "OpaqueFd";
+  case ExternalFenceHandleTypeFlagBits::eOpaqueWin32:
+    return "OpaqueWin32";
+  case ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt:
+    return "OpaqueWin32Kmt";
+  case ExternalFenceHandleTypeFlagBits::eSyncFd:
+    return "SyncFd";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ExternalMemoryFeatureFlagBits : VkExternalMemoryFeatureFlags {
+  eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
+  eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
+  eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
+};
+using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalMemoryFeatureFlagBits value) {
+  switch (value) {
+  case ExternalMemoryFeatureFlagBits::eDedicatedOnly:
+    return "DedicatedOnly";
+  case ExternalMemoryFeatureFlagBits::eExportable:
+    return "Exportable";
+  case ExternalMemoryFeatureFlagBits::eImportable:
+    return "Importable";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ExternalMemoryFeatureFlagBitsNV : VkExternalMemoryFeatureFlagsNV {
+  eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,
+  eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,
+  eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(ExternalMemoryFeatureFlagBitsNV value) {
+  switch (value) {
+  case ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly:
+    return "DedicatedOnly";
+  case ExternalMemoryFeatureFlagBitsNV::eExportable:
+    return "Exportable";
+  case ExternalMemoryFeatureFlagBitsNV::eImportable:
+    return "Importable";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ExternalMemoryHandleTypeFlagBits : VkExternalMemoryHandleTypeFlags {
+  // clang-format off
+      eOpaqueFd = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT
+    , eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT
+    , eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
+    , eD3D11Texture = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT
+    , eD3D11TextureKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT
+    , eD3D12Heap = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT
+    , eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
+    , eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
+#if defined( VK_USE_PLATFORM_ANDROID_KHR )
+    , eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+    , eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
+    , eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    , eZirconVmoFUCHSIA = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  // clang-format on
+};
+using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
+
+VULKAN_HPP_INLINE std::string
+to_string(ExternalMemoryHandleTypeFlagBits value) {
+  switch (value) {
+  case ExternalMemoryHandleTypeFlagBits::eOpaqueFd:
+    return "OpaqueFd";
+  case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32:
+    return "OpaqueWin32";
+  case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt:
+    return "OpaqueWin32Kmt";
+  case ExternalMemoryHandleTypeFlagBits::eD3D11Texture:
+    return "D3D11Texture";
+  case ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt:
+    return "D3D11TextureKmt";
+  case ExternalMemoryHandleTypeFlagBits::eD3D12Heap:
+    return "D3D12Heap";
+  case ExternalMemoryHandleTypeFlagBits::eD3D12Resource:
+    return "D3D12Resource";
+  case ExternalMemoryHandleTypeFlagBits::eDmaBufEXT:
+    return "DmaBufEXT";
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  case ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID:
+    return "AndroidHardwareBufferANDROID";
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+  case ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT:
+    return "HostAllocationEXT";
+  case ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT:
+    return "HostMappedForeignMemoryEXT";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  case ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA:
+    return "ZirconVmoFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    ExternalMemoryHandleTypeFlagBitsNV : VkExternalMemoryHandleTypeFlagsNV {
+      eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,
+      eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,
+      eD3D11Image = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,
+      eD3D11ImageKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
+    };
+
+VULKAN_HPP_INLINE std::string
+to_string(ExternalMemoryHandleTypeFlagBitsNV value) {
+  switch (value) {
+  case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32:
+    return "OpaqueWin32";
+  case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt:
+    return "OpaqueWin32Kmt";
+  case ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image:
+    return "D3D11Image";
+  case ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt:
+    return "D3D11ImageKmt";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ExternalSemaphoreFeatureFlagBits : VkExternalSemaphoreFeatureFlags {
+  eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
+  eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
+};
+using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
+
+VULKAN_HPP_INLINE std::string
+to_string(ExternalSemaphoreFeatureFlagBits value) {
+  switch (value) {
+  case ExternalSemaphoreFeatureFlagBits::eExportable:
+    return "Exportable";
+  case ExternalSemaphoreFeatureFlagBits::eImportable:
+    return "Importable";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    ExternalSemaphoreHandleTypeFlagBits : VkExternalSemaphoreHandleTypeFlags {
+      // clang-format off
+      eOpaqueFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT
+    , eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT
+    , eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
+    , eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT
+    , eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    , eZirconEventFUCHSIA = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    , eD3D11Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT
+      // clang-format on
+    };
+using ExternalSemaphoreHandleTypeFlagBitsKHR =
+    ExternalSemaphoreHandleTypeFlagBits;
+
+VULKAN_HPP_INLINE std::string
+to_string(ExternalSemaphoreHandleTypeFlagBits value) {
+  switch (value) {
+  case ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd:
+    return "OpaqueFd";
+  case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32:
+    return "OpaqueWin32";
+  case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt:
+    return "OpaqueWin32Kmt";
+  case ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence:
+    return "D3D12Fence";
+  case ExternalSemaphoreHandleTypeFlagBits::eSyncFd:
+    return "SyncFd";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  case ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA:
+    return "ZirconEventFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FenceCreateFlagBits : VkFenceCreateFlags {
+  eSignaled = VK_FENCE_CREATE_SIGNALED_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(FenceCreateFlagBits value) {
+  switch (value) {
+  case FenceCreateFlagBits::eSignaled:
+    return "Signaled";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FenceImportFlagBits : VkFenceImportFlags {
+  eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
+};
+using FenceImportFlagBitsKHR = FenceImportFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(FenceImportFlagBits value) {
+  switch (value) {
+  case FenceImportFlagBits::eTemporary:
+    return "Temporary";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class Filter {
+  eNearest = VK_FILTER_NEAREST,
+  eLinear = VK_FILTER_LINEAR,
+  eCubicIMG = VK_FILTER_CUBIC_IMG,
+  eCubicEXT = VK_FILTER_CUBIC_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(Filter value) {
+  switch (value) {
+  case Filter::eNearest:
+    return "Nearest";
+  case Filter::eLinear:
+    return "Linear";
+  case Filter::eCubicIMG:
+    return "CubicIMG";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class Format {
+  eUndefined = VK_FORMAT_UNDEFINED,
+  eR4G4UnormPack8 = VK_FORMAT_R4G4_UNORM_PACK8,
+  eR4G4B4A4UnormPack16 = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
+  eB4G4R4A4UnormPack16 = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
+  eR5G6B5UnormPack16 = VK_FORMAT_R5G6B5_UNORM_PACK16,
+  eB5G6R5UnormPack16 = VK_FORMAT_B5G6R5_UNORM_PACK16,
+  eR5G5B5A1UnormPack16 = VK_FORMAT_R5G5B5A1_UNORM_PACK16,
+  eB5G5R5A1UnormPack16 = VK_FORMAT_B5G5R5A1_UNORM_PACK16,
+  eA1R5G5B5UnormPack16 = VK_FORMAT_A1R5G5B5_UNORM_PACK16,
+  eR8Unorm = VK_FORMAT_R8_UNORM,
+  eR8Snorm = VK_FORMAT_R8_SNORM,
+  eR8Uscaled = VK_FORMAT_R8_USCALED,
+  eR8Sscaled = VK_FORMAT_R8_SSCALED,
+  eR8Uint = VK_FORMAT_R8_UINT,
+  eR8Sint = VK_FORMAT_R8_SINT,
+  eR8Srgb = VK_FORMAT_R8_SRGB,
+  eR8G8Unorm = VK_FORMAT_R8G8_UNORM,
+  eR8G8Snorm = VK_FORMAT_R8G8_SNORM,
+  eR8G8Uscaled = VK_FORMAT_R8G8_USCALED,
+  eR8G8Sscaled = VK_FORMAT_R8G8_SSCALED,
+  eR8G8Uint = VK_FORMAT_R8G8_UINT,
+  eR8G8Sint = VK_FORMAT_R8G8_SINT,
+  eR8G8Srgb = VK_FORMAT_R8G8_SRGB,
+  eR8G8B8Unorm = VK_FORMAT_R8G8B8_UNORM,
+  eR8G8B8Snorm = VK_FORMAT_R8G8B8_SNORM,
+  eR8G8B8Uscaled = VK_FORMAT_R8G8B8_USCALED,
+  eR8G8B8Sscaled = VK_FORMAT_R8G8B8_SSCALED,
+  eR8G8B8Uint = VK_FORMAT_R8G8B8_UINT,
+  eR8G8B8Sint = VK_FORMAT_R8G8B8_SINT,
+  eR8G8B8Srgb = VK_FORMAT_R8G8B8_SRGB,
+  eB8G8R8Unorm = VK_FORMAT_B8G8R8_UNORM,
+  eB8G8R8Snorm = VK_FORMAT_B8G8R8_SNORM,
+  eB8G8R8Uscaled = VK_FORMAT_B8G8R8_USCALED,
+  eB8G8R8Sscaled = VK_FORMAT_B8G8R8_SSCALED,
+  eB8G8R8Uint = VK_FORMAT_B8G8R8_UINT,
+  eB8G8R8Sint = VK_FORMAT_B8G8R8_SINT,
+  eB8G8R8Srgb = VK_FORMAT_B8G8R8_SRGB,
+  eR8G8B8A8Unorm = VK_FORMAT_R8G8B8A8_UNORM,
+  eR8G8B8A8Snorm = VK_FORMAT_R8G8B8A8_SNORM,
+  eR8G8B8A8Uscaled = VK_FORMAT_R8G8B8A8_USCALED,
+  eR8G8B8A8Sscaled = VK_FORMAT_R8G8B8A8_SSCALED,
+  eR8G8B8A8Uint = VK_FORMAT_R8G8B8A8_UINT,
+  eR8G8B8A8Sint = VK_FORMAT_R8G8B8A8_SINT,
+  eR8G8B8A8Srgb = VK_FORMAT_R8G8B8A8_SRGB,
+  eB8G8R8A8Unorm = VK_FORMAT_B8G8R8A8_UNORM,
+  eB8G8R8A8Snorm = VK_FORMAT_B8G8R8A8_SNORM,
+  eB8G8R8A8Uscaled = VK_FORMAT_B8G8R8A8_USCALED,
+  eB8G8R8A8Sscaled = VK_FORMAT_B8G8R8A8_SSCALED,
+  eB8G8R8A8Uint = VK_FORMAT_B8G8R8A8_UINT,
+  eB8G8R8A8Sint = VK_FORMAT_B8G8R8A8_SINT,
+  eB8G8R8A8Srgb = VK_FORMAT_B8G8R8A8_SRGB,
+  eA8B8G8R8UnormPack32 = VK_FORMAT_A8B8G8R8_UNORM_PACK32,
+  eA8B8G8R8SnormPack32 = VK_FORMAT_A8B8G8R8_SNORM_PACK32,
+  eA8B8G8R8UscaledPack32 = VK_FORMAT_A8B8G8R8_USCALED_PACK32,
+  eA8B8G8R8SscaledPack32 = VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
+  eA8B8G8R8UintPack32 = VK_FORMAT_A8B8G8R8_UINT_PACK32,
+  eA8B8G8R8SintPack32 = VK_FORMAT_A8B8G8R8_SINT_PACK32,
+  eA8B8G8R8SrgbPack32 = VK_FORMAT_A8B8G8R8_SRGB_PACK32,
+  eA2R10G10B10UnormPack32 = VK_FORMAT_A2R10G10B10_UNORM_PACK32,
+  eA2R10G10B10SnormPack32 = VK_FORMAT_A2R10G10B10_SNORM_PACK32,
+  eA2R10G10B10UscaledPack32 = VK_FORMAT_A2R10G10B10_USCALED_PACK32,
+  eA2R10G10B10SscaledPack32 = VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
+  eA2R10G10B10UintPack32 = VK_FORMAT_A2R10G10B10_UINT_PACK32,
+  eA2R10G10B10SintPack32 = VK_FORMAT_A2R10G10B10_SINT_PACK32,
+  eA2B10G10R10UnormPack32 = VK_FORMAT_A2B10G10R10_UNORM_PACK32,
+  eA2B10G10R10SnormPack32 = VK_FORMAT_A2B10G10R10_SNORM_PACK32,
+  eA2B10G10R10UscaledPack32 = VK_FORMAT_A2B10G10R10_USCALED_PACK32,
+  eA2B10G10R10SscaledPack32 = VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
+  eA2B10G10R10UintPack32 = VK_FORMAT_A2B10G10R10_UINT_PACK32,
+  eA2B10G10R10SintPack32 = VK_FORMAT_A2B10G10R10_SINT_PACK32,
+  eR16Unorm = VK_FORMAT_R16_UNORM,
+  eR16Snorm = VK_FORMAT_R16_SNORM,
+  eR16Uscaled = VK_FORMAT_R16_USCALED,
+  eR16Sscaled = VK_FORMAT_R16_SSCALED,
+  eR16Uint = VK_FORMAT_R16_UINT,
+  eR16Sint = VK_FORMAT_R16_SINT,
+  eR16Sfloat = VK_FORMAT_R16_SFLOAT,
+  eR16G16Unorm = VK_FORMAT_R16G16_UNORM,
+  eR16G16Snorm = VK_FORMAT_R16G16_SNORM,
+  eR16G16Uscaled = VK_FORMAT_R16G16_USCALED,
+  eR16G16Sscaled = VK_FORMAT_R16G16_SSCALED,
+  eR16G16Uint = VK_FORMAT_R16G16_UINT,
+  eR16G16Sint = VK_FORMAT_R16G16_SINT,
+  eR16G16Sfloat = VK_FORMAT_R16G16_SFLOAT,
+  eR16G16B16Unorm = VK_FORMAT_R16G16B16_UNORM,
+  eR16G16B16Snorm = VK_FORMAT_R16G16B16_SNORM,
+  eR16G16B16Uscaled = VK_FORMAT_R16G16B16_USCALED,
+  eR16G16B16Sscaled = VK_FORMAT_R16G16B16_SSCALED,
+  eR16G16B16Uint = VK_FORMAT_R16G16B16_UINT,
+  eR16G16B16Sint = VK_FORMAT_R16G16B16_SINT,
+  eR16G16B16Sfloat = VK_FORMAT_R16G16B16_SFLOAT,
+  eR16G16B16A16Unorm = VK_FORMAT_R16G16B16A16_UNORM,
+  eR16G16B16A16Snorm = VK_FORMAT_R16G16B16A16_SNORM,
+  eR16G16B16A16Uscaled = VK_FORMAT_R16G16B16A16_USCALED,
+  eR16G16B16A16Sscaled = VK_FORMAT_R16G16B16A16_SSCALED,
+  eR16G16B16A16Uint = VK_FORMAT_R16G16B16A16_UINT,
+  eR16G16B16A16Sint = VK_FORMAT_R16G16B16A16_SINT,
+  eR16G16B16A16Sfloat = VK_FORMAT_R16G16B16A16_SFLOAT,
+  eR32Uint = VK_FORMAT_R32_UINT,
+  eR32Sint = VK_FORMAT_R32_SINT,
+  eR32Sfloat = VK_FORMAT_R32_SFLOAT,
+  eR32G32Uint = VK_FORMAT_R32G32_UINT,
+  eR32G32Sint = VK_FORMAT_R32G32_SINT,
+  eR32G32Sfloat = VK_FORMAT_R32G32_SFLOAT,
+  eR32G32B32Uint = VK_FORMAT_R32G32B32_UINT,
+  eR32G32B32Sint = VK_FORMAT_R32G32B32_SINT,
+  eR32G32B32Sfloat = VK_FORMAT_R32G32B32_SFLOAT,
+  eR32G32B32A32Uint = VK_FORMAT_R32G32B32A32_UINT,
+  eR32G32B32A32Sint = VK_FORMAT_R32G32B32A32_SINT,
+  eR32G32B32A32Sfloat = VK_FORMAT_R32G32B32A32_SFLOAT,
+  eR64Uint = VK_FORMAT_R64_UINT,
+  eR64Sint = VK_FORMAT_R64_SINT,
+  eR64Sfloat = VK_FORMAT_R64_SFLOAT,
+  eR64G64Uint = VK_FORMAT_R64G64_UINT,
+  eR64G64Sint = VK_FORMAT_R64G64_SINT,
+  eR64G64Sfloat = VK_FORMAT_R64G64_SFLOAT,
+  eR64G64B64Uint = VK_FORMAT_R64G64B64_UINT,
+  eR64G64B64Sint = VK_FORMAT_R64G64B64_SINT,
+  eR64G64B64Sfloat = VK_FORMAT_R64G64B64_SFLOAT,
+  eR64G64B64A64Uint = VK_FORMAT_R64G64B64A64_UINT,
+  eR64G64B64A64Sint = VK_FORMAT_R64G64B64A64_SINT,
+  eR64G64B64A64Sfloat = VK_FORMAT_R64G64B64A64_SFLOAT,
+  eB10G11R11UfloatPack32 = VK_FORMAT_B10G11R11_UFLOAT_PACK32,
+  eE5B9G9R9UfloatPack32 = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
+  eD16Unorm = VK_FORMAT_D16_UNORM,
+  eX8D24UnormPack32 = VK_FORMAT_X8_D24_UNORM_PACK32,
+  eD32Sfloat = VK_FORMAT_D32_SFLOAT,
+  eS8Uint = VK_FORMAT_S8_UINT,
+  eD16UnormS8Uint = VK_FORMAT_D16_UNORM_S8_UINT,
+  eD24UnormS8Uint = VK_FORMAT_D24_UNORM_S8_UINT,
+  eD32SfloatS8Uint = VK_FORMAT_D32_SFLOAT_S8_UINT,
+  eBc1RgbUnormBlock = VK_FORMAT_BC1_RGB_UNORM_BLOCK,
+  eBc1RgbSrgbBlock = VK_FORMAT_BC1_RGB_SRGB_BLOCK,
+  eBc1RgbaUnormBlock = VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
+  eBc1RgbaSrgbBlock = VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
+  eBc2UnormBlock = VK_FORMAT_BC2_UNORM_BLOCK,
+  eBc2SrgbBlock = VK_FORMAT_BC2_SRGB_BLOCK,
+  eBc3UnormBlock = VK_FORMAT_BC3_UNORM_BLOCK,
+  eBc3SrgbBlock = VK_FORMAT_BC3_SRGB_BLOCK,
+  eBc4UnormBlock = VK_FORMAT_BC4_UNORM_BLOCK,
+  eBc4SnormBlock = VK_FORMAT_BC4_SNORM_BLOCK,
+  eBc5UnormBlock = VK_FORMAT_BC5_UNORM_BLOCK,
+  eBc5SnormBlock = VK_FORMAT_BC5_SNORM_BLOCK,
+  eBc6HUfloatBlock = VK_FORMAT_BC6H_UFLOAT_BLOCK,
+  eBc6HSfloatBlock = VK_FORMAT_BC6H_SFLOAT_BLOCK,
+  eBc7UnormBlock = VK_FORMAT_BC7_UNORM_BLOCK,
+  eBc7SrgbBlock = VK_FORMAT_BC7_SRGB_BLOCK,
+  eEtc2R8G8B8UnormBlock = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
+  eEtc2R8G8B8SrgbBlock = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
+  eEtc2R8G8B8A1UnormBlock = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
+  eEtc2R8G8B8A1SrgbBlock = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
+  eEtc2R8G8B8A8UnormBlock = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
+  eEtc2R8G8B8A8SrgbBlock = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
+  eEacR11UnormBlock = VK_FORMAT_EAC_R11_UNORM_BLOCK,
+  eEacR11SnormBlock = VK_FORMAT_EAC_R11_SNORM_BLOCK,
+  eEacR11G11UnormBlock = VK_FORMAT_EAC_R11G11_UNORM_BLOCK,
+  eEacR11G11SnormBlock = VK_FORMAT_EAC_R11G11_SNORM_BLOCK,
+  eAstc4x4UnormBlock = VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
+  eAstc4x4SrgbBlock = VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
+  eAstc5x4UnormBlock = VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
+  eAstc5x4SrgbBlock = VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
+  eAstc5x5UnormBlock = VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
+  eAstc5x5SrgbBlock = VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
+  eAstc6x5UnormBlock = VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
+  eAstc6x5SrgbBlock = VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
+  eAstc6x6UnormBlock = VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
+  eAstc6x6SrgbBlock = VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
+  eAstc8x5UnormBlock = VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
+  eAstc8x5SrgbBlock = VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
+  eAstc8x6UnormBlock = VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
+  eAstc8x6SrgbBlock = VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
+  eAstc8x8UnormBlock = VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
+  eAstc8x8SrgbBlock = VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
+  eAstc10x5UnormBlock = VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
+  eAstc10x5SrgbBlock = VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
+  eAstc10x6UnormBlock = VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
+  eAstc10x6SrgbBlock = VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
+  eAstc10x8UnormBlock = VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
+  eAstc10x8SrgbBlock = VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
+  eAstc10x10UnormBlock = VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
+  eAstc10x10SrgbBlock = VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
+  eAstc12x10UnormBlock = VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
+  eAstc12x10SrgbBlock = VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
+  eAstc12x12UnormBlock = VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
+  eAstc12x12SrgbBlock = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
+  eG8B8G8R8422Unorm = VK_FORMAT_G8B8G8R8_422_UNORM,
+  eB8G8R8G8422Unorm = VK_FORMAT_B8G8R8G8_422_UNORM,
+  eG8B8R83Plane420Unorm = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
+  eG8B8R82Plane420Unorm = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
+  eG8B8R83Plane422Unorm = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
+  eG8B8R82Plane422Unorm = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
+  eG8B8R83Plane444Unorm = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
+  eR10X6UnormPack16 = VK_FORMAT_R10X6_UNORM_PACK16,
+  eR10X6G10X6Unorm2Pack16 = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
+  eR10X6G10X6B10X6A10X6Unorm4Pack16 =
+      VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
+  eG10X6B10X6G10X6R10X6422Unorm4Pack16 =
+      VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
+  eB10X6G10X6R10X6G10X6422Unorm4Pack16 =
+      VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
+  eG10X6B10X6R10X63Plane420Unorm3Pack16 =
+      VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
+  eG10X6B10X6R10X62Plane420Unorm3Pack16 =
+      VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
+  eG10X6B10X6R10X63Plane422Unorm3Pack16 =
+      VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
+  eG10X6B10X6R10X62Plane422Unorm3Pack16 =
+      VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
+  eG10X6B10X6R10X63Plane444Unorm3Pack16 =
+      VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
+  eR12X4UnormPack16 = VK_FORMAT_R12X4_UNORM_PACK16,
+  eR12X4G12X4Unorm2Pack16 = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
+  eR12X4G12X4B12X4A12X4Unorm4Pack16 =
+      VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
+  eG12X4B12X4G12X4R12X4422Unorm4Pack16 =
+      VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
+  eB12X4G12X4R12X4G12X4422Unorm4Pack16 =
+      VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
+  eG12X4B12X4R12X43Plane420Unorm3Pack16 =
+      VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
+  eG12X4B12X4R12X42Plane420Unorm3Pack16 =
+      VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
+  eG12X4B12X4R12X43Plane422Unorm3Pack16 =
+      VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
+  eG12X4B12X4R12X42Plane422Unorm3Pack16 =
+      VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
+  eG12X4B12X4R12X43Plane444Unorm3Pack16 =
+      VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
+  eG16B16G16R16422Unorm = VK_FORMAT_G16B16G16R16_422_UNORM,
+  eB16G16R16G16422Unorm = VK_FORMAT_B16G16R16G16_422_UNORM,
+  eG16B16R163Plane420Unorm = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
+  eG16B16R162Plane420Unorm = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
+  eG16B16R163Plane422Unorm = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
+  eG16B16R162Plane422Unorm = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
+  eG16B16R163Plane444Unorm = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
+  ePvrtc12BppUnormBlockIMG = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,
+  ePvrtc14BppUnormBlockIMG = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,
+  ePvrtc22BppUnormBlockIMG = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,
+  ePvrtc24BppUnormBlockIMG = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,
+  ePvrtc12BppSrgbBlockIMG = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,
+  ePvrtc14BppSrgbBlockIMG = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,
+  ePvrtc22BppSrgbBlockIMG = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,
+  ePvrtc24BppSrgbBlockIMG = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG,
+  eAstc4x4SfloatBlockEXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT,
+  eAstc5x4SfloatBlockEXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT,
+  eAstc5x5SfloatBlockEXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT,
+  eAstc6x5SfloatBlockEXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT,
+  eAstc6x6SfloatBlockEXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT,
+  eAstc8x5SfloatBlockEXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT,
+  eAstc8x6SfloatBlockEXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT,
+  eAstc8x8SfloatBlockEXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT,
+  eAstc10x5SfloatBlockEXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT,
+  eAstc10x6SfloatBlockEXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT,
+  eAstc10x8SfloatBlockEXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT,
+  eAstc10x10SfloatBlockEXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT,
+  eAstc12x10SfloatBlockEXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT,
+  eAstc12x12SfloatBlockEXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT,
+  eA4R4G4B4UnormPack16EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT,
+  eA4B4G4R4UnormPack16EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT,
+  eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR =
+      VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
+  eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR =
+      VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
+  eB16G16R16G16422UnormKHR = VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
+  eB8G8R8G8422UnormKHR = VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
+  eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR =
+      VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
+  eG10X6B10X6R10X62Plane420Unorm3Pack16KHR =
+      VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
+  eG10X6B10X6R10X62Plane422Unorm3Pack16KHR =
+      VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
+  eG10X6B10X6R10X63Plane420Unorm3Pack16KHR =
+      VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
+  eG10X6B10X6R10X63Plane422Unorm3Pack16KHR =
+      VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
+  eG10X6B10X6R10X63Plane444Unorm3Pack16KHR =
+      VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
+  eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR =
+      VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
+  eG12X4B12X4R12X42Plane420Unorm3Pack16KHR =
+      VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
+  eG12X4B12X4R12X42Plane422Unorm3Pack16KHR =
+      VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
+  eG12X4B12X4R12X43Plane420Unorm3Pack16KHR =
+      VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
+  eG12X4B12X4R12X43Plane422Unorm3Pack16KHR =
+      VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
+  eG12X4B12X4R12X43Plane444Unorm3Pack16KHR =
+      VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
+  eG16B16G16R16422UnormKHR = VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
+  eG16B16R162Plane420UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
+  eG16B16R162Plane422UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
+  eG16B16R163Plane420UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
+  eG16B16R163Plane422UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
+  eG16B16R163Plane444UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,
+  eG8B8G8R8422UnormKHR = VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
+  eG8B8R82Plane420UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
+  eG8B8R82Plane422UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
+  eG8B8R83Plane420UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
+  eG8B8R83Plane422UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
+  eG8B8R83Plane444UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
+  eR10X6G10X6B10X6A10X6Unorm4Pack16KHR =
+      VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
+  eR10X6G10X6Unorm2Pack16KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
+  eR10X6UnormPack16KHR = VK_FORMAT_R10X6_UNORM_PACK16_KHR,
+  eR12X4G12X4B12X4A12X4Unorm4Pack16KHR =
+      VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
+  eR12X4G12X4Unorm2Pack16KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
+  eR12X4UnormPack16KHR = VK_FORMAT_R12X4_UNORM_PACK16_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(Format value) {
+  switch (value) {
+  case Format::eUndefined:
+    return "Undefined";
+  case Format::eR4G4UnormPack8:
+    return "R4G4UnormPack8";
+  case Format::eR4G4B4A4UnormPack16:
+    return "R4G4B4A4UnormPack16";
+  case Format::eB4G4R4A4UnormPack16:
+    return "B4G4R4A4UnormPack16";
+  case Format::eR5G6B5UnormPack16:
+    return "R5G6B5UnormPack16";
+  case Format::eB5G6R5UnormPack16:
+    return "B5G6R5UnormPack16";
+  case Format::eR5G5B5A1UnormPack16:
+    return "R5G5B5A1UnormPack16";
+  case Format::eB5G5R5A1UnormPack16:
+    return "B5G5R5A1UnormPack16";
+  case Format::eA1R5G5B5UnormPack16:
+    return "A1R5G5B5UnormPack16";
+  case Format::eR8Unorm:
+    return "R8Unorm";
+  case Format::eR8Snorm:
+    return "R8Snorm";
+  case Format::eR8Uscaled:
+    return "R8Uscaled";
+  case Format::eR8Sscaled:
+    return "R8Sscaled";
+  case Format::eR8Uint:
+    return "R8Uint";
+  case Format::eR8Sint:
+    return "R8Sint";
+  case Format::eR8Srgb:
+    return "R8Srgb";
+  case Format::eR8G8Unorm:
+    return "R8G8Unorm";
+  case Format::eR8G8Snorm:
+    return "R8G8Snorm";
+  case Format::eR8G8Uscaled:
+    return "R8G8Uscaled";
+  case Format::eR8G8Sscaled:
+    return "R8G8Sscaled";
+  case Format::eR8G8Uint:
+    return "R8G8Uint";
+  case Format::eR8G8Sint:
+    return "R8G8Sint";
+  case Format::eR8G8Srgb:
+    return "R8G8Srgb";
+  case Format::eR8G8B8Unorm:
+    return "R8G8B8Unorm";
+  case Format::eR8G8B8Snorm:
+    return "R8G8B8Snorm";
+  case Format::eR8G8B8Uscaled:
+    return "R8G8B8Uscaled";
+  case Format::eR8G8B8Sscaled:
+    return "R8G8B8Sscaled";
+  case Format::eR8G8B8Uint:
+    return "R8G8B8Uint";
+  case Format::eR8G8B8Sint:
+    return "R8G8B8Sint";
+  case Format::eR8G8B8Srgb:
+    return "R8G8B8Srgb";
+  case Format::eB8G8R8Unorm:
+    return "B8G8R8Unorm";
+  case Format::eB8G8R8Snorm:
+    return "B8G8R8Snorm";
+  case Format::eB8G8R8Uscaled:
+    return "B8G8R8Uscaled";
+  case Format::eB8G8R8Sscaled:
+    return "B8G8R8Sscaled";
+  case Format::eB8G8R8Uint:
+    return "B8G8R8Uint";
+  case Format::eB8G8R8Sint:
+    return "B8G8R8Sint";
+  case Format::eB8G8R8Srgb:
+    return "B8G8R8Srgb";
+  case Format::eR8G8B8A8Unorm:
+    return "R8G8B8A8Unorm";
+  case Format::eR8G8B8A8Snorm:
+    return "R8G8B8A8Snorm";
+  case Format::eR8G8B8A8Uscaled:
+    return "R8G8B8A8Uscaled";
+  case Format::eR8G8B8A8Sscaled:
+    return "R8G8B8A8Sscaled";
+  case Format::eR8G8B8A8Uint:
+    return "R8G8B8A8Uint";
+  case Format::eR8G8B8A8Sint:
+    return "R8G8B8A8Sint";
+  case Format::eR8G8B8A8Srgb:
+    return "R8G8B8A8Srgb";
+  case Format::eB8G8R8A8Unorm:
+    return "B8G8R8A8Unorm";
+  case Format::eB8G8R8A8Snorm:
+    return "B8G8R8A8Snorm";
+  case Format::eB8G8R8A8Uscaled:
+    return "B8G8R8A8Uscaled";
+  case Format::eB8G8R8A8Sscaled:
+    return "B8G8R8A8Sscaled";
+  case Format::eB8G8R8A8Uint:
+    return "B8G8R8A8Uint";
+  case Format::eB8G8R8A8Sint:
+    return "B8G8R8A8Sint";
+  case Format::eB8G8R8A8Srgb:
+    return "B8G8R8A8Srgb";
+  case Format::eA8B8G8R8UnormPack32:
+    return "A8B8G8R8UnormPack32";
+  case Format::eA8B8G8R8SnormPack32:
+    return "A8B8G8R8SnormPack32";
+  case Format::eA8B8G8R8UscaledPack32:
+    return "A8B8G8R8UscaledPack32";
+  case Format::eA8B8G8R8SscaledPack32:
+    return "A8B8G8R8SscaledPack32";
+  case Format::eA8B8G8R8UintPack32:
+    return "A8B8G8R8UintPack32";
+  case Format::eA8B8G8R8SintPack32:
+    return "A8B8G8R8SintPack32";
+  case Format::eA8B8G8R8SrgbPack32:
+    return "A8B8G8R8SrgbPack32";
+  case Format::eA2R10G10B10UnormPack32:
+    return "A2R10G10B10UnormPack32";
+  case Format::eA2R10G10B10SnormPack32:
+    return "A2R10G10B10SnormPack32";
+  case Format::eA2R10G10B10UscaledPack32:
+    return "A2R10G10B10UscaledPack32";
+  case Format::eA2R10G10B10SscaledPack32:
+    return "A2R10G10B10SscaledPack32";
+  case Format::eA2R10G10B10UintPack32:
+    return "A2R10G10B10UintPack32";
+  case Format::eA2R10G10B10SintPack32:
+    return "A2R10G10B10SintPack32";
+  case Format::eA2B10G10R10UnormPack32:
+    return "A2B10G10R10UnormPack32";
+  case Format::eA2B10G10R10SnormPack32:
+    return "A2B10G10R10SnormPack32";
+  case Format::eA2B10G10R10UscaledPack32:
+    return "A2B10G10R10UscaledPack32";
+  case Format::eA2B10G10R10SscaledPack32:
+    return "A2B10G10R10SscaledPack32";
+  case Format::eA2B10G10R10UintPack32:
+    return "A2B10G10R10UintPack32";
+  case Format::eA2B10G10R10SintPack32:
+    return "A2B10G10R10SintPack32";
+  case Format::eR16Unorm:
+    return "R16Unorm";
+  case Format::eR16Snorm:
+    return "R16Snorm";
+  case Format::eR16Uscaled:
+    return "R16Uscaled";
+  case Format::eR16Sscaled:
+    return "R16Sscaled";
+  case Format::eR16Uint:
+    return "R16Uint";
+  case Format::eR16Sint:
+    return "R16Sint";
+  case Format::eR16Sfloat:
+    return "R16Sfloat";
+  case Format::eR16G16Unorm:
+    return "R16G16Unorm";
+  case Format::eR16G16Snorm:
+    return "R16G16Snorm";
+  case Format::eR16G16Uscaled:
+    return "R16G16Uscaled";
+  case Format::eR16G16Sscaled:
+    return "R16G16Sscaled";
+  case Format::eR16G16Uint:
+    return "R16G16Uint";
+  case Format::eR16G16Sint:
+    return "R16G16Sint";
+  case Format::eR16G16Sfloat:
+    return "R16G16Sfloat";
+  case Format::eR16G16B16Unorm:
+    return "R16G16B16Unorm";
+  case Format::eR16G16B16Snorm:
+    return "R16G16B16Snorm";
+  case Format::eR16G16B16Uscaled:
+    return "R16G16B16Uscaled";
+  case Format::eR16G16B16Sscaled:
+    return "R16G16B16Sscaled";
+  case Format::eR16G16B16Uint:
+    return "R16G16B16Uint";
+  case Format::eR16G16B16Sint:
+    return "R16G16B16Sint";
+  case Format::eR16G16B16Sfloat:
+    return "R16G16B16Sfloat";
+  case Format::eR16G16B16A16Unorm:
+    return "R16G16B16A16Unorm";
+  case Format::eR16G16B16A16Snorm:
+    return "R16G16B16A16Snorm";
+  case Format::eR16G16B16A16Uscaled:
+    return "R16G16B16A16Uscaled";
+  case Format::eR16G16B16A16Sscaled:
+    return "R16G16B16A16Sscaled";
+  case Format::eR16G16B16A16Uint:
+    return "R16G16B16A16Uint";
+  case Format::eR16G16B16A16Sint:
+    return "R16G16B16A16Sint";
+  case Format::eR16G16B16A16Sfloat:
+    return "R16G16B16A16Sfloat";
+  case Format::eR32Uint:
+    return "R32Uint";
+  case Format::eR32Sint:
+    return "R32Sint";
+  case Format::eR32Sfloat:
+    return "R32Sfloat";
+  case Format::eR32G32Uint:
+    return "R32G32Uint";
+  case Format::eR32G32Sint:
+    return "R32G32Sint";
+  case Format::eR32G32Sfloat:
+    return "R32G32Sfloat";
+  case Format::eR32G32B32Uint:
+    return "R32G32B32Uint";
+  case Format::eR32G32B32Sint:
+    return "R32G32B32Sint";
+  case Format::eR32G32B32Sfloat:
+    return "R32G32B32Sfloat";
+  case Format::eR32G32B32A32Uint:
+    return "R32G32B32A32Uint";
+  case Format::eR32G32B32A32Sint:
+    return "R32G32B32A32Sint";
+  case Format::eR32G32B32A32Sfloat:
+    return "R32G32B32A32Sfloat";
+  case Format::eR64Uint:
+    return "R64Uint";
+  case Format::eR64Sint:
+    return "R64Sint";
+  case Format::eR64Sfloat:
+    return "R64Sfloat";
+  case Format::eR64G64Uint:
+    return "R64G64Uint";
+  case Format::eR64G64Sint:
+    return "R64G64Sint";
+  case Format::eR64G64Sfloat:
+    return "R64G64Sfloat";
+  case Format::eR64G64B64Uint:
+    return "R64G64B64Uint";
+  case Format::eR64G64B64Sint:
+    return "R64G64B64Sint";
+  case Format::eR64G64B64Sfloat:
+    return "R64G64B64Sfloat";
+  case Format::eR64G64B64A64Uint:
+    return "R64G64B64A64Uint";
+  case Format::eR64G64B64A64Sint:
+    return "R64G64B64A64Sint";
+  case Format::eR64G64B64A64Sfloat:
+    return "R64G64B64A64Sfloat";
+  case Format::eB10G11R11UfloatPack32:
+    return "B10G11R11UfloatPack32";
+  case Format::eE5B9G9R9UfloatPack32:
+    return "E5B9G9R9UfloatPack32";
+  case Format::eD16Unorm:
+    return "D16Unorm";
+  case Format::eX8D24UnormPack32:
+    return "X8D24UnormPack32";
+  case Format::eD32Sfloat:
+    return "D32Sfloat";
+  case Format::eS8Uint:
+    return "S8Uint";
+  case Format::eD16UnormS8Uint:
+    return "D16UnormS8Uint";
+  case Format::eD24UnormS8Uint:
+    return "D24UnormS8Uint";
+  case Format::eD32SfloatS8Uint:
+    return "D32SfloatS8Uint";
+  case Format::eBc1RgbUnormBlock:
+    return "Bc1RgbUnormBlock";
+  case Format::eBc1RgbSrgbBlock:
+    return "Bc1RgbSrgbBlock";
+  case Format::eBc1RgbaUnormBlock:
+    return "Bc1RgbaUnormBlock";
+  case Format::eBc1RgbaSrgbBlock:
+    return "Bc1RgbaSrgbBlock";
+  case Format::eBc2UnormBlock:
+    return "Bc2UnormBlock";
+  case Format::eBc2SrgbBlock:
+    return "Bc2SrgbBlock";
+  case Format::eBc3UnormBlock:
+    return "Bc3UnormBlock";
+  case Format::eBc3SrgbBlock:
+    return "Bc3SrgbBlock";
+  case Format::eBc4UnormBlock:
+    return "Bc4UnormBlock";
+  case Format::eBc4SnormBlock:
+    return "Bc4SnormBlock";
+  case Format::eBc5UnormBlock:
+    return "Bc5UnormBlock";
+  case Format::eBc5SnormBlock:
+    return "Bc5SnormBlock";
+  case Format::eBc6HUfloatBlock:
+    return "Bc6HUfloatBlock";
+  case Format::eBc6HSfloatBlock:
+    return "Bc6HSfloatBlock";
+  case Format::eBc7UnormBlock:
+    return "Bc7UnormBlock";
+  case Format::eBc7SrgbBlock:
+    return "Bc7SrgbBlock";
+  case Format::eEtc2R8G8B8UnormBlock:
+    return "Etc2R8G8B8UnormBlock";
+  case Format::eEtc2R8G8B8SrgbBlock:
+    return "Etc2R8G8B8SrgbBlock";
+  case Format::eEtc2R8G8B8A1UnormBlock:
+    return "Etc2R8G8B8A1UnormBlock";
+  case Format::eEtc2R8G8B8A1SrgbBlock:
+    return "Etc2R8G8B8A1SrgbBlock";
+  case Format::eEtc2R8G8B8A8UnormBlock:
+    return "Etc2R8G8B8A8UnormBlock";
+  case Format::eEtc2R8G8B8A8SrgbBlock:
+    return "Etc2R8G8B8A8SrgbBlock";
+  case Format::eEacR11UnormBlock:
+    return "EacR11UnormBlock";
+  case Format::eEacR11SnormBlock:
+    return "EacR11SnormBlock";
+  case Format::eEacR11G11UnormBlock:
+    return "EacR11G11UnormBlock";
+  case Format::eEacR11G11SnormBlock:
+    return "EacR11G11SnormBlock";
+  case Format::eAstc4x4UnormBlock:
+    return "Astc4x4UnormBlock";
+  case Format::eAstc4x4SrgbBlock:
+    return "Astc4x4SrgbBlock";
+  case Format::eAstc5x4UnormBlock:
+    return "Astc5x4UnormBlock";
+  case Format::eAstc5x4SrgbBlock:
+    return "Astc5x4SrgbBlock";
+  case Format::eAstc5x5UnormBlock:
+    return "Astc5x5UnormBlock";
+  case Format::eAstc5x5SrgbBlock:
+    return "Astc5x5SrgbBlock";
+  case Format::eAstc6x5UnormBlock:
+    return "Astc6x5UnormBlock";
+  case Format::eAstc6x5SrgbBlock:
+    return "Astc6x5SrgbBlock";
+  case Format::eAstc6x6UnormBlock:
+    return "Astc6x6UnormBlock";
+  case Format::eAstc6x6SrgbBlock:
+    return "Astc6x6SrgbBlock";
+  case Format::eAstc8x5UnormBlock:
+    return "Astc8x5UnormBlock";
+  case Format::eAstc8x5SrgbBlock:
+    return "Astc8x5SrgbBlock";
+  case Format::eAstc8x6UnormBlock:
+    return "Astc8x6UnormBlock";
+  case Format::eAstc8x6SrgbBlock:
+    return "Astc8x6SrgbBlock";
+  case Format::eAstc8x8UnormBlock:
+    return "Astc8x8UnormBlock";
+  case Format::eAstc8x8SrgbBlock:
+    return "Astc8x8SrgbBlock";
+  case Format::eAstc10x5UnormBlock:
+    return "Astc10x5UnormBlock";
+  case Format::eAstc10x5SrgbBlock:
+    return "Astc10x5SrgbBlock";
+  case Format::eAstc10x6UnormBlock:
+    return "Astc10x6UnormBlock";
+  case Format::eAstc10x6SrgbBlock:
+    return "Astc10x6SrgbBlock";
+  case Format::eAstc10x8UnormBlock:
+    return "Astc10x8UnormBlock";
+  case Format::eAstc10x8SrgbBlock:
+    return "Astc10x8SrgbBlock";
+  case Format::eAstc10x10UnormBlock:
+    return "Astc10x10UnormBlock";
+  case Format::eAstc10x10SrgbBlock:
+    return "Astc10x10SrgbBlock";
+  case Format::eAstc12x10UnormBlock:
+    return "Astc12x10UnormBlock";
+  case Format::eAstc12x10SrgbBlock:
+    return "Astc12x10SrgbBlock";
+  case Format::eAstc12x12UnormBlock:
+    return "Astc12x12UnormBlock";
+  case Format::eAstc12x12SrgbBlock:
+    return "Astc12x12SrgbBlock";
+  case Format::eG8B8G8R8422Unorm:
+    return "G8B8G8R8422Unorm";
+  case Format::eB8G8R8G8422Unorm:
+    return "B8G8R8G8422Unorm";
+  case Format::eG8B8R83Plane420Unorm:
+    return "G8B8R83Plane420Unorm";
+  case Format::eG8B8R82Plane420Unorm:
+    return "G8B8R82Plane420Unorm";
+  case Format::eG8B8R83Plane422Unorm:
+    return "G8B8R83Plane422Unorm";
+  case Format::eG8B8R82Plane422Unorm:
+    return "G8B8R82Plane422Unorm";
+  case Format::eG8B8R83Plane444Unorm:
+    return "G8B8R83Plane444Unorm";
+  case Format::eR10X6UnormPack16:
+    return "R10X6UnormPack16";
+  case Format::eR10X6G10X6Unorm2Pack16:
+    return "R10X6G10X6Unorm2Pack16";
+  case Format::eR10X6G10X6B10X6A10X6Unorm4Pack16:
+    return "R10X6G10X6B10X6A10X6Unorm4Pack16";
+  case Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16:
+    return "G10X6B10X6G10X6R10X6422Unorm4Pack16";
+  case Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16:
+    return "B10X6G10X6R10X6G10X6422Unorm4Pack16";
+  case Format::eG10X6B10X6R10X63Plane420Unorm3Pack16:
+    return "G10X6B10X6R10X63Plane420Unorm3Pack16";
+  case Format::eG10X6B10X6R10X62Plane420Unorm3Pack16:
+    return "G10X6B10X6R10X62Plane420Unorm3Pack16";
+  case Format::eG10X6B10X6R10X63Plane422Unorm3Pack16:
+    return "G10X6B10X6R10X63Plane422Unorm3Pack16";
+  case Format::eG10X6B10X6R10X62Plane422Unorm3Pack16:
+    return "G10X6B10X6R10X62Plane422Unorm3Pack16";
+  case Format::eG10X6B10X6R10X63Plane444Unorm3Pack16:
+    return "G10X6B10X6R10X63Plane444Unorm3Pack16";
+  case Format::eR12X4UnormPack16:
+    return "R12X4UnormPack16";
+  case Format::eR12X4G12X4Unorm2Pack16:
+    return "R12X4G12X4Unorm2Pack16";
+  case Format::eR12X4G12X4B12X4A12X4Unorm4Pack16:
+    return "R12X4G12X4B12X4A12X4Unorm4Pack16";
+  case Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16:
+    return "G12X4B12X4G12X4R12X4422Unorm4Pack16";
+  case Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16:
+    return "B12X4G12X4R12X4G12X4422Unorm4Pack16";
+  case Format::eG12X4B12X4R12X43Plane420Unorm3Pack16:
+    return "G12X4B12X4R12X43Plane420Unorm3Pack16";
+  case Format::eG12X4B12X4R12X42Plane420Unorm3Pack16:
+    return "G12X4B12X4R12X42Plane420Unorm3Pack16";
+  case Format::eG12X4B12X4R12X43Plane422Unorm3Pack16:
+    return "G12X4B12X4R12X43Plane422Unorm3Pack16";
+  case Format::eG12X4B12X4R12X42Plane422Unorm3Pack16:
+    return "G12X4B12X4R12X42Plane422Unorm3Pack16";
+  case Format::eG12X4B12X4R12X43Plane444Unorm3Pack16:
+    return "G12X4B12X4R12X43Plane444Unorm3Pack16";
+  case Format::eG16B16G16R16422Unorm:
+    return "G16B16G16R16422Unorm";
+  case Format::eB16G16R16G16422Unorm:
+    return "B16G16R16G16422Unorm";
+  case Format::eG16B16R163Plane420Unorm:
+    return "G16B16R163Plane420Unorm";
+  case Format::eG16B16R162Plane420Unorm:
+    return "G16B16R162Plane420Unorm";
+  case Format::eG16B16R163Plane422Unorm:
+    return "G16B16R163Plane422Unorm";
+  case Format::eG16B16R162Plane422Unorm:
+    return "G16B16R162Plane422Unorm";
+  case Format::eG16B16R163Plane444Unorm:
+    return "G16B16R163Plane444Unorm";
+  case Format::ePvrtc12BppUnormBlockIMG:
+    return "Pvrtc12BppUnormBlockIMG";
+  case Format::ePvrtc14BppUnormBlockIMG:
+    return "Pvrtc14BppUnormBlockIMG";
+  case Format::ePvrtc22BppUnormBlockIMG:
+    return "Pvrtc22BppUnormBlockIMG";
+  case Format::ePvrtc24BppUnormBlockIMG:
+    return "Pvrtc24BppUnormBlockIMG";
+  case Format::ePvrtc12BppSrgbBlockIMG:
+    return "Pvrtc12BppSrgbBlockIMG";
+  case Format::ePvrtc14BppSrgbBlockIMG:
+    return "Pvrtc14BppSrgbBlockIMG";
+  case Format::ePvrtc22BppSrgbBlockIMG:
+    return "Pvrtc22BppSrgbBlockIMG";
+  case Format::ePvrtc24BppSrgbBlockIMG:
+    return "Pvrtc24BppSrgbBlockIMG";
+  case Format::eAstc4x4SfloatBlockEXT:
+    return "Astc4x4SfloatBlockEXT";
+  case Format::eAstc5x4SfloatBlockEXT:
+    return "Astc5x4SfloatBlockEXT";
+  case Format::eAstc5x5SfloatBlockEXT:
+    return "Astc5x5SfloatBlockEXT";
+  case Format::eAstc6x5SfloatBlockEXT:
+    return "Astc6x5SfloatBlockEXT";
+  case Format::eAstc6x6SfloatBlockEXT:
+    return "Astc6x6SfloatBlockEXT";
+  case Format::eAstc8x5SfloatBlockEXT:
+    return "Astc8x5SfloatBlockEXT";
+  case Format::eAstc8x6SfloatBlockEXT:
+    return "Astc8x6SfloatBlockEXT";
+  case Format::eAstc8x8SfloatBlockEXT:
+    return "Astc8x8SfloatBlockEXT";
+  case Format::eAstc10x5SfloatBlockEXT:
+    return "Astc10x5SfloatBlockEXT";
+  case Format::eAstc10x6SfloatBlockEXT:
+    return "Astc10x6SfloatBlockEXT";
+  case Format::eAstc10x8SfloatBlockEXT:
+    return "Astc10x8SfloatBlockEXT";
+  case Format::eAstc10x10SfloatBlockEXT:
+    return "Astc10x10SfloatBlockEXT";
+  case Format::eAstc12x10SfloatBlockEXT:
+    return "Astc12x10SfloatBlockEXT";
+  case Format::eAstc12x12SfloatBlockEXT:
+    return "Astc12x12SfloatBlockEXT";
+  case Format::eA4R4G4B4UnormPack16EXT:
+    return "A4R4G4B4UnormPack16EXT";
+  case Format::eA4B4G4R4UnormPack16EXT:
+    return "A4B4G4R4UnormPack16EXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FormatFeatureFlagBits : VkFormatFeatureFlags {
+  eSampledImage = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
+  eStorageImage = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,
+  eStorageImageAtomic = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,
+  eUniformTexelBuffer = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,
+  eStorageTexelBuffer = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,
+  eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
+  eVertexBuffer = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,
+  eColorAttachment = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,
+  eColorAttachmentBlend = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,
+  eDepthStencilAttachment = VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,
+  eBlitSrc = VK_FORMAT_FEATURE_BLIT_SRC_BIT,
+  eBlitDst = VK_FORMAT_FEATURE_BLIT_DST_BIT,
+  eSampledImageFilterLinear = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
+  eTransferSrc = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
+  eTransferDst = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
+  eMidpointChromaSamples = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
+  eSampledImageYcbcrConversionLinearFilter =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
+  eSampledImageYcbcrConversionSeparateReconstructionFilter =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
+  eSampledImageYcbcrConversionChromaReconstructionExplicit =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
+  eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
+  eDisjoint = VK_FORMAT_FEATURE_DISJOINT_BIT,
+  eCositedChromaSamples = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
+  eSampledImageFilterMinmax = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
+  eSampledImageFilterCubicIMG =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
+  eAccelerationStructureVertexBufferKHR =
+      VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
+  eFragmentDensityMapEXT = VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT,
+  eFragmentShadingRateAttachmentKHR =
+      VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
+  eCositedChromaSamplesKHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,
+  eDisjointKHR = VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,
+  eMidpointChromaSamplesKHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,
+  eSampledImageFilterCubicEXT =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
+  eSampledImageFilterMinmaxEXT =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT,
+  eSampledImageYcbcrConversionChromaReconstructionExplicitKHR =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,
+  eSampledImageYcbcrConversionChromaReconstructionExplicitForceableKHR =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,
+  eSampledImageYcbcrConversionLinearFilterKHR =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,
+  eSampledImageYcbcrConversionSeparateReconstructionFilterKHR =
+      VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,
+  eTransferDstKHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,
+  eTransferSrcKHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(FormatFeatureFlagBits value) {
+  switch (value) {
+  case FormatFeatureFlagBits::eSampledImage:
+    return "SampledImage";
+  case FormatFeatureFlagBits::eStorageImage:
+    return "StorageImage";
+  case FormatFeatureFlagBits::eStorageImageAtomic:
+    return "StorageImageAtomic";
+  case FormatFeatureFlagBits::eUniformTexelBuffer:
+    return "UniformTexelBuffer";
+  case FormatFeatureFlagBits::eStorageTexelBuffer:
+    return "StorageTexelBuffer";
+  case FormatFeatureFlagBits::eStorageTexelBufferAtomic:
+    return "StorageTexelBufferAtomic";
+  case FormatFeatureFlagBits::eVertexBuffer:
+    return "VertexBuffer";
+  case FormatFeatureFlagBits::eColorAttachment:
+    return "ColorAttachment";
+  case FormatFeatureFlagBits::eColorAttachmentBlend:
+    return "ColorAttachmentBlend";
+  case FormatFeatureFlagBits::eDepthStencilAttachment:
+    return "DepthStencilAttachment";
+  case FormatFeatureFlagBits::eBlitSrc:
+    return "BlitSrc";
+  case FormatFeatureFlagBits::eBlitDst:
+    return "BlitDst";
+  case FormatFeatureFlagBits::eSampledImageFilterLinear:
+    return "SampledImageFilterLinear";
+  case FormatFeatureFlagBits::eTransferSrc:
+    return "TransferSrc";
+  case FormatFeatureFlagBits::eTransferDst:
+    return "TransferDst";
+  case FormatFeatureFlagBits::eMidpointChromaSamples:
+    return "MidpointChromaSamples";
+  case FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter:
+    return "SampledImageYcbcrConversionLinearFilter";
+  case FormatFeatureFlagBits::
+      eSampledImageYcbcrConversionSeparateReconstructionFilter:
+    return "SampledImageYcbcrConversionSeparateReconstructionFilter";
+  case FormatFeatureFlagBits::
+      eSampledImageYcbcrConversionChromaReconstructionExplicit:
+    return "SampledImageYcbcrConversionChromaReconstructionExplicit";
+  case FormatFeatureFlagBits::
+      eSampledImageYcbcrConversionChromaReconstructionExplicitForceable:
+    return "SampledImageYcbcrConversionChromaReconstructionExplicitForceable";
+  case FormatFeatureFlagBits::eDisjoint:
+    return "Disjoint";
+  case FormatFeatureFlagBits::eCositedChromaSamples:
+    return "CositedChromaSamples";
+  case FormatFeatureFlagBits::eSampledImageFilterMinmax:
+    return "SampledImageFilterMinmax";
+  case FormatFeatureFlagBits::eSampledImageFilterCubicIMG:
+    return "SampledImageFilterCubicIMG";
+  case FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR:
+    return "AccelerationStructureVertexBufferKHR";
+  case FormatFeatureFlagBits::eFragmentDensityMapEXT:
+    return "FragmentDensityMapEXT";
+  case FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR:
+    return "FragmentShadingRateAttachmentKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FragmentShadingRateCombinerOpKHR {
+  eKeep = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR,
+  eReplace = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR,
+  eMin = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR,
+  eMax = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR,
+  eMul = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(FragmentShadingRateCombinerOpKHR value) {
+  switch (value) {
+  case FragmentShadingRateCombinerOpKHR::eKeep:
+    return "Keep";
+  case FragmentShadingRateCombinerOpKHR::eReplace:
+    return "Replace";
+  case FragmentShadingRateCombinerOpKHR::eMin:
+    return "Min";
+  case FragmentShadingRateCombinerOpKHR::eMax:
+    return "Max";
+  case FragmentShadingRateCombinerOpKHR::eMul:
+    return "Mul";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FragmentShadingRateNV {
+  e1InvocationPerPixel = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV,
+  e1InvocationPer1X2Pixels =
+      VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV,
+  e1InvocationPer2X1Pixels =
+      VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV,
+  e1InvocationPer2X2Pixels =
+      VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV,
+  e1InvocationPer2X4Pixels =
+      VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV,
+  e1InvocationPer4X2Pixels =
+      VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV,
+  e1InvocationPer4X4Pixels =
+      VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV,
+  e2InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
+  e4InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
+  e8InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV,
+  e16InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV,
+  eNoInvocations = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(FragmentShadingRateNV value) {
+  switch (value) {
+  case FragmentShadingRateNV::e1InvocationPerPixel:
+    return "1InvocationPerPixel";
+  case FragmentShadingRateNV::e1InvocationPer1X2Pixels:
+    return "1InvocationPer1X2Pixels";
+  case FragmentShadingRateNV::e1InvocationPer2X1Pixels:
+    return "1InvocationPer2X1Pixels";
+  case FragmentShadingRateNV::e1InvocationPer2X2Pixels:
+    return "1InvocationPer2X2Pixels";
+  case FragmentShadingRateNV::e1InvocationPer2X4Pixels:
+    return "1InvocationPer2X4Pixels";
+  case FragmentShadingRateNV::e1InvocationPer4X2Pixels:
+    return "1InvocationPer4X2Pixels";
+  case FragmentShadingRateNV::e1InvocationPer4X4Pixels:
+    return "1InvocationPer4X4Pixels";
+  case FragmentShadingRateNV::e2InvocationsPerPixel:
+    return "2InvocationsPerPixel";
+  case FragmentShadingRateNV::e4InvocationsPerPixel:
+    return "4InvocationsPerPixel";
+  case FragmentShadingRateNV::e8InvocationsPerPixel:
+    return "8InvocationsPerPixel";
+  case FragmentShadingRateNV::e16InvocationsPerPixel:
+    return "16InvocationsPerPixel";
+  case FragmentShadingRateNV::eNoInvocations:
+    return "NoInvocations";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FragmentShadingRateTypeNV {
+  eFragmentSize = VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV,
+  eEnums = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(FragmentShadingRateTypeNV value) {
+  switch (value) {
+  case FragmentShadingRateTypeNV::eFragmentSize:
+    return "FragmentSize";
+  case FragmentShadingRateTypeNV::eEnums:
+    return "Enums";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FramebufferCreateFlagBits : VkFramebufferCreateFlags {
+  eImageless = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
+  eImagelessKHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(FramebufferCreateFlagBits value) {
+  switch (value) {
+  case FramebufferCreateFlagBits::eImageless:
+    return "Imageless";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class FrontFace {
+  eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE,
+  eClockwise = VK_FRONT_FACE_CLOCKWISE
+};
+
+VULKAN_HPP_INLINE std::string to_string(FrontFace value) {
+  switch (value) {
+  case FrontFace::eCounterClockwise:
+    return "CounterClockwise";
+  case FrontFace::eClockwise:
+    return "Clockwise";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+enum class FullScreenExclusiveEXT {
+  eDefault = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
+  eAllowed = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT,
+  eDisallowed = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT,
+  eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(FullScreenExclusiveEXT value) {
+  switch (value) {
+  case FullScreenExclusiveEXT::eDefault:
+    return "Default";
+  case FullScreenExclusiveEXT::eAllowed:
+    return "Allowed";
+  case FullScreenExclusiveEXT::eDisallowed:
+    return "Disallowed";
+  case FullScreenExclusiveEXT::eApplicationControlled:
+    return "ApplicationControlled";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+enum class GeometryFlagBitsKHR : VkGeometryFlagsKHR {
+  eOpaque = VK_GEOMETRY_OPAQUE_BIT_KHR,
+  eNoDuplicateAnyHitInvocation =
+      VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
+};
+using GeometryFlagBitsNV = GeometryFlagBitsKHR;
+
+VULKAN_HPP_INLINE std::string to_string(GeometryFlagBitsKHR value) {
+  switch (value) {
+  case GeometryFlagBitsKHR::eOpaque:
+    return "Opaque";
+  case GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation:
+    return "NoDuplicateAnyHitInvocation";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR {
+  eTriangleFacingCullDisable =
+      VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
+  eTriangleFrontCounterclockwise =
+      VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
+  eForceOpaque = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
+  eForceNoOpaque = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
+  eTriangleCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV
+};
+using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
+
+VULKAN_HPP_INLINE std::string to_string(GeometryInstanceFlagBitsKHR value) {
+  switch (value) {
+  case GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable:
+    return "TriangleFacingCullDisable";
+  case GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise:
+    return "TriangleFrontCounterclockwise";
+  case GeometryInstanceFlagBitsKHR::eForceOpaque:
+    return "ForceOpaque";
+  case GeometryInstanceFlagBitsKHR::eForceNoOpaque:
+    return "ForceNoOpaque";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class GeometryTypeKHR {
+  eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
+  eAabbs = VK_GEOMETRY_TYPE_AABBS_KHR,
+  eInstances = VK_GEOMETRY_TYPE_INSTANCES_KHR
+};
+using GeometryTypeNV = GeometryTypeKHR;
+
+VULKAN_HPP_INLINE std::string to_string(GeometryTypeKHR value) {
+  switch (value) {
+  case GeometryTypeKHR::eTriangles:
+    return "Triangles";
+  case GeometryTypeKHR::eAabbs:
+    return "Aabbs";
+  case GeometryTypeKHR::eInstances:
+    return "Instances";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ImageAspectFlagBits : VkImageAspectFlags {
+  eColor = VK_IMAGE_ASPECT_COLOR_BIT,
+  eDepth = VK_IMAGE_ASPECT_DEPTH_BIT,
+  eStencil = VK_IMAGE_ASPECT_STENCIL_BIT,
+  eMetadata = VK_IMAGE_ASPECT_METADATA_BIT,
+  ePlane0 = VK_IMAGE_ASPECT_PLANE_0_BIT,
+  ePlane1 = VK_IMAGE_ASPECT_PLANE_1_BIT,
+  ePlane2 = VK_IMAGE_ASPECT_PLANE_2_BIT,
+  eMemoryPlane0EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,
+  eMemoryPlane1EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,
+  eMemoryPlane2EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,
+  eMemoryPlane3EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,
+  ePlane0KHR = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,
+  ePlane1KHR = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,
+  ePlane2KHR = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageAspectFlagBits value) {
+  switch (value) {
+  case ImageAspectFlagBits::eColor:
+    return "Color";
+  case ImageAspectFlagBits::eDepth:
+    return "Depth";
+  case ImageAspectFlagBits::eStencil:
+    return "Stencil";
+  case ImageAspectFlagBits::eMetadata:
+    return "Metadata";
+  case ImageAspectFlagBits::ePlane0:
+    return "Plane0";
+  case ImageAspectFlagBits::ePlane1:
+    return "Plane1";
+  case ImageAspectFlagBits::ePlane2:
+    return "Plane2";
+  case ImageAspectFlagBits::eMemoryPlane0EXT:
+    return "MemoryPlane0EXT";
+  case ImageAspectFlagBits::eMemoryPlane1EXT:
+    return "MemoryPlane1EXT";
+  case ImageAspectFlagBits::eMemoryPlane2EXT:
+    return "MemoryPlane2EXT";
+  case ImageAspectFlagBits::eMemoryPlane3EXT:
+    return "MemoryPlane3EXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+enum class
+    ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA {
+      eCpuReadRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA,
+      eCpuReadOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA,
+      eCpuWriteRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA,
+      eCpuWriteOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA,
+      eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA
+    };
+
+VULKAN_HPP_INLINE std::string
+to_string(ImageConstraintsInfoFlagBitsFUCHSIA value) {
+  switch (value) {
+  case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely:
+    return "CpuReadRarely";
+  case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften:
+    return "CpuReadOften";
+  case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely:
+    return "CpuWriteRarely";
+  case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften:
+    return "CpuWriteOften";
+  case ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional:
+    return "ProtectedOptional";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+enum class ImageCreateFlagBits : VkImageCreateFlags {
+  // clang-format off
+      eSparseBinding = VK_IMAGE_CREATE_SPARSE_BINDING_BIT
+    , eSparseResidency = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
+    , eSparseAliased = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT
+    , eMutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
+    , eCubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT
+    , eAlias = VK_IMAGE_CREATE_ALIAS_BIT
+    , eSplitInstanceBindRegions = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT
+    , e2DArrayCompatible = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
+    , eBlockTexelViewCompatible = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT
+    , eExtendedUsage = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
+    , eProtected = VK_IMAGE_CREATE_PROTECTED_BIT
+    , eDisjoint = VK_IMAGE_CREATE_DISJOINT_BIT
+    , 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
+#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
+  // clang-format on
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageCreateFlagBits value) {
+  switch (value) {
+  case ImageCreateFlagBits::eSparseBinding:
+    return "SparseBinding";
+  case ImageCreateFlagBits::eSparseResidency:
+    return "SparseResidency";
+  case ImageCreateFlagBits::eSparseAliased:
+    return "SparseAliased";
+  case ImageCreateFlagBits::eMutableFormat:
+    return "MutableFormat";
+  case ImageCreateFlagBits::eCubeCompatible:
+    return "CubeCompatible";
+  case ImageCreateFlagBits::eAlias:
+    return "Alias";
+  case ImageCreateFlagBits::eSplitInstanceBindRegions:
+    return "SplitInstanceBindRegions";
+  case ImageCreateFlagBits::e2DArrayCompatible:
+    return "2DArrayCompatible";
+  case ImageCreateFlagBits::eBlockTexelViewCompatible:
+    return "BlockTexelViewCompatible";
+  case ImageCreateFlagBits::eExtendedUsage:
+    return "ExtendedUsage";
+  case ImageCreateFlagBits::eProtected:
+    return "Protected";
+  case ImageCreateFlagBits::eDisjoint:
+    return "Disjoint";
+  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)) +
+           " )";
+  }
+}
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+enum class
+    ImageFormatConstraintsFlagBitsFUCHSIA : VkImageFormatConstraintsFlagsFUCHSIA {
+    };
+
+VULKAN_HPP_INLINE std::string to_string(ImageFormatConstraintsFlagBitsFUCHSIA) {
+  return "(void)";
+}
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+enum class ImageLayout {
+  eUndefined = VK_IMAGE_LAYOUT_UNDEFINED,
+  eGeneral = VK_IMAGE_LAYOUT_GENERAL,
+  eColorAttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+  eDepthStencilAttachmentOptimal =
+      VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
+  eDepthStencilReadOnlyOptimal =
+      VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
+  eShaderReadOnlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
+  eTransferSrcOptimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
+  eTransferDstOptimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
+  ePreinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED,
+  eDepthReadOnlyStencilAttachmentOptimal =
+      VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
+  eDepthAttachmentStencilReadOnlyOptimal =
+      VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+  eDepthAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
+  eDepthReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
+  eStencilAttachmentOptimal = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
+  eStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
+  ePresentSrcKHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
+  eSharedPresentKHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR,
+  eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
+  eFragmentDensityMapOptimalEXT =
+      VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
+  eReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR,
+  eAttachmentOptimalKHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR,
+  eDepthAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR,
+  eDepthAttachmentStencilReadOnlyOptimalKHR =
+      VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR,
+  eDepthReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR,
+  eDepthReadOnlyStencilAttachmentOptimalKHR =
+      VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,
+  eFragmentShadingRateAttachmentOptimalKHR =
+      VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
+  eStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR,
+  eStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageLayout value) {
+  switch (value) {
+  case ImageLayout::eUndefined:
+    return "Undefined";
+  case ImageLayout::eGeneral:
+    return "General";
+  case ImageLayout::eColorAttachmentOptimal:
+    return "ColorAttachmentOptimal";
+  case ImageLayout::eDepthStencilAttachmentOptimal:
+    return "DepthStencilAttachmentOptimal";
+  case ImageLayout::eDepthStencilReadOnlyOptimal:
+    return "DepthStencilReadOnlyOptimal";
+  case ImageLayout::eShaderReadOnlyOptimal:
+    return "ShaderReadOnlyOptimal";
+  case ImageLayout::eTransferSrcOptimal:
+    return "TransferSrcOptimal";
+  case ImageLayout::eTransferDstOptimal:
+    return "TransferDstOptimal";
+  case ImageLayout::ePreinitialized:
+    return "Preinitialized";
+  case ImageLayout::eDepthReadOnlyStencilAttachmentOptimal:
+    return "DepthReadOnlyStencilAttachmentOptimal";
+  case ImageLayout::eDepthAttachmentStencilReadOnlyOptimal:
+    return "DepthAttachmentStencilReadOnlyOptimal";
+  case ImageLayout::eDepthAttachmentOptimal:
+    return "DepthAttachmentOptimal";
+  case ImageLayout::eDepthReadOnlyOptimal:
+    return "DepthReadOnlyOptimal";
+  case ImageLayout::eStencilAttachmentOptimal:
+    return "StencilAttachmentOptimal";
+  case ImageLayout::eStencilReadOnlyOptimal:
+    return "StencilReadOnlyOptimal";
+  case ImageLayout::ePresentSrcKHR:
+    return "PresentSrcKHR";
+  case ImageLayout::eSharedPresentKHR:
+    return "SharedPresentKHR";
+  case ImageLayout::eShadingRateOptimalNV:
+    return "ShadingRateOptimalNV";
+  case ImageLayout::eFragmentDensityMapOptimalEXT:
+    return "FragmentDensityMapOptimalEXT";
+  case ImageLayout::eReadOnlyOptimalKHR:
+    return "ReadOnlyOptimalKHR";
+  case ImageLayout::eAttachmentOptimalKHR:
+    return "AttachmentOptimalKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ImageTiling {
+  eOptimal = VK_IMAGE_TILING_OPTIMAL,
+  eLinear = VK_IMAGE_TILING_LINEAR,
+  eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageTiling value) {
+  switch (value) {
+  case ImageTiling::eOptimal:
+    return "Optimal";
+  case ImageTiling::eLinear:
+    return "Linear";
+  case ImageTiling::eDrmFormatModifierEXT:
+    return "DrmFormatModifierEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ImageType {
+  e1D = VK_IMAGE_TYPE_1D,
+  e2D = VK_IMAGE_TYPE_2D,
+  e3D = VK_IMAGE_TYPE_3D
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageType value) {
+  switch (value) {
+  case ImageType::e1D:
+    return "1D";
+  case ImageType::e2D:
+    return "2D";
+  case ImageType::e3D:
+    return "3D";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ImageUsageFlagBits : VkImageUsageFlags {
+  eTransferSrc = VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
+  eTransferDst = VK_IMAGE_USAGE_TRANSFER_DST_BIT,
+  eSampled = VK_IMAGE_USAGE_SAMPLED_BIT,
+  eStorage = VK_IMAGE_USAGE_STORAGE_BIT,
+  eColorAttachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
+  eDepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
+  eTransientAttachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
+  eInputAttachment = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
+  eShadingRateImageNV = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
+  eFragmentDensityMapEXT = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,
+  eFragmentShadingRateAttachmentKHR =
+      VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageUsageFlagBits value) {
+  switch (value) {
+  case ImageUsageFlagBits::eTransferSrc:
+    return "TransferSrc";
+  case ImageUsageFlagBits::eTransferDst:
+    return "TransferDst";
+  case ImageUsageFlagBits::eSampled:
+    return "Sampled";
+  case ImageUsageFlagBits::eStorage:
+    return "Storage";
+  case ImageUsageFlagBits::eColorAttachment:
+    return "ColorAttachment";
+  case ImageUsageFlagBits::eDepthStencilAttachment:
+    return "DepthStencilAttachment";
+  case ImageUsageFlagBits::eTransientAttachment:
+    return "TransientAttachment";
+  case ImageUsageFlagBits::eInputAttachment:
+    return "InputAttachment";
+  case ImageUsageFlagBits::eShadingRateImageNV:
+    return "ShadingRateImageNV";
+  case ImageUsageFlagBits::eFragmentDensityMapEXT:
+    return "FragmentDensityMapEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ImageViewCreateFlagBits : VkImageViewCreateFlags {
+  eFragmentDensityMapDynamicEXT =
+      VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
+  eFragmentDensityMapDeferredEXT =
+      VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageViewCreateFlagBits value) {
+  switch (value) {
+  case ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT:
+    return "FragmentDensityMapDynamicEXT";
+  case ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT:
+    return "FragmentDensityMapDeferredEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ImageViewType {
+  e1D = VK_IMAGE_VIEW_TYPE_1D,
+  e2D = VK_IMAGE_VIEW_TYPE_2D,
+  e3D = VK_IMAGE_VIEW_TYPE_3D,
+  eCube = VK_IMAGE_VIEW_TYPE_CUBE,
+  e1DArray = VK_IMAGE_VIEW_TYPE_1D_ARRAY,
+  e2DArray = VK_IMAGE_VIEW_TYPE_2D_ARRAY,
+  eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
+};
+
+VULKAN_HPP_INLINE std::string to_string(ImageViewType value) {
+  switch (value) {
+  case ImageViewType::e1D:
+    return "1D";
+  case ImageViewType::e2D:
+    return "2D";
+  case ImageViewType::e3D:
+    return "3D";
+  case ImageViewType::eCube:
+    return "Cube";
+  case ImageViewType::e1DArray:
+    return "1DArray";
+  case ImageViewType::e2DArray:
+    return "2DArray";
+  case ImageViewType::eCubeArray:
+    return "CubeArray";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class IndexType {
+  eUint16 = VK_INDEX_TYPE_UINT16,
+  eUint32 = VK_INDEX_TYPE_UINT32,
+  eNoneKHR = VK_INDEX_TYPE_NONE_KHR,
+  eUint8EXT = VK_INDEX_TYPE_UINT8_EXT,
+  eNoneNV = VK_INDEX_TYPE_NONE_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(IndexType value) {
+  switch (value) {
+  case IndexType::eUint16:
+    return "Uint16";
+  case IndexType::eUint32:
+    return "Uint32";
+  case IndexType::eNoneKHR:
+    return "NoneKHR";
+  case IndexType::eUint8EXT:
+    return "Uint8EXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    IndirectCommandsLayoutUsageFlagBitsNV : VkIndirectCommandsLayoutUsageFlagsNV {
+      eExplicitPreprocess =
+          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV,
+      eIndexedSequences =
+          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV,
+      eUnorderedSequences =
+          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV
+    };
+
+VULKAN_HPP_INLINE std::string
+to_string(IndirectCommandsLayoutUsageFlagBitsNV value) {
+  switch (value) {
+  case IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess:
+    return "ExplicitPreprocess";
+  case IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences:
+    return "IndexedSequences";
+  case IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences:
+    return "UnorderedSequences";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class IndirectCommandsTokenTypeNV {
+  eShaderGroup = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV,
+  eStateFlags = VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,
+  eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV,
+  eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,
+  ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
+  eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV,
+  eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV,
+  eDrawTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(IndirectCommandsTokenTypeNV value) {
+  switch (value) {
+  case IndirectCommandsTokenTypeNV::eShaderGroup:
+    return "ShaderGroup";
+  case IndirectCommandsTokenTypeNV::eStateFlags:
+    return "StateFlags";
+  case IndirectCommandsTokenTypeNV::eIndexBuffer:
+    return "IndexBuffer";
+  case IndirectCommandsTokenTypeNV::eVertexBuffer:
+    return "VertexBuffer";
+  case IndirectCommandsTokenTypeNV::ePushConstant:
+    return "PushConstant";
+  case IndirectCommandsTokenTypeNV::eDrawIndexed:
+    return "DrawIndexed";
+  case IndirectCommandsTokenTypeNV::eDraw:
+    return "Draw";
+  case IndirectCommandsTokenTypeNV::eDrawTasks:
+    return "DrawTasks";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class IndirectStateFlagBitsNV : VkIndirectStateFlagsNV {
+  eFlagFrontface = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(IndirectStateFlagBitsNV value) {
+  switch (value) {
+  case IndirectStateFlagBitsNV::eFlagFrontface:
+    return "FlagFrontface";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class InstanceCreateFlagBits {};
+
+VULKAN_HPP_INLINE std::string to_string(InstanceCreateFlagBits) {
+  return "(void)";
+}
+
+enum class InternalAllocationType {
+  eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE
+};
+
+VULKAN_HPP_INLINE std::string to_string(InternalAllocationType value) {
+  switch (value) {
+  case InternalAllocationType::eExecutable:
+    return "Executable";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class LineRasterizationModeEXT {
+  eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
+  eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT,
+  eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT,
+  eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(LineRasterizationModeEXT value) {
+  switch (value) {
+  case LineRasterizationModeEXT::eDefault:
+    return "Default";
+  case LineRasterizationModeEXT::eRectangular:
+    return "Rectangular";
+  case LineRasterizationModeEXT::eBresenham:
+    return "Bresenham";
+  case LineRasterizationModeEXT::eRectangularSmooth:
+    return "RectangularSmooth";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class LogicOp {
+  eClear = VK_LOGIC_OP_CLEAR,
+  eAnd = VK_LOGIC_OP_AND,
+  eAndReverse = VK_LOGIC_OP_AND_REVERSE,
+  eCopy = VK_LOGIC_OP_COPY,
+  eAndInverted = VK_LOGIC_OP_AND_INVERTED,
+  eNoOp = VK_LOGIC_OP_NO_OP,
+  eXor = VK_LOGIC_OP_XOR,
+  eOr = VK_LOGIC_OP_OR,
+  eNor = VK_LOGIC_OP_NOR,
+  eEquivalent = VK_LOGIC_OP_EQUIVALENT,
+  eInvert = VK_LOGIC_OP_INVERT,
+  eOrReverse = VK_LOGIC_OP_OR_REVERSE,
+  eCopyInverted = VK_LOGIC_OP_COPY_INVERTED,
+  eOrInverted = VK_LOGIC_OP_OR_INVERTED,
+  eNand = VK_LOGIC_OP_NAND,
+  eSet = VK_LOGIC_OP_SET
+};
+
+VULKAN_HPP_INLINE std::string to_string(LogicOp value) {
+  switch (value) {
+  case LogicOp::eClear:
+    return "Clear";
+  case LogicOp::eAnd:
+    return "And";
+  case LogicOp::eAndReverse:
+    return "AndReverse";
+  case LogicOp::eCopy:
+    return "Copy";
+  case LogicOp::eAndInverted:
+    return "AndInverted";
+  case LogicOp::eNoOp:
+    return "NoOp";
+  case LogicOp::eXor:
+    return "Xor";
+  case LogicOp::eOr:
+    return "Or";
+  case LogicOp::eNor:
+    return "Nor";
+  case LogicOp::eEquivalent:
+    return "Equivalent";
+  case LogicOp::eInvert:
+    return "Invert";
+  case LogicOp::eOrReverse:
+    return "OrReverse";
+  case LogicOp::eCopyInverted:
+    return "CopyInverted";
+  case LogicOp::eOrInverted:
+    return "OrInverted";
+  case LogicOp::eNand:
+    return "Nand";
+  case LogicOp::eSet:
+    return "Set";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class MemoryAllocateFlagBits : VkMemoryAllocateFlags {
+  eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
+  eDeviceAddress = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
+  eDeviceAddressCaptureReplay =
+      VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
+};
+using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(MemoryAllocateFlagBits value) {
+  switch (value) {
+  case MemoryAllocateFlagBits::eDeviceMask:
+    return "DeviceMask";
+  case MemoryAllocateFlagBits::eDeviceAddress:
+    return "DeviceAddress";
+  case MemoryAllocateFlagBits::eDeviceAddressCaptureReplay:
+    return "DeviceAddressCaptureReplay";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class MemoryHeapFlagBits : VkMemoryHeapFlags {
+  eDeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
+  eMultiInstance = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
+  eMultiInstanceKHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(MemoryHeapFlagBits value) {
+  switch (value) {
+  case MemoryHeapFlagBits::eDeviceLocal:
+    return "DeviceLocal";
+  case MemoryHeapFlagBits::eMultiInstance:
+    return "MultiInstance";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+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*/
+
+enum class MemoryOverallocationBehaviorAMD {
+  eDefault = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
+  eAllowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD,
+  eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD
+};
+
+VULKAN_HPP_INLINE std::string to_string(MemoryOverallocationBehaviorAMD value) {
+  switch (value) {
+  case MemoryOverallocationBehaviorAMD::eDefault:
+    return "Default";
+  case MemoryOverallocationBehaviorAMD::eAllowed:
+    return "Allowed";
+  case MemoryOverallocationBehaviorAMD::eDisallowed:
+    return "Disallowed";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class MemoryPropertyFlagBits : VkMemoryPropertyFlags {
+  eDeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
+  eHostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
+  eHostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
+  eHostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
+  eLazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT,
+  eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT,
+  eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD,
+  eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
+};
+
+VULKAN_HPP_INLINE std::string to_string(MemoryPropertyFlagBits value) {
+  switch (value) {
+  case MemoryPropertyFlagBits::eDeviceLocal:
+    return "DeviceLocal";
+  case MemoryPropertyFlagBits::eHostVisible:
+    return "HostVisible";
+  case MemoryPropertyFlagBits::eHostCoherent:
+    return "HostCoherent";
+  case MemoryPropertyFlagBits::eHostCached:
+    return "HostCached";
+  case MemoryPropertyFlagBits::eLazilyAllocated:
+    return "LazilyAllocated";
+  case MemoryPropertyFlagBits::eProtected:
+    return "Protected";
+  case MemoryPropertyFlagBits::eDeviceCoherentAMD:
+    return "DeviceCoherentAMD";
+  case MemoryPropertyFlagBits::eDeviceUncachedAMD:
+    return "DeviceUncachedAMD";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ObjectType {
+  // clang-format off
+      eUnknown = VK_OBJECT_TYPE_UNKNOWN
+    , eInstance = VK_OBJECT_TYPE_INSTANCE
+    , ePhysicalDevice = VK_OBJECT_TYPE_PHYSICAL_DEVICE
+    , eDevice = VK_OBJECT_TYPE_DEVICE
+    , eQueue = VK_OBJECT_TYPE_QUEUE
+    , eSemaphore = VK_OBJECT_TYPE_SEMAPHORE
+    , eCommandBuffer = VK_OBJECT_TYPE_COMMAND_BUFFER
+    , eFence = VK_OBJECT_TYPE_FENCE
+    , eDeviceMemory = VK_OBJECT_TYPE_DEVICE_MEMORY
+    , eBuffer = VK_OBJECT_TYPE_BUFFER
+    , eImage = VK_OBJECT_TYPE_IMAGE
+    , eEvent = VK_OBJECT_TYPE_EVENT
+    , eQueryPool = VK_OBJECT_TYPE_QUERY_POOL
+    , eBufferView = VK_OBJECT_TYPE_BUFFER_VIEW
+    , eImageView = VK_OBJECT_TYPE_IMAGE_VIEW
+    , eShaderModule = VK_OBJECT_TYPE_SHADER_MODULE
+    , ePipelineCache = VK_OBJECT_TYPE_PIPELINE_CACHE
+    , ePipelineLayout = VK_OBJECT_TYPE_PIPELINE_LAYOUT
+    , eRenderPass = VK_OBJECT_TYPE_RENDER_PASS
+    , ePipeline = VK_OBJECT_TYPE_PIPELINE
+    , eDescriptorSetLayout = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT
+    , eSampler = VK_OBJECT_TYPE_SAMPLER
+    , eDescriptorPool = VK_OBJECT_TYPE_DESCRIPTOR_POOL
+    , eDescriptorSet = VK_OBJECT_TYPE_DESCRIPTOR_SET
+    , eFramebuffer = VK_OBJECT_TYPE_FRAMEBUFFER
+    , eCommandPool = VK_OBJECT_TYPE_COMMAND_POOL
+    , eSamplerYcbcrConversion = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION
+    , eDescriptorUpdateTemplate = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE
+    , eSurfaceKHR = VK_OBJECT_TYPE_SURFACE_KHR
+    , eSwapchainKHR = VK_OBJECT_TYPE_SWAPCHAIN_KHR
+    , eDisplayKHR = VK_OBJECT_TYPE_DISPLAY_KHR
+    , eDisplayModeKHR = VK_OBJECT_TYPE_DISPLAY_MODE_KHR
+    , eDebugReportCallbackEXT = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
+    , eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
+    , eAccelerationStructureKHR = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR
+    , eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT
+    , eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV
+    , ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL
+    , eDeferredOperationKHR = VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR
+    , 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
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    , eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR
+    , eSamplerYcbcrConversionKHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR
+  // clang-format on
+};
+
+VULKAN_HPP_INLINE std::string to_string(ObjectType value) {
+  switch (value) {
+  case ObjectType::eUnknown:
+    return "Unknown";
+  case ObjectType::eInstance:
+    return "Instance";
+  case ObjectType::ePhysicalDevice:
+    return "PhysicalDevice";
+  case ObjectType::eDevice:
+    return "Device";
+  case ObjectType::eQueue:
+    return "Queue";
+  case ObjectType::eSemaphore:
+    return "Semaphore";
+  case ObjectType::eCommandBuffer:
+    return "CommandBuffer";
+  case ObjectType::eFence:
+    return "Fence";
+  case ObjectType::eDeviceMemory:
+    return "DeviceMemory";
+  case ObjectType::eBuffer:
+    return "Buffer";
+  case ObjectType::eImage:
+    return "Image";
+  case ObjectType::eEvent:
+    return "Event";
+  case ObjectType::eQueryPool:
+    return "QueryPool";
+  case ObjectType::eBufferView:
+    return "BufferView";
+  case ObjectType::eImageView:
+    return "ImageView";
+  case ObjectType::eShaderModule:
+    return "ShaderModule";
+  case ObjectType::ePipelineCache:
+    return "PipelineCache";
+  case ObjectType::ePipelineLayout:
+    return "PipelineLayout";
+  case ObjectType::eRenderPass:
+    return "RenderPass";
+  case ObjectType::ePipeline:
+    return "Pipeline";
+  case ObjectType::eDescriptorSetLayout:
+    return "DescriptorSetLayout";
+  case ObjectType::eSampler:
+    return "Sampler";
+  case ObjectType::eDescriptorPool:
+    return "DescriptorPool";
+  case ObjectType::eDescriptorSet:
+    return "DescriptorSet";
+  case ObjectType::eFramebuffer:
+    return "Framebuffer";
+  case ObjectType::eCommandPool:
+    return "CommandPool";
+  case ObjectType::eSamplerYcbcrConversion:
+    return "SamplerYcbcrConversion";
+  case ObjectType::eDescriptorUpdateTemplate:
+    return "DescriptorUpdateTemplate";
+  case ObjectType::eSurfaceKHR:
+    return "SurfaceKHR";
+  case ObjectType::eSwapchainKHR:
+    return "SwapchainKHR";
+  case ObjectType::eDisplayKHR:
+    return "DisplayKHR";
+  case ObjectType::eDisplayModeKHR:
+    return "DisplayModeKHR";
+  case ObjectType::eDebugReportCallbackEXT:
+    return "DebugReportCallbackEXT";
+  case ObjectType::eDebugUtilsMessengerEXT:
+    return "DebugUtilsMessengerEXT";
+  case ObjectType::eAccelerationStructureKHR:
+    return "AccelerationStructureKHR";
+  case ObjectType::eValidationCacheEXT:
+    return "ValidationCacheEXT";
+  case ObjectType::eAccelerationStructureNV:
+    return "AccelerationStructureNV";
+  case ObjectType::ePerformanceConfigurationINTEL:
+    return "PerformanceConfigurationINTEL";
+  case ObjectType::eDeferredOperationKHR:
+    return "DeferredOperationKHR";
+  case ObjectType::eIndirectCommandsLayoutNV:
+    return "IndirectCommandsLayoutNV";
+  case ObjectType::ePrivateDataSlotEXT:
+    return "PrivateDataSlotEXT";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  case ObjectType::eBufferCollectionFUCHSIA:
+    return "BufferCollectionFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+template <ObjectType value> struct cpp_type {};
+
+enum class PeerMemoryFeatureFlagBits : VkPeerMemoryFeatureFlags {
+  eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
+  eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
+  eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
+  eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
+};
+using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(PeerMemoryFeatureFlagBits value) {
+  switch (value) {
+  case PeerMemoryFeatureFlagBits::eCopySrc:
+    return "CopySrc";
+  case PeerMemoryFeatureFlagBits::eCopyDst:
+    return "CopyDst";
+  case PeerMemoryFeatureFlagBits::eGenericSrc:
+    return "GenericSrc";
+  case PeerMemoryFeatureFlagBits::eGenericDst:
+    return "GenericDst";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PerformanceConfigurationTypeINTEL {
+  eCommandQueueMetricsDiscoveryActivated =
+      VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(PerformanceConfigurationTypeINTEL value) {
+  switch (value) {
+  case PerformanceConfigurationTypeINTEL::
+      eCommandQueueMetricsDiscoveryActivated:
+    return "CommandQueueMetricsDiscoveryActivated";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    PerformanceCounterDescriptionFlagBitsKHR : VkPerformanceCounterDescriptionFlagsKHR {
+      ePerformanceImpacting =
+          VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
+      eConcurrentlyImpacted =
+          VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
+    };
+
+VULKAN_HPP_INLINE std::string
+to_string(PerformanceCounterDescriptionFlagBitsKHR value) {
+  switch (value) {
+  case PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting:
+    return "PerformanceImpacting";
+  case PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted:
+    return "ConcurrentlyImpacted";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PerformanceCounterScopeKHR {
+  eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
+  eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
+  eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
+  eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
+  eVkQueryScopeCommand = VK_QUERY_SCOPE_COMMAND_KHR,
+  eVkQueryScopeRenderPass = VK_QUERY_SCOPE_RENDER_PASS_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(PerformanceCounterScopeKHR value) {
+  switch (value) {
+  case PerformanceCounterScopeKHR::eCommandBuffer:
+    return "CommandBuffer";
+  case PerformanceCounterScopeKHR::eRenderPass:
+    return "RenderPass";
+  case PerformanceCounterScopeKHR::eCommand:
+    return "Command";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PerformanceCounterStorageKHR {
+  eInt32 = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
+  eInt64 = VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR,
+  eUint32 = VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR,
+  eUint64 = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR,
+  eFloat32 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR,
+  eFloat64 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(PerformanceCounterStorageKHR value) {
+  switch (value) {
+  case PerformanceCounterStorageKHR::eInt32:
+    return "Int32";
+  case PerformanceCounterStorageKHR::eInt64:
+    return "Int64";
+  case PerformanceCounterStorageKHR::eUint32:
+    return "Uint32";
+  case PerformanceCounterStorageKHR::eUint64:
+    return "Uint64";
+  case PerformanceCounterStorageKHR::eFloat32:
+    return "Float32";
+  case PerformanceCounterStorageKHR::eFloat64:
+    return "Float64";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PerformanceCounterUnitKHR {
+  eGeneric = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
+  ePercentage = VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR,
+  eNanoseconds = VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR,
+  eBytes = VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR,
+  eBytesPerSecond = VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR,
+  eKelvin = VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR,
+  eWatts = VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR,
+  eVolts = VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR,
+  eAmps = VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR,
+  eHertz = VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR,
+  eCycles = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(PerformanceCounterUnitKHR value) {
+  switch (value) {
+  case PerformanceCounterUnitKHR::eGeneric:
+    return "Generic";
+  case PerformanceCounterUnitKHR::ePercentage:
+    return "Percentage";
+  case PerformanceCounterUnitKHR::eNanoseconds:
+    return "Nanoseconds";
+  case PerformanceCounterUnitKHR::eBytes:
+    return "Bytes";
+  case PerformanceCounterUnitKHR::eBytesPerSecond:
+    return "BytesPerSecond";
+  case PerformanceCounterUnitKHR::eKelvin:
+    return "Kelvin";
+  case PerformanceCounterUnitKHR::eWatts:
+    return "Watts";
+  case PerformanceCounterUnitKHR::eVolts:
+    return "Volts";
+  case PerformanceCounterUnitKHR::eAmps:
+    return "Amps";
+  case PerformanceCounterUnitKHR::eHertz:
+    return "Hertz";
+  case PerformanceCounterUnitKHR::eCycles:
+    return "Cycles";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PerformanceOverrideTypeINTEL {
+  eNullHardware = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
+  eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL
+};
+
+VULKAN_HPP_INLINE std::string to_string(PerformanceOverrideTypeINTEL value) {
+  switch (value) {
+  case PerformanceOverrideTypeINTEL::eNullHardware:
+    return "NullHardware";
+  case PerformanceOverrideTypeINTEL::eFlushGpuCaches:
+    return "FlushGpuCaches";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PerformanceParameterTypeINTEL {
+  eHwCountersSupported =
+      VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
+  eStreamMarkerValidBits =
+      VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
+};
+
+VULKAN_HPP_INLINE std::string to_string(PerformanceParameterTypeINTEL value) {
+  switch (value) {
+  case PerformanceParameterTypeINTEL::eHwCountersSupported:
+    return "HwCountersSupported";
+  case PerformanceParameterTypeINTEL::eStreamMarkerValidBits:
+    return "StreamMarkerValidBits";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PerformanceValueTypeINTEL {
+  eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
+  eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL,
+  eFloat = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL,
+  eBool = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL,
+  eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
+};
+
+VULKAN_HPP_INLINE std::string to_string(PerformanceValueTypeINTEL value) {
+  switch (value) {
+  case PerformanceValueTypeINTEL::eUint32:
+    return "Uint32";
+  case PerformanceValueTypeINTEL::eUint64:
+    return "Uint64";
+  case PerformanceValueTypeINTEL::eFloat:
+    return "Float";
+  case PerformanceValueTypeINTEL::eBool:
+    return "Bool";
+  case PerformanceValueTypeINTEL::eString:
+    return "String";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PhysicalDeviceType {
+  eOther = VK_PHYSICAL_DEVICE_TYPE_OTHER,
+  eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
+  eDiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
+  eVirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU,
+  eCpu = VK_PHYSICAL_DEVICE_TYPE_CPU
+};
+
+VULKAN_HPP_INLINE std::string to_string(PhysicalDeviceType value) {
+  switch (value) {
+  case PhysicalDeviceType::eOther:
+    return "Other";
+  case PhysicalDeviceType::eIntegratedGpu:
+    return "IntegratedGpu";
+  case PhysicalDeviceType::eDiscreteGpu:
+    return "DiscreteGpu";
+  case PhysicalDeviceType::eVirtualGpu:
+    return "VirtualGpu";
+  case PhysicalDeviceType::eCpu:
+    return "Cpu";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PipelineBindPoint {
+  eGraphics = VK_PIPELINE_BIND_POINT_GRAPHICS,
+  eCompute = VK_PIPELINE_BIND_POINT_COMPUTE,
+  eRayTracingKHR = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
+  eRayTracingNV = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineBindPoint value) {
+  switch (value) {
+  case PipelineBindPoint::eGraphics:
+    return "Graphics";
+  case PipelineBindPoint::eCompute:
+    return "Compute";
+  case PipelineBindPoint::eRayTracingKHR:
+    return "RayTracingKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PipelineCacheCreateFlagBits : VkPipelineCacheCreateFlags {
+  eExternallySynchronizedEXT =
+      VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineCacheCreateFlagBits value) {
+  switch (value) {
+  case PipelineCacheCreateFlagBits::eExternallySynchronizedEXT:
+    return "ExternallySynchronizedEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PipelineCacheHeaderVersion {
+  eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE
+};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineCacheHeaderVersion value) {
+  switch (value) {
+  case PipelineCacheHeaderVersion::eOne:
+    return "One";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    PipelineCompilerControlFlagBitsAMD : VkPipelineCompilerControlFlagsAMD {};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineCompilerControlFlagBitsAMD) {
+  return "(void)";
+}
+
+enum class PipelineCreateFlagBits : VkPipelineCreateFlags {
+  eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
+  eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
+  eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
+  eViewIndexFromDeviceIndex =
+      VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
+  eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
+  eRayTracingNoNullAnyHitShadersKHR =
+      VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
+  eRayTracingNoNullClosestHitShadersKHR =
+      VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
+  eRayTracingNoNullMissShadersKHR =
+      VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
+  eRayTracingNoNullIntersectionShadersKHR =
+      VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
+  eRayTracingSkipTrianglesKHR =
+      VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
+  eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
+  eRayTracingShaderGroupHandleCaptureReplayKHR =
+      VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
+  eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
+  eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
+  eCaptureInternalRepresentationsKHR =
+      VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
+  eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
+  eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
+  eFailOnPipelineCompileRequiredEXT =
+      VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
+  eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
+  eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_KHR,
+  eViewIndexFromDeviceIndexKHR =
+      VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineCreateFlagBits value) {
+  switch (value) {
+  case PipelineCreateFlagBits::eDisableOptimization:
+    return "DisableOptimization";
+  case PipelineCreateFlagBits::eAllowDerivatives:
+    return "AllowDerivatives";
+  case PipelineCreateFlagBits::eDerivative:
+    return "Derivative";
+  case PipelineCreateFlagBits::eViewIndexFromDeviceIndex:
+    return "ViewIndexFromDeviceIndex";
+  case PipelineCreateFlagBits::eDispatchBase:
+    return "DispatchBase";
+  case PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR:
+    return "RayTracingNoNullAnyHitShadersKHR";
+  case PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR:
+    return "RayTracingNoNullClosestHitShadersKHR";
+  case PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR:
+    return "RayTracingNoNullMissShadersKHR";
+  case PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR:
+    return "RayTracingNoNullIntersectionShadersKHR";
+  case PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR:
+    return "RayTracingSkipTrianglesKHR";
+  case PipelineCreateFlagBits::eRayTracingSkipAabbsKHR:
+    return "RayTracingSkipAabbsKHR";
+  case PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR:
+    return "RayTracingShaderGroupHandleCaptureReplayKHR";
+  case PipelineCreateFlagBits::eDeferCompileNV:
+    return "DeferCompileNV";
+  case PipelineCreateFlagBits::eCaptureStatisticsKHR:
+    return "CaptureStatisticsKHR";
+  case PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR:
+    return "CaptureInternalRepresentationsKHR";
+  case PipelineCreateFlagBits::eIndirectBindableNV:
+    return "IndirectBindableNV";
+  case PipelineCreateFlagBits::eLibraryKHR:
+    return "LibraryKHR";
+  case PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT:
+    return "FailOnPipelineCompileRequiredEXT";
+  case PipelineCreateFlagBits::eEarlyReturnOnFailureEXT:
+    return "EarlyReturnOnFailureEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    PipelineCreationFeedbackFlagBitsEXT : VkPipelineCreationFeedbackFlagsEXT {
+      eValid = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT,
+      eApplicationPipelineCacheHit =
+          VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT,
+      eBasePipelineAcceleration =
+          VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT
+    };
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCreationFeedbackFlagBitsEXT value) {
+  switch (value) {
+  case PipelineCreationFeedbackFlagBitsEXT::eValid:
+    return "Valid";
+  case PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit:
+    return "ApplicationPipelineCacheHit";
+  case PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration:
+    return "BasePipelineAcceleration";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PipelineExecutableStatisticFormatKHR {
+  eBool32 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
+  eInt64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR,
+  eUint64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR,
+  eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
+};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineExecutableStatisticFormatKHR value) {
+  switch (value) {
+  case PipelineExecutableStatisticFormatKHR::eBool32:
+    return "Bool32";
+  case PipelineExecutableStatisticFormatKHR::eInt64:
+    return "Int64";
+  case PipelineExecutableStatisticFormatKHR::eUint64:
+    return "Uint64";
+  case PipelineExecutableStatisticFormatKHR::eFloat64:
+    return "Float64";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class
+    PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags {
+      eAllowVaryingSubgroupSizeEXT =
+          VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
+      eRequireFullSubgroupsEXT =
+          VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
+    };
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineShaderStageCreateFlagBits value) {
+  switch (value) {
+  case PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT:
+    return "AllowVaryingSubgroupSizeEXT";
+  case PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT:
+    return "RequireFullSubgroupsEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PipelineStageFlagBits : VkPipelineStageFlags {
+  eTopOfPipe = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
+  eDrawIndirect = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
+  eVertexInput = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,
+  eVertexShader = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,
+  eTessellationControlShader =
+      VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,
+  eTessellationEvaluationShader =
+      VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,
+  eGeometryShader = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,
+  eFragmentShader = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
+  eEarlyFragmentTests = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,
+  eLateFragmentTests = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
+  eColorAttachmentOutput = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
+  eComputeShader = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
+  eTransfer = VK_PIPELINE_STAGE_TRANSFER_BIT,
+  eBottomOfPipe = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
+  eHost = VK_PIPELINE_STAGE_HOST_BIT,
+  eAllGraphics = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
+  eAllCommands = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
+  eTransformFeedbackEXT = VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT,
+  eConditionalRenderingEXT = VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT,
+  eAccelerationStructureBuildKHR =
+      VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
+  eRayTracingShaderKHR = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
+  eShadingRateImageNV = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
+  eTaskShaderNV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV,
+  eMeshShaderNV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV,
+  eFragmentDensityProcessEXT =
+      VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
+  eCommandPreprocessNV = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV,
+  eNoneKHR = VK_PIPELINE_STAGE_NONE_KHR,
+  eAccelerationStructureBuildNV =
+      VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
+  eFragmentShadingRateAttachmentKHR =
+      VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
+  eRayTracingShaderNV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineStageFlagBits value) {
+  switch (value) {
+  case PipelineStageFlagBits::eTopOfPipe:
+    return "TopOfPipe";
+  case PipelineStageFlagBits::eDrawIndirect:
+    return "DrawIndirect";
+  case PipelineStageFlagBits::eVertexInput:
+    return "VertexInput";
+  case PipelineStageFlagBits::eVertexShader:
+    return "VertexShader";
+  case PipelineStageFlagBits::eTessellationControlShader:
+    return "TessellationControlShader";
+  case PipelineStageFlagBits::eTessellationEvaluationShader:
+    return "TessellationEvaluationShader";
+  case PipelineStageFlagBits::eGeometryShader:
+    return "GeometryShader";
+  case PipelineStageFlagBits::eFragmentShader:
+    return "FragmentShader";
+  case PipelineStageFlagBits::eEarlyFragmentTests:
+    return "EarlyFragmentTests";
+  case PipelineStageFlagBits::eLateFragmentTests:
+    return "LateFragmentTests";
+  case PipelineStageFlagBits::eColorAttachmentOutput:
+    return "ColorAttachmentOutput";
+  case PipelineStageFlagBits::eComputeShader:
+    return "ComputeShader";
+  case PipelineStageFlagBits::eTransfer:
+    return "Transfer";
+  case PipelineStageFlagBits::eBottomOfPipe:
+    return "BottomOfPipe";
+  case PipelineStageFlagBits::eHost:
+    return "Host";
+  case PipelineStageFlagBits::eAllGraphics:
+    return "AllGraphics";
+  case PipelineStageFlagBits::eAllCommands:
+    return "AllCommands";
+  case PipelineStageFlagBits::eTransformFeedbackEXT:
+    return "TransformFeedbackEXT";
+  case PipelineStageFlagBits::eConditionalRenderingEXT:
+    return "ConditionalRenderingEXT";
+  case PipelineStageFlagBits::eAccelerationStructureBuildKHR:
+    return "AccelerationStructureBuildKHR";
+  case PipelineStageFlagBits::eRayTracingShaderKHR:
+    return "RayTracingShaderKHR";
+  case PipelineStageFlagBits::eShadingRateImageNV:
+    return "ShadingRateImageNV";
+  case PipelineStageFlagBits::eTaskShaderNV:
+    return "TaskShaderNV";
+  case PipelineStageFlagBits::eMeshShaderNV:
+    return "MeshShaderNV";
+  case PipelineStageFlagBits::eFragmentDensityProcessEXT:
+    return "FragmentDensityProcessEXT";
+  case PipelineStageFlagBits::eCommandPreprocessNV:
+    return "CommandPreprocessNV";
+  case PipelineStageFlagBits::eNoneKHR:
+    return "NoneKHR";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PipelineStageFlagBits2KHR : VkPipelineStageFlags2KHR {
+  eNone = VK_PIPELINE_STAGE_2_NONE_KHR,
+  eTopOfPipe = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR,
+  eDrawIndirect = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
+  eVertexInput = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
+  eVertexShader = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR,
+  eTessellationControlShader =
+      VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR,
+  eTessellationEvaluationShader =
+      VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR,
+  eGeometryShader = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR,
+  eFragmentShader = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
+  eEarlyFragmentTests = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
+  eLateFragmentTests = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
+  eColorAttachmentOutput = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR,
+  eComputeShader = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR,
+  eAllTransfer = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
+  eBottomOfPipe = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR,
+  eHost = VK_PIPELINE_STAGE_2_HOST_BIT_KHR,
+  eAllGraphics = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
+  eAllCommands = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
+  eCopy = VK_PIPELINE_STAGE_2_COPY_BIT_KHR,
+  eResolve = VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
+  eBlit = VK_PIPELINE_STAGE_2_BLIT_BIT_KHR,
+  eClear = VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR,
+  eIndexInput = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
+  eVertexAttributeInput = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
+  ePreRasterizationShaders =
+      VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR,
+  eTransformFeedbackExt = VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
+  eConditionalRenderingExt = VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
+  eCommandPreprocessNv = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV,
+  eFragmentShadingRateAttachment =
+      VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
+  eAccelerationStructureBuild =
+      VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
+  eRayTracingShader = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
+  eFragmentDensityProcessExt =
+      VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
+  eTaskShaderNv = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV,
+  eMeshShaderNv = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV,
+  eAccelerationStructureBuildNv =
+      VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
+  eRayTracingShaderNv = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV,
+  eShadingRateImageNv = VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
+  eTransfer = VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineStageFlagBits2KHR value) {
+  switch (value) {
+  case PipelineStageFlagBits2KHR::eNone:
+    return "None";
+  case PipelineStageFlagBits2KHR::eTopOfPipe:
+    return "TopOfPipe";
+  case PipelineStageFlagBits2KHR::eDrawIndirect:
+    return "DrawIndirect";
+  case PipelineStageFlagBits2KHR::eVertexInput:
+    return "VertexInput";
+  case PipelineStageFlagBits2KHR::eVertexShader:
+    return "VertexShader";
+  case PipelineStageFlagBits2KHR::eTessellationControlShader:
+    return "TessellationControlShader";
+  case PipelineStageFlagBits2KHR::eTessellationEvaluationShader:
+    return "TessellationEvaluationShader";
+  case PipelineStageFlagBits2KHR::eGeometryShader:
+    return "GeometryShader";
+  case PipelineStageFlagBits2KHR::eFragmentShader:
+    return "FragmentShader";
+  case PipelineStageFlagBits2KHR::eEarlyFragmentTests:
+    return "EarlyFragmentTests";
+  case PipelineStageFlagBits2KHR::eLateFragmentTests:
+    return "LateFragmentTests";
+  case PipelineStageFlagBits2KHR::eColorAttachmentOutput:
+    return "ColorAttachmentOutput";
+  case PipelineStageFlagBits2KHR::eComputeShader:
+    return "ComputeShader";
+  case PipelineStageFlagBits2KHR::eAllTransfer:
+    return "AllTransfer";
+  case PipelineStageFlagBits2KHR::eBottomOfPipe:
+    return "BottomOfPipe";
+  case PipelineStageFlagBits2KHR::eHost:
+    return "Host";
+  case PipelineStageFlagBits2KHR::eAllGraphics:
+    return "AllGraphics";
+  case PipelineStageFlagBits2KHR::eAllCommands:
+    return "AllCommands";
+  case PipelineStageFlagBits2KHR::eCopy:
+    return "Copy";
+  case PipelineStageFlagBits2KHR::eResolve:
+    return "Resolve";
+  case PipelineStageFlagBits2KHR::eBlit:
+    return "Blit";
+  case PipelineStageFlagBits2KHR::eClear:
+    return "Clear";
+  case PipelineStageFlagBits2KHR::eIndexInput:
+    return "IndexInput";
+  case PipelineStageFlagBits2KHR::eVertexAttributeInput:
+    return "VertexAttributeInput";
+  case PipelineStageFlagBits2KHR::ePreRasterizationShaders:
+    return "PreRasterizationShaders";
+  case PipelineStageFlagBits2KHR::eTransformFeedbackExt:
+    return "TransformFeedbackExt";
+  case PipelineStageFlagBits2KHR::eConditionalRenderingExt:
+    return "ConditionalRenderingExt";
+  case PipelineStageFlagBits2KHR::eCommandPreprocessNv:
+    return "CommandPreprocessNv";
+  case PipelineStageFlagBits2KHR::eFragmentShadingRateAttachment:
+    return "FragmentShadingRateAttachment";
+  case PipelineStageFlagBits2KHR::eAccelerationStructureBuild:
+    return "AccelerationStructureBuild";
+  case PipelineStageFlagBits2KHR::eRayTracingShader:
+    return "RayTracingShader";
+  case PipelineStageFlagBits2KHR::eFragmentDensityProcessExt:
+    return "FragmentDensityProcessExt";
+  case PipelineStageFlagBits2KHR::eTaskShaderNv:
+    return "TaskShaderNv";
+  case PipelineStageFlagBits2KHR::eMeshShaderNv:
+    return "MeshShaderNv";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PointClippingBehavior {
+  eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
+  eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
+};
+using PointClippingBehaviorKHR = PointClippingBehavior;
+
+VULKAN_HPP_INLINE std::string to_string(PointClippingBehavior value) {
+  switch (value) {
+  case PointClippingBehavior::eAllClipPlanes:
+    return "AllClipPlanes";
+  case PointClippingBehavior::eUserClipPlanesOnly:
+    return "UserClipPlanesOnly";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PolygonMode {
+  eFill = VK_POLYGON_MODE_FILL,
+  eLine = VK_POLYGON_MODE_LINE,
+  ePoint = VK_POLYGON_MODE_POINT,
+  eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(PolygonMode value) {
+  switch (value) {
+  case PolygonMode::eFill:
+    return "Fill";
+  case PolygonMode::eLine:
+    return "Line";
+  case PolygonMode::ePoint:
+    return "Point";
+  case PolygonMode::eFillRectangleNV:
+    return "FillRectangleNV";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PresentModeKHR {
+  eImmediate = VK_PRESENT_MODE_IMMEDIATE_KHR,
+  eMailbox = VK_PRESENT_MODE_MAILBOX_KHR,
+  eFifo = VK_PRESENT_MODE_FIFO_KHR,
+  eFifoRelaxed = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
+  eSharedDemandRefresh = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,
+  eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(PresentModeKHR value) {
+  switch (value) {
+  case PresentModeKHR::eImmediate:
+    return "Immediate";
+  case PresentModeKHR::eMailbox:
+    return "Mailbox";
+  case PresentModeKHR::eFifo:
+    return "Fifo";
+  case PresentModeKHR::eFifoRelaxed:
+    return "FifoRelaxed";
+  case PresentModeKHR::eSharedDemandRefresh:
+    return "SharedDemandRefresh";
+  case PresentModeKHR::eSharedContinuousRefresh:
+    return "SharedContinuousRefresh";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PrimitiveTopology {
+  ePointList = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
+  eLineList = VK_PRIMITIVE_TOPOLOGY_LINE_LIST,
+  eLineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,
+  eTriangleList = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
+  eTriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
+  eTriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
+  eLineListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,
+  eLineStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,
+  eTriangleListWithAdjacency =
+      VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,
+  eTriangleStripWithAdjacency =
+      VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,
+  ePatchList = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
+};
+
+VULKAN_HPP_INLINE std::string to_string(PrimitiveTopology value) {
+  switch (value) {
+  case PrimitiveTopology::ePointList:
+    return "PointList";
+  case PrimitiveTopology::eLineList:
+    return "LineList";
+  case PrimitiveTopology::eLineStrip:
+    return "LineStrip";
+  case PrimitiveTopology::eTriangleList:
+    return "TriangleList";
+  case PrimitiveTopology::eTriangleStrip:
+    return "TriangleStrip";
+  case PrimitiveTopology::eTriangleFan:
+    return "TriangleFan";
+  case PrimitiveTopology::eLineListWithAdjacency:
+    return "LineListWithAdjacency";
+  case PrimitiveTopology::eLineStripWithAdjacency:
+    return "LineStripWithAdjacency";
+  case PrimitiveTopology::eTriangleListWithAdjacency:
+    return "TriangleListWithAdjacency";
+  case PrimitiveTopology::eTriangleStripWithAdjacency:
+    return "TriangleStripWithAdjacency";
+  case PrimitiveTopology::ePatchList:
+    return "PatchList";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class PrivateDataSlotCreateFlagBitsEXT : VkPrivateDataSlotCreateFlagsEXT {
+};
+
+VULKAN_HPP_INLINE std::string to_string(PrivateDataSlotCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+enum class QueryControlFlagBits : VkQueryControlFlags {
+  ePrecise = VK_QUERY_CONTROL_PRECISE_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(QueryControlFlagBits value) {
+  switch (value) {
+  case QueryControlFlagBits::ePrecise:
+    return "Precise";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class QueryPipelineStatisticFlagBits : VkQueryPipelineStatisticFlags {
+  eInputAssemblyVertices =
+      VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,
+  eInputAssemblyPrimitives =
+      VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,
+  eVertexShaderInvocations =
+      VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,
+  eGeometryShaderInvocations =
+      VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,
+  eGeometryShaderPrimitives =
+      VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
+  eClippingInvocations = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,
+  eClippingPrimitives = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,
+  eFragmentShaderInvocations =
+      VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,
+  eTessellationControlShaderPatches =
+      VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,
+  eTessellationEvaluationShaderInvocations =
+      VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,
+  eComputeShaderInvocations =
+      VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(QueryPipelineStatisticFlagBits value) {
+  switch (value) {
+  case QueryPipelineStatisticFlagBits::eInputAssemblyVertices:
+    return "InputAssemblyVertices";
+  case QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives:
+    return "InputAssemblyPrimitives";
+  case QueryPipelineStatisticFlagBits::eVertexShaderInvocations:
+    return "VertexShaderInvocations";
+  case QueryPipelineStatisticFlagBits::eGeometryShaderInvocations:
+    return "GeometryShaderInvocations";
+  case QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives:
+    return "GeometryShaderPrimitives";
+  case QueryPipelineStatisticFlagBits::eClippingInvocations:
+    return "ClippingInvocations";
+  case QueryPipelineStatisticFlagBits::eClippingPrimitives:
+    return "ClippingPrimitives";
+  case QueryPipelineStatisticFlagBits::eFragmentShaderInvocations:
+    return "FragmentShaderInvocations";
+  case QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches:
+    return "TessellationControlShaderPatches";
+  case QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations:
+    return "TessellationEvaluationShaderInvocations";
+  case QueryPipelineStatisticFlagBits::eComputeShaderInvocations:
+    return "ComputeShaderInvocations";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class QueryPoolCreateFlagBits {};
+
+VULKAN_HPP_INLINE std::string to_string(QueryPoolCreateFlagBits) {
+  return "(void)";
+}
+
+enum class QueryPoolSamplingModeINTEL {
+  eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL
+};
+
+VULKAN_HPP_INLINE std::string to_string(QueryPoolSamplingModeINTEL value) {
+  switch (value) {
+  case QueryPoolSamplingModeINTEL::eManual:
+    return "Manual";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class QueryResultFlagBits : VkQueryResultFlags {
+  e64 = VK_QUERY_RESULT_64_BIT,
+  eWait = VK_QUERY_RESULT_WAIT_BIT,
+  eWithAvailability = VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,
+  ePartial = VK_QUERY_RESULT_PARTIAL_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(QueryResultFlagBits value) {
+  switch (value) {
+  case QueryResultFlagBits::e64:
+    return "64";
+  case QueryResultFlagBits::eWait:
+    return "Wait";
+  case QueryResultFlagBits::eWithAvailability:
+    return "WithAvailability";
+  case QueryResultFlagBits::ePartial:
+    return "Partial";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class QueryType {
+  eOcclusion = VK_QUERY_TYPE_OCCLUSION,
+  ePipelineStatistics = VK_QUERY_TYPE_PIPELINE_STATISTICS,
+  eTimestamp = VK_QUERY_TYPE_TIMESTAMP,
+  eTransformFeedbackStreamEXT = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT,
+  ePerformanceQueryKHR = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
+  eAccelerationStructureCompactedSizeKHR =
+      VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
+  eAccelerationStructureSerializationSizeKHR =
+      VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR,
+  eAccelerationStructureCompactedSizeNV =
+      VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV,
+  ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL
+};
+
+VULKAN_HPP_INLINE std::string to_string(QueryType value) {
+  switch (value) {
+  case QueryType::eOcclusion:
+    return "Occlusion";
+  case QueryType::ePipelineStatistics:
+    return "PipelineStatistics";
+  case QueryType::eTimestamp:
+    return "Timestamp";
+  case QueryType::eTransformFeedbackStreamEXT:
+    return "TransformFeedbackStreamEXT";
+  case QueryType::ePerformanceQueryKHR:
+    return "PerformanceQueryKHR";
+  case QueryType::eAccelerationStructureCompactedSizeKHR:
+    return "AccelerationStructureCompactedSizeKHR";
+  case QueryType::eAccelerationStructureSerializationSizeKHR:
+    return "AccelerationStructureSerializationSizeKHR";
+  case QueryType::eAccelerationStructureCompactedSizeNV:
+    return "AccelerationStructureCompactedSizeNV";
+  case QueryType::ePerformanceQueryINTEL:
+    return "PerformanceQueryINTEL";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class QueueFlagBits : VkQueueFlags {
+  eGraphics = VK_QUEUE_GRAPHICS_BIT,
+  eCompute = VK_QUEUE_COMPUTE_BIT,
+  eTransfer = VK_QUEUE_TRANSFER_BIT,
+  eSparseBinding = VK_QUEUE_SPARSE_BINDING_BIT,
+  eProtected = VK_QUEUE_PROTECTED_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(QueueFlagBits value) {
+  switch (value) {
+  case QueueFlagBits::eGraphics:
+    return "Graphics";
+  case QueueFlagBits::eCompute:
+    return "Compute";
+  case QueueFlagBits::eTransfer:
+    return "Transfer";
+  case QueueFlagBits::eSparseBinding:
+    return "SparseBinding";
+  case QueueFlagBits::eProtected:
+    return "Protected";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class QueueGlobalPriorityEXT {
+  eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
+  eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,
+  eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,
+  eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(QueueGlobalPriorityEXT value) {
+  switch (value) {
+  case QueueGlobalPriorityEXT::eLow:
+    return "Low";
+  case QueueGlobalPriorityEXT::eMedium:
+    return "Medium";
+  case QueueGlobalPriorityEXT::eHigh:
+    return "High";
+  case QueueGlobalPriorityEXT::eRealtime:
+    return "Realtime";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class RasterizationOrderAMD {
+  eStrict = VK_RASTERIZATION_ORDER_STRICT_AMD,
+  eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD
+};
+
+VULKAN_HPP_INLINE std::string to_string(RasterizationOrderAMD value) {
+  switch (value) {
+  case RasterizationOrderAMD::eStrict:
+    return "Strict";
+  case RasterizationOrderAMD::eRelaxed:
+    return "Relaxed";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class RayTracingShaderGroupTypeKHR {
+  eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
+  eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
+  eProceduralHitGroup =
+      VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
+};
+using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
+
+VULKAN_HPP_INLINE std::string to_string(RayTracingShaderGroupTypeKHR value) {
+  switch (value) {
+  case RayTracingShaderGroupTypeKHR::eGeneral:
+    return "General";
+  case RayTracingShaderGroupTypeKHR::eTrianglesHitGroup:
+    return "TrianglesHitGroup";
+  case RayTracingShaderGroupTypeKHR::eProceduralHitGroup:
+    return "ProceduralHitGroup";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class RenderPassCreateFlagBits : VkRenderPassCreateFlags {
+  eTransformQCOM = VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
+};
+
+VULKAN_HPP_INLINE std::string to_string(RenderPassCreateFlagBits value) {
+  switch (value) {
+  case RenderPassCreateFlagBits::eTransformQCOM:
+    return "TransformQCOM";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ResolveModeFlagBits : VkResolveModeFlags {
+  eNone = VK_RESOLVE_MODE_NONE,
+  eSampleZero = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
+  eAverage = VK_RESOLVE_MODE_AVERAGE_BIT,
+  eMin = VK_RESOLVE_MODE_MIN_BIT,
+  eMax = VK_RESOLVE_MODE_MAX_BIT
+};
+using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(ResolveModeFlagBits value) {
+  switch (value) {
+  case ResolveModeFlagBits::eNone:
+    return "None";
+  case ResolveModeFlagBits::eSampleZero:
+    return "SampleZero";
+  case ResolveModeFlagBits::eAverage:
+    return "Average";
+  case ResolveModeFlagBits::eMin:
+    return "Min";
+  case ResolveModeFlagBits::eMax:
+    return "Max";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class Result {
+  // clang-format off
+      eSuccess = VK_SUCCESS
+    , eNotReady = VK_NOT_READY
+    , eTimeout = VK_TIMEOUT
+    , eEventSet = VK_EVENT_SET
+    , eEventReset = VK_EVENT_RESET
+    , eIncomplete = VK_INCOMPLETE
+    , eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY
+    , eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY
+    , eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED
+    , eErrorDeviceLost = VK_ERROR_DEVICE_LOST
+    , eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED
+    , eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT
+    , eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT
+    , eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT
+    , eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER
+    , eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS
+    , eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED
+    , eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL
+    , eErrorUnknown = VK_ERROR_UNKNOWN
+    , eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY
+    , eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE
+    , eErrorFragmentation = VK_ERROR_FRAGMENTATION
+    , eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS
+    , eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR
+    , eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR
+    , eSuboptimalKHR = VK_SUBOPTIMAL_KHR
+    , eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR
+    , eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR
+    , eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT
+    , eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV
+    , eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT
+    , eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT
+#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
+#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
+    , eErrorInvalidOpaqueCaptureAddressKHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR
+    , eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY_KHR
+    , eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT
+  // clang-format on
+};
+
+VULKAN_HPP_INLINE std::string to_string(Result value) {
+  switch (value) {
+  case Result::eSuccess:
+    return "Success";
+  case Result::eNotReady:
+    return "NotReady";
+  case Result::eTimeout:
+    return "Timeout";
+  case Result::eEventSet:
+    return "EventSet";
+  case Result::eEventReset:
+    return "EventReset";
+  case Result::eIncomplete:
+    return "Incomplete";
+  case Result::eErrorOutOfHostMemory:
+    return "ErrorOutOfHostMemory";
+  case Result::eErrorOutOfDeviceMemory:
+    return "ErrorOutOfDeviceMemory";
+  case Result::eErrorInitializationFailed:
+    return "ErrorInitializationFailed";
+  case Result::eErrorDeviceLost:
+    return "ErrorDeviceLost";
+  case Result::eErrorMemoryMapFailed:
+    return "ErrorMemoryMapFailed";
+  case Result::eErrorLayerNotPresent:
+    return "ErrorLayerNotPresent";
+  case Result::eErrorExtensionNotPresent:
+    return "ErrorExtensionNotPresent";
+  case Result::eErrorFeatureNotPresent:
+    return "ErrorFeatureNotPresent";
+  case Result::eErrorIncompatibleDriver:
+    return "ErrorIncompatibleDriver";
+  case Result::eErrorTooManyObjects:
+    return "ErrorTooManyObjects";
+  case Result::eErrorFormatNotSupported:
+    return "ErrorFormatNotSupported";
+  case Result::eErrorFragmentedPool:
+    return "ErrorFragmentedPool";
+  case Result::eErrorUnknown:
+    return "ErrorUnknown";
+  case Result::eErrorOutOfPoolMemory:
+    return "ErrorOutOfPoolMemory";
+  case Result::eErrorInvalidExternalHandle:
+    return "ErrorInvalidExternalHandle";
+  case Result::eErrorFragmentation:
+    return "ErrorFragmentation";
+  case Result::eErrorInvalidOpaqueCaptureAddress:
+    return "ErrorInvalidOpaqueCaptureAddress";
+  case Result::eErrorSurfaceLostKHR:
+    return "ErrorSurfaceLostKHR";
+  case Result::eErrorNativeWindowInUseKHR:
+    return "ErrorNativeWindowInUseKHR";
+  case Result::eSuboptimalKHR:
+    return "SuboptimalKHR";
+  case Result::eErrorOutOfDateKHR:
+    return "ErrorOutOfDateKHR";
+  case Result::eErrorIncompatibleDisplayKHR:
+    return "ErrorIncompatibleDisplayKHR";
+  case Result::eErrorValidationFailedEXT:
+    return "ErrorValidationFailedEXT";
+  case Result::eErrorInvalidShaderNV:
+    return "ErrorInvalidShaderNV";
+  case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT:
+    return "ErrorInvalidDrmFormatModifierPlaneLayoutEXT";
+  case Result::eErrorNotPermittedEXT:
+    return "ErrorNotPermittedEXT";
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  case Result::eErrorFullScreenExclusiveModeLostEXT:
+    return "ErrorFullScreenExclusiveModeLostEXT";
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  case Result::eThreadIdleKHR:
+    return "ThreadIdleKHR";
+  case Result::eThreadDoneKHR:
+    return "ThreadDoneKHR";
+  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)) +
+           " )";
+  }
+}
+
+enum class SampleCountFlagBits : VkSampleCountFlags {
+  e1 = VK_SAMPLE_COUNT_1_BIT,
+  e2 = VK_SAMPLE_COUNT_2_BIT,
+  e4 = VK_SAMPLE_COUNT_4_BIT,
+  e8 = VK_SAMPLE_COUNT_8_BIT,
+  e16 = VK_SAMPLE_COUNT_16_BIT,
+  e32 = VK_SAMPLE_COUNT_32_BIT,
+  e64 = VK_SAMPLE_COUNT_64_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(SampleCountFlagBits value) {
+  switch (value) {
+  case SampleCountFlagBits::e1:
+    return "1";
+  case SampleCountFlagBits::e2:
+    return "2";
+  case SampleCountFlagBits::e4:
+    return "4";
+  case SampleCountFlagBits::e8:
+    return "8";
+  case SampleCountFlagBits::e16:
+    return "16";
+  case SampleCountFlagBits::e32:
+    return "32";
+  case SampleCountFlagBits::e64:
+    return "64";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SamplerAddressMode {
+  eRepeat = VK_SAMPLER_ADDRESS_MODE_REPEAT,
+  eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
+  eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
+  eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
+  eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
+  eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(SamplerAddressMode value) {
+  switch (value) {
+  case SamplerAddressMode::eRepeat:
+    return "Repeat";
+  case SamplerAddressMode::eMirroredRepeat:
+    return "MirroredRepeat";
+  case SamplerAddressMode::eClampToEdge:
+    return "ClampToEdge";
+  case SamplerAddressMode::eClampToBorder:
+    return "ClampToBorder";
+  case SamplerAddressMode::eMirrorClampToEdge:
+    return "MirrorClampToEdge";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SamplerCreateFlagBits : VkSamplerCreateFlags {
+  eSubsampledEXT = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,
+  eSubsampledCoarseReconstructionEXT =
+      VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(SamplerCreateFlagBits value) {
+  switch (value) {
+  case SamplerCreateFlagBits::eSubsampledEXT:
+    return "SubsampledEXT";
+  case SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT:
+    return "SubsampledCoarseReconstructionEXT";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SamplerMipmapMode {
+  eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST,
+  eLinear = VK_SAMPLER_MIPMAP_MODE_LINEAR
+};
+
+VULKAN_HPP_INLINE std::string to_string(SamplerMipmapMode value) {
+  switch (value) {
+  case SamplerMipmapMode::eNearest:
+    return "Nearest";
+  case SamplerMipmapMode::eLinear:
+    return "Linear";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SamplerReductionMode {
+  eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
+  eMin = VK_SAMPLER_REDUCTION_MODE_MIN,
+  eMax = VK_SAMPLER_REDUCTION_MODE_MAX
+};
+using SamplerReductionModeEXT = SamplerReductionMode;
+
+VULKAN_HPP_INLINE std::string to_string(SamplerReductionMode value) {
+  switch (value) {
+  case SamplerReductionMode::eWeightedAverage:
+    return "WeightedAverage";
+  case SamplerReductionMode::eMin:
+    return "Min";
+  case SamplerReductionMode::eMax:
+    return "Max";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SamplerYcbcrModelConversion {
+  eRgbIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
+  eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
+  eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
+  eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
+  eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
+};
+using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
+
+VULKAN_HPP_INLINE std::string to_string(SamplerYcbcrModelConversion value) {
+  switch (value) {
+  case SamplerYcbcrModelConversion::eRgbIdentity:
+    return "RgbIdentity";
+  case SamplerYcbcrModelConversion::eYcbcrIdentity:
+    return "YcbcrIdentity";
+  case SamplerYcbcrModelConversion::eYcbcr709:
+    return "Ycbcr709";
+  case SamplerYcbcrModelConversion::eYcbcr601:
+    return "Ycbcr601";
+  case SamplerYcbcrModelConversion::eYcbcr2020:
+    return "Ycbcr2020";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SamplerYcbcrRange {
+  eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
+  eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
+};
+using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
+
+VULKAN_HPP_INLINE std::string to_string(SamplerYcbcrRange value) {
+  switch (value) {
+  case SamplerYcbcrRange::eItuFull:
+    return "ItuFull";
+  case SamplerYcbcrRange::eItuNarrow:
+    return "ItuNarrow";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ScopeNV {
+  eDevice = VK_SCOPE_DEVICE_NV,
+  eWorkgroup = VK_SCOPE_WORKGROUP_NV,
+  eSubgroup = VK_SCOPE_SUBGROUP_NV,
+  eQueueFamily = VK_SCOPE_QUEUE_FAMILY_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(ScopeNV value) {
+  switch (value) {
+  case ScopeNV::eDevice:
+    return "Device";
+  case ScopeNV::eWorkgroup:
+    return "Workgroup";
+  case ScopeNV::eSubgroup:
+    return "Subgroup";
+  case ScopeNV::eQueueFamily:
+    return "QueueFamily";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags {
+  eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
+};
+using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(SemaphoreImportFlagBits value) {
+  switch (value) {
+  case SemaphoreImportFlagBits::eTemporary:
+    return "Temporary";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SemaphoreType {
+  eBinary = VK_SEMAPHORE_TYPE_BINARY,
+  eTimeline = VK_SEMAPHORE_TYPE_TIMELINE
+};
+using SemaphoreTypeKHR = SemaphoreType;
+
+VULKAN_HPP_INLINE std::string to_string(SemaphoreType value) {
+  switch (value) {
+  case SemaphoreType::eBinary:
+    return "Binary";
+  case SemaphoreType::eTimeline:
+    return "Timeline";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SemaphoreWaitFlagBits : VkSemaphoreWaitFlags {
+  eAny = VK_SEMAPHORE_WAIT_ANY_BIT
+};
+using SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
+
+VULKAN_HPP_INLINE std::string to_string(SemaphoreWaitFlagBits value) {
+  switch (value) {
+  case SemaphoreWaitFlagBits::eAny:
+    return "Any";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ShaderCorePropertiesFlagBitsAMD : VkShaderCorePropertiesFlagsAMD {};
+
+VULKAN_HPP_INLINE std::string to_string(ShaderCorePropertiesFlagBitsAMD) {
+  return "(void)";
+}
+
+enum class ShaderFloatControlsIndependence {
+  e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
+  eAll = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
+  eNone = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
+};
+using ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
+
+VULKAN_HPP_INLINE std::string to_string(ShaderFloatControlsIndependence value) {
+  switch (value) {
+  case ShaderFloatControlsIndependence::e32BitOnly:
+    return "32BitOnly";
+  case ShaderFloatControlsIndependence::eAll:
+    return "All";
+  case ShaderFloatControlsIndependence::eNone:
+    return "None";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ShaderGroupShaderKHR {
+  eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
+  eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR,
+  eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR,
+  eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(ShaderGroupShaderKHR value) {
+  switch (value) {
+  case ShaderGroupShaderKHR::eGeneral:
+    return "General";
+  case ShaderGroupShaderKHR::eClosestHit:
+    return "ClosestHit";
+  case ShaderGroupShaderKHR::eAnyHit:
+    return "AnyHit";
+  case ShaderGroupShaderKHR::eIntersection:
+    return "Intersection";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ShaderInfoTypeAMD {
+  eStatistics = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
+  eBinary = VK_SHADER_INFO_TYPE_BINARY_AMD,
+  eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
+};
+
+VULKAN_HPP_INLINE std::string to_string(ShaderInfoTypeAMD value) {
+  switch (value) {
+  case ShaderInfoTypeAMD::eStatistics:
+    return "Statistics";
+  case ShaderInfoTypeAMD::eBinary:
+    return "Binary";
+  case ShaderInfoTypeAMD::eDisassembly:
+    return "Disassembly";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ShaderModuleCreateFlagBits : VkShaderModuleCreateFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(ShaderModuleCreateFlagBits) {
+  return "(void)";
+}
+
+enum class ShaderStageFlagBits : VkShaderStageFlags {
+  eVertex = VK_SHADER_STAGE_VERTEX_BIT,
+  eTessellationControl = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
+  eTessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
+  eGeometry = VK_SHADER_STAGE_GEOMETRY_BIT,
+  eFragment = VK_SHADER_STAGE_FRAGMENT_BIT,
+  eCompute = VK_SHADER_STAGE_COMPUTE_BIT,
+  eAllGraphics = VK_SHADER_STAGE_ALL_GRAPHICS,
+  eAll = VK_SHADER_STAGE_ALL,
+  eRaygenKHR = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
+  eAnyHitKHR = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
+  eClosestHitKHR = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
+  eMissKHR = VK_SHADER_STAGE_MISS_BIT_KHR,
+  eIntersectionKHR = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
+  eCallableKHR = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
+  eTaskNV = VK_SHADER_STAGE_TASK_BIT_NV,
+  eMeshNV = VK_SHADER_STAGE_MESH_BIT_NV,
+  eAnyHitNV = VK_SHADER_STAGE_ANY_HIT_BIT_NV,
+  eCallableNV = VK_SHADER_STAGE_CALLABLE_BIT_NV,
+  eClosestHitNV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV,
+  eIntersectionNV = VK_SHADER_STAGE_INTERSECTION_BIT_NV,
+  eMissNV = VK_SHADER_STAGE_MISS_BIT_NV,
+  eRaygenNV = VK_SHADER_STAGE_RAYGEN_BIT_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(ShaderStageFlagBits value) {
+  switch (value) {
+  case ShaderStageFlagBits::eVertex:
+    return "Vertex";
+  case ShaderStageFlagBits::eTessellationControl:
+    return "TessellationControl";
+  case ShaderStageFlagBits::eTessellationEvaluation:
+    return "TessellationEvaluation";
+  case ShaderStageFlagBits::eGeometry:
+    return "Geometry";
+  case ShaderStageFlagBits::eFragment:
+    return "Fragment";
+  case ShaderStageFlagBits::eCompute:
+    return "Compute";
+  case ShaderStageFlagBits::eAllGraphics:
+    return "AllGraphics";
+  case ShaderStageFlagBits::eAll:
+    return "All";
+  case ShaderStageFlagBits::eRaygenKHR:
+    return "RaygenKHR";
+  case ShaderStageFlagBits::eAnyHitKHR:
+    return "AnyHitKHR";
+  case ShaderStageFlagBits::eClosestHitKHR:
+    return "ClosestHitKHR";
+  case ShaderStageFlagBits::eMissKHR:
+    return "MissKHR";
+  case ShaderStageFlagBits::eIntersectionKHR:
+    return "IntersectionKHR";
+  case ShaderStageFlagBits::eCallableKHR:
+    return "CallableKHR";
+  case ShaderStageFlagBits::eTaskNV:
+    return "TaskNV";
+  case ShaderStageFlagBits::eMeshNV:
+    return "MeshNV";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ShadingRatePaletteEntryNV {
+  eNoInvocations = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
+  e16InvocationsPerPixel =
+      VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV,
+  e8InvocationsPerPixel =
+      VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV,
+  e4InvocationsPerPixel =
+      VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV,
+  e2InvocationsPerPixel =
+      VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV,
+  e1InvocationPerPixel =
+      VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV,
+  e1InvocationPer2X1Pixels =
+      VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV,
+  e1InvocationPer1X2Pixels =
+      VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV,
+  e1InvocationPer2X2Pixels =
+      VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV,
+  e1InvocationPer4X2Pixels =
+      VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV,
+  e1InvocationPer2X4Pixels =
+      VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV,
+  e1InvocationPer4X4Pixels =
+      VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(ShadingRatePaletteEntryNV value) {
+  switch (value) {
+  case ShadingRatePaletteEntryNV::eNoInvocations:
+    return "NoInvocations";
+  case ShadingRatePaletteEntryNV::e16InvocationsPerPixel:
+    return "16InvocationsPerPixel";
+  case ShadingRatePaletteEntryNV::e8InvocationsPerPixel:
+    return "8InvocationsPerPixel";
+  case ShadingRatePaletteEntryNV::e4InvocationsPerPixel:
+    return "4InvocationsPerPixel";
+  case ShadingRatePaletteEntryNV::e2InvocationsPerPixel:
+    return "2InvocationsPerPixel";
+  case ShadingRatePaletteEntryNV::e1InvocationPerPixel:
+    return "1InvocationPerPixel";
+  case ShadingRatePaletteEntryNV::e1InvocationPer2X1Pixels:
+    return "1InvocationPer2X1Pixels";
+  case ShadingRatePaletteEntryNV::e1InvocationPer1X2Pixels:
+    return "1InvocationPer1X2Pixels";
+  case ShadingRatePaletteEntryNV::e1InvocationPer2X2Pixels:
+    return "1InvocationPer2X2Pixels";
+  case ShadingRatePaletteEntryNV::e1InvocationPer4X2Pixels:
+    return "1InvocationPer4X2Pixels";
+  case ShadingRatePaletteEntryNV::e1InvocationPer2X4Pixels:
+    return "1InvocationPer2X4Pixels";
+  case ShadingRatePaletteEntryNV::e1InvocationPer4X4Pixels:
+    return "1InvocationPer4X4Pixels";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SharingMode {
+  eExclusive = VK_SHARING_MODE_EXCLUSIVE,
+  eConcurrent = VK_SHARING_MODE_CONCURRENT
+};
+
+VULKAN_HPP_INLINE std::string to_string(SharingMode value) {
+  switch (value) {
+  case SharingMode::eExclusive:
+    return "Exclusive";
+  case SharingMode::eConcurrent:
+    return "Concurrent";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SparseImageFormatFlagBits : VkSparseImageFormatFlags {
+  eSingleMiptail = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
+  eAlignedMipSize = VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,
+  eNonstandardBlockSize = VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(SparseImageFormatFlagBits value) {
+  switch (value) {
+  case SparseImageFormatFlagBits::eSingleMiptail:
+    return "SingleMiptail";
+  case SparseImageFormatFlagBits::eAlignedMipSize:
+    return "AlignedMipSize";
+  case SparseImageFormatFlagBits::eNonstandardBlockSize:
+    return "NonstandardBlockSize";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SparseMemoryBindFlagBits : VkSparseMemoryBindFlags {
+  eMetadata = VK_SPARSE_MEMORY_BIND_METADATA_BIT
+};
+
+VULKAN_HPP_INLINE std::string to_string(SparseMemoryBindFlagBits value) {
+  switch (value) {
+  case SparseMemoryBindFlagBits::eMetadata:
+    return "Metadata";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class StencilFaceFlagBits : VkStencilFaceFlags {
+  eFront = VK_STENCIL_FACE_FRONT_BIT,
+  eBack = VK_STENCIL_FACE_BACK_BIT,
+  eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK,
+  eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK
+};
+
+VULKAN_HPP_INLINE std::string to_string(StencilFaceFlagBits value) {
+  switch (value) {
+  case StencilFaceFlagBits::eFront:
+    return "Front";
+  case StencilFaceFlagBits::eBack:
+    return "Back";
+  case StencilFaceFlagBits::eFrontAndBack:
+    return "FrontAndBack";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class StencilOp {
+  eKeep = VK_STENCIL_OP_KEEP,
+  eZero = VK_STENCIL_OP_ZERO,
+  eReplace = VK_STENCIL_OP_REPLACE,
+  eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP,
+  eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP,
+  eInvert = VK_STENCIL_OP_INVERT,
+  eIncrementAndWrap = VK_STENCIL_OP_INCREMENT_AND_WRAP,
+  eDecrementAndWrap = VK_STENCIL_OP_DECREMENT_AND_WRAP
+};
+
+VULKAN_HPP_INLINE std::string to_string(StencilOp value) {
+  switch (value) {
+  case StencilOp::eKeep:
+    return "Keep";
+  case StencilOp::eZero:
+    return "Zero";
+  case StencilOp::eReplace:
+    return "Replace";
+  case StencilOp::eIncrementAndClamp:
+    return "IncrementAndClamp";
+  case StencilOp::eDecrementAndClamp:
+    return "DecrementAndClamp";
+  case StencilOp::eInvert:
+    return "Invert";
+  case StencilOp::eIncrementAndWrap:
+    return "IncrementAndWrap";
+  case StencilOp::eDecrementAndWrap:
+    return "DecrementAndWrap";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class StructureType {
+  // clang-format off
+      eApplicationInfo = VK_STRUCTURE_TYPE_APPLICATION_INFO
+    , eInstanceCreateInfo = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO
+    , eDeviceQueueCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO
+    , eDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO
+    , eSubmitInfo = VK_STRUCTURE_TYPE_SUBMIT_INFO
+    , eMemoryAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO
+    , eMappedMemoryRange = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE
+    , eBindSparseInfo = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO
+    , eFenceCreateInfo = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO
+    , eSemaphoreCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO
+    , eEventCreateInfo = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO
+    , eQueryPoolCreateInfo = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO
+    , eBufferCreateInfo = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO
+    , eBufferViewCreateInfo = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO
+    , eImageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO
+    , eImageViewCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO
+    , eShaderModuleCreateInfo = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
+    , ePipelineCacheCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO
+    , ePipelineShaderStageCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO
+    , ePipelineVertexInputStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO
+    , ePipelineInputAssemblyStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
+    , ePipelineTessellationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO
+    , ePipelineViewportStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO
+    , ePipelineRasterizationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO
+    , ePipelineMultisampleStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO
+    , ePipelineDepthStencilStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
+    , ePipelineColorBlendStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO
+    , ePipelineDynamicStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO
+    , eGraphicsPipelineCreateInfo = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO
+    , eComputePipelineCreateInfo = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO
+    , ePipelineLayoutCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
+    , eSamplerCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO
+    , eDescriptorSetLayoutCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO
+    , eDescriptorPoolCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO
+    , eDescriptorSetAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO
+    , eWriteDescriptorSet = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET
+    , eCopyDescriptorSet = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET
+    , eFramebufferCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO
+    , eRenderPassCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO
+    , eCommandPoolCreateInfo = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO
+    , eCommandBufferAllocateInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO
+    , eCommandBufferInheritanceInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO
+    , eCommandBufferBeginInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO
+    , eRenderPassBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO
+    , eBufferMemoryBarrier = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER
+    , eImageMemoryBarrier = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER
+    , eMemoryBarrier = VK_STRUCTURE_TYPE_MEMORY_BARRIER
+    , eLoaderInstanceCreateInfo = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
+    , eLoaderDeviceCreateInfo = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
+    , ePhysicalDeviceSubgroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
+    , eBindBufferMemoryInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO
+    , eBindImageMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO
+    , ePhysicalDevice16BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
+    , eMemoryDedicatedRequirements = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
+    , eMemoryDedicatedAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
+    , eMemoryAllocateFlagsInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO
+    , eDeviceGroupRenderPassBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
+    , eDeviceGroupCommandBufferBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO
+    , eDeviceGroupSubmitInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO
+    , eDeviceGroupBindSparseInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO
+    , eBindBufferMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO
+    , eBindImageMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO
+    , ePhysicalDeviceGroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES
+    , eDeviceGroupDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
+    , eBufferMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2
+    , eImageMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2
+    , eImageSparseMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2
+    , eMemoryRequirements2 = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2
+    , eSparseImageMemoryRequirements2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2
+    , ePhysicalDeviceFeatures2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
+    , ePhysicalDeviceProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2
+    , eFormatProperties2 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2
+    , eImageFormatProperties2 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2
+    , ePhysicalDeviceImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2
+    , eQueueFamilyProperties2 = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2
+    , ePhysicalDeviceMemoryProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2
+    , eSparseImageFormatProperties2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2
+    , ePhysicalDeviceSparseImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2
+    , ePhysicalDevicePointClippingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
+    , eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
+    , eImageViewUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
+    , ePipelineTessellationDomainOriginStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
+    , eRenderPassMultiviewCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO
+    , ePhysicalDeviceMultiviewFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
+    , ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
+    , ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
+    , eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO
+    , ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
+    , ePhysicalDeviceProtectedMemoryProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
+    , eDeviceQueueInfo2 = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2
+    , eSamplerYcbcrConversionCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO
+    , eSamplerYcbcrConversionInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
+    , eBindImagePlaneMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
+    , eImagePlaneMemoryRequirementsInfo = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO
+    , ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
+    , eSamplerYcbcrConversionImageFormatProperties = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
+    , eDescriptorUpdateTemplateCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO
+    , ePhysicalDeviceExternalImageFormatInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO
+    , eExternalImageFormatProperties = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
+    , ePhysicalDeviceExternalBufferInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO
+    , eExternalBufferProperties = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES
+    , ePhysicalDeviceIdProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
+    , eExternalMemoryBufferCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO
+    , eExternalMemoryImageCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO
+    , eExportMemoryAllocateInfo = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
+    , ePhysicalDeviceExternalFenceInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO
+    , eExternalFenceProperties = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES
+    , eExportFenceCreateInfo = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO
+    , eExportSemaphoreCreateInfo = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO
+    , ePhysicalDeviceExternalSemaphoreInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO
+    , eExternalSemaphoreProperties = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES
+    , ePhysicalDeviceMaintenance3Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
+    , eDescriptorSetLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT
+    , ePhysicalDeviceShaderDrawParametersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
+    , ePhysicalDeviceVulkan11Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
+    , ePhysicalDeviceVulkan11Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
+    , ePhysicalDeviceVulkan12Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
+    , ePhysicalDeviceVulkan12Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
+    , eImageFormatListCreateInfo = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
+    , eAttachmentDescription2 = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2
+    , eAttachmentReference2 = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2
+    , eSubpassDescription2 = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2
+    , eSubpassDependency2 = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2
+    , eRenderPassCreateInfo2 = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2
+    , eSubpassBeginInfo = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO
+    , eSubpassEndInfo = VK_STRUCTURE_TYPE_SUBPASS_END_INFO
+    , ePhysicalDevice8BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
+    , ePhysicalDeviceDriverProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
+    , ePhysicalDeviceShaderAtomicInt64Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
+    , ePhysicalDeviceShaderFloat16Int8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
+    , ePhysicalDeviceFloatControlsProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
+    , eDescriptorSetLayoutBindingFlagsCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO
+    , ePhysicalDeviceDescriptorIndexingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
+    , ePhysicalDeviceDescriptorIndexingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
+    , eDescriptorSetVariableDescriptorCountAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO
+    , eDescriptorSetVariableDescriptorCountLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
+    , ePhysicalDeviceDepthStencilResolveProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
+    , eSubpassDescriptionDepthStencilResolve = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE
+    , ePhysicalDeviceScalarBlockLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
+    , eImageStencilUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
+    , ePhysicalDeviceSamplerFilterMinmaxProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
+    , eSamplerReductionModeCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO
+    , ePhysicalDeviceVulkanMemoryModelFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
+    , ePhysicalDeviceImagelessFramebufferFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
+    , eFramebufferAttachmentsCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO
+    , eFramebufferAttachmentImageInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO
+    , eRenderPassAttachmentBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO
+    , ePhysicalDeviceUniformBufferStandardLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
+    , ePhysicalDeviceShaderSubgroupExtendedTypesFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
+    , ePhysicalDeviceSeparateDepthStencilLayoutsFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
+    , eAttachmentReferenceStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT
+    , eAttachmentDescriptionStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT
+    , ePhysicalDeviceHostQueryResetFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
+    , ePhysicalDeviceTimelineSemaphoreFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
+    , ePhysicalDeviceTimelineSemaphoreProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
+    , eSemaphoreTypeCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
+    , eTimelineSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO
+    , eSemaphoreWaitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO
+    , eSemaphoreSignalInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO
+    , ePhysicalDeviceBufferDeviceAddressFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
+    , eBufferDeviceAddressInfo = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO
+    , eBufferOpaqueCaptureAddressCreateInfo = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO
+    , eMemoryOpaqueCaptureAddressAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO
+    , eDeviceMemoryOpaqueCaptureAddressInfo = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO
+    , eSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR
+    , ePresentInfoKHR = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR
+    , eDeviceGroupPresentCapabilitiesKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR
+    , eImageSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR
+    , eBindImageMemorySwapchainInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR
+    , eAcquireNextImageInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR
+    , eDeviceGroupPresentInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR
+    , eDeviceGroupSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR
+    , eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR
+    , eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR
+    , eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR
+#if defined( VK_USE_PLATFORM_XLIB_KHR )
+    , eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+#if defined( VK_USE_PLATFORM_XCB_KHR )
+    , eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
+    , eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+#if defined( VK_USE_PLATFORM_ANDROID_KHR )
+    , eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+    , eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    , eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
+    , ePipelineRasterizationStateRasterizationOrderAMD = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD
+    , eDebugMarkerObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT
+    , eDebugMarkerObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT
+    , eDebugMarkerMarkerInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT
+    , eDedicatedAllocationImageCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV
+    , eDedicatedAllocationBufferCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV
+    , eDedicatedAllocationMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV
+    , ePhysicalDeviceTransformFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
+    , ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
+    , ePipelineRasterizationStateStreamCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT
+    , eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX
+    , eImageViewAddressPropertiesNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX
+    , eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD
+#if defined( VK_USE_PLATFORM_GGP )
+    , eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP
+#endif /*VK_USE_PLATFORM_GGP*/
+    , ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
+    , eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV
+    , eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+    , eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV
+    , eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV
+    , eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    , eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
+#if defined( VK_USE_PLATFORM_VI_NN )
+    , eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN
+#endif /*VK_USE_PLATFORM_VI_NN*/
+    , ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT
+    , eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT
+    , ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+    , eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR
+    , eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR
+    , eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR
+    , eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    , eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR
+    , eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR
+    , eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+    , eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR
+    , eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR
+    , eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR
+    , eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR
+    , eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    , eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR
+    , eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR
+    , ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
+    , eCommandBufferInheritanceConditionalRenderingInfoEXT = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
+    , ePhysicalDeviceConditionalRenderingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
+    , eConditionalRenderingBeginInfoEXT = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT
+    , ePresentRegionsKHR = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR
+    , ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV
+    , eSurfaceCapabilities2EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT
+    , eDisplayPowerInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT
+    , eDeviceEventInfoEXT = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT
+    , eDisplayEventInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT
+    , eSwapchainCounterCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT
+    , ePresentTimesInfoGOOGLE = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE
+    , ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX
+    , ePipelineViewportSwizzleStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV
+    , ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
+    , ePipelineDiscardRectangleStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
+    , ePhysicalDeviceConservativeRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
+    , ePipelineRasterizationConservativeStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT
+    , ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
+    , ePipelineRasterizationDepthClipStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT
+    , eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT
+    , eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+    , eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR
+    , eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR
+    , eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    , eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR
+    , eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR
+    , ePhysicalDevicePerformanceQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
+    , ePhysicalDevicePerformanceQueryPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
+    , eQueryPoolPerformanceCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR
+    , ePerformanceQuerySubmitInfoKHR = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR
+    , eAcquireProfilingLockInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR
+    , ePerformanceCounterKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR
+    , ePerformanceCounterDescriptionKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
+    , ePhysicalDeviceSurfaceInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR
+    , eSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR
+    , eSurfaceFormat2KHR = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR
+    , eDisplayProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR
+    , eDisplayPlaneProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR
+    , eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR
+    , eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR
+    , eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR
+#if defined( VK_USE_PLATFORM_IOS_MVK )
+    , eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+#if defined( VK_USE_PLATFORM_MACOS_MVK )
+    , eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+    , eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
+    , eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT
+    , eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT
+    , eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT
+    , eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
+#if defined( VK_USE_PLATFORM_ANDROID_KHR )
+    , eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID
+    , eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID
+    , eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID
+    , eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID
+    , eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID
+    , eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+    , ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT
+    , ePhysicalDeviceInlineUniformBlockPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT
+    , eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT
+    , eDescriptorPoolInlineUniformBlockCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT
+    , eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT
+    , eRenderPassSampleLocationsBeginInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT
+    , ePipelineSampleLocationsStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT
+    , ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
+    , eMultisamplePropertiesEXT = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT
+    , ePhysicalDeviceBlendOperationAdvancedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
+    , ePhysicalDeviceBlendOperationAdvancedPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
+    , ePipelineColorBlendAdvancedStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT
+    , ePipelineCoverageToColorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV
+    , eWriteDescriptorSetAccelerationStructureKHR = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR
+    , eAccelerationStructureBuildGeometryInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR
+    , eAccelerationStructureDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR
+    , eAccelerationStructureGeometryAabbsDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR
+    , eAccelerationStructureGeometryInstancesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR
+    , eAccelerationStructureGeometryTrianglesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR
+    , eAccelerationStructureGeometryKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR
+    , eAccelerationStructureVersionInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR
+    , eCopyAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR
+    , eCopyAccelerationStructureToMemoryInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR
+    , eCopyMemoryToAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR
+    , ePhysicalDeviceAccelerationStructureFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
+    , ePhysicalDeviceAccelerationStructurePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
+    , eAccelerationStructureCreateInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR
+    , eAccelerationStructureBuildSizesInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR
+    , ePhysicalDeviceRayTracingPipelineFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
+    , ePhysicalDeviceRayTracingPipelinePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
+    , eRayTracingPipelineCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR
+    , eRayTracingShaderGroupCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR
+    , eRayTracingPipelineInterfaceCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR
+    , ePhysicalDeviceRayQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
+    , ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV
+    , ePhysicalDeviceShaderSmBuiltinsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
+    , ePhysicalDeviceShaderSmBuiltinsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
+    , eDrmFormatModifierPropertiesListEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT
+    , ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT
+    , eImageDrmFormatModifierListCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT
+    , eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
+    , eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT
+    , eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT
+    , eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
+#if defined( VK_ENABLE_BETA_EXTENSIONS )
+    , ePhysicalDevicePortabilitySubsetFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR
+    , ePhysicalDevicePortabilitySubsetPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+    , ePipelineViewportShadingRateImageStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV
+    , ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
+    , ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
+    , ePipelineViewportCoarseSampleOrderStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV
+    , eRayTracingPipelineCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV
+    , eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV
+    , eGeometryNV = VK_STRUCTURE_TYPE_GEOMETRY_NV
+    , eGeometryTrianglesNV = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV
+    , eGeometryAabbNV = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV
+    , eBindAccelerationStructureMemoryInfoNV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV
+    , eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV
+    , eAccelerationStructureMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV
+    , ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
+    , eRayTracingShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV
+    , eAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV
+    , ePhysicalDeviceRepresentativeFragmentTestFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
+    , ePipelineRepresentativeFragmentTestStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
+    , ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT
+    , eFilterCubicImageViewImageFormatPropertiesEXT = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT
+    , eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT
+    , eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
+    , eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT
+    , ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
+    , ePhysicalDeviceShaderClockFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
+    , ePipelineCompilerControlCreateInfoAMD = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
+    , eCalibratedTimestampInfoEXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT
+    , ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
+    , eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
+    , ePhysicalDeviceVertexAttributeDivisorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
+    , ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT
+    , ePhysicalDeviceVertexAttributeDivisorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
+#if defined( VK_USE_PLATFORM_GGP )
+    , ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP
+#endif /*VK_USE_PLATFORM_GGP*/
+    , ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT
+    , ePhysicalDeviceComputeShaderDerivativesFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
+    , ePhysicalDeviceMeshShaderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
+    , ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
+    , ePhysicalDeviceFragmentShaderBarycentricFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV
+    , ePhysicalDeviceShaderImageFootprintFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
+    , ePipelineViewportExclusiveScissorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV
+    , ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
+    , eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV
+    , eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
+    , ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
+    , eQueryPoolPerformanceQueryCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL
+    , eInitializePerformanceApiInfoINTEL = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL
+    , ePerformanceMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL
+    , ePerformanceStreamMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL
+    , ePerformanceOverrideInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL
+    , ePerformanceConfigurationAcquireInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL
+    , ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
+    , eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD
+    , eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    , eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    , ePhysicalDeviceShaderTerminateInvocationFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR
+#if defined( VK_USE_PLATFORM_METAL_EXT )
+    , eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+    , ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
+    , ePhysicalDeviceFragmentDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
+    , eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT
+    , ePhysicalDeviceSubgroupSizeControlPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT
+    , ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT
+    , ePhysicalDeviceSubgroupSizeControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT
+    , eFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR
+    , ePipelineFragmentShadingRateStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
+    , ePhysicalDeviceFragmentShadingRatePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
+    , ePhysicalDeviceFragmentShadingRateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
+    , ePhysicalDeviceFragmentShadingRateKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR
+    , ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
+    , ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
+    , ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
+    , ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
+    , ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
+    , eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT
+    , eSurfaceProtectedCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR
+    , ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
+    , ePhysicalDeviceBufferDeviceAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
+    , eBufferDeviceAddressCreateInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
+    , ePhysicalDeviceToolPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT
+    , eValidationFeaturesEXT = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
+    , ePhysicalDeviceCooperativeMatrixFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
+    , eCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV
+    , ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
+    , ePhysicalDeviceCoverageReductionModeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
+    , ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV
+    , eFramebufferMixedSamplesCombinationNV = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV
+    , ePhysicalDeviceFragmentShaderInterlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
+    , ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+    , eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT
+    , eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT
+    , eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    , eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT
+    , ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
+    , ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
+    , ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
+    , ePhysicalDeviceShaderAtomicFloatFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
+    , ePhysicalDeviceIndexTypeUint8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
+    , ePhysicalDeviceExtendedDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
+    , ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
+    , ePipelineInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR
+    , ePipelineExecutablePropertiesKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR
+    , ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR
+    , ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR
+    , ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR
+    , ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT
+    , ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
+    , eGraphicsShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV
+    , eGraphicsPipelineShaderGroupsCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
+    , eIndirectCommandsLayoutTokenNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV
+    , eIndirectCommandsLayoutCreateInfoNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV
+    , eGeneratedCommandsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV
+    , eGeneratedCommandsMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV
+    , ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
+    , ePhysicalDeviceTexelBufferAlignmentFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
+    , ePhysicalDeviceTexelBufferAlignmentPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT
+    , eCommandBufferInheritanceRenderPassTransformInfoQCOM = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM
+    , eRenderPassTransformBeginInfoQCOM = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM
+    , ePhysicalDeviceDeviceMemoryReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT
+    , eDeviceDeviceMemoryReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT
+    , eDeviceMemoryReportCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT
+    , ePhysicalDeviceRobustness2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
+    , ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
+    , eSamplerCustomBorderColorCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT
+    , ePhysicalDeviceCustomBorderColorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
+    , ePhysicalDeviceCustomBorderColorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
+    , ePipelineLibraryCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
+    , ePhysicalDevicePrivateDataFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT
+    , eDevicePrivateDataCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT
+    , ePrivateDataSlotCreateInfoEXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT
+    , ePhysicalDevicePipelineCreationCacheControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT
+    , ePhysicalDeviceDiagnosticsConfigFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
+    , eDeviceDiagnosticsConfigCreateInfoNV = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
+    , eMemoryBarrier2KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR
+    , eBufferMemoryBarrier2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR
+    , eImageMemoryBarrier2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR
+    , eDependencyInfoKHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR
+    , eSubmitInfo2KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR
+    , eSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR
+    , eCommandBufferSubmitInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR
+    , ePhysicalDeviceSynchronization2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR
+    , eQueueFamilyCheckpointProperties2Nv = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
+    , eCheckpointData2Nv = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV
+#if defined( VK_USE_PLATFORM_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
+    , eBufferCollectionProperties2FUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA
+    , eSysmemColorSpaceFUCHSIA = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    , ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR
+    , ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
+    , ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
+    , ePipelineFragmentShadingRateEnumStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
+    , ePhysicalDeviceFragmentDensityMap2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
+    , ePhysicalDeviceFragmentDensityMap2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
+    , eCopyCommandTransformInfoQCOM = VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM
+    , ePhysicalDeviceImageRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT
+    , ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
+    , eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR
+    , eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR
+    , eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR
+    , eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR
+    , eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR
+    , eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR
+    , eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR
+    , eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR
+    , eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR
+    , eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR
+    , eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR
+    , ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
+#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
+    , eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+    , ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE
+    , eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE
+#if defined( VK_USE_PLATFORM_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
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined( VK_USE_PLATFORM_SCREEN_QNX )
+    , eScreenSurfaceCreateInfoQNX = VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+    , eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR
+    , eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR
+    , eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR
+    , eAttachmentReferenceStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR
+    , eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR
+    , eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR
+    , eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR
+    , eBindImageMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR
+    , eBindImagePlaneMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR
+    , eBufferDeviceAddressInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT
+    , eBufferDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR
+    , eBufferMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR
+    , eBufferOpaqueCaptureAddressCreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR
+    , eDebugReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT
+    , eDescriptorSetLayoutBindingFlagsCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT
+    , eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR
+    , eDescriptorSetVariableDescriptorCountAllocateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT
+    , eDescriptorSetVariableDescriptorCountLayoutSupportEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT
+    , eDescriptorUpdateTemplateCreateInfoKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR
+    , eDeviceGroupBindSparseInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR
+    , eDeviceGroupCommandBufferBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR
+    , eDeviceGroupDeviceCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR
+    , eDeviceGroupRenderPassBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR
+    , eDeviceGroupSubmitInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR
+    , eDeviceMemoryOpaqueCaptureAddressInfoKHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR
+    , eExportFenceCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR
+    , eExportMemoryAllocateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR
+    , eExportSemaphoreCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR
+    , eExternalBufferPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR
+    , eExternalFencePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR
+    , eExternalImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR
+    , eExternalMemoryBufferCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR
+    , eExternalMemoryImageCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR
+    , eExternalSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR
+    , eFormatProperties2KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR
+    , eFramebufferAttachmentsCreateInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR
+    , eFramebufferAttachmentImageInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR
+    , eImageFormatListCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR
+    , eImageFormatProperties2KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR
+    , eImageMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR
+    , eImagePlaneMemoryRequirementsInfoKHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR
+    , eImageSparseMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR
+    , eImageStencilUsageCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT
+    , eImageViewUsageCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR
+    , eMemoryAllocateFlagsInfoKHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR
+    , eMemoryDedicatedAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR
+    , eMemoryDedicatedRequirementsKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR
+    , eMemoryOpaqueCaptureAddressAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR
+    , eMemoryRequirements2KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR
+    , ePhysicalDevice16BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR
+    , ePhysicalDevice8BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR
+    , ePhysicalDeviceBufferAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
+    , ePhysicalDeviceBufferDeviceAddressFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR
+    , ePhysicalDeviceDepthStencilResolvePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR
+    , ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT
+    , ePhysicalDeviceDescriptorIndexingPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT
+    , ePhysicalDeviceDriverPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR
+    , ePhysicalDeviceExternalBufferInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR
+    , ePhysicalDeviceExternalFenceInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR
+    , ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR
+    , ePhysicalDeviceExternalSemaphoreInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR
+    , ePhysicalDeviceFeatures2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR
+    , ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR
+    , ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR
+    , ePhysicalDeviceGroupPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR
+    , ePhysicalDeviceHostQueryResetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT
+    , ePhysicalDeviceIdPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR
+    , ePhysicalDeviceImagelessFramebufferFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR
+    , ePhysicalDeviceImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR
+    , ePhysicalDeviceMaintenance3PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR
+    , ePhysicalDeviceMemoryProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR
+    , ePhysicalDeviceMultiviewFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR
+    , ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR
+    , ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR
+    , ePhysicalDeviceProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR
+    , ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT
+    , ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR
+    , ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT
+    , ePhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR
+    , ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR
+    , ePhysicalDeviceShaderDrawParameterFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES
+    , ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR
+    , ePhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR
+    , ePhysicalDeviceSparseImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR
+    , ePhysicalDeviceTimelineSemaphoreFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR
+    , ePhysicalDeviceTimelineSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR
+    , ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR
+    , ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR
+    , ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES
+    , ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR
+    , ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR
+    , ePipelineTessellationDomainOriginStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR
+    , eQueryPoolCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL
+    , eQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR
+    , eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR
+    , eRenderPassCreateInfo2KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR
+    , eRenderPassInputAttachmentAspectCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR
+    , eRenderPassMultiviewCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR
+    , eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT
+    , eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR
+    , eSamplerYcbcrConversionImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR
+    , eSamplerYcbcrConversionInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR
+    , eSemaphoreSignalInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR
+    , eSemaphoreTypeCreateInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR
+    , eSemaphoreWaitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR
+    , eSparseImageFormatProperties2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR
+    , eSparseImageMemoryRequirements2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR
+    , eSubpassBeginInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR
+    , eSubpassDependency2KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR
+    , eSubpassDescription2KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR
+    , eSubpassDescriptionDepthStencilResolveKHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR
+    , eSubpassEndInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR
+    , eTimelineSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR
+  // clang-format on
+};
+
+VULKAN_HPP_INLINE std::string to_string(StructureType value) {
+  switch (value) {
+  case StructureType::eApplicationInfo:
+    return "ApplicationInfo";
+  case StructureType::eInstanceCreateInfo:
+    return "InstanceCreateInfo";
+  case StructureType::eDeviceQueueCreateInfo:
+    return "DeviceQueueCreateInfo";
+  case StructureType::eDeviceCreateInfo:
+    return "DeviceCreateInfo";
+  case StructureType::eSubmitInfo:
+    return "SubmitInfo";
+  case StructureType::eMemoryAllocateInfo:
+    return "MemoryAllocateInfo";
+  case StructureType::eMappedMemoryRange:
+    return "MappedMemoryRange";
+  case StructureType::eBindSparseInfo:
+    return "BindSparseInfo";
+  case StructureType::eFenceCreateInfo:
+    return "FenceCreateInfo";
+  case StructureType::eSemaphoreCreateInfo:
+    return "SemaphoreCreateInfo";
+  case StructureType::eEventCreateInfo:
+    return "EventCreateInfo";
+  case StructureType::eQueryPoolCreateInfo:
+    return "QueryPoolCreateInfo";
+  case StructureType::eBufferCreateInfo:
+    return "BufferCreateInfo";
+  case StructureType::eBufferViewCreateInfo:
+    return "BufferViewCreateInfo";
+  case StructureType::eImageCreateInfo:
+    return "ImageCreateInfo";
+  case StructureType::eImageViewCreateInfo:
+    return "ImageViewCreateInfo";
+  case StructureType::eShaderModuleCreateInfo:
+    return "ShaderModuleCreateInfo";
+  case StructureType::ePipelineCacheCreateInfo:
+    return "PipelineCacheCreateInfo";
+  case StructureType::ePipelineShaderStageCreateInfo:
+    return "PipelineShaderStageCreateInfo";
+  case StructureType::ePipelineVertexInputStateCreateInfo:
+    return "PipelineVertexInputStateCreateInfo";
+  case StructureType::ePipelineInputAssemblyStateCreateInfo:
+    return "PipelineInputAssemblyStateCreateInfo";
+  case StructureType::ePipelineTessellationStateCreateInfo:
+    return "PipelineTessellationStateCreateInfo";
+  case StructureType::ePipelineViewportStateCreateInfo:
+    return "PipelineViewportStateCreateInfo";
+  case StructureType::ePipelineRasterizationStateCreateInfo:
+    return "PipelineRasterizationStateCreateInfo";
+  case StructureType::ePipelineMultisampleStateCreateInfo:
+    return "PipelineMultisampleStateCreateInfo";
+  case StructureType::ePipelineDepthStencilStateCreateInfo:
+    return "PipelineDepthStencilStateCreateInfo";
+  case StructureType::ePipelineColorBlendStateCreateInfo:
+    return "PipelineColorBlendStateCreateInfo";
+  case StructureType::ePipelineDynamicStateCreateInfo:
+    return "PipelineDynamicStateCreateInfo";
+  case StructureType::eGraphicsPipelineCreateInfo:
+    return "GraphicsPipelineCreateInfo";
+  case StructureType::eComputePipelineCreateInfo:
+    return "ComputePipelineCreateInfo";
+  case StructureType::ePipelineLayoutCreateInfo:
+    return "PipelineLayoutCreateInfo";
+  case StructureType::eSamplerCreateInfo:
+    return "SamplerCreateInfo";
+  case StructureType::eDescriptorSetLayoutCreateInfo:
+    return "DescriptorSetLayoutCreateInfo";
+  case StructureType::eDescriptorPoolCreateInfo:
+    return "DescriptorPoolCreateInfo";
+  case StructureType::eDescriptorSetAllocateInfo:
+    return "DescriptorSetAllocateInfo";
+  case StructureType::eWriteDescriptorSet:
+    return "WriteDescriptorSet";
+  case StructureType::eCopyDescriptorSet:
+    return "CopyDescriptorSet";
+  case StructureType::eFramebufferCreateInfo:
+    return "FramebufferCreateInfo";
+  case StructureType::eRenderPassCreateInfo:
+    return "RenderPassCreateInfo";
+  case StructureType::eCommandPoolCreateInfo:
+    return "CommandPoolCreateInfo";
+  case StructureType::eCommandBufferAllocateInfo:
+    return "CommandBufferAllocateInfo";
+  case StructureType::eCommandBufferInheritanceInfo:
+    return "CommandBufferInheritanceInfo";
+  case StructureType::eCommandBufferBeginInfo:
+    return "CommandBufferBeginInfo";
+  case StructureType::eRenderPassBeginInfo:
+    return "RenderPassBeginInfo";
+  case StructureType::eBufferMemoryBarrier:
+    return "BufferMemoryBarrier";
+  case StructureType::eImageMemoryBarrier:
+    return "ImageMemoryBarrier";
+  case StructureType::eMemoryBarrier:
+    return "MemoryBarrier";
+  case StructureType::eLoaderInstanceCreateInfo:
+    return "LoaderInstanceCreateInfo";
+  case StructureType::eLoaderDeviceCreateInfo:
+    return "LoaderDeviceCreateInfo";
+  case StructureType::ePhysicalDeviceSubgroupProperties:
+    return "PhysicalDeviceSubgroupProperties";
+  case StructureType::eBindBufferMemoryInfo:
+    return "BindBufferMemoryInfo";
+  case StructureType::eBindImageMemoryInfo:
+    return "BindImageMemoryInfo";
+  case StructureType::ePhysicalDevice16BitStorageFeatures:
+    return "PhysicalDevice16BitStorageFeatures";
+  case StructureType::eMemoryDedicatedRequirements:
+    return "MemoryDedicatedRequirements";
+  case StructureType::eMemoryDedicatedAllocateInfo:
+    return "MemoryDedicatedAllocateInfo";
+  case StructureType::eMemoryAllocateFlagsInfo:
+    return "MemoryAllocateFlagsInfo";
+  case StructureType::eDeviceGroupRenderPassBeginInfo:
+    return "DeviceGroupRenderPassBeginInfo";
+  case StructureType::eDeviceGroupCommandBufferBeginInfo:
+    return "DeviceGroupCommandBufferBeginInfo";
+  case StructureType::eDeviceGroupSubmitInfo:
+    return "DeviceGroupSubmitInfo";
+  case StructureType::eDeviceGroupBindSparseInfo:
+    return "DeviceGroupBindSparseInfo";
+  case StructureType::eBindBufferMemoryDeviceGroupInfo:
+    return "BindBufferMemoryDeviceGroupInfo";
+  case StructureType::eBindImageMemoryDeviceGroupInfo:
+    return "BindImageMemoryDeviceGroupInfo";
+  case StructureType::ePhysicalDeviceGroupProperties:
+    return "PhysicalDeviceGroupProperties";
+  case StructureType::eDeviceGroupDeviceCreateInfo:
+    return "DeviceGroupDeviceCreateInfo";
+  case StructureType::eBufferMemoryRequirementsInfo2:
+    return "BufferMemoryRequirementsInfo2";
+  case StructureType::eImageMemoryRequirementsInfo2:
+    return "ImageMemoryRequirementsInfo2";
+  case StructureType::eImageSparseMemoryRequirementsInfo2:
+    return "ImageSparseMemoryRequirementsInfo2";
+  case StructureType::eMemoryRequirements2:
+    return "MemoryRequirements2";
+  case StructureType::eSparseImageMemoryRequirements2:
+    return "SparseImageMemoryRequirements2";
+  case StructureType::ePhysicalDeviceFeatures2:
+    return "PhysicalDeviceFeatures2";
+  case StructureType::ePhysicalDeviceProperties2:
+    return "PhysicalDeviceProperties2";
+  case StructureType::eFormatProperties2:
+    return "FormatProperties2";
+  case StructureType::eImageFormatProperties2:
+    return "ImageFormatProperties2";
+  case StructureType::ePhysicalDeviceImageFormatInfo2:
+    return "PhysicalDeviceImageFormatInfo2";
+  case StructureType::eQueueFamilyProperties2:
+    return "QueueFamilyProperties2";
+  case StructureType::ePhysicalDeviceMemoryProperties2:
+    return "PhysicalDeviceMemoryProperties2";
+  case StructureType::eSparseImageFormatProperties2:
+    return "SparseImageFormatProperties2";
+  case StructureType::ePhysicalDeviceSparseImageFormatInfo2:
+    return "PhysicalDeviceSparseImageFormatInfo2";
+  case StructureType::ePhysicalDevicePointClippingProperties:
+    return "PhysicalDevicePointClippingProperties";
+  case StructureType::eRenderPassInputAttachmentAspectCreateInfo:
+    return "RenderPassInputAttachmentAspectCreateInfo";
+  case StructureType::eImageViewUsageCreateInfo:
+    return "ImageViewUsageCreateInfo";
+  case StructureType::ePipelineTessellationDomainOriginStateCreateInfo:
+    return "PipelineTessellationDomainOriginStateCreateInfo";
+  case StructureType::eRenderPassMultiviewCreateInfo:
+    return "RenderPassMultiviewCreateInfo";
+  case StructureType::ePhysicalDeviceMultiviewFeatures:
+    return "PhysicalDeviceMultiviewFeatures";
+  case StructureType::ePhysicalDeviceMultiviewProperties:
+    return "PhysicalDeviceMultiviewProperties";
+  case StructureType::ePhysicalDeviceVariablePointersFeatures:
+    return "PhysicalDeviceVariablePointersFeatures";
+  case StructureType::eProtectedSubmitInfo:
+    return "ProtectedSubmitInfo";
+  case StructureType::ePhysicalDeviceProtectedMemoryFeatures:
+    return "PhysicalDeviceProtectedMemoryFeatures";
+  case StructureType::ePhysicalDeviceProtectedMemoryProperties:
+    return "PhysicalDeviceProtectedMemoryProperties";
+  case StructureType::eDeviceQueueInfo2:
+    return "DeviceQueueInfo2";
+  case StructureType::eSamplerYcbcrConversionCreateInfo:
+    return "SamplerYcbcrConversionCreateInfo";
+  case StructureType::eSamplerYcbcrConversionInfo:
+    return "SamplerYcbcrConversionInfo";
+  case StructureType::eBindImagePlaneMemoryInfo:
+    return "BindImagePlaneMemoryInfo";
+  case StructureType::eImagePlaneMemoryRequirementsInfo:
+    return "ImagePlaneMemoryRequirementsInfo";
+  case StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures:
+    return "PhysicalDeviceSamplerYcbcrConversionFeatures";
+  case StructureType::eSamplerYcbcrConversionImageFormatProperties:
+    return "SamplerYcbcrConversionImageFormatProperties";
+  case StructureType::eDescriptorUpdateTemplateCreateInfo:
+    return "DescriptorUpdateTemplateCreateInfo";
+  case StructureType::ePhysicalDeviceExternalImageFormatInfo:
+    return "PhysicalDeviceExternalImageFormatInfo";
+  case StructureType::eExternalImageFormatProperties:
+    return "ExternalImageFormatProperties";
+  case StructureType::ePhysicalDeviceExternalBufferInfo:
+    return "PhysicalDeviceExternalBufferInfo";
+  case StructureType::eExternalBufferProperties:
+    return "ExternalBufferProperties";
+  case StructureType::ePhysicalDeviceIdProperties:
+    return "PhysicalDeviceIdProperties";
+  case StructureType::eExternalMemoryBufferCreateInfo:
+    return "ExternalMemoryBufferCreateInfo";
+  case StructureType::eExternalMemoryImageCreateInfo:
+    return "ExternalMemoryImageCreateInfo";
+  case StructureType::eExportMemoryAllocateInfo:
+    return "ExportMemoryAllocateInfo";
+  case StructureType::ePhysicalDeviceExternalFenceInfo:
+    return "PhysicalDeviceExternalFenceInfo";
+  case StructureType::eExternalFenceProperties:
+    return "ExternalFenceProperties";
+  case StructureType::eExportFenceCreateInfo:
+    return "ExportFenceCreateInfo";
+  case StructureType::eExportSemaphoreCreateInfo:
+    return "ExportSemaphoreCreateInfo";
+  case StructureType::ePhysicalDeviceExternalSemaphoreInfo:
+    return "PhysicalDeviceExternalSemaphoreInfo";
+  case StructureType::eExternalSemaphoreProperties:
+    return "ExternalSemaphoreProperties";
+  case StructureType::ePhysicalDeviceMaintenance3Properties:
+    return "PhysicalDeviceMaintenance3Properties";
+  case StructureType::eDescriptorSetLayoutSupport:
+    return "DescriptorSetLayoutSupport";
+  case StructureType::ePhysicalDeviceShaderDrawParametersFeatures:
+    return "PhysicalDeviceShaderDrawParametersFeatures";
+  case StructureType::ePhysicalDeviceVulkan11Features:
+    return "PhysicalDeviceVulkan11Features";
+  case StructureType::ePhysicalDeviceVulkan11Properties:
+    return "PhysicalDeviceVulkan11Properties";
+  case StructureType::ePhysicalDeviceVulkan12Features:
+    return "PhysicalDeviceVulkan12Features";
+  case StructureType::ePhysicalDeviceVulkan12Properties:
+    return "PhysicalDeviceVulkan12Properties";
+  case StructureType::eImageFormatListCreateInfo:
+    return "ImageFormatListCreateInfo";
+  case StructureType::eAttachmentDescription2:
+    return "AttachmentDescription2";
+  case StructureType::eAttachmentReference2:
+    return "AttachmentReference2";
+  case StructureType::eSubpassDescription2:
+    return "SubpassDescription2";
+  case StructureType::eSubpassDependency2:
+    return "SubpassDependency2";
+  case StructureType::eRenderPassCreateInfo2:
+    return "RenderPassCreateInfo2";
+  case StructureType::eSubpassBeginInfo:
+    return "SubpassBeginInfo";
+  case StructureType::eSubpassEndInfo:
+    return "SubpassEndInfo";
+  case StructureType::ePhysicalDevice8BitStorageFeatures:
+    return "PhysicalDevice8BitStorageFeatures";
+  case StructureType::ePhysicalDeviceDriverProperties:
+    return "PhysicalDeviceDriverProperties";
+  case StructureType::ePhysicalDeviceShaderAtomicInt64Features:
+    return "PhysicalDeviceShaderAtomicInt64Features";
+  case StructureType::ePhysicalDeviceShaderFloat16Int8Features:
+    return "PhysicalDeviceShaderFloat16Int8Features";
+  case StructureType::ePhysicalDeviceFloatControlsProperties:
+    return "PhysicalDeviceFloatControlsProperties";
+  case StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo:
+    return "DescriptorSetLayoutBindingFlagsCreateInfo";
+  case StructureType::ePhysicalDeviceDescriptorIndexingFeatures:
+    return "PhysicalDeviceDescriptorIndexingFeatures";
+  case StructureType::ePhysicalDeviceDescriptorIndexingProperties:
+    return "PhysicalDeviceDescriptorIndexingProperties";
+  case StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo:
+    return "DescriptorSetVariableDescriptorCountAllocateInfo";
+  case StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport:
+    return "DescriptorSetVariableDescriptorCountLayoutSupport";
+  case StructureType::ePhysicalDeviceDepthStencilResolveProperties:
+    return "PhysicalDeviceDepthStencilResolveProperties";
+  case StructureType::eSubpassDescriptionDepthStencilResolve:
+    return "SubpassDescriptionDepthStencilResolve";
+  case StructureType::ePhysicalDeviceScalarBlockLayoutFeatures:
+    return "PhysicalDeviceScalarBlockLayoutFeatures";
+  case StructureType::eImageStencilUsageCreateInfo:
+    return "ImageStencilUsageCreateInfo";
+  case StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties:
+    return "PhysicalDeviceSamplerFilterMinmaxProperties";
+  case StructureType::eSamplerReductionModeCreateInfo:
+    return "SamplerReductionModeCreateInfo";
+  case StructureType::ePhysicalDeviceVulkanMemoryModelFeatures:
+    return "PhysicalDeviceVulkanMemoryModelFeatures";
+  case StructureType::ePhysicalDeviceImagelessFramebufferFeatures:
+    return "PhysicalDeviceImagelessFramebufferFeatures";
+  case StructureType::eFramebufferAttachmentsCreateInfo:
+    return "FramebufferAttachmentsCreateInfo";
+  case StructureType::eFramebufferAttachmentImageInfo:
+    return "FramebufferAttachmentImageInfo";
+  case StructureType::eRenderPassAttachmentBeginInfo:
+    return "RenderPassAttachmentBeginInfo";
+  case StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures:
+    return "PhysicalDeviceUniformBufferStandardLayoutFeatures";
+  case StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures:
+    return "PhysicalDeviceShaderSubgroupExtendedTypesFeatures";
+  case StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures:
+    return "PhysicalDeviceSeparateDepthStencilLayoutsFeatures";
+  case StructureType::eAttachmentReferenceStencilLayout:
+    return "AttachmentReferenceStencilLayout";
+  case StructureType::eAttachmentDescriptionStencilLayout:
+    return "AttachmentDescriptionStencilLayout";
+  case StructureType::ePhysicalDeviceHostQueryResetFeatures:
+    return "PhysicalDeviceHostQueryResetFeatures";
+  case StructureType::ePhysicalDeviceTimelineSemaphoreFeatures:
+    return "PhysicalDeviceTimelineSemaphoreFeatures";
+  case StructureType::ePhysicalDeviceTimelineSemaphoreProperties:
+    return "PhysicalDeviceTimelineSemaphoreProperties";
+  case StructureType::eSemaphoreTypeCreateInfo:
+    return "SemaphoreTypeCreateInfo";
+  case StructureType::eTimelineSemaphoreSubmitInfo:
+    return "TimelineSemaphoreSubmitInfo";
+  case StructureType::eSemaphoreWaitInfo:
+    return "SemaphoreWaitInfo";
+  case StructureType::eSemaphoreSignalInfo:
+    return "SemaphoreSignalInfo";
+  case StructureType::ePhysicalDeviceBufferDeviceAddressFeatures:
+    return "PhysicalDeviceBufferDeviceAddressFeatures";
+  case StructureType::eBufferDeviceAddressInfo:
+    return "BufferDeviceAddressInfo";
+  case StructureType::eBufferOpaqueCaptureAddressCreateInfo:
+    return "BufferOpaqueCaptureAddressCreateInfo";
+  case StructureType::eMemoryOpaqueCaptureAddressAllocateInfo:
+    return "MemoryOpaqueCaptureAddressAllocateInfo";
+  case StructureType::eDeviceMemoryOpaqueCaptureAddressInfo:
+    return "DeviceMemoryOpaqueCaptureAddressInfo";
+  case StructureType::eSwapchainCreateInfoKHR:
+    return "SwapchainCreateInfoKHR";
+  case StructureType::ePresentInfoKHR:
+    return "PresentInfoKHR";
+  case StructureType::eDeviceGroupPresentCapabilitiesKHR:
+    return "DeviceGroupPresentCapabilitiesKHR";
+  case StructureType::eImageSwapchainCreateInfoKHR:
+    return "ImageSwapchainCreateInfoKHR";
+  case StructureType::eBindImageMemorySwapchainInfoKHR:
+    return "BindImageMemorySwapchainInfoKHR";
+  case StructureType::eAcquireNextImageInfoKHR:
+    return "AcquireNextImageInfoKHR";
+  case StructureType::eDeviceGroupPresentInfoKHR:
+    return "DeviceGroupPresentInfoKHR";
+  case StructureType::eDeviceGroupSwapchainCreateInfoKHR:
+    return "DeviceGroupSwapchainCreateInfoKHR";
+  case StructureType::eDisplayModeCreateInfoKHR:
+    return "DisplayModeCreateInfoKHR";
+  case StructureType::eDisplaySurfaceCreateInfoKHR:
+    return "DisplaySurfaceCreateInfoKHR";
+  case StructureType::eDisplayPresentInfoKHR:
+    return "DisplayPresentInfoKHR";
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+  case StructureType::eXlibSurfaceCreateInfoKHR:
+    return "XlibSurfaceCreateInfoKHR";
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+  case StructureType::eXcbSurfaceCreateInfoKHR:
+    return "XcbSurfaceCreateInfoKHR";
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+  case StructureType::eWaylandSurfaceCreateInfoKHR:
+    return "WaylandSurfaceCreateInfoKHR";
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  case StructureType::eAndroidSurfaceCreateInfoKHR:
+    return "AndroidSurfaceCreateInfoKHR";
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  case StructureType::eWin32SurfaceCreateInfoKHR:
+    return "Win32SurfaceCreateInfoKHR";
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  case StructureType::eDebugReportCallbackCreateInfoEXT:
+    return "DebugReportCallbackCreateInfoEXT";
+  case StructureType::ePipelineRasterizationStateRasterizationOrderAMD:
+    return "PipelineRasterizationStateRasterizationOrderAMD";
+  case StructureType::eDebugMarkerObjectNameInfoEXT:
+    return "DebugMarkerObjectNameInfoEXT";
+  case StructureType::eDebugMarkerObjectTagInfoEXT:
+    return "DebugMarkerObjectTagInfoEXT";
+  case StructureType::eDebugMarkerMarkerInfoEXT:
+    return "DebugMarkerMarkerInfoEXT";
+  case StructureType::eDedicatedAllocationImageCreateInfoNV:
+    return "DedicatedAllocationImageCreateInfoNV";
+  case StructureType::eDedicatedAllocationBufferCreateInfoNV:
+    return "DedicatedAllocationBufferCreateInfoNV";
+  case StructureType::eDedicatedAllocationMemoryAllocateInfoNV:
+    return "DedicatedAllocationMemoryAllocateInfoNV";
+  case StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT:
+    return "PhysicalDeviceTransformFeedbackFeaturesEXT";
+  case StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT:
+    return "PhysicalDeviceTransformFeedbackPropertiesEXT";
+  case StructureType::ePipelineRasterizationStateStreamCreateInfoEXT:
+    return "PipelineRasterizationStateStreamCreateInfoEXT";
+  case StructureType::eImageViewHandleInfoNVX:
+    return "ImageViewHandleInfoNVX";
+  case StructureType::eImageViewAddressPropertiesNVX:
+    return "ImageViewAddressPropertiesNVX";
+  case StructureType::eTextureLodGatherFormatPropertiesAMD:
+    return "TextureLodGatherFormatPropertiesAMD";
+#if defined(VK_USE_PLATFORM_GGP)
+  case StructureType::eStreamDescriptorSurfaceCreateInfoGGP:
+    return "StreamDescriptorSurfaceCreateInfoGGP";
+#endif /*VK_USE_PLATFORM_GGP*/
+  case StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV:
+    return "PhysicalDeviceCornerSampledImageFeaturesNV";
+  case StructureType::eExternalMemoryImageCreateInfoNV:
+    return "ExternalMemoryImageCreateInfoNV";
+  case StructureType::eExportMemoryAllocateInfoNV:
+    return "ExportMemoryAllocateInfoNV";
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  case StructureType::eImportMemoryWin32HandleInfoNV:
+    return "ImportMemoryWin32HandleInfoNV";
+  case StructureType::eExportMemoryWin32HandleInfoNV:
+    return "ExportMemoryWin32HandleInfoNV";
+  case StructureType::eWin32KeyedMutexAcquireReleaseInfoNV:
+    return "Win32KeyedMutexAcquireReleaseInfoNV";
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  case StructureType::eValidationFlagsEXT:
+    return "ValidationFlagsEXT";
+#if defined(VK_USE_PLATFORM_VI_NN)
+  case StructureType::eViSurfaceCreateInfoNN:
+    return "ViSurfaceCreateInfoNN";
+#endif /*VK_USE_PLATFORM_VI_NN*/
+  case StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT:
+    return "PhysicalDeviceTextureCompressionAstcHdrFeaturesEXT";
+  case StructureType::eImageViewAstcDecodeModeEXT:
+    return "ImageViewAstcDecodeModeEXT";
+  case StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT:
+    return "PhysicalDeviceAstcDecodeFeaturesEXT";
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  case StructureType::eImportMemoryWin32HandleInfoKHR:
+    return "ImportMemoryWin32HandleInfoKHR";
+  case StructureType::eExportMemoryWin32HandleInfoKHR:
+    return "ExportMemoryWin32HandleInfoKHR";
+  case StructureType::eMemoryWin32HandlePropertiesKHR:
+    return "MemoryWin32HandlePropertiesKHR";
+  case StructureType::eMemoryGetWin32HandleInfoKHR:
+    return "MemoryGetWin32HandleInfoKHR";
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  case StructureType::eImportMemoryFdInfoKHR:
+    return "ImportMemoryFdInfoKHR";
+  case StructureType::eMemoryFdPropertiesKHR:
+    return "MemoryFdPropertiesKHR";
+  case StructureType::eMemoryGetFdInfoKHR:
+    return "MemoryGetFdInfoKHR";
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  case StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR:
+    return "Win32KeyedMutexAcquireReleaseInfoKHR";
+  case StructureType::eImportSemaphoreWin32HandleInfoKHR:
+    return "ImportSemaphoreWin32HandleInfoKHR";
+  case StructureType::eExportSemaphoreWin32HandleInfoKHR:
+    return "ExportSemaphoreWin32HandleInfoKHR";
+  case StructureType::eD3D12FenceSubmitInfoKHR:
+    return "D3D12FenceSubmitInfoKHR";
+  case StructureType::eSemaphoreGetWin32HandleInfoKHR:
+    return "SemaphoreGetWin32HandleInfoKHR";
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  case StructureType::eImportSemaphoreFdInfoKHR:
+    return "ImportSemaphoreFdInfoKHR";
+  case StructureType::eSemaphoreGetFdInfoKHR:
+    return "SemaphoreGetFdInfoKHR";
+  case StructureType::ePhysicalDevicePushDescriptorPropertiesKHR:
+    return "PhysicalDevicePushDescriptorPropertiesKHR";
+  case StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT:
+    return "CommandBufferInheritanceConditionalRenderingInfoEXT";
+  case StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT:
+    return "PhysicalDeviceConditionalRenderingFeaturesEXT";
+  case StructureType::eConditionalRenderingBeginInfoEXT:
+    return "ConditionalRenderingBeginInfoEXT";
+  case StructureType::ePresentRegionsKHR:
+    return "PresentRegionsKHR";
+  case StructureType::ePipelineViewportWScalingStateCreateInfoNV:
+    return "PipelineViewportWScalingStateCreateInfoNV";
+  case StructureType::eSurfaceCapabilities2EXT:
+    return "SurfaceCapabilities2EXT";
+  case StructureType::eDisplayPowerInfoEXT:
+    return "DisplayPowerInfoEXT";
+  case StructureType::eDeviceEventInfoEXT:
+    return "DeviceEventInfoEXT";
+  case StructureType::eDisplayEventInfoEXT:
+    return "DisplayEventInfoEXT";
+  case StructureType::eSwapchainCounterCreateInfoEXT:
+    return "SwapchainCounterCreateInfoEXT";
+  case StructureType::ePresentTimesInfoGOOGLE:
+    return "PresentTimesInfoGOOGLE";
+  case StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX:
+    return "PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX";
+  case StructureType::ePipelineViewportSwizzleStateCreateInfoNV:
+    return "PipelineViewportSwizzleStateCreateInfoNV";
+  case StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT:
+    return "PhysicalDeviceDiscardRectanglePropertiesEXT";
+  case StructureType::ePipelineDiscardRectangleStateCreateInfoEXT:
+    return "PipelineDiscardRectangleStateCreateInfoEXT";
+  case StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT:
+    return "PhysicalDeviceConservativeRasterizationPropertiesEXT";
+  case StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT:
+    return "PipelineRasterizationConservativeStateCreateInfoEXT";
+  case StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT:
+    return "PhysicalDeviceDepthClipEnableFeaturesEXT";
+  case StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT:
+    return "PipelineRasterizationDepthClipStateCreateInfoEXT";
+  case StructureType::eHdrMetadataEXT:
+    return "HdrMetadataEXT";
+  case StructureType::eSharedPresentSurfaceCapabilitiesKHR:
+    return "SharedPresentSurfaceCapabilitiesKHR";
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  case StructureType::eImportFenceWin32HandleInfoKHR:
+    return "ImportFenceWin32HandleInfoKHR";
+  case StructureType::eExportFenceWin32HandleInfoKHR:
+    return "ExportFenceWin32HandleInfoKHR";
+  case StructureType::eFenceGetWin32HandleInfoKHR:
+    return "FenceGetWin32HandleInfoKHR";
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  case StructureType::eImportFenceFdInfoKHR:
+    return "ImportFenceFdInfoKHR";
+  case StructureType::eFenceGetFdInfoKHR:
+    return "FenceGetFdInfoKHR";
+  case StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR:
+    return "PhysicalDevicePerformanceQueryFeaturesKHR";
+  case StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR:
+    return "PhysicalDevicePerformanceQueryPropertiesKHR";
+  case StructureType::eQueryPoolPerformanceCreateInfoKHR:
+    return "QueryPoolPerformanceCreateInfoKHR";
+  case StructureType::ePerformanceQuerySubmitInfoKHR:
+    return "PerformanceQuerySubmitInfoKHR";
+  case StructureType::eAcquireProfilingLockInfoKHR:
+    return "AcquireProfilingLockInfoKHR";
+  case StructureType::ePerformanceCounterKHR:
+    return "PerformanceCounterKHR";
+  case StructureType::ePerformanceCounterDescriptionKHR:
+    return "PerformanceCounterDescriptionKHR";
+  case StructureType::ePhysicalDeviceSurfaceInfo2KHR:
+    return "PhysicalDeviceSurfaceInfo2KHR";
+  case StructureType::eSurfaceCapabilities2KHR:
+    return "SurfaceCapabilities2KHR";
+  case StructureType::eSurfaceFormat2KHR:
+    return "SurfaceFormat2KHR";
+  case StructureType::eDisplayProperties2KHR:
+    return "DisplayProperties2KHR";
+  case StructureType::eDisplayPlaneProperties2KHR:
+    return "DisplayPlaneProperties2KHR";
+  case StructureType::eDisplayModeProperties2KHR:
+    return "DisplayModeProperties2KHR";
+  case StructureType::eDisplayPlaneInfo2KHR:
+    return "DisplayPlaneInfo2KHR";
+  case StructureType::eDisplayPlaneCapabilities2KHR:
+    return "DisplayPlaneCapabilities2KHR";
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+  case StructureType::eIosSurfaceCreateInfoMVK:
+    return "IosSurfaceCreateInfoMVK";
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+  case StructureType::eMacosSurfaceCreateInfoMVK:
+    return "MacosSurfaceCreateInfoMVK";
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+  case StructureType::eDebugUtilsObjectNameInfoEXT:
+    return "DebugUtilsObjectNameInfoEXT";
+  case StructureType::eDebugUtilsObjectTagInfoEXT:
+    return "DebugUtilsObjectTagInfoEXT";
+  case StructureType::eDebugUtilsLabelEXT:
+    return "DebugUtilsLabelEXT";
+  case StructureType::eDebugUtilsMessengerCallbackDataEXT:
+    return "DebugUtilsMessengerCallbackDataEXT";
+  case StructureType::eDebugUtilsMessengerCreateInfoEXT:
+    return "DebugUtilsMessengerCreateInfoEXT";
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  case StructureType::eAndroidHardwareBufferUsageANDROID:
+    return "AndroidHardwareBufferUsageANDROID";
+  case StructureType::eAndroidHardwareBufferPropertiesANDROID:
+    return "AndroidHardwareBufferPropertiesANDROID";
+  case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID:
+    return "AndroidHardwareBufferFormatPropertiesANDROID";
+  case StructureType::eImportAndroidHardwareBufferInfoANDROID:
+    return "ImportAndroidHardwareBufferInfoANDROID";
+  case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID:
+    return "MemoryGetAndroidHardwareBufferInfoANDROID";
+  case StructureType::eExternalFormatANDROID:
+    return "ExternalFormatANDROID";
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+  case StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT:
+    return "PhysicalDeviceInlineUniformBlockFeaturesEXT";
+  case StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT:
+    return "PhysicalDeviceInlineUniformBlockPropertiesEXT";
+  case StructureType::eWriteDescriptorSetInlineUniformBlockEXT:
+    return "WriteDescriptorSetInlineUniformBlockEXT";
+  case StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT:
+    return "DescriptorPoolInlineUniformBlockCreateInfoEXT";
+  case StructureType::eSampleLocationsInfoEXT:
+    return "SampleLocationsInfoEXT";
+  case StructureType::eRenderPassSampleLocationsBeginInfoEXT:
+    return "RenderPassSampleLocationsBeginInfoEXT";
+  case StructureType::ePipelineSampleLocationsStateCreateInfoEXT:
+    return "PipelineSampleLocationsStateCreateInfoEXT";
+  case StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT:
+    return "PhysicalDeviceSampleLocationsPropertiesEXT";
+  case StructureType::eMultisamplePropertiesEXT:
+    return "MultisamplePropertiesEXT";
+  case StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT:
+    return "PhysicalDeviceBlendOperationAdvancedFeaturesEXT";
+  case StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT:
+    return "PhysicalDeviceBlendOperationAdvancedPropertiesEXT";
+  case StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT:
+    return "PipelineColorBlendAdvancedStateCreateInfoEXT";
+  case StructureType::ePipelineCoverageToColorStateCreateInfoNV:
+    return "PipelineCoverageToColorStateCreateInfoNV";
+  case StructureType::eWriteDescriptorSetAccelerationStructureKHR:
+    return "WriteDescriptorSetAccelerationStructureKHR";
+  case StructureType::eAccelerationStructureBuildGeometryInfoKHR:
+    return "AccelerationStructureBuildGeometryInfoKHR";
+  case StructureType::eAccelerationStructureDeviceAddressInfoKHR:
+    return "AccelerationStructureDeviceAddressInfoKHR";
+  case StructureType::eAccelerationStructureGeometryAabbsDataKHR:
+    return "AccelerationStructureGeometryAabbsDataKHR";
+  case StructureType::eAccelerationStructureGeometryInstancesDataKHR:
+    return "AccelerationStructureGeometryInstancesDataKHR";
+  case StructureType::eAccelerationStructureGeometryTrianglesDataKHR:
+    return "AccelerationStructureGeometryTrianglesDataKHR";
+  case StructureType::eAccelerationStructureGeometryKHR:
+    return "AccelerationStructureGeometryKHR";
+  case StructureType::eAccelerationStructureVersionInfoKHR:
+    return "AccelerationStructureVersionInfoKHR";
+  case StructureType::eCopyAccelerationStructureInfoKHR:
+    return "CopyAccelerationStructureInfoKHR";
+  case StructureType::eCopyAccelerationStructureToMemoryInfoKHR:
+    return "CopyAccelerationStructureToMemoryInfoKHR";
+  case StructureType::eCopyMemoryToAccelerationStructureInfoKHR:
+    return "CopyMemoryToAccelerationStructureInfoKHR";
+  case StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR:
+    return "PhysicalDeviceAccelerationStructureFeaturesKHR";
+  case StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR:
+    return "PhysicalDeviceAccelerationStructurePropertiesKHR";
+  case StructureType::eAccelerationStructureCreateInfoKHR:
+    return "AccelerationStructureCreateInfoKHR";
+  case StructureType::eAccelerationStructureBuildSizesInfoKHR:
+    return "AccelerationStructureBuildSizesInfoKHR";
+  case StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR:
+    return "PhysicalDeviceRayTracingPipelineFeaturesKHR";
+  case StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR:
+    return "PhysicalDeviceRayTracingPipelinePropertiesKHR";
+  case StructureType::eRayTracingPipelineCreateInfoKHR:
+    return "RayTracingPipelineCreateInfoKHR";
+  case StructureType::eRayTracingShaderGroupCreateInfoKHR:
+    return "RayTracingShaderGroupCreateInfoKHR";
+  case StructureType::eRayTracingPipelineInterfaceCreateInfoKHR:
+    return "RayTracingPipelineInterfaceCreateInfoKHR";
+  case StructureType::ePhysicalDeviceRayQueryFeaturesKHR:
+    return "PhysicalDeviceRayQueryFeaturesKHR";
+  case StructureType::ePipelineCoverageModulationStateCreateInfoNV:
+    return "PipelineCoverageModulationStateCreateInfoNV";
+  case StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV:
+    return "PhysicalDeviceShaderSmBuiltinsFeaturesNV";
+  case StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV:
+    return "PhysicalDeviceShaderSmBuiltinsPropertiesNV";
+  case StructureType::eDrmFormatModifierPropertiesListEXT:
+    return "DrmFormatModifierPropertiesListEXT";
+  case StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT:
+    return "PhysicalDeviceImageDrmFormatModifierInfoEXT";
+  case StructureType::eImageDrmFormatModifierListCreateInfoEXT:
+    return "ImageDrmFormatModifierListCreateInfoEXT";
+  case StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT:
+    return "ImageDrmFormatModifierExplicitCreateInfoEXT";
+  case StructureType::eImageDrmFormatModifierPropertiesEXT:
+    return "ImageDrmFormatModifierPropertiesEXT";
+  case StructureType::eValidationCacheCreateInfoEXT:
+    return "ValidationCacheCreateInfoEXT";
+  case StructureType::eShaderModuleValidationCacheCreateInfoEXT:
+    return "ShaderModuleValidationCacheCreateInfoEXT";
+#if defined(VK_ENABLE_BETA_EXTENSIONS)
+  case StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR:
+    return "PhysicalDevicePortabilitySubsetFeaturesKHR";
+  case StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR:
+    return "PhysicalDevicePortabilitySubsetPropertiesKHR";
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+  case StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV:
+    return "PipelineViewportShadingRateImageStateCreateInfoNV";
+  case StructureType::ePhysicalDeviceShadingRateImageFeaturesNV:
+    return "PhysicalDeviceShadingRateImageFeaturesNV";
+  case StructureType::ePhysicalDeviceShadingRateImagePropertiesNV:
+    return "PhysicalDeviceShadingRateImagePropertiesNV";
+  case StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV:
+    return "PipelineViewportCoarseSampleOrderStateCreateInfoNV";
+  case StructureType::eRayTracingPipelineCreateInfoNV:
+    return "RayTracingPipelineCreateInfoNV";
+  case StructureType::eAccelerationStructureCreateInfoNV:
+    return "AccelerationStructureCreateInfoNV";
+  case StructureType::eGeometryNV:
+    return "GeometryNV";
+  case StructureType::eGeometryTrianglesNV:
+    return "GeometryTrianglesNV";
+  case StructureType::eGeometryAabbNV:
+    return "GeometryAabbNV";
+  case StructureType::eBindAccelerationStructureMemoryInfoNV:
+    return "BindAccelerationStructureMemoryInfoNV";
+  case StructureType::eWriteDescriptorSetAccelerationStructureNV:
+    return "WriteDescriptorSetAccelerationStructureNV";
+  case StructureType::eAccelerationStructureMemoryRequirementsInfoNV:
+    return "AccelerationStructureMemoryRequirementsInfoNV";
+  case StructureType::ePhysicalDeviceRayTracingPropertiesNV:
+    return "PhysicalDeviceRayTracingPropertiesNV";
+  case StructureType::eRayTracingShaderGroupCreateInfoNV:
+    return "RayTracingShaderGroupCreateInfoNV";
+  case StructureType::eAccelerationStructureInfoNV:
+    return "AccelerationStructureInfoNV";
+  case StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV:
+    return "PhysicalDeviceRepresentativeFragmentTestFeaturesNV";
+  case StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV:
+    return "PipelineRepresentativeFragmentTestStateCreateInfoNV";
+  case StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT:
+    return "PhysicalDeviceImageViewImageFormatInfoEXT";
+  case StructureType::eFilterCubicImageViewImageFormatPropertiesEXT:
+    return "FilterCubicImageViewImageFormatPropertiesEXT";
+  case StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT:
+    return "DeviceQueueGlobalPriorityCreateInfoEXT";
+  case StructureType::eImportMemoryHostPointerInfoEXT:
+    return "ImportMemoryHostPointerInfoEXT";
+  case StructureType::eMemoryHostPointerPropertiesEXT:
+    return "MemoryHostPointerPropertiesEXT";
+  case StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT:
+    return "PhysicalDeviceExternalMemoryHostPropertiesEXT";
+  case StructureType::ePhysicalDeviceShaderClockFeaturesKHR:
+    return "PhysicalDeviceShaderClockFeaturesKHR";
+  case StructureType::ePipelineCompilerControlCreateInfoAMD:
+    return "PipelineCompilerControlCreateInfoAMD";
+  case StructureType::eCalibratedTimestampInfoEXT:
+    return "CalibratedTimestampInfoEXT";
+  case StructureType::ePhysicalDeviceShaderCorePropertiesAMD:
+    return "PhysicalDeviceShaderCorePropertiesAMD";
+  case StructureType::eDeviceMemoryOverallocationCreateInfoAMD:
+    return "DeviceMemoryOverallocationCreateInfoAMD";
+  case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT:
+    return "PhysicalDeviceVertexAttributeDivisorPropertiesEXT";
+  case StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT:
+    return "PipelineVertexInputDivisorStateCreateInfoEXT";
+  case StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT:
+    return "PhysicalDeviceVertexAttributeDivisorFeaturesEXT";
+#if defined(VK_USE_PLATFORM_GGP)
+  case StructureType::ePresentFrameTokenGGP:
+    return "PresentFrameTokenGGP";
+#endif /*VK_USE_PLATFORM_GGP*/
+  case StructureType::ePipelineCreationFeedbackCreateInfoEXT:
+    return "PipelineCreationFeedbackCreateInfoEXT";
+  case StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV:
+    return "PhysicalDeviceComputeShaderDerivativesFeaturesNV";
+  case StructureType::ePhysicalDeviceMeshShaderFeaturesNV:
+    return "PhysicalDeviceMeshShaderFeaturesNV";
+  case StructureType::ePhysicalDeviceMeshShaderPropertiesNV:
+    return "PhysicalDeviceMeshShaderPropertiesNV";
+  case StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV:
+    return "PhysicalDeviceFragmentShaderBarycentricFeaturesNV";
+  case StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV:
+    return "PhysicalDeviceShaderImageFootprintFeaturesNV";
+  case StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV:
+    return "PipelineViewportExclusiveScissorStateCreateInfoNV";
+  case StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV:
+    return "PhysicalDeviceExclusiveScissorFeaturesNV";
+  case StructureType::eCheckpointDataNV:
+    return "CheckpointDataNV";
+  case StructureType::eQueueFamilyCheckpointPropertiesNV:
+    return "QueueFamilyCheckpointPropertiesNV";
+  case StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL:
+    return "PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL";
+  case StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL:
+    return "QueryPoolPerformanceQueryCreateInfoINTEL";
+  case StructureType::eInitializePerformanceApiInfoINTEL:
+    return "InitializePerformanceApiInfoINTEL";
+  case StructureType::ePerformanceMarkerInfoINTEL:
+    return "PerformanceMarkerInfoINTEL";
+  case StructureType::ePerformanceStreamMarkerInfoINTEL:
+    return "PerformanceStreamMarkerInfoINTEL";
+  case StructureType::ePerformanceOverrideInfoINTEL:
+    return "PerformanceOverrideInfoINTEL";
+  case StructureType::ePerformanceConfigurationAcquireInfoINTEL:
+    return "PerformanceConfigurationAcquireInfoINTEL";
+  case StructureType::ePhysicalDevicePciBusInfoPropertiesEXT:
+    return "PhysicalDevicePciBusInfoPropertiesEXT";
+  case StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD:
+    return "DisplayNativeHdrSurfaceCapabilitiesAMD";
+  case StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD:
+    return "SwapchainDisplayNativeHdrCreateInfoAMD";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  case StructureType::eImagepipeSurfaceCreateInfoFUCHSIA:
+    return "ImagepipeSurfaceCreateInfoFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  case StructureType::ePhysicalDeviceShaderTerminateInvocationFeaturesKHR:
+    return "PhysicalDeviceShaderTerminateInvocationFeaturesKHR";
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+  case StructureType::eMetalSurfaceCreateInfoEXT:
+    return "MetalSurfaceCreateInfoEXT";
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+  case StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT:
+    return "PhysicalDeviceFragmentDensityMapFeaturesEXT";
+  case StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT:
+    return "PhysicalDeviceFragmentDensityMapPropertiesEXT";
+  case StructureType::eRenderPassFragmentDensityMapCreateInfoEXT:
+    return "RenderPassFragmentDensityMapCreateInfoEXT";
+  case StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT:
+    return "PhysicalDeviceSubgroupSizeControlPropertiesEXT";
+  case StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT:
+    return "PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT";
+  case StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT:
+    return "PhysicalDeviceSubgroupSizeControlFeaturesEXT";
+  case StructureType::eFragmentShadingRateAttachmentInfoKHR:
+    return "FragmentShadingRateAttachmentInfoKHR";
+  case StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR:
+    return "PipelineFragmentShadingRateStateCreateInfoKHR";
+  case StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR:
+    return "PhysicalDeviceFragmentShadingRatePropertiesKHR";
+  case StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR:
+    return "PhysicalDeviceFragmentShadingRateFeaturesKHR";
+  case StructureType::ePhysicalDeviceFragmentShadingRateKHR:
+    return "PhysicalDeviceFragmentShadingRateKHR";
+  case StructureType::ePhysicalDeviceShaderCoreProperties2AMD:
+    return "PhysicalDeviceShaderCoreProperties2AMD";
+  case StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD:
+    return "PhysicalDeviceCoherentMemoryFeaturesAMD";
+  case StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT:
+    return "PhysicalDeviceShaderImageAtomicInt64FeaturesEXT";
+  case StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT:
+    return "PhysicalDeviceMemoryBudgetPropertiesEXT";
+  case StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT:
+    return "PhysicalDeviceMemoryPriorityFeaturesEXT";
+  case StructureType::eMemoryPriorityAllocateInfoEXT:
+    return "MemoryPriorityAllocateInfoEXT";
+  case StructureType::eSurfaceProtectedCapabilitiesKHR:
+    return "SurfaceProtectedCapabilitiesKHR";
+  case StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV:
+    return "PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV";
+  case StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT:
+    return "PhysicalDeviceBufferDeviceAddressFeaturesEXT";
+  case StructureType::eBufferDeviceAddressCreateInfoEXT:
+    return "BufferDeviceAddressCreateInfoEXT";
+  case StructureType::ePhysicalDeviceToolPropertiesEXT:
+    return "PhysicalDeviceToolPropertiesEXT";
+  case StructureType::eValidationFeaturesEXT:
+    return "ValidationFeaturesEXT";
+  case StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV:
+    return "PhysicalDeviceCooperativeMatrixFeaturesNV";
+  case StructureType::eCooperativeMatrixPropertiesNV:
+    return "CooperativeMatrixPropertiesNV";
+  case StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV:
+    return "PhysicalDeviceCooperativeMatrixPropertiesNV";
+  case StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV:
+    return "PhysicalDeviceCoverageReductionModeFeaturesNV";
+  case StructureType::ePipelineCoverageReductionStateCreateInfoNV:
+    return "PipelineCoverageReductionStateCreateInfoNV";
+  case StructureType::eFramebufferMixedSamplesCombinationNV:
+    return "FramebufferMixedSamplesCombinationNV";
+  case StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT:
+    return "PhysicalDeviceFragmentShaderInterlockFeaturesEXT";
+  case StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT:
+    return "PhysicalDeviceYcbcrImageArraysFeaturesEXT";
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  case StructureType::eSurfaceFullScreenExclusiveInfoEXT:
+    return "SurfaceFullScreenExclusiveInfoEXT";
+  case StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT:
+    return "SurfaceCapabilitiesFullScreenExclusiveEXT";
+  case StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT:
+    return "SurfaceFullScreenExclusiveWin32InfoEXT";
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  case StructureType::eHeadlessSurfaceCreateInfoEXT:
+    return "HeadlessSurfaceCreateInfoEXT";
+  case StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT:
+    return "PhysicalDeviceLineRasterizationFeaturesEXT";
+  case StructureType::ePipelineRasterizationLineStateCreateInfoEXT:
+    return "PipelineRasterizationLineStateCreateInfoEXT";
+  case StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT:
+    return "PhysicalDeviceLineRasterizationPropertiesEXT";
+  case StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT:
+    return "PhysicalDeviceShaderAtomicFloatFeaturesEXT";
+  case StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT:
+    return "PhysicalDeviceIndexTypeUint8FeaturesEXT";
+  case StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT:
+    return "PhysicalDeviceExtendedDynamicStateFeaturesEXT";
+  case StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
+    return "PhysicalDevicePipelineExecutablePropertiesFeaturesKHR";
+  case StructureType::ePipelineInfoKHR:
+    return "PipelineInfoKHR";
+  case StructureType::ePipelineExecutablePropertiesKHR:
+    return "PipelineExecutablePropertiesKHR";
+  case StructureType::ePipelineExecutableInfoKHR:
+    return "PipelineExecutableInfoKHR";
+  case StructureType::ePipelineExecutableStatisticKHR:
+    return "PipelineExecutableStatisticKHR";
+  case StructureType::ePipelineExecutableInternalRepresentationKHR:
+    return "PipelineExecutableInternalRepresentationKHR";
+  case StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
+    return "PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT";
+  case StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV:
+    return "PhysicalDeviceDeviceGeneratedCommandsPropertiesNV";
+  case StructureType::eGraphicsShaderGroupCreateInfoNV:
+    return "GraphicsShaderGroupCreateInfoNV";
+  case StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV:
+    return "GraphicsPipelineShaderGroupsCreateInfoNV";
+  case StructureType::eIndirectCommandsLayoutTokenNV:
+    return "IndirectCommandsLayoutTokenNV";
+  case StructureType::eIndirectCommandsLayoutCreateInfoNV:
+    return "IndirectCommandsLayoutCreateInfoNV";
+  case StructureType::eGeneratedCommandsInfoNV:
+    return "GeneratedCommandsInfoNV";
+  case StructureType::eGeneratedCommandsMemoryRequirementsInfoNV:
+    return "GeneratedCommandsMemoryRequirementsInfoNV";
+  case StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV:
+    return "PhysicalDeviceDeviceGeneratedCommandsFeaturesNV";
+  case StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT:
+    return "PhysicalDeviceTexelBufferAlignmentFeaturesEXT";
+  case StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT:
+    return "PhysicalDeviceTexelBufferAlignmentPropertiesEXT";
+  case StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM:
+    return "CommandBufferInheritanceRenderPassTransformInfoQCOM";
+  case StructureType::eRenderPassTransformBeginInfoQCOM:
+    return "RenderPassTransformBeginInfoQCOM";
+  case StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT:
+    return "PhysicalDeviceDeviceMemoryReportFeaturesEXT";
+  case StructureType::eDeviceDeviceMemoryReportCreateInfoEXT:
+    return "DeviceDeviceMemoryReportCreateInfoEXT";
+  case StructureType::eDeviceMemoryReportCallbackDataEXT:
+    return "DeviceMemoryReportCallbackDataEXT";
+  case StructureType::ePhysicalDeviceRobustness2FeaturesEXT:
+    return "PhysicalDeviceRobustness2FeaturesEXT";
+  case StructureType::ePhysicalDeviceRobustness2PropertiesEXT:
+    return "PhysicalDeviceRobustness2PropertiesEXT";
+  case StructureType::eSamplerCustomBorderColorCreateInfoEXT:
+    return "SamplerCustomBorderColorCreateInfoEXT";
+  case StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT:
+    return "PhysicalDeviceCustomBorderColorPropertiesEXT";
+  case StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT:
+    return "PhysicalDeviceCustomBorderColorFeaturesEXT";
+  case StructureType::ePipelineLibraryCreateInfoKHR:
+    return "PipelineLibraryCreateInfoKHR";
+  case StructureType::ePhysicalDevicePrivateDataFeaturesEXT:
+    return "PhysicalDevicePrivateDataFeaturesEXT";
+  case StructureType::eDevicePrivateDataCreateInfoEXT:
+    return "DevicePrivateDataCreateInfoEXT";
+  case StructureType::ePrivateDataSlotCreateInfoEXT:
+    return "PrivateDataSlotCreateInfoEXT";
+  case StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT:
+    return "PhysicalDevicePipelineCreationCacheControlFeaturesEXT";
+  case StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV:
+    return "PhysicalDeviceDiagnosticsConfigFeaturesNV";
+  case StructureType::eDeviceDiagnosticsConfigCreateInfoNV:
+    return "DeviceDiagnosticsConfigCreateInfoNV";
+  case StructureType::eMemoryBarrier2KHR:
+    return "MemoryBarrier2KHR";
+  case StructureType::eBufferMemoryBarrier2KHR:
+    return "BufferMemoryBarrier2KHR";
+  case StructureType::eImageMemoryBarrier2KHR:
+    return "ImageMemoryBarrier2KHR";
+  case StructureType::eDependencyInfoKHR:
+    return "DependencyInfoKHR";
+  case StructureType::eSubmitInfo2KHR:
+    return "SubmitInfo2KHR";
+  case StructureType::eSemaphoreSubmitInfoKHR:
+    return "SemaphoreSubmitInfoKHR";
+  case StructureType::eCommandBufferSubmitInfoKHR:
+    return "CommandBufferSubmitInfoKHR";
+  case StructureType::ePhysicalDeviceSynchronization2FeaturesKHR:
+    return "PhysicalDeviceSynchronization2FeaturesKHR";
+  case StructureType::eQueueFamilyCheckpointProperties2Nv:
+    return "QueueFamilyCheckpointProperties2Nv";
+  case StructureType::eCheckpointData2Nv:
+    return "CheckpointData2Nv";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  case StructureType::eBufferCollectionCreateInfoFUCHSIA:
+    return "BufferCollectionCreateInfoFUCHSIA";
+  case StructureType::eImportMemoryBufferCollectionFUCHSIA:
+    return "ImportMemoryBufferCollectionFUCHSIA";
+  case StructureType::eBufferCollectionImageCreateInfoFUCHSIA:
+    return "BufferCollectionImageCreateInfoFUCHSIA";
+  case StructureType::eBufferCollectionPropertiesFUCHSIA:
+    return "BufferCollectionPropertiesFUCHSIA";
+  case StructureType::eBufferConstraintsInfoFUCHSIA:
+    return "BufferConstraintsInfoFUCHSIA";
+  case StructureType::eBufferCollectionBufferCreateInfoFUCHSIA:
+    return "BufferCollectionBufferCreateInfoFUCHSIA";
+  case StructureType::eImageConstraintsInfoFUCHSIA:
+    return "ImageConstraintsInfoFUCHSIA";
+  case StructureType::eImageFormatConstraintsInfoFUCHSIA:
+    return "ImageFormatConstraintsInfoFUCHSIA";
+  case StructureType::eBufferCollectionProperties2FUCHSIA:
+    return "BufferCollectionProperties2FUCHSIA";
+  case StructureType::eSysmemColorSpaceFUCHSIA:
+    return "SysmemColorSpaceFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  case StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR:
+    return "PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR";
+  case StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV:
+    return "PhysicalDeviceFragmentShadingRateEnumsPropertiesNV";
+  case StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV:
+    return "PhysicalDeviceFragmentShadingRateEnumsFeaturesNV";
+  case StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV:
+    return "PipelineFragmentShadingRateEnumStateCreateInfoNV";
+  case StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT:
+    return "PhysicalDeviceFragmentDensityMap2FeaturesEXT";
+  case StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT:
+    return "PhysicalDeviceFragmentDensityMap2PropertiesEXT";
+  case StructureType::eCopyCommandTransformInfoQCOM:
+    return "CopyCommandTransformInfoQCOM";
+  case StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT:
+    return "PhysicalDeviceImageRobustnessFeaturesEXT";
+  case StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR:
+    return "PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR";
+  case StructureType::eCopyBufferInfo2KHR:
+    return "CopyBufferInfo2KHR";
+  case StructureType::eCopyImageInfo2KHR:
+    return "CopyImageInfo2KHR";
+  case StructureType::eCopyBufferToImageInfo2KHR:
+    return "CopyBufferToImageInfo2KHR";
+  case StructureType::eCopyImageToBufferInfo2KHR:
+    return "CopyImageToBufferInfo2KHR";
+  case StructureType::eBlitImageInfo2KHR:
+    return "BlitImageInfo2KHR";
+  case StructureType::eResolveImageInfo2KHR:
+    return "ResolveImageInfo2KHR";
+  case StructureType::eBufferCopy2KHR:
+    return "BufferCopy2KHR";
+  case StructureType::eImageCopy2KHR:
+    return "ImageCopy2KHR";
+  case StructureType::eImageBlit2KHR:
+    return "ImageBlit2KHR";
+  case StructureType::eBufferImageCopy2KHR:
+    return "BufferImageCopy2KHR";
+  case StructureType::eImageResolve2KHR:
+    return "ImageResolve2KHR";
+  case StructureType::ePhysicalDevice4444FormatsFeaturesEXT:
+    return "PhysicalDevice4444FormatsFeaturesEXT";
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+  case StructureType::eDirectfbSurfaceCreateInfoEXT:
+    return "DirectfbSurfaceCreateInfoEXT";
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+  case StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE:
+    return "PhysicalDeviceMutableDescriptorTypeFeaturesVALVE";
+  case StructureType::eMutableDescriptorTypeCreateInfoVALVE:
+    return "MutableDescriptorTypeCreateInfoVALVE";
+#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";
+  case StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA:
+    return "ImportSemaphoreZirconHandleInfoFUCHSIA";
+  case StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA:
+    return "SemaphoreGetZirconHandleInfoFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+  case StructureType::eScreenSurfaceCreateInfoQNX:
+    return "ScreenSurfaceCreateInfoQNX";
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SubgroupFeatureFlagBits : VkSubgroupFeatureFlags {
+  eBasic = VK_SUBGROUP_FEATURE_BASIC_BIT,
+  eVote = VK_SUBGROUP_FEATURE_VOTE_BIT,
+  eArithmetic = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT,
+  eBallot = VK_SUBGROUP_FEATURE_BALLOT_BIT,
+  eShuffle = VK_SUBGROUP_FEATURE_SHUFFLE_BIT,
+  eShuffleRelative = VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,
+  eClustered = VK_SUBGROUP_FEATURE_CLUSTERED_BIT,
+  eQuad = VK_SUBGROUP_FEATURE_QUAD_BIT,
+  ePartitionedNV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(SubgroupFeatureFlagBits value) {
+  switch (value) {
+  case SubgroupFeatureFlagBits::eBasic:
+    return "Basic";
+  case SubgroupFeatureFlagBits::eVote:
+    return "Vote";
+  case SubgroupFeatureFlagBits::eArithmetic:
+    return "Arithmetic";
+  case SubgroupFeatureFlagBits::eBallot:
+    return "Ballot";
+  case SubgroupFeatureFlagBits::eShuffle:
+    return "Shuffle";
+  case SubgroupFeatureFlagBits::eShuffleRelative:
+    return "ShuffleRelative";
+  case SubgroupFeatureFlagBits::eClustered:
+    return "Clustered";
+  case SubgroupFeatureFlagBits::eQuad:
+    return "Quad";
+  case SubgroupFeatureFlagBits::ePartitionedNV:
+    return "PartitionedNV";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SubmitFlagBitsKHR : VkSubmitFlagsKHR {
+  eProtected = VK_SUBMIT_PROTECTED_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(SubmitFlagBitsKHR value) {
+  switch (value) {
+  case SubmitFlagBitsKHR::eProtected:
+    return "Protected";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SubpassContents {
+  eInline = VK_SUBPASS_CONTENTS_INLINE,
+  eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
+};
+
+VULKAN_HPP_INLINE std::string to_string(SubpassContents value) {
+  switch (value) {
+  case SubpassContents::eInline:
+    return "Inline";
+  case SubpassContents::eSecondaryCommandBuffers:
+    return "SecondaryCommandBuffers";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SubpassDescriptionFlagBits : VkSubpassDescriptionFlags {
+  ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
+  ePerViewPositionXOnlyNVX =
+      VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
+  eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
+  eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
+};
+
+VULKAN_HPP_INLINE std::string to_string(SubpassDescriptionFlagBits value) {
+  switch (value) {
+  case SubpassDescriptionFlagBits::ePerViewAttributesNVX:
+    return "PerViewAttributesNVX";
+  case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX:
+    return "PerViewPositionXOnlyNVX";
+  case SubpassDescriptionFlagBits::eFragmentRegionQCOM:
+    return "FragmentRegionQCOM";
+  case SubpassDescriptionFlagBits::eShaderResolveQCOM:
+    return "ShaderResolveQCOM";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SurfaceCounterFlagBitsEXT : VkSurfaceCounterFlagsEXT {
+  eVblank = VK_SURFACE_COUNTER_VBLANK_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(SurfaceCounterFlagBitsEXT value) {
+  switch (value) {
+  case SurfaceCounterFlagBitsEXT::eVblank:
+    return "Vblank";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SurfaceTransformFlagBitsKHR : VkSurfaceTransformFlagsKHR {
+  eIdentity = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
+  eRotate90 = VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
+  eRotate180 = VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,
+  eRotate270 = VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,
+  eHorizontalMirror = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,
+  eHorizontalMirrorRotate90 =
+      VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,
+  eHorizontalMirrorRotate180 =
+      VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,
+  eHorizontalMirrorRotate270 =
+      VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,
+  eInherit = VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(SurfaceTransformFlagBitsKHR value) {
+  switch (value) {
+  case SurfaceTransformFlagBitsKHR::eIdentity:
+    return "Identity";
+  case SurfaceTransformFlagBitsKHR::eRotate90:
+    return "Rotate90";
+  case SurfaceTransformFlagBitsKHR::eRotate180:
+    return "Rotate180";
+  case SurfaceTransformFlagBitsKHR::eRotate270:
+    return "Rotate270";
+  case SurfaceTransformFlagBitsKHR::eHorizontalMirror:
+    return "HorizontalMirror";
+  case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90:
+    return "HorizontalMirrorRotate90";
+  case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180:
+    return "HorizontalMirrorRotate180";
+  case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270:
+    return "HorizontalMirrorRotate270";
+  case SurfaceTransformFlagBitsKHR::eInherit:
+    return "Inherit";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR {
+  eSplitInstanceBindRegions =
+      VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
+  eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR,
+  eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR
+};
+
+VULKAN_HPP_INLINE std::string to_string(SwapchainCreateFlagBitsKHR value) {
+  switch (value) {
+  case SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions:
+    return "SplitInstanceBindRegions";
+  case SwapchainCreateFlagBitsKHR::eProtected:
+    return "Protected";
+  case SwapchainCreateFlagBitsKHR::eMutableFormat:
+    return "MutableFormat";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class SystemAllocationScope {
+  eCommand = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
+  eObject = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,
+  eCache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE,
+  eDevice = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,
+  eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE
+};
+
+VULKAN_HPP_INLINE std::string to_string(SystemAllocationScope value) {
+  switch (value) {
+  case SystemAllocationScope::eCommand:
+    return "Command";
+  case SystemAllocationScope::eObject:
+    return "Object";
+  case SystemAllocationScope::eCache:
+    return "Cache";
+  case SystemAllocationScope::eDevice:
+    return "Device";
+  case SystemAllocationScope::eInstance:
+    return "Instance";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class TessellationDomainOrigin {
+  eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
+  eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
+};
+using TessellationDomainOriginKHR = TessellationDomainOrigin;
+
+VULKAN_HPP_INLINE std::string to_string(TessellationDomainOrigin value) {
+  switch (value) {
+  case TessellationDomainOrigin::eUpperLeft:
+    return "UpperLeft";
+  case TessellationDomainOrigin::eLowerLeft:
+    return "LowerLeft";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class TimeDomainEXT {
+  eDevice = VK_TIME_DOMAIN_DEVICE_EXT,
+  eClockMonotonic = VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT,
+  eClockMonotonicRaw = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT,
+  eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(TimeDomainEXT value) {
+  switch (value) {
+  case TimeDomainEXT::eDevice:
+    return "Device";
+  case TimeDomainEXT::eClockMonotonic:
+    return "ClockMonotonic";
+  case TimeDomainEXT::eClockMonotonicRaw:
+    return "ClockMonotonicRaw";
+  case TimeDomainEXT::eQueryPerformanceCounter:
+    return "QueryPerformanceCounter";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ToolPurposeFlagBitsEXT : VkToolPurposeFlagsEXT {
+  eValidation = VK_TOOL_PURPOSE_VALIDATION_BIT_EXT,
+  eProfiling = VK_TOOL_PURPOSE_PROFILING_BIT_EXT,
+  eTracing = VK_TOOL_PURPOSE_TRACING_BIT_EXT,
+  eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT,
+  eModifyingFeatures = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT,
+  eDebugReporting = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT,
+  eDebugMarkers = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ToolPurposeFlagBitsEXT value) {
+  switch (value) {
+  case ToolPurposeFlagBitsEXT::eValidation:
+    return "Validation";
+  case ToolPurposeFlagBitsEXT::eProfiling:
+    return "Profiling";
+  case ToolPurposeFlagBitsEXT::eTracing:
+    return "Tracing";
+  case ToolPurposeFlagBitsEXT::eAdditionalFeatures:
+    return "AdditionalFeatures";
+  case ToolPurposeFlagBitsEXT::eModifyingFeatures:
+    return "ModifyingFeatures";
+  case ToolPurposeFlagBitsEXT::eDebugReporting:
+    return "DebugReporting";
+  case ToolPurposeFlagBitsEXT::eDebugMarkers:
+    return "DebugMarkers";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ValidationCacheHeaderVersionEXT {
+  eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ValidationCacheHeaderVersionEXT value) {
+  switch (value) {
+  case ValidationCacheHeaderVersionEXT::eOne:
+    return "One";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ValidationCheckEXT {
+  eAll = VK_VALIDATION_CHECK_ALL_EXT,
+  eShaders = VK_VALIDATION_CHECK_SHADERS_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ValidationCheckEXT value) {
+  switch (value) {
+  case ValidationCheckEXT::eAll:
+    return "All";
+  case ValidationCheckEXT::eShaders:
+    return "Shaders";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ValidationFeatureDisableEXT {
+  eAll = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
+  eShaders = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT,
+  eThreadSafety = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,
+  eApiParameters = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT,
+  eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT,
+  eCoreChecks = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT,
+  eUniqueHandles = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ValidationFeatureDisableEXT value) {
+  switch (value) {
+  case ValidationFeatureDisableEXT::eAll:
+    return "All";
+  case ValidationFeatureDisableEXT::eShaders:
+    return "Shaders";
+  case ValidationFeatureDisableEXT::eThreadSafety:
+    return "ThreadSafety";
+  case ValidationFeatureDisableEXT::eApiParameters:
+    return "ApiParameters";
+  case ValidationFeatureDisableEXT::eObjectLifetimes:
+    return "ObjectLifetimes";
+  case ValidationFeatureDisableEXT::eCoreChecks:
+    return "CoreChecks";
+  case ValidationFeatureDisableEXT::eUniqueHandles:
+    return "UniqueHandles";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ValidationFeatureEnableEXT {
+  eGpuAssisted = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
+  eGpuAssistedReserveBindingSlot =
+      VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
+  eBestPractices = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
+  eDebugPrintf = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT,
+  eSynchronizationValidation =
+      VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT
+};
+
+VULKAN_HPP_INLINE std::string to_string(ValidationFeatureEnableEXT value) {
+  switch (value) {
+  case ValidationFeatureEnableEXT::eGpuAssisted:
+    return "GpuAssisted";
+  case ValidationFeatureEnableEXT::eGpuAssistedReserveBindingSlot:
+    return "GpuAssistedReserveBindingSlot";
+  case ValidationFeatureEnableEXT::eBestPractices:
+    return "BestPractices";
+  case ValidationFeatureEnableEXT::eDebugPrintf:
+    return "DebugPrintf";
+  case ValidationFeatureEnableEXT::eSynchronizationValidation:
+    return "SynchronizationValidation";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class VendorId {
+  eVIV = VK_VENDOR_ID_VIV,
+  eVSI = VK_VENDOR_ID_VSI,
+  eKazan = VK_VENDOR_ID_KAZAN,
+  eCodeplay = VK_VENDOR_ID_CODEPLAY,
+  eMESA = VK_VENDOR_ID_MESA,
+  ePocl = VK_VENDOR_ID_POCL
+};
+
+VULKAN_HPP_INLINE std::string to_string(VendorId value) {
+  switch (value) {
+  case VendorId::eVIV:
+    return "VIV";
+  case VendorId::eVSI:
+    return "VSI";
+  case VendorId::eKazan:
+    return "Kazan";
+  case VendorId::eCodeplay:
+    return "Codeplay";
+  case VendorId::eMESA:
+    return "MESA";
+  case VendorId::ePocl:
+    return "Pocl";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class VertexInputRate {
+  eVertex = VK_VERTEX_INPUT_RATE_VERTEX,
+  eInstance = VK_VERTEX_INPUT_RATE_INSTANCE
+};
+
+VULKAN_HPP_INLINE std::string to_string(VertexInputRate value) {
+  switch (value) {
+  case VertexInputRate::eVertex:
+    return "Vertex";
+  case VertexInputRate::eInstance:
+    return "Instance";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+enum class ViewportCoordinateSwizzleNV {
+  ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
+  eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
+  ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
+  eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
+  ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
+  eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
+  ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
+  eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
+};
+
+VULKAN_HPP_INLINE std::string to_string(ViewportCoordinateSwizzleNV value) {
+  switch (value) {
+  case ViewportCoordinateSwizzleNV::ePositiveX:
+    return "PositiveX";
+  case ViewportCoordinateSwizzleNV::eNegativeX:
+    return "NegativeX";
+  case ViewportCoordinateSwizzleNV::ePositiveY:
+    return "PositiveY";
+  case ViewportCoordinateSwizzleNV::eNegativeY:
+    return "NegativeY";
+  case ViewportCoordinateSwizzleNV::ePositiveZ:
+    return "PositiveZ";
+  case ViewportCoordinateSwizzleNV::eNegativeZ:
+    return "NegativeZ";
+  case ViewportCoordinateSwizzleNV::ePositiveW:
+    return "PositiveW";
+  case ViewportCoordinateSwizzleNV::eNegativeW:
+    return "NegativeW";
+  default:
+    return "invalid ( " +
+           VULKAN_HPP_NAMESPACE::toHexString(static_cast<uint32_t>(value)) +
+           " )";
+  }
+}
+
+template <typename T> struct IndexTypeValue {};
+
+template <> struct IndexTypeValue<uint16_t> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint16;
+};
+
+template <> struct CppType<IndexType, IndexType::eUint16> {
+  using Type = uint16_t;
+};
+
+template <> struct IndexTypeValue<uint32_t> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint32;
+};
+
+template <> struct CppType<IndexType, IndexType::eUint32> {
+  using Type = uint32_t;
+};
+
+template <> struct IndexTypeValue<uint8_t> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8EXT;
+};
+
+template <> struct CppType<IndexType, IndexType::eUint8EXT> {
+  using Type = uint8_t;
+};
+
+using AccelerationStructureCreateFlagsKHR =
+    Flags<AccelerationStructureCreateFlagBitsKHR>;
+
+template <> struct FlagTraits<AccelerationStructureCreateFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags = VkFlags(
+        AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay)
   };
+};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
-    operator|( PipelineCreationFeedbackFlagBitsEXT bit0, PipelineCreationFeedbackFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCreationFeedbackFlagsEXT( bit0 ) | bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR
+operator|(AccelerationStructureCreateFlagBitsKHR bit0,
+          AccelerationStructureCreateFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return AccelerationStructureCreateFlagsKHR(bit0) | bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
-    operator&( PipelineCreationFeedbackFlagBitsEXT bit0, PipelineCreationFeedbackFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCreationFeedbackFlagsEXT( bit0 ) & bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR
+operator&(AccelerationStructureCreateFlagBitsKHR bit0,
+          AccelerationStructureCreateFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return AccelerationStructureCreateFlagsKHR(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
-    operator^( PipelineCreationFeedbackFlagBitsEXT bit0, PipelineCreationFeedbackFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineCreationFeedbackFlagsEXT( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR
+operator^(AccelerationStructureCreateFlagBitsKHR bit0,
+          AccelerationStructureCreateFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return AccelerationStructureCreateFlagsKHR(bit0) ^ bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
-    operator~( PipelineCreationFeedbackFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( PipelineCreationFeedbackFlagsEXT( bits ) );
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR
+operator~(AccelerationStructureCreateFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(AccelerationStructureCreateFlagsKHR(bits));
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineCreationFeedbackFlagsEXT value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string
+to_string(AccelerationStructureCreateFlagsKHR value) {
 
-    if ( value & PipelineCreationFeedbackFlagBitsEXT::eValid )
-      result += "Valid | ";
-    if ( value & PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit )
-      result += "ApplicationPipelineCacheHit | ";
-    if ( value & PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration )
-      result += "BasePipelineAcceleration | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class PipelineDepthStencilStateCreateFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlagBits )
-  {
-    return "(void)";
-  }
-
-  using PipelineDepthStencilStateCreateFlags = Flags<PipelineDepthStencilStateCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlags )
-  {
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineDiscardRectangleStateCreateFlagBitsEXT : VkFlags
-  {
+  if (value &
+      AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay)
+    result += "DeviceAddressCaptureReplay | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using AccessFlags = Flags<AccessFlagBits>;
+
+template <> struct FlagTraits<AccessFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(AccessFlagBits::eIndirectCommandRead) |
+               VkFlags(AccessFlagBits::eIndexRead) |
+               VkFlags(AccessFlagBits::eVertexAttributeRead) |
+               VkFlags(AccessFlagBits::eUniformRead) |
+               VkFlags(AccessFlagBits::eInputAttachmentRead) |
+               VkFlags(AccessFlagBits::eShaderRead) |
+               VkFlags(AccessFlagBits::eShaderWrite) |
+               VkFlags(AccessFlagBits::eColorAttachmentRead) |
+               VkFlags(AccessFlagBits::eColorAttachmentWrite) |
+               VkFlags(AccessFlagBits::eDepthStencilAttachmentRead) |
+               VkFlags(AccessFlagBits::eDepthStencilAttachmentWrite) |
+               VkFlags(AccessFlagBits::eTransferRead) |
+               VkFlags(AccessFlagBits::eTransferWrite) |
+               VkFlags(AccessFlagBits::eHostRead) |
+               VkFlags(AccessFlagBits::eHostWrite) |
+               VkFlags(AccessFlagBits::eMemoryRead) |
+               VkFlags(AccessFlagBits::eMemoryWrite) |
+               VkFlags(AccessFlagBits::eTransformFeedbackWriteEXT) |
+               VkFlags(AccessFlagBits::eTransformFeedbackCounterReadEXT) |
+               VkFlags(AccessFlagBits::eTransformFeedbackCounterWriteEXT) |
+               VkFlags(AccessFlagBits::eConditionalRenderingReadEXT) |
+               VkFlags(AccessFlagBits::eColorAttachmentReadNoncoherentEXT) |
+               VkFlags(AccessFlagBits::eAccelerationStructureReadKHR) |
+               VkFlags(AccessFlagBits::eAccelerationStructureWriteKHR) |
+               VkFlags(AccessFlagBits::eShadingRateImageReadNV) |
+               VkFlags(AccessFlagBits::eFragmentDensityMapReadEXT) |
+               VkFlags(AccessFlagBits::eCommandPreprocessReadNV) |
+               VkFlags(AccessFlagBits::eCommandPreprocessWriteNV) |
+               VkFlags(AccessFlagBits::eNoneKHR)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineDiscardRectangleStateCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags
+operator|(AccessFlagBits bit0, AccessFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return AccessFlags(bit0) | bit1;
+}
 
-  using PipelineDiscardRectangleStateCreateFlagsEXT = Flags<PipelineDiscardRectangleStateCreateFlagBitsEXT>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags
+operator&(AccessFlagBits bit0, AccessFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return AccessFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineDiscardRectangleStateCreateFlagsEXT )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags
+operator^(AccessFlagBits bit0, AccessFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return AccessFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags
+operator~(AccessFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(AccessFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(AccessFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineDynamicStateCreateFlagBits : VkFlags
-  {
+  if (value & AccessFlagBits::eIndirectCommandRead)
+    result += "IndirectCommandRead | ";
+  if (value & AccessFlagBits::eIndexRead)
+    result += "IndexRead | ";
+  if (value & AccessFlagBits::eVertexAttributeRead)
+    result += "VertexAttributeRead | ";
+  if (value & AccessFlagBits::eUniformRead)
+    result += "UniformRead | ";
+  if (value & AccessFlagBits::eInputAttachmentRead)
+    result += "InputAttachmentRead | ";
+  if (value & AccessFlagBits::eShaderRead)
+    result += "ShaderRead | ";
+  if (value & AccessFlagBits::eShaderWrite)
+    result += "ShaderWrite | ";
+  if (value & AccessFlagBits::eColorAttachmentRead)
+    result += "ColorAttachmentRead | ";
+  if (value & AccessFlagBits::eColorAttachmentWrite)
+    result += "ColorAttachmentWrite | ";
+  if (value & AccessFlagBits::eDepthStencilAttachmentRead)
+    result += "DepthStencilAttachmentRead | ";
+  if (value & AccessFlagBits::eDepthStencilAttachmentWrite)
+    result += "DepthStencilAttachmentWrite | ";
+  if (value & AccessFlagBits::eTransferRead)
+    result += "TransferRead | ";
+  if (value & AccessFlagBits::eTransferWrite)
+    result += "TransferWrite | ";
+  if (value & AccessFlagBits::eHostRead)
+    result += "HostRead | ";
+  if (value & AccessFlagBits::eHostWrite)
+    result += "HostWrite | ";
+  if (value & AccessFlagBits::eMemoryRead)
+    result += "MemoryRead | ";
+  if (value & AccessFlagBits::eMemoryWrite)
+    result += "MemoryWrite | ";
+  if (value & AccessFlagBits::eTransformFeedbackWriteEXT)
+    result += "TransformFeedbackWriteEXT | ";
+  if (value & AccessFlagBits::eTransformFeedbackCounterReadEXT)
+    result += "TransformFeedbackCounterReadEXT | ";
+  if (value & AccessFlagBits::eTransformFeedbackCounterWriteEXT)
+    result += "TransformFeedbackCounterWriteEXT | ";
+  if (value & AccessFlagBits::eConditionalRenderingReadEXT)
+    result += "ConditionalRenderingReadEXT | ";
+  if (value & AccessFlagBits::eColorAttachmentReadNoncoherentEXT)
+    result += "ColorAttachmentReadNoncoherentEXT | ";
+  if (value & AccessFlagBits::eAccelerationStructureReadKHR)
+    result += "AccelerationStructureReadKHR | ";
+  if (value & AccessFlagBits::eAccelerationStructureWriteKHR)
+    result += "AccelerationStructureWriteKHR | ";
+  if (value & AccessFlagBits::eShadingRateImageReadNV)
+    result += "ShadingRateImageReadNV | ";
+  if (value & AccessFlagBits::eFragmentDensityMapReadEXT)
+    result += "FragmentDensityMapReadEXT | ";
+  if (value & AccessFlagBits::eCommandPreprocessReadNV)
+    result += "CommandPreprocessReadNV | ";
+  if (value & AccessFlagBits::eCommandPreprocessWriteNV)
+    result += "CommandPreprocessWriteNV | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using AccessFlags2KHR = Flags<AccessFlagBits2KHR>;
+
+template <> struct FlagTraits<AccessFlagBits2KHR> {
+  enum : VkFlags64 {
+    allFlags =
+        VkFlags64(AccessFlagBits2KHR::eNone) |
+        VkFlags64(AccessFlagBits2KHR::eIndirectCommandRead) |
+        VkFlags64(AccessFlagBits2KHR::eIndexRead) |
+        VkFlags64(AccessFlagBits2KHR::eVertexAttributeRead) |
+        VkFlags64(AccessFlagBits2KHR::eUniformRead) |
+        VkFlags64(AccessFlagBits2KHR::eInputAttachmentRead) |
+        VkFlags64(AccessFlagBits2KHR::eShaderRead) |
+        VkFlags64(AccessFlagBits2KHR::eShaderWrite) |
+        VkFlags64(AccessFlagBits2KHR::eColorAttachmentRead) |
+        VkFlags64(AccessFlagBits2KHR::eColorAttachmentWrite) |
+        VkFlags64(AccessFlagBits2KHR::eDepthStencilAttachmentRead) |
+        VkFlags64(AccessFlagBits2KHR::eDepthStencilAttachmentWrite) |
+        VkFlags64(AccessFlagBits2KHR::eTransferRead) |
+        VkFlags64(AccessFlagBits2KHR::eTransferWrite) |
+        VkFlags64(AccessFlagBits2KHR::eHostRead) |
+        VkFlags64(AccessFlagBits2KHR::eHostWrite) |
+        VkFlags64(AccessFlagBits2KHR::eMemoryRead) |
+        VkFlags64(AccessFlagBits2KHR::eMemoryWrite) |
+        VkFlags64(AccessFlagBits2KHR::eShaderSampledRead) |
+        VkFlags64(AccessFlagBits2KHR::eShaderStorageRead) |
+        VkFlags64(AccessFlagBits2KHR::eShaderStorageWrite) |
+        VkFlags64(AccessFlagBits2KHR::eTransformFeedbackWriteExt) |
+        VkFlags64(AccessFlagBits2KHR::eTransformFeedbackCounterReadExt) |
+        VkFlags64(AccessFlagBits2KHR::eTransformFeedbackCounterWriteExt) |
+        VkFlags64(AccessFlagBits2KHR::eConditionalRenderingReadExt) |
+        VkFlags64(AccessFlagBits2KHR::eCommandPreprocessReadNv) |
+        VkFlags64(AccessFlagBits2KHR::eCommandPreprocessWriteNv) |
+        VkFlags64(AccessFlagBits2KHR::eFragmentShadingRateAttachmentRead) |
+        VkFlags64(AccessFlagBits2KHR::eAccelerationStructureRead) |
+        VkFlags64(AccessFlagBits2KHR::eAccelerationStructureWrite) |
+        VkFlags64(AccessFlagBits2KHR::eFragmentDensityMapReadExt) |
+        VkFlags64(AccessFlagBits2KHR::eColorAttachmentReadNoncoherentExt)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineDynamicStateCreateFlagBits )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR operator|(
+    AccessFlagBits2KHR bit0, AccessFlagBits2KHR bit1) VULKAN_HPP_NOEXCEPT {
+  return AccessFlags2KHR(bit0) | bit1;
+}
 
-  using PipelineDynamicStateCreateFlags = Flags<PipelineDynamicStateCreateFlagBits>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR operator&(
+    AccessFlagBits2KHR bit0, AccessFlagBits2KHR bit1) VULKAN_HPP_NOEXCEPT {
+  return AccessFlags2KHR(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineDynamicStateCreateFlags )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR operator^(
+    AccessFlagBits2KHR bit0, AccessFlagBits2KHR bit1) VULKAN_HPP_NOEXCEPT {
+  return AccessFlags2KHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR
+operator~(AccessFlagBits2KHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(AccessFlags2KHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(AccessFlags2KHR value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineInputAssemblyStateCreateFlagBits : VkFlags
-  {
+  if (value & AccessFlagBits2KHR::eIndirectCommandRead)
+    result += "IndirectCommandRead | ";
+  if (value & AccessFlagBits2KHR::eIndexRead)
+    result += "IndexRead | ";
+  if (value & AccessFlagBits2KHR::eVertexAttributeRead)
+    result += "VertexAttributeRead | ";
+  if (value & AccessFlagBits2KHR::eUniformRead)
+    result += "UniformRead | ";
+  if (value & AccessFlagBits2KHR::eInputAttachmentRead)
+    result += "InputAttachmentRead | ";
+  if (value & AccessFlagBits2KHR::eShaderRead)
+    result += "ShaderRead | ";
+  if (value & AccessFlagBits2KHR::eShaderWrite)
+    result += "ShaderWrite | ";
+  if (value & AccessFlagBits2KHR::eColorAttachmentRead)
+    result += "ColorAttachmentRead | ";
+  if (value & AccessFlagBits2KHR::eColorAttachmentWrite)
+    result += "ColorAttachmentWrite | ";
+  if (value & AccessFlagBits2KHR::eDepthStencilAttachmentRead)
+    result += "DepthStencilAttachmentRead | ";
+  if (value & AccessFlagBits2KHR::eDepthStencilAttachmentWrite)
+    result += "DepthStencilAttachmentWrite | ";
+  if (value & AccessFlagBits2KHR::eTransferRead)
+    result += "TransferRead | ";
+  if (value & AccessFlagBits2KHR::eTransferWrite)
+    result += "TransferWrite | ";
+  if (value & AccessFlagBits2KHR::eHostRead)
+    result += "HostRead | ";
+  if (value & AccessFlagBits2KHR::eHostWrite)
+    result += "HostWrite | ";
+  if (value & AccessFlagBits2KHR::eMemoryRead)
+    result += "MemoryRead | ";
+  if (value & AccessFlagBits2KHR::eMemoryWrite)
+    result += "MemoryWrite | ";
+  if (value & AccessFlagBits2KHR::eShaderSampledRead)
+    result += "ShaderSampledRead | ";
+  if (value & AccessFlagBits2KHR::eShaderStorageRead)
+    result += "ShaderStorageRead | ";
+  if (value & AccessFlagBits2KHR::eShaderStorageWrite)
+    result += "ShaderStorageWrite | ";
+  if (value & AccessFlagBits2KHR::eTransformFeedbackWriteExt)
+    result += "TransformFeedbackWriteExt | ";
+  if (value & AccessFlagBits2KHR::eTransformFeedbackCounterReadExt)
+    result += "TransformFeedbackCounterReadExt | ";
+  if (value & AccessFlagBits2KHR::eTransformFeedbackCounterWriteExt)
+    result += "TransformFeedbackCounterWriteExt | ";
+  if (value & AccessFlagBits2KHR::eConditionalRenderingReadExt)
+    result += "ConditionalRenderingReadExt | ";
+  if (value & AccessFlagBits2KHR::eCommandPreprocessReadNv)
+    result += "CommandPreprocessReadNv | ";
+  if (value & AccessFlagBits2KHR::eCommandPreprocessWriteNv)
+    result += "CommandPreprocessWriteNv | ";
+  if (value & AccessFlagBits2KHR::eFragmentShadingRateAttachmentRead)
+    result += "FragmentShadingRateAttachmentRead | ";
+  if (value & AccessFlagBits2KHR::eAccelerationStructureRead)
+    result += "AccelerationStructureRead | ";
+  if (value & AccessFlagBits2KHR::eAccelerationStructureWrite)
+    result += "AccelerationStructureWrite | ";
+  if (value & AccessFlagBits2KHR::eFragmentDensityMapReadExt)
+    result += "FragmentDensityMapReadExt | ";
+  if (value & AccessFlagBits2KHR::eColorAttachmentReadNoncoherentExt)
+    result += "ColorAttachmentReadNoncoherentExt | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using AcquireProfilingLockFlagsKHR = Flags<AcquireProfilingLockFlagBitsKHR>;
+
+VULKAN_HPP_INLINE std::string to_string(AcquireProfilingLockFlagsKHR) {
+
+  return "{}";
+}
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+enum class AndroidSurfaceCreateFlagBitsKHR : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(AndroidSurfaceCreateFlagBitsKHR) {
+  return "(void)";
+}
+
+using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR>;
+
+VULKAN_HPP_INLINE std::string to_string(AndroidSurfaceCreateFlagsKHR) {
+
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+using AttachmentDescriptionFlags = Flags<AttachmentDescriptionFlagBits>;
+
+template <> struct FlagTraits<AttachmentDescriptionFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(AttachmentDescriptionFlagBits::eMayAlias)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineInputAssemblyStateCreateFlagBits )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
+operator|(AttachmentDescriptionFlagBits bit0,
+          AttachmentDescriptionFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return AttachmentDescriptionFlags(bit0) | bit1;
+}
 
-  using PipelineInputAssemblyStateCreateFlags = Flags<PipelineInputAssemblyStateCreateFlagBits>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
+operator&(AttachmentDescriptionFlagBits bit0,
+          AttachmentDescriptionFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return AttachmentDescriptionFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineInputAssemblyStateCreateFlags )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
+operator^(AttachmentDescriptionFlagBits bit0,
+          AttachmentDescriptionFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return AttachmentDescriptionFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
+operator~(AttachmentDescriptionFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(AttachmentDescriptionFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(AttachmentDescriptionFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineLayoutCreateFlagBits : VkFlags
-  {
+  if (value & AttachmentDescriptionFlagBits::eMayAlias)
+    result += "MayAlias | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using BufferCreateFlags = Flags<BufferCreateFlagBits>;
+
+template <> struct FlagTraits<BufferCreateFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(BufferCreateFlagBits::eSparseBinding) |
+               VkFlags(BufferCreateFlagBits::eSparseResidency) |
+               VkFlags(BufferCreateFlagBits::eSparseAliased) |
+               VkFlags(BufferCreateFlagBits::eProtected) |
+               VkFlags(BufferCreateFlagBits::eDeviceAddressCaptureReplay)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineLayoutCreateFlagBits )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator|(
+    BufferCreateFlagBits bit0, BufferCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return BufferCreateFlags(bit0) | bit1;
+}
 
-  using PipelineLayoutCreateFlags = Flags<PipelineLayoutCreateFlagBits>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator&(
+    BufferCreateFlagBits bit0, BufferCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return BufferCreateFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineLayoutCreateFlags )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator^(
+    BufferCreateFlagBits bit0, BufferCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return BufferCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags
+operator~(BufferCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(BufferCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(BufferCreateFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineMultisampleStateCreateFlagBits : VkFlags
-  {
+  if (value & BufferCreateFlagBits::eSparseBinding)
+    result += "SparseBinding | ";
+  if (value & BufferCreateFlagBits::eSparseResidency)
+    result += "SparseResidency | ";
+  if (value & BufferCreateFlagBits::eSparseAliased)
+    result += "SparseAliased | ";
+  if (value & BufferCreateFlagBits::eProtected)
+    result += "Protected | ";
+  if (value & BufferCreateFlagBits::eDeviceAddressCaptureReplay)
+    result += "DeviceAddressCaptureReplay | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using BufferUsageFlags = Flags<BufferUsageFlagBits>;
+
+template <> struct FlagTraits<BufferUsageFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(BufferUsageFlagBits::eTransferSrc) |
+        VkFlags(BufferUsageFlagBits::eTransferDst) |
+        VkFlags(BufferUsageFlagBits::eUniformTexelBuffer) |
+        VkFlags(BufferUsageFlagBits::eStorageTexelBuffer) |
+        VkFlags(BufferUsageFlagBits::eUniformBuffer) |
+        VkFlags(BufferUsageFlagBits::eStorageBuffer) |
+        VkFlags(BufferUsageFlagBits::eIndexBuffer) |
+        VkFlags(BufferUsageFlagBits::eVertexBuffer) |
+        VkFlags(BufferUsageFlagBits::eIndirectBuffer) |
+        VkFlags(BufferUsageFlagBits::eShaderDeviceAddress) |
+        VkFlags(BufferUsageFlagBits::eTransformFeedbackBufferEXT) |
+        VkFlags(BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT) |
+        VkFlags(BufferUsageFlagBits::eConditionalRenderingEXT) |
+        VkFlags(
+            BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR) |
+        VkFlags(BufferUsageFlagBits::eAccelerationStructureStorageKHR) |
+        VkFlags(BufferUsageFlagBits::eShaderBindingTableKHR)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineMultisampleStateCreateFlagBits )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator|(
+    BufferUsageFlagBits bit0, BufferUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return BufferUsageFlags(bit0) | bit1;
+}
 
-  using PipelineMultisampleStateCreateFlags = Flags<PipelineMultisampleStateCreateFlagBits>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator&(
+    BufferUsageFlagBits bit0, BufferUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return BufferUsageFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineMultisampleStateCreateFlags )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator^(
+    BufferUsageFlagBits bit0, BufferUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return BufferUsageFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags
+operator~(BufferUsageFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(BufferUsageFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(BufferUsageFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineRasterizationConservativeStateCreateFlagBitsEXT : VkFlags
-  {
+  if (value & BufferUsageFlagBits::eTransferSrc)
+    result += "TransferSrc | ";
+  if (value & BufferUsageFlagBits::eTransferDst)
+    result += "TransferDst | ";
+  if (value & BufferUsageFlagBits::eUniformTexelBuffer)
+    result += "UniformTexelBuffer | ";
+  if (value & BufferUsageFlagBits::eStorageTexelBuffer)
+    result += "StorageTexelBuffer | ";
+  if (value & BufferUsageFlagBits::eUniformBuffer)
+    result += "UniformBuffer | ";
+  if (value & BufferUsageFlagBits::eStorageBuffer)
+    result += "StorageBuffer | ";
+  if (value & BufferUsageFlagBits::eIndexBuffer)
+    result += "IndexBuffer | ";
+  if (value & BufferUsageFlagBits::eVertexBuffer)
+    result += "VertexBuffer | ";
+  if (value & BufferUsageFlagBits::eIndirectBuffer)
+    result += "IndirectBuffer | ";
+  if (value & BufferUsageFlagBits::eShaderDeviceAddress)
+    result += "ShaderDeviceAddress | ";
+  if (value & BufferUsageFlagBits::eTransformFeedbackBufferEXT)
+    result += "TransformFeedbackBufferEXT | ";
+  if (value & BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT)
+    result += "TransformFeedbackCounterBufferEXT | ";
+  if (value & BufferUsageFlagBits::eConditionalRenderingEXT)
+    result += "ConditionalRenderingEXT | ";
+  if (value & BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR)
+    result += "AccelerationStructureBuildInputReadOnlyKHR | ";
+  if (value & BufferUsageFlagBits::eAccelerationStructureStorageKHR)
+    result += "AccelerationStructureStorageKHR | ";
+  if (value & BufferUsageFlagBits::eShaderBindingTableKHR)
+    result += "ShaderBindingTableKHR | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class BufferViewCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(BufferViewCreateFlagBits) {
+  return "(void)";
+}
+
+using BufferViewCreateFlags = Flags<BufferViewCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(BufferViewCreateFlags) { return "{}"; }
+
+using BuildAccelerationStructureFlagsKHR =
+    Flags<BuildAccelerationStructureFlagBitsKHR>;
+
+template <> struct FlagTraits<BuildAccelerationStructureFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(BuildAccelerationStructureFlagBitsKHR::eAllowUpdate) |
+        VkFlags(BuildAccelerationStructureFlagBitsKHR::eAllowCompaction) |
+        VkFlags(BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace) |
+        VkFlags(BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild) |
+        VkFlags(BuildAccelerationStructureFlagBitsKHR::eLowMemory)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationConservativeStateCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR
+operator|(BuildAccelerationStructureFlagBitsKHR bit0,
+          BuildAccelerationStructureFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return BuildAccelerationStructureFlagsKHR(bit0) | bit1;
+}
 
-  using PipelineRasterizationConservativeStateCreateFlagsEXT =
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR
+operator&(BuildAccelerationStructureFlagBitsKHR bit0,
+          BuildAccelerationStructureFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return BuildAccelerationStructureFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR
+operator^(BuildAccelerationStructureFlagBitsKHR bit0,
+          BuildAccelerationStructureFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return BuildAccelerationStructureFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR
+operator~(BuildAccelerationStructureFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(BuildAccelerationStructureFlagsKHR(bits));
+}
+
+using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
+
+VULKAN_HPP_INLINE std::string
+to_string(BuildAccelerationStructureFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & BuildAccelerationStructureFlagBitsKHR::eAllowUpdate)
+    result += "AllowUpdate | ";
+  if (value & BuildAccelerationStructureFlagBitsKHR::eAllowCompaction)
+    result += "AllowCompaction | ";
+  if (value & BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace)
+    result += "PreferFastTrace | ";
+  if (value & BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild)
+    result += "PreferFastBuild | ";
+  if (value & BuildAccelerationStructureFlagBitsKHR::eLowMemory)
+    result += "LowMemory | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ColorComponentFlags = Flags<ColorComponentFlagBits>;
+
+template <> struct FlagTraits<ColorComponentFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ColorComponentFlagBits::eR) |
+               VkFlags(ColorComponentFlagBits::eG) |
+               VkFlags(ColorComponentFlagBits::eB) |
+               VkFlags(ColorComponentFlagBits::eA)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
+operator|(ColorComponentFlagBits bit0,
+          ColorComponentFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ColorComponentFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
+operator&(ColorComponentFlagBits bit0,
+          ColorComponentFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ColorComponentFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
+operator^(ColorComponentFlagBits bit0,
+          ColorComponentFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ColorComponentFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
+operator~(ColorComponentFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ColorComponentFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ColorComponentFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ColorComponentFlagBits::eR)
+    result += "R | ";
+  if (value & ColorComponentFlagBits::eG)
+    result += "G | ";
+  if (value & ColorComponentFlagBits::eB)
+    result += "B | ";
+  if (value & ColorComponentFlagBits::eA)
+    result += "A | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using CommandBufferResetFlags = Flags<CommandBufferResetFlagBits>;
+
+template <> struct FlagTraits<CommandBufferResetFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(CommandBufferResetFlagBits::eReleaseResources)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
+operator|(CommandBufferResetFlagBits bit0,
+          CommandBufferResetFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandBufferResetFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
+operator&(CommandBufferResetFlagBits bit0,
+          CommandBufferResetFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandBufferResetFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
+operator^(CommandBufferResetFlagBits bit0,
+          CommandBufferResetFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandBufferResetFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
+operator~(CommandBufferResetFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(CommandBufferResetFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(CommandBufferResetFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & CommandBufferResetFlagBits::eReleaseResources)
+    result += "ReleaseResources | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using CommandBufferUsageFlags = Flags<CommandBufferUsageFlagBits>;
+
+template <> struct FlagTraits<CommandBufferUsageFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(CommandBufferUsageFlagBits::eOneTimeSubmit) |
+               VkFlags(CommandBufferUsageFlagBits::eRenderPassContinue) |
+               VkFlags(CommandBufferUsageFlagBits::eSimultaneousUse)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
+operator|(CommandBufferUsageFlagBits bit0,
+          CommandBufferUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandBufferUsageFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
+operator&(CommandBufferUsageFlagBits bit0,
+          CommandBufferUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandBufferUsageFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
+operator^(CommandBufferUsageFlagBits bit0,
+          CommandBufferUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandBufferUsageFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
+operator~(CommandBufferUsageFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(CommandBufferUsageFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(CommandBufferUsageFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & CommandBufferUsageFlagBits::eOneTimeSubmit)
+    result += "OneTimeSubmit | ";
+  if (value & CommandBufferUsageFlagBits::eRenderPassContinue)
+    result += "RenderPassContinue | ";
+  if (value & CommandBufferUsageFlagBits::eSimultaneousUse)
+    result += "SimultaneousUse | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using CommandPoolCreateFlags = Flags<CommandPoolCreateFlagBits>;
+
+template <> struct FlagTraits<CommandPoolCreateFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(CommandPoolCreateFlagBits::eTransient) |
+               VkFlags(CommandPoolCreateFlagBits::eResetCommandBuffer) |
+               VkFlags(CommandPoolCreateFlagBits::eProtected)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
+operator|(CommandPoolCreateFlagBits bit0,
+          CommandPoolCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandPoolCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
+operator&(CommandPoolCreateFlagBits bit0,
+          CommandPoolCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandPoolCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
+operator^(CommandPoolCreateFlagBits bit0,
+          CommandPoolCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandPoolCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
+operator~(CommandPoolCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(CommandPoolCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(CommandPoolCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & CommandPoolCreateFlagBits::eTransient)
+    result += "Transient | ";
+  if (value & CommandPoolCreateFlagBits::eResetCommandBuffer)
+    result += "ResetCommandBuffer | ";
+  if (value & CommandPoolCreateFlagBits::eProtected)
+    result += "Protected | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using CommandPoolResetFlags = Flags<CommandPoolResetFlagBits>;
+
+template <> struct FlagTraits<CommandPoolResetFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(CommandPoolResetFlagBits::eReleaseResources)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
+operator|(CommandPoolResetFlagBits bit0,
+          CommandPoolResetFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandPoolResetFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
+operator&(CommandPoolResetFlagBits bit0,
+          CommandPoolResetFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandPoolResetFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
+operator^(CommandPoolResetFlagBits bit0,
+          CommandPoolResetFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CommandPoolResetFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
+operator~(CommandPoolResetFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(CommandPoolResetFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(CommandPoolResetFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & CommandPoolResetFlagBits::eReleaseResources)
+    result += "ReleaseResources | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class CommandPoolTrimFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(CommandPoolTrimFlagBits) {
+  return "(void)";
+}
+
+using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits>;
+
+using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
+
+VULKAN_HPP_INLINE std::string to_string(CommandPoolTrimFlags) { return "{}"; }
+
+using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR>;
+
+template <> struct FlagTraits<CompositeAlphaFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags = VkFlags(CompositeAlphaFlagBitsKHR::eOpaque) |
+               VkFlags(CompositeAlphaFlagBitsKHR::ePreMultiplied) |
+               VkFlags(CompositeAlphaFlagBitsKHR::ePostMultiplied) |
+               VkFlags(CompositeAlphaFlagBitsKHR::eInherit)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
+operator|(CompositeAlphaFlagBitsKHR bit0,
+          CompositeAlphaFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return CompositeAlphaFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
+operator&(CompositeAlphaFlagBitsKHR bit0,
+          CompositeAlphaFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return CompositeAlphaFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
+operator^(CompositeAlphaFlagBitsKHR bit0,
+          CompositeAlphaFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return CompositeAlphaFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
+operator~(CompositeAlphaFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(CompositeAlphaFlagsKHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(CompositeAlphaFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & CompositeAlphaFlagBitsKHR::eOpaque)
+    result += "Opaque | ";
+  if (value & CompositeAlphaFlagBitsKHR::ePreMultiplied)
+    result += "PreMultiplied | ";
+  if (value & CompositeAlphaFlagBitsKHR::ePostMultiplied)
+    result += "PostMultiplied | ";
+  if (value & CompositeAlphaFlagBitsKHR::eInherit)
+    result += "Inherit | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ConditionalRenderingFlagsEXT = Flags<ConditionalRenderingFlagBitsEXT>;
+
+template <> struct FlagTraits<ConditionalRenderingFlagBitsEXT> {
+  enum : VkFlags {
+    allFlags = VkFlags(ConditionalRenderingFlagBitsEXT::eInverted)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
+operator|(ConditionalRenderingFlagBitsEXT bit0,
+          ConditionalRenderingFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return ConditionalRenderingFlagsEXT(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
+operator&(ConditionalRenderingFlagBitsEXT bit0,
+          ConditionalRenderingFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return ConditionalRenderingFlagsEXT(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
+operator^(ConditionalRenderingFlagBitsEXT bit0,
+          ConditionalRenderingFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return ConditionalRenderingFlagsEXT(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
+operator~(ConditionalRenderingFlagBitsEXT bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ConditionalRenderingFlagsEXT(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ConditionalRenderingFlagsEXT value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ConditionalRenderingFlagBitsEXT::eInverted)
+    result += "Inverted | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using CullModeFlags = Flags<CullModeFlagBits>;
+
+template <> struct FlagTraits<CullModeFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(CullModeFlagBits::eNone) |
+               VkFlags(CullModeFlagBits::eFront) |
+               VkFlags(CullModeFlagBits::eBack) |
+               VkFlags(CullModeFlagBits::eFrontAndBack)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags
+operator|(CullModeFlagBits bit0, CullModeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CullModeFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags
+operator&(CullModeFlagBits bit0, CullModeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CullModeFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags
+operator^(CullModeFlagBits bit0, CullModeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return CullModeFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags
+operator~(CullModeFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(CullModeFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(CullModeFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & CullModeFlagBits::eFront)
+    result += "Front | ";
+  if (value & CullModeFlagBits::eBack)
+    result += "Back | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>;
+
+template <> struct FlagTraits<DebugReportFlagBitsEXT> {
+  enum : VkFlags {
+    allFlags = VkFlags(DebugReportFlagBitsEXT::eInformation) |
+               VkFlags(DebugReportFlagBitsEXT::eWarning) |
+               VkFlags(DebugReportFlagBitsEXT::ePerformanceWarning) |
+               VkFlags(DebugReportFlagBitsEXT::eError) |
+               VkFlags(DebugReportFlagBitsEXT::eDebug)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
+operator|(DebugReportFlagBitsEXT bit0,
+          DebugReportFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugReportFlagsEXT(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
+operator&(DebugReportFlagBitsEXT bit0,
+          DebugReportFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugReportFlagsEXT(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
+operator^(DebugReportFlagBitsEXT bit0,
+          DebugReportFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugReportFlagsEXT(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
+operator~(DebugReportFlagBitsEXT bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DebugReportFlagsEXT(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DebugReportFlagsEXT value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DebugReportFlagBitsEXT::eInformation)
+    result += "Information | ";
+  if (value & DebugReportFlagBitsEXT::eWarning)
+    result += "Warning | ";
+  if (value & DebugReportFlagBitsEXT::ePerformanceWarning)
+    result += "PerformanceWarning | ";
+  if (value & DebugReportFlagBitsEXT::eError)
+    result += "Error | ";
+  if (value & DebugReportFlagBitsEXT::eDebug)
+    result += "Debug | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using DebugUtilsMessageSeverityFlagsEXT =
+    Flags<DebugUtilsMessageSeverityFlagBitsEXT>;
+
+template <> struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT> {
+  enum : VkFlags {
+    allFlags = VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eVerbose) |
+               VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eInfo) |
+               VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eWarning) |
+               VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eError)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT
+operator|(DebugUtilsMessageSeverityFlagBitsEXT bit0,
+          DebugUtilsMessageSeverityFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugUtilsMessageSeverityFlagsEXT(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT
+operator&(DebugUtilsMessageSeverityFlagBitsEXT bit0,
+          DebugUtilsMessageSeverityFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugUtilsMessageSeverityFlagsEXT(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT
+operator^(DebugUtilsMessageSeverityFlagBitsEXT bit0,
+          DebugUtilsMessageSeverityFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugUtilsMessageSeverityFlagsEXT(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT
+operator~(DebugUtilsMessageSeverityFlagBitsEXT bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DebugUtilsMessageSeverityFlagsEXT(bits));
+}
+
+VULKAN_HPP_INLINE std::string
+to_string(DebugUtilsMessageSeverityFlagsEXT value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DebugUtilsMessageSeverityFlagBitsEXT::eVerbose)
+    result += "Verbose | ";
+  if (value & DebugUtilsMessageSeverityFlagBitsEXT::eInfo)
+    result += "Info | ";
+  if (value & DebugUtilsMessageSeverityFlagBitsEXT::eWarning)
+    result += "Warning | ";
+  if (value & DebugUtilsMessageSeverityFlagBitsEXT::eError)
+    result += "Error | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using DebugUtilsMessageTypeFlagsEXT = Flags<DebugUtilsMessageTypeFlagBitsEXT>;
+
+template <> struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT> {
+  enum : VkFlags {
+    allFlags = VkFlags(DebugUtilsMessageTypeFlagBitsEXT::eGeneral) |
+               VkFlags(DebugUtilsMessageTypeFlagBitsEXT::eValidation) |
+               VkFlags(DebugUtilsMessageTypeFlagBitsEXT::ePerformance)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
+operator|(DebugUtilsMessageTypeFlagBitsEXT bit0,
+          DebugUtilsMessageTypeFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugUtilsMessageTypeFlagsEXT(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
+operator&(DebugUtilsMessageTypeFlagBitsEXT bit0,
+          DebugUtilsMessageTypeFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugUtilsMessageTypeFlagsEXT(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
+operator^(DebugUtilsMessageTypeFlagBitsEXT bit0,
+          DebugUtilsMessageTypeFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return DebugUtilsMessageTypeFlagsEXT(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
+operator~(DebugUtilsMessageTypeFlagBitsEXT bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DebugUtilsMessageTypeFlagsEXT(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DebugUtilsMessageTypeFlagsEXT value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DebugUtilsMessageTypeFlagBitsEXT::eGeneral)
+    result += "General | ";
+  if (value & DebugUtilsMessageTypeFlagBitsEXT::eValidation)
+    result += "Validation | ";
+  if (value & DebugUtilsMessageTypeFlagBitsEXT::ePerformance)
+    result += "Performance | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class DebugUtilsMessengerCallbackDataFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(DebugUtilsMessengerCallbackDataFlagBitsEXT) {
+  return "(void)";
+}
+
+using DebugUtilsMessengerCallbackDataFlagsEXT =
+    Flags<DebugUtilsMessengerCallbackDataFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string
+to_string(DebugUtilsMessengerCallbackDataFlagsEXT) {
+
+  return "{}";
+}
+
+enum class DebugUtilsMessengerCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(DebugUtilsMessengerCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using DebugUtilsMessengerCreateFlagsEXT =
+    Flags<DebugUtilsMessengerCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string to_string(DebugUtilsMessengerCreateFlagsEXT) {
+
+  return "{}";
+}
+
+using DependencyFlags = Flags<DependencyFlagBits>;
+
+template <> struct FlagTraits<DependencyFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(DependencyFlagBits::eByRegion) |
+               VkFlags(DependencyFlagBits::eDeviceGroup) |
+               VkFlags(DependencyFlagBits::eViewLocal)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator|(
+    DependencyFlagBits bit0, DependencyFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DependencyFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator&(
+    DependencyFlagBits bit0, DependencyFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DependencyFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator^(
+    DependencyFlagBits bit0, DependencyFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DependencyFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags
+operator~(DependencyFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DependencyFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DependencyFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DependencyFlagBits::eByRegion)
+    result += "ByRegion | ";
+  if (value & DependencyFlagBits::eDeviceGroup)
+    result += "DeviceGroup | ";
+  if (value & DependencyFlagBits::eViewLocal)
+    result += "ViewLocal | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using DescriptorBindingFlags = Flags<DescriptorBindingFlagBits>;
+
+template <> struct FlagTraits<DescriptorBindingFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(DescriptorBindingFlagBits::eUpdateAfterBind) |
+               VkFlags(DescriptorBindingFlagBits::eUpdateUnusedWhilePending) |
+               VkFlags(DescriptorBindingFlagBits::ePartiallyBound) |
+               VkFlags(DescriptorBindingFlagBits::eVariableDescriptorCount)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
+operator|(DescriptorBindingFlagBits bit0,
+          DescriptorBindingFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorBindingFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
+operator&(DescriptorBindingFlagBits bit0,
+          DescriptorBindingFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorBindingFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
+operator^(DescriptorBindingFlagBits bit0,
+          DescriptorBindingFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorBindingFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
+operator~(DescriptorBindingFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DescriptorBindingFlags(bits));
+}
+
+using DescriptorBindingFlagsEXT = DescriptorBindingFlags;
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorBindingFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DescriptorBindingFlagBits::eUpdateAfterBind)
+    result += "UpdateAfterBind | ";
+  if (value & DescriptorBindingFlagBits::eUpdateUnusedWhilePending)
+    result += "UpdateUnusedWhilePending | ";
+  if (value & DescriptorBindingFlagBits::ePartiallyBound)
+    result += "PartiallyBound | ";
+  if (value & DescriptorBindingFlagBits::eVariableDescriptorCount)
+    result += "VariableDescriptorCount | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using DescriptorPoolCreateFlags = Flags<DescriptorPoolCreateFlagBits>;
+
+template <> struct FlagTraits<DescriptorPoolCreateFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(DescriptorPoolCreateFlagBits::eFreeDescriptorSet) |
+               VkFlags(DescriptorPoolCreateFlagBits::eUpdateAfterBind) |
+               VkFlags(DescriptorPoolCreateFlagBits::eHostOnlyVALVE)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
+operator|(DescriptorPoolCreateFlagBits bit0,
+          DescriptorPoolCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorPoolCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
+operator&(DescriptorPoolCreateFlagBits bit0,
+          DescriptorPoolCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorPoolCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
+operator^(DescriptorPoolCreateFlagBits bit0,
+          DescriptorPoolCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorPoolCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
+operator~(DescriptorPoolCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DescriptorPoolCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorPoolCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DescriptorPoolCreateFlagBits::eFreeDescriptorSet)
+    result += "FreeDescriptorSet | ";
+  if (value & DescriptorPoolCreateFlagBits::eUpdateAfterBind)
+    result += "UpdateAfterBind | ";
+  if (value & DescriptorPoolCreateFlagBits::eHostOnlyVALVE)
+    result += "HostOnlyVALVE | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class DescriptorPoolResetFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorPoolResetFlagBits) {
+  return "(void)";
+}
+
+using DescriptorPoolResetFlags = Flags<DescriptorPoolResetFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorPoolResetFlags) {
+
+  return "{}";
+}
+
+using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>;
+
+template <> struct FlagTraits<DescriptorSetLayoutCreateFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool) |
+        VkFlags(DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR) |
+        VkFlags(DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolVALVE)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
+operator|(DescriptorSetLayoutCreateFlagBits bit0,
+          DescriptorSetLayoutCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorSetLayoutCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
+operator&(DescriptorSetLayoutCreateFlagBits bit0,
+          DescriptorSetLayoutCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorSetLayoutCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
+operator^(DescriptorSetLayoutCreateFlagBits bit0,
+          DescriptorSetLayoutCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DescriptorSetLayoutCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
+operator~(DescriptorSetLayoutCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DescriptorSetLayoutCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorSetLayoutCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool)
+    result += "UpdateAfterBindPool | ";
+  if (value & DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR)
+    result += "PushDescriptorKHR | ";
+  if (value & DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolVALVE)
+    result += "HostOnlyPoolVALVE | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class DescriptorUpdateTemplateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(DescriptorUpdateTemplateCreateFlagBits) {
+  return "(void)";
+}
+
+using DescriptorUpdateTemplateCreateFlags =
+    Flags<DescriptorUpdateTemplateCreateFlagBits>;
+
+using DescriptorUpdateTemplateCreateFlagsKHR =
+    DescriptorUpdateTemplateCreateFlags;
+
+VULKAN_HPP_INLINE std::string to_string(DescriptorUpdateTemplateCreateFlags) {
+
+  return "{}";
+}
+
+using DeviceCreateFlags = Flags<DeviceCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(DeviceCreateFlags) { return "{}"; }
+
+using DeviceDiagnosticsConfigFlagsNV = Flags<DeviceDiagnosticsConfigFlagBitsNV>;
+
+template <> struct FlagTraits<DeviceDiagnosticsConfigFlagBitsNV> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo) |
+        VkFlags(DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking) |
+        VkFlags(DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
+operator|(DeviceDiagnosticsConfigFlagBitsNV bit0,
+          DeviceDiagnosticsConfigFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceDiagnosticsConfigFlagsNV(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
+operator&(DeviceDiagnosticsConfigFlagBitsNV bit0,
+          DeviceDiagnosticsConfigFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceDiagnosticsConfigFlagsNV(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
+operator^(DeviceDiagnosticsConfigFlagBitsNV bit0,
+          DeviceDiagnosticsConfigFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceDiagnosticsConfigFlagsNV(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
+operator~(DeviceDiagnosticsConfigFlagBitsNV bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DeviceDiagnosticsConfigFlagsNV(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DeviceDiagnosticsConfigFlagsNV value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo)
+    result += "EnableShaderDebugInfo | ";
+  if (value & DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking)
+    result += "EnableResourceTracking | ";
+  if (value & DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints)
+    result += "EnableAutomaticCheckpoints | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using DeviceGroupPresentModeFlagsKHR = Flags<DeviceGroupPresentModeFlagBitsKHR>;
+
+template <> struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags = VkFlags(DeviceGroupPresentModeFlagBitsKHR::eLocal) |
+               VkFlags(DeviceGroupPresentModeFlagBitsKHR::eRemote) |
+               VkFlags(DeviceGroupPresentModeFlagBitsKHR::eSum) |
+               VkFlags(DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
+operator|(DeviceGroupPresentModeFlagBitsKHR bit0,
+          DeviceGroupPresentModeFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceGroupPresentModeFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
+operator&(DeviceGroupPresentModeFlagBitsKHR bit0,
+          DeviceGroupPresentModeFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceGroupPresentModeFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
+operator^(DeviceGroupPresentModeFlagBitsKHR bit0,
+          DeviceGroupPresentModeFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceGroupPresentModeFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
+operator~(DeviceGroupPresentModeFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DeviceGroupPresentModeFlagsKHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DeviceGroupPresentModeFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DeviceGroupPresentModeFlagBitsKHR::eLocal)
+    result += "Local | ";
+  if (value & DeviceGroupPresentModeFlagBitsKHR::eRemote)
+    result += "Remote | ";
+  if (value & DeviceGroupPresentModeFlagBitsKHR::eSum)
+    result += "Sum | ";
+  if (value & DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice)
+    result += "LocalMultiDevice | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class DeviceMemoryReportFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(DeviceMemoryReportFlagBitsEXT) {
+  return "(void)";
+}
+
+using DeviceMemoryReportFlagsEXT = Flags<DeviceMemoryReportFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string to_string(DeviceMemoryReportFlagsEXT) {
+
+  return "{}";
+}
+
+using DeviceQueueCreateFlags = Flags<DeviceQueueCreateFlagBits>;
+
+template <> struct FlagTraits<DeviceQueueCreateFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(DeviceQueueCreateFlagBits::eProtected) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
+operator|(DeviceQueueCreateFlagBits bit0,
+          DeviceQueueCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceQueueCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
+operator&(DeviceQueueCreateFlagBits bit0,
+          DeviceQueueCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceQueueCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
+operator^(DeviceQueueCreateFlagBits bit0,
+          DeviceQueueCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return DeviceQueueCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
+operator~(DeviceQueueCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DeviceQueueCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DeviceQueueCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DeviceQueueCreateFlagBits::eProtected)
+    result += "Protected | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+enum class DirectFBSurfaceCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(DirectFBSurfaceCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using DirectFBSurfaceCreateFlagsEXT = Flags<DirectFBSurfaceCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string to_string(DirectFBSurfaceCreateFlagsEXT) {
+
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+enum class DisplayModeCreateFlagBitsKHR : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(DisplayModeCreateFlagBitsKHR) {
+  return "(void)";
+}
+
+using DisplayModeCreateFlagsKHR = Flags<DisplayModeCreateFlagBitsKHR>;
+
+VULKAN_HPP_INLINE std::string to_string(DisplayModeCreateFlagsKHR) {
+
+  return "{}";
+}
+
+using DisplayPlaneAlphaFlagsKHR = Flags<DisplayPlaneAlphaFlagBitsKHR>;
+
+template <> struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags = VkFlags(DisplayPlaneAlphaFlagBitsKHR::eOpaque) |
+               VkFlags(DisplayPlaneAlphaFlagBitsKHR::eGlobal) |
+               VkFlags(DisplayPlaneAlphaFlagBitsKHR::ePerPixel) |
+               VkFlags(DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
+operator|(DisplayPlaneAlphaFlagBitsKHR bit0,
+          DisplayPlaneAlphaFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return DisplayPlaneAlphaFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
+operator&(DisplayPlaneAlphaFlagBitsKHR bit0,
+          DisplayPlaneAlphaFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return DisplayPlaneAlphaFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
+operator^(DisplayPlaneAlphaFlagBitsKHR bit0,
+          DisplayPlaneAlphaFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return DisplayPlaneAlphaFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
+operator~(DisplayPlaneAlphaFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(DisplayPlaneAlphaFlagsKHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(DisplayPlaneAlphaFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & DisplayPlaneAlphaFlagBitsKHR::eOpaque)
+    result += "Opaque | ";
+  if (value & DisplayPlaneAlphaFlagBitsKHR::eGlobal)
+    result += "Global | ";
+  if (value & DisplayPlaneAlphaFlagBitsKHR::ePerPixel)
+    result += "PerPixel | ";
+  if (value & DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied)
+    result += "PerPixelPremultiplied | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class DisplaySurfaceCreateFlagBitsKHR : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(DisplaySurfaceCreateFlagBitsKHR) {
+  return "(void)";
+}
+
+using DisplaySurfaceCreateFlagsKHR = Flags<DisplaySurfaceCreateFlagBitsKHR>;
+
+VULKAN_HPP_INLINE std::string to_string(DisplaySurfaceCreateFlagsKHR) {
+
+  return "{}";
+}
+
+using EventCreateFlags = Flags<EventCreateFlagBits>;
+
+template <> struct FlagTraits<EventCreateFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(EventCreateFlagBits::eDeviceOnlyKHR) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator|(
+    EventCreateFlagBits bit0, EventCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return EventCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator&(
+    EventCreateFlagBits bit0, EventCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return EventCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator^(
+    EventCreateFlagBits bit0, EventCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return EventCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags
+operator~(EventCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(EventCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(EventCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & EventCreateFlagBits::eDeviceOnlyKHR)
+    result += "DeviceOnlyKHR | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalFenceFeatureFlags = Flags<ExternalFenceFeatureFlagBits>;
+
+template <> struct FlagTraits<ExternalFenceFeatureFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ExternalFenceFeatureFlagBits::eExportable) |
+               VkFlags(ExternalFenceFeatureFlagBits::eImportable)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
+operator|(ExternalFenceFeatureFlagBits bit0,
+          ExternalFenceFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalFenceFeatureFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
+operator&(ExternalFenceFeatureFlagBits bit0,
+          ExternalFenceFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalFenceFeatureFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
+operator^(ExternalFenceFeatureFlagBits bit0,
+          ExternalFenceFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalFenceFeatureFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
+operator~(ExternalFenceFeatureFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalFenceFeatureFlags(bits));
+}
+
+using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalFenceFeatureFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalFenceFeatureFlagBits::eExportable)
+    result += "Exportable | ";
+  if (value & ExternalFenceFeatureFlagBits::eImportable)
+    result += "Importable | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalFenceHandleTypeFlags = Flags<ExternalFenceHandleTypeFlagBits>;
+
+template <> struct FlagTraits<ExternalFenceHandleTypeFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueFd) |
+               VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueWin32) |
+               VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt) |
+               VkFlags(ExternalFenceHandleTypeFlagBits::eSyncFd)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
+operator|(ExternalFenceHandleTypeFlagBits bit0,
+          ExternalFenceHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalFenceHandleTypeFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
+operator&(ExternalFenceHandleTypeFlagBits bit0,
+          ExternalFenceHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalFenceHandleTypeFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
+operator^(ExternalFenceHandleTypeFlagBits bit0,
+          ExternalFenceHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalFenceHandleTypeFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
+operator~(ExternalFenceHandleTypeFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalFenceHandleTypeFlags(bits));
+}
+
+using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalFenceHandleTypeFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalFenceHandleTypeFlagBits::eOpaqueFd)
+    result += "OpaqueFd | ";
+  if (value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32)
+    result += "OpaqueWin32 | ";
+  if (value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt)
+    result += "OpaqueWin32Kmt | ";
+  if (value & ExternalFenceHandleTypeFlagBits::eSyncFd)
+    result += "SyncFd | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalMemoryFeatureFlags = Flags<ExternalMemoryFeatureFlagBits>;
+
+template <> struct FlagTraits<ExternalMemoryFeatureFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ExternalMemoryFeatureFlagBits::eDedicatedOnly) |
+               VkFlags(ExternalMemoryFeatureFlagBits::eExportable) |
+               VkFlags(ExternalMemoryFeatureFlagBits::eImportable)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
+operator|(ExternalMemoryFeatureFlagBits bit0,
+          ExternalMemoryFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryFeatureFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
+operator&(ExternalMemoryFeatureFlagBits bit0,
+          ExternalMemoryFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryFeatureFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
+operator^(ExternalMemoryFeatureFlagBits bit0,
+          ExternalMemoryFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryFeatureFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
+operator~(ExternalMemoryFeatureFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalMemoryFeatureFlags(bits));
+}
+
+using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalMemoryFeatureFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalMemoryFeatureFlagBits::eDedicatedOnly)
+    result += "DedicatedOnly | ";
+  if (value & ExternalMemoryFeatureFlagBits::eExportable)
+    result += "Exportable | ";
+  if (value & ExternalMemoryFeatureFlagBits::eImportable)
+    result += "Importable | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalMemoryFeatureFlagsNV = Flags<ExternalMemoryFeatureFlagBitsNV>;
+
+template <> struct FlagTraits<ExternalMemoryFeatureFlagBitsNV> {
+  enum : VkFlags {
+    allFlags = VkFlags(ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly) |
+               VkFlags(ExternalMemoryFeatureFlagBitsNV::eExportable) |
+               VkFlags(ExternalMemoryFeatureFlagBitsNV::eImportable)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
+operator|(ExternalMemoryFeatureFlagBitsNV bit0,
+          ExternalMemoryFeatureFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryFeatureFlagsNV(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
+operator&(ExternalMemoryFeatureFlagBitsNV bit0,
+          ExternalMemoryFeatureFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryFeatureFlagsNV(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
+operator^(ExternalMemoryFeatureFlagBitsNV bit0,
+          ExternalMemoryFeatureFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryFeatureFlagsNV(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
+operator~(ExternalMemoryFeatureFlagBitsNV bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalMemoryFeatureFlagsNV(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ExternalMemoryFeatureFlagsNV value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly)
+    result += "DedicatedOnly | ";
+  if (value & ExternalMemoryFeatureFlagBitsNV::eExportable)
+    result += "Exportable | ";
+  if (value & ExternalMemoryFeatureFlagBitsNV::eImportable)
+    result += "Importable | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalMemoryHandleTypeFlags = Flags<ExternalMemoryHandleTypeFlagBits>;
+
+template <> struct FlagTraits<ExternalMemoryHandleTypeFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueFd) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11Texture) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Heap) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Resource) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eDmaBufEXT)
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+        |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID)
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+        | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT) |
+        VkFlags(ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT)
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+        | VkFlags(ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA)
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
+operator|(ExternalMemoryHandleTypeFlagBits bit0,
+          ExternalMemoryHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryHandleTypeFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
+operator&(ExternalMemoryHandleTypeFlagBits bit0,
+          ExternalMemoryHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryHandleTypeFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
+operator^(ExternalMemoryHandleTypeFlagBits bit0,
+          ExternalMemoryHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryHandleTypeFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
+operator~(ExternalMemoryHandleTypeFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalMemoryHandleTypeFlags(bits));
+}
+
+using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalMemoryHandleTypeFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
+    result += "OpaqueFd | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32)
+    result += "OpaqueWin32 | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt)
+    result += "OpaqueWin32Kmt | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eD3D11Texture)
+    result += "D3D11Texture | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt)
+    result += "D3D11TextureKmt | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eD3D12Heap)
+    result += "D3D12Heap | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eD3D12Resource)
+    result += "D3D12Resource | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eDmaBufEXT)
+    result += "DmaBufEXT | ";
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  if (value & ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID)
+    result += "AndroidHardwareBufferANDROID | ";
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+  if (value & ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT)
+    result += "HostAllocationEXT | ";
+  if (value & ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT)
+    result += "HostMappedForeignMemoryEXT | ";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  if (value & ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA)
+    result += "ZirconVmoFUCHSIA | ";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalMemoryHandleTypeFlagsNV =
+    Flags<ExternalMemoryHandleTypeFlagBitsNV>;
+
+template <> struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV> {
+  enum : VkFlags {
+    allFlags = VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32) |
+               VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt) |
+               VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image) |
+               VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
+operator|(ExternalMemoryHandleTypeFlagBitsNV bit0,
+          ExternalMemoryHandleTypeFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryHandleTypeFlagsNV(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
+operator&(ExternalMemoryHandleTypeFlagBitsNV bit0,
+          ExternalMemoryHandleTypeFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryHandleTypeFlagsNV(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
+operator^(ExternalMemoryHandleTypeFlagBitsNV bit0,
+          ExternalMemoryHandleTypeFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalMemoryHandleTypeFlagsNV(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
+operator~(ExternalMemoryHandleTypeFlagBitsNV bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalMemoryHandleTypeFlagsNV(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ExternalMemoryHandleTypeFlagsNV value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32)
+    result += "OpaqueWin32 | ";
+  if (value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt)
+    result += "OpaqueWin32Kmt | ";
+  if (value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image)
+    result += "D3D11Image | ";
+  if (value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt)
+    result += "D3D11ImageKmt | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalSemaphoreFeatureFlags = Flags<ExternalSemaphoreFeatureFlagBits>;
+
+template <> struct FlagTraits<ExternalSemaphoreFeatureFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ExternalSemaphoreFeatureFlagBits::eExportable) |
+               VkFlags(ExternalSemaphoreFeatureFlagBits::eImportable)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
+operator|(ExternalSemaphoreFeatureFlagBits bit0,
+          ExternalSemaphoreFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalSemaphoreFeatureFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
+operator&(ExternalSemaphoreFeatureFlagBits bit0,
+          ExternalSemaphoreFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalSemaphoreFeatureFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
+operator^(ExternalSemaphoreFeatureFlagBits bit0,
+          ExternalSemaphoreFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalSemaphoreFeatureFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
+operator~(ExternalSemaphoreFeatureFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalSemaphoreFeatureFlags(bits));
+}
+
+using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
+
+VULKAN_HPP_INLINE std::string to_string(ExternalSemaphoreFeatureFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalSemaphoreFeatureFlagBits::eExportable)
+    result += "Exportable | ";
+  if (value & ExternalSemaphoreFeatureFlagBits::eImportable)
+    result += "Importable | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ExternalSemaphoreHandleTypeFlags =
+    Flags<ExternalSemaphoreHandleTypeFlagBits>;
+
+template <> struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd) |
+               VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32) |
+               VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt) |
+               VkFlags(ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence) |
+               VkFlags(ExternalSemaphoreHandleTypeFlagBits::eSyncFd)
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+               |
+               VkFlags(ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA)
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
+operator|(ExternalSemaphoreHandleTypeFlagBits bit0,
+          ExternalSemaphoreHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalSemaphoreHandleTypeFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
+operator&(ExternalSemaphoreHandleTypeFlagBits bit0,
+          ExternalSemaphoreHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalSemaphoreHandleTypeFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
+operator^(ExternalSemaphoreHandleTypeFlagBits bit0,
+          ExternalSemaphoreHandleTypeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ExternalSemaphoreHandleTypeFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
+operator~(ExternalSemaphoreHandleTypeFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ExternalSemaphoreHandleTypeFlags(bits));
+}
+
+using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
+
+VULKAN_HPP_INLINE std::string
+to_string(ExternalSemaphoreHandleTypeFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd)
+    result += "OpaqueFd | ";
+  if (value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32)
+    result += "OpaqueWin32 | ";
+  if (value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt)
+    result += "OpaqueWin32Kmt | ";
+  if (value & ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence)
+    result += "D3D12Fence | ";
+  if (value & ExternalSemaphoreHandleTypeFlagBits::eSyncFd)
+    result += "SyncFd | ";
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  if (value & ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA)
+    result += "ZirconEventFUCHSIA | ";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using FenceCreateFlags = Flags<FenceCreateFlagBits>;
+
+template <> struct FlagTraits<FenceCreateFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(FenceCreateFlagBits::eSignaled) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator|(
+    FenceCreateFlagBits bit0, FenceCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FenceCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator&(
+    FenceCreateFlagBits bit0, FenceCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FenceCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator^(
+    FenceCreateFlagBits bit0, FenceCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FenceCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags
+operator~(FenceCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(FenceCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(FenceCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & FenceCreateFlagBits::eSignaled)
+    result += "Signaled | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using FenceImportFlags = Flags<FenceImportFlagBits>;
+
+template <> struct FlagTraits<FenceImportFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(FenceImportFlagBits::eTemporary) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator|(
+    FenceImportFlagBits bit0, FenceImportFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FenceImportFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator&(
+    FenceImportFlagBits bit0, FenceImportFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FenceImportFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator^(
+    FenceImportFlagBits bit0, FenceImportFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FenceImportFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags
+operator~(FenceImportFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(FenceImportFlags(bits));
+}
+
+using FenceImportFlagsKHR = FenceImportFlags;
+
+VULKAN_HPP_INLINE std::string to_string(FenceImportFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & FenceImportFlagBits::eTemporary)
+    result += "Temporary | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using FormatFeatureFlags = Flags<FormatFeatureFlagBits>;
+
+template <> struct FlagTraits<FormatFeatureFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(FormatFeatureFlagBits::eSampledImage) |
+        VkFlags(FormatFeatureFlagBits::eStorageImage) |
+        VkFlags(FormatFeatureFlagBits::eStorageImageAtomic) |
+        VkFlags(FormatFeatureFlagBits::eUniformTexelBuffer) |
+        VkFlags(FormatFeatureFlagBits::eStorageTexelBuffer) |
+        VkFlags(FormatFeatureFlagBits::eStorageTexelBufferAtomic) |
+        VkFlags(FormatFeatureFlagBits::eVertexBuffer) |
+        VkFlags(FormatFeatureFlagBits::eColorAttachment) |
+        VkFlags(FormatFeatureFlagBits::eColorAttachmentBlend) |
+        VkFlags(FormatFeatureFlagBits::eDepthStencilAttachment) |
+        VkFlags(FormatFeatureFlagBits::eBlitSrc) |
+        VkFlags(FormatFeatureFlagBits::eBlitDst) |
+        VkFlags(FormatFeatureFlagBits::eSampledImageFilterLinear) |
+        VkFlags(FormatFeatureFlagBits::eTransferSrc) |
+        VkFlags(FormatFeatureFlagBits::eTransferDst) |
+        VkFlags(FormatFeatureFlagBits::eMidpointChromaSamples) |
+        VkFlags(
+            FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter) |
+        VkFlags(FormatFeatureFlagBits::
+                    eSampledImageYcbcrConversionSeparateReconstructionFilter) |
+        VkFlags(FormatFeatureFlagBits::
+                    eSampledImageYcbcrConversionChromaReconstructionExplicit) |
+        VkFlags(
+            FormatFeatureFlagBits::
+                eSampledImageYcbcrConversionChromaReconstructionExplicitForceable) |
+        VkFlags(FormatFeatureFlagBits::eDisjoint) |
+        VkFlags(FormatFeatureFlagBits::eCositedChromaSamples) |
+        VkFlags(FormatFeatureFlagBits::eSampledImageFilterMinmax) |
+        VkFlags(FormatFeatureFlagBits::eSampledImageFilterCubicIMG) |
+        VkFlags(FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR) |
+        VkFlags(FormatFeatureFlagBits::eFragmentDensityMapEXT) |
+        VkFlags(FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags
+operator|(FormatFeatureFlagBits bit0,
+          FormatFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FormatFeatureFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags
+operator&(FormatFeatureFlagBits bit0,
+          FormatFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FormatFeatureFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags
+operator^(FormatFeatureFlagBits bit0,
+          FormatFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FormatFeatureFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags
+operator~(FormatFeatureFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(FormatFeatureFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(FormatFeatureFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & FormatFeatureFlagBits::eSampledImage)
+    result += "SampledImage | ";
+  if (value & FormatFeatureFlagBits::eStorageImage)
+    result += "StorageImage | ";
+  if (value & FormatFeatureFlagBits::eStorageImageAtomic)
+    result += "StorageImageAtomic | ";
+  if (value & FormatFeatureFlagBits::eUniformTexelBuffer)
+    result += "UniformTexelBuffer | ";
+  if (value & FormatFeatureFlagBits::eStorageTexelBuffer)
+    result += "StorageTexelBuffer | ";
+  if (value & FormatFeatureFlagBits::eStorageTexelBufferAtomic)
+    result += "StorageTexelBufferAtomic | ";
+  if (value & FormatFeatureFlagBits::eVertexBuffer)
+    result += "VertexBuffer | ";
+  if (value & FormatFeatureFlagBits::eColorAttachment)
+    result += "ColorAttachment | ";
+  if (value & FormatFeatureFlagBits::eColorAttachmentBlend)
+    result += "ColorAttachmentBlend | ";
+  if (value & FormatFeatureFlagBits::eDepthStencilAttachment)
+    result += "DepthStencilAttachment | ";
+  if (value & FormatFeatureFlagBits::eBlitSrc)
+    result += "BlitSrc | ";
+  if (value & FormatFeatureFlagBits::eBlitDst)
+    result += "BlitDst | ";
+  if (value & FormatFeatureFlagBits::eSampledImageFilterLinear)
+    result += "SampledImageFilterLinear | ";
+  if (value & FormatFeatureFlagBits::eTransferSrc)
+    result += "TransferSrc | ";
+  if (value & FormatFeatureFlagBits::eTransferDst)
+    result += "TransferDst | ";
+  if (value & FormatFeatureFlagBits::eMidpointChromaSamples)
+    result += "MidpointChromaSamples | ";
+  if (value & FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter)
+    result += "SampledImageYcbcrConversionLinearFilter | ";
+  if (value & FormatFeatureFlagBits::
+                  eSampledImageYcbcrConversionSeparateReconstructionFilter)
+    result += "SampledImageYcbcrConversionSeparateReconstructionFilter | ";
+  if (value & FormatFeatureFlagBits::
+                  eSampledImageYcbcrConversionChromaReconstructionExplicit)
+    result += "SampledImageYcbcrConversionChromaReconstructionExplicit | ";
+  if (value &
+      FormatFeatureFlagBits::
+          eSampledImageYcbcrConversionChromaReconstructionExplicitForceable)
+    result +=
+        "SampledImageYcbcrConversionChromaReconstructionExplicitForceable | ";
+  if (value & FormatFeatureFlagBits::eDisjoint)
+    result += "Disjoint | ";
+  if (value & FormatFeatureFlagBits::eCositedChromaSamples)
+    result += "CositedChromaSamples | ";
+  if (value & FormatFeatureFlagBits::eSampledImageFilterMinmax)
+    result += "SampledImageFilterMinmax | ";
+  if (value & FormatFeatureFlagBits::eSampledImageFilterCubicIMG)
+    result += "SampledImageFilterCubicIMG | ";
+  if (value & FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR)
+    result += "AccelerationStructureVertexBufferKHR | ";
+  if (value & FormatFeatureFlagBits::eFragmentDensityMapEXT)
+    result += "FragmentDensityMapEXT | ";
+  if (value & FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR)
+    result += "FragmentShadingRateAttachmentKHR | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using FramebufferCreateFlags = Flags<FramebufferCreateFlagBits>;
+
+template <> struct FlagTraits<FramebufferCreateFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(FramebufferCreateFlagBits::eImageless) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
+operator|(FramebufferCreateFlagBits bit0,
+          FramebufferCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FramebufferCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
+operator&(FramebufferCreateFlagBits bit0,
+          FramebufferCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FramebufferCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
+operator^(FramebufferCreateFlagBits bit0,
+          FramebufferCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return FramebufferCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
+operator~(FramebufferCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(FramebufferCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(FramebufferCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & FramebufferCreateFlagBits::eImageless)
+    result += "Imageless | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using GeometryFlagsKHR = Flags<GeometryFlagBitsKHR>;
+
+template <> struct FlagTraits<GeometryFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags = VkFlags(GeometryFlagBitsKHR::eOpaque) |
+               VkFlags(GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator|(
+    GeometryFlagBitsKHR bit0, GeometryFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return GeometryFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator&(
+    GeometryFlagBitsKHR bit0, GeometryFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return GeometryFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator^(
+    GeometryFlagBitsKHR bit0, GeometryFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return GeometryFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR
+operator~(GeometryFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(GeometryFlagsKHR(bits));
+}
+
+using GeometryFlagsNV = GeometryFlagsKHR;
+
+VULKAN_HPP_INLINE std::string to_string(GeometryFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & GeometryFlagBitsKHR::eOpaque)
+    result += "Opaque | ";
+  if (value & GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation)
+    result += "NoDuplicateAnyHitInvocation | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using GeometryInstanceFlagsKHR = Flags<GeometryInstanceFlagBitsKHR>;
+
+template <> struct FlagTraits<GeometryInstanceFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable) |
+        VkFlags(GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise) |
+        VkFlags(GeometryInstanceFlagBitsKHR::eForceOpaque) |
+        VkFlags(GeometryInstanceFlagBitsKHR::eForceNoOpaque)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
+operator|(GeometryInstanceFlagBitsKHR bit0,
+          GeometryInstanceFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return GeometryInstanceFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
+operator&(GeometryInstanceFlagBitsKHR bit0,
+          GeometryInstanceFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return GeometryInstanceFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
+operator^(GeometryInstanceFlagBitsKHR bit0,
+          GeometryInstanceFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return GeometryInstanceFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
+operator~(GeometryInstanceFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(GeometryInstanceFlagsKHR(bits));
+}
+
+using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
+
+VULKAN_HPP_INLINE std::string to_string(GeometryInstanceFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable)
+    result += "TriangleFacingCullDisable | ";
+  if (value & GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise)
+    result += "TriangleFrontCounterclockwise | ";
+  if (value & GeometryInstanceFlagBitsKHR::eForceOpaque)
+    result += "ForceOpaque | ";
+  if (value & GeometryInstanceFlagBitsKHR::eForceNoOpaque)
+    result += "ForceNoOpaque | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class HeadlessSurfaceCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(HeadlessSurfaceCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using HeadlessSurfaceCreateFlagsEXT = Flags<HeadlessSurfaceCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string to_string(HeadlessSurfaceCreateFlagsEXT) {
+
+  return "{}";
+}
+
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+enum class IOSSurfaceCreateFlagBitsMVK : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(IOSSurfaceCreateFlagBitsMVK) {
+  return "(void)";
+}
+
+using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK>;
+
+VULKAN_HPP_INLINE std::string to_string(IOSSurfaceCreateFlagsMVK) {
+
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+
+using ImageAspectFlags = Flags<ImageAspectFlagBits>;
+
+template <> struct FlagTraits<ImageAspectFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ImageAspectFlagBits::eColor) |
+               VkFlags(ImageAspectFlagBits::eDepth) |
+               VkFlags(ImageAspectFlagBits::eStencil) |
+               VkFlags(ImageAspectFlagBits::eMetadata) |
+               VkFlags(ImageAspectFlagBits::ePlane0) |
+               VkFlags(ImageAspectFlagBits::ePlane1) |
+               VkFlags(ImageAspectFlagBits::ePlane2) |
+               VkFlags(ImageAspectFlagBits::eMemoryPlane0EXT) |
+               VkFlags(ImageAspectFlagBits::eMemoryPlane1EXT) |
+               VkFlags(ImageAspectFlagBits::eMemoryPlane2EXT) |
+               VkFlags(ImageAspectFlagBits::eMemoryPlane3EXT)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator|(
+    ImageAspectFlagBits bit0, ImageAspectFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageAspectFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator&(
+    ImageAspectFlagBits bit0, ImageAspectFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageAspectFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator^(
+    ImageAspectFlagBits bit0, ImageAspectFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageAspectFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags
+operator~(ImageAspectFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ImageAspectFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ImageAspectFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ImageAspectFlagBits::eColor)
+    result += "Color | ";
+  if (value & ImageAspectFlagBits::eDepth)
+    result += "Depth | ";
+  if (value & ImageAspectFlagBits::eStencil)
+    result += "Stencil | ";
+  if (value & ImageAspectFlagBits::eMetadata)
+    result += "Metadata | ";
+  if (value & ImageAspectFlagBits::ePlane0)
+    result += "Plane0 | ";
+  if (value & ImageAspectFlagBits::ePlane1)
+    result += "Plane1 | ";
+  if (value & ImageAspectFlagBits::ePlane2)
+    result += "Plane2 | ";
+  if (value & ImageAspectFlagBits::eMemoryPlane0EXT)
+    result += "MemoryPlane0EXT | ";
+  if (value & ImageAspectFlagBits::eMemoryPlane1EXT)
+    result += "MemoryPlane1EXT | ";
+  if (value & ImageAspectFlagBits::eMemoryPlane2EXT)
+    result += "MemoryPlane2EXT | ";
+  if (value & ImageAspectFlagBits::eMemoryPlane3EXT)
+    result += "MemoryPlane3EXT | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+
+using ImageConstraintsInfoFlagsFUCHSIA =
+    Flags<ImageConstraintsInfoFlagBitsFUCHSIA>;
+
+template <> struct FlagTraits<ImageConstraintsInfoFlagBitsFUCHSIA> {
+  enum : VkFlags {
+    allFlags = VkFlags(ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely) |
+               VkFlags(ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften) |
+               VkFlags(ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely) |
+               VkFlags(ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften) |
+               VkFlags(ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
+operator|(ImageConstraintsInfoFlagBitsFUCHSIA bit0,
+          ImageConstraintsInfoFlagBitsFUCHSIA bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageConstraintsInfoFlagsFUCHSIA(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
+operator&(ImageConstraintsInfoFlagBitsFUCHSIA bit0,
+          ImageConstraintsInfoFlagBitsFUCHSIA bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageConstraintsInfoFlagsFUCHSIA(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
+operator^(ImageConstraintsInfoFlagBitsFUCHSIA bit0,
+          ImageConstraintsInfoFlagBitsFUCHSIA bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageConstraintsInfoFlagsFUCHSIA(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA
+operator~(ImageConstraintsInfoFlagBitsFUCHSIA bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ImageConstraintsInfoFlagsFUCHSIA(bits));
+}
+
+VULKAN_HPP_INLINE std::string
+to_string(ImageConstraintsInfoFlagsFUCHSIA value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely)
+    result += "CpuReadRarely | ";
+  if (value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften)
+    result += "CpuReadOften | ";
+  if (value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely)
+    result += "CpuWriteRarely | ";
+  if (value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften)
+    result += "CpuWriteOften | ";
+  if (value & ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional)
+    result += "ProtectedOptional | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+using ImageCreateFlags = Flags<ImageCreateFlagBits>;
+
+template <> struct FlagTraits<ImageCreateFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(ImageCreateFlagBits::eSparseBinding) |
+        VkFlags(ImageCreateFlagBits::eSparseResidency) |
+        VkFlags(ImageCreateFlagBits::eSparseAliased) |
+        VkFlags(ImageCreateFlagBits::eMutableFormat) |
+        VkFlags(ImageCreateFlagBits::eCubeCompatible) |
+        VkFlags(ImageCreateFlagBits::eAlias) |
+        VkFlags(ImageCreateFlagBits::eSplitInstanceBindRegions) |
+        VkFlags(ImageCreateFlagBits::e2DArrayCompatible) |
+        VkFlags(ImageCreateFlagBits::eBlockTexelViewCompatible) |
+        VkFlags(ImageCreateFlagBits::eExtendedUsage) |
+        VkFlags(ImageCreateFlagBits::eProtected) |
+        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*/
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator|(
+    ImageCreateFlagBits bit0, ImageCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator&(
+    ImageCreateFlagBits bit0, ImageCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator^(
+    ImageCreateFlagBits bit0, ImageCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags
+operator~(ImageCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ImageCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ImageCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ImageCreateFlagBits::eSparseBinding)
+    result += "SparseBinding | ";
+  if (value & ImageCreateFlagBits::eSparseResidency)
+    result += "SparseResidency | ";
+  if (value & ImageCreateFlagBits::eSparseAliased)
+    result += "SparseAliased | ";
+  if (value & ImageCreateFlagBits::eMutableFormat)
+    result += "MutableFormat | ";
+  if (value & ImageCreateFlagBits::eCubeCompatible)
+    result += "CubeCompatible | ";
+  if (value & ImageCreateFlagBits::eAlias)
+    result += "Alias | ";
+  if (value & ImageCreateFlagBits::eSplitInstanceBindRegions)
+    result += "SplitInstanceBindRegions | ";
+  if (value & ImageCreateFlagBits::e2DArrayCompatible)
+    result += "2DArrayCompatible | ";
+  if (value & ImageCreateFlagBits::eBlockTexelViewCompatible)
+    result += "BlockTexelViewCompatible | ";
+  if (value & ImageCreateFlagBits::eExtendedUsage)
+    result += "ExtendedUsage | ";
+  if (value & ImageCreateFlagBits::eProtected)
+    result += "Protected | ";
+  if (value & ImageCreateFlagBits::eDisjoint)
+    result += "Disjoint | ";
+  if (value & ImageCreateFlagBits::eCornerSampledNV)
+    result += "CornerSampledNV | ";
+  if (value & ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT)
+    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) + " }";
+}
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+
+using ImageFormatConstraintsFlagsFUCHSIA =
+    Flags<ImageFormatConstraintsFlagBitsFUCHSIA>;
+
+VULKAN_HPP_INLINE std::string to_string(ImageFormatConstraintsFlagsFUCHSIA) {
+
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+enum class ImagePipeSurfaceCreateFlagBitsFUCHSIA : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(ImagePipeSurfaceCreateFlagBitsFUCHSIA) {
+  return "(void)";
+}
+
+using ImagePipeSurfaceCreateFlagsFUCHSIA =
+    Flags<ImagePipeSurfaceCreateFlagBitsFUCHSIA>;
+
+VULKAN_HPP_INLINE std::string to_string(ImagePipeSurfaceCreateFlagsFUCHSIA) {
+
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+using ImageUsageFlags = Flags<ImageUsageFlagBits>;
+
+template <> struct FlagTraits<ImageUsageFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ImageUsageFlagBits::eTransferSrc) |
+               VkFlags(ImageUsageFlagBits::eTransferDst) |
+               VkFlags(ImageUsageFlagBits::eSampled) |
+               VkFlags(ImageUsageFlagBits::eStorage) |
+               VkFlags(ImageUsageFlagBits::eColorAttachment) |
+               VkFlags(ImageUsageFlagBits::eDepthStencilAttachment) |
+               VkFlags(ImageUsageFlagBits::eTransientAttachment) |
+               VkFlags(ImageUsageFlagBits::eInputAttachment) |
+               VkFlags(ImageUsageFlagBits::eShadingRateImageNV) |
+               VkFlags(ImageUsageFlagBits::eFragmentDensityMapEXT)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator|(
+    ImageUsageFlagBits bit0, ImageUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageUsageFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator&(
+    ImageUsageFlagBits bit0, ImageUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageUsageFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator^(
+    ImageUsageFlagBits bit0, ImageUsageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageUsageFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags
+operator~(ImageUsageFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ImageUsageFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ImageUsageFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ImageUsageFlagBits::eTransferSrc)
+    result += "TransferSrc | ";
+  if (value & ImageUsageFlagBits::eTransferDst)
+    result += "TransferDst | ";
+  if (value & ImageUsageFlagBits::eSampled)
+    result += "Sampled | ";
+  if (value & ImageUsageFlagBits::eStorage)
+    result += "Storage | ";
+  if (value & ImageUsageFlagBits::eColorAttachment)
+    result += "ColorAttachment | ";
+  if (value & ImageUsageFlagBits::eDepthStencilAttachment)
+    result += "DepthStencilAttachment | ";
+  if (value & ImageUsageFlagBits::eTransientAttachment)
+    result += "TransientAttachment | ";
+  if (value & ImageUsageFlagBits::eInputAttachment)
+    result += "InputAttachment | ";
+  if (value & ImageUsageFlagBits::eShadingRateImageNV)
+    result += "ShadingRateImageNV | ";
+  if (value & ImageUsageFlagBits::eFragmentDensityMapEXT)
+    result += "FragmentDensityMapEXT | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>;
+
+template <> struct FlagTraits<ImageViewCreateFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT) |
+               VkFlags(ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
+operator|(ImageViewCreateFlagBits bit0,
+          ImageViewCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageViewCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
+operator&(ImageViewCreateFlagBits bit0,
+          ImageViewCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageViewCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
+operator^(ImageViewCreateFlagBits bit0,
+          ImageViewCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ImageViewCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
+operator~(ImageViewCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ImageViewCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ImageViewCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT)
+    result += "FragmentDensityMapDynamicEXT | ";
+  if (value & ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT)
+    result += "FragmentDensityMapDeferredEXT | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using IndirectCommandsLayoutUsageFlagsNV =
+    Flags<IndirectCommandsLayoutUsageFlagBitsNV>;
+
+template <> struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNV> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess) |
+        VkFlags(IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences) |
+        VkFlags(IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV
+operator|(IndirectCommandsLayoutUsageFlagBitsNV bit0,
+          IndirectCommandsLayoutUsageFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return IndirectCommandsLayoutUsageFlagsNV(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV
+operator&(IndirectCommandsLayoutUsageFlagBitsNV bit0,
+          IndirectCommandsLayoutUsageFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return IndirectCommandsLayoutUsageFlagsNV(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV
+operator^(IndirectCommandsLayoutUsageFlagBitsNV bit0,
+          IndirectCommandsLayoutUsageFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return IndirectCommandsLayoutUsageFlagsNV(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV
+operator~(IndirectCommandsLayoutUsageFlagBitsNV bits) VULKAN_HPP_NOEXCEPT {
+  return ~(IndirectCommandsLayoutUsageFlagsNV(bits));
+}
+
+VULKAN_HPP_INLINE std::string
+to_string(IndirectCommandsLayoutUsageFlagsNV value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess)
+    result += "ExplicitPreprocess | ";
+  if (value & IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences)
+    result += "IndexedSequences | ";
+  if (value & IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences)
+    result += "UnorderedSequences | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using IndirectStateFlagsNV = Flags<IndirectStateFlagBitsNV>;
+
+template <> struct FlagTraits<IndirectStateFlagBitsNV> {
+  enum : VkFlags {
+    allFlags = VkFlags(IndirectStateFlagBitsNV::eFlagFrontface)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
+operator|(IndirectStateFlagBitsNV bit0,
+          IndirectStateFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return IndirectStateFlagsNV(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
+operator&(IndirectStateFlagBitsNV bit0,
+          IndirectStateFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return IndirectStateFlagsNV(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
+operator^(IndirectStateFlagBitsNV bit0,
+          IndirectStateFlagBitsNV bit1) VULKAN_HPP_NOEXCEPT {
+  return IndirectStateFlagsNV(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
+operator~(IndirectStateFlagBitsNV bits) VULKAN_HPP_NOEXCEPT {
+  return ~(IndirectStateFlagsNV(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(IndirectStateFlagsNV value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & IndirectStateFlagBitsNV::eFlagFrontface)
+    result += "FlagFrontface | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using InstanceCreateFlags = Flags<InstanceCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(InstanceCreateFlags) { return "{}"; }
+
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+enum class MacOSSurfaceCreateFlagBitsMVK : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(MacOSSurfaceCreateFlagBitsMVK) {
+  return "(void)";
+}
+
+using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK>;
+
+VULKAN_HPP_INLINE std::string to_string(MacOSSurfaceCreateFlagsMVK) {
+
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+
+using MemoryAllocateFlags = Flags<MemoryAllocateFlagBits>;
+
+template <> struct FlagTraits<MemoryAllocateFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(MemoryAllocateFlagBits::eDeviceMask) |
+               VkFlags(MemoryAllocateFlagBits::eDeviceAddress) |
+               VkFlags(MemoryAllocateFlagBits::eDeviceAddressCaptureReplay)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
+operator|(MemoryAllocateFlagBits bit0,
+          MemoryAllocateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryAllocateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
+operator&(MemoryAllocateFlagBits bit0,
+          MemoryAllocateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryAllocateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
+operator^(MemoryAllocateFlagBits bit0,
+          MemoryAllocateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryAllocateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
+operator~(MemoryAllocateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(MemoryAllocateFlags(bits));
+}
+
+using MemoryAllocateFlagsKHR = MemoryAllocateFlags;
+
+VULKAN_HPP_INLINE std::string to_string(MemoryAllocateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & MemoryAllocateFlagBits::eDeviceMask)
+    result += "DeviceMask | ";
+  if (value & MemoryAllocateFlagBits::eDeviceAddress)
+    result += "DeviceAddress | ";
+  if (value & MemoryAllocateFlagBits::eDeviceAddressCaptureReplay)
+    result += "DeviceAddressCaptureReplay | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using MemoryHeapFlags = Flags<MemoryHeapFlagBits>;
+
+template <> struct FlagTraits<MemoryHeapFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(MemoryHeapFlagBits::eDeviceLocal) |
+               VkFlags(MemoryHeapFlagBits::eMultiInstance)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator|(
+    MemoryHeapFlagBits bit0, MemoryHeapFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryHeapFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator&(
+    MemoryHeapFlagBits bit0, MemoryHeapFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryHeapFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator^(
+    MemoryHeapFlagBits bit0, MemoryHeapFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryHeapFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags
+operator~(MemoryHeapFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(MemoryHeapFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(MemoryHeapFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & MemoryHeapFlagBits::eDeviceLocal)
+    result += "DeviceLocal | ";
+  if (value & MemoryHeapFlagBits::eMultiInstance)
+    result += "MultiInstance | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class MemoryMapFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(MemoryMapFlagBits) { return "(void)"; }
+
+using MemoryMapFlags = Flags<MemoryMapFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(MemoryMapFlags) { return "{}"; }
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+
+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*/
+
+using MemoryPropertyFlags = Flags<MemoryPropertyFlagBits>;
+
+template <> struct FlagTraits<MemoryPropertyFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(MemoryPropertyFlagBits::eDeviceLocal) |
+               VkFlags(MemoryPropertyFlagBits::eHostVisible) |
+               VkFlags(MemoryPropertyFlagBits::eHostCoherent) |
+               VkFlags(MemoryPropertyFlagBits::eHostCached) |
+               VkFlags(MemoryPropertyFlagBits::eLazilyAllocated) |
+               VkFlags(MemoryPropertyFlagBits::eProtected) |
+               VkFlags(MemoryPropertyFlagBits::eDeviceCoherentAMD) |
+               VkFlags(MemoryPropertyFlagBits::eDeviceUncachedAMD)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
+operator|(MemoryPropertyFlagBits bit0,
+          MemoryPropertyFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryPropertyFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
+operator&(MemoryPropertyFlagBits bit0,
+          MemoryPropertyFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryPropertyFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
+operator^(MemoryPropertyFlagBits bit0,
+          MemoryPropertyFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return MemoryPropertyFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
+operator~(MemoryPropertyFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(MemoryPropertyFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(MemoryPropertyFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & MemoryPropertyFlagBits::eDeviceLocal)
+    result += "DeviceLocal | ";
+  if (value & MemoryPropertyFlagBits::eHostVisible)
+    result += "HostVisible | ";
+  if (value & MemoryPropertyFlagBits::eHostCoherent)
+    result += "HostCoherent | ";
+  if (value & MemoryPropertyFlagBits::eHostCached)
+    result += "HostCached | ";
+  if (value & MemoryPropertyFlagBits::eLazilyAllocated)
+    result += "LazilyAllocated | ";
+  if (value & MemoryPropertyFlagBits::eProtected)
+    result += "Protected | ";
+  if (value & MemoryPropertyFlagBits::eDeviceCoherentAMD)
+    result += "DeviceCoherentAMD | ";
+  if (value & MemoryPropertyFlagBits::eDeviceUncachedAMD)
+    result += "DeviceUncachedAMD | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+enum class MetalSurfaceCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(MetalSurfaceCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using MetalSurfaceCreateFlagsEXT = Flags<MetalSurfaceCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string to_string(MetalSurfaceCreateFlagsEXT) {
+
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+
+using PeerMemoryFeatureFlags = Flags<PeerMemoryFeatureFlagBits>;
+
+template <> struct FlagTraits<PeerMemoryFeatureFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(PeerMemoryFeatureFlagBits::eCopySrc) |
+               VkFlags(PeerMemoryFeatureFlagBits::eCopyDst) |
+               VkFlags(PeerMemoryFeatureFlagBits::eGenericSrc) |
+               VkFlags(PeerMemoryFeatureFlagBits::eGenericDst)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
+operator|(PeerMemoryFeatureFlagBits bit0,
+          PeerMemoryFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PeerMemoryFeatureFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
+operator&(PeerMemoryFeatureFlagBits bit0,
+          PeerMemoryFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PeerMemoryFeatureFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
+operator^(PeerMemoryFeatureFlagBits bit0,
+          PeerMemoryFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PeerMemoryFeatureFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
+operator~(PeerMemoryFeatureFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PeerMemoryFeatureFlags(bits));
+}
+
+using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
+
+VULKAN_HPP_INLINE std::string to_string(PeerMemoryFeatureFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & PeerMemoryFeatureFlagBits::eCopySrc)
+    result += "CopySrc | ";
+  if (value & PeerMemoryFeatureFlagBits::eCopyDst)
+    result += "CopyDst | ";
+  if (value & PeerMemoryFeatureFlagBits::eGenericSrc)
+    result += "GenericSrc | ";
+  if (value & PeerMemoryFeatureFlagBits::eGenericDst)
+    result += "GenericDst | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using PerformanceCounterDescriptionFlagsKHR =
+    Flags<PerformanceCounterDescriptionFlagBitsKHR>;
+
+template <> struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(
+            PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting) |
+        VkFlags(PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR
+operator|(PerformanceCounterDescriptionFlagBitsKHR bit0,
+          PerformanceCounterDescriptionFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return PerformanceCounterDescriptionFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR
+operator&(PerformanceCounterDescriptionFlagBitsKHR bit0,
+          PerformanceCounterDescriptionFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return PerformanceCounterDescriptionFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR
+operator^(PerformanceCounterDescriptionFlagBitsKHR bit0,
+          PerformanceCounterDescriptionFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return PerformanceCounterDescriptionFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR
+operator~(PerformanceCounterDescriptionFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PerformanceCounterDescriptionFlagsKHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string
+to_string(PerformanceCounterDescriptionFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting)
+    result += "PerformanceImpacting | ";
+  if (value & PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted)
+    result += "ConcurrentlyImpacted | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using PipelineCacheCreateFlags = Flags<PipelineCacheCreateFlagBits>;
+
+template <> struct FlagTraits<PipelineCacheCreateFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(PipelineCacheCreateFlagBits::eExternallySynchronizedEXT)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
+operator|(PipelineCacheCreateFlagBits bit0,
+          PipelineCacheCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCacheCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
+operator&(PipelineCacheCreateFlagBits bit0,
+          PipelineCacheCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCacheCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
+operator^(PipelineCacheCreateFlagBits bit0,
+          PipelineCacheCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCacheCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
+operator~(PipelineCacheCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PipelineCacheCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(PipelineCacheCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & PipelineCacheCreateFlagBits::eExternallySynchronizedEXT)
+    result += "ExternallySynchronizedEXT | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class PipelineColorBlendStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineColorBlendStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineColorBlendStateCreateFlags =
+    Flags<PipelineColorBlendStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineColorBlendStateCreateFlags) {
+
+  return "{}";
+}
+
+using PipelineCompilerControlFlagsAMD =
+    Flags<PipelineCompilerControlFlagBitsAMD>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineCompilerControlFlagsAMD) {
+
+  return "{}";
+}
+
+enum class PipelineCoverageModulationStateCreateFlagBitsNV : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCoverageModulationStateCreateFlagBitsNV) {
+  return "(void)";
+}
+
+using PipelineCoverageModulationStateCreateFlagsNV =
+    Flags<PipelineCoverageModulationStateCreateFlagBitsNV>;
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCoverageModulationStateCreateFlagsNV) {
+
+  return "{}";
+}
+
+enum class PipelineCoverageReductionStateCreateFlagBitsNV : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCoverageReductionStateCreateFlagBitsNV) {
+  return "(void)";
+}
+
+using PipelineCoverageReductionStateCreateFlagsNV =
+    Flags<PipelineCoverageReductionStateCreateFlagBitsNV>;
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCoverageReductionStateCreateFlagsNV) {
+
+  return "{}";
+}
+
+enum class PipelineCoverageToColorStateCreateFlagBitsNV : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCoverageToColorStateCreateFlagBitsNV) {
+  return "(void)";
+}
+
+using PipelineCoverageToColorStateCreateFlagsNV =
+    Flags<PipelineCoverageToColorStateCreateFlagBitsNV>;
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCoverageToColorStateCreateFlagsNV) {
+
+  return "{}";
+}
+
+using PipelineCreateFlags = Flags<PipelineCreateFlagBits>;
+
+template <> struct FlagTraits<PipelineCreateFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(PipelineCreateFlagBits::eDisableOptimization) |
+        VkFlags(PipelineCreateFlagBits::eAllowDerivatives) |
+        VkFlags(PipelineCreateFlagBits::eDerivative) |
+        VkFlags(PipelineCreateFlagBits::eViewIndexFromDeviceIndex) |
+        VkFlags(PipelineCreateFlagBits::eDispatchBase) |
+        VkFlags(PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR) |
+        VkFlags(PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR) |
+        VkFlags(PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR) |
+        VkFlags(
+            PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR) |
+        VkFlags(PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR) |
+        VkFlags(PipelineCreateFlagBits::eRayTracingSkipAabbsKHR) |
+        VkFlags(PipelineCreateFlagBits::
+                    eRayTracingShaderGroupHandleCaptureReplayKHR) |
+        VkFlags(PipelineCreateFlagBits::eDeferCompileNV) |
+        VkFlags(PipelineCreateFlagBits::eCaptureStatisticsKHR) |
+        VkFlags(PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR) |
+        VkFlags(PipelineCreateFlagBits::eIndirectBindableNV) |
+        VkFlags(PipelineCreateFlagBits::eLibraryKHR) |
+        VkFlags(PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT) |
+        VkFlags(PipelineCreateFlagBits::eEarlyReturnOnFailureEXT)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
+operator|(PipelineCreateFlagBits bit0,
+          PipelineCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
+operator&(PipelineCreateFlagBits bit0,
+          PipelineCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
+operator^(PipelineCreateFlagBits bit0,
+          PipelineCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
+operator~(PipelineCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PipelineCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(PipelineCreateFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & PipelineCreateFlagBits::eDisableOptimization)
+    result += "DisableOptimization | ";
+  if (value & PipelineCreateFlagBits::eAllowDerivatives)
+    result += "AllowDerivatives | ";
+  if (value & PipelineCreateFlagBits::eDerivative)
+    result += "Derivative | ";
+  if (value & PipelineCreateFlagBits::eViewIndexFromDeviceIndex)
+    result += "ViewIndexFromDeviceIndex | ";
+  if (value & PipelineCreateFlagBits::eDispatchBase)
+    result += "DispatchBase | ";
+  if (value & PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR)
+    result += "RayTracingNoNullAnyHitShadersKHR | ";
+  if (value & PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR)
+    result += "RayTracingNoNullClosestHitShadersKHR | ";
+  if (value & PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR)
+    result += "RayTracingNoNullMissShadersKHR | ";
+  if (value & PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR)
+    result += "RayTracingNoNullIntersectionShadersKHR | ";
+  if (value & PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR)
+    result += "RayTracingSkipTrianglesKHR | ";
+  if (value & PipelineCreateFlagBits::eRayTracingSkipAabbsKHR)
+    result += "RayTracingSkipAabbsKHR | ";
+  if (value &
+      PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR)
+    result += "RayTracingShaderGroupHandleCaptureReplayKHR | ";
+  if (value & PipelineCreateFlagBits::eDeferCompileNV)
+    result += "DeferCompileNV | ";
+  if (value & PipelineCreateFlagBits::eCaptureStatisticsKHR)
+    result += "CaptureStatisticsKHR | ";
+  if (value & PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR)
+    result += "CaptureInternalRepresentationsKHR | ";
+  if (value & PipelineCreateFlagBits::eIndirectBindableNV)
+    result += "IndirectBindableNV | ";
+  if (value & PipelineCreateFlagBits::eLibraryKHR)
+    result += "LibraryKHR | ";
+  if (value & PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT)
+    result += "FailOnPipelineCompileRequiredEXT | ";
+  if (value & PipelineCreateFlagBits::eEarlyReturnOnFailureEXT)
+    result += "EarlyReturnOnFailureEXT | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using PipelineCreationFeedbackFlagsEXT =
+    Flags<PipelineCreationFeedbackFlagBitsEXT>;
+
+template <> struct FlagTraits<PipelineCreationFeedbackFlagBitsEXT> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(PipelineCreationFeedbackFlagBitsEXT::eValid) |
+        VkFlags(
+            PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit) |
+        VkFlags(PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
+operator|(PipelineCreationFeedbackFlagBitsEXT bit0,
+          PipelineCreationFeedbackFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCreationFeedbackFlagsEXT(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
+operator&(PipelineCreationFeedbackFlagBitsEXT bit0,
+          PipelineCreationFeedbackFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCreationFeedbackFlagsEXT(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
+operator^(PipelineCreationFeedbackFlagBitsEXT bit0,
+          PipelineCreationFeedbackFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineCreationFeedbackFlagsEXT(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
+operator~(PipelineCreationFeedbackFlagBitsEXT bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PipelineCreationFeedbackFlagsEXT(bits));
+}
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineCreationFeedbackFlagsEXT value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & PipelineCreationFeedbackFlagBitsEXT::eValid)
+    result += "Valid | ";
+  if (value & PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit)
+    result += "ApplicationPipelineCacheHit | ";
+  if (value & PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration)
+    result += "BasePipelineAcceleration | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class PipelineDepthStencilStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineDepthStencilStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineDepthStencilStateCreateFlags =
+    Flags<PipelineDepthStencilStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineDepthStencilStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineDiscardRectangleStateCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineDiscardRectangleStateCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using PipelineDiscardRectangleStateCreateFlagsEXT =
+    Flags<PipelineDiscardRectangleStateCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineDiscardRectangleStateCreateFlagsEXT) {
+
+  return "{}";
+}
+
+enum class PipelineDynamicStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineDynamicStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineDynamicStateCreateFlags =
+    Flags<PipelineDynamicStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineDynamicStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineInputAssemblyStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineInputAssemblyStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineInputAssemblyStateCreateFlags =
+    Flags<PipelineInputAssemblyStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineInputAssemblyStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineLayoutCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineLayoutCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineLayoutCreateFlags = Flags<PipelineLayoutCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineLayoutCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineMultisampleStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineMultisampleStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineMultisampleStateCreateFlags =
+    Flags<PipelineMultisampleStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineMultisampleStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineRasterizationConservativeStateCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineRasterizationConservativeStateCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using PipelineRasterizationConservativeStateCreateFlagsEXT =
     Flags<PipelineRasterizationConservativeStateCreateFlagBitsEXT>;
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationConservativeStateCreateFlagsEXT )
-  {
+VULKAN_HPP_INLINE std::string
+to_string(PipelineRasterizationConservativeStateCreateFlagsEXT) {
+
+  return "{}";
+}
+
+enum class PipelineRasterizationDepthClipStateCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineRasterizationDepthClipStateCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using PipelineRasterizationDepthClipStateCreateFlagsEXT =
+    Flags<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineRasterizationDepthClipStateCreateFlagsEXT) {
+
+  return "{}";
+}
+
+enum class PipelineRasterizationStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineRasterizationStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineRasterizationStateCreateFlags =
+    Flags<PipelineRasterizationStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineRasterizationStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineRasterizationStateStreamCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineRasterizationStateStreamCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using PipelineRasterizationStateStreamCreateFlagsEXT =
+    Flags<PipelineRasterizationStateStreamCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineRasterizationStateStreamCreateFlagsEXT) {
+
+  return "{}";
+}
+
+using PipelineShaderStageCreateFlags = Flags<PipelineShaderStageCreateFlagBits>;
+
+template <> struct FlagTraits<PipelineShaderStageCreateFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(
+            PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT) |
+        VkFlags(PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
+operator|(PipelineShaderStageCreateFlagBits bit0,
+          PipelineShaderStageCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineShaderStageCreateFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
+operator&(PipelineShaderStageCreateFlagBits bit0,
+          PipelineShaderStageCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineShaderStageCreateFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
+operator^(PipelineShaderStageCreateFlagBits bit0,
+          PipelineShaderStageCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineShaderStageCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
+operator~(PipelineShaderStageCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PipelineShaderStageCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(PipelineShaderStageCreateFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineRasterizationDepthClipStateCreateFlagBitsEXT : VkFlags
-  {
+  if (value & PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT)
+    result += "AllowVaryingSubgroupSizeEXT | ";
+  if (value & PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT)
+    result += "RequireFullSubgroupsEXT | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using PipelineStageFlags = Flags<PipelineStageFlagBits>;
+
+template <> struct FlagTraits<PipelineStageFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(PipelineStageFlagBits::eTopOfPipe) |
+               VkFlags(PipelineStageFlagBits::eDrawIndirect) |
+               VkFlags(PipelineStageFlagBits::eVertexInput) |
+               VkFlags(PipelineStageFlagBits::eVertexShader) |
+               VkFlags(PipelineStageFlagBits::eTessellationControlShader) |
+               VkFlags(PipelineStageFlagBits::eTessellationEvaluationShader) |
+               VkFlags(PipelineStageFlagBits::eGeometryShader) |
+               VkFlags(PipelineStageFlagBits::eFragmentShader) |
+               VkFlags(PipelineStageFlagBits::eEarlyFragmentTests) |
+               VkFlags(PipelineStageFlagBits::eLateFragmentTests) |
+               VkFlags(PipelineStageFlagBits::eColorAttachmentOutput) |
+               VkFlags(PipelineStageFlagBits::eComputeShader) |
+               VkFlags(PipelineStageFlagBits::eTransfer) |
+               VkFlags(PipelineStageFlagBits::eBottomOfPipe) |
+               VkFlags(PipelineStageFlagBits::eHost) |
+               VkFlags(PipelineStageFlagBits::eAllGraphics) |
+               VkFlags(PipelineStageFlagBits::eAllCommands) |
+               VkFlags(PipelineStageFlagBits::eTransformFeedbackEXT) |
+               VkFlags(PipelineStageFlagBits::eConditionalRenderingEXT) |
+               VkFlags(PipelineStageFlagBits::eAccelerationStructureBuildKHR) |
+               VkFlags(PipelineStageFlagBits::eRayTracingShaderKHR) |
+               VkFlags(PipelineStageFlagBits::eShadingRateImageNV) |
+               VkFlags(PipelineStageFlagBits::eTaskShaderNV) |
+               VkFlags(PipelineStageFlagBits::eMeshShaderNV) |
+               VkFlags(PipelineStageFlagBits::eFragmentDensityProcessEXT) |
+               VkFlags(PipelineStageFlagBits::eCommandPreprocessNV) |
+               VkFlags(PipelineStageFlagBits::eNoneKHR)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationDepthClipStateCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags
+operator|(PipelineStageFlagBits bit0,
+          PipelineStageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineStageFlags(bit0) | bit1;
+}
 
-  using PipelineRasterizationDepthClipStateCreateFlagsEXT = Flags<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags
+operator&(PipelineStageFlagBits bit0,
+          PipelineStageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineStageFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationDepthClipStateCreateFlagsEXT )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags
+operator^(PipelineStageFlagBits bit0,
+          PipelineStageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineStageFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags
+operator~(PipelineStageFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PipelineStageFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(PipelineStageFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineRasterizationStateCreateFlagBits : VkFlags
-  {
+  if (value & PipelineStageFlagBits::eTopOfPipe)
+    result += "TopOfPipe | ";
+  if (value & PipelineStageFlagBits::eDrawIndirect)
+    result += "DrawIndirect | ";
+  if (value & PipelineStageFlagBits::eVertexInput)
+    result += "VertexInput | ";
+  if (value & PipelineStageFlagBits::eVertexShader)
+    result += "VertexShader | ";
+  if (value & PipelineStageFlagBits::eTessellationControlShader)
+    result += "TessellationControlShader | ";
+  if (value & PipelineStageFlagBits::eTessellationEvaluationShader)
+    result += "TessellationEvaluationShader | ";
+  if (value & PipelineStageFlagBits::eGeometryShader)
+    result += "GeometryShader | ";
+  if (value & PipelineStageFlagBits::eFragmentShader)
+    result += "FragmentShader | ";
+  if (value & PipelineStageFlagBits::eEarlyFragmentTests)
+    result += "EarlyFragmentTests | ";
+  if (value & PipelineStageFlagBits::eLateFragmentTests)
+    result += "LateFragmentTests | ";
+  if (value & PipelineStageFlagBits::eColorAttachmentOutput)
+    result += "ColorAttachmentOutput | ";
+  if (value & PipelineStageFlagBits::eComputeShader)
+    result += "ComputeShader | ";
+  if (value & PipelineStageFlagBits::eTransfer)
+    result += "Transfer | ";
+  if (value & PipelineStageFlagBits::eBottomOfPipe)
+    result += "BottomOfPipe | ";
+  if (value & PipelineStageFlagBits::eHost)
+    result += "Host | ";
+  if (value & PipelineStageFlagBits::eAllGraphics)
+    result += "AllGraphics | ";
+  if (value & PipelineStageFlagBits::eAllCommands)
+    result += "AllCommands | ";
+  if (value & PipelineStageFlagBits::eTransformFeedbackEXT)
+    result += "TransformFeedbackEXT | ";
+  if (value & PipelineStageFlagBits::eConditionalRenderingEXT)
+    result += "ConditionalRenderingEXT | ";
+  if (value & PipelineStageFlagBits::eAccelerationStructureBuildKHR)
+    result += "AccelerationStructureBuildKHR | ";
+  if (value & PipelineStageFlagBits::eRayTracingShaderKHR)
+    result += "RayTracingShaderKHR | ";
+  if (value & PipelineStageFlagBits::eShadingRateImageNV)
+    result += "ShadingRateImageNV | ";
+  if (value & PipelineStageFlagBits::eTaskShaderNV)
+    result += "TaskShaderNV | ";
+  if (value & PipelineStageFlagBits::eMeshShaderNV)
+    result += "MeshShaderNV | ";
+  if (value & PipelineStageFlagBits::eFragmentDensityProcessEXT)
+    result += "FragmentDensityProcessEXT | ";
+  if (value & PipelineStageFlagBits::eCommandPreprocessNV)
+    result += "CommandPreprocessNV | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using PipelineStageFlags2KHR = Flags<PipelineStageFlagBits2KHR>;
+
+template <> struct FlagTraits<PipelineStageFlagBits2KHR> {
+  enum : VkFlags64 {
+    allFlags =
+        VkFlags64(PipelineStageFlagBits2KHR::eNone) |
+        VkFlags64(PipelineStageFlagBits2KHR::eTopOfPipe) |
+        VkFlags64(PipelineStageFlagBits2KHR::eDrawIndirect) |
+        VkFlags64(PipelineStageFlagBits2KHR::eVertexInput) |
+        VkFlags64(PipelineStageFlagBits2KHR::eVertexShader) |
+        VkFlags64(PipelineStageFlagBits2KHR::eTessellationControlShader) |
+        VkFlags64(PipelineStageFlagBits2KHR::eTessellationEvaluationShader) |
+        VkFlags64(PipelineStageFlagBits2KHR::eGeometryShader) |
+        VkFlags64(PipelineStageFlagBits2KHR::eFragmentShader) |
+        VkFlags64(PipelineStageFlagBits2KHR::eEarlyFragmentTests) |
+        VkFlags64(PipelineStageFlagBits2KHR::eLateFragmentTests) |
+        VkFlags64(PipelineStageFlagBits2KHR::eColorAttachmentOutput) |
+        VkFlags64(PipelineStageFlagBits2KHR::eComputeShader) |
+        VkFlags64(PipelineStageFlagBits2KHR::eAllTransfer) |
+        VkFlags64(PipelineStageFlagBits2KHR::eBottomOfPipe) |
+        VkFlags64(PipelineStageFlagBits2KHR::eHost) |
+        VkFlags64(PipelineStageFlagBits2KHR::eAllGraphics) |
+        VkFlags64(PipelineStageFlagBits2KHR::eAllCommands) |
+        VkFlags64(PipelineStageFlagBits2KHR::eCopy) |
+        VkFlags64(PipelineStageFlagBits2KHR::eResolve) |
+        VkFlags64(PipelineStageFlagBits2KHR::eBlit) |
+        VkFlags64(PipelineStageFlagBits2KHR::eClear) |
+        VkFlags64(PipelineStageFlagBits2KHR::eIndexInput) |
+        VkFlags64(PipelineStageFlagBits2KHR::eVertexAttributeInput) |
+        VkFlags64(PipelineStageFlagBits2KHR::ePreRasterizationShaders) |
+        VkFlags64(PipelineStageFlagBits2KHR::eTransformFeedbackExt) |
+        VkFlags64(PipelineStageFlagBits2KHR::eConditionalRenderingExt) |
+        VkFlags64(PipelineStageFlagBits2KHR::eCommandPreprocessNv) |
+        VkFlags64(PipelineStageFlagBits2KHR::eFragmentShadingRateAttachment) |
+        VkFlags64(PipelineStageFlagBits2KHR::eAccelerationStructureBuild) |
+        VkFlags64(PipelineStageFlagBits2KHR::eRayTracingShader) |
+        VkFlags64(PipelineStageFlagBits2KHR::eFragmentDensityProcessExt) |
+        VkFlags64(PipelineStageFlagBits2KHR::eTaskShaderNv) |
+        VkFlags64(PipelineStageFlagBits2KHR::eMeshShaderNv)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateCreateFlagBits )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR
+operator|(PipelineStageFlagBits2KHR bit0,
+          PipelineStageFlagBits2KHR bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineStageFlags2KHR(bit0) | bit1;
+}
 
-  using PipelineRasterizationStateCreateFlags = Flags<PipelineRasterizationStateCreateFlagBits>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR
+operator&(PipelineStageFlagBits2KHR bit0,
+          PipelineStageFlagBits2KHR bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineStageFlags2KHR(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateCreateFlags )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR
+operator^(PipelineStageFlagBits2KHR bit0,
+          PipelineStageFlagBits2KHR bit1) VULKAN_HPP_NOEXCEPT {
+  return PipelineStageFlags2KHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR
+operator~(PipelineStageFlagBits2KHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(PipelineStageFlags2KHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(PipelineStageFlags2KHR value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineRasterizationStateStreamCreateFlagBitsEXT : VkFlags
-  {
-  };
+  if (value & PipelineStageFlagBits2KHR::eTopOfPipe)
+    result += "TopOfPipe | ";
+  if (value & PipelineStageFlagBits2KHR::eDrawIndirect)
+    result += "DrawIndirect | ";
+  if (value & PipelineStageFlagBits2KHR::eVertexInput)
+    result += "VertexInput | ";
+  if (value & PipelineStageFlagBits2KHR::eVertexShader)
+    result += "VertexShader | ";
+  if (value & PipelineStageFlagBits2KHR::eTessellationControlShader)
+    result += "TessellationControlShader | ";
+  if (value & PipelineStageFlagBits2KHR::eTessellationEvaluationShader)
+    result += "TessellationEvaluationShader | ";
+  if (value & PipelineStageFlagBits2KHR::eGeometryShader)
+    result += "GeometryShader | ";
+  if (value & PipelineStageFlagBits2KHR::eFragmentShader)
+    result += "FragmentShader | ";
+  if (value & PipelineStageFlagBits2KHR::eEarlyFragmentTests)
+    result += "EarlyFragmentTests | ";
+  if (value & PipelineStageFlagBits2KHR::eLateFragmentTests)
+    result += "LateFragmentTests | ";
+  if (value & PipelineStageFlagBits2KHR::eColorAttachmentOutput)
+    result += "ColorAttachmentOutput | ";
+  if (value & PipelineStageFlagBits2KHR::eComputeShader)
+    result += "ComputeShader | ";
+  if (value & PipelineStageFlagBits2KHR::eAllTransfer)
+    result += "AllTransfer | ";
+  if (value & PipelineStageFlagBits2KHR::eBottomOfPipe)
+    result += "BottomOfPipe | ";
+  if (value & PipelineStageFlagBits2KHR::eHost)
+    result += "Host | ";
+  if (value & PipelineStageFlagBits2KHR::eAllGraphics)
+    result += "AllGraphics | ";
+  if (value & PipelineStageFlagBits2KHR::eAllCommands)
+    result += "AllCommands | ";
+  if (value & PipelineStageFlagBits2KHR::eCopy)
+    result += "Copy | ";
+  if (value & PipelineStageFlagBits2KHR::eResolve)
+    result += "Resolve | ";
+  if (value & PipelineStageFlagBits2KHR::eBlit)
+    result += "Blit | ";
+  if (value & PipelineStageFlagBits2KHR::eClear)
+    result += "Clear | ";
+  if (value & PipelineStageFlagBits2KHR::eIndexInput)
+    result += "IndexInput | ";
+  if (value & PipelineStageFlagBits2KHR::eVertexAttributeInput)
+    result += "VertexAttributeInput | ";
+  if (value & PipelineStageFlagBits2KHR::ePreRasterizationShaders)
+    result += "PreRasterizationShaders | ";
+  if (value & PipelineStageFlagBits2KHR::eTransformFeedbackExt)
+    result += "TransformFeedbackExt | ";
+  if (value & PipelineStageFlagBits2KHR::eConditionalRenderingExt)
+    result += "ConditionalRenderingExt | ";
+  if (value & PipelineStageFlagBits2KHR::eCommandPreprocessNv)
+    result += "CommandPreprocessNv | ";
+  if (value & PipelineStageFlagBits2KHR::eFragmentShadingRateAttachment)
+    result += "FragmentShadingRateAttachment | ";
+  if (value & PipelineStageFlagBits2KHR::eAccelerationStructureBuild)
+    result += "AccelerationStructureBuild | ";
+  if (value & PipelineStageFlagBits2KHR::eRayTracingShader)
+    result += "RayTracingShader | ";
+  if (value & PipelineStageFlagBits2KHR::eFragmentDensityProcessExt)
+    result += "FragmentDensityProcessExt | ";
+  if (value & PipelineStageFlagBits2KHR::eTaskShaderNv)
+    result += "TaskShaderNv | ";
+  if (value & PipelineStageFlagBits2KHR::eMeshShaderNv)
+    result += "MeshShaderNv | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateStreamCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
+enum class PipelineTessellationStateCreateFlagBits : VkFlags {};
 
-  using PipelineRasterizationStateStreamCreateFlagsEXT = Flags<PipelineRasterizationStateStreamCreateFlagBitsEXT>;
+VULKAN_HPP_INLINE std::string
+to_string(PipelineTessellationStateCreateFlagBits) {
+  return "(void)";
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateStreamCreateFlagsEXT )
-  {
+using PipelineTessellationStateCreateFlags =
+    Flags<PipelineTessellationStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineTessellationStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineVertexInputStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineVertexInputStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineVertexInputStateCreateFlags =
+    Flags<PipelineVertexInputStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineVertexInputStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineViewportStateCreateFlagBits : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(PipelineViewportStateCreateFlagBits) {
+  return "(void)";
+}
+
+using PipelineViewportStateCreateFlags =
+    Flags<PipelineViewportStateCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(PipelineViewportStateCreateFlags) {
+
+  return "{}";
+}
+
+enum class PipelineViewportSwizzleStateCreateFlagBitsNV : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineViewportSwizzleStateCreateFlagBitsNV) {
+  return "(void)";
+}
+
+using PipelineViewportSwizzleStateCreateFlagsNV =
+    Flags<PipelineViewportSwizzleStateCreateFlagBitsNV>;
+
+VULKAN_HPP_INLINE std::string
+to_string(PipelineViewportSwizzleStateCreateFlagsNV) {
+
+  return "{}";
+}
+
+using PrivateDataSlotCreateFlagsEXT = Flags<PrivateDataSlotCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string to_string(PrivateDataSlotCreateFlagsEXT) {
+
+  return "{}";
+}
+
+using QueryControlFlags = Flags<QueryControlFlagBits>;
+
+template <> struct FlagTraits<QueryControlFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(QueryControlFlagBits::ePrecise) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator|(
+    QueryControlFlagBits bit0, QueryControlFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryControlFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator&(
+    QueryControlFlagBits bit0, QueryControlFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryControlFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator^(
+    QueryControlFlagBits bit0, QueryControlFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryControlFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags
+operator~(QueryControlFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(QueryControlFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(QueryControlFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  using PipelineShaderStageCreateFlags = Flags<PipelineShaderStageCreateFlagBits>;
+  if (value & QueryControlFlagBits::ePrecise)
+    result += "Precise | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  template <>
-  struct FlagTraits<PipelineShaderStageCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT ) |
-                 VkFlags( PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT )
-    };
+using QueryPipelineStatisticFlags = Flags<QueryPipelineStatisticFlagBits>;
+
+template <> struct FlagTraits<QueryPipelineStatisticFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(QueryPipelineStatisticFlagBits::eInputAssemblyVertices) |
+        VkFlags(QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives) |
+        VkFlags(QueryPipelineStatisticFlagBits::eVertexShaderInvocations) |
+        VkFlags(QueryPipelineStatisticFlagBits::eGeometryShaderInvocations) |
+        VkFlags(QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives) |
+        VkFlags(QueryPipelineStatisticFlagBits::eClippingInvocations) |
+        VkFlags(QueryPipelineStatisticFlagBits::eClippingPrimitives) |
+        VkFlags(QueryPipelineStatisticFlagBits::eFragmentShaderInvocations) |
+        VkFlags(
+            QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches) |
+        VkFlags(QueryPipelineStatisticFlagBits::
+                    eTessellationEvaluationShaderInvocations) |
+        VkFlags(QueryPipelineStatisticFlagBits::eComputeShaderInvocations)
   };
+};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
-    operator|( PipelineShaderStageCreateFlagBits bit0, PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineShaderStageCreateFlags( bit0 ) | bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
+operator|(QueryPipelineStatisticFlagBits bit0,
+          QueryPipelineStatisticFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryPipelineStatisticFlags(bit0) | bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
-    operator&( PipelineShaderStageCreateFlagBits bit0, PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineShaderStageCreateFlags( bit0 ) & bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
+operator&(QueryPipelineStatisticFlagBits bit0,
+          QueryPipelineStatisticFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryPipelineStatisticFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
-    operator^( PipelineShaderStageCreateFlagBits bit0, PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineShaderStageCreateFlags( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
+operator^(QueryPipelineStatisticFlagBits bit0,
+          QueryPipelineStatisticFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryPipelineStatisticFlags(bit0) ^ bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
-    operator~( PipelineShaderStageCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( PipelineShaderStageCreateFlags( bits ) );
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
+operator~(QueryPipelineStatisticFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(QueryPipelineStatisticFlags(bits));
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineShaderStageCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string to_string(QueryPipelineStatisticFlags value) {
 
-    if ( value & PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT )
-      result += "AllowVaryingSubgroupSizeEXT | ";
-    if ( value & PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT )
-      result += "RequireFullSubgroupsEXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using PipelineStageFlags = Flags<PipelineStageFlagBits>;
-
-  template <>
-  struct FlagTraits<PipelineStageFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags =
-        VkFlags( PipelineStageFlagBits::eTopOfPipe ) | VkFlags( PipelineStageFlagBits::eDrawIndirect ) |
-        VkFlags( PipelineStageFlagBits::eVertexInput ) | VkFlags( PipelineStageFlagBits::eVertexShader ) |
-        VkFlags( PipelineStageFlagBits::eTessellationControlShader ) |
-        VkFlags( PipelineStageFlagBits::eTessellationEvaluationShader ) |
-        VkFlags( PipelineStageFlagBits::eGeometryShader ) | VkFlags( PipelineStageFlagBits::eFragmentShader ) |
-        VkFlags( PipelineStageFlagBits::eEarlyFragmentTests ) | VkFlags( PipelineStageFlagBits::eLateFragmentTests ) |
-        VkFlags( PipelineStageFlagBits::eColorAttachmentOutput ) | VkFlags( PipelineStageFlagBits::eComputeShader ) |
-        VkFlags( PipelineStageFlagBits::eTransfer ) | VkFlags( PipelineStageFlagBits::eBottomOfPipe ) |
-        VkFlags( PipelineStageFlagBits::eHost ) | VkFlags( PipelineStageFlagBits::eAllGraphics ) |
-        VkFlags( PipelineStageFlagBits::eAllCommands ) | VkFlags( PipelineStageFlagBits::eTransformFeedbackEXT ) |
-        VkFlags( PipelineStageFlagBits::eConditionalRenderingEXT ) |
-        VkFlags( PipelineStageFlagBits::eRayTracingShaderKHR ) |
-        VkFlags( PipelineStageFlagBits::eAccelerationStructureBuildKHR ) |
-        VkFlags( PipelineStageFlagBits::eShadingRateImageNV ) | VkFlags( PipelineStageFlagBits::eTaskShaderNV ) |
-        VkFlags( PipelineStageFlagBits::eMeshShaderNV ) | VkFlags( PipelineStageFlagBits::eFragmentDensityProcessEXT ) |
-        VkFlags( PipelineStageFlagBits::eCommandPreprocessNV )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator|( PipelineStageFlagBits bit0,
-                                                                       PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineStageFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator&( PipelineStageFlagBits bit0,
-                                                                       PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineStageFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator^( PipelineStageFlagBits bit0,
-                                                                       PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return PipelineStageFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator~( PipelineStageFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( PipelineStageFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineStageFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & PipelineStageFlagBits::eTopOfPipe )
-      result += "TopOfPipe | ";
-    if ( value & PipelineStageFlagBits::eDrawIndirect )
-      result += "DrawIndirect | ";
-    if ( value & PipelineStageFlagBits::eVertexInput )
-      result += "VertexInput | ";
-    if ( value & PipelineStageFlagBits::eVertexShader )
-      result += "VertexShader | ";
-    if ( value & PipelineStageFlagBits::eTessellationControlShader )
-      result += "TessellationControlShader | ";
-    if ( value & PipelineStageFlagBits::eTessellationEvaluationShader )
-      result += "TessellationEvaluationShader | ";
-    if ( value & PipelineStageFlagBits::eGeometryShader )
-      result += "GeometryShader | ";
-    if ( value & PipelineStageFlagBits::eFragmentShader )
-      result += "FragmentShader | ";
-    if ( value & PipelineStageFlagBits::eEarlyFragmentTests )
-      result += "EarlyFragmentTests | ";
-    if ( value & PipelineStageFlagBits::eLateFragmentTests )
-      result += "LateFragmentTests | ";
-    if ( value & PipelineStageFlagBits::eColorAttachmentOutput )
-      result += "ColorAttachmentOutput | ";
-    if ( value & PipelineStageFlagBits::eComputeShader )
-      result += "ComputeShader | ";
-    if ( value & PipelineStageFlagBits::eTransfer )
-      result += "Transfer | ";
-    if ( value & PipelineStageFlagBits::eBottomOfPipe )
-      result += "BottomOfPipe | ";
-    if ( value & PipelineStageFlagBits::eHost )
-      result += "Host | ";
-    if ( value & PipelineStageFlagBits::eAllGraphics )
-      result += "AllGraphics | ";
-    if ( value & PipelineStageFlagBits::eAllCommands )
-      result += "AllCommands | ";
-    if ( value & PipelineStageFlagBits::eTransformFeedbackEXT )
-      result += "TransformFeedbackEXT | ";
-    if ( value & PipelineStageFlagBits::eConditionalRenderingEXT )
-      result += "ConditionalRenderingEXT | ";
-    if ( value & PipelineStageFlagBits::eRayTracingShaderKHR )
-      result += "RayTracingShaderKHR | ";
-    if ( value & PipelineStageFlagBits::eAccelerationStructureBuildKHR )
-      result += "AccelerationStructureBuildKHR | ";
-    if ( value & PipelineStageFlagBits::eShadingRateImageNV )
-      result += "ShadingRateImageNV | ";
-    if ( value & PipelineStageFlagBits::eTaskShaderNV )
-      result += "TaskShaderNV | ";
-    if ( value & PipelineStageFlagBits::eMeshShaderNV )
-      result += "MeshShaderNV | ";
-    if ( value & PipelineStageFlagBits::eFragmentDensityProcessEXT )
-      result += "FragmentDensityProcessEXT | ";
-    if ( value & PipelineStageFlagBits::eCommandPreprocessNV )
-      result += "CommandPreprocessNV | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class PipelineTessellationStateCreateFlagBits : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineTessellationStateCreateFlagBits )
-  {
-    return "(void)";
-  }
-
-  using PipelineTessellationStateCreateFlags = Flags<PipelineTessellationStateCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( PipelineTessellationStateCreateFlags )
-  {
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineVertexInputStateCreateFlagBits : VkFlags
-  {
+  if (value & QueryPipelineStatisticFlagBits::eInputAssemblyVertices)
+    result += "InputAssemblyVertices | ";
+  if (value & QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives)
+    result += "InputAssemblyPrimitives | ";
+  if (value & QueryPipelineStatisticFlagBits::eVertexShaderInvocations)
+    result += "VertexShaderInvocations | ";
+  if (value & QueryPipelineStatisticFlagBits::eGeometryShaderInvocations)
+    result += "GeometryShaderInvocations | ";
+  if (value & QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives)
+    result += "GeometryShaderPrimitives | ";
+  if (value & QueryPipelineStatisticFlagBits::eClippingInvocations)
+    result += "ClippingInvocations | ";
+  if (value & QueryPipelineStatisticFlagBits::eClippingPrimitives)
+    result += "ClippingPrimitives | ";
+  if (value & QueryPipelineStatisticFlagBits::eFragmentShaderInvocations)
+    result += "FragmentShaderInvocations | ";
+  if (value & QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches)
+    result += "TessellationControlShaderPatches | ";
+  if (value &
+      QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations)
+    result += "TessellationEvaluationShaderInvocations | ";
+  if (value & QueryPipelineStatisticFlagBits::eComputeShaderInvocations)
+    result += "ComputeShaderInvocations | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using QueryPoolCreateFlags = Flags<QueryPoolCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(QueryPoolCreateFlags) { return "{}"; }
+
+using QueryResultFlags = Flags<QueryResultFlagBits>;
+
+template <> struct FlagTraits<QueryResultFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(QueryResultFlagBits::e64) |
+               VkFlags(QueryResultFlagBits::eWait) |
+               VkFlags(QueryResultFlagBits::eWithAvailability) |
+               VkFlags(QueryResultFlagBits::ePartial)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineVertexInputStateCreateFlagBits )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator|(
+    QueryResultFlagBits bit0, QueryResultFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryResultFlags(bit0) | bit1;
+}
 
-  using PipelineVertexInputStateCreateFlags = Flags<PipelineVertexInputStateCreateFlagBits>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator&(
+    QueryResultFlagBits bit0, QueryResultFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryResultFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineVertexInputStateCreateFlags )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator^(
+    QueryResultFlagBits bit0, QueryResultFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueryResultFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags
+operator~(QueryResultFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(QueryResultFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(QueryResultFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineViewportStateCreateFlagBits : VkFlags
-  {
+  if (value & QueryResultFlagBits::e64)
+    result += "64 | ";
+  if (value & QueryResultFlagBits::eWait)
+    result += "Wait | ";
+  if (value & QueryResultFlagBits::eWithAvailability)
+    result += "WithAvailability | ";
+  if (value & QueryResultFlagBits::ePartial)
+    result += "Partial | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using QueueFlags = Flags<QueueFlagBits>;
+
+template <> struct FlagTraits<QueueFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(QueueFlagBits::eGraphics) |
+               VkFlags(QueueFlagBits::eCompute) |
+               VkFlags(QueueFlagBits::eTransfer) |
+               VkFlags(QueueFlagBits::eSparseBinding) |
+               VkFlags(QueueFlagBits::eProtected)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineViewportStateCreateFlagBits )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags
+operator|(QueueFlagBits bit0, QueueFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueueFlags(bit0) | bit1;
+}
 
-  using PipelineViewportStateCreateFlags = Flags<PipelineViewportStateCreateFlagBits>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags
+operator&(QueueFlagBits bit0, QueueFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueueFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineViewportStateCreateFlags )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags
+operator^(QueueFlagBits bit0, QueueFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return QueueFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator~(QueueFlagBits bits)
+    VULKAN_HPP_NOEXCEPT {
+  return ~(QueueFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(QueueFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  enum class PipelineViewportSwizzleStateCreateFlagBitsNV : VkFlags
-  {
+  if (value & QueueFlagBits::eGraphics)
+    result += "Graphics | ";
+  if (value & QueueFlagBits::eCompute)
+    result += "Compute | ";
+  if (value & QueueFlagBits::eTransfer)
+    result += "Transfer | ";
+  if (value & QueueFlagBits::eSparseBinding)
+    result += "SparseBinding | ";
+  if (value & QueueFlagBits::eProtected)
+    result += "Protected | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using RenderPassCreateFlags = Flags<RenderPassCreateFlagBits>;
+
+template <> struct FlagTraits<RenderPassCreateFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(RenderPassCreateFlagBits::eTransformQCOM)
   };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineViewportSwizzleStateCreateFlagBitsNV )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
+operator|(RenderPassCreateFlagBits bit0,
+          RenderPassCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return RenderPassCreateFlags(bit0) | bit1;
+}
 
-  using PipelineViewportSwizzleStateCreateFlagsNV = Flags<PipelineViewportSwizzleStateCreateFlagBitsNV>;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
+operator&(RenderPassCreateFlagBits bit0,
+          RenderPassCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return RenderPassCreateFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PipelineViewportSwizzleStateCreateFlagsNV )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
+operator^(RenderPassCreateFlagBits bit0,
+          RenderPassCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return RenderPassCreateFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
+operator~(RenderPassCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(RenderPassCreateFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(RenderPassCreateFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  using PrivateDataSlotCreateFlagsEXT = Flags<PrivateDataSlotCreateFlagBitsEXT>;
+  if (value & RenderPassCreateFlagBits::eTransformQCOM)
+    result += "TransformQCOM | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  VULKAN_HPP_INLINE std::string to_string( PrivateDataSlotCreateFlagsEXT )
-  {
+using ResolveModeFlags = Flags<ResolveModeFlagBits>;
+
+template <> struct FlagTraits<ResolveModeFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ResolveModeFlagBits::eNone) |
+               VkFlags(ResolveModeFlagBits::eSampleZero) |
+               VkFlags(ResolveModeFlagBits::eAverage) |
+               VkFlags(ResolveModeFlagBits::eMin) |
+               VkFlags(ResolveModeFlagBits::eMax)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator|(
+    ResolveModeFlagBits bit0, ResolveModeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ResolveModeFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator&(
+    ResolveModeFlagBits bit0, ResolveModeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ResolveModeFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator^(
+    ResolveModeFlagBits bit0, ResolveModeFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ResolveModeFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags
+operator~(ResolveModeFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ResolveModeFlags(bits));
+}
+
+using ResolveModeFlagsKHR = ResolveModeFlags;
+
+VULKAN_HPP_INLINE std::string to_string(ResolveModeFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  using QueryControlFlags = Flags<QueryControlFlagBits>;
+  if (value & ResolveModeFlagBits::eSampleZero)
+    result += "SampleZero | ";
+  if (value & ResolveModeFlagBits::eAverage)
+    result += "Average | ";
+  if (value & ResolveModeFlagBits::eMin)
+    result += "Min | ";
+  if (value & ResolveModeFlagBits::eMax)
+    result += "Max | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  template <>
-  struct FlagTraits<QueryControlFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( QueryControlFlagBits::ePrecise )
-    };
+using SampleCountFlags = Flags<SampleCountFlagBits>;
+
+template <> struct FlagTraits<SampleCountFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(SampleCountFlagBits::e1) | VkFlags(SampleCountFlagBits::e2) |
+        VkFlags(SampleCountFlagBits::e4) | VkFlags(SampleCountFlagBits::e8) |
+        VkFlags(SampleCountFlagBits::e16) | VkFlags(SampleCountFlagBits::e32) |
+        VkFlags(SampleCountFlagBits::e64)
   };
+};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator|( QueryControlFlagBits bit0,
-                                                                      QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryControlFlags( bit0 ) | bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator|(
+    SampleCountFlagBits bit0, SampleCountFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SampleCountFlags(bit0) | bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator&( QueryControlFlagBits bit0,
-                                                                      QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryControlFlags( bit0 ) & bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator&(
+    SampleCountFlagBits bit0, SampleCountFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SampleCountFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator^( QueryControlFlagBits bit0,
-                                                                      QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryControlFlags( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator^(
+    SampleCountFlagBits bit0, SampleCountFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SampleCountFlags(bit0) ^ bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator~( QueryControlFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( QueryControlFlags( bits ) );
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags
+operator~(SampleCountFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SampleCountFlags(bits));
+}
 
-  VULKAN_HPP_INLINE std::string to_string( QueryControlFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string to_string(SampleCountFlags value) {
 
-    if ( value & QueryControlFlagBits::ePrecise )
-      result += "Precise | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using QueryPipelineStatisticFlags = Flags<QueryPipelineStatisticFlagBits>;
-
-  template <>
-  struct FlagTraits<QueryPipelineStatisticFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( QueryPipelineStatisticFlagBits::eInputAssemblyVertices ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eVertexShaderInvocations ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eGeometryShaderInvocations ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eClippingInvocations ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eClippingPrimitives ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eFragmentShaderInvocations ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations ) |
-                 VkFlags( QueryPipelineStatisticFlagBits::eComputeShaderInvocations )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
-    operator|( QueryPipelineStatisticFlagBits bit0, QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryPipelineStatisticFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
-    operator&( QueryPipelineStatisticFlagBits bit0, QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryPipelineStatisticFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
-    operator^( QueryPipelineStatisticFlagBits bit0, QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryPipelineStatisticFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags operator~( QueryPipelineStatisticFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( QueryPipelineStatisticFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( QueryPipelineStatisticFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & QueryPipelineStatisticFlagBits::eInputAssemblyVertices )
-      result += "InputAssemblyVertices | ";
-    if ( value & QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives )
-      result += "InputAssemblyPrimitives | ";
-    if ( value & QueryPipelineStatisticFlagBits::eVertexShaderInvocations )
-      result += "VertexShaderInvocations | ";
-    if ( value & QueryPipelineStatisticFlagBits::eGeometryShaderInvocations )
-      result += "GeometryShaderInvocations | ";
-    if ( value & QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives )
-      result += "GeometryShaderPrimitives | ";
-    if ( value & QueryPipelineStatisticFlagBits::eClippingInvocations )
-      result += "ClippingInvocations | ";
-    if ( value & QueryPipelineStatisticFlagBits::eClippingPrimitives )
-      result += "ClippingPrimitives | ";
-    if ( value & QueryPipelineStatisticFlagBits::eFragmentShaderInvocations )
-      result += "FragmentShaderInvocations | ";
-    if ( value & QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches )
-      result += "TessellationControlShaderPatches | ";
-    if ( value & QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations )
-      result += "TessellationEvaluationShaderInvocations | ";
-    if ( value & QueryPipelineStatisticFlagBits::eComputeShaderInvocations )
-      result += "ComputeShaderInvocations | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using QueryPoolCreateFlags = Flags<QueryPoolCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( QueryPoolCreateFlags )
-  {
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  using QueryResultFlags = Flags<QueryResultFlagBits>;
+  if (value & SampleCountFlagBits::e1)
+    result += "1 | ";
+  if (value & SampleCountFlagBits::e2)
+    result += "2 | ";
+  if (value & SampleCountFlagBits::e4)
+    result += "4 | ";
+  if (value & SampleCountFlagBits::e8)
+    result += "8 | ";
+  if (value & SampleCountFlagBits::e16)
+    result += "16 | ";
+  if (value & SampleCountFlagBits::e32)
+    result += "32 | ";
+  if (value & SampleCountFlagBits::e64)
+    result += "64 | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  template <>
-  struct FlagTraits<QueryResultFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( QueryResultFlagBits::e64 ) | VkFlags( QueryResultFlagBits::eWait ) |
-                 VkFlags( QueryResultFlagBits::eWithAvailability ) | VkFlags( QueryResultFlagBits::ePartial )
-    };
+using SamplerCreateFlags = Flags<SamplerCreateFlagBits>;
+
+template <> struct FlagTraits<SamplerCreateFlagBits> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(SamplerCreateFlagBits::eSubsampledEXT) |
+        VkFlags(SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT)
   };
+};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator|( QueryResultFlagBits bit0,
-                                                                     QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryResultFlags( bit0 ) | bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags
+operator|(SamplerCreateFlagBits bit0,
+          SamplerCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SamplerCreateFlags(bit0) | bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator&( QueryResultFlagBits bit0,
-                                                                     QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryResultFlags( bit0 ) & bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags
+operator&(SamplerCreateFlagBits bit0,
+          SamplerCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SamplerCreateFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator^( QueryResultFlagBits bit0,
-                                                                     QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueryResultFlags( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags
+operator^(SamplerCreateFlagBits bit0,
+          SamplerCreateFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SamplerCreateFlags(bit0) ^ bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator~( QueryResultFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( QueryResultFlags( bits ) );
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags
+operator~(SamplerCreateFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SamplerCreateFlags(bits));
+}
 
-  VULKAN_HPP_INLINE std::string to_string( QueryResultFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string to_string(SamplerCreateFlags value) {
 
-    if ( value & QueryResultFlagBits::e64 )
-      result += "64 | ";
-    if ( value & QueryResultFlagBits::eWait )
-      result += "Wait | ";
-    if ( value & QueryResultFlagBits::eWithAvailability )
-      result += "WithAvailability | ";
-    if ( value & QueryResultFlagBits::ePartial )
-      result += "Partial | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using QueueFlags = Flags<QueueFlagBits>;
-
-  template <>
-  struct FlagTraits<QueueFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( QueueFlagBits::eGraphics ) | VkFlags( QueueFlagBits::eCompute ) |
-                 VkFlags( QueueFlagBits::eTransfer ) | VkFlags( QueueFlagBits::eSparseBinding ) |
-                 VkFlags( QueueFlagBits::eProtected )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator|( QueueFlagBits bit0,
-                                                               QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueueFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator&( QueueFlagBits bit0,
-                                                               QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueueFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator^( QueueFlagBits bit0,
-                                                               QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return QueueFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator~( QueueFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( QueueFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( QueueFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & QueueFlagBits::eGraphics )
-      result += "Graphics | ";
-    if ( value & QueueFlagBits::eCompute )
-      result += "Compute | ";
-    if ( value & QueueFlagBits::eTransfer )
-      result += "Transfer | ";
-    if ( value & QueueFlagBits::eSparseBinding )
-      result += "SparseBinding | ";
-    if ( value & QueueFlagBits::eProtected )
-      result += "Protected | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using RenderPassCreateFlags = Flags<RenderPassCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<RenderPassCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( RenderPassCreateFlagBits::eTransformQCOM )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
-    operator|( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return RenderPassCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
-    operator&( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return RenderPassCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
-    operator^( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return RenderPassCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags operator~( RenderPassCreateFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( RenderPassCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( RenderPassCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & RenderPassCreateFlagBits::eTransformQCOM )
-      result += "TransformQCOM | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ResolveModeFlags = Flags<ResolveModeFlagBits>;
-
-  template <>
-  struct FlagTraits<ResolveModeFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ResolveModeFlagBits::eNone ) | VkFlags( ResolveModeFlagBits::eSampleZero ) |
-                 VkFlags( ResolveModeFlagBits::eAverage ) | VkFlags( ResolveModeFlagBits::eMin ) |
-                 VkFlags( ResolveModeFlagBits::eMax )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator|( ResolveModeFlagBits bit0,
-                                                                     ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ResolveModeFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator&( ResolveModeFlagBits bit0,
-                                                                     ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ResolveModeFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator^( ResolveModeFlagBits bit0,
-                                                                     ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ResolveModeFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator~( ResolveModeFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ResolveModeFlags( bits ) );
-  }
-
-  using ResolveModeFlagsKHR = ResolveModeFlags;
-
-  VULKAN_HPP_INLINE std::string to_string( ResolveModeFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ResolveModeFlagBits::eSampleZero )
-      result += "SampleZero | ";
-    if ( value & ResolveModeFlagBits::eAverage )
-      result += "Average | ";
-    if ( value & ResolveModeFlagBits::eMin )
-      result += "Min | ";
-    if ( value & ResolveModeFlagBits::eMax )
-      result += "Max | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SampleCountFlags = Flags<SampleCountFlagBits>;
-
-  template <>
-  struct FlagTraits<SampleCountFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SampleCountFlagBits::e1 ) | VkFlags( SampleCountFlagBits::e2 ) |
-                 VkFlags( SampleCountFlagBits::e4 ) | VkFlags( SampleCountFlagBits::e8 ) |
-                 VkFlags( SampleCountFlagBits::e16 ) | VkFlags( SampleCountFlagBits::e32 ) |
-                 VkFlags( SampleCountFlagBits::e64 )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator|( SampleCountFlagBits bit0,
-                                                                     SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SampleCountFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator&( SampleCountFlagBits bit0,
-                                                                     SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SampleCountFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator^( SampleCountFlagBits bit0,
-                                                                     SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SampleCountFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator~( SampleCountFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SampleCountFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SampleCountFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SampleCountFlagBits::e1 )
-      result += "1 | ";
-    if ( value & SampleCountFlagBits::e2 )
-      result += "2 | ";
-    if ( value & SampleCountFlagBits::e4 )
-      result += "4 | ";
-    if ( value & SampleCountFlagBits::e8 )
-      result += "8 | ";
-    if ( value & SampleCountFlagBits::e16 )
-      result += "16 | ";
-    if ( value & SampleCountFlagBits::e32 )
-      result += "32 | ";
-    if ( value & SampleCountFlagBits::e64 )
-      result += "64 | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SamplerCreateFlags = Flags<SamplerCreateFlagBits>;
-
-  template <>
-  struct FlagTraits<SamplerCreateFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SamplerCreateFlagBits::eSubsampledEXT ) |
-                 VkFlags( SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator|( SamplerCreateFlagBits bit0,
-                                                                       SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SamplerCreateFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator&( SamplerCreateFlagBits bit0,
-                                                                       SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SamplerCreateFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator^( SamplerCreateFlagBits bit0,
-                                                                       SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SamplerCreateFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator~( SamplerCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SamplerCreateFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SamplerCreateFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SamplerCreateFlagBits::eSubsampledEXT )
-      result += "SubsampledEXT | ";
-    if ( value & SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT )
-      result += "SubsampledCoarseReconstructionEXT | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>;
-
-  VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlags )
-  {
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  using SemaphoreImportFlags = Flags<SemaphoreImportFlagBits>;
+  if (value & SamplerCreateFlagBits::eSubsampledEXT)
+    result += "SubsampledEXT | ";
+  if (value & SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT)
+    result += "SubsampledCoarseReconstructionEXT | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  template <>
-  struct FlagTraits<SemaphoreImportFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SemaphoreImportFlagBits::eTemporary )
-    };
-  };
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+enum class ScreenSurfaceCreateFlagBitsQNX : VkFlags {};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
-    operator|( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SemaphoreImportFlags( bit0 ) | bit1;
-  }
+VULKAN_HPP_INLINE std::string to_string(ScreenSurfaceCreateFlagBitsQNX) {
+  return "(void)";
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
-    operator&( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SemaphoreImportFlags( bit0 ) & bit1;
-  }
+using ScreenSurfaceCreateFlagsQNX = Flags<ScreenSurfaceCreateFlagBitsQNX>;
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
-    operator^( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SemaphoreImportFlags( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE std::string to_string(ScreenSurfaceCreateFlagsQNX) {
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags operator~( SemaphoreImportFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SemaphoreImportFlags( bits ) );
-  }
+  return "{}";
+}
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
 
-  using SemaphoreImportFlagsKHR = SemaphoreImportFlags;
+enum class SemaphoreCreateFlagBits : VkFlags {};
 
-  VULKAN_HPP_INLINE std::string to_string( SemaphoreImportFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string to_string(SemaphoreCreateFlagBits) {
+  return "(void)";
+}
 
-    if ( value & SemaphoreImportFlagBits::eTemporary )
-      result += "Temporary | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
+using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>;
 
-  using SemaphoreWaitFlags = Flags<SemaphoreWaitFlagBits>;
+VULKAN_HPP_INLINE std::string to_string(SemaphoreCreateFlags) { return "{}"; }
 
-  template <>
-  struct FlagTraits<SemaphoreWaitFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SemaphoreWaitFlagBits::eAny )
-    };
-  };
+using SemaphoreImportFlags = Flags<SemaphoreImportFlagBits>;
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator|( SemaphoreWaitFlagBits bit0,
-                                                                       SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SemaphoreWaitFlags( bit0 ) | bit1;
-  }
+template <> struct FlagTraits<SemaphoreImportFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(SemaphoreImportFlagBits::eTemporary) };
+};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator&( SemaphoreWaitFlagBits bit0,
-                                                                       SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SemaphoreWaitFlags( bit0 ) & bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
+operator|(SemaphoreImportFlagBits bit0,
+          SemaphoreImportFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SemaphoreImportFlags(bit0) | bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator^( SemaphoreWaitFlagBits bit0,
-                                                                       SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SemaphoreWaitFlags( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
+operator&(SemaphoreImportFlagBits bit0,
+          SemaphoreImportFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SemaphoreImportFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator~( SemaphoreWaitFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SemaphoreWaitFlags( bits ) );
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
+operator^(SemaphoreImportFlagBits bit0,
+          SemaphoreImportFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SemaphoreImportFlags(bit0) ^ bit1;
+}
 
-  using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
+operator~(SemaphoreImportFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SemaphoreImportFlags(bits));
+}
 
-  VULKAN_HPP_INLINE std::string to_string( SemaphoreWaitFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+using SemaphoreImportFlagsKHR = SemaphoreImportFlags;
 
-    if ( value & SemaphoreWaitFlagBits::eAny )
-      result += "Any | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
+VULKAN_HPP_INLINE std::string to_string(SemaphoreImportFlags value) {
 
-  using ShaderCorePropertiesFlagsAMD = Flags<ShaderCorePropertiesFlagBitsAMD>;
-
-  VULKAN_HPP_INLINE std::string to_string( ShaderCorePropertiesFlagsAMD )
-  {
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  using ShaderModuleCreateFlags = Flags<ShaderModuleCreateFlagBits>;
+  if (value & SemaphoreImportFlagBits::eTemporary)
+    result += "Temporary | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  VULKAN_HPP_INLINE std::string to_string( ShaderModuleCreateFlags )
-  {
+using SemaphoreWaitFlags = Flags<SemaphoreWaitFlagBits>;
+
+template <> struct FlagTraits<SemaphoreWaitFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(SemaphoreWaitFlagBits::eAny) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags
+operator|(SemaphoreWaitFlagBits bit0,
+          SemaphoreWaitFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SemaphoreWaitFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags
+operator&(SemaphoreWaitFlagBits bit0,
+          SemaphoreWaitFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SemaphoreWaitFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags
+operator^(SemaphoreWaitFlagBits bit0,
+          SemaphoreWaitFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SemaphoreWaitFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags
+operator~(SemaphoreWaitFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SemaphoreWaitFlags(bits));
+}
+
+using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
+
+VULKAN_HPP_INLINE std::string to_string(SemaphoreWaitFlags value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-  using ShaderStageFlags = Flags<ShaderStageFlagBits>;
+  if (value & SemaphoreWaitFlagBits::eAny)
+    result += "Any | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  template <>
-  struct FlagTraits<ShaderStageFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ShaderStageFlagBits::eVertex ) | VkFlags( ShaderStageFlagBits::eTessellationControl ) |
-                 VkFlags( ShaderStageFlagBits::eTessellationEvaluation ) | VkFlags( ShaderStageFlagBits::eGeometry ) |
-                 VkFlags( ShaderStageFlagBits::eFragment ) | VkFlags( ShaderStageFlagBits::eCompute ) |
-                 VkFlags( ShaderStageFlagBits::eAllGraphics ) | VkFlags( ShaderStageFlagBits::eAll ) |
-                 VkFlags( ShaderStageFlagBits::eRaygenKHR ) | VkFlags( ShaderStageFlagBits::eAnyHitKHR ) |
-                 VkFlags( ShaderStageFlagBits::eClosestHitKHR ) | VkFlags( ShaderStageFlagBits::eMissKHR ) |
-                 VkFlags( ShaderStageFlagBits::eIntersectionKHR ) | VkFlags( ShaderStageFlagBits::eCallableKHR ) |
-                 VkFlags( ShaderStageFlagBits::eTaskNV ) | VkFlags( ShaderStageFlagBits::eMeshNV )
-    };
+using ShaderCorePropertiesFlagsAMD = Flags<ShaderCorePropertiesFlagBitsAMD>;
+
+VULKAN_HPP_INLINE std::string to_string(ShaderCorePropertiesFlagsAMD) {
+
+  return "{}";
+}
+
+using ShaderModuleCreateFlags = Flags<ShaderModuleCreateFlagBits>;
+
+VULKAN_HPP_INLINE std::string to_string(ShaderModuleCreateFlags) {
+
+  return "{}";
+}
+
+using ShaderStageFlags = Flags<ShaderStageFlagBits>;
+
+template <> struct FlagTraits<ShaderStageFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(ShaderStageFlagBits::eVertex) |
+               VkFlags(ShaderStageFlagBits::eTessellationControl) |
+               VkFlags(ShaderStageFlagBits::eTessellationEvaluation) |
+               VkFlags(ShaderStageFlagBits::eGeometry) |
+               VkFlags(ShaderStageFlagBits::eFragment) |
+               VkFlags(ShaderStageFlagBits::eCompute) |
+               VkFlags(ShaderStageFlagBits::eAllGraphics) |
+               VkFlags(ShaderStageFlagBits::eAll) |
+               VkFlags(ShaderStageFlagBits::eRaygenKHR) |
+               VkFlags(ShaderStageFlagBits::eAnyHitKHR) |
+               VkFlags(ShaderStageFlagBits::eClosestHitKHR) |
+               VkFlags(ShaderStageFlagBits::eMissKHR) |
+               VkFlags(ShaderStageFlagBits::eIntersectionKHR) |
+               VkFlags(ShaderStageFlagBits::eCallableKHR) |
+               VkFlags(ShaderStageFlagBits::eTaskNV) |
+               VkFlags(ShaderStageFlagBits::eMeshNV)
   };
+};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator|( ShaderStageFlagBits bit0,
-                                                                     ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ShaderStageFlags( bit0 ) | bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator|(
+    ShaderStageFlagBits bit0, ShaderStageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ShaderStageFlags(bit0) | bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator&( ShaderStageFlagBits bit0,
-                                                                     ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ShaderStageFlags( bit0 ) & bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator&(
+    ShaderStageFlagBits bit0, ShaderStageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ShaderStageFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator^( ShaderStageFlagBits bit0,
-                                                                     ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ShaderStageFlags( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator^(
+    ShaderStageFlagBits bit0, ShaderStageFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return ShaderStageFlags(bit0) ^ bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator~( ShaderStageFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ShaderStageFlags( bits ) );
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags
+operator~(ShaderStageFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ShaderStageFlags(bits));
+}
 
-  VULKAN_HPP_INLINE std::string to_string( ShaderStageFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string to_string(ShaderStageFlags value) {
 
-    if ( value & ShaderStageFlagBits::eVertex )
-      result += "Vertex | ";
-    if ( value & ShaderStageFlagBits::eTessellationControl )
-      result += "TessellationControl | ";
-    if ( value & ShaderStageFlagBits::eTessellationEvaluation )
-      result += "TessellationEvaluation | ";
-    if ( value & ShaderStageFlagBits::eGeometry )
-      result += "Geometry | ";
-    if ( value & ShaderStageFlagBits::eFragment )
-      result += "Fragment | ";
-    if ( value & ShaderStageFlagBits::eCompute )
-      result += "Compute | ";
-    if ( value & ShaderStageFlagBits::eRaygenKHR )
-      result += "RaygenKHR | ";
-    if ( value & ShaderStageFlagBits::eAnyHitKHR )
-      result += "AnyHitKHR | ";
-    if ( value & ShaderStageFlagBits::eClosestHitKHR )
-      result += "ClosestHitKHR | ";
-    if ( value & ShaderStageFlagBits::eMissKHR )
-      result += "MissKHR | ";
-    if ( value & ShaderStageFlagBits::eIntersectionKHR )
-      result += "IntersectionKHR | ";
-    if ( value & ShaderStageFlagBits::eCallableKHR )
-      result += "CallableKHR | ";
-    if ( value & ShaderStageFlagBits::eTaskNV )
-      result += "TaskNV | ";
-    if ( value & ShaderStageFlagBits::eMeshNV )
-      result += "MeshNV | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SparseImageFormatFlags = Flags<SparseImageFormatFlagBits>;
-
-  template <>
-  struct FlagTraits<SparseImageFormatFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SparseImageFormatFlagBits::eSingleMiptail ) |
-                 VkFlags( SparseImageFormatFlagBits::eAlignedMipSize ) |
-                 VkFlags( SparseImageFormatFlagBits::eNonstandardBlockSize )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
-    operator|( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SparseImageFormatFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
-    operator&( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SparseImageFormatFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
-    operator^( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SparseImageFormatFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags operator~( SparseImageFormatFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SparseImageFormatFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SparseImageFormatFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SparseImageFormatFlagBits::eSingleMiptail )
-      result += "SingleMiptail | ";
-    if ( value & SparseImageFormatFlagBits::eAlignedMipSize )
-      result += "AlignedMipSize | ";
-    if ( value & SparseImageFormatFlagBits::eNonstandardBlockSize )
-      result += "NonstandardBlockSize | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SparseMemoryBindFlags = Flags<SparseMemoryBindFlagBits>;
-
-  template <>
-  struct FlagTraits<SparseMemoryBindFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SparseMemoryBindFlagBits::eMetadata )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
-    operator|( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SparseMemoryBindFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
-    operator&( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SparseMemoryBindFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
-    operator^( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SparseMemoryBindFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags operator~( SparseMemoryBindFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SparseMemoryBindFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SparseMemoryBindFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SparseMemoryBindFlagBits::eMetadata )
-      result += "Metadata | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using StencilFaceFlags = Flags<StencilFaceFlagBits>;
-
-  template <>
-  struct FlagTraits<StencilFaceFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( StencilFaceFlagBits::eFront ) | VkFlags( StencilFaceFlagBits::eBack ) |
-                 VkFlags( StencilFaceFlagBits::eFrontAndBack )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator|( StencilFaceFlagBits bit0,
-                                                                     StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return StencilFaceFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator&( StencilFaceFlagBits bit0,
-                                                                     StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return StencilFaceFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator^( StencilFaceFlagBits bit0,
-                                                                     StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return StencilFaceFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator~( StencilFaceFlagBits bits ) VULKAN_HPP_NOEXCEPT
-  {
-    return ~( StencilFaceFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( StencilFaceFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & StencilFaceFlagBits::eFront )
-      result += "Front | ";
-    if ( value & StencilFaceFlagBits::eBack )
-      result += "Back | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-#ifdef VK_USE_PLATFORM_GGP
-  enum class StreamDescriptorSurfaceCreateFlagBitsGGP : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( StreamDescriptorSurfaceCreateFlagBitsGGP )
-  {
-    return "(void)";
-  }
-
-  using StreamDescriptorSurfaceCreateFlagsGGP = Flags<StreamDescriptorSurfaceCreateFlagBitsGGP>;
-
-  VULKAN_HPP_INLINE std::string to_string( StreamDescriptorSurfaceCreateFlagsGGP )
-  {
+  if (!value)
     return "{}";
-  }
+  std::string result;
+
+  if (value & ShaderStageFlagBits::eVertex)
+    result += "Vertex | ";
+  if (value & ShaderStageFlagBits::eTessellationControl)
+    result += "TessellationControl | ";
+  if (value & ShaderStageFlagBits::eTessellationEvaluation)
+    result += "TessellationEvaluation | ";
+  if (value & ShaderStageFlagBits::eGeometry)
+    result += "Geometry | ";
+  if (value & ShaderStageFlagBits::eFragment)
+    result += "Fragment | ";
+  if (value & ShaderStageFlagBits::eCompute)
+    result += "Compute | ";
+  if (value & ShaderStageFlagBits::eRaygenKHR)
+    result += "RaygenKHR | ";
+  if (value & ShaderStageFlagBits::eAnyHitKHR)
+    result += "AnyHitKHR | ";
+  if (value & ShaderStageFlagBits::eClosestHitKHR)
+    result += "ClosestHitKHR | ";
+  if (value & ShaderStageFlagBits::eMissKHR)
+    result += "MissKHR | ";
+  if (value & ShaderStageFlagBits::eIntersectionKHR)
+    result += "IntersectionKHR | ";
+  if (value & ShaderStageFlagBits::eCallableKHR)
+    result += "CallableKHR | ";
+  if (value & ShaderStageFlagBits::eTaskNV)
+    result += "TaskNV | ";
+  if (value & ShaderStageFlagBits::eMeshNV)
+    result += "MeshNV | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using SparseImageFormatFlags = Flags<SparseImageFormatFlagBits>;
+
+template <> struct FlagTraits<SparseImageFormatFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(SparseImageFormatFlagBits::eSingleMiptail) |
+               VkFlags(SparseImageFormatFlagBits::eAlignedMipSize) |
+               VkFlags(SparseImageFormatFlagBits::eNonstandardBlockSize)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
+operator|(SparseImageFormatFlagBits bit0,
+          SparseImageFormatFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SparseImageFormatFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
+operator&(SparseImageFormatFlagBits bit0,
+          SparseImageFormatFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SparseImageFormatFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
+operator^(SparseImageFormatFlagBits bit0,
+          SparseImageFormatFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SparseImageFormatFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
+operator~(SparseImageFormatFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SparseImageFormatFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(SparseImageFormatFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & SparseImageFormatFlagBits::eSingleMiptail)
+    result += "SingleMiptail | ";
+  if (value & SparseImageFormatFlagBits::eAlignedMipSize)
+    result += "AlignedMipSize | ";
+  if (value & SparseImageFormatFlagBits::eNonstandardBlockSize)
+    result += "NonstandardBlockSize | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using SparseMemoryBindFlags = Flags<SparseMemoryBindFlagBits>;
+
+template <> struct FlagTraits<SparseMemoryBindFlagBits> {
+  enum : VkFlags { allFlags = VkFlags(SparseMemoryBindFlagBits::eMetadata) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
+operator|(SparseMemoryBindFlagBits bit0,
+          SparseMemoryBindFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SparseMemoryBindFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
+operator&(SparseMemoryBindFlagBits bit0,
+          SparseMemoryBindFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SparseMemoryBindFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
+operator^(SparseMemoryBindFlagBits bit0,
+          SparseMemoryBindFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SparseMemoryBindFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
+operator~(SparseMemoryBindFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SparseMemoryBindFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(SparseMemoryBindFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & SparseMemoryBindFlagBits::eMetadata)
+    result += "Metadata | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using StencilFaceFlags = Flags<StencilFaceFlagBits>;
+
+template <> struct FlagTraits<StencilFaceFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(StencilFaceFlagBits::eFront) |
+               VkFlags(StencilFaceFlagBits::eBack) |
+               VkFlags(StencilFaceFlagBits::eFrontAndBack)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator|(
+    StencilFaceFlagBits bit0, StencilFaceFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return StencilFaceFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator&(
+    StencilFaceFlagBits bit0, StencilFaceFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return StencilFaceFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator^(
+    StencilFaceFlagBits bit0, StencilFaceFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return StencilFaceFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags
+operator~(StencilFaceFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(StencilFaceFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(StencilFaceFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & StencilFaceFlagBits::eFront)
+    result += "Front | ";
+  if (value & StencilFaceFlagBits::eBack)
+    result += "Back | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+#if defined(VK_USE_PLATFORM_GGP)
+enum class StreamDescriptorSurfaceCreateFlagBitsGGP : VkFlags {};
+
+VULKAN_HPP_INLINE std::string
+to_string(StreamDescriptorSurfaceCreateFlagBitsGGP) {
+  return "(void)";
+}
+
+using StreamDescriptorSurfaceCreateFlagsGGP =
+    Flags<StreamDescriptorSurfaceCreateFlagBitsGGP>;
+
+VULKAN_HPP_INLINE std::string to_string(StreamDescriptorSurfaceCreateFlagsGGP) {
+
+  return "{}";
+}
 #endif /*VK_USE_PLATFORM_GGP*/
 
-  using SubgroupFeatureFlags = Flags<SubgroupFeatureFlagBits>;
+using SubgroupFeatureFlags = Flags<SubgroupFeatureFlagBits>;
 
-  template <>
-  struct FlagTraits<SubgroupFeatureFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SubgroupFeatureFlagBits::eBasic ) | VkFlags( SubgroupFeatureFlagBits::eVote ) |
-                 VkFlags( SubgroupFeatureFlagBits::eArithmetic ) | VkFlags( SubgroupFeatureFlagBits::eBallot ) |
-                 VkFlags( SubgroupFeatureFlagBits::eShuffle ) | VkFlags( SubgroupFeatureFlagBits::eShuffleRelative ) |
-                 VkFlags( SubgroupFeatureFlagBits::eClustered ) | VkFlags( SubgroupFeatureFlagBits::eQuad ) |
-                 VkFlags( SubgroupFeatureFlagBits::ePartitionedNV )
-    };
+template <> struct FlagTraits<SubgroupFeatureFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(SubgroupFeatureFlagBits::eBasic) |
+               VkFlags(SubgroupFeatureFlagBits::eVote) |
+               VkFlags(SubgroupFeatureFlagBits::eArithmetic) |
+               VkFlags(SubgroupFeatureFlagBits::eBallot) |
+               VkFlags(SubgroupFeatureFlagBits::eShuffle) |
+               VkFlags(SubgroupFeatureFlagBits::eShuffleRelative) |
+               VkFlags(SubgroupFeatureFlagBits::eClustered) |
+               VkFlags(SubgroupFeatureFlagBits::eQuad) |
+               VkFlags(SubgroupFeatureFlagBits::ePartitionedNV)
   };
+};
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
-    operator|( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SubgroupFeatureFlags( bit0 ) | bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
+operator|(SubgroupFeatureFlagBits bit0,
+          SubgroupFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SubgroupFeatureFlags(bit0) | bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
-    operator&( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SubgroupFeatureFlags( bit0 ) & bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
+operator&(SubgroupFeatureFlagBits bit0,
+          SubgroupFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SubgroupFeatureFlags(bit0) & bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
-    operator^( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SubgroupFeatureFlags( bit0 ) ^ bit1;
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
+operator^(SubgroupFeatureFlagBits bit0,
+          SubgroupFeatureFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SubgroupFeatureFlags(bit0) ^ bit1;
+}
 
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags operator~( SubgroupFeatureFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SubgroupFeatureFlags( bits ) );
-  }
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
+operator~(SubgroupFeatureFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SubgroupFeatureFlags(bits));
+}
 
-  VULKAN_HPP_INLINE std::string to_string( SubgroupFeatureFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
+VULKAN_HPP_INLINE std::string to_string(SubgroupFeatureFlags value) {
 
-    if ( value & SubgroupFeatureFlagBits::eBasic )
-      result += "Basic | ";
-    if ( value & SubgroupFeatureFlagBits::eVote )
-      result += "Vote | ";
-    if ( value & SubgroupFeatureFlagBits::eArithmetic )
-      result += "Arithmetic | ";
-    if ( value & SubgroupFeatureFlagBits::eBallot )
-      result += "Ballot | ";
-    if ( value & SubgroupFeatureFlagBits::eShuffle )
-      result += "Shuffle | ";
-    if ( value & SubgroupFeatureFlagBits::eShuffleRelative )
-      result += "ShuffleRelative | ";
-    if ( value & SubgroupFeatureFlagBits::eClustered )
-      result += "Clustered | ";
-    if ( value & SubgroupFeatureFlagBits::eQuad )
-      result += "Quad | ";
-    if ( value & SubgroupFeatureFlagBits::ePartitionedNV )
-      result += "PartitionedNV | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SubpassDescriptionFlags = Flags<SubpassDescriptionFlagBits>;
-
-  template <>
-  struct FlagTraits<SubpassDescriptionFlagBits>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SubpassDescriptionFlagBits::ePerViewAttributesNVX ) |
-                 VkFlags( SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX ) |
-                 VkFlags( SubpassDescriptionFlagBits::eFragmentRegionQCOM ) |
-                 VkFlags( SubpassDescriptionFlagBits::eShaderResolveQCOM )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
-    operator|( SubpassDescriptionFlagBits bit0, SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SubpassDescriptionFlags( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
-    operator&( SubpassDescriptionFlagBits bit0, SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SubpassDescriptionFlags( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
-    operator^( SubpassDescriptionFlagBits bit0, SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SubpassDescriptionFlags( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags operator~( SubpassDescriptionFlagBits bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SubpassDescriptionFlags( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SubpassDescriptionFlags value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SubpassDescriptionFlagBits::ePerViewAttributesNVX )
-      result += "PerViewAttributesNVX | ";
-    if ( value & SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX )
-      result += "PerViewPositionXOnlyNVX | ";
-    if ( value & SubpassDescriptionFlagBits::eFragmentRegionQCOM )
-      result += "FragmentRegionQCOM | ";
-    if ( value & SubpassDescriptionFlagBits::eShaderResolveQCOM )
-      result += "ShaderResolveQCOM | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SurfaceCounterFlagsEXT = Flags<SurfaceCounterFlagBitsEXT>;
-
-  template <>
-  struct FlagTraits<SurfaceCounterFlagBitsEXT>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SurfaceCounterFlagBitsEXT::eVblank )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
-    operator|( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SurfaceCounterFlagsEXT( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
-    operator&( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SurfaceCounterFlagsEXT( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
-    operator^( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SurfaceCounterFlagsEXT( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT operator~( SurfaceCounterFlagBitsEXT bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SurfaceCounterFlagsEXT( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SurfaceCounterFlagsEXT value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SurfaceCounterFlagBitsEXT::eVblank )
-      result += "Vblank | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SurfaceTransformFlagsKHR = Flags<SurfaceTransformFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<SurfaceTransformFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SurfaceTransformFlagBitsKHR::eIdentity ) | VkFlags( SurfaceTransformFlagBitsKHR::eRotate90 ) |
-                 VkFlags( SurfaceTransformFlagBitsKHR::eRotate180 ) |
-                 VkFlags( SurfaceTransformFlagBitsKHR::eRotate270 ) |
-                 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirror ) |
-                 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 ) |
-                 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 ) |
-                 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 ) |
-                 VkFlags( SurfaceTransformFlagBitsKHR::eInherit )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
-    operator|( SurfaceTransformFlagBitsKHR bit0, SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SurfaceTransformFlagsKHR( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
-    operator&( SurfaceTransformFlagBitsKHR bit0, SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SurfaceTransformFlagsKHR( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
-    operator^( SurfaceTransformFlagBitsKHR bit0, SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SurfaceTransformFlagsKHR( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR operator~( SurfaceTransformFlagBitsKHR bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SurfaceTransformFlagsKHR( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SurfaceTransformFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SurfaceTransformFlagBitsKHR::eIdentity )
-      result += "Identity | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eRotate90 )
-      result += "Rotate90 | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eRotate180 )
-      result += "Rotate180 | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eRotate270 )
-      result += "Rotate270 | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirror )
-      result += "HorizontalMirror | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 )
-      result += "HorizontalMirrorRotate90 | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 )
-      result += "HorizontalMirrorRotate180 | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 )
-      result += "HorizontalMirrorRotate270 | ";
-    if ( value & SurfaceTransformFlagBitsKHR::eInherit )
-      result += "Inherit | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using SwapchainCreateFlagsKHR = Flags<SwapchainCreateFlagBitsKHR>;
-
-  template <>
-  struct FlagTraits<SwapchainCreateFlagBitsKHR>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions ) |
-                 VkFlags( SwapchainCreateFlagBitsKHR::eProtected ) |
-                 VkFlags( SwapchainCreateFlagBitsKHR::eMutableFormat )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
-    operator|( SwapchainCreateFlagBitsKHR bit0, SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SwapchainCreateFlagsKHR( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
-    operator&( SwapchainCreateFlagBitsKHR bit0, SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SwapchainCreateFlagsKHR( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
-    operator^( SwapchainCreateFlagBitsKHR bit0, SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return SwapchainCreateFlagsKHR( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR operator~( SwapchainCreateFlagBitsKHR bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( SwapchainCreateFlagsKHR( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( SwapchainCreateFlagsKHR value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions )
-      result += "SplitInstanceBindRegions | ";
-    if ( value & SwapchainCreateFlagBitsKHR::eProtected )
-      result += "Protected | ";
-    if ( value & SwapchainCreateFlagBitsKHR::eMutableFormat )
-      result += "MutableFormat | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  using ToolPurposeFlagsEXT = Flags<ToolPurposeFlagBitsEXT>;
-
-  template <>
-  struct FlagTraits<ToolPurposeFlagBitsEXT>
-  {
-    enum : VkFlags
-    {
-      allFlags = VkFlags( ToolPurposeFlagBitsEXT::eValidation ) | VkFlags( ToolPurposeFlagBitsEXT::eProfiling ) |
-                 VkFlags( ToolPurposeFlagBitsEXT::eTracing ) | VkFlags( ToolPurposeFlagBitsEXT::eAdditionalFeatures ) |
-                 VkFlags( ToolPurposeFlagBitsEXT::eModifyingFeatures ) |
-                 VkFlags( ToolPurposeFlagBitsEXT::eDebugReporting ) | VkFlags( ToolPurposeFlagBitsEXT::eDebugMarkers )
-    };
-  };
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
-    operator|( ToolPurposeFlagBitsEXT bit0, ToolPurposeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ToolPurposeFlagsEXT( bit0 ) | bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
-    operator&( ToolPurposeFlagBitsEXT bit0, ToolPurposeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ToolPurposeFlagsEXT( bit0 ) & bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
-    operator^( ToolPurposeFlagBitsEXT bit0, ToolPurposeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
-  {
-    return ToolPurposeFlagsEXT( bit0 ) ^ bit1;
-  }
-
-  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT operator~( ToolPurposeFlagBitsEXT bits )
-    VULKAN_HPP_NOEXCEPT
-  {
-    return ~( ToolPurposeFlagsEXT( bits ) );
-  }
-
-  VULKAN_HPP_INLINE std::string to_string( ToolPurposeFlagsEXT value )
-  {
-    if ( !value )
-      return "{}";
-    std::string result;
-
-    if ( value & ToolPurposeFlagBitsEXT::eValidation )
-      result += "Validation | ";
-    if ( value & ToolPurposeFlagBitsEXT::eProfiling )
-      result += "Profiling | ";
-    if ( value & ToolPurposeFlagBitsEXT::eTracing )
-      result += "Tracing | ";
-    if ( value & ToolPurposeFlagBitsEXT::eAdditionalFeatures )
-      result += "AdditionalFeatures | ";
-    if ( value & ToolPurposeFlagBitsEXT::eModifyingFeatures )
-      result += "ModifyingFeatures | ";
-    if ( value & ToolPurposeFlagBitsEXT::eDebugReporting )
-      result += "DebugReporting | ";
-    if ( value & ToolPurposeFlagBitsEXT::eDebugMarkers )
-      result += "DebugMarkers | ";
-    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
-  }
-
-  enum class ValidationCacheCreateFlagBitsEXT : VkFlags
-  {
-  };
-
-  VULKAN_HPP_INLINE std::string to_string( ValidationCacheCreateFlagBitsEXT )
-  {
-    return "(void)";
-  }
-
-  using ValidationCacheCreateFlagsEXT = Flags<ValidationCacheCreateFlagBitsEXT>;
-
-  VULKAN_HPP_INLINE std::string to_string( ValidationCacheCreateFlagsEXT )
-  {
+  if (!value)
     return "{}";
-  }
+  std::string result;
 
-#ifdef VK_USE_PLATFORM_VI_NN
-  enum class ViSurfaceCreateFlagBitsNN : VkFlags
-  {
-  };
+  if (value & SubgroupFeatureFlagBits::eBasic)
+    result += "Basic | ";
+  if (value & SubgroupFeatureFlagBits::eVote)
+    result += "Vote | ";
+  if (value & SubgroupFeatureFlagBits::eArithmetic)
+    result += "Arithmetic | ";
+  if (value & SubgroupFeatureFlagBits::eBallot)
+    result += "Ballot | ";
+  if (value & SubgroupFeatureFlagBits::eShuffle)
+    result += "Shuffle | ";
+  if (value & SubgroupFeatureFlagBits::eShuffleRelative)
+    result += "ShuffleRelative | ";
+  if (value & SubgroupFeatureFlagBits::eClustered)
+    result += "Clustered | ";
+  if (value & SubgroupFeatureFlagBits::eQuad)
+    result += "Quad | ";
+  if (value & SubgroupFeatureFlagBits::ePartitionedNV)
+    result += "PartitionedNV | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
 
-  VULKAN_HPP_INLINE std::string to_string( ViSurfaceCreateFlagBitsNN )
-  {
-    return "(void)";
-  }
+using SubmitFlagsKHR = Flags<SubmitFlagBitsKHR>;
 
-  using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN>;
+template <> struct FlagTraits<SubmitFlagBitsKHR> {
+  enum : VkFlags { allFlags = VkFlags(SubmitFlagBitsKHR::eProtected) };
+};
 
-  VULKAN_HPP_INLINE std::string to_string( ViSurfaceCreateFlagsNN )
-  {
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR
+operator|(SubmitFlagBitsKHR bit0, SubmitFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SubmitFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR
+operator&(SubmitFlagBitsKHR bit0, SubmitFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SubmitFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR
+operator^(SubmitFlagBitsKHR bit0, SubmitFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SubmitFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR
+operator~(SubmitFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SubmitFlagsKHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(SubmitFlagsKHR value) {
+
+  if (!value)
     return "{}";
-  }
+  std::string result;
+
+  if (value & SubmitFlagBitsKHR::eProtected)
+    result += "Protected | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using SubpassDescriptionFlags = Flags<SubpassDescriptionFlagBits>;
+
+template <> struct FlagTraits<SubpassDescriptionFlagBits> {
+  enum : VkFlags {
+    allFlags = VkFlags(SubpassDescriptionFlagBits::ePerViewAttributesNVX) |
+               VkFlags(SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX) |
+               VkFlags(SubpassDescriptionFlagBits::eFragmentRegionQCOM) |
+               VkFlags(SubpassDescriptionFlagBits::eShaderResolveQCOM)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
+operator|(SubpassDescriptionFlagBits bit0,
+          SubpassDescriptionFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SubpassDescriptionFlags(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
+operator&(SubpassDescriptionFlagBits bit0,
+          SubpassDescriptionFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SubpassDescriptionFlags(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
+operator^(SubpassDescriptionFlagBits bit0,
+          SubpassDescriptionFlagBits bit1) VULKAN_HPP_NOEXCEPT {
+  return SubpassDescriptionFlags(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
+operator~(SubpassDescriptionFlagBits bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SubpassDescriptionFlags(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(SubpassDescriptionFlags value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & SubpassDescriptionFlagBits::ePerViewAttributesNVX)
+    result += "PerViewAttributesNVX | ";
+  if (value & SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX)
+    result += "PerViewPositionXOnlyNVX | ";
+  if (value & SubpassDescriptionFlagBits::eFragmentRegionQCOM)
+    result += "FragmentRegionQCOM | ";
+  if (value & SubpassDescriptionFlagBits::eShaderResolveQCOM)
+    result += "ShaderResolveQCOM | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using SurfaceCounterFlagsEXT = Flags<SurfaceCounterFlagBitsEXT>;
+
+template <> struct FlagTraits<SurfaceCounterFlagBitsEXT> {
+  enum : VkFlags { allFlags = VkFlags(SurfaceCounterFlagBitsEXT::eVblank) };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
+operator|(SurfaceCounterFlagBitsEXT bit0,
+          SurfaceCounterFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return SurfaceCounterFlagsEXT(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
+operator&(SurfaceCounterFlagBitsEXT bit0,
+          SurfaceCounterFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return SurfaceCounterFlagsEXT(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
+operator^(SurfaceCounterFlagBitsEXT bit0,
+          SurfaceCounterFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return SurfaceCounterFlagsEXT(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
+operator~(SurfaceCounterFlagBitsEXT bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SurfaceCounterFlagsEXT(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(SurfaceCounterFlagsEXT value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & SurfaceCounterFlagBitsEXT::eVblank)
+    result += "Vblank | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using SurfaceTransformFlagsKHR = Flags<SurfaceTransformFlagBitsKHR>;
+
+template <> struct FlagTraits<SurfaceTransformFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags =
+        VkFlags(SurfaceTransformFlagBitsKHR::eIdentity) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eRotate90) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eRotate180) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eRotate270) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirror) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270) |
+        VkFlags(SurfaceTransformFlagBitsKHR::eInherit)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
+operator|(SurfaceTransformFlagBitsKHR bit0,
+          SurfaceTransformFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SurfaceTransformFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
+operator&(SurfaceTransformFlagBitsKHR bit0,
+          SurfaceTransformFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SurfaceTransformFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
+operator^(SurfaceTransformFlagBitsKHR bit0,
+          SurfaceTransformFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SurfaceTransformFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
+operator~(SurfaceTransformFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SurfaceTransformFlagsKHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(SurfaceTransformFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & SurfaceTransformFlagBitsKHR::eIdentity)
+    result += "Identity | ";
+  if (value & SurfaceTransformFlagBitsKHR::eRotate90)
+    result += "Rotate90 | ";
+  if (value & SurfaceTransformFlagBitsKHR::eRotate180)
+    result += "Rotate180 | ";
+  if (value & SurfaceTransformFlagBitsKHR::eRotate270)
+    result += "Rotate270 | ";
+  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirror)
+    result += "HorizontalMirror | ";
+  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90)
+    result += "HorizontalMirrorRotate90 | ";
+  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180)
+    result += "HorizontalMirrorRotate180 | ";
+  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270)
+    result += "HorizontalMirrorRotate270 | ";
+  if (value & SurfaceTransformFlagBitsKHR::eInherit)
+    result += "Inherit | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using SwapchainCreateFlagsKHR = Flags<SwapchainCreateFlagBitsKHR>;
+
+template <> struct FlagTraits<SwapchainCreateFlagBitsKHR> {
+  enum : VkFlags {
+    allFlags = VkFlags(SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions) |
+               VkFlags(SwapchainCreateFlagBitsKHR::eProtected) |
+               VkFlags(SwapchainCreateFlagBitsKHR::eMutableFormat)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
+operator|(SwapchainCreateFlagBitsKHR bit0,
+          SwapchainCreateFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SwapchainCreateFlagsKHR(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
+operator&(SwapchainCreateFlagBitsKHR bit0,
+          SwapchainCreateFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SwapchainCreateFlagsKHR(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
+operator^(SwapchainCreateFlagBitsKHR bit0,
+          SwapchainCreateFlagBitsKHR bit1) VULKAN_HPP_NOEXCEPT {
+  return SwapchainCreateFlagsKHR(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
+operator~(SwapchainCreateFlagBitsKHR bits) VULKAN_HPP_NOEXCEPT {
+  return ~(SwapchainCreateFlagsKHR(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(SwapchainCreateFlagsKHR value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions)
+    result += "SplitInstanceBindRegions | ";
+  if (value & SwapchainCreateFlagBitsKHR::eProtected)
+    result += "Protected | ";
+  if (value & SwapchainCreateFlagBitsKHR::eMutableFormat)
+    result += "MutableFormat | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+using ToolPurposeFlagsEXT = Flags<ToolPurposeFlagBitsEXT>;
+
+template <> struct FlagTraits<ToolPurposeFlagBitsEXT> {
+  enum : VkFlags {
+    allFlags = VkFlags(ToolPurposeFlagBitsEXT::eValidation) |
+               VkFlags(ToolPurposeFlagBitsEXT::eProfiling) |
+               VkFlags(ToolPurposeFlagBitsEXT::eTracing) |
+               VkFlags(ToolPurposeFlagBitsEXT::eAdditionalFeatures) |
+               VkFlags(ToolPurposeFlagBitsEXT::eModifyingFeatures) |
+               VkFlags(ToolPurposeFlagBitsEXT::eDebugReporting) |
+               VkFlags(ToolPurposeFlagBitsEXT::eDebugMarkers)
+  };
+};
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
+operator|(ToolPurposeFlagBitsEXT bit0,
+          ToolPurposeFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return ToolPurposeFlagsEXT(bit0) | bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
+operator&(ToolPurposeFlagBitsEXT bit0,
+          ToolPurposeFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return ToolPurposeFlagsEXT(bit0) & bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
+operator^(ToolPurposeFlagBitsEXT bit0,
+          ToolPurposeFlagBitsEXT bit1) VULKAN_HPP_NOEXCEPT {
+  return ToolPurposeFlagsEXT(bit0) ^ bit1;
+}
+
+VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
+operator~(ToolPurposeFlagBitsEXT bits) VULKAN_HPP_NOEXCEPT {
+  return ~(ToolPurposeFlagsEXT(bits));
+}
+
+VULKAN_HPP_INLINE std::string to_string(ToolPurposeFlagsEXT value) {
+
+  if (!value)
+    return "{}";
+  std::string result;
+
+  if (value & ToolPurposeFlagBitsEXT::eValidation)
+    result += "Validation | ";
+  if (value & ToolPurposeFlagBitsEXT::eProfiling)
+    result += "Profiling | ";
+  if (value & ToolPurposeFlagBitsEXT::eTracing)
+    result += "Tracing | ";
+  if (value & ToolPurposeFlagBitsEXT::eAdditionalFeatures)
+    result += "AdditionalFeatures | ";
+  if (value & ToolPurposeFlagBitsEXT::eModifyingFeatures)
+    result += "ModifyingFeatures | ";
+  if (value & ToolPurposeFlagBitsEXT::eDebugReporting)
+    result += "DebugReporting | ";
+  if (value & ToolPurposeFlagBitsEXT::eDebugMarkers)
+    result += "DebugMarkers | ";
+  return "{ " + result.substr(0, result.size() - 3) + " }";
+}
+
+enum class ValidationCacheCreateFlagBitsEXT : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(ValidationCacheCreateFlagBitsEXT) {
+  return "(void)";
+}
+
+using ValidationCacheCreateFlagsEXT = Flags<ValidationCacheCreateFlagBitsEXT>;
+
+VULKAN_HPP_INLINE std::string to_string(ValidationCacheCreateFlagsEXT) {
+
+  return "{}";
+}
+
+#if defined(VK_USE_PLATFORM_VI_NN)
+enum class ViSurfaceCreateFlagBitsNN : VkFlags {};
+
+VULKAN_HPP_INLINE std::string to_string(ViSurfaceCreateFlagBitsNN) {
+  return "(void)";
+}
+
+using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN>;
+
+VULKAN_HPP_INLINE std::string to_string(ViSurfaceCreateFlagsNN) { return "{}"; }
 #endif /*VK_USE_PLATFORM_VI_NN*/
 
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-  enum class WaylandSurfaceCreateFlagBitsKHR : VkFlags
-  {
-  };
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+enum class WaylandSurfaceCreateFlagBitsKHR : VkFlags {};
 
-  VULKAN_HPP_INLINE std::string to_string( WaylandSurfaceCreateFlagBitsKHR )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE std::string to_string(WaylandSurfaceCreateFlagBitsKHR) {
+  return "(void)";
+}
 
-  using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR>;
+using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR>;
 
-  VULKAN_HPP_INLINE std::string to_string( WaylandSurfaceCreateFlagsKHR )
-  {
-    return "{}";
-  }
+VULKAN_HPP_INLINE std::string to_string(WaylandSurfaceCreateFlagsKHR) {
+
+  return "{}";
+}
 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
 
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  enum class Win32SurfaceCreateFlagBitsKHR : VkFlags
-  {
-  };
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+enum class Win32SurfaceCreateFlagBitsKHR : VkFlags {};
 
-  VULKAN_HPP_INLINE std::string to_string( Win32SurfaceCreateFlagBitsKHR )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE std::string to_string(Win32SurfaceCreateFlagBitsKHR) {
+  return "(void)";
+}
 
-  using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR>;
+using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR>;
 
-  VULKAN_HPP_INLINE std::string to_string( Win32SurfaceCreateFlagsKHR )
-  {
-    return "{}";
-  }
+VULKAN_HPP_INLINE std::string to_string(Win32SurfaceCreateFlagsKHR) {
+
+  return "{}";
+}
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-#ifdef VK_USE_PLATFORM_XCB_KHR
-  enum class XcbSurfaceCreateFlagBitsKHR : VkFlags
-  {
-  };
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+enum class XcbSurfaceCreateFlagBitsKHR : VkFlags {};
 
-  VULKAN_HPP_INLINE std::string to_string( XcbSurfaceCreateFlagBitsKHR )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE std::string to_string(XcbSurfaceCreateFlagBitsKHR) {
+  return "(void)";
+}
 
-  using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR>;
+using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR>;
 
-  VULKAN_HPP_INLINE std::string to_string( XcbSurfaceCreateFlagsKHR )
-  {
-    return "{}";
-  }
+VULKAN_HPP_INLINE std::string to_string(XcbSurfaceCreateFlagsKHR) {
+
+  return "{}";
+}
 #endif /*VK_USE_PLATFORM_XCB_KHR*/
 
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-  enum class XlibSurfaceCreateFlagBitsKHR : VkFlags
-  {
-  };
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+enum class XlibSurfaceCreateFlagBitsKHR : VkFlags {};
 
-  VULKAN_HPP_INLINE std::string to_string( XlibSurfaceCreateFlagBitsKHR )
-  {
-    return "(void)";
-  }
+VULKAN_HPP_INLINE std::string to_string(XlibSurfaceCreateFlagBitsKHR) {
+  return "(void)";
+}
 
-  using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR>;
+using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR>;
 
-  VULKAN_HPP_INLINE std::string to_string( XlibSurfaceCreateFlagsKHR )
-  {
-    return "{}";
-  }
+VULKAN_HPP_INLINE std::string to_string(XlibSurfaceCreateFlagsKHR) {
+
+  return "{}";
+}
 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
-}  // namespace VULKAN_HPP_NAMESPACE
+} // namespace VULKAN_HPP_NAMESPACE
 
 #ifndef VULKAN_HPP_NO_EXCEPTIONS
-namespace std
-{
-  template <>
-  struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
-  {};
-}  // namespace std
+namespace std {
+template <>
+struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type {};
+} // namespace std
 #endif
 
-namespace VULKAN_HPP_NAMESPACE
-{
+namespace VULKAN_HPP_NAMESPACE {
 #ifndef VULKAN_HPP_NO_EXCEPTIONS
-  class ErrorCategoryImpl : public std::error_category
-  {
-  public:
-    virtual const char * name() const VULKAN_HPP_NOEXCEPT override
-    {
-      return VULKAN_HPP_NAMESPACE_STRING "::Result";
-    }
-    virtual std::string message( int ev ) const override
-    {
-      return to_string( static_cast<Result>( ev ) );
-    }
-  };
-
-  class Error
-  {
-  public:
-    Error() VULKAN_HPP_NOEXCEPT                = default;
-    Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
-    virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
-
-    virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
-  };
-
-  class LogicError
-    : public Error
-    , public std::logic_error
-  {
-  public:
-    explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
-    explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
-
-    virtual const char * what() const VULKAN_HPP_NOEXCEPT
-    {
-      return std::logic_error::what();
-    }
-  };
-
-  class SystemError
-    : public Error
-    , public std::system_error
-  {
-  public:
-    SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
-    SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
-    SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
-    SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
-    SystemError( int ev, std::error_category const & ecat, std::string const & what )
-      : Error(), std::system_error( ev, ecat, what )
-    {}
-    SystemError( int ev, std::error_category const & ecat, char const * what )
-      : Error(), std::system_error( ev, ecat, what )
-    {}
-
-    virtual const char * what() const VULKAN_HPP_NOEXCEPT
-    {
-      return std::system_error::what();
-    }
-  };
-
-  VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
-  {
-    static ErrorCategoryImpl instance;
-    return instance;
+class ErrorCategoryImpl : public std::error_category {
+public:
+  virtual const char *name() const VULKAN_HPP_NOEXCEPT override {
+    return VULKAN_HPP_NAMESPACE_STRING "::Result";
   }
-
-  VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
-  {
-    return std::error_code( static_cast<int>( e ), errorCategory() );
+  virtual std::string message(int ev) const override {
+    return to_string(static_cast<Result>(ev));
   }
+};
 
-  VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
-  {
-    return std::error_condition( static_cast<int>( e ), errorCategory() );
+class Error {
+public:
+  Error() VULKAN_HPP_NOEXCEPT = default;
+  Error(const Error &) VULKAN_HPP_NOEXCEPT = default;
+  virtual ~Error() VULKAN_HPP_NOEXCEPT = default;
+
+  virtual const char *what() const VULKAN_HPP_NOEXCEPT = 0;
+};
+
+class LogicError : public Error, public std::logic_error {
+public:
+  explicit LogicError(const std::string &what)
+      : Error(), std::logic_error(what) {}
+  explicit LogicError(char const *what) : Error(), std::logic_error(what) {}
+
+  virtual const char *what() const VULKAN_HPP_NOEXCEPT {
+    return std::logic_error::what();
   }
+};
 
-  class OutOfHostMemoryError : public SystemError
-  {
-  public:
-    OutOfHostMemoryError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message )
-    {}
-    OutOfHostMemoryError( char const * message )
-      : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message )
-    {}
-  };
+class SystemError : public Error, public std::system_error {
+public:
+  SystemError(std::error_code ec) : Error(), std::system_error(ec) {}
+  SystemError(std::error_code ec, std::string const &what)
+      : Error(), std::system_error(ec, what) {}
+  SystemError(std::error_code ec, char const *what)
+      : Error(), std::system_error(ec, what) {}
+  SystemError(int ev, std::error_category const &ecat)
+      : Error(), std::system_error(ev, ecat) {}
+  SystemError(int ev, std::error_category const &ecat, std::string const &what)
+      : Error(), std::system_error(ev, ecat, what) {}
+  SystemError(int ev, std::error_category const &ecat, char const *what)
+      : Error(), std::system_error(ev, ecat, what) {}
 
-  class OutOfDeviceMemoryError : public SystemError
-  {
-  public:
-    OutOfDeviceMemoryError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message )
-    {}
-    OutOfDeviceMemoryError( char const * message )
-      : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message )
-    {}
-  };
-
-  class InitializationFailedError : public SystemError
-  {
-  public:
-    InitializationFailedError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorInitializationFailed ), message )
-    {}
-    InitializationFailedError( char const * message )
-      : SystemError( make_error_code( Result::eErrorInitializationFailed ), message )
-    {}
-  };
-
-  class DeviceLostError : public SystemError
-  {
-  public:
-    DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message )
-    {}
-    DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
-  };
-
-  class MemoryMapFailedError : public SystemError
-  {
-  public:
-    MemoryMapFailedError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message )
-    {}
-    MemoryMapFailedError( char const * message )
-      : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message )
-    {}
-  };
-
-  class LayerNotPresentError : public SystemError
-  {
-  public:
-    LayerNotPresentError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message )
-    {}
-    LayerNotPresentError( char const * message )
-      : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message )
-    {}
-  };
-
-  class ExtensionNotPresentError : public SystemError
-  {
-  public:
-    ExtensionNotPresentError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message )
-    {}
-    ExtensionNotPresentError( char const * message )
-      : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message )
-    {}
-  };
-
-  class FeatureNotPresentError : public SystemError
-  {
-  public:
-    FeatureNotPresentError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message )
-    {}
-    FeatureNotPresentError( char const * message )
-      : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message )
-    {}
-  };
-
-  class IncompatibleDriverError : public SystemError
-  {
-  public:
-    IncompatibleDriverError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message )
-    {}
-    IncompatibleDriverError( char const * message )
-      : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message )
-    {}
-  };
-
-  class TooManyObjectsError : public SystemError
-  {
-  public:
-    TooManyObjectsError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorTooManyObjects ), message )
-    {}
-    TooManyObjectsError( char const * message )
-      : SystemError( make_error_code( Result::eErrorTooManyObjects ), message )
-    {}
-  };
-
-  class FormatNotSupportedError : public SystemError
-  {
-  public:
-    FormatNotSupportedError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message )
-    {}
-    FormatNotSupportedError( char const * message )
-      : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message )
-    {}
-  };
-
-  class FragmentedPoolError : public SystemError
-  {
-  public:
-    FragmentedPoolError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorFragmentedPool ), message )
-    {}
-    FragmentedPoolError( char const * message )
-      : SystemError( make_error_code( Result::eErrorFragmentedPool ), message )
-    {}
-  };
-
-  class UnknownError : public SystemError
-  {
-  public:
-    UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
-    UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
-  };
-
-  class OutOfPoolMemoryError : public SystemError
-  {
-  public:
-    OutOfPoolMemoryError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message )
-    {}
-    OutOfPoolMemoryError( char const * message )
-      : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message )
-    {}
-  };
-
-  class InvalidExternalHandleError : public SystemError
-  {
-  public:
-    InvalidExternalHandleError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message )
-    {}
-    InvalidExternalHandleError( char const * message )
-      : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message )
-    {}
-  };
-
-  class FragmentationError : public SystemError
-  {
-  public:
-    FragmentationError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorFragmentation ), message )
-    {}
-    FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message )
-    {}
-  };
-
-  class InvalidOpaqueCaptureAddressError : public SystemError
-  {
-  public:
-    InvalidOpaqueCaptureAddressError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message )
-    {}
-    InvalidOpaqueCaptureAddressError( char const * message )
-      : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message )
-    {}
-  };
-
-  class SurfaceLostKHRError : public SystemError
-  {
-  public:
-    SurfaceLostKHRError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message )
-    {}
-    SurfaceLostKHRError( char const * message )
-      : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message )
-    {}
-  };
-
-  class NativeWindowInUseKHRError : public SystemError
-  {
-  public:
-    NativeWindowInUseKHRError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message )
-    {}
-    NativeWindowInUseKHRError( char const * message )
-      : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message )
-    {}
-  };
-
-  class OutOfDateKHRError : public SystemError
-  {
-  public:
-    OutOfDateKHRError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message )
-    {}
-    OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
-  };
-
-  class IncompatibleDisplayKHRError : public SystemError
-  {
-  public:
-    IncompatibleDisplayKHRError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message )
-    {}
-    IncompatibleDisplayKHRError( char const * message )
-      : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message )
-    {}
-  };
-
-  class ValidationFailedEXTError : public SystemError
-  {
-  public:
-    ValidationFailedEXTError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message )
-    {}
-    ValidationFailedEXTError( char const * message )
-      : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message )
-    {}
-  };
-
-  class InvalidShaderNVError : public SystemError
-  {
-  public:
-    InvalidShaderNVError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message )
-    {}
-    InvalidShaderNVError( char const * message )
-      : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message )
-    {}
-  };
-
-  class IncompatibleVersionKHRError : public SystemError
-  {
-  public:
-    IncompatibleVersionKHRError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorIncompatibleVersionKHR ), message )
-    {}
-    IncompatibleVersionKHRError( char const * message )
-      : SystemError( make_error_code( Result::eErrorIncompatibleVersionKHR ), message )
-    {}
-  };
-
-  class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
-  {
-  public:
-    InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
-    {}
-    InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
-      : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
-    {}
-  };
-
-  class NotPermittedEXTError : public SystemError
-  {
-  public:
-    NotPermittedEXTError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorNotPermittedEXT ), message )
-    {}
-    NotPermittedEXTError( char const * message )
-      : SystemError( make_error_code( Result::eErrorNotPermittedEXT ), message )
-    {}
-  };
-
-  class FullScreenExclusiveModeLostEXTError : public SystemError
-  {
-  public:
-    FullScreenExclusiveModeLostEXTError( std::string const & message )
-      : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
-    {}
-    FullScreenExclusiveModeLostEXTError( char const * message )
-      : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
-    {}
-  };
-
-  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 )
-    {}
-  };
-
-  [[noreturn]] static void throwResultException( Result result, char const * message )
-  {
-    switch ( result )
-    {
-      case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
-      case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
-      case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
-      case Result::eErrorDeviceLost: throw DeviceLostError( message );
-      case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
-      case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
-      case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
-      case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
-      case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
-      case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
-      case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
-      case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
-      case Result::eErrorUnknown: throw UnknownError( message );
-      case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
-      case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
-      case Result::eErrorFragmentation: throw FragmentationError( message );
-      case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
-      case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
-      case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
-      case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
-      case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
-      case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
-      case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
-      case Result::eErrorIncompatibleVersionKHR: throw IncompatibleVersionKHRError( message );
-      case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT:
-        throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
-      case Result::eErrorNotPermittedEXT: throw NotPermittedEXTError( message );
-      case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
-      case Result::eErrorMemoryPinnedFUCHSIA: throw MemoryPinnedFUCHSIAError( message );
-      default: throw SystemError( make_error_code( result ) );
-    }
+  virtual const char *what() const VULKAN_HPP_NOEXCEPT {
+    return std::system_error::what();
   }
+};
+
+VULKAN_HPP_INLINE const std::error_category &
+errorCategory() VULKAN_HPP_NOEXCEPT {
+  static ErrorCategoryImpl instance;
+  return instance;
+}
+
+VULKAN_HPP_INLINE std::error_code
+make_error_code(Result e) VULKAN_HPP_NOEXCEPT {
+  return std::error_code(static_cast<int>(e), errorCategory());
+}
+
+VULKAN_HPP_INLINE std::error_condition
+make_error_condition(Result e) VULKAN_HPP_NOEXCEPT {
+  return std::error_condition(static_cast<int>(e), errorCategory());
+}
+
+class OutOfHostMemoryError : public SystemError {
+public:
+  OutOfHostMemoryError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorOutOfHostMemory), message) {}
+  OutOfHostMemoryError(char const *message)
+      : SystemError(make_error_code(Result::eErrorOutOfHostMemory), message) {}
+};
+
+class OutOfDeviceMemoryError : public SystemError {
+public:
+  OutOfDeviceMemoryError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorOutOfDeviceMemory), message) {
+  }
+  OutOfDeviceMemoryError(char const *message)
+      : SystemError(make_error_code(Result::eErrorOutOfDeviceMemory), message) {
+  }
+};
+
+class InitializationFailedError : public SystemError {
+public:
+  InitializationFailedError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorInitializationFailed),
+                    message) {}
+  InitializationFailedError(char const *message)
+      : SystemError(make_error_code(Result::eErrorInitializationFailed),
+                    message) {}
+};
+
+class DeviceLostError : public SystemError {
+public:
+  DeviceLostError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorDeviceLost), message) {}
+  DeviceLostError(char const *message)
+      : SystemError(make_error_code(Result::eErrorDeviceLost), message) {}
+};
+
+class MemoryMapFailedError : public SystemError {
+public:
+  MemoryMapFailedError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorMemoryMapFailed), message) {}
+  MemoryMapFailedError(char const *message)
+      : SystemError(make_error_code(Result::eErrorMemoryMapFailed), message) {}
+};
+
+class LayerNotPresentError : public SystemError {
+public:
+  LayerNotPresentError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorLayerNotPresent), message) {}
+  LayerNotPresentError(char const *message)
+      : SystemError(make_error_code(Result::eErrorLayerNotPresent), message) {}
+};
+
+class ExtensionNotPresentError : public SystemError {
+public:
+  ExtensionNotPresentError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorExtensionNotPresent),
+                    message) {}
+  ExtensionNotPresentError(char const *message)
+      : SystemError(make_error_code(Result::eErrorExtensionNotPresent),
+                    message) {}
+};
+
+class FeatureNotPresentError : public SystemError {
+public:
+  FeatureNotPresentError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorFeatureNotPresent), message) {
+  }
+  FeatureNotPresentError(char const *message)
+      : SystemError(make_error_code(Result::eErrorFeatureNotPresent), message) {
+  }
+};
+
+class IncompatibleDriverError : public SystemError {
+public:
+  IncompatibleDriverError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorIncompatibleDriver),
+                    message) {}
+  IncompatibleDriverError(char const *message)
+      : SystemError(make_error_code(Result::eErrorIncompatibleDriver),
+                    message) {}
+};
+
+class TooManyObjectsError : public SystemError {
+public:
+  TooManyObjectsError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorTooManyObjects), message) {}
+  TooManyObjectsError(char const *message)
+      : SystemError(make_error_code(Result::eErrorTooManyObjects), message) {}
+};
+
+class FormatNotSupportedError : public SystemError {
+public:
+  FormatNotSupportedError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorFormatNotSupported),
+                    message) {}
+  FormatNotSupportedError(char const *message)
+      : SystemError(make_error_code(Result::eErrorFormatNotSupported),
+                    message) {}
+};
+
+class FragmentedPoolError : public SystemError {
+public:
+  FragmentedPoolError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorFragmentedPool), message) {}
+  FragmentedPoolError(char const *message)
+      : SystemError(make_error_code(Result::eErrorFragmentedPool), message) {}
+};
+
+class UnknownError : public SystemError {
+public:
+  UnknownError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorUnknown), message) {}
+  UnknownError(char const *message)
+      : SystemError(make_error_code(Result::eErrorUnknown), message) {}
+};
+
+class OutOfPoolMemoryError : public SystemError {
+public:
+  OutOfPoolMemoryError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorOutOfPoolMemory), message) {}
+  OutOfPoolMemoryError(char const *message)
+      : SystemError(make_error_code(Result::eErrorOutOfPoolMemory), message) {}
+};
+
+class InvalidExternalHandleError : public SystemError {
+public:
+  InvalidExternalHandleError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorInvalidExternalHandle),
+                    message) {}
+  InvalidExternalHandleError(char const *message)
+      : SystemError(make_error_code(Result::eErrorInvalidExternalHandle),
+                    message) {}
+};
+
+class FragmentationError : public SystemError {
+public:
+  FragmentationError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorFragmentation), message) {}
+  FragmentationError(char const *message)
+      : SystemError(make_error_code(Result::eErrorFragmentation), message) {}
+};
+
+class InvalidOpaqueCaptureAddressError : public SystemError {
+public:
+  InvalidOpaqueCaptureAddressError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorInvalidOpaqueCaptureAddress),
+                    message) {}
+  InvalidOpaqueCaptureAddressError(char const *message)
+      : SystemError(make_error_code(Result::eErrorInvalidOpaqueCaptureAddress),
+                    message) {}
+};
+
+class SurfaceLostKHRError : public SystemError {
+public:
+  SurfaceLostKHRError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorSurfaceLostKHR), message) {}
+  SurfaceLostKHRError(char const *message)
+      : SystemError(make_error_code(Result::eErrorSurfaceLostKHR), message) {}
+};
+
+class NativeWindowInUseKHRError : public SystemError {
+public:
+  NativeWindowInUseKHRError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorNativeWindowInUseKHR),
+                    message) {}
+  NativeWindowInUseKHRError(char const *message)
+      : SystemError(make_error_code(Result::eErrorNativeWindowInUseKHR),
+                    message) {}
+};
+
+class OutOfDateKHRError : public SystemError {
+public:
+  OutOfDateKHRError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorOutOfDateKHR), message) {}
+  OutOfDateKHRError(char const *message)
+      : SystemError(make_error_code(Result::eErrorOutOfDateKHR), message) {}
+};
+
+class IncompatibleDisplayKHRError : public SystemError {
+public:
+  IncompatibleDisplayKHRError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorIncompatibleDisplayKHR),
+                    message) {}
+  IncompatibleDisplayKHRError(char const *message)
+      : SystemError(make_error_code(Result::eErrorIncompatibleDisplayKHR),
+                    message) {}
+};
+
+class ValidationFailedEXTError : public SystemError {
+public:
+  ValidationFailedEXTError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorValidationFailedEXT),
+                    message) {}
+  ValidationFailedEXTError(char const *message)
+      : SystemError(make_error_code(Result::eErrorValidationFailedEXT),
+                    message) {}
+};
+
+class InvalidShaderNVError : public SystemError {
+public:
+  InvalidShaderNVError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorInvalidShaderNV), message) {}
+  InvalidShaderNVError(char const *message)
+      : SystemError(make_error_code(Result::eErrorInvalidShaderNV), message) {}
+};
+
+class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError {
+public:
+  InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const &message)
+      : SystemError(make_error_code(
+                        Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT),
+                    message) {}
+  InvalidDrmFormatModifierPlaneLayoutEXTError(char const *message)
+      : SystemError(make_error_code(
+                        Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT),
+                    message) {}
+};
+
+class NotPermittedEXTError : public SystemError {
+public:
+  NotPermittedEXTError(std::string const &message)
+      : SystemError(make_error_code(Result::eErrorNotPermittedEXT), message) {}
+  NotPermittedEXTError(char const *message)
+      : SystemError(make_error_code(Result::eErrorNotPermittedEXT), message) {}
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+class FullScreenExclusiveModeLostEXTError : public SystemError {
+public:
+  FullScreenExclusiveModeLostEXTError(std::string const &message)
+      : SystemError(
+            make_error_code(Result::eErrorFullScreenExclusiveModeLostEXT),
+            message) {}
+  FullScreenExclusiveModeLostEXTError(char const *message)
+      : SystemError(
+            make_error_code(Result::eErrorFullScreenExclusiveModeLostEXT),
+            message) {}
+};
+#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*/
+
+[[noreturn]] static void throwResultException(Result result,
+                                              char const *message) {
+  switch (result) {
+  case Result::eErrorOutOfHostMemory:
+    throw OutOfHostMemoryError(message);
+  case Result::eErrorOutOfDeviceMemory:
+    throw OutOfDeviceMemoryError(message);
+  case Result::eErrorInitializationFailed:
+    throw InitializationFailedError(message);
+  case Result::eErrorDeviceLost:
+    throw DeviceLostError(message);
+  case Result::eErrorMemoryMapFailed:
+    throw MemoryMapFailedError(message);
+  case Result::eErrorLayerNotPresent:
+    throw LayerNotPresentError(message);
+  case Result::eErrorExtensionNotPresent:
+    throw ExtensionNotPresentError(message);
+  case Result::eErrorFeatureNotPresent:
+    throw FeatureNotPresentError(message);
+  case Result::eErrorIncompatibleDriver:
+    throw IncompatibleDriverError(message);
+  case Result::eErrorTooManyObjects:
+    throw TooManyObjectsError(message);
+  case Result::eErrorFormatNotSupported:
+    throw FormatNotSupportedError(message);
+  case Result::eErrorFragmentedPool:
+    throw FragmentedPoolError(message);
+  case Result::eErrorUnknown:
+    throw UnknownError(message);
+  case Result::eErrorOutOfPoolMemory:
+    throw OutOfPoolMemoryError(message);
+  case Result::eErrorInvalidExternalHandle:
+    throw InvalidExternalHandleError(message);
+  case Result::eErrorFragmentation:
+    throw FragmentationError(message);
+  case Result::eErrorInvalidOpaqueCaptureAddress:
+    throw InvalidOpaqueCaptureAddressError(message);
+  case Result::eErrorSurfaceLostKHR:
+    throw SurfaceLostKHRError(message);
+  case Result::eErrorNativeWindowInUseKHR:
+    throw NativeWindowInUseKHRError(message);
+  case Result::eErrorOutOfDateKHR:
+    throw OutOfDateKHRError(message);
+  case Result::eErrorIncompatibleDisplayKHR:
+    throw IncompatibleDisplayKHRError(message);
+  case Result::eErrorValidationFailedEXT:
+    throw ValidationFailedEXTError(message);
+  case Result::eErrorInvalidShaderNV:
+    throw InvalidShaderNVError(message);
+  case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT:
+    throw InvalidDrmFormatModifierPlaneLayoutEXTError(message);
+  case Result::eErrorNotPermittedEXT:
+    throw NotPermittedEXTError(message);
+#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));
+  }
+}
 #endif
 
-  template <typename T>
-  void ignore( T const & ) VULKAN_HPP_NOEXCEPT
-  {}
+template <typename T> void ignore(T const &) VULKAN_HPP_NOEXCEPT {}
 
-  template <typename T>
-  struct ResultValue
-  {
+template <typename T> struct ResultValue {
 #ifdef VULKAN_HPP_HAS_NOEXCEPT
-    ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
+  ResultValue(Result r, T &v) VULKAN_HPP_NOEXCEPT(VULKAN_HPP_NOEXCEPT(T(v)))
 #else
-    ResultValue( Result r, T & v )
+  ResultValue(Result r, T &v)
 #endif
-      : result( r ), value( v )
-    {}
+      : result(r), value(v) {
+  }
 
 #ifdef VULKAN_HPP_HAS_NOEXCEPT
-    ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
+  ResultValue(Result r, T &&v)
+      VULKAN_HPP_NOEXCEPT(VULKAN_HPP_NOEXCEPT(T(std::move(v))))
 #else
-    ResultValue( Result r, T && v )
+  ResultValue(Result r, T &&v)
 #endif
-      : result( r ), value( std::move( v ) )
-    {}
-
-    Result result;
-    T      value;
-
-    operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
-    {
-      return std::tuple<Result &, T &>( result, value );
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
-    operator T const &() const & VULKAN_HPP_NOEXCEPT
-    {
-      return value;
-    }
-
-    operator T &() & VULKAN_HPP_NOEXCEPT
-    {
-      return value;
-    }
-
-    operator T const &&() const && VULKAN_HPP_NOEXCEPT
-    {
-      return std::move( value );
-    }
-
-    operator T &&() && VULKAN_HPP_NOEXCEPT
-    {
-      return std::move( value );
-    }
-#endif
-  };
-
-#if !defined( VULKAN_HPP_NO_SMART_HANDLE )
-  template <typename Type, typename Dispatch>
-  struct ResultValue<UniqueHandle<Type, Dispatch>>
-  {
-#  ifdef VULKAN_HPP_HAS_NOEXCEPT
-    ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
-#  else
-    ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
-#  endif
-      : result( r )
-      , value( std::move( v ) )
-    {}
-
-    Result                       result;
-    UniqueHandle<Type, Dispatch> value;
-
-    operator std::tuple<Result &, UniqueHandle<Type, Dispatch> &>() VULKAN_HPP_NOEXCEPT
-    {
-      return std::tuple<Result &, UniqueHandle<Type, Dispatch> &>( result, value );
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
-    operator UniqueHandle<Type, Dispatch> &() & VULKAN_HPP_NOEXCEPT
-    {
-      return value;
-    }
-
-    operator UniqueHandle<Type, Dispatch>() VULKAN_HPP_NOEXCEPT
-    {
-      return std::move( value );
-    }
-#  endif
-  };
-#endif
-
-  template <typename T>
-  struct ResultValueType
-  {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
-    typedef ResultValue<T> type;
-#else
-    typedef T    type;
-#endif
-  };
-
-  template <>
-  struct ResultValueType<void>
-  {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
-    typedef Result type;
-#else
-    typedef void type;
-#endif
-  };
-
-  VULKAN_HPP_INLINE ResultValueType<void>::type createResultValue( Result result, char const * message )
-  {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
-    ignore( message );
-    VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
-    return result;
-#else
-    if ( result != Result::eSuccess )
-    {
-      throwResultException( result, message );
-    }
-#endif
+      : result(r), value(std::move(v)) {
   }
 
-  template <typename T>
-  VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValue( Result result, T & data, char const * message )
-  {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
-    ignore( message );
-    VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
-    return ResultValue<T>( result, std::move( data ) );
-#else
-    if ( result != Result::eSuccess )
-    {
-      throwResultException( result, message );
-    }
-    return std::move( data );
-#endif
+  Result result;
+  T value;
+
+  operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT {
+    return std::tuple<Result &, T &>(result, value);
   }
 
-  VULKAN_HPP_INLINE Result createResultValue( Result                        result,
-                                              char const *                  message,
-                                              std::initializer_list<Result> successCodes )
-  {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
-    ignore( message );
-    VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
-#else
-    if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
-    {
-      throwResultException( result, message );
-    }
+#if !defined(VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST)
+  VULKAN_HPP_DEPRECATED(
+      "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly "
+      "access the value as member of ResultValue.")
+  operator T const &() const &VULKAN_HPP_NOEXCEPT { return value; }
+
+  VULKAN_HPP_DEPRECATED(
+      "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly "
+      "access the value as member of ResultValue.")
+  operator T &() & VULKAN_HPP_NOEXCEPT { return value; }
+
+  VULKAN_HPP_DEPRECATED(
+      "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly "
+      "access the value as member of ResultValue.")
+  operator T const &&() const &&VULKAN_HPP_NOEXCEPT { return std::move(value); }
+
+  VULKAN_HPP_DEPRECATED(
+      "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly "
+      "access the value as member of ResultValue.")
+  operator T &&() && VULKAN_HPP_NOEXCEPT { return std::move(value); }
 #endif
-    return result;
+};
+
+#if !defined(VULKAN_HPP_NO_SMART_HANDLE)
+template <typename Type, typename Dispatch>
+struct ResultValue<UniqueHandle<Type, Dispatch>> {
+#ifdef VULKAN_HPP_HAS_NOEXCEPT
+  ResultValue(Result r, UniqueHandle<Type, Dispatch> &&v) VULKAN_HPP_NOEXCEPT
+#else
+  ResultValue(Result r, UniqueHandle<Type, Dispatch> &&v)
+#endif
+      : result(r),
+        value(std::move(v)) {
   }
 
-  template <typename T>
-  VULKAN_HPP_INLINE ResultValue<T>
-    createResultValue( Result result, T & data, char const * message, std::initializer_list<Result> successCodes )
-  {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
-    ignore( message );
-    VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
-#else
-    if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
-    {
-      throwResultException( result, message );
-    }
-#endif
-    return ResultValue<T>( result, std::move( data ) );
+  std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() {
+    return std::make_tuple(result, std::move(value));
   }
 
+#if !defined(VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST)
+  VULKAN_HPP_DEPRECATED(
+      "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly "
+      "access the value as member of ResultValue.")
+  operator UniqueHandle<Type, Dispatch> &() & VULKAN_HPP_NOEXCEPT {
+    return value;
+  }
+
+  VULKAN_HPP_DEPRECATED(
+      "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly "
+      "access the value as member of ResultValue.")
+  operator UniqueHandle<Type, Dispatch>() VULKAN_HPP_NOEXCEPT {
+    return std::move(value);
+  }
+#endif
+
+  Result result;
+  UniqueHandle<Type, Dispatch> value;
+};
+
+template <typename Type, typename Dispatch>
+struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>> {
+#ifdef VULKAN_HPP_HAS_NOEXCEPT
+  ResultValue(Result r,
+              std::vector<UniqueHandle<Type, Dispatch>> &&v) VULKAN_HPP_NOEXCEPT
+#else
+  ResultValue(Result r, std::vector<UniqueHandle<Type, Dispatch>> &&v)
+#endif
+      : result(r),
+        value(std::move(v)) {
+  }
+
+  std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() {
+    return std::make_tuple(result, std::move(value));
+  }
+
+  Result result;
+  std::vector<UniqueHandle<Type, Dispatch>> value;
+
+#if !defined(VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST)
+  VULKAN_HPP_DEPRECATED(
+      "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly "
+      "access the value as member of ResultValue.")
+  operator std::tuple<Result &, std::vector<UniqueHandle<Type, Dispatch>> &>()
+      VULKAN_HPP_NOEXCEPT {
+    return std::tuple<Result &, std::vector<UniqueHandle<Type, Dispatch>> &>(
+        result, value);
+  }
+#endif
+};
+#endif
+
+template <typename T> struct ResultValueType {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  typedef ResultValue<T> type;
+#else
+  typedef T type;
+#endif
+};
+
+template <> struct ResultValueType<void> {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  typedef Result type;
+#else
+  typedef void type;
+#endif
+};
+
+VULKAN_HPP_INLINE ResultValueType<void>::type
+createResultValue(Result result, char const *message) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  VULKAN_HPP_ASSERT_ON_RESULT(result == Result::eSuccess);
+  return result;
+#else
+  if (result != Result::eSuccess) {
+    throwResultException(result, message);
+  }
+#endif
+}
+
+template <typename T>
+VULKAN_HPP_INLINE typename ResultValueType<T>::type
+createResultValue(Result result, T &data, char const *message) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  VULKAN_HPP_ASSERT_ON_RESULT(result == Result::eSuccess);
+  return ResultValue<T>(result, std::move(data));
+#else
+  if (result != Result::eSuccess) {
+    throwResultException(result, message);
+  }
+  return std::move(data);
+#endif
+}
+
+VULKAN_HPP_INLINE Result
+createResultValue(Result result, char const *message,
+                  std::initializer_list<Result> successCodes) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  ignore(successCodes); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
+  VULKAN_HPP_ASSERT_ON_RESULT(std::find(successCodes.begin(),
+                                        successCodes.end(),
+                                        result) != successCodes.end());
+#else
+  if (std::find(successCodes.begin(), successCodes.end(), result) ==
+      successCodes.end()) {
+    throwResultException(result, message);
+  }
+#endif
+  return result;
+}
+
+template <typename T>
+VULKAN_HPP_INLINE ResultValue<T>
+createResultValue(Result result, T &data, char const *message,
+                  std::initializer_list<Result> successCodes) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  ignore(successCodes); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
+  VULKAN_HPP_ASSERT_ON_RESULT(std::find(successCodes.begin(),
+                                        successCodes.end(),
+                                        result) != successCodes.end());
+#else
+  if (std::find(successCodes.begin(), successCodes.end(), result) ==
+      successCodes.end()) {
+    throwResultException(result, message);
+  }
+#endif
+  return ResultValue<T>(result, std::move(data));
+}
+
 #ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename T, typename D>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<T, D>>::type createResultValue(
-    Result result, T & data, char const * message, typename UniqueHandleTraits<T, D>::deleter const & deleter )
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    ignore( message );
-    VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
-    return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) );
-#  else
-    if ( result != Result::eSuccess )
-    {
-      throwResultException( result, message );
-    }
-    return UniqueHandle<T, D>( data, deleter );
-#  endif
+template <typename T, typename D>
+VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<T, D>>::type
+createResultValue(Result result, T &data, char const *message,
+                  typename UniqueHandleTraits<T, D>::deleter const &deleter) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  VULKAN_HPP_ASSERT_ON_RESULT(result == Result::eSuccess);
+  return ResultValue<UniqueHandle<T, D>>(result,
+                                         UniqueHandle<T, D>(data, deleter));
+#else
+  if (result != Result::eSuccess) {
+    throwResultException(result, message);
+  }
+  return UniqueHandle<T, D>(data, deleter);
+#endif
+}
+
+template <typename T, typename D>
+VULKAN_HPP_INLINE ResultValue<UniqueHandle<T, D>>
+createResultValue(Result result, T &data, char const *message,
+                  std::initializer_list<Result> successCodes,
+                  typename UniqueHandleTraits<T, D>::deleter const &deleter) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  ignore(successCodes); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
+  VULKAN_HPP_ASSERT_ON_RESULT(std::find(successCodes.begin(),
+                                        successCodes.end(),
+                                        result) != successCodes.end());
+#else
+  if (std::find(successCodes.begin(), successCodes.end(), result) ==
+      successCodes.end()) {
+    throwResultException(result, message);
+  }
+#endif
+  return ResultValue<UniqueHandle<T, D>>(result,
+                                         UniqueHandle<T, D>(data, deleter));
+}
+
+template <typename T, typename D>
+VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<UniqueHandle<T, D>>>::type
+    createResultValue(Result result, std::vector<UniqueHandle<T, D>> &&data,
+                      char const *message) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  VULKAN_HPP_ASSERT_ON_RESULT(result == Result::eSuccess);
+  return ResultValue<std::vector<UniqueHandle<T, D>>>(result, std::move(data));
+#else
+  if (result != Result::eSuccess) {
+    throwResultException(result, message);
+  }
+  return std::move(data);
+#endif
+}
+
+template <typename T, typename D>
+VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<T, D>>>
+createResultValue(Result result, std::vector<UniqueHandle<T, D>> &&data,
+                  char const *message,
+                  std::initializer_list<Result> successCodes) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  ignore(message);
+  ignore(successCodes); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
+  VULKAN_HPP_ASSERT_ON_RESULT(std::find(successCodes.begin(),
+                                        successCodes.end(),
+                                        result) != successCodes.end());
+#else
+  if (std::find(successCodes.begin(), successCodes.end(), result) ==
+      successCodes.end()) {
+    throwResultException(result, message);
+  }
+#endif
+  return ResultValue<std::vector<UniqueHandle<T, D>>>(result, std::move(data));
+}
+#endif
+
+struct AabbPositionsKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AabbPositionsKHR(float minX_ = {}, float minY_ = {},
+                                        float minZ_ = {}, float maxX_ = {},
+                                        float maxY_ = {},
+                                        float maxZ_ = {}) VULKAN_HPP_NOEXCEPT
+      : minX(minX_),
+        minY(minY_),
+        minZ(minZ_),
+        maxX(maxX_),
+        maxY(maxY_),
+        maxZ(maxZ_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  AabbPositionsKHR(AabbPositionsKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  AabbPositionsKHR(VkAabbPositionsKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : AabbPositionsKHR(*reinterpret_cast<AabbPositionsKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR &
+  operator=(AabbPositionsKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  AabbPositionsKHR &
+  operator=(VkAabbPositionsKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::AabbPositionsKHR const *>(&rhs);
+    return *this;
   }
 
-  template <typename T, typename D>
-  VULKAN_HPP_INLINE ResultValue<UniqueHandle<T, D>>
-                    createResultValue( Result                                             result,
-                                       T &                                                data,
-                                       char const *                                       message,
-                                       std::initializer_list<Result>                      successCodes,
-                                       typename UniqueHandleTraits<T, D>::deleter const & deleter )
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    ignore( message );
-    VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
-    return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) );
-#  else
-    if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
-    {
-      throwResultException( result, message );
-    }
-    return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) );
-#  endif
+  AabbPositionsKHR &setMinX(float minX_) VULKAN_HPP_NOEXCEPT {
+    minX = minX_;
+    return *this;
+  }
+
+  AabbPositionsKHR &setMinY(float minY_) VULKAN_HPP_NOEXCEPT {
+    minY = minY_;
+    return *this;
+  }
+
+  AabbPositionsKHR &setMinZ(float minZ_) VULKAN_HPP_NOEXCEPT {
+    minZ = minZ_;
+    return *this;
+  }
+
+  AabbPositionsKHR &setMaxX(float maxX_) VULKAN_HPP_NOEXCEPT {
+    maxX = maxX_;
+    return *this;
+  }
+
+  AabbPositionsKHR &setMaxY(float maxY_) VULKAN_HPP_NOEXCEPT {
+    maxY = maxY_;
+    return *this;
+  }
+
+  AabbPositionsKHR &setMaxZ(float maxZ_) VULKAN_HPP_NOEXCEPT {
+    maxZ = maxZ_;
+    return *this;
+  }
+
+  operator VkAabbPositionsKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAabbPositionsKHR *>(this);
+  }
+
+  operator VkAabbPositionsKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAabbPositionsKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AabbPositionsKHR const &) const = default;
+#else
+  bool operator==(AabbPositionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (minX == rhs.minX) && (minY == rhs.minY) && (minZ == rhs.minZ) &&
+           (maxX == rhs.maxX) && (maxY == rhs.maxY) && (maxZ == rhs.maxZ);
+  }
+
+  bool operator!=(AabbPositionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
   }
 #endif
 
-  struct AabbPositionsKHR;
-  using AabbPositionsNV = AabbPositionsKHR;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureBuildGeometryInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureBuildOffsetInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureCreateGeometryTypeInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureCreateInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct AccelerationStructureCreateInfoNV;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureDeviceAddressInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryAabbsDataKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  union AccelerationStructureGeometryDataKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryInstancesDataKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryTrianglesDataKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct AccelerationStructureInfoNV;
-  struct AccelerationStructureInstanceKHR;
-  using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureMemoryRequirementsInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct AccelerationStructureMemoryRequirementsInfoNV;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureVersionKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct AcquireNextImageInfoKHR;
-  struct AcquireProfilingLockInfoKHR;
-  struct AllocationCallbacks;
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidHardwareBufferFormatPropertiesANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidHardwareBufferPropertiesANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidHardwareBufferUsageANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct ApplicationInfo;
-  struct AttachmentDescription;
-  struct AttachmentDescription2;
-  using AttachmentDescription2KHR = AttachmentDescription2;
-  struct AttachmentDescriptionStencilLayout;
-  using AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
-  struct AttachmentReference;
-  struct AttachmentReference2;
-  using AttachmentReference2KHR = AttachmentReference2;
-  struct AttachmentReferenceStencilLayout;
-  using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
-  struct AttachmentSampleLocationsEXT;
-  struct BaseInStructure;
-  struct BaseOutStructure;
-  struct BindAccelerationStructureMemoryInfoKHR;
-  using BindAccelerationStructureMemoryInfoNV = BindAccelerationStructureMemoryInfoKHR;
-  struct BindBufferMemoryDeviceGroupInfo;
-  using BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
-  struct BindBufferMemoryInfo;
-  using BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
-  struct BindImageMemoryDeviceGroupInfo;
-  using BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
-  struct BindImageMemoryInfo;
-  using BindImageMemoryInfoKHR = BindImageMemoryInfo;
-  struct BindImageMemorySwapchainInfoKHR;
-  struct BindImagePlaneMemoryInfo;
-  using BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
-  struct BindIndexBufferIndirectCommandNV;
-  struct BindShaderGroupIndirectCommandNV;
-  struct BindSparseInfo;
-  struct BindVertexBufferIndirectCommandNV;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionBufferCreateInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionCreateInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionImageCreateInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionProperties2FUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionPropertiesFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferConstraintsInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct BufferCopy;
-  struct BufferCreateInfo;
-  struct BufferDeviceAddressCreateInfoEXT;
-  struct BufferDeviceAddressInfo;
-  using BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
-  using BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
-  struct BufferImageCopy;
-  struct BufferMemoryBarrier;
-  struct BufferMemoryRequirementsInfo2;
-  using BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
-  struct BufferOpaqueCaptureAddressCreateInfo;
-  using BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
-  struct BufferViewCreateInfo;
-  struct CalibratedTimestampInfoEXT;
-  struct CheckpointDataNV;
-  struct ClearAttachment;
-  union ClearColorValue;
-  struct ClearDepthStencilValue;
-  struct ClearRect;
-  union ClearValue;
-  struct CoarseSampleLocationNV;
-  struct CoarseSampleOrderCustomNV;
-  struct CommandBufferAllocateInfo;
-  struct CommandBufferBeginInfo;
-  struct CommandBufferInheritanceConditionalRenderingInfoEXT;
-  struct CommandBufferInheritanceInfo;
-  struct CommandBufferInheritanceRenderPassTransformInfoQCOM;
-  struct CommandPoolCreateInfo;
-  struct ComponentMapping;
-  struct ComputePipelineCreateInfo;
-  struct ConditionalRenderingBeginInfoEXT;
-  struct ConformanceVersion;
-  using ConformanceVersionKHR = ConformanceVersion;
-  struct ControlOpsMemoryAllocateInfoFUCHSIA;
-  struct CooperativeMatrixPropertiesNV;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct CopyAccelerationStructureInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct CopyAccelerationStructureToMemoryInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct CopyDescriptorSet;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct CopyMemoryToAccelerationStructureInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct D3D12FenceSubmitInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct DebugMarkerMarkerInfoEXT;
-  struct DebugMarkerObjectNameInfoEXT;
-  struct DebugMarkerObjectTagInfoEXT;
-  struct DebugReportCallbackCreateInfoEXT;
-  struct DebugUtilsLabelEXT;
-  struct DebugUtilsMessengerCallbackDataEXT;
-  struct DebugUtilsMessengerCreateInfoEXT;
-  struct DebugUtilsObjectNameInfoEXT;
-  struct DebugUtilsObjectTagInfoEXT;
-  struct DedicatedAllocationBufferCreateInfoNV;
-  struct DedicatedAllocationImageCreateInfoNV;
-  struct DedicatedAllocationMemoryAllocateInfoNV;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct DeferredOperationInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct DescriptorBufferInfo;
-  struct DescriptorImageInfo;
-  struct DescriptorPoolCreateInfo;
-  struct DescriptorPoolInlineUniformBlockCreateInfoEXT;
-  struct DescriptorPoolSize;
-  struct DescriptorSetAllocateInfo;
-  struct DescriptorSetLayoutBinding;
-  struct DescriptorSetLayoutBindingFlagsCreateInfo;
-  using DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
-  struct DescriptorSetLayoutCreateInfo;
-  struct DescriptorSetLayoutSupport;
-  using DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
-  struct DescriptorSetVariableDescriptorCountAllocateInfo;
-  using DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo;
-  struct DescriptorSetVariableDescriptorCountLayoutSupport;
-  using DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport;
-  struct DescriptorUpdateTemplateCreateInfo;
-  using DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
-  struct DescriptorUpdateTemplateEntry;
-  using DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
-  struct DeviceCreateInfo;
-  struct DeviceDiagnosticsConfigCreateInfoNV;
-  struct DeviceEventInfoEXT;
-  struct DeviceGroupBindSparseInfo;
-  using DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
-  struct DeviceGroupCommandBufferBeginInfo;
-  using DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
-  struct DeviceGroupDeviceCreateInfo;
-  using DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
-  struct DeviceGroupPresentCapabilitiesKHR;
-  struct DeviceGroupPresentInfoKHR;
-  struct DeviceGroupRenderPassBeginInfo;
-  using DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
-  struct DeviceGroupSubmitInfo;
-  using DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
-  struct DeviceGroupSwapchainCreateInfoKHR;
-  struct DeviceMemoryOpaqueCaptureAddressInfo;
-  using DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
-  struct DeviceMemoryOverallocationCreateInfoAMD;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  union DeviceOrHostAddressConstKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  union DeviceOrHostAddressKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct DevicePrivateDataCreateInfoEXT;
-  struct DeviceQueueCreateInfo;
-  struct DeviceQueueGlobalPriorityCreateInfoEXT;
-  struct DeviceQueueInfo2;
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-  struct DirectFBSurfaceCreateInfoEXT;
-#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-  struct DispatchIndirectCommand;
-  struct DisplayEventInfoEXT;
-  struct DisplayModeCreateInfoKHR;
-  struct DisplayModeParametersKHR;
-  struct DisplayModeProperties2KHR;
-  struct DisplayModePropertiesKHR;
-  struct DisplayNativeHdrSurfaceCapabilitiesAMD;
-  struct DisplayPlaneCapabilities2KHR;
-  struct DisplayPlaneCapabilitiesKHR;
-  struct DisplayPlaneInfo2KHR;
-  struct DisplayPlaneProperties2KHR;
-  struct DisplayPlanePropertiesKHR;
-  struct DisplayPowerInfoEXT;
-  struct DisplayPresentInfoKHR;
-  struct DisplayProperties2KHR;
-  struct DisplayPropertiesKHR;
-  struct DisplaySurfaceCreateInfoKHR;
-  struct DrawIndexedIndirectCommand;
-  struct DrawIndirectCommand;
-  struct DrawMeshTasksIndirectCommandNV;
-  struct DrmFormatModifierPropertiesEXT;
-  struct DrmFormatModifierPropertiesListEXT;
-  struct EventCreateInfo;
-  struct ExportFenceCreateInfo;
-  using ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportFenceWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct ExportMemoryAllocateInfo;
-  using ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
-  struct ExportMemoryAllocateInfoNV;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportMemoryWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportMemoryWin32HandleInfoNV;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct ExportSemaphoreCreateInfo;
-  using ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportSemaphoreWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct ExtensionProperties;
-  struct Extent2D;
-  struct Extent3D;
-  struct ExternalBufferProperties;
-  using ExternalBufferPropertiesKHR = ExternalBufferProperties;
-  struct ExternalFenceProperties;
-  using ExternalFencePropertiesKHR = ExternalFenceProperties;
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct ExternalFormatANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct ExternalImageFormatProperties;
-  using ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
-  struct ExternalImageFormatPropertiesNV;
-  struct ExternalMemoryBufferCreateInfo;
-  using ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
-  struct ExternalMemoryImageCreateInfo;
-  using ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
-  struct ExternalMemoryImageCreateInfoNV;
-  struct ExternalMemoryProperties;
-  using ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
-  struct ExternalSemaphoreProperties;
-  using ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
-  struct FenceCreateInfo;
-  struct FenceGetFdInfoKHR;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct FenceGetWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct FilterCubicImageViewImageFormatPropertiesEXT;
-  struct FormatProperties;
-  struct FormatProperties2;
-  using FormatProperties2KHR = FormatProperties2;
-  struct FramebufferAttachmentImageInfo;
-  using FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
-  struct FramebufferAttachmentsCreateInfo;
-  using FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
-  struct FramebufferCreateInfo;
-  struct FramebufferMixedSamplesCombinationNV;
-  struct GeneratedCommandsInfoNV;
-  struct GeneratedCommandsMemoryRequirementsInfoNV;
-  struct GeometryAABBNV;
-  struct GeometryDataNV;
-  struct GeometryNV;
-  struct GeometryTrianglesNV;
-  struct GraphicsPipelineCreateInfo;
-  struct GraphicsPipelineShaderGroupsCreateInfoNV;
-  struct GraphicsShaderGroupCreateInfoNV;
-  struct HdrMetadataEXT;
-  struct HeadlessSurfaceCreateInfoEXT;
-#ifdef VK_USE_PLATFORM_IOS_MVK
-  struct IOSSurfaceCreateInfoMVK;
-#endif /*VK_USE_PLATFORM_IOS_MVK*/
-  struct ImageBlit;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImageConstraintsInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct ImageCopy;
-  struct ImageCreateInfo;
-  struct ImageDrmFormatModifierExplicitCreateInfoEXT;
-  struct ImageDrmFormatModifierListCreateInfoEXT;
-  struct ImageDrmFormatModifierPropertiesEXT;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImageFormatConstraintsInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct ImageFormatListCreateInfo;
-  using ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
-  struct ImageFormatProperties;
-  struct ImageFormatProperties2;
-  using ImageFormatProperties2KHR = ImageFormatProperties2;
-  struct ImageMemoryBarrier;
-  struct ImageMemoryRequirementsInfo2;
-  using ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImagePipeSurfaceCreateInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct ImagePlaneMemoryRequirementsInfo;
-  using ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
-  struct ImageResolve;
-  struct ImageSparseMemoryRequirementsInfo2;
-  using ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
-  struct ImageStencilUsageCreateInfo;
-  using ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
-  struct ImageSubresource;
-  struct ImageSubresourceLayers;
-  struct ImageSubresourceRange;
-  struct ImageSwapchainCreateInfoKHR;
-  struct ImageViewASTCDecodeModeEXT;
-  struct ImageViewAddressPropertiesNVX;
-  struct ImageViewCreateInfo;
-  struct ImageViewHandleInfoNVX;
-  struct ImageViewUsageCreateInfo;
-  using ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct ImportAndroidHardwareBufferInfoANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct ImportFenceFdInfoKHR;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportFenceWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImportMemoryBufferCollectionFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct ImportMemoryFdInfoKHR;
-  struct ImportMemoryHostPointerInfoEXT;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportMemoryWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportMemoryWin32HandleInfoNV;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImportMemoryZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct ImportSemaphoreFdInfoKHR;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportSemaphoreWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImportSemaphoreZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct IndirectCommandsLayoutCreateInfoNV;
-  struct IndirectCommandsLayoutTokenNV;
-  struct IndirectCommandsStreamNV;
-  struct InitializePerformanceApiInfoINTEL;
-  struct InputAttachmentAspectReference;
-  using InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
-  struct InstanceCreateInfo;
-  struct LayerProperties;
-#ifdef VK_USE_PLATFORM_MACOS_MVK
-  struct MacOSSurfaceCreateInfoMVK;
-#endif /*VK_USE_PLATFORM_MACOS_MVK*/
-  struct MappedMemoryRange;
-  struct MemoryAllocateFlagsInfo;
-  using MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
-  struct MemoryAllocateInfo;
-  struct MemoryBarrier;
-  struct MemoryDedicatedAllocateInfo;
-  using MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
-  struct MemoryDedicatedRequirements;
-  using MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
-  struct MemoryFdPropertiesKHR;
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct MemoryGetAndroidHardwareBufferInfoANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct MemoryGetFdInfoKHR;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct MemoryGetWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct MemoryGetZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct MemoryHeap;
-  struct MemoryHostPointerPropertiesEXT;
-  struct MemoryOpResultFUCHSIA;
-  struct MemoryOpaqueCaptureAddressAllocateInfo;
-  using MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
-  struct MemoryPriorityAllocateInfoEXT;
-  struct MemoryRangeFUCHSIA;
-  struct MemoryRequirements;
-  struct MemoryRequirements2;
-  using MemoryRequirements2KHR = MemoryRequirements2;
-  struct MemoryType;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct MemoryWin32HandlePropertiesKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct MemoryZirconHandlePropertiesFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_METAL_EXT
-  struct MetalSurfaceCreateInfoEXT;
-#endif /*VK_USE_PLATFORM_METAL_EXT*/
-  struct MultisamplePropertiesEXT;
-  struct Offset2D;
-  struct Offset3D;
-  struct PastPresentationTimingGOOGLE;
-  struct PerformanceConfigurationAcquireInfoINTEL;
-  struct PerformanceCounterDescriptionKHR;
-  struct PerformanceCounterKHR;
-  union PerformanceCounterResultKHR;
-  struct PerformanceMarkerInfoINTEL;
-  struct PerformanceOverrideInfoINTEL;
-  struct PerformanceQuerySubmitInfoKHR;
-  struct PerformanceStreamMarkerInfoINTEL;
-  union PerformanceValueDataINTEL;
-  struct PerformanceValueINTEL;
-  struct PhysicalDevice16BitStorageFeatures;
-  using PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
-  struct PhysicalDevice8BitStorageFeatures;
-  using PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
-  struct PhysicalDeviceASTCDecodeFeaturesEXT;
-  struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT;
-  struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT;
-  struct PhysicalDeviceBufferDeviceAddressFeatures;
-  using PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
-  struct PhysicalDeviceBufferDeviceAddressFeaturesEXT;
-  using PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
-  struct PhysicalDeviceCoherentMemoryFeaturesAMD;
-  struct PhysicalDeviceComputeShaderDerivativesFeaturesNV;
-  struct PhysicalDeviceConditionalRenderingFeaturesEXT;
-  struct PhysicalDeviceConservativeRasterizationPropertiesEXT;
-  struct PhysicalDeviceCooperativeMatrixFeaturesNV;
-  struct PhysicalDeviceCooperativeMatrixPropertiesNV;
-  struct PhysicalDeviceCornerSampledImageFeaturesNV;
-  struct PhysicalDeviceCoverageReductionModeFeaturesNV;
-  struct PhysicalDeviceCustomBorderColorFeaturesEXT;
-  struct PhysicalDeviceCustomBorderColorPropertiesEXT;
-  struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
-  struct PhysicalDeviceDepthClipEnableFeaturesEXT;
-  struct PhysicalDeviceDepthStencilResolveProperties;
-  using PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties;
-  struct PhysicalDeviceDescriptorIndexingFeatures;
-  using PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
-  struct PhysicalDeviceDescriptorIndexingProperties;
-  using PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
-  struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
-  struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
-  struct PhysicalDeviceDiagnosticsConfigFeaturesNV;
-  struct PhysicalDeviceDiscardRectanglePropertiesEXT;
-  struct PhysicalDeviceDriverProperties;
-  using PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
-  struct PhysicalDeviceExclusiveScissorFeaturesNV;
-  struct PhysicalDeviceExtendedDynamicStateFeaturesEXT;
-  struct PhysicalDeviceExternalBufferInfo;
-  using PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
-  struct PhysicalDeviceExternalFenceInfo;
-  using PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
-  struct PhysicalDeviceExternalImageFormatInfo;
-  using PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
-  struct PhysicalDeviceExternalMemoryHostPropertiesEXT;
-  struct PhysicalDeviceExternalSemaphoreInfo;
-  using PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
-  struct PhysicalDeviceFeatures;
-  struct PhysicalDeviceFeatures2;
-  using PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
-  struct PhysicalDeviceFloatControlsProperties;
-  using PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
-  struct PhysicalDeviceFragmentDensityMap2FeaturesEXT;
-  struct PhysicalDeviceFragmentDensityMap2PropertiesEXT;
-  struct PhysicalDeviceFragmentDensityMapFeaturesEXT;
-  struct PhysicalDeviceFragmentDensityMapPropertiesEXT;
-  struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV;
-  struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT;
-  struct PhysicalDeviceGroupProperties;
-  using PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
-  struct PhysicalDeviceHostQueryResetFeatures;
-  using PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
-  struct PhysicalDeviceIDProperties;
-  using PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
-  struct PhysicalDeviceImageDrmFormatModifierInfoEXT;
-  struct PhysicalDeviceImageFormatInfo2;
-  using PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
-  struct PhysicalDeviceImageRobustnessFeaturesEXT;
-  struct PhysicalDeviceImageViewImageFormatInfoEXT;
-  struct PhysicalDeviceImagelessFramebufferFeatures;
-  using PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
-  struct PhysicalDeviceIndexTypeUint8FeaturesEXT;
-  struct PhysicalDeviceInlineUniformBlockFeaturesEXT;
-  struct PhysicalDeviceInlineUniformBlockPropertiesEXT;
-  struct PhysicalDeviceLimits;
-  struct PhysicalDeviceLineRasterizationFeaturesEXT;
-  struct PhysicalDeviceLineRasterizationPropertiesEXT;
-  struct PhysicalDeviceMaintenance3Properties;
-  using PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
-  struct PhysicalDeviceMemoryBudgetPropertiesEXT;
-  struct PhysicalDeviceMemoryControlPropertiesFUCHSIA;
-  struct PhysicalDeviceMemoryPriorityFeaturesEXT;
-  struct PhysicalDeviceMemoryProperties;
-  struct PhysicalDeviceMemoryProperties2;
-  using PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
-  struct PhysicalDeviceMeshShaderFeaturesNV;
-  struct PhysicalDeviceMeshShaderPropertiesNV;
-  struct PhysicalDeviceMultiviewFeatures;
-  using PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
-  struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
-  struct PhysicalDeviceMultiviewProperties;
-  using PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
-  struct PhysicalDevicePCIBusInfoPropertiesEXT;
-  struct PhysicalDevicePerformanceQueryFeaturesKHR;
-  struct PhysicalDevicePerformanceQueryPropertiesKHR;
-  struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT;
-  struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
-  struct PhysicalDevicePointClippingProperties;
-  using PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
-  struct PhysicalDevicePrivateDataFeaturesEXT;
-  struct PhysicalDeviceProperties;
-  struct PhysicalDeviceProperties2;
-  using PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
-  struct PhysicalDeviceProtectedMemoryFeatures;
-  struct PhysicalDeviceProtectedMemoryProperties;
-  struct PhysicalDevicePushDescriptorPropertiesKHR;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct PhysicalDeviceRayTracingFeaturesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct PhysicalDeviceRayTracingPropertiesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct PhysicalDeviceRayTracingPropertiesNV;
-  struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV;
-  struct PhysicalDeviceRobustness2FeaturesEXT;
-  struct PhysicalDeviceRobustness2PropertiesEXT;
-  struct PhysicalDeviceSampleLocationsPropertiesEXT;
-  struct PhysicalDeviceSamplerFilterMinmaxProperties;
-  using PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties;
-  struct PhysicalDeviceSamplerYcbcrConversionFeatures;
-  using PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = PhysicalDeviceSamplerYcbcrConversionFeatures;
-  struct PhysicalDeviceScalarBlockLayoutFeatures;
-  using PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
-  struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
-  using PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
-  struct PhysicalDeviceShaderAtomicFloatFeaturesEXT;
-  struct PhysicalDeviceShaderAtomicInt64Features;
-  using PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
-  struct PhysicalDeviceShaderClockFeaturesKHR;
-  struct PhysicalDeviceShaderCoreProperties2AMD;
-  struct PhysicalDeviceShaderCorePropertiesAMD;
-  struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
-  struct PhysicalDeviceShaderDrawParametersFeatures;
-  using PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
-  struct PhysicalDeviceShaderFloat16Int8Features;
-  using PhysicalDeviceFloat16Int8FeaturesKHR       = PhysicalDeviceShaderFloat16Int8Features;
-  using PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
-  struct PhysicalDeviceShaderImageFootprintFeaturesNV;
-  struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
-  struct PhysicalDeviceShaderSMBuiltinsFeaturesNV;
-  struct PhysicalDeviceShaderSMBuiltinsPropertiesNV;
-  struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
-  using PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
-  struct PhysicalDeviceShadingRateImageFeaturesNV;
-  struct PhysicalDeviceShadingRateImagePropertiesNV;
-  struct PhysicalDeviceSparseImageFormatInfo2;
-  using PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
-  struct PhysicalDeviceSparseProperties;
-  struct PhysicalDeviceSubgroupProperties;
-  struct PhysicalDeviceSubgroupSizeControlFeaturesEXT;
-  struct PhysicalDeviceSubgroupSizeControlPropertiesEXT;
-  struct PhysicalDeviceSurfaceInfo2KHR;
-  struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT;
-  struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT;
-  struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
-  struct PhysicalDeviceTimelineSemaphoreFeatures;
-  using PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
-  struct PhysicalDeviceTimelineSemaphoreProperties;
-  using PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
-  struct PhysicalDeviceToolPropertiesEXT;
-  struct PhysicalDeviceTransformFeedbackFeaturesEXT;
-  struct PhysicalDeviceTransformFeedbackPropertiesEXT;
-  struct PhysicalDeviceUniformBufferStandardLayoutFeatures;
-  using PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures;
-  struct PhysicalDeviceVariablePointersFeatures;
-  using PhysicalDeviceVariablePointerFeatures     = PhysicalDeviceVariablePointersFeatures;
-  using PhysicalDeviceVariablePointerFeaturesKHR  = PhysicalDeviceVariablePointersFeatures;
-  using PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
-  struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT;
-  struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT;
-  struct PhysicalDeviceVulkan11Features;
-  struct PhysicalDeviceVulkan11Properties;
-  struct PhysicalDeviceVulkan12Features;
-  struct PhysicalDeviceVulkan12Properties;
-  struct PhysicalDeviceVulkanMemoryModelFeatures;
-  using PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
-  struct PhysicalDeviceYcbcrImageArraysFeaturesEXT;
-  struct PipelineCacheCreateInfo;
-  struct PipelineColorBlendAdvancedStateCreateInfoEXT;
-  struct PipelineColorBlendAttachmentState;
-  struct PipelineColorBlendStateCreateInfo;
-  struct PipelineCompilerControlCreateInfoAMD;
-  struct PipelineCoverageModulationStateCreateInfoNV;
-  struct PipelineCoverageReductionStateCreateInfoNV;
-  struct PipelineCoverageToColorStateCreateInfoNV;
-  struct PipelineCreationFeedbackCreateInfoEXT;
-  struct PipelineCreationFeedbackEXT;
-  struct PipelineDepthStencilStateCreateInfo;
-  struct PipelineDiscardRectangleStateCreateInfoEXT;
-  struct PipelineDynamicStateCreateInfo;
-  struct PipelineExecutableInfoKHR;
-  struct PipelineExecutableInternalRepresentationKHR;
-  struct PipelineExecutablePropertiesKHR;
-  struct PipelineExecutableStatisticKHR;
-  union PipelineExecutableStatisticValueKHR;
-  struct PipelineInfoKHR;
-  struct PipelineInputAssemblyStateCreateInfo;
-  struct PipelineLayoutCreateInfo;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct PipelineLibraryCreateInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct PipelineMultisampleStateCreateInfo;
-  struct PipelineRasterizationConservativeStateCreateInfoEXT;
-  struct PipelineRasterizationDepthClipStateCreateInfoEXT;
-  struct PipelineRasterizationLineStateCreateInfoEXT;
-  struct PipelineRasterizationStateCreateInfo;
-  struct PipelineRasterizationStateRasterizationOrderAMD;
-  struct PipelineRasterizationStateStreamCreateInfoEXT;
-  struct PipelineRepresentativeFragmentTestStateCreateInfoNV;
-  struct PipelineSampleLocationsStateCreateInfoEXT;
-  struct PipelineShaderStageCreateInfo;
-  struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
-  struct PipelineTessellationDomainOriginStateCreateInfo;
-  using PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo;
-  struct PipelineTessellationStateCreateInfo;
-  struct PipelineVertexInputDivisorStateCreateInfoEXT;
-  struct PipelineVertexInputStateCreateInfo;
-  struct PipelineViewportCoarseSampleOrderStateCreateInfoNV;
-  struct PipelineViewportExclusiveScissorStateCreateInfoNV;
-  struct PipelineViewportShadingRateImageStateCreateInfoNV;
-  struct PipelineViewportStateCreateInfo;
-  struct PipelineViewportSwizzleStateCreateInfoNV;
-  struct PipelineViewportWScalingStateCreateInfoNV;
-#ifdef VK_USE_PLATFORM_GGP
-  struct PresentFrameTokenGGP;
-#endif /*VK_USE_PLATFORM_GGP*/
-  struct PresentInfoKHR;
-  struct PresentRegionKHR;
-  struct PresentRegionsKHR;
-  struct PresentTimeGOOGLE;
-  struct PresentTimesInfoGOOGLE;
-  struct PrivateDataSlotCreateInfoEXT;
-  struct ProtectedSubmitInfo;
-  struct PushConstantRange;
-  struct QueryPoolCreateInfo;
-  struct QueryPoolPerformanceCreateInfoKHR;
-  struct QueryPoolPerformanceQueryCreateInfoINTEL;
-  using QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
-  struct QueueFamilyCheckpointPropertiesNV;
-  struct QueueFamilyProperties;
-  struct QueueFamilyProperties2;
-  using QueueFamilyProperties2KHR = QueueFamilyProperties2;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct RayTracingPipelineCreateInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct RayTracingPipelineCreateInfoNV;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct RayTracingPipelineInterfaceCreateInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct RayTracingShaderGroupCreateInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct RayTracingShaderGroupCreateInfoNV;
-  struct Rect2D;
-  struct RectLayerKHR;
-  struct RefreshCycleDurationGOOGLE;
-  struct RenderPassAttachmentBeginInfo;
-  using RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
-  struct RenderPassBeginInfo;
-  struct RenderPassCreateInfo;
-  struct RenderPassCreateInfo2;
-  using RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
-  struct RenderPassFragmentDensityMapCreateInfoEXT;
-  struct RenderPassInputAttachmentAspectCreateInfo;
-  using RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
-  struct RenderPassMultiviewCreateInfo;
-  using RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
-  struct RenderPassSampleLocationsBeginInfoEXT;
-  struct RenderPassTransformBeginInfoQCOM;
-  struct SampleLocationEXT;
-  struct SampleLocationsInfoEXT;
-  struct SamplerCreateInfo;
-  struct SamplerCustomBorderColorCreateInfoEXT;
-  struct SamplerReductionModeCreateInfo;
-  using SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
-  struct SamplerYcbcrConversionCreateInfo;
-  using SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
-  struct SamplerYcbcrConversionImageFormatProperties;
-  using SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties;
-  struct SamplerYcbcrConversionInfo;
-  using SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
-  struct SemaphoreCreateInfo;
-  struct SemaphoreGetFdInfoKHR;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SemaphoreGetWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct SemaphoreGetZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct SemaphoreSignalInfo;
-  using SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
-  struct SemaphoreTypeCreateInfo;
-  using SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
-  struct SemaphoreWaitInfo;
-  using SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
-  struct SetStateFlagsIndirectCommandNV;
-  struct ShaderModuleCreateInfo;
-  struct ShaderModuleValidationCacheCreateInfoEXT;
-  struct ShaderResourceUsageAMD;
-  struct ShaderStatisticsInfoAMD;
-  struct ShadingRatePaletteNV;
-  struct SharedPresentSurfaceCapabilitiesKHR;
-  struct SparseBufferMemoryBindInfo;
-  struct SparseImageFormatProperties;
-  struct SparseImageFormatProperties2;
-  using SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
-  struct SparseImageMemoryBind;
-  struct SparseImageMemoryBindInfo;
-  struct SparseImageMemoryRequirements;
-  struct SparseImageMemoryRequirements2;
-  using SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
-  struct SparseImageOpaqueMemoryBindInfo;
-  struct SparseMemoryBind;
-  struct SpecializationInfo;
-  struct SpecializationMapEntry;
-  struct StencilOpState;
-#ifdef VK_USE_PLATFORM_GGP
-  struct StreamDescriptorSurfaceCreateInfoGGP;
-#endif /*VK_USE_PLATFORM_GGP*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct StridedBufferRegionKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct SubmitInfo;
-  struct SubpassBeginInfo;
-  using SubpassBeginInfoKHR = SubpassBeginInfo;
-  struct SubpassDependency;
-  struct SubpassDependency2;
-  using SubpassDependency2KHR = SubpassDependency2;
-  struct SubpassDescription;
-  struct SubpassDescription2;
-  using SubpassDescription2KHR = SubpassDescription2;
-  struct SubpassDescriptionDepthStencilResolve;
-  using SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
-  struct SubpassEndInfo;
-  using SubpassEndInfoKHR = SubpassEndInfo;
-  struct SubpassSampleLocationsEXT;
-  struct SubresourceLayout;
-  struct SurfaceCapabilities2EXT;
-  struct SurfaceCapabilities2KHR;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SurfaceCapabilitiesFullScreenExclusiveEXT;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct SurfaceCapabilitiesKHR;
-  struct SurfaceFormat2KHR;
-  struct SurfaceFormatKHR;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SurfaceFullScreenExclusiveInfoEXT;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SurfaceFullScreenExclusiveWin32InfoEXT;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct SurfaceProtectedCapabilitiesKHR;
-  struct SwapchainCounterCreateInfoEXT;
-  struct SwapchainCreateInfoKHR;
-  struct SwapchainDisplayNativeHdrCreateInfoAMD;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct SysmemColorSpaceFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct TextureLODGatherFormatPropertiesAMD;
-  struct TimelineSemaphoreSubmitInfo;
-  using TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct TraceRaysIndirectCommandKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct TransformMatrixKHR;
-  using TransformMatrixNV = TransformMatrixKHR;
-  struct ValidationCacheCreateInfoEXT;
-  struct ValidationFeaturesEXT;
-  struct ValidationFlagsEXT;
-  struct VertexInputAttributeDescription;
-  struct VertexInputBindingDescription;
-  struct VertexInputBindingDivisorDescriptionEXT;
-#ifdef VK_USE_PLATFORM_VI_NN
-  struct ViSurfaceCreateInfoNN;
-#endif /*VK_USE_PLATFORM_VI_NN*/
-  struct Viewport;
-  struct ViewportSwizzleNV;
-  struct ViewportWScalingNV;
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-  struct WaylandSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct Win32KeyedMutexAcquireReleaseInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct Win32KeyedMutexAcquireReleaseInfoNV;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct Win32SurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct WriteDescriptorSet;
-  struct WriteDescriptorSetAccelerationStructureKHR;
-  using WriteDescriptorSetAccelerationStructureNV = WriteDescriptorSetAccelerationStructureKHR;
-  struct WriteDescriptorSetInlineUniformBlockEXT;
-  struct XYColorEXT;
-#ifdef VK_USE_PLATFORM_XCB_KHR
-  struct XcbSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_XCB_KHR*/
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-  struct XlibSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+public:
+  float minX = {};
+  float minY = {};
+  float minZ = {};
+  float maxX = {};
+  float maxY = {};
+  float maxZ = {};
+};
+static_assert(sizeof(AabbPositionsKHR) == sizeof(VkAabbPositionsKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AabbPositionsKHR>::value,
+              "struct wrapper is not a standard layout!");
+using AabbPositionsNV = AabbPositionsKHR;
 
-  class SurfaceKHR
-  {
-  public:
-    using CType = VkSurfaceKHR;
+class AccelerationStructureKHR {
+public:
+  using CType = VkAccelerationStructureKHR;
 
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSurfaceKHR;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::
+              eAccelerationStructureKHR;
 
-  public:
-    VULKAN_HPP_CONSTEXPR SurfaceKHR() VULKAN_HPP_NOEXCEPT : m_surfaceKHR( VK_NULL_HANDLE ) {}
+public:
+  VULKAN_HPP_CONSTEXPR AccelerationStructureKHR() = default;
+  VULKAN_HPP_CONSTEXPR
+  AccelerationStructureKHR(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT AccelerationStructureKHR(
+      VkAccelerationStructureKHR accelerationStructureKHR) VULKAN_HPP_NOEXCEPT
+      : m_accelerationStructureKHR(accelerationStructureKHR) {}
 
-    VULKAN_HPP_CONSTEXPR SurfaceKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_surfaceKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT SurfaceKHR( VkSurfaceKHR surfaceKHR ) VULKAN_HPP_NOEXCEPT : m_surfaceKHR( surfaceKHR )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    SurfaceKHR & operator=( VkSurfaceKHR surfaceKHR ) VULKAN_HPP_NOEXCEPT
-    {
-      m_surfaceKHR = surfaceKHR;
-      return *this;
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  AccelerationStructureKHR &operator=(
+      VkAccelerationStructureKHR accelerationStructureKHR) VULKAN_HPP_NOEXCEPT {
+    m_accelerationStructureKHR = accelerationStructureKHR;
+    return *this;
+  }
 #endif
 
-    SurfaceKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_surfaceKHR = VK_NULL_HANDLE;
-      return *this;
-    }
+  AccelerationStructureKHR &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_accelerationStructureKHR = {};
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureKHR const &) const = default;
 #else
-    bool operator==( SurfaceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_surfaceKHR == rhs.m_surfaceKHR;
-    }
+  bool
+  operator==(AccelerationStructureKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureKHR == rhs.m_accelerationStructureKHR;
+  }
 
-    bool operator!=( SurfaceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_surfaceKHR != rhs.m_surfaceKHR;
-    }
+  bool
+  operator!=(AccelerationStructureKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureKHR != rhs.m_accelerationStructureKHR;
+  }
 
-    bool operator<( SurfaceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_surfaceKHR < rhs.m_surfaceKHR;
-    }
+  bool
+  operator<(AccelerationStructureKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureKHR < rhs.m_accelerationStructureKHR;
+  }
 #endif
 
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSurfaceKHR() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_surfaceKHR;
-    }
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkAccelerationStructureKHR() const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureKHR;
+  }
 
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_surfaceKHR != VK_NULL_HANDLE;
-    }
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureKHR != VK_NULL_HANDLE;
+  }
 
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_surfaceKHR == VK_NULL_HANDLE;
-    }
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureKHR == VK_NULL_HANDLE;
+  }
 
-  private:
-    VkSurfaceKHR m_surfaceKHR;
-  };
-  static_assert( sizeof( SurfaceKHR ) == sizeof( VkSurfaceKHR ), "handle and wrapper have different size!" );
+private:
+  VkAccelerationStructureKHR m_accelerationStructureKHR = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR) ==
+                  sizeof(VkAccelerationStructureKHR),
+              "handle and wrapper have different size!");
 
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eSurfaceKHR>
-  {
-    using type = SurfaceKHR;
-  };
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eAccelerationStructureKHR> {
+  using type = VULKAN_HPP_NAMESPACE::AccelerationStructureKHR;
+};
 
-  template <>
-  struct CppType<ObjectType, ObjectType::eSurfaceKHR>
-  {
-    using Type = SurfaceKHR;
-  };
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureKHR;
+};
 
-  class DebugReportCallbackEXT
-  {
-  public:
-    using CType = VkDebugReportCallbackEXT;
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureKHR;
+};
 
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDebugReportCallbackEXT;
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-  public:
-    VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT() VULKAN_HPP_NOEXCEPT : m_debugReportCallbackEXT( VK_NULL_HANDLE ) {}
+union DeviceOrHostAddressConstKHR {
+  DeviceOrHostAddressConstKHR(
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR));
+  }
 
-    VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_debugReportCallbackEXT( VK_NULL_HANDLE )
-    {}
+  DeviceOrHostAddressConstKHR(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {})
+      : deviceAddress(deviceAddress_) {}
 
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    DebugReportCallbackEXT( VkDebugReportCallbackEXT debugReportCallbackEXT ) VULKAN_HPP_NOEXCEPT
-      : m_debugReportCallbackEXT( debugReportCallbackEXT )
-    {}
+  DeviceOrHostAddressConstKHR(const void *hostAddress_)
+      : hostAddress(hostAddress_) {}
 
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DebugReportCallbackEXT & operator=( VkDebugReportCallbackEXT debugReportCallbackEXT ) VULKAN_HPP_NOEXCEPT
-    {
-      m_debugReportCallbackEXT = debugReportCallbackEXT;
-      return *this;
-    }
-#endif
+  DeviceOrHostAddressConstKHR &setDeviceAddress(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT {
+    deviceAddress = deviceAddress_;
+    return *this;
+  }
 
-    DebugReportCallbackEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_debugReportCallbackEXT = VK_NULL_HANDLE;
-      return *this;
-    }
+  DeviceOrHostAddressConstKHR &
+  setHostAddress(const void *hostAddress_) VULKAN_HPP_NOEXCEPT {
+    hostAddress = hostAddress_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugReportCallbackEXT const & ) const = default;
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR &
+  operator=(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR));
+    return *this;
+  }
+
+  operator VkDeviceOrHostAddressConstKHR const &() const {
+    return *reinterpret_cast<const VkDeviceOrHostAddressConstKHR *>(this);
+  }
+
+  operator VkDeviceOrHostAddressConstKHR &() {
+    return *reinterpret_cast<VkDeviceOrHostAddressConstKHR *>(this);
+  }
+
+#ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress;
+  const void *hostAddress;
 #else
-    bool operator==( DebugReportCallbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugReportCallbackEXT == rhs.m_debugReportCallbackEXT;
-    }
+  VkDeviceAddress deviceAddress;
+  const void *hostAddress;
+#endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
+};
 
-    bool operator!=( DebugReportCallbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugReportCallbackEXT != rhs.m_debugReportCallbackEXT;
-    }
-
-    bool operator<( DebugReportCallbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugReportCallbackEXT < rhs.m_debugReportCallbackEXT;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDebugReportCallbackEXT() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugReportCallbackEXT;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugReportCallbackEXT != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugReportCallbackEXT == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDebugReportCallbackEXT m_debugReportCallbackEXT;
-  };
-  static_assert( sizeof( DebugReportCallbackEXT ) == sizeof( VkDebugReportCallbackEXT ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDebugReportCallbackEXT>
-  {
-    using type = DebugReportCallbackEXT;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDebugReportCallbackEXT>
-  {
-    using Type = DebugReportCallbackEXT;
-  };
-
-  class DebugUtilsMessengerEXT
-  {
-  public:
-    using CType = VkDebugUtilsMessengerEXT;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDebugUtilsMessengerEXT;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT() VULKAN_HPP_NOEXCEPT : m_debugUtilsMessengerEXT( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_debugUtilsMessengerEXT( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    DebugUtilsMessengerEXT( VkDebugUtilsMessengerEXT debugUtilsMessengerEXT ) VULKAN_HPP_NOEXCEPT
-      : m_debugUtilsMessengerEXT( debugUtilsMessengerEXT )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DebugUtilsMessengerEXT & operator=( VkDebugUtilsMessengerEXT debugUtilsMessengerEXT ) VULKAN_HPP_NOEXCEPT
-    {
-      m_debugUtilsMessengerEXT = debugUtilsMessengerEXT;
-      return *this;
-    }
-#endif
-
-    DebugUtilsMessengerEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_debugUtilsMessengerEXT = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugUtilsMessengerEXT const & ) const = default;
-#else
-    bool operator==( DebugUtilsMessengerEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugUtilsMessengerEXT == rhs.m_debugUtilsMessengerEXT;
-    }
-
-    bool operator!=( DebugUtilsMessengerEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugUtilsMessengerEXT != rhs.m_debugUtilsMessengerEXT;
-    }
-
-    bool operator<( DebugUtilsMessengerEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugUtilsMessengerEXT < rhs.m_debugUtilsMessengerEXT;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDebugUtilsMessengerEXT() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugUtilsMessengerEXT;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugUtilsMessengerEXT != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_debugUtilsMessengerEXT == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT;
-  };
-  static_assert( sizeof( DebugUtilsMessengerEXT ) == sizeof( VkDebugUtilsMessengerEXT ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDebugUtilsMessengerEXT>
-  {
-    using type = DebugUtilsMessengerEXT;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDebugUtilsMessengerEXT>
-  {
-    using Type = DebugUtilsMessengerEXT;
-  };
-
-  class DisplayKHR
-  {
-  public:
-    using CType = VkDisplayKHR;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDisplayKHR;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DisplayKHR() VULKAN_HPP_NOEXCEPT : m_displayKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DisplayKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_displayKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT DisplayKHR( VkDisplayKHR displayKHR ) VULKAN_HPP_NOEXCEPT : m_displayKHR( displayKHR )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DisplayKHR & operator=( VkDisplayKHR displayKHR ) VULKAN_HPP_NOEXCEPT
-    {
-      m_displayKHR = displayKHR;
-      return *this;
-    }
-#endif
-
-    DisplayKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_displayKHR = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayKHR const & ) const = default;
-#else
-    bool operator==( DisplayKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayKHR == rhs.m_displayKHR;
-    }
-
-    bool operator!=( DisplayKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayKHR != rhs.m_displayKHR;
-    }
-
-    bool operator<( DisplayKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayKHR < rhs.m_displayKHR;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDisplayKHR() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayKHR;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayKHR != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayKHR == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDisplayKHR m_displayKHR;
-  };
-  static_assert( sizeof( DisplayKHR ) == sizeof( VkDisplayKHR ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDisplayKHR>
-  {
-    using type = DisplayKHR;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDisplayKHR>
-  {
-    using Type = DisplayKHR;
-  };
-
-  class SwapchainKHR
-  {
-  public:
-    using CType = VkSwapchainKHR;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSwapchainKHR;
-
-  public:
-    VULKAN_HPP_CONSTEXPR SwapchainKHR() VULKAN_HPP_NOEXCEPT : m_swapchainKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR SwapchainKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_swapchainKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT SwapchainKHR( VkSwapchainKHR swapchainKHR ) VULKAN_HPP_NOEXCEPT
-      : m_swapchainKHR( swapchainKHR )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    SwapchainKHR & operator=( VkSwapchainKHR swapchainKHR ) VULKAN_HPP_NOEXCEPT
-    {
-      m_swapchainKHR = swapchainKHR;
-      return *this;
-    }
-#endif
-
-    SwapchainKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_swapchainKHR = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SwapchainKHR const & ) const = default;
-#else
-    bool operator==( SwapchainKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_swapchainKHR == rhs.m_swapchainKHR;
-    }
-
-    bool operator!=( SwapchainKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_swapchainKHR != rhs.m_swapchainKHR;
-    }
-
-    bool operator<( SwapchainKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_swapchainKHR < rhs.m_swapchainKHR;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSwapchainKHR() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_swapchainKHR;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_swapchainKHR != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_swapchainKHR == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkSwapchainKHR m_swapchainKHR;
-  };
-  static_assert( sizeof( SwapchainKHR ) == sizeof( VkSwapchainKHR ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eSwapchainKHR>
-  {
-    using type = SwapchainKHR;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eSwapchainKHR>
-  {
-    using Type = SwapchainKHR;
-  };
-
-  class Semaphore
-  {
-  public:
-    using CType = VkSemaphore;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSemaphore;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Semaphore() VULKAN_HPP_NOEXCEPT : m_semaphore( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Semaphore( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_semaphore( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Semaphore( VkSemaphore semaphore ) VULKAN_HPP_NOEXCEPT : m_semaphore( semaphore ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Semaphore & operator=( VkSemaphore semaphore ) VULKAN_HPP_NOEXCEPT
-    {
-      m_semaphore = semaphore;
-      return *this;
-    }
-#endif
-
-    Semaphore & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_semaphore = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Semaphore const & ) const = default;
-#else
-    bool operator==( Semaphore const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_semaphore == rhs.m_semaphore;
-    }
-
-    bool operator!=( Semaphore const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_semaphore != rhs.m_semaphore;
-    }
-
-    bool operator<( Semaphore const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_semaphore < rhs.m_semaphore;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSemaphore() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_semaphore;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_semaphore != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_semaphore == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkSemaphore m_semaphore;
-  };
-  static_assert( sizeof( Semaphore ) == sizeof( VkSemaphore ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eSemaphore>
-  {
-    using type = Semaphore;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eSemaphore>
-  {
-    using Type = Semaphore;
-  };
-
-  class Fence
-  {
-  public:
-    using CType = VkFence;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eFence;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Fence() VULKAN_HPP_NOEXCEPT : m_fence( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Fence( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_fence( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Fence( VkFence fence ) VULKAN_HPP_NOEXCEPT : m_fence( fence ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Fence & operator=( VkFence fence ) VULKAN_HPP_NOEXCEPT
-    {
-      m_fence = fence;
-      return *this;
-    }
-#endif
-
-    Fence & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_fence = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Fence const & ) const = default;
-#else
-    bool operator==( Fence const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_fence == rhs.m_fence;
-    }
-
-    bool operator!=( Fence const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_fence != rhs.m_fence;
-    }
-
-    bool operator<( Fence const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_fence < rhs.m_fence;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkFence() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_fence;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_fence != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_fence == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkFence m_fence;
-  };
-  static_assert( sizeof( Fence ) == sizeof( VkFence ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eFence>
-  {
-    using type = Fence;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eFence>
-  {
-    using Type = Fence;
-  };
-
-  class PerformanceConfigurationINTEL
-  {
-  public:
-    using CType = VkPerformanceConfigurationINTEL;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePerformanceConfigurationINTEL;
-
-  public:
-    VULKAN_HPP_CONSTEXPR PerformanceConfigurationINTEL() VULKAN_HPP_NOEXCEPT
-      : m_performanceConfigurationINTEL( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_CONSTEXPR PerformanceConfigurationINTEL( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_performanceConfigurationINTEL( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    PerformanceConfigurationINTEL( VkPerformanceConfigurationINTEL performanceConfigurationINTEL ) VULKAN_HPP_NOEXCEPT
-      : m_performanceConfigurationINTEL( performanceConfigurationINTEL )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    PerformanceConfigurationINTEL &
-      operator=( VkPerformanceConfigurationINTEL performanceConfigurationINTEL ) VULKAN_HPP_NOEXCEPT
-    {
-      m_performanceConfigurationINTEL = performanceConfigurationINTEL;
-      return *this;
-    }
-#endif
-
-    PerformanceConfigurationINTEL & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_performanceConfigurationINTEL = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceConfigurationINTEL const & ) const = default;
-#else
-    bool operator==( PerformanceConfigurationINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_performanceConfigurationINTEL == rhs.m_performanceConfigurationINTEL;
-    }
-
-    bool operator!=( PerformanceConfigurationINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_performanceConfigurationINTEL != rhs.m_performanceConfigurationINTEL;
-    }
-
-    bool operator<( PerformanceConfigurationINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_performanceConfigurationINTEL < rhs.m_performanceConfigurationINTEL;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPerformanceConfigurationINTEL() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_performanceConfigurationINTEL;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_performanceConfigurationINTEL != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_performanceConfigurationINTEL == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL;
-  };
-  static_assert( sizeof( PerformanceConfigurationINTEL ) == sizeof( VkPerformanceConfigurationINTEL ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePerformanceConfigurationINTEL>
-  {
-    using type = PerformanceConfigurationINTEL;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::ePerformanceConfigurationINTEL>
-  {
-    using Type = PerformanceConfigurationINTEL;
-  };
-
-  class QueryPool
-  {
-  public:
-    using CType = VkQueryPool;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eQueryPool;
-
-  public:
-    VULKAN_HPP_CONSTEXPR QueryPool() VULKAN_HPP_NOEXCEPT : m_queryPool( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR QueryPool( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_queryPool( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT QueryPool( VkQueryPool queryPool ) VULKAN_HPP_NOEXCEPT : m_queryPool( queryPool ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    QueryPool & operator=( VkQueryPool queryPool ) VULKAN_HPP_NOEXCEPT
-    {
-      m_queryPool = queryPool;
-      return *this;
-    }
-#endif
-
-    QueryPool & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_queryPool = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( QueryPool const & ) const = default;
-#else
-    bool operator==( QueryPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queryPool == rhs.m_queryPool;
-    }
-
-    bool operator!=( QueryPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queryPool != rhs.m_queryPool;
-    }
-
-    bool operator<( QueryPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queryPool < rhs.m_queryPool;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkQueryPool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queryPool;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queryPool != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queryPool == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkQueryPool m_queryPool;
-  };
-  static_assert( sizeof( QueryPool ) == sizeof( VkQueryPool ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eQueryPool>
-  {
-    using type = QueryPool;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eQueryPool>
-  {
-    using Type = QueryPool;
-  };
-
-  class Buffer
-  {
-  public:
-    using CType = VkBuffer;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eBuffer;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Buffer() VULKAN_HPP_NOEXCEPT : m_buffer( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Buffer( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_buffer( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Buffer( VkBuffer buffer ) VULKAN_HPP_NOEXCEPT : m_buffer( buffer ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Buffer & operator=( VkBuffer buffer ) VULKAN_HPP_NOEXCEPT
-    {
-      m_buffer = buffer;
-      return *this;
-    }
-#endif
-
-    Buffer & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_buffer = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Buffer const & ) const = default;
-#else
-    bool operator==( Buffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_buffer == rhs.m_buffer;
-    }
-
-    bool operator!=( Buffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_buffer != rhs.m_buffer;
-    }
-
-    bool operator<( Buffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_buffer < rhs.m_buffer;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBuffer() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_buffer;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_buffer != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_buffer == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkBuffer m_buffer;
-  };
-  static_assert( sizeof( Buffer ) == sizeof( VkBuffer ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eBuffer>
-  {
-    using type = Buffer;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eBuffer>
-  {
-    using Type = Buffer;
-  };
-
-  class PipelineLayout
-  {
-  public:
-    using CType = VkPipelineLayout;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePipelineLayout;
-
-  public:
-    VULKAN_HPP_CONSTEXPR PipelineLayout() VULKAN_HPP_NOEXCEPT : m_pipelineLayout( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR PipelineLayout( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_pipelineLayout( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT PipelineLayout( VkPipelineLayout pipelineLayout ) VULKAN_HPP_NOEXCEPT
-      : m_pipelineLayout( pipelineLayout )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    PipelineLayout & operator=( VkPipelineLayout pipelineLayout ) VULKAN_HPP_NOEXCEPT
-    {
-      m_pipelineLayout = pipelineLayout;
-      return *this;
-    }
-#endif
-
-    PipelineLayout & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_pipelineLayout = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineLayout const & ) const = default;
-#else
-    bool operator==( PipelineLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineLayout == rhs.m_pipelineLayout;
-    }
-
-    bool operator!=( PipelineLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineLayout != rhs.m_pipelineLayout;
-    }
-
-    bool operator<( PipelineLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineLayout < rhs.m_pipelineLayout;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipelineLayout() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineLayout;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineLayout != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineLayout == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkPipelineLayout m_pipelineLayout;
-  };
-  static_assert( sizeof( PipelineLayout ) == sizeof( VkPipelineLayout ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePipelineLayout>
-  {
-    using type = PipelineLayout;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::ePipelineLayout>
-  {
-    using Type = PipelineLayout;
-  };
-
-  class DescriptorSet
-  {
-  public:
-    using CType = VkDescriptorSet;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorSet;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DescriptorSet() VULKAN_HPP_NOEXCEPT : m_descriptorSet( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DescriptorSet( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_descriptorSet( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSet( VkDescriptorSet descriptorSet ) VULKAN_HPP_NOEXCEPT
-      : m_descriptorSet( descriptorSet )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DescriptorSet & operator=( VkDescriptorSet descriptorSet ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorSet = descriptorSet;
-      return *this;
-    }
-#endif
-
-    DescriptorSet & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorSet = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSet const & ) const = default;
-#else
-    bool operator==( DescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSet == rhs.m_descriptorSet;
-    }
-
-    bool operator!=( DescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSet != rhs.m_descriptorSet;
-    }
-
-    bool operator<( DescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSet < rhs.m_descriptorSet;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorSet() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSet;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSet != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSet == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDescriptorSet m_descriptorSet;
-  };
-  static_assert( sizeof( DescriptorSet ) == sizeof( VkDescriptorSet ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDescriptorSet>
-  {
-    using type = DescriptorSet;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDescriptorSet>
-  {
-    using Type = DescriptorSet;
-  };
-
-  class Pipeline
-  {
-  public:
-    using CType = VkPipeline;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePipeline;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Pipeline() VULKAN_HPP_NOEXCEPT : m_pipeline( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Pipeline( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_pipeline( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Pipeline( VkPipeline pipeline ) VULKAN_HPP_NOEXCEPT : m_pipeline( pipeline ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Pipeline & operator=( VkPipeline pipeline ) VULKAN_HPP_NOEXCEPT
-    {
-      m_pipeline = pipeline;
-      return *this;
-    }
-#endif
-
-    Pipeline & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_pipeline = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Pipeline const & ) const = default;
-#else
-    bool operator==( Pipeline const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipeline == rhs.m_pipeline;
-    }
-
-    bool operator!=( Pipeline const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipeline != rhs.m_pipeline;
-    }
-
-    bool operator<( Pipeline const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipeline < rhs.m_pipeline;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipeline() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipeline;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipeline != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipeline == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkPipeline m_pipeline;
-  };
-  static_assert( sizeof( Pipeline ) == sizeof( VkPipeline ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePipeline>
-  {
-    using type = Pipeline;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::ePipeline>
-  {
-    using Type = Pipeline;
-  };
-
-  class ImageView
-  {
-  public:
-    using CType = VkImageView;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eImageView;
-
-  public:
-    VULKAN_HPP_CONSTEXPR ImageView() VULKAN_HPP_NOEXCEPT : m_imageView( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR ImageView( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_imageView( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT ImageView( VkImageView imageView ) VULKAN_HPP_NOEXCEPT : m_imageView( imageView ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    ImageView & operator=( VkImageView imageView ) VULKAN_HPP_NOEXCEPT
-    {
-      m_imageView = imageView;
-      return *this;
-    }
-#endif
-
-    ImageView & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_imageView = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageView const & ) const = default;
-#else
-    bool operator==( ImageView const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_imageView == rhs.m_imageView;
-    }
-
-    bool operator!=( ImageView const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_imageView != rhs.m_imageView;
-    }
-
-    bool operator<( ImageView const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_imageView < rhs.m_imageView;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkImageView() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_imageView;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_imageView != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_imageView == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkImageView m_imageView;
-  };
-  static_assert( sizeof( ImageView ) == sizeof( VkImageView ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eImageView>
-  {
-    using type = ImageView;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eImageView>
-  {
-    using Type = ImageView;
-  };
-
-  class Image
-  {
-  public:
-    using CType = VkImage;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eImage;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Image() VULKAN_HPP_NOEXCEPT : m_image( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Image( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_image( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Image( VkImage image ) VULKAN_HPP_NOEXCEPT : m_image( image ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Image & operator=( VkImage image ) VULKAN_HPP_NOEXCEPT
-    {
-      m_image = image;
-      return *this;
-    }
-#endif
-
-    Image & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_image = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Image const & ) const = default;
-#else
-    bool operator==( Image const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_image == rhs.m_image;
-    }
-
-    bool operator!=( Image const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_image != rhs.m_image;
-    }
-
-    bool operator<( Image const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_image < rhs.m_image;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkImage() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_image;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_image != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_image == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkImage m_image;
-  };
-  static_assert( sizeof( Image ) == sizeof( VkImage ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eImage>
-  {
-    using type = Image;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eImage>
-  {
-    using Type = Image;
-  };
-
-  class AccelerationStructureKHR
-  {
-  public:
-    using CType = VkAccelerationStructureKHR;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eAccelerationStructureKHR;
-
-  public:
-    VULKAN_HPP_CONSTEXPR AccelerationStructureKHR() VULKAN_HPP_NOEXCEPT : m_accelerationStructureKHR( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_CONSTEXPR AccelerationStructureKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_accelerationStructureKHR( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    AccelerationStructureKHR( VkAccelerationStructureKHR accelerationStructureKHR ) VULKAN_HPP_NOEXCEPT
-      : m_accelerationStructureKHR( accelerationStructureKHR )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    AccelerationStructureKHR & operator=( VkAccelerationStructureKHR accelerationStructureKHR ) VULKAN_HPP_NOEXCEPT
-    {
-      m_accelerationStructureKHR = accelerationStructureKHR;
-      return *this;
-    }
-#endif
-
-    AccelerationStructureKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_accelerationStructureKHR = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureKHR const & ) const = default;
-#else
-    bool operator==( AccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_accelerationStructureKHR == rhs.m_accelerationStructureKHR;
-    }
-
-    bool operator!=( AccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_accelerationStructureKHR != rhs.m_accelerationStructureKHR;
-    }
-
-    bool operator<( AccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_accelerationStructureKHR < rhs.m_accelerationStructureKHR;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkAccelerationStructureKHR() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_accelerationStructureKHR;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_accelerationStructureKHR != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_accelerationStructureKHR == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkAccelerationStructureKHR m_accelerationStructureKHR;
-  };
-  static_assert( sizeof( AccelerationStructureKHR ) == sizeof( VkAccelerationStructureKHR ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eAccelerationStructureKHR>
-  {
-    using type = AccelerationStructureKHR;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eAccelerationStructureKHR>
-  {
-    using Type = AccelerationStructureKHR;
-  };
-  using AccelerationStructureNV = AccelerationStructureKHR;
-
-  class DescriptorUpdateTemplate
-  {
-  public:
-    using CType = VkDescriptorUpdateTemplate;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorUpdateTemplate;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate() VULKAN_HPP_NOEXCEPT : m_descriptorUpdateTemplate( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_descriptorUpdateTemplate( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    DescriptorUpdateTemplate( VkDescriptorUpdateTemplate descriptorUpdateTemplate ) VULKAN_HPP_NOEXCEPT
-      : m_descriptorUpdateTemplate( descriptorUpdateTemplate )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DescriptorUpdateTemplate & operator=( VkDescriptorUpdateTemplate descriptorUpdateTemplate ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorUpdateTemplate = descriptorUpdateTemplate;
-      return *this;
-    }
-#endif
-
-    DescriptorUpdateTemplate & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorUpdateTemplate = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorUpdateTemplate const & ) const = default;
-#else
-    bool operator==( DescriptorUpdateTemplate const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorUpdateTemplate == rhs.m_descriptorUpdateTemplate;
-    }
-
-    bool operator!=( DescriptorUpdateTemplate const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorUpdateTemplate != rhs.m_descriptorUpdateTemplate;
-    }
-
-    bool operator<( DescriptorUpdateTemplate const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorUpdateTemplate < rhs.m_descriptorUpdateTemplate;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorUpdateTemplate() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorUpdateTemplate;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorUpdateTemplate != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorUpdateTemplate == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDescriptorUpdateTemplate m_descriptorUpdateTemplate;
-  };
-  static_assert( sizeof( DescriptorUpdateTemplate ) == sizeof( VkDescriptorUpdateTemplate ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDescriptorUpdateTemplate>
-  {
-    using type = DescriptorUpdateTemplate;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDescriptorUpdateTemplate>
-  {
-    using Type = DescriptorUpdateTemplate;
-  };
-  using DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate;
-
-  class Event
-  {
-  public:
-    using CType = VkEvent;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eEvent;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Event() VULKAN_HPP_NOEXCEPT : m_event( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Event( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_event( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Event( VkEvent event ) VULKAN_HPP_NOEXCEPT : m_event( event ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Event & operator=( VkEvent event ) VULKAN_HPP_NOEXCEPT
-    {
-      m_event = event;
-      return *this;
-    }
-#endif
-
-    Event & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_event = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Event const & ) const = default;
-#else
-    bool operator==( Event const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_event == rhs.m_event;
-    }
-
-    bool operator!=( Event const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_event != rhs.m_event;
-    }
-
-    bool operator<( Event const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_event < rhs.m_event;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkEvent() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_event;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_event != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_event == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkEvent m_event;
-  };
-  static_assert( sizeof( Event ) == sizeof( VkEvent ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eEvent>
-  {
-    using type = Event;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eEvent>
-  {
-    using Type = Event;
-  };
-
-  class CommandBuffer
-  {
-  public:
-    using CType = VkCommandBuffer;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCommandBuffer;
-
-  public:
-    VULKAN_HPP_CONSTEXPR CommandBuffer() VULKAN_HPP_NOEXCEPT : m_commandBuffer( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR CommandBuffer( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_commandBuffer( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT CommandBuffer( VkCommandBuffer commandBuffer ) VULKAN_HPP_NOEXCEPT
-      : m_commandBuffer( commandBuffer )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    CommandBuffer & operator=( VkCommandBuffer commandBuffer ) VULKAN_HPP_NOEXCEPT
-    {
-      m_commandBuffer = commandBuffer;
-      return *this;
-    }
-#endif
-
-    CommandBuffer & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_commandBuffer = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandBuffer const & ) const = default;
-#else
-    bool operator==( CommandBuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandBuffer == rhs.m_commandBuffer;
-    }
-
-    bool operator!=( CommandBuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandBuffer != rhs.m_commandBuffer;
-    }
-
-    bool operator<( CommandBuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandBuffer < rhs.m_commandBuffer;
-    }
-#endif
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo * pBeginInfo,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type begin( const CommandBufferBeginInfo & beginInfo,
-                                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginConditionalRenderingEXT(
-      const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginConditionalRenderingEXT( const ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginQuery( VULKAN_HPP_NAMESPACE::QueryPool         queryPool,
-                     uint32_t                                query,
-                     VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool         queryPool,
-                               uint32_t                                query,
-                               VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
-                               uint32_t                                index,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
-                          VULKAN_HPP_NAMESPACE::SubpassContents             contents,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginRenderPass( const RenderPassBeginInfo &           renderPassBegin,
-                          VULKAN_HPP_NAMESPACE::SubpassContents contents,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
-                           const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *    pSubpassBeginInfo,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginRenderPass2( const RenderPassBeginInfo & renderPassBegin,
-                           const SubpassBeginInfo &    subpassBeginInfo,
-                           Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
-                              const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *    pSubpassBeginInfo,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginRenderPass2KHR( const RenderPassBeginInfo & renderPassBegin,
-                              const SubpassBeginInfo &    subpassBeginInfo,
-                              Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginTransformFeedbackEXT( uint32_t                                 firstCounterBuffer,
-                                    uint32_t                                 counterBufferCount,
-                                    const VULKAN_HPP_NAMESPACE::Buffer *     pCounterBuffers,
-                                    const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginTransformFeedbackEXT( uint32_t                                                   firstCounterBuffer,
-                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     counterBuffers,
-                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint     pipelineBindPoint,
-                             VULKAN_HPP_NAMESPACE::PipelineLayout        layout,
-                             uint32_t                                    firstSet,
-                             uint32_t                                    descriptorSetCount,
-                             const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
-                             uint32_t                                    dynamicOffsetCount,
-                             const uint32_t *                            pDynamicOffsets,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint                       pipelineBindPoint,
-                             VULKAN_HPP_NAMESPACE::PipelineLayout                          layout,
-                             uint32_t                                                      firstSet,
-                             ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
-                             ArrayProxy<const uint32_t> const &                            dynamicOffsets,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                          VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                          VULKAN_HPP_NAMESPACE::IndexType  indexType,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindPipeline( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
-                       VULKAN_HPP_NAMESPACE::Pipeline          pipeline,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindPipelineShaderGroupNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
-                                    VULKAN_HPP_NAMESPACE::Pipeline          pipeline,
-                                    uint32_t                                groupIndex,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView   imageView,
-                                 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      bindTransformFeedbackBuffersEXT( uint32_t                                 firstBinding,
-                                       uint32_t                                 bindingCount,
-                                       const VULKAN_HPP_NAMESPACE::Buffer *     pBuffers,
-                                       const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
-                                       const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindTransformFeedbackBuffersEXT( uint32_t                                                   firstBinding,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     buffers,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,
-                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindVertexBuffers( uint32_t                                 firstBinding,
-                            uint32_t                                 bindingCount,
-                            const VULKAN_HPP_NAMESPACE::Buffer *     pBuffers,
-                            const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindVertexBuffers( uint32_t                                                   firstBinding,
-                            ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     buffers,
-                            ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindVertexBuffers2EXT( uint32_t                                 firstBinding,
-                                uint32_t                                 bindingCount,
-                                const VULKAN_HPP_NAMESPACE::Buffer *     pBuffers,
-                                const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
-                                const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,
-                                const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void bindVertexBuffers2EXT( uint32_t                                                   firstBinding,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     buffers,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void blitImage( VULKAN_HPP_NAMESPACE::Image             srcImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout       srcImageLayout,
-                    VULKAN_HPP_NAMESPACE::Image             dstImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout       dstImageLayout,
-                    uint32_t                                regionCount,
-                    const VULKAN_HPP_NAMESPACE::ImageBlit * pRegions,
-                    VULKAN_HPP_NAMESPACE::Filter            filter,
-                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void blitImage( VULKAN_HPP_NAMESPACE::Image                               srcImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout                         srcImageLayout,
-                    VULKAN_HPP_NAMESPACE::Image                               dstImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout                         dstImageLayout,
-                    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions,
-                    VULKAN_HPP_NAMESPACE::Filter                              filter,
-                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void buildAccelerationStructureIndirectKHR(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfo,
-      VULKAN_HPP_NAMESPACE::Buffer                                            indirectBuffer,
-      VULKAN_HPP_NAMESPACE::DeviceSize                                        indirectOffset,
-      uint32_t                                                                indirectStride,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void buildAccelerationStructureIndirectKHR( const AccelerationStructureBuildGeometryInfoKHR & info,
-                                                VULKAN_HPP_NAMESPACE::Buffer                      indirectBuffer,
-                                                VULKAN_HPP_NAMESPACE::DeviceSize                  indirectOffset,
-                                                uint32_t                                          indirectStride,
-                                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void buildAccelerationStructureKHR(
-      uint32_t                                                                      infoCount,
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR *       pInfos,
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const * ppOffsetInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void buildAccelerationStructureKHR(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &       infos,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const> const & pOffsetInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void buildAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV * pInfo,
-                                       VULKAN_HPP_NAMESPACE::Buffer                              instanceData,
-                                       VULKAN_HPP_NAMESPACE::DeviceSize                          instanceOffset,
-                                       VULKAN_HPP_NAMESPACE::Bool32                              update,
-                                       VULKAN_HPP_NAMESPACE::AccelerationStructureKHR            dst,
-                                       VULKAN_HPP_NAMESPACE::AccelerationStructureKHR            src,
-                                       VULKAN_HPP_NAMESPACE::Buffer                              scratch,
-                                       VULKAN_HPP_NAMESPACE::DeviceSize                          scratchOffset,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void buildAccelerationStructureNV( const AccelerationStructureInfoNV &            info,
-                                       VULKAN_HPP_NAMESPACE::Buffer                   instanceData,
-                                       VULKAN_HPP_NAMESPACE::DeviceSize               instanceOffset,
-                                       VULKAN_HPP_NAMESPACE::Bool32                   update,
-                                       VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst,
-                                       VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src,
-                                       VULKAN_HPP_NAMESPACE::Buffer                   scratch,
-                                       VULKAN_HPP_NAMESPACE::DeviceSize               scratchOffset,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void clearAttachments( uint32_t                                      attachmentCount,
-                           const VULKAN_HPP_NAMESPACE::ClearAttachment * pAttachments,
-                           uint32_t                                      rectCount,
-                           const VULKAN_HPP_NAMESPACE::ClearRect *       pRects,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void clearAttachments( ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments,
-                           ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const &       rects,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void clearColorImage( VULKAN_HPP_NAMESPACE::Image                         image,
-                          VULKAN_HPP_NAMESPACE::ImageLayout                   imageLayout,
-                          const VULKAN_HPP_NAMESPACE::ClearColorValue *       pColor,
-                          uint32_t                                            rangeCount,
-                          const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void clearColorImage( VULKAN_HPP_NAMESPACE::Image                                           image,
-                          VULKAN_HPP_NAMESPACE::ImageLayout                                     imageLayout,
-                          const ClearColorValue &                                               color,
-                          ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image                          image,
-                                 VULKAN_HPP_NAMESPACE::ImageLayout                    imageLayout,
-                                 const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue * pDepthStencil,
-                                 uint32_t                                             rangeCount,
-                                 const VULKAN_HPP_NAMESPACE::ImageSubresourceRange *  pRanges,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image                                           image,
-                                 VULKAN_HPP_NAMESPACE::ImageLayout                                     imageLayout,
-                                 const ClearDepthStencilValue &                                        depthStencil,
-                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyAccelerationStructureKHR( const CopyAccelerationStructureInfoKHR & info,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         dst,
-                                      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         src,
-                                      VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyAccelerationStructureToMemoryKHR(
-      const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyAccelerationStructureToMemoryKHR( const CopyAccelerationStructureToMemoryInfoKHR & info,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyBuffer( VULKAN_HPP_NAMESPACE::Buffer             srcBuffer,
-                     VULKAN_HPP_NAMESPACE::Buffer             dstBuffer,
-                     uint32_t                                 regionCount,
-                     const VULKAN_HPP_NAMESPACE::BufferCopy * pRegions,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyBuffer( VULKAN_HPP_NAMESPACE::Buffer                               srcBuffer,
-                     VULKAN_HPP_NAMESPACE::Buffer                               dstBuffer,
-                     ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer                  srcBuffer,
-                            VULKAN_HPP_NAMESPACE::Image                   dstImage,
-                            VULKAN_HPP_NAMESPACE::ImageLayout             dstImageLayout,
-                            uint32_t                                      regionCount,
-                            const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer                                    srcBuffer,
-                            VULKAN_HPP_NAMESPACE::Image                                     dstImage,
-                            VULKAN_HPP_NAMESPACE::ImageLayout                               dstImageLayout,
-                            ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyImage( VULKAN_HPP_NAMESPACE::Image             srcImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout       srcImageLayout,
-                    VULKAN_HPP_NAMESPACE::Image             dstImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout       dstImageLayout,
-                    uint32_t                                regionCount,
-                    const VULKAN_HPP_NAMESPACE::ImageCopy * pRegions,
-                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyImage( VULKAN_HPP_NAMESPACE::Image                               srcImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout                         srcImageLayout,
-                    VULKAN_HPP_NAMESPACE::Image                               dstImage,
-                    VULKAN_HPP_NAMESPACE::ImageLayout                         dstImageLayout,
-                    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions,
-                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image                   srcImage,
-                            VULKAN_HPP_NAMESPACE::ImageLayout             srcImageLayout,
-                            VULKAN_HPP_NAMESPACE::Buffer                  dstBuffer,
-                            uint32_t                                      regionCount,
-                            const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image                                     srcImage,
-                            VULKAN_HPP_NAMESPACE::ImageLayout                               srcImageLayout,
-                            VULKAN_HPP_NAMESPACE::Buffer                                    dstBuffer,
-                            ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyMemoryToAccelerationStructureKHR(
-      const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyMemoryToAccelerationStructureKHR( const CopyMemoryToAccelerationStructureInfoKHR & info,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool        queryPool,
-                               uint32_t                               firstQuery,
-                               uint32_t                               queryCount,
-                               VULKAN_HPP_NAMESPACE::Buffer           dstBuffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize       dstOffset,
-                               VULKAN_HPP_NAMESPACE::DeviceSize       stride,
-                               VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void debugMarkerBeginEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void debugMarkerEndEXT( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void debugMarkerInsertEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void dispatch( uint32_t         groupCountX,
-                   uint32_t         groupCountY,
-                   uint32_t         groupCountZ,
-                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void dispatchBase( uint32_t         baseGroupX,
-                       uint32_t         baseGroupY,
-                       uint32_t         baseGroupZ,
-                       uint32_t         groupCountX,
-                       uint32_t         groupCountY,
-                       uint32_t         groupCountZ,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void dispatchBaseKHR( uint32_t         baseGroupX,
-                          uint32_t         baseGroupY,
-                          uint32_t         baseGroupZ,
-                          uint32_t         groupCountX,
-                          uint32_t         groupCountY,
-                          uint32_t         groupCountZ,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                           VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void draw( uint32_t         vertexCount,
-               uint32_t         instanceCount,
-               uint32_t         firstVertex,
-               uint32_t         firstInstance,
-               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndexed( uint32_t         indexCount,
-                      uint32_t         instanceCount,
-                      uint32_t         firstIndex,
-                      int32_t          vertexOffset,
-                      uint32_t         firstInstance,
-                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                              VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                              uint32_t                         drawCount,
-                              uint32_t                         stride,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                   VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                   VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                   VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                   uint32_t                         maxDrawCount,
-                                   uint32_t                         stride,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                      VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                      VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                      VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                      uint32_t                         maxDrawCount,
-                                      uint32_t                         stride,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                      VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                      VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                      VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                      uint32_t                         maxDrawCount,
-                                      uint32_t                         stride,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndirect( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                       VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                       uint32_t                         drawCount,
-                       uint32_t                         stride,
-                       Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndirectByteCountEXT( uint32_t                         instanceCount,
-                                   uint32_t                         firstInstance,
-                                   VULKAN_HPP_NAMESPACE::Buffer     counterBuffer,
-                                   VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
-                                   uint32_t                         counterOffset,
-                                   uint32_t                         vertexStride,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                            VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                            VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                            VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                            uint32_t                         maxDrawCount,
-                            uint32_t                         stride,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                               VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                               uint32_t                         maxDrawCount,
-                               uint32_t                         stride,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                               VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                               uint32_t                         maxDrawCount,
-                               uint32_t                         stride,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                       VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                       VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                       VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                       uint32_t                         maxDrawCount,
-                                       uint32_t                         stride,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                  VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                  uint32_t                         drawCount,
-                                  uint32_t                         stride,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void drawMeshTasksNV( uint32_t         taskCount,
-                          uint32_t         firstTask,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endConditionalRenderingEXT( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endDebugUtilsLabelEXT( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                   uint32_t                        query,
-                   Dispatch const &                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                             uint32_t                        query,
-                             uint32_t                        index,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endRenderPass( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endRenderPass2( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endRenderPass2( const SubpassEndInfo & subpassEndInfo,
-                         Dispatch const &       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endRenderPass2KHR( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endRenderPass2KHR( const SubpassEndInfo & subpassEndInfo,
-                            Dispatch const &       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endTransformFeedbackEXT( uint32_t                                 firstCounterBuffer,
-                                  uint32_t                                 counterBufferCount,
-                                  const VULKAN_HPP_NAMESPACE::Buffer *     pCounterBuffers,
-                                  const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endTransformFeedbackEXT( uint32_t                                                   firstCounterBuffer,
-                                  ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     counterBuffers,
-                                  ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void executeCommands( uint32_t                                    commandBufferCount,
-                          const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void executeCommands( ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32                          isPreprocessed,
-                                     const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32    isPreprocessed,
-                                     const GeneratedCommandsInfoNV & generatedCommandsInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void fillBuffer( VULKAN_HPP_NAMESPACE::Buffer     dstBuffer,
-                     VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                     VULKAN_HPP_NAMESPACE::DeviceSize size,
-                     uint32_t                         data,
-                     Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void nextSubpass( VULKAN_HPP_NAMESPACE::SubpassContents contents,
-                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void nextSubpass2( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
-                       const VULKAN_HPP_NAMESPACE::SubpassEndInfo *   pSubpassEndInfo,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void nextSubpass2( const SubpassBeginInfo & subpassBeginInfo,
-                       const SubpassEndInfo &   subpassEndInfo,
-                       Dispatch const &         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void nextSubpass2KHR( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
-                          const VULKAN_HPP_NAMESPACE::SubpassEndInfo *   pSubpassEndInfo,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void nextSubpass2KHR( const SubpassBeginInfo & subpassBeginInfo,
-                          const SubpassEndInfo &   subpassEndInfo,
-                          Dispatch const &         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags          srcStageMask,
-                          VULKAN_HPP_NAMESPACE::PipelineStageFlags          dstStageMask,
-                          VULKAN_HPP_NAMESPACE::DependencyFlags             dependencyFlags,
-                          uint32_t                                          memoryBarrierCount,
-                          const VULKAN_HPP_NAMESPACE::MemoryBarrier *       pMemoryBarriers,
-                          uint32_t                                          bufferMemoryBarrierCount,
-                          const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,
-                          uint32_t                                          imageMemoryBarrierCount,
-                          const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *  pImageMemoryBarriers,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags                            srcStageMask,
-                          VULKAN_HPP_NAMESPACE::PipelineStageFlags                            dstStageMask,
-                          VULKAN_HPP_NAMESPACE::DependencyFlags                               dependencyFlags,
-                          ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &       memoryBarriers,
-                          ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,
-                          ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &  imageMemoryBarriers,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void preprocessGeneratedCommandsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void preprocessGeneratedCommandsNV( const GeneratedCommandsInfoNV & generatedCommandsInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout   layout,
-                        VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
-                        uint32_t                               offset,
-                        uint32_t                               size,
-                        const void *                           pValues,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout   layout,
-                        VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
-                        uint32_t                               offset,
-                        ArrayProxy<const T> const &            values,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void pushDescriptorSetKHR( VULKAN_HPP_NAMESPACE::PipelineBindPoint          pipelineBindPoint,
-                               VULKAN_HPP_NAMESPACE::PipelineLayout             layout,
-                               uint32_t                                         set,
-                               uint32_t                                         descriptorWriteCount,
-                               const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void pushDescriptorSetKHR( VULKAN_HPP_NAMESPACE::PipelineBindPoint                            pipelineBindPoint,
-                               VULKAN_HPP_NAMESPACE::PipelineLayout                               layout,
-                               uint32_t                                                           set,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                        VULKAN_HPP_NAMESPACE::PipelineLayout           layout,
-                                        uint32_t                                       set,
-                                        const void *                                   pData,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void resetEvent( VULKAN_HPP_NAMESPACE::Event              event,
-                     VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                         uint32_t                        firstQuery,
-                         uint32_t                        queryCount,
-                         Dispatch const &                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void resolveImage( VULKAN_HPP_NAMESPACE::Image                srcImage,
-                       VULKAN_HPP_NAMESPACE::ImageLayout          srcImageLayout,
-                       VULKAN_HPP_NAMESPACE::Image                dstImage,
-                       VULKAN_HPP_NAMESPACE::ImageLayout          dstImageLayout,
-                       uint32_t                                   regionCount,
-                       const VULKAN_HPP_NAMESPACE::ImageResolve * pRegions,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void resolveImage( VULKAN_HPP_NAMESPACE::Image                                  srcImage,
-                       VULKAN_HPP_NAMESPACE::ImageLayout                            srcImageLayout,
-                       VULKAN_HPP_NAMESPACE::Image                                  dstImage,
-                       VULKAN_HPP_NAMESPACE::ImageLayout                            dstImageLayout,
-                       ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setBlendConstants( const float      blendConstants[4],
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setCheckpointNV( const void *     pCheckpointMarker,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setCoarseSampleOrderNV( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV           sampleOrderType,
-                                 uint32_t                                                customSampleOrderCount,
-                                 const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setCoarseSampleOrderNV(
-      VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV                             sampleOrderType,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & customSampleOrders,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setCullModeEXT( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDepthBias( float            depthBiasConstantFactor,
-                       float            depthBiasClamp,
-                       float            depthBiasSlopeFactor,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDepthBounds( float            minDepthBounds,
-                         float            maxDepthBounds,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDepthBoundsTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDepthCompareOpEXT( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDepthTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDepthWriteEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDeviceMask( uint32_t         deviceMask,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDeviceMaskKHR( uint32_t         deviceMask,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDiscardRectangleEXT( uint32_t                             firstDiscardRectangle,
-                                 uint32_t                             discardRectangleCount,
-                                 const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setDiscardRectangleEXT( uint32_t                                               firstDiscardRectangle,
-                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setEvent( VULKAN_HPP_NAMESPACE::Event              event,
-                   VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
-                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setExclusiveScissorNV( uint32_t                             firstExclusiveScissor,
-                                uint32_t                             exclusiveScissorCount,
-                                const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setExclusiveScissorNV( uint32_t                                               firstExclusiveScissor,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setFrontFaceEXT( VULKAN_HPP_NAMESPACE::FrontFace frontFace,
-                          Dispatch const &                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setLineStippleEXT( uint32_t         lineStippleFactor,
-                            uint16_t         lineStipplePattern,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setLineWidth( float lineWidth, Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setPerformanceMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL * pMarkerInfo,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setPerformanceMarkerINTEL( const PerformanceMarkerInfoINTEL & markerInfo,
-                                 Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setPerformanceOverrideINTEL( const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL * pOverrideInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setPerformanceOverrideINTEL( const PerformanceOverrideInfoINTEL & overrideInfo,
-                                   Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      setPerformanceStreamMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL * pMarkerInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setPerformanceStreamMarkerINTEL( const PerformanceStreamMarkerInfoINTEL & markerInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setPrimitiveTopologyEXT( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setSampleLocationsEXT( const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT * pSampleLocationsInfo,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setSampleLocationsEXT( const SampleLocationsInfoEXT & sampleLocationsInfo,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setScissor( uint32_t                             firstScissor,
-                     uint32_t                             scissorCount,
-                     const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,
-                     Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setScissor( uint32_t                                               firstScissor,
-                     ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setScissorWithCountEXT( uint32_t                             scissorCount,
-                                 const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setScissorWithCountEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setStencilCompareMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                uint32_t                               compareMask,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setStencilOpEXT( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                          VULKAN_HPP_NAMESPACE::StencilOp        failOp,
-                          VULKAN_HPP_NAMESPACE::StencilOp        passOp,
-                          VULKAN_HPP_NAMESPACE::StencilOp        depthFailOp,
-                          VULKAN_HPP_NAMESPACE::CompareOp        compareOp,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setStencilReference( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                              uint32_t                               reference,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setStencilTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setStencilWriteMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                              uint32_t                               writeMask,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setViewport( uint32_t                               firstViewport,
-                      uint32_t                               viewportCount,
-                      const VULKAN_HPP_NAMESPACE::Viewport * pViewports,
-                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setViewport( uint32_t                                                 firstViewport,
-                      ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,
-                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      setViewportShadingRatePaletteNV( uint32_t                                           firstViewport,
-                                       uint32_t                                           viewportCount,
-                                       const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setViewportShadingRatePaletteNV(
-      uint32_t                                                             firstViewport,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & shadingRatePalettes,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setViewportWScalingNV( uint32_t                                         firstViewport,
-                                uint32_t                                         viewportCount,
-                                const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setViewportWScalingNV( uint32_t                                                           firstViewport,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setViewportWithCountEXT( uint32_t                               viewportCount,
-                                  const VULKAN_HPP_NAMESPACE::Viewport * pViewports,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setViewportWithCountEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pRaygenShaderBindingTable,
-                               const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pMissShaderBindingTable,
-                               const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pHitShaderBindingTable,
-                               const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pCallableShaderBindingTable,
-                               VULKAN_HPP_NAMESPACE::Buffer                         buffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize                     offset,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void traceRaysIndirectKHR( const StridedBufferRegionKHR &   raygenShaderBindingTable,
-                               const StridedBufferRegionKHR &   missShaderBindingTable,
-                               const StridedBufferRegionKHR &   hitShaderBindingTable,
-                               const StridedBufferRegionKHR &   callableShaderBindingTable,
-                               VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pRaygenShaderBindingTable,
-                       const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pMissShaderBindingTable,
-                       const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pHitShaderBindingTable,
-                       const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pCallableShaderBindingTable,
-                       uint32_t                                             width,
-                       uint32_t                                             height,
-                       uint32_t                                             depth,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void traceRaysKHR( const StridedBufferRegionKHR & raygenShaderBindingTable,
-                       const StridedBufferRegionKHR & missShaderBindingTable,
-                       const StridedBufferRegionKHR & hitShaderBindingTable,
-                       const StridedBufferRegionKHR & callableShaderBindingTable,
-                       uint32_t                       width,
-                       uint32_t                       height,
-                       uint32_t                       depth,
-                       Dispatch const &               d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer     raygenShaderBindingTableBuffer,
-                      VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
-                      VULKAN_HPP_NAMESPACE::Buffer     missShaderBindingTableBuffer,
-                      VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
-                      VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
-                      VULKAN_HPP_NAMESPACE::Buffer     hitShaderBindingTableBuffer,
-                      VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
-                      VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
-                      VULKAN_HPP_NAMESPACE::Buffer     callableShaderBindingTableBuffer,
-                      VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
-                      VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
-                      uint32_t                         width,
-                      uint32_t                         height,
-                      uint32_t                         depth,
-                      Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void updateBuffer( VULKAN_HPP_NAMESPACE::Buffer     dstBuffer,
-                       VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                       VULKAN_HPP_NAMESPACE::DeviceSize dataSize,
-                       const void *                     pData,
-                       Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void updateBuffer( VULKAN_HPP_NAMESPACE::Buffer     dstBuffer,
-                       VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                       ArrayProxy<const T> const &      data,
-                       Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void waitEvents( uint32_t                                          eventCount,
-                     const VULKAN_HPP_NAMESPACE::Event *               pEvents,
-                     VULKAN_HPP_NAMESPACE::PipelineStageFlags          srcStageMask,
-                     VULKAN_HPP_NAMESPACE::PipelineStageFlags          dstStageMask,
-                     uint32_t                                          memoryBarrierCount,
-                     const VULKAN_HPP_NAMESPACE::MemoryBarrier *       pMemoryBarriers,
-                     uint32_t                                          bufferMemoryBarrierCount,
-                     const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,
-                     uint32_t                                          imageMemoryBarrierCount,
-                     const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *  pImageMemoryBarriers,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void waitEvents( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &               events,
-                     VULKAN_HPP_NAMESPACE::PipelineStageFlags                            srcStageMask,
-                     VULKAN_HPP_NAMESPACE::PipelineStageFlags                            dstStageMask,
-                     ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &       memoryBarriers,
-                     ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,
-                     ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &  imageMemoryBarriers,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void writeAccelerationStructuresPropertiesKHR(
-      uint32_t                                               accelerationStructureCount,
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
-      VULKAN_HPP_NAMESPACE::QueryType                        queryType,
-      VULKAN_HPP_NAMESPACE::QueryPool                        queryPool,
-      uint32_t                                               firstQuery,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void writeAccelerationStructuresPropertiesKHR(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
-      VULKAN_HPP_NAMESPACE::QueryType                                          queryType,
-      VULKAN_HPP_NAMESPACE::QueryPool                                          queryPool,
-      uint32_t                                                                 firstQuery,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void writeAccelerationStructuresPropertiesNV(
-      uint32_t                                               accelerationStructureCount,
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
-      VULKAN_HPP_NAMESPACE::QueryType                        queryType,
-      VULKAN_HPP_NAMESPACE::QueryPool                        queryPool,
-      uint32_t                                               firstQuery,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void writeAccelerationStructuresPropertiesNV(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
-      VULKAN_HPP_NAMESPACE::QueryType                                          queryType,
-      VULKAN_HPP_NAMESPACE::QueryPool                                          queryPool,
-      uint32_t                                                                 firstQuery,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void writeBufferMarkerAMD( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
-                               VULKAN_HPP_NAMESPACE::Buffer                dstBuffer,
-                               VULKAN_HPP_NAMESPACE::DeviceSize            dstOffset,
-                               uint32_t                                    marker,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void writeTimestamp( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
-                         VULKAN_HPP_NAMESPACE::QueryPool             queryPool,
-                         uint32_t                                    query,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result end( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type end( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,
-                                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCommandBuffer() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandBuffer;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandBuffer != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandBuffer == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkCommandBuffer m_commandBuffer;
-  };
-  static_assert( sizeof( CommandBuffer ) == sizeof( VkCommandBuffer ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eCommandBuffer>
-  {
-    using type = CommandBuffer;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eCommandBuffer>
-  {
-    using Type = CommandBuffer;
-  };
-
-  class DeviceMemory
-  {
-  public:
-    using CType = VkDeviceMemory;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDeviceMemory;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DeviceMemory() VULKAN_HPP_NOEXCEPT : m_deviceMemory( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DeviceMemory( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_deviceMemory( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT DeviceMemory( VkDeviceMemory deviceMemory ) VULKAN_HPP_NOEXCEPT
-      : m_deviceMemory( deviceMemory )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DeviceMemory & operator=( VkDeviceMemory deviceMemory ) VULKAN_HPP_NOEXCEPT
-    {
-      m_deviceMemory = deviceMemory;
-      return *this;
-    }
-#endif
-
-    DeviceMemory & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_deviceMemory = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceMemory const & ) const = default;
-#else
-    bool                                 operator==( DeviceMemory const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deviceMemory == rhs.m_deviceMemory;
-    }
-
-    bool operator!=( DeviceMemory const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deviceMemory != rhs.m_deviceMemory;
-    }
-
-    bool operator<( DeviceMemory const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deviceMemory < rhs.m_deviceMemory;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDeviceMemory() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deviceMemory;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deviceMemory != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deviceMemory == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDeviceMemory m_deviceMemory;
-  };
-  static_assert( sizeof( DeviceMemory ) == sizeof( VkDeviceMemory ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDeviceMemory>
-  {
-    using type = DeviceMemory;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDeviceMemory>
-  {
-    using Type = DeviceMemory;
-  };
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  class BufferCollectionFUCHSIA
-  {
-  public:
-    using CType = VkBufferCollectionFUCHSIA;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eBufferCollectionFUCHSIA;
-
-  public:
-    VULKAN_HPP_CONSTEXPR BufferCollectionFUCHSIA() VULKAN_HPP_NOEXCEPT : m_bufferCollectionFUCHSIA( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR BufferCollectionFUCHSIA( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_bufferCollectionFUCHSIA( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    BufferCollectionFUCHSIA( VkBufferCollectionFUCHSIA bufferCollectionFUCHSIA ) VULKAN_HPP_NOEXCEPT
-      : m_bufferCollectionFUCHSIA( bufferCollectionFUCHSIA )
-    {}
-
-#  if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    BufferCollectionFUCHSIA & operator=( VkBufferCollectionFUCHSIA bufferCollectionFUCHSIA ) VULKAN_HPP_NOEXCEPT
-    {
-      m_bufferCollectionFUCHSIA = bufferCollectionFUCHSIA;
-      return *this;
-    }
-#  endif
-
-    BufferCollectionFUCHSIA & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_bufferCollectionFUCHSIA = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCollectionFUCHSIA const & ) const = default;
-#  else
-    bool operator==( BufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferCollectionFUCHSIA == rhs.m_bufferCollectionFUCHSIA;
-    }
-
-    bool operator!=( BufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferCollectionFUCHSIA != rhs.m_bufferCollectionFUCHSIA;
-    }
-
-    bool operator<( BufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferCollectionFUCHSIA < rhs.m_bufferCollectionFUCHSIA;
-    }
-#  endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBufferCollectionFUCHSIA() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferCollectionFUCHSIA;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferCollectionFUCHSIA != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferCollectionFUCHSIA == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkBufferCollectionFUCHSIA m_bufferCollectionFUCHSIA;
-  };
-  static_assert( sizeof( BufferCollectionFUCHSIA ) == sizeof( VkBufferCollectionFUCHSIA ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eBufferCollectionFUCHSIA>
-  {
-    using type = BufferCollectionFUCHSIA;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eBufferCollectionFUCHSIA>
-  {
-    using Type = BufferCollectionFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  class BufferView
-  {
-  public:
-    using CType = VkBufferView;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eBufferView;
-
-  public:
-    VULKAN_HPP_CONSTEXPR BufferView() VULKAN_HPP_NOEXCEPT : m_bufferView( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR BufferView( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_bufferView( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT BufferView( VkBufferView bufferView ) VULKAN_HPP_NOEXCEPT : m_bufferView( bufferView )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    BufferView & operator=( VkBufferView bufferView ) VULKAN_HPP_NOEXCEPT
-    {
-      m_bufferView = bufferView;
-      return *this;
-    }
-#endif
-
-    BufferView & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_bufferView = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferView const & ) const = default;
-#else
-    bool operator==( BufferView const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferView == rhs.m_bufferView;
-    }
-
-    bool operator!=( BufferView const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferView != rhs.m_bufferView;
-    }
-
-    bool operator<( BufferView const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferView < rhs.m_bufferView;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBufferView() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferView;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferView != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_bufferView == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkBufferView m_bufferView;
-  };
-  static_assert( sizeof( BufferView ) == sizeof( VkBufferView ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eBufferView>
-  {
-    using type = BufferView;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eBufferView>
-  {
-    using Type = BufferView;
-  };
-
-  class CommandPool
-  {
-  public:
-    using CType = VkCommandPool;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eCommandPool;
-
-  public:
-    VULKAN_HPP_CONSTEXPR CommandPool() VULKAN_HPP_NOEXCEPT : m_commandPool( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR CommandPool( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_commandPool( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT CommandPool( VkCommandPool commandPool ) VULKAN_HPP_NOEXCEPT
-      : m_commandPool( commandPool )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    CommandPool & operator=( VkCommandPool commandPool ) VULKAN_HPP_NOEXCEPT
-    {
-      m_commandPool = commandPool;
-      return *this;
-    }
-#endif
-
-    CommandPool & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_commandPool = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandPool const & ) const = default;
-#else
-    bool operator==( CommandPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandPool == rhs.m_commandPool;
-    }
-
-    bool operator!=( CommandPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandPool != rhs.m_commandPool;
-    }
-
-    bool operator<( CommandPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandPool < rhs.m_commandPool;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCommandPool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandPool;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandPool != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_commandPool == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkCommandPool m_commandPool;
-  };
-  static_assert( sizeof( CommandPool ) == sizeof( VkCommandPool ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eCommandPool>
-  {
-    using type = CommandPool;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eCommandPool>
-  {
-    using Type = CommandPool;
-  };
-
-  class PipelineCache
-  {
-  public:
-    using CType = VkPipelineCache;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePipelineCache;
-
-  public:
-    VULKAN_HPP_CONSTEXPR PipelineCache() VULKAN_HPP_NOEXCEPT : m_pipelineCache( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR PipelineCache( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_pipelineCache( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT PipelineCache( VkPipelineCache pipelineCache ) VULKAN_HPP_NOEXCEPT
-      : m_pipelineCache( pipelineCache )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    PipelineCache & operator=( VkPipelineCache pipelineCache ) VULKAN_HPP_NOEXCEPT
-    {
-      m_pipelineCache = pipelineCache;
-      return *this;
-    }
-#endif
-
-    PipelineCache & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_pipelineCache = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCache const & ) const = default;
-#else
-    bool operator==( PipelineCache const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineCache == rhs.m_pipelineCache;
-    }
-
-    bool operator!=( PipelineCache const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineCache != rhs.m_pipelineCache;
-    }
-
-    bool operator<( PipelineCache const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineCache < rhs.m_pipelineCache;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipelineCache() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineCache;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineCache != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_pipelineCache == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkPipelineCache m_pipelineCache;
-  };
-  static_assert( sizeof( PipelineCache ) == sizeof( VkPipelineCache ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePipelineCache>
-  {
-    using type = PipelineCache;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::ePipelineCache>
-  {
-    using Type = PipelineCache;
-  };
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  class DeferredOperationKHR
-  {
-  public:
-    using CType = VkDeferredOperationKHR;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDeferredOperationKHR;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DeferredOperationKHR() VULKAN_HPP_NOEXCEPT : m_deferredOperationKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DeferredOperationKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_deferredOperationKHR( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT DeferredOperationKHR( VkDeferredOperationKHR deferredOperationKHR ) VULKAN_HPP_NOEXCEPT
-      : m_deferredOperationKHR( deferredOperationKHR )
-    {}
-
-#  if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DeferredOperationKHR & operator=( VkDeferredOperationKHR deferredOperationKHR ) VULKAN_HPP_NOEXCEPT
-    {
-      m_deferredOperationKHR = deferredOperationKHR;
-      return *this;
-    }
-#  endif
-
-    DeferredOperationKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_deferredOperationKHR = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeferredOperationKHR const & ) const = default;
-#  else
-    bool operator==( DeferredOperationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deferredOperationKHR == rhs.m_deferredOperationKHR;
-    }
-
-    bool operator!=( DeferredOperationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deferredOperationKHR != rhs.m_deferredOperationKHR;
-    }
-
-    bool operator<( DeferredOperationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deferredOperationKHR < rhs.m_deferredOperationKHR;
-    }
-#  endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDeferredOperationKHR() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deferredOperationKHR;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deferredOperationKHR != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_deferredOperationKHR == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDeferredOperationKHR m_deferredOperationKHR;
-  };
-  static_assert( sizeof( DeferredOperationKHR ) == sizeof( VkDeferredOperationKHR ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDeferredOperationKHR>
-  {
-    using type = DeferredOperationKHR;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDeferredOperationKHR>
-  {
-    using Type = DeferredOperationKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  class DescriptorPool
-  {
-  public:
-    using CType = VkDescriptorPool;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorPool;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DescriptorPool() VULKAN_HPP_NOEXCEPT : m_descriptorPool( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DescriptorPool( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_descriptorPool( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorPool( VkDescriptorPool descriptorPool ) VULKAN_HPP_NOEXCEPT
-      : m_descriptorPool( descriptorPool )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DescriptorPool & operator=( VkDescriptorPool descriptorPool ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorPool = descriptorPool;
-      return *this;
-    }
-#endif
-
-    DescriptorPool & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorPool = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorPool const & ) const = default;
-#else
-    bool operator==( DescriptorPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorPool == rhs.m_descriptorPool;
-    }
-
-    bool operator!=( DescriptorPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorPool != rhs.m_descriptorPool;
-    }
-
-    bool operator<( DescriptorPool const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorPool < rhs.m_descriptorPool;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorPool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorPool;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorPool != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorPool == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDescriptorPool m_descriptorPool;
-  };
-  static_assert( sizeof( DescriptorPool ) == sizeof( VkDescriptorPool ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDescriptorPool>
-  {
-    using type = DescriptorPool;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDescriptorPool>
-  {
-    using Type = DescriptorPool;
-  };
-
-  class DescriptorSetLayout
-  {
-  public:
-    using CType = VkDescriptorSetLayout;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDescriptorSetLayout;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DescriptorSetLayout() VULKAN_HPP_NOEXCEPT : m_descriptorSetLayout( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DescriptorSetLayout( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_descriptorSetLayout( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSetLayout( VkDescriptorSetLayout descriptorSetLayout ) VULKAN_HPP_NOEXCEPT
-      : m_descriptorSetLayout( descriptorSetLayout )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DescriptorSetLayout & operator=( VkDescriptorSetLayout descriptorSetLayout ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorSetLayout = descriptorSetLayout;
-      return *this;
-    }
-#endif
-
-    DescriptorSetLayout & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_descriptorSetLayout = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetLayout const & ) const = default;
-#else
-    bool operator==( DescriptorSetLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSetLayout == rhs.m_descriptorSetLayout;
-    }
-
-    bool operator!=( DescriptorSetLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSetLayout != rhs.m_descriptorSetLayout;
-    }
-
-    bool operator<( DescriptorSetLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSetLayout < rhs.m_descriptorSetLayout;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorSetLayout() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSetLayout;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSetLayout != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_descriptorSetLayout == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDescriptorSetLayout m_descriptorSetLayout;
-  };
-  static_assert( sizeof( DescriptorSetLayout ) == sizeof( VkDescriptorSetLayout ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDescriptorSetLayout>
-  {
-    using type = DescriptorSetLayout;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDescriptorSetLayout>
-  {
-    using Type = DescriptorSetLayout;
-  };
-
-  class Framebuffer
-  {
-  public:
-    using CType = VkFramebuffer;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eFramebuffer;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Framebuffer() VULKAN_HPP_NOEXCEPT : m_framebuffer( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Framebuffer( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_framebuffer( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Framebuffer( VkFramebuffer framebuffer ) VULKAN_HPP_NOEXCEPT
-      : m_framebuffer( framebuffer )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Framebuffer & operator=( VkFramebuffer framebuffer ) VULKAN_HPP_NOEXCEPT
-    {
-      m_framebuffer = framebuffer;
-      return *this;
-    }
-#endif
-
-    Framebuffer & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_framebuffer = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Framebuffer const & ) const = default;
-#else
-    bool operator==( Framebuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_framebuffer == rhs.m_framebuffer;
-    }
-
-    bool operator!=( Framebuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_framebuffer != rhs.m_framebuffer;
-    }
-
-    bool operator<( Framebuffer const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_framebuffer < rhs.m_framebuffer;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkFramebuffer() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_framebuffer;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_framebuffer != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_framebuffer == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkFramebuffer m_framebuffer;
-  };
-  static_assert( sizeof( Framebuffer ) == sizeof( VkFramebuffer ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eFramebuffer>
-  {
-    using type = Framebuffer;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eFramebuffer>
-  {
-    using Type = Framebuffer;
-  };
-
-  class IndirectCommandsLayoutNV
-  {
-  public:
-    using CType = VkIndirectCommandsLayoutNV;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eIndirectCommandsLayoutNV;
-
-  public:
-    VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNV() VULKAN_HPP_NOEXCEPT : m_indirectCommandsLayoutNV( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNV( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_indirectCommandsLayoutNV( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    IndirectCommandsLayoutNV( VkIndirectCommandsLayoutNV indirectCommandsLayoutNV ) VULKAN_HPP_NOEXCEPT
-      : m_indirectCommandsLayoutNV( indirectCommandsLayoutNV )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    IndirectCommandsLayoutNV & operator=( VkIndirectCommandsLayoutNV indirectCommandsLayoutNV ) VULKAN_HPP_NOEXCEPT
-    {
-      m_indirectCommandsLayoutNV = indirectCommandsLayoutNV;
-      return *this;
-    }
-#endif
-
-    IndirectCommandsLayoutNV & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_indirectCommandsLayoutNV = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( IndirectCommandsLayoutNV const & ) const = default;
-#else
-    bool operator==( IndirectCommandsLayoutNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_indirectCommandsLayoutNV == rhs.m_indirectCommandsLayoutNV;
-    }
-
-    bool operator!=( IndirectCommandsLayoutNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_indirectCommandsLayoutNV != rhs.m_indirectCommandsLayoutNV;
-    }
-
-    bool operator<( IndirectCommandsLayoutNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_indirectCommandsLayoutNV < rhs.m_indirectCommandsLayoutNV;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkIndirectCommandsLayoutNV() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_indirectCommandsLayoutNV;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_indirectCommandsLayoutNV != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_indirectCommandsLayoutNV == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV;
-  };
-  static_assert( sizeof( IndirectCommandsLayoutNV ) == sizeof( VkIndirectCommandsLayoutNV ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eIndirectCommandsLayoutNV>
-  {
-    using type = IndirectCommandsLayoutNV;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eIndirectCommandsLayoutNV>
-  {
-    using Type = IndirectCommandsLayoutNV;
-  };
-
-  class PrivateDataSlotEXT
-  {
-  public:
-    using CType = VkPrivateDataSlotEXT;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePrivateDataSlotEXT;
-
-  public:
-    VULKAN_HPP_CONSTEXPR PrivateDataSlotEXT() VULKAN_HPP_NOEXCEPT : m_privateDataSlotEXT( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR PrivateDataSlotEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_privateDataSlotEXT( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT PrivateDataSlotEXT( VkPrivateDataSlotEXT privateDataSlotEXT ) VULKAN_HPP_NOEXCEPT
-      : m_privateDataSlotEXT( privateDataSlotEXT )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    PrivateDataSlotEXT & operator=( VkPrivateDataSlotEXT privateDataSlotEXT ) VULKAN_HPP_NOEXCEPT
-    {
-      m_privateDataSlotEXT = privateDataSlotEXT;
-      return *this;
-    }
-#endif
-
-    PrivateDataSlotEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_privateDataSlotEXT = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PrivateDataSlotEXT const & ) const = default;
-#else
-    bool operator==( PrivateDataSlotEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_privateDataSlotEXT == rhs.m_privateDataSlotEXT;
-    }
-
-    bool operator!=( PrivateDataSlotEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_privateDataSlotEXT != rhs.m_privateDataSlotEXT;
-    }
-
-    bool operator<( PrivateDataSlotEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_privateDataSlotEXT < rhs.m_privateDataSlotEXT;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPrivateDataSlotEXT() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_privateDataSlotEXT;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_privateDataSlotEXT != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_privateDataSlotEXT == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkPrivateDataSlotEXT m_privateDataSlotEXT;
-  };
-  static_assert( sizeof( PrivateDataSlotEXT ) == sizeof( VkPrivateDataSlotEXT ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePrivateDataSlotEXT>
-  {
-    using type = PrivateDataSlotEXT;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::ePrivateDataSlotEXT>
-  {
-    using Type = PrivateDataSlotEXT;
-  };
-
-  class RenderPass
-  {
-  public:
-    using CType = VkRenderPass;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eRenderPass;
-
-  public:
-    VULKAN_HPP_CONSTEXPR RenderPass() VULKAN_HPP_NOEXCEPT : m_renderPass( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR RenderPass( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_renderPass( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT RenderPass( VkRenderPass renderPass ) VULKAN_HPP_NOEXCEPT : m_renderPass( renderPass )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    RenderPass & operator=( VkRenderPass renderPass ) VULKAN_HPP_NOEXCEPT
-    {
-      m_renderPass = renderPass;
-      return *this;
-    }
-#endif
-
-    RenderPass & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_renderPass = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPass const & ) const = default;
-#else
-    bool operator==( RenderPass const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_renderPass == rhs.m_renderPass;
-    }
-
-    bool operator!=( RenderPass const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_renderPass != rhs.m_renderPass;
-    }
-
-    bool operator<( RenderPass const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_renderPass < rhs.m_renderPass;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkRenderPass() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_renderPass;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_renderPass != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_renderPass == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkRenderPass m_renderPass;
-  };
-  static_assert( sizeof( RenderPass ) == sizeof( VkRenderPass ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eRenderPass>
-  {
-    using type = RenderPass;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eRenderPass>
-  {
-    using Type = RenderPass;
-  };
-
-  class Sampler
-  {
-  public:
-    using CType = VkSampler;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSampler;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Sampler() VULKAN_HPP_NOEXCEPT : m_sampler( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Sampler( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_sampler( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Sampler( VkSampler sampler ) VULKAN_HPP_NOEXCEPT : m_sampler( sampler ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Sampler & operator=( VkSampler sampler ) VULKAN_HPP_NOEXCEPT
-    {
-      m_sampler = sampler;
-      return *this;
-    }
-#endif
-
-    Sampler & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_sampler = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Sampler const & ) const = default;
-#else
-    bool operator==( Sampler const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_sampler == rhs.m_sampler;
-    }
-
-    bool operator!=( Sampler const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_sampler != rhs.m_sampler;
-    }
-
-    bool operator<( Sampler const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_sampler < rhs.m_sampler;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSampler() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_sampler;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_sampler != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_sampler == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkSampler m_sampler;
-  };
-  static_assert( sizeof( Sampler ) == sizeof( VkSampler ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eSampler>
-  {
-    using type = Sampler;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eSampler>
-  {
-    using Type = Sampler;
-  };
-
-  class SamplerYcbcrConversion
-  {
-  public:
-    using CType = VkSamplerYcbcrConversion;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eSamplerYcbcrConversion;
-
-  public:
-    VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion() VULKAN_HPP_NOEXCEPT : m_samplerYcbcrConversion( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_samplerYcbcrConversion( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT
-    SamplerYcbcrConversion( VkSamplerYcbcrConversion samplerYcbcrConversion ) VULKAN_HPP_NOEXCEPT
-      : m_samplerYcbcrConversion( samplerYcbcrConversion )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    SamplerYcbcrConversion & operator=( VkSamplerYcbcrConversion samplerYcbcrConversion ) VULKAN_HPP_NOEXCEPT
-    {
-      m_samplerYcbcrConversion = samplerYcbcrConversion;
-      return *this;
-    }
-#endif
-
-    SamplerYcbcrConversion & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_samplerYcbcrConversion = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SamplerYcbcrConversion const & ) const = default;
-#else
-    bool operator==( SamplerYcbcrConversion const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_samplerYcbcrConversion == rhs.m_samplerYcbcrConversion;
-    }
-
-    bool operator!=( SamplerYcbcrConversion const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_samplerYcbcrConversion != rhs.m_samplerYcbcrConversion;
-    }
-
-    bool operator<( SamplerYcbcrConversion const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_samplerYcbcrConversion < rhs.m_samplerYcbcrConversion;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSamplerYcbcrConversion() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_samplerYcbcrConversion;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_samplerYcbcrConversion != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_samplerYcbcrConversion == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkSamplerYcbcrConversion m_samplerYcbcrConversion;
-  };
-  static_assert( sizeof( SamplerYcbcrConversion ) == sizeof( VkSamplerYcbcrConversion ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eSamplerYcbcrConversion>
-  {
-    using type = SamplerYcbcrConversion;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eSamplerYcbcrConversion>
-  {
-    using Type = SamplerYcbcrConversion;
-  };
-  using SamplerYcbcrConversionKHR = SamplerYcbcrConversion;
-
-  class ShaderModule
-  {
-  public:
-    using CType = VkShaderModule;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eShaderModule;
-
-  public:
-    VULKAN_HPP_CONSTEXPR ShaderModule() VULKAN_HPP_NOEXCEPT : m_shaderModule( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR ShaderModule( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_shaderModule( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT ShaderModule( VkShaderModule shaderModule ) VULKAN_HPP_NOEXCEPT
-      : m_shaderModule( shaderModule )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    ShaderModule & operator=( VkShaderModule shaderModule ) VULKAN_HPP_NOEXCEPT
-    {
-      m_shaderModule = shaderModule;
-      return *this;
-    }
-#endif
-
-    ShaderModule & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_shaderModule = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ShaderModule const & ) const = default;
-#else
-    bool operator==( ShaderModule const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_shaderModule == rhs.m_shaderModule;
-    }
-
-    bool operator!=( ShaderModule const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_shaderModule != rhs.m_shaderModule;
-    }
-
-    bool operator<( ShaderModule const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_shaderModule < rhs.m_shaderModule;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkShaderModule() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_shaderModule;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_shaderModule != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_shaderModule == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkShaderModule m_shaderModule;
-  };
-  static_assert( sizeof( ShaderModule ) == sizeof( VkShaderModule ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eShaderModule>
-  {
-    using type = ShaderModule;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eShaderModule>
-  {
-    using Type = ShaderModule;
-  };
-
-  class ValidationCacheEXT
-  {
-  public:
-    using CType = VkValidationCacheEXT;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eValidationCacheEXT;
-
-  public:
-    VULKAN_HPP_CONSTEXPR ValidationCacheEXT() VULKAN_HPP_NOEXCEPT : m_validationCacheEXT( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR ValidationCacheEXT( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-      : m_validationCacheEXT( VK_NULL_HANDLE )
-    {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT ValidationCacheEXT( VkValidationCacheEXT validationCacheEXT ) VULKAN_HPP_NOEXCEPT
-      : m_validationCacheEXT( validationCacheEXT )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    ValidationCacheEXT & operator=( VkValidationCacheEXT validationCacheEXT ) VULKAN_HPP_NOEXCEPT
-    {
-      m_validationCacheEXT = validationCacheEXT;
-      return *this;
-    }
-#endif
-
-    ValidationCacheEXT & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_validationCacheEXT = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ValidationCacheEXT const & ) const = default;
-#else
-    bool operator==( ValidationCacheEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_validationCacheEXT == rhs.m_validationCacheEXT;
-    }
-
-    bool operator!=( ValidationCacheEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_validationCacheEXT != rhs.m_validationCacheEXT;
-    }
-
-    bool operator<( ValidationCacheEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_validationCacheEXT < rhs.m_validationCacheEXT;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkValidationCacheEXT() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_validationCacheEXT;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_validationCacheEXT != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_validationCacheEXT == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkValidationCacheEXT m_validationCacheEXT;
-  };
-  static_assert( sizeof( ValidationCacheEXT ) == sizeof( VkValidationCacheEXT ),
-                 "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eValidationCacheEXT>
-  {
-    using type = ValidationCacheEXT;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eValidationCacheEXT>
-  {
-    using Type = ValidationCacheEXT;
-  };
-
-  class Queue
-  {
-  public:
-    using CType = VkQueue;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eQueue;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Queue() VULKAN_HPP_NOEXCEPT : m_queue( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Queue( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_queue( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Queue( VkQueue queue ) VULKAN_HPP_NOEXCEPT : m_queue( queue ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Queue & operator=( VkQueue queue ) VULKAN_HPP_NOEXCEPT
-    {
-      m_queue = queue;
-      return *this;
-    }
-#endif
-
-    Queue & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_queue = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Queue const & ) const = default;
-#else
-    bool operator==( Queue const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queue == rhs.m_queue;
-    }
-
-    bool operator!=( Queue const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queue != rhs.m_queue;
-    }
-
-    bool operator<( Queue const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queue < rhs.m_queue;
-    }
-#endif
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getCheckpointDataNV( uint32_t *                               pCheckpointDataCount,
-                              VULKAN_HPP_NAMESPACE::CheckpointDataNV * pCheckpointData,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<CheckpointDataNV>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<CheckpointDataNV, Allocator>
-      getCheckpointDataNV( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<CheckpointDataNV>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<CheckpointDataNV, Allocator> getCheckpointDataNV( Allocator const & vectorAllocator,
-                                                                  Dispatch const &  d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindSparse( uint32_t                                     bindInfoCount,
-                       const VULKAN_HPP_NAMESPACE::BindSparseInfo * pBindInfo,
-                       VULKAN_HPP_NAMESPACE::Fence                  fence,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      bindSparse( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo,
-                  VULKAN_HPP_NAMESPACE::Fence                                    fence,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void endDebugUtilsLabelEXT( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR * pPresentInfo,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result presentKHR( const PresentInfoKHR & presentInfo, Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result submit( uint32_t                                 submitCount,
-                   const VULKAN_HPP_NAMESPACE::SubmitInfo * pSubmits,
-                   VULKAN_HPP_NAMESPACE::Fence              fence,
-                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits,
-                                                 VULKAN_HPP_NAMESPACE::Fence                                fence,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitIdle( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type waitIdle( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkQueue() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queue;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queue != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_queue == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkQueue m_queue;
-  };
-  static_assert( sizeof( Queue ) == sizeof( VkQueue ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eQueue>
-  {
-    using type = Queue;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eQueue>
-  {
-    using Type = Queue;
-  };
-
-#ifndef VULKAN_HPP_NO_SMART_HANDLE
-  class Device;
-  template <typename Dispatch>
-  class UniqueHandleTraits<AccelerationStructureKHR, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueAccelerationStructureKHR = UniqueHandle<AccelerationStructureKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  using UniqueAccelerationStructureNV  = UniqueHandle<AccelerationStructureKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Buffer, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueBuffer = UniqueHandle<Buffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#  ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  class UniqueHandleTraits<BufferCollectionFUCHSIA, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueBufferCollectionFUCHSIA = UniqueHandle<BufferCollectionFUCHSIA, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#  endif /*VK_USE_PLATFORM_FUCHSIA*/
-  template <typename Dispatch>
-  class UniqueHandleTraits<BufferView, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueBufferView = UniqueHandle<BufferView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<CommandBuffer, Dispatch>
-  {
-  public:
-    using deleter = PoolFree<Device, CommandPool, Dispatch>;
-  };
-  using UniqueCommandBuffer = UniqueHandle<CommandBuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<CommandPool, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueCommandPool = UniqueHandle<CommandPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  class UniqueHandleTraits<DeferredOperationKHR, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueDeferredOperationKHR = UniqueHandle<DeferredOperationKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  template <typename Dispatch>
-  class UniqueHandleTraits<DescriptorPool, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueDescriptorPool = UniqueHandle<DescriptorPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<DescriptorSet, Dispatch>
-  {
-  public:
-    using deleter = PoolFree<Device, DescriptorPool, Dispatch>;
-  };
-  using UniqueDescriptorSet = UniqueHandle<DescriptorSet, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<DescriptorSetLayout, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueDescriptorSetLayout = UniqueHandle<DescriptorSetLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<DescriptorUpdateTemplate, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueDescriptorUpdateTemplate    = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  using UniqueDescriptorUpdateTemplateKHR = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<DeviceMemory, Dispatch>
-  {
-  public:
-    using deleter = ObjectFree<Device, Dispatch>;
-  };
-  using UniqueDeviceMemory = UniqueHandle<DeviceMemory, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Event, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueEvent = UniqueHandle<Event, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Fence, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueFence = UniqueHandle<Fence, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Framebuffer, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueFramebuffer = UniqueHandle<Framebuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Image, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueImage = UniqueHandle<Image, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<ImageView, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueImageView = UniqueHandle<ImageView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<IndirectCommandsLayoutNV, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueIndirectCommandsLayoutNV = UniqueHandle<IndirectCommandsLayoutNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Pipeline, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniquePipeline = UniqueHandle<Pipeline, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<PipelineCache, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniquePipelineCache = UniqueHandle<PipelineCache, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<PipelineLayout, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniquePipelineLayout = UniqueHandle<PipelineLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<PrivateDataSlotEXT, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniquePrivateDataSlotEXT = UniqueHandle<PrivateDataSlotEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<QueryPool, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueQueryPool = UniqueHandle<QueryPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<RenderPass, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueRenderPass = UniqueHandle<RenderPass, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Sampler, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueSampler = UniqueHandle<Sampler, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<SamplerYcbcrConversion, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueSamplerYcbcrConversion    = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  using UniqueSamplerYcbcrConversionKHR = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<Semaphore, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueSemaphore = UniqueHandle<Semaphore, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<ShaderModule, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueShaderModule = UniqueHandle<ShaderModule, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<SwapchainKHR, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueSwapchainKHR = UniqueHandle<SwapchainKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<ValidationCacheEXT, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Device, Dispatch>;
-  };
-  using UniqueValidationCacheEXT = UniqueHandle<ValidationCacheEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-
-  class Device
-  {
-  public:
-    using CType = VkDevice;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDevice;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Device() VULKAN_HPP_NOEXCEPT : m_device( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Device( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_device( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Device( VkDevice device ) VULKAN_HPP_NOEXCEPT : m_device( device ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Device & operator=( VkDevice device ) VULKAN_HPP_NOEXCEPT
-    {
-      m_device = device;
-      return *this;
-    }
-#endif
-
-    Device & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_device = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Device const & ) const = default;
-#else
-    bool                                 operator==( Device const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_device == rhs.m_device;
-    }
-
-    bool operator!=( Device const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_device != rhs.m_device;
-    }
-
-    bool operator<( Device const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_device < rhs.m_device;
-    }
-#endif
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                         Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR * pAcquireInfo,
-                                 uint32_t *                                            pImageIndex,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<uint32_t> acquireNextImage2KHR( const AcquireNextImageInfoKHR & acquireInfo,
-                                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                uint64_t                           timeout,
-                                VULKAN_HPP_NAMESPACE::Semaphore    semaphore,
-                                VULKAN_HPP_NAMESPACE::Fence        fence,
-                                uint32_t *                         pImageIndex,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<uint32_t> acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                               uint64_t                           timeout,
-                                               VULKAN_HPP_NAMESPACE::Semaphore    semaphore,
-                                               VULKAN_HPP_NAMESPACE::Fence        fence,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result acquirePerformanceConfigurationINTEL(
-      const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
-      VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL *                  pConfiguration,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>::type
-      acquirePerformanceConfigurationINTEL( const PerformanceConfigurationAcquireInfoINTEL & acquireInfo,
-                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result acquireProfilingLockKHR( const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR * pInfo,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      acquireProfilingLockKHR( const AcquireProfilingLockInfoKHR & info,
-                               Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo * pAllocateInfo,
-                                   VULKAN_HPP_NAMESPACE::CommandBuffer *                   pCommandBuffers,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<CommandBuffer>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<CommandBuffer, Allocator>>::type
-      allocateCommandBuffers( const CommandBufferAllocateInfo & allocateInfo,
-                              Dispatch const &                  d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<CommandBuffer>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<CommandBuffer, Allocator>>::type allocateCommandBuffers(
-      const CommandBufferAllocateInfo & allocateInfo, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Allocator = std::allocator<UniqueCommandBuffer>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<UniqueHandle<CommandBuffer, Dispatch>, Allocator>>::type
-      allocateCommandBuffersUnique( const CommandBufferAllocateInfo & allocateInfo,
-                                    Dispatch const &                  d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<UniqueCommandBuffer>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<UniqueHandle<CommandBuffer, Dispatch>, Allocator>>::type
-      allocateCommandBuffersUnique( const CommandBufferAllocateInfo & allocateInfo,
-                                    Allocator const &                 vectorAllocator,
-                                    Dispatch const &                  d ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo * pAllocateInfo,
-                                   VULKAN_HPP_NAMESPACE::DescriptorSet *                   pDescriptorSets,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DescriptorSet>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DescriptorSet, Allocator>>::type
-      allocateDescriptorSets( const DescriptorSetAllocateInfo & allocateInfo,
-                              Dispatch const &                  d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DescriptorSet>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DescriptorSet, Allocator>>::type allocateDescriptorSets(
-      const DescriptorSetAllocateInfo & allocateInfo, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Allocator = std::allocator<UniqueDescriptorSet>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<UniqueHandle<DescriptorSet, Dispatch>, Allocator>>::type
-      allocateDescriptorSetsUnique( const DescriptorSetAllocateInfo & allocateInfo,
-                                    Dispatch const &                  d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<UniqueDescriptorSet>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<UniqueHandle<DescriptorSet, Dispatch>, Allocator>>::type
-      allocateDescriptorSetsUnique( const DescriptorSetAllocateInfo & allocateInfo,
-                                    Allocator const &                 vectorAllocator,
-                                    Dispatch const &                  d ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result allocateMemory( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo *  pAllocateInfo,
-                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                           VULKAN_HPP_NAMESPACE::DeviceMemory *              pMemory,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceMemory>::type
-      allocateMemory( const MemoryAllocateInfo &          allocateInfo,
-                      Optional<const AllocationCallbacks> allocator = nullptr,
-                      Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DeviceMemory, Dispatch>>::type
-      allocateMemoryUnique( const MemoryAllocateInfo &          allocateInfo,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindAccelerationStructureMemoryKHR(
-      uint32_t                                                             bindInfoCount,
-      const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR * pBindInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type bindAccelerationStructureMemoryKHR(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR> const & bindInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindAccelerationStructureMemoryNV(
-      uint32_t                                                             bindInfoCount,
-      const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR * pBindInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type bindAccelerationStructureMemoryNV(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR> const & bindInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindBufferMemory( VULKAN_HPP_NAMESPACE::Buffer       buffer,
-                             VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                             VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type bindBufferMemory( VULKAN_HPP_NAMESPACE::Buffer       buffer,
-                                                           VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                                           VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
-                                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindBufferMemory2( uint32_t                                           bindInfoCount,
-                              const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      bindBufferMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindBufferMemory2KHR( uint32_t                                           bindInfoCount,
-                                 const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      bindBufferMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindImageMemory( VULKAN_HPP_NAMESPACE::Image        image,
-                            VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                            VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type bindImageMemory( VULKAN_HPP_NAMESPACE::Image        image,
-                                                          VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                                          VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
-                                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindImageMemory2( uint32_t                                          bindInfoCount,
-                             const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      bindImageMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result bindImageMemory2KHR( uint32_t                                          bindInfoCount,
-                                const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      bindImageMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result buildAccelerationStructureKHR(
-      uint32_t                                                                      infoCount,
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR *       pInfos,
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const * ppOffsetInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result buildAccelerationStructureKHR(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &       infos,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const> const & pOffsetInfos,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                              uint32_t                       shader,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                            uint32_t                       shader,
-                                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result copyAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result copyAccelerationStructureKHR( const CopyAccelerationStructureInfoKHR & info,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result copyAccelerationStructureToMemoryKHR(
-      const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result copyAccelerationStructureToMemoryKHR( const CopyAccelerationStructureToMemoryInfoKHR & info,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result copyMemoryToAccelerationStructureKHR(
-      const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result copyMemoryToAccelerationStructureKHR( const CopyMemoryToAccelerationStructureInfoKHR & info,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR * pCreateInfo,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-                                      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructure,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>::type
-      createAccelerationStructureKHR( const AccelerationStructureCreateInfoKHR & createInfo,
-                                      Optional<const AllocationCallbacks>        allocator = nullptr,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<AccelerationStructureKHR, Dispatch>>::type
-      createAccelerationStructureKHRUnique( const AccelerationStructureCreateInfoKHR & createInfo,
-                                            Optional<const AllocationCallbacks>        allocator = nullptr,
-                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *               pAllocator,
-                                     VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructure,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::type
-      createAccelerationStructureNV( const AccelerationStructureCreateInfoNV & createInfo,
-                                     Optional<const AllocationCallbacks>       allocator = nullptr,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<AccelerationStructureNV, Dispatch>>::type
-      createAccelerationStructureNVUnique( const AccelerationStructureCreateInfoNV & createInfo,
-                                           Optional<const AllocationCallbacks>       allocator = nullptr,
-                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createBuffer( const VULKAN_HPP_NAMESPACE::BufferCreateInfo *    pCreateInfo,
-                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                         VULKAN_HPP_NAMESPACE::Buffer *                    pBuffer,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Buffer>::type
-      createBuffer( const BufferCreateInfo &            createInfo,
-                    Optional<const AllocationCallbacks> allocator = nullptr,
-                    Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Buffer, Dispatch>>::type
-      createBufferUnique( const BufferCreateInfo &            createInfo,
-                          Optional<const AllocationCallbacks> allocator = nullptr,
-                          Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createBufferCollectionFUCHSIA( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA * pImportInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *               pAllocator,
-                                     VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA *                 pCollection,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>::type
-      createBufferCollectionFUCHSIA( const BufferCollectionCreateInfoFUCHSIA & importInfo,
-                                     Optional<const AllocationCallbacks>       allocator = nullptr,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<BufferCollectionFUCHSIA, Dispatch>>::type
-      createBufferCollectionFUCHSIAUnique( const BufferCollectionCreateInfoFUCHSIA & importInfo,
-                                           Optional<const AllocationCallbacks>       allocator = nullptr,
-                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_FUCHSIA*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createBufferView( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo * pCreateInfo,
-                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks *  pAllocator,
-                             VULKAN_HPP_NAMESPACE::BufferView *                 pView,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferView>::type
-      createBufferView( const BufferViewCreateInfo &        createInfo,
-                        Optional<const AllocationCallbacks> allocator = nullptr,
-                        Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<BufferView, Dispatch>>::type
-      createBufferViewUnique( const BufferViewCreateInfo &        createInfo,
-                              Optional<const AllocationCallbacks> allocator = nullptr,
-                              Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createCommandPool( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo * pCreateInfo,
-                              const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                              VULKAN_HPP_NAMESPACE::CommandPool *                 pCommandPool,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::CommandPool>::type
-      createCommandPool( const CommandPoolCreateInfo &       createInfo,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<CommandPool, Dispatch>>::type
-      createCommandPoolUnique( const CommandPoolCreateInfo &       createInfo,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache                     pipelineCache,
-                                   uint32_t                                                createInfoCount,
-                                   const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfos,
-                                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                   VULKAN_HPP_NAMESPACE::Pipeline *                        pPipelines,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>>
-      createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-                              ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-                              Optional<const AllocationCallbacks> allocator = nullptr,
-                              Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>>
-      createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-                              ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-                              Optional<const AllocationCallbacks>                                       allocator,
-                              Allocator const &                                                         vectorAllocator,
-                              Dispatch const &                                                          d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<Pipeline> createComputePipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                                 const ComputePipelineCreateInfo &   createInfo,
-                                                 Optional<const AllocationCallbacks> allocator = nullptr,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createComputePipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                       allocator = nullptr,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createComputePipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                       allocator,
-      Allocator const &                                                         vectorAllocator,
-      Dispatch const &                                                          d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<UniqueHandle<Pipeline, Dispatch>>
-      createComputePipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                   const ComputePipelineCreateInfo &   createInfo,
-                                   Optional<const AllocationCallbacks> allocator = nullptr,
-                                   Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDeferredOperationKHR( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                       VULKAN_HPP_NAMESPACE::DeferredOperationKHR *      pDeferredOperation,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::type
-      createDeferredOperationKHR( Optional<const AllocationCallbacks> allocator = nullptr,
-                                  Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DeferredOperationKHR, Dispatch>>::type
-      createDeferredOperationKHRUnique( Optional<const AllocationCallbacks> allocator = nullptr,
-                                        Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDescriptorPool( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo * pCreateInfo,
-                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                 VULKAN_HPP_NAMESPACE::DescriptorPool *                 pDescriptorPool,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorPool>::type
-      createDescriptorPool( const DescriptorPoolCreateInfo &    createInfo,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DescriptorPool, Dispatch>>::type
-      createDescriptorPoolUnique( const DescriptorPoolCreateInfo &    createInfo,
-                                  Optional<const AllocationCallbacks> allocator = nullptr,
-                                  Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDescriptorSetLayout( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *           pAllocator,
-                                      VULKAN_HPP_NAMESPACE::DescriptorSetLayout *                 pSetLayout,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>::type
-      createDescriptorSetLayout( const DescriptorSetLayoutCreateInfo & createInfo,
-                                 Optional<const AllocationCallbacks>   allocator = nullptr,
-                                 Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DescriptorSetLayout, Dispatch>>::type
-      createDescriptorSetLayoutUnique( const DescriptorSetLayoutCreateInfo & createInfo,
-                                       Optional<const AllocationCallbacks>   allocator = nullptr,
-                                       Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createDescriptorUpdateTemplate( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-                                      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
-      createDescriptorUpdateTemplate( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                      Optional<const AllocationCallbacks>        allocator = nullptr,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DescriptorUpdateTemplate, Dispatch>>::type
-      createDescriptorUpdateTemplateUnique( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                            Optional<const AllocationCallbacks>        allocator = nullptr,
-                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createDescriptorUpdateTemplateKHR( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-                                         VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
-      createDescriptorUpdateTemplateKHR( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                         Optional<const AllocationCallbacks>        allocator = nullptr,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DescriptorUpdateTemplate, Dispatch>>::type
-      createDescriptorUpdateTemplateKHRUnique( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                               Optional<const AllocationCallbacks>        allocator = nullptr,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createEvent( const VULKAN_HPP_NAMESPACE::EventCreateInfo *     pCreateInfo,
-                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                        VULKAN_HPP_NAMESPACE::Event *                     pEvent,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Event>::type
-      createEvent( const EventCreateInfo &             createInfo,
-                   Optional<const AllocationCallbacks> allocator = nullptr,
-                   Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Event, Dispatch>>::type
-      createEventUnique( const EventCreateInfo &             createInfo,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createFence( const VULKAN_HPP_NAMESPACE::FenceCreateInfo *     pCreateInfo,
-                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                        VULKAN_HPP_NAMESPACE::Fence *                     pFence,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
-      createFence( const FenceCreateInfo &             createInfo,
-                   Optional<const AllocationCallbacks> allocator = nullptr,
-                   Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Fence, Dispatch>>::type
-      createFenceUnique( const FenceCreateInfo &             createInfo,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createFramebuffer( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo * pCreateInfo,
-                              const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                              VULKAN_HPP_NAMESPACE::Framebuffer *                 pFramebuffer,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Framebuffer>::type
-      createFramebuffer( const FramebufferCreateInfo &       createInfo,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Framebuffer, Dispatch>>::type
-      createFramebufferUnique( const FramebufferCreateInfo &       createInfo,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache                      pipelineCache,
-                                    uint32_t                                                 createInfoCount,
-                                    const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo * pCreateInfos,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *        pAllocator,
-                                    VULKAN_HPP_NAMESPACE::Pipeline *                         pPipelines,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>>
-      createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>>
-      createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-                               Optional<const AllocationCallbacks>                                        allocator,
-                               Allocator const & vectorAllocator,
-                               Dispatch const &  d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<Pipeline> createGraphicsPipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                                  const GraphicsPipelineCreateInfo &  createInfo,
-                                                  Optional<const AllocationCallbacks> allocator = nullptr,
-                                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createGraphicsPipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                        allocator = nullptr,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createGraphicsPipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                        allocator,
-      Allocator const &                                                          vectorAllocator,
-      Dispatch const &                                                           d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<UniqueHandle<Pipeline, Dispatch>>
-      createGraphicsPipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                    const GraphicsPipelineCreateInfo &  createInfo,
-                                    Optional<const AllocationCallbacks> allocator = nullptr,
-                                    Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createImage( const VULKAN_HPP_NAMESPACE::ImageCreateInfo *     pCreateInfo,
-                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                        VULKAN_HPP_NAMESPACE::Image *                     pImage,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Image>::type
-      createImage( const ImageCreateInfo &             createInfo,
-                   Optional<const AllocationCallbacks> allocator = nullptr,
-                   Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Image, Dispatch>>::type
-      createImageUnique( const ImageCreateInfo &             createInfo,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createImageView( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo * pCreateInfo,
-                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                            VULKAN_HPP_NAMESPACE::ImageView *                 pView,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageView>::type
-      createImageView( const ImageViewCreateInfo &         createInfo,
-                       Optional<const AllocationCallbacks> allocator = nullptr,
-                       Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<ImageView, Dispatch>>::type
-      createImageViewUnique( const ImageViewCreateInfo &         createInfo,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createIndirectCommandsLayoutNV( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV * pCreateInfo,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-                                      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV * pIndirectCommandsLayout,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>::type
-      createIndirectCommandsLayoutNV( const IndirectCommandsLayoutCreateInfoNV & createInfo,
-                                      Optional<const AllocationCallbacks>        allocator = nullptr,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<IndirectCommandsLayoutNV, Dispatch>>::type
-      createIndirectCommandsLayoutNVUnique( const IndirectCommandsLayoutCreateInfoNV & createInfo,
-                                            Optional<const AllocationCallbacks>        allocator = nullptr,
-                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createPipelineCache( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo * pCreateInfo,
-                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *     pAllocator,
-                                VULKAN_HPP_NAMESPACE::PipelineCache *                 pPipelineCache,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineCache>::type
-      createPipelineCache( const PipelineCacheCreateInfo &     createInfo,
-                           Optional<const AllocationCallbacks> allocator = nullptr,
-                           Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<PipelineCache, Dispatch>>::type
-      createPipelineCacheUnique( const PipelineCacheCreateInfo &     createInfo,
-                                 Optional<const AllocationCallbacks> allocator = nullptr,
-                                 Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createPipelineLayout( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo * pCreateInfo,
-                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                 VULKAN_HPP_NAMESPACE::PipelineLayout *                 pPipelineLayout,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineLayout>::type
-      createPipelineLayout( const PipelineLayoutCreateInfo &    createInfo,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<PipelineLayout, Dispatch>>::type
-      createPipelineLayoutUnique( const PipelineLayoutCreateInfo &    createInfo,
-                                  Optional<const AllocationCallbacks> allocator = nullptr,
-                                  Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createPrivateDataSlotEXT( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                     VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT *                 pPrivateDataSlot,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>::type
-      createPrivateDataSlotEXT( const PrivateDataSlotCreateInfoEXT & createInfo,
-                                Optional<const AllocationCallbacks>  allocator = nullptr,
-                                Dispatch const &                     d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<PrivateDataSlotEXT, Dispatch>>::type
-      createPrivateDataSlotEXTUnique( const PrivateDataSlotCreateInfoEXT & createInfo,
-                                      Optional<const AllocationCallbacks>  allocator = nullptr,
-                                      Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createQueryPool( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo * pCreateInfo,
-                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                            VULKAN_HPP_NAMESPACE::QueryPool *                 pQueryPool,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::QueryPool>::type
-      createQueryPool( const QueryPoolCreateInfo &         createInfo,
-                       Optional<const AllocationCallbacks> allocator = nullptr,
-                       Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<QueryPool, Dispatch>>::type
-      createQueryPoolUnique( const QueryPoolCreateInfo &         createInfo,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::PipelineCache                           pipelineCache,
-                                         uint32_t                                                      createInfoCount,
-                                         const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks *             pAllocator,
-                                         VULKAN_HPP_NAMESPACE::Pipeline *                              pPipelines,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>> createRayTracingPipelinesKHR(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                             allocator = nullptr,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>> createRayTracingPipelinesKHR(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                             allocator,
-      Allocator const &                                                               vectorAllocator,
-      Dispatch const &                                                                d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<Pipeline> createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::PipelineCache     pipelineCache,
-                                                       const RayTracingPipelineCreateInfoKHR & createInfo,
-                                                       Optional<const AllocationCallbacks>     allocator = nullptr,
-                                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createRayTracingPipelinesKHRUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                             allocator = nullptr,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createRayTracingPipelinesKHRUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                             allocator,
-      Allocator const &                                                               vectorAllocator,
-      Dispatch const &                                                                d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<UniqueHandle<Pipeline, Dispatch>>
-      createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::PipelineCache     pipelineCache,
-                                         const RayTracingPipelineCreateInfoKHR & createInfo,
-                                         Optional<const AllocationCallbacks>     allocator = nullptr,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache                          pipelineCache,
-                                        uint32_t                                                     createInfoCount,
-                                        const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV * pCreateInfos,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks *            pAllocator,
-                                        VULKAN_HPP_NAMESPACE::Pipeline *                             pPipelines,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>> createRayTracingPipelinesNV(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-      Optional<const AllocationCallbacks>                                            allocator = nullptr,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<Pipeline, Allocator>> createRayTracingPipelinesNV(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-      Optional<const AllocationCallbacks>                                            allocator,
-      Allocator const &                                                              vectorAllocator,
-      Dispatch const &                                                               d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<Pipeline> createRayTracingPipelineNV( VULKAN_HPP_NAMESPACE::PipelineCache    pipelineCache,
-                                                      const RayTracingPipelineCreateInfoNV & createInfo,
-                                                      Optional<const AllocationCallbacks>    allocator = nullptr,
-                                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createRayTracingPipelinesNVUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-      Optional<const AllocationCallbacks>                                            allocator = nullptr,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<UniquePipeline>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>> createRayTracingPipelinesNVUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-      Optional<const AllocationCallbacks>                                            allocator,
-      Allocator const &                                                              vectorAllocator,
-      Dispatch const &                                                               d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    ResultValue<UniqueHandle<Pipeline, Dispatch>>
-      createRayTracingPipelineNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache    pipelineCache,
-                                        const RayTracingPipelineCreateInfoNV & createInfo,
-                                        Optional<const AllocationCallbacks>    allocator = nullptr,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo * pCreateInfo,
-                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks *  pAllocator,
-                             VULKAN_HPP_NAMESPACE::RenderPass *                 pRenderPass,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
-      createRenderPass( const RenderPassCreateInfo &        createInfo,
-                        Optional<const AllocationCallbacks> allocator = nullptr,
-                        Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<RenderPass, Dispatch>>::type
-      createRenderPassUnique( const RenderPassCreateInfo &        createInfo,
-                              Optional<const AllocationCallbacks> allocator = nullptr,
-                              Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,
-                              const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                              VULKAN_HPP_NAMESPACE::RenderPass *                  pRenderPass,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
-      createRenderPass2( const RenderPassCreateInfo2 &       createInfo,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<RenderPass, Dispatch>>::type
-      createRenderPass2Unique( const RenderPassCreateInfo2 &       createInfo,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,
-                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                                 VULKAN_HPP_NAMESPACE::RenderPass *                  pRenderPass,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
-      createRenderPass2KHR( const RenderPassCreateInfo2 &       createInfo,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<RenderPass, Dispatch>>::type
-      createRenderPass2KHRUnique( const RenderPassCreateInfo2 &       createInfo,
-                                  Optional<const AllocationCallbacks> allocator = nullptr,
-                                  Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createSampler( const VULKAN_HPP_NAMESPACE::SamplerCreateInfo *   pCreateInfo,
-                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                          VULKAN_HPP_NAMESPACE::Sampler *                   pSampler,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Sampler>::type
-      createSampler( const SamplerCreateInfo &           createInfo,
-                     Optional<const AllocationCallbacks> allocator = nullptr,
-                     Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Sampler, Dispatch>>::type
-      createSamplerUnique( const SamplerCreateInfo &           createInfo,
-                           Optional<const AllocationCallbacks> allocator = nullptr,
-                           Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createSamplerYcbcrConversion( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                         VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
-      createSamplerYcbcrConversion( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                    Optional<const AllocationCallbacks>      allocator = nullptr,
-                                    Dispatch const &                         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SamplerYcbcrConversion, Dispatch>>::type
-      createSamplerYcbcrConversionUnique( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                          Optional<const AllocationCallbacks>      allocator = nullptr,
-                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createSamplerYcbcrConversionKHR( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                       VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion *                 pYcbcrConversion,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
-      createSamplerYcbcrConversionKHR( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                       Optional<const AllocationCallbacks>      allocator = nullptr,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SamplerYcbcrConversion, Dispatch>>::type
-      createSamplerYcbcrConversionKHRUnique( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                             Optional<const AllocationCallbacks>      allocator = nullptr,
-                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo * pCreateInfo,
-                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                            VULKAN_HPP_NAMESPACE::Semaphore *                 pSemaphore,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Semaphore>::type
-      createSemaphore( const SemaphoreCreateInfo &         createInfo,
-                       Optional<const AllocationCallbacks> allocator = nullptr,
-                       Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Semaphore, Dispatch>>::type
-      createSemaphoreUnique( const SemaphoreCreateInfo &         createInfo,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createShaderModule( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,
-                               const VULKAN_HPP_NAMESPACE::AllocationCallbacks *    pAllocator,
-                               VULKAN_HPP_NAMESPACE::ShaderModule *                 pShaderModule,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ShaderModule>::type
-      createShaderModule( const ShaderModuleCreateInfo &      createInfo,
-                          Optional<const AllocationCallbacks> allocator = nullptr,
-                          Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<ShaderModule, Dispatch>>::type
-      createShaderModuleUnique( const ShaderModuleCreateInfo &      createInfo,
-                                Optional<const AllocationCallbacks> allocator = nullptr,
-                                Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createSharedSwapchainsKHR( uint32_t                                             swapchainCount,
-                                      const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfos,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *    pAllocator,
-                                      VULKAN_HPP_NAMESPACE::SwapchainKHR *                 pSwapchains,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SwapchainKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<SwapchainKHR, Allocator>>::type
-      createSharedSwapchainsKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-                                 Optional<const AllocationCallbacks> allocator = nullptr,
-                                 Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SwapchainKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<SwapchainKHR, Allocator>>::type
-      createSharedSwapchainsKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-                                 Optional<const AllocationCallbacks>                                    allocator,
-                                 Allocator const &                                                      vectorAllocator,
-                                 Dispatch const &                                                       d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<SwapchainKHR>::type
-      createSharedSwapchainKHR( const SwapchainCreateInfoKHR &      createInfo,
-                                Optional<const AllocationCallbacks> allocator = nullptr,
-                                Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Allocator = std::allocator<UniqueSwapchainKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>, Allocator>>::type
-      createSharedSwapchainsKHRUnique(
-        ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-        Optional<const AllocationCallbacks>                                    allocator = nullptr,
-        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<UniqueSwapchainKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>, Allocator>>::type
-      createSharedSwapchainsKHRUnique(
-        ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-        Optional<const AllocationCallbacks>                                    allocator,
-        Allocator const &                                                      vectorAllocator,
-        Dispatch const &                                                       d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SwapchainKHR, Dispatch>>::type
-      createSharedSwapchainKHRUnique( const SwapchainCreateInfoKHR &      createInfo,
-                                      Optional<const AllocationCallbacks> allocator = nullptr,
-                                      Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfo,
-                               const VULKAN_HPP_NAMESPACE::AllocationCallbacks *    pAllocator,
-                               VULKAN_HPP_NAMESPACE::SwapchainKHR *                 pSwapchain,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SwapchainKHR>::type
-      createSwapchainKHR( const SwapchainCreateInfoKHR &      createInfo,
-                          Optional<const AllocationCallbacks> allocator = nullptr,
-                          Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SwapchainKHR, Dispatch>>::type
-      createSwapchainKHRUnique( const SwapchainCreateInfoKHR &      createInfo,
-                                Optional<const AllocationCallbacks> allocator = nullptr,
-                                Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createValidationCacheEXT( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                     VULKAN_HPP_NAMESPACE::ValidationCacheEXT *                 pValidationCache,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::type
-      createValidationCacheEXT( const ValidationCacheCreateInfoEXT & createInfo,
-                                Optional<const AllocationCallbacks>  allocator = nullptr,
-                                Dispatch const &                     d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<ValidationCacheEXT, Dispatch>>::type
-      createValidationCacheEXTUnique( const ValidationCacheCreateInfoEXT & createInfo,
-                                      Optional<const AllocationCallbacks>  allocator = nullptr,
-                                      Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT * pNameInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT & nameInfo,
-                                   Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT * pTagInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT & tagInfo,
-                                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR    accelerationStructure,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                       Optional<const AllocationCallbacks>            allocator = nullptr,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR    accelerationStructure,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                  Optional<const AllocationCallbacks>            allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR    accelerationStructure,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                         Optional<const AllocationCallbacks>            allocator = nullptr,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer                      buffer,
-                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer        buffer,
-                        Optional<const AllocationCallbacks> allocator = nullptr,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Buffer                      buffer,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Buffer        buffer,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA     collection,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                         Optional<const AllocationCallbacks>           allocator = nullptr,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA     collection,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                  Optional<const AllocationCallbacks>           allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView                  bufferView,
-                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView    bufferView,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::BufferView                  bufferView,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::BufferView    bufferView,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool                 commandPool,
-                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool   commandPool,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::CommandPool                 commandPool,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::CommandPool   commandPool,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR        operation,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                      Optional<const AllocationCallbacks>        allocator = nullptr,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR        operation,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                  Optional<const AllocationCallbacks>        allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool              descriptorPool,
-                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
-                                Optional<const AllocationCallbacks>  allocator = nullptr,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DescriptorPool              descriptorPool,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
-                  Optional<const AllocationCallbacks>  allocator = nullptr,
-                  Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout         descriptorSetLayout,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
-                                     Optional<const AllocationCallbacks>       allocator = nullptr,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout         descriptorSetLayout,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
-                  Optional<const AllocationCallbacks>       allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate    descriptorUpdateTemplate,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                       Optional<const AllocationCallbacks>            allocator = nullptr,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate    descriptorUpdateTemplate,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                  Optional<const AllocationCallbacks>            allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate    descriptorUpdateTemplate,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                             Optional<const AllocationCallbacks>            allocator = nullptr,
-                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyEvent( VULKAN_HPP_NAMESPACE::Event                       event,
-                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyEvent( VULKAN_HPP_NAMESPACE::Event         event,
-                       Optional<const AllocationCallbacks> allocator = nullptr,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Event                       event,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Event         event,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyFence( VULKAN_HPP_NAMESPACE::Fence                       fence,
-                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyFence( VULKAN_HPP_NAMESPACE::Fence         fence,
-                       Optional<const AllocationCallbacks> allocator = nullptr,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Fence                       fence,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Fence         fence,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer                 framebuffer,
-                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer   framebuffer,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Framebuffer                 framebuffer,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Framebuffer   framebuffer,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyImage( VULKAN_HPP_NAMESPACE::Image                       image,
-                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyImage( VULKAN_HPP_NAMESPACE::Image         image,
-                       Optional<const AllocationCallbacks> allocator = nullptr,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Image                       image,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Image         image,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyImageView( VULKAN_HPP_NAMESPACE::ImageView                   imageView,
-                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyImageView( VULKAN_HPP_NAMESPACE::ImageView     imageView,
-                           Optional<const AllocationCallbacks> allocator = nullptr,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::ImageView                   imageView,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::ImageView     imageView,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV    indirectCommandsLayout,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
-                                       Optional<const AllocationCallbacks>            allocator = nullptr,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV    indirectCommandsLayout,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
-                  Optional<const AllocationCallbacks>            allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline                    pipeline,
-                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline      pipeline,
-                          Optional<const AllocationCallbacks> allocator = nullptr,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Pipeline                    pipeline,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Pipeline      pipeline,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache               pipelineCache,
-                               const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::PipelineCache               pipelineCache,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout              pipelineLayout,
-                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
-                                Optional<const AllocationCallbacks>  allocator = nullptr,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::PipelineLayout              pipelineLayout,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
-                  Optional<const AllocationCallbacks>  allocator = nullptr,
-                  Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT          privateDataSlot,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                    Optional<const AllocationCallbacks>      allocator = nullptr,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT          privateDataSlot,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                  Optional<const AllocationCallbacks>      allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool                   queryPool,
-                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool     queryPool,
-                           Optional<const AllocationCallbacks> allocator = nullptr,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::QueryPool                   queryPool,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::QueryPool     queryPool,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass                  renderPass,
-                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass    renderPass,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::RenderPass                  renderPass,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::RenderPass    renderPass,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySampler( VULKAN_HPP_NAMESPACE::Sampler                     sampler,
-                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySampler( VULKAN_HPP_NAMESPACE::Sampler       sampler,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Sampler                     sampler,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Sampler       sampler,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion      ycbcrConversion,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
-                                        Optional<const AllocationCallbacks>          allocator = nullptr,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion      ycbcrConversion,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
-                  Optional<const AllocationCallbacks>          allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion      ycbcrConversion,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
-                                        Optional<const AllocationCallbacks>          allocator = nullptr,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore                   semaphore,
-                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore     semaphore,
-                           Optional<const AllocationCallbacks> allocator = nullptr,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Semaphore                   semaphore,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::Semaphore     semaphore,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule                shaderModule,
-                              const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule  shaderModule,
-                              Optional<const AllocationCallbacks> allocator = nullptr,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::ShaderModule                shaderModule,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::ShaderModule  shaderModule,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR                swapchain,
-                              const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR  swapchain,
-                              Optional<const AllocationCallbacks> allocator = nullptr,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR                swapchain,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR  swapchain,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT          validationCache,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                    Optional<const AllocationCallbacks>      allocator = nullptr,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT          validationCache,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                  Optional<const AllocationCallbacks>      allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitIdle( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type waitIdle( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR                  display,
-                                   const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT * pDisplayPowerInfo,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                              const DisplayPowerInfoEXT &      displayPowerInfo,
-                              Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result flushMappedMemoryRanges( uint32_t                                        memoryRangeCount,
-                                    const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      flushMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool           commandPool,
-                             uint32_t                                    commandBufferCount,
-                             const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool                             commandPool,
-                             ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void free( VULKAN_HPP_NAMESPACE::CommandPool           commandPool,
-               uint32_t                                    commandBufferCount,
-               const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
-               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void free( VULKAN_HPP_NAMESPACE::CommandPool                             commandPool,
-               ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
-               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool        descriptorPool,
-                               uint32_t                                    descriptorSetCount,
-                               const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool                          descriptorPool,
-                          ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result free( VULKAN_HPP_NAMESPACE::DescriptorPool        descriptorPool,
-                 uint32_t                                    descriptorSetCount,
-                 const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
-                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      free( VULKAN_HPP_NAMESPACE::DescriptorPool                          descriptorPool,
-            ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
-            Dispatch const &                                              d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory                memory,
-                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory  memory,
-                     Optional<const AllocationCallbacks> allocator = nullptr,
-                     Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void free( VULKAN_HPP_NAMESPACE::DeviceMemory                memory,
-               const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void free( VULKAN_HPP_NAMESPACE::DeviceMemory  memory,
-               Optional<const AllocationCallbacks> allocator = nullptr,
-               Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getAccelerationStructureAddressKHR(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR * pInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getAccelerationStructureAddressKHR( const AccelerationStructureDeviceAddressInfoKHR & info,
-                                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                        size_t                                         dataSize,
-                                        void *                                         pData,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                        ArrayProxy<T> const &                          data,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getAccelerationStructureMemoryRequirementsKHR(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoKHR * pInfo,
-      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                                  pMemoryRequirements,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 getAccelerationStructureMemoryRequirementsKHR(
-      const AccelerationStructureMemoryRequirementsInfoKHR & info,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...> getAccelerationStructureMemoryRequirementsKHR(
-      const AccelerationStructureMemoryRequirementsInfoKHR & info,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getAccelerationStructureMemoryRequirementsNV(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV * pInfo,
-      VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR *                              pMemoryRequirements,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR getAccelerationStructureMemoryRequirementsNV(
-      const AccelerationStructureMemoryRequirementsInfoNV & info,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...> getAccelerationStructureMemoryRequirementsNV(
-      const AccelerationStructureMemoryRequirementsInfoNV & info,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getAndroidHardwareBufferPropertiesANDROID(
-      const struct AHardwareBuffer *                                 buffer,
-      VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID * pProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>::type
-      getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<StructureChain<X, Y, Z...>>::type
-      getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getBufferCollectionProperties2FUCHSIA(
-      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA              collection,
-      VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA * pProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA>::type
-      getBufferCollectionProperties2FUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA             collection,
-                                                 VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA * pProperties,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA>::type
-      getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getBufferAddress( const BufferDeviceAddressInfo & info,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getBufferAddressEXT( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getBufferAddressEXT( const BufferDeviceAddressInfo & info,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getBufferAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    DeviceAddress getBufferAddressKHR( const BufferDeviceAddressInfo & info,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer               buffer,
-                                      VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements
-      getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,
-                                       VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                 pMemoryRequirements,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,
-                                       VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                 pMemoryRequirements,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getBufferOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getBufferOpaqueCaptureAddress( const BufferDeviceAddressInfo & info,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getBufferOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getBufferOpaqueCaptureAddressKHR( const BufferDeviceAddressInfo & info,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getCalibratedTimestampsEXT( uint32_t                                                 timestampCount,
-                                       const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT * pTimestampInfos,
-                                       uint64_t *                                               pTimestamps,
-                                       uint64_t *                                               pMaxDeviation,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<uint64_t>::type getCalibratedTimestampsEXT(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos,
-      ArrayProxy<uint64_t> const &                                               timestamps,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint32_t getDeferredOperationMaxConcurrencyKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
-                                        VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *          pSupport,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
-      getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
-                                        VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *          pSupport,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
-      getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getAccelerationStructureCompatibilityKHR(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionKHR * version,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      getAccelerationStructureCompatibilityKHR( const AccelerationStructureVersionKHR & version,
-                                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getGroupPeerMemoryFeatures( uint32_t                                       heapIndex,
-                                     uint32_t                                       localDeviceIndex,
-                                     uint32_t                                       remoteDeviceIndex,
-                                     VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
-      getGroupPeerMemoryFeatures( uint32_t         heapIndex,
-                                  uint32_t         localDeviceIndex,
-                                  uint32_t         remoteDeviceIndex,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getGroupPeerMemoryFeaturesKHR( uint32_t                                       heapIndex,
-                                        uint32_t                                       localDeviceIndex,
-                                        uint32_t                                       remoteDeviceIndex,
-                                        VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
-      getGroupPeerMemoryFeaturesKHR( uint32_t         heapIndex,
-                                     uint32_t         localDeviceIndex,
-                                     uint32_t         remoteDeviceIndex,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getGroupPresentCapabilitiesKHR(
-      VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR>::type
-      getGroupPresentCapabilitiesKHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getGroupSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                       VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR *      pModes,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
-      getGroupSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                       Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR                       surface,
-                                      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
-      getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                      Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                              VULKAN_HPP_NAMESPACE::DeviceSize * pCommittedMemoryInBytes,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::DeviceSize
-      getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getMemoryOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getMemoryOpaqueCaptureAddress( const DeviceMemoryOpaqueCaptureAddressInfo & info,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getMemoryOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t
-      getMemoryOpaqueCaptureAddressKHR( const DeviceMemoryOpaqueCaptureAddressInfo & info,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    PFN_vkVoidFunction getProcAddr( const char *     pName,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    PFN_vkVoidFunction getProcAddr( const std::string & name,
-                                    Dispatch const &    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getQueue( uint32_t                      queueFamilyIndex,
-                   uint32_t                      queueIndex,
-                   VULKAN_HPP_NAMESPACE::Queue * pQueue,
-                   Dispatch const &              d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::Queue
-      getQueue( uint32_t         queueFamilyIndex,
-                uint32_t         queueIndex,
-                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getQueue2( const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 * pQueueInfo,
-                    VULKAN_HPP_NAMESPACE::Queue *                  pQueue,
-                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::Queue
-      getQueue2( const DeviceQueueInfo2 & queueInfo,
-                 Dispatch const &         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getEventStatus( VULKAN_HPP_NAMESPACE::Event event,
-                           Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getEventStatus( VULKAN_HPP_NAMESPACE::Event event,
-                           Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR * pGetFdInfo,
-                          int *                                           pFd,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<int>::type getFenceFdKHR( const FenceGetFdInfoKHR & getFdInfo,
-                                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence,
-                           Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence,
-                           Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                   HANDLE *                                                 pHandle,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<HANDLE>::type
-      getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo,
-                              Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getGeneratedCommandsMemoryRequirementsNV(
-      const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV * pInfo,
-      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                             pMemoryRequirements,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 getGeneratedCommandsMemoryRequirementsNV(
-      const GeneratedCommandsMemoryRequirementsInfoNV & info,
-      Dispatch const &                                  d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...> getGeneratedCommandsMemoryRequirementsNV(
-      const GeneratedCommandsMemoryRequirementsInfoNV & info,
-      Dispatch const &                                  d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getImageDrmFormatModifierPropertiesEXT(
-      VULKAN_HPP_NAMESPACE::Image                                 image,
-      VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT * pProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>::type
-      getImageDrmFormatModifierPropertiesEXT( VULKAN_HPP_NAMESPACE::Image image,
-                                              Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image                image,
-                                     VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements
-      getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,
-                                      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                pMemoryRequirements,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,
-                                         VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                pMemoryRequirements,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image,
-                                        uint32_t *                  pSparseMemoryRequirementCount,
-                                        VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements * pSparseMemoryRequirements,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SparseImageMemoryRequirements>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageMemoryRequirements, Allocator>
-      getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image,
-                                        Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SparseImageMemoryRequirements>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageMemoryRequirements, Allocator> getImageSparseMemoryRequirements(
-      VULKAN_HPP_NAMESPACE::Image image, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getImageSparseMemoryRequirements2(
-      const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,
-      uint32_t *                                                       pSparseMemoryRequirementCount,
-      VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 *           pSparseMemoryRequirements,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SparseImageMemoryRequirements2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageMemoryRequirements2, Allocator>
-      getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SparseImageMemoryRequirements2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageMemoryRequirements2, Allocator> getImageSparseMemoryRequirements2(
-      const ImageSparseMemoryRequirementsInfo2 & info, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getImageSparseMemoryRequirements2KHR(
-      const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,
-      uint32_t *                                                       pSparseMemoryRequirementCount,
-      VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 *           pSparseMemoryRequirements,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SparseImageMemoryRequirements2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageMemoryRequirements2, Allocator>
-      getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info,
-                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SparseImageMemoryRequirements2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageMemoryRequirements2, Allocator> getImageSparseMemoryRequirements2KHR(
-      const ImageSparseMemoryRequirementsInfo2 & info, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getImageSubresourceLayout( VULKAN_HPP_NAMESPACE::Image                    image,
-                                    const VULKAN_HPP_NAMESPACE::ImageSubresource * pSubresource,
-                                    VULKAN_HPP_NAMESPACE::SubresourceLayout *      pLayout,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::SubresourceLayout
-      getImageSubresourceLayout( VULKAN_HPP_NAMESPACE::Image image,
-                                 const ImageSubresource &    subresource,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView                       imageView,
-                                   VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX * pProperties,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX>::type
-      getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView imageView,
-                              Dispatch const &                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint32_t getImageViewHandleNVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX * pInfo,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint32_t getImageViewHandleNVX( const ImageViewHandleInfoNVX & info,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryAndroidHardwareBufferANDROID(
-      const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
-      struct AHardwareBuffer **                                               pBuffer,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<struct AHardwareBuffer *>::type
-      getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info,
-                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR * pGetFdInfo,
-                           int *                                            pFd,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<int>::type getMemoryFdKHR( const MemoryGetFdInfoKHR & getFdInfo,
-                                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                     int                                                    fd,
-                                     VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR *          pMemoryFdProperties,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR>::type
-      getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                int                                                    fd,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryHostPointerPropertiesEXT(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-      const void *                                           pHostPointer,
-      VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT>::type
-      getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                         const void *                                           pHostPointer,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                    HANDLE *                                                  pHandle,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<HANDLE>::type
-      getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo,
-                               Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::DeviceMemory                    memory,
-                                   VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
-                                   HANDLE *                                              pHandle,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<HANDLE>::type
-      getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::DeviceMemory                    memory,
-                              VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryWin32HandlePropertiesKHR(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-      HANDLE                                                 handle,
-      VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR>::type
-      getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                         HANDLE                                                 handle,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getMemoryZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
-                                    zx_handle_t *                                                  pZirconHandle,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<zx_handle_t>::type
-      getMemoryZirconHandleFUCHSIA( const MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,
-                                    Dispatch const &                         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getMemoryZirconHandlePropertiesFUCHSIA(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits      handleType,
-      zx_handle_t                                                 ZirconHandle,
-      VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>::type
-      getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                              zx_handle_t                                            ZirconHandle,
-                                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR                   swapchain,
-                                       uint32_t *                                           pPresentationTimingCount,
-                                       VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE * pPresentationTimings,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PastPresentationTimingGOOGLE>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PastPresentationTimingGOOGLE, Allocator>>::type
-      getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                       Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PastPresentationTimingGOOGLE>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PastPresentationTimingGOOGLE, Allocator>>::type
-      getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                       Allocator const &                  vectorAllocator,
-                                       Dispatch const &                   d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
-                                         VULKAN_HPP_NAMESPACE::PerformanceValueINTEL *       pValue,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL>::type
-      getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                 size_t *                            pDataSize,
-                                 void *                              pData,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-      getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                            Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<uint8_t, Allocator>>::type getPipelineCacheData(
-      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getPipelineExecutableInternalRepresentationsKHR(
-      const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR *             pExecutableInfo,
-      uint32_t *                                                          pInternalRepresentationCount,
-      VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR * pInternalRepresentations,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PipelineExecutableInternalRepresentationKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PipelineExecutableInternalRepresentationKHR, Allocator>>::type
-      getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PipelineExecutableInternalRepresentationKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PipelineExecutableInternalRepresentationKHR, Allocator>>::type
-      getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                                       Allocator const &                 vectorAllocator,
-                                                       Dispatch const &                  d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR *           pPipelineInfo,
-                                               uint32_t *                                              pExecutableCount,
-                                               VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR * pProperties,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PipelineExecutablePropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PipelineExecutablePropertiesKHR, Allocator>>::type
-      getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo,
-                                          Dispatch const &        d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PipelineExecutablePropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PipelineExecutablePropertiesKHR, Allocator>>::type
-      getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo,
-                                          Allocator const &       vectorAllocator,
-                                          Dispatch const &        d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo,
-                                               uint32_t *                                              pStatisticCount,
-                                               VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR *  pStatistics,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PipelineExecutableStatisticKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PipelineExecutableStatisticKHR, Allocator>>::type
-      getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                          Dispatch const &                  d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PipelineExecutableStatisticKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PipelineExecutableStatisticKHR, Allocator>>::type
-      getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                          Allocator const &                 vectorAllocator,
-                                          Dispatch const &                  d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType         objectType,
-                            uint64_t                                 objectHandle,
-                            VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                            uint64_t *                               pData,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint64_t getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType         objectType,
-                                uint64_t                                 objectHandle,
-                                VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool        queryPool,
-                                uint32_t                               firstQuery,
-                                uint32_t                               queryCount,
-                                size_t                                 dataSize,
-                                void *                                 pData,
-                                VULKAN_HPP_NAMESPACE::DeviceSize       stride,
-                                VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool        queryPool,
-                                uint32_t                               firstQuery,
-                                uint32_t                               queryCount,
-                                ArrayProxy<T> const &                  data,
-                                VULKAN_HPP_NAMESPACE::DeviceSize       stride,
-                                VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
-                                Dispatch const &                       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                            uint32_t                       firstGroup,
-                                                            uint32_t                       groupCount,
-                                                            size_t                         dataSize,
-                                                            void *                         pData,
-                                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                       uint32_t                       firstGroup,
-                                                       uint32_t                       groupCount,
-                                                       ArrayProxy<T> const &          data,
-                                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                               uint32_t                       firstGroup,
-                                               uint32_t                       groupCount,
-                                               size_t                         dataSize,
-                                               void *                         pData,
-                                               Dispatch const &               d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                          uint32_t                       firstGroup,
-                                          uint32_t                       groupCount,
-                                          ArrayProxy<T> const &          data,
-                                          Dispatch const &               d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                         uint32_t                       firstGroup,
-                                         uint32_t                       groupCount,
-                                         size_t                         dataSize,
-                                         void *                         pData,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                         uint32_t                       firstGroup,
-                                         uint32_t                       groupCount,
-                                         ArrayProxy<T> const &          data,
-                                         Dispatch const &               d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR                 swapchain,
-                                     VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE * pDisplayTimingProperties,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE>::type
-      getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                     Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
-                                   VULKAN_HPP_NAMESPACE::Extent2D * pGranularity,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::Extent2D
-      getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
-                                     uint64_t *                      pValue,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<uint64_t>::type
-      getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
-                                Dispatch const &                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
-                                        uint64_t *                      pValue,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<uint64_t>::type
-      getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
-                                   Dispatch const &                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR * pGetFdInfo,
-                              int *                                               pFd,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<int>::type getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR & getFdInfo,
-                                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                       HANDLE *                                                     pHandle,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<HANDLE>::type
-      getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo,
-                                  Dispatch const &                       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSemaphoreZirconHandleFUCHSIA(
-      const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
-      zx_handle_t *                                                     pZirconHandle,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<zx_handle_t>::type
-      getSemaphoreZirconHandleFUCHSIA( const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline            pipeline,
-                             VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
-                             VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD   infoType,
-                             size_t *                                  pInfoSize,
-                             void *                                    pInfo,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-      getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline            pipeline,
-                        VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
-                        VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD   infoType,
-                        Dispatch const &                          d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-      getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline            pipeline,
-                        VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
-                        VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD   infoType,
-                        Allocator const &                         vectorAllocator,
-                        Dispatch const &                          d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSwapchainCounterEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR              swapchain,
-                                   VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
-                                   uint64_t *                                      pCounterValue,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<uint64_t>::type
-      getSwapchainCounterEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR              swapchain,
-                              VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
-                              Dispatch const &                                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                  uint32_t *                         pSwapchainImageCount,
-                                  VULKAN_HPP_NAMESPACE::Image *      pSwapchainImages,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<Image>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<Image, Allocator>>::type
-      getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                             Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<Image>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<Image, Allocator>>::type getSwapchainImagesKHR(
-      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                  Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                      size_t *                                 pDataSize,
-                                      void *                                   pData,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-      getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                 Dispatch const &                         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-      getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                 Allocator const &                        vectorAllocator,
-                                 Dispatch const &                         d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR * pImportFenceFdInfo,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type importFenceFdKHR( const ImportFenceFdInfoKHR & importFenceFdInfo,
-                                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result importFenceWin32HandleKHR(
-      const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo,
-                                 Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo,
-                            Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result importSemaphoreWin32HandleKHR(
-      const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result importSemaphoreZirconHandleFUCHSIA(
-      const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type importSemaphoreZirconHandleFUCHSIA(
-      const ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo,
-      Dispatch const &                               d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      initializePerformanceApiINTEL( const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL * pInitializeInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      initializePerformanceApiINTEL( const InitializePerformanceApiInfoINTEL & initializeInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result invalidateMappedMemoryRanges( uint32_t                                        memoryRangeCount,
-                                         const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      invalidateMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory   memory,
-                      VULKAN_HPP_NAMESPACE::DeviceSize     offset,
-                      VULKAN_HPP_NAMESPACE::DeviceSize     size,
-                      VULKAN_HPP_NAMESPACE::MemoryMapFlags flags,
-                      void **                              ppData,
-                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void *>::type mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory   memory,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize     offset,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize     size,
-                                                      VULKAN_HPP_NAMESPACE::MemoryMapFlags flags = MemoryMapFlags(),
-                                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache         dstCache,
-                                uint32_t                                    srcCacheCount,
-                                const VULKAN_HPP_NAMESPACE::PipelineCache * pSrcCaches,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache                           dstCache,
-                           ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT         dstCache,
-                                     uint32_t                                         srcCacheCount,
-                                     const VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pSrcCaches,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT                           dstCache,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    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 ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<MemoryOpResultFUCHSIA>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<MemoryOpResultFUCHSIA, Allocator>>::type
-      modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
-                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<MemoryOpResultFUCHSIA>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<MemoryOpResultFUCHSIA, Allocator>>::type
-      modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
-                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
-                                 Allocator const &                                                  vectorAllocator,
-                                 Dispatch const &                                                   d ) const;
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<MemoryOpResultFUCHSIA>::type
-      modifyMemoryRangeFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA op,
-                                const MemoryRangeFUCHSIA &                 memoryRange,
-                                Dispatch const &                           d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result registerEventEXT( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT *  pDeviceEventInfo,
-                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                             VULKAN_HPP_NAMESPACE::Fence *                     pFence,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
-      registerEventEXT( const DeviceEventInfoEXT &          deviceEventInfo,
-                        Optional<const AllocationCallbacks> allocator = nullptr,
-                        Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Fence, Dispatch>>::type
-      registerEventEXTUnique( const DeviceEventInfoEXT &          deviceEventInfo,
-                              Optional<const AllocationCallbacks> allocator = nullptr,
-                              Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR                  display,
-                                    const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT * pDisplayEventInfo,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                    VULKAN_HPP_NAMESPACE::Fence *                     pFence,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
-      registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR    display,
-                               const DisplayEventInfoEXT &         displayEventInfo,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Fence, Dispatch>>::type
-      registerDisplayEventEXTUnique( VULKAN_HPP_NAMESPACE::DisplayKHR    display,
-                                     const DisplayEventInfoEXT &         displayEventInfo,
-                                     Optional<const AllocationCallbacks> allocator = nullptr,
-                                     Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-                    releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                       Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
-                                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
-                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void releaseProfilingLockKHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool           commandPool,
-                             VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool           commandPool,
-                                                           VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
-                                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool           descriptorPool,
-                                VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags = DescriptorPoolResetFlags(),
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool           descriptorPool,
-                           VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags = DescriptorPoolResetFlags(),
-                           Dispatch const &                               d     = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result resetEvent( VULKAN_HPP_NAMESPACE::Event event,
-                       Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type resetEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result resetFences( uint32_t                            fenceCount,
-                        const VULKAN_HPP_NAMESPACE::Fence * pFences,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
-                                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                         uint32_t                        firstQuery,
-                         uint32_t                        queryCount,
-                         Dispatch const &                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void resetQueryPoolEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                            uint32_t                        firstQuery,
-                            uint32_t                        queryCount,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setBufferCollectionBufferConstraintsFUCHSIA(
-      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA              collection,
-      const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setBufferCollectionBufferConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                   const BufferConstraintsInfoFUCHSIA &          bufferConstraintsInfo,
-                                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setBufferCollectionConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                  const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pImageInfo,
-                                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setBufferCollectionConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                             const ImageCreateInfo &                       imageInfo,
-                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setBufferCollectionImageConstraintsFUCHSIA(
-      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA             collection,
-      const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA * pImageConstraintsInfo,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setBufferCollectionImageConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                  const ImageConstraintsInfoFUCHSIA &           imageConstraintsInfo,
-                                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setDebugUtilsObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT * pNameInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT & nameInfo,
-                                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setDebugUtilsObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT * pTagInfo,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT & tagInfo,
-                                 Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setEvent( VULKAN_HPP_NAMESPACE::Event event,
-                     Dispatch const &            d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type setEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setHdrMetadataEXT( uint32_t                                     swapchainCount,
-                            const VULKAN_HPP_NAMESPACE::SwapchainKHR *   pSwapchains,
-                            const VULKAN_HPP_NAMESPACE::HdrMetadataEXT * pMetadata,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setHdrMetadataEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &   swapchains,
-                            ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void setLocalDimmingAMD( VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain,
-                             VULKAN_HPP_NAMESPACE::Bool32       localDimmingEnable,
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType         objectType,
-                              uint64_t                                 objectHandle,
-                              VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                              uint64_t                                 data,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType         objectType,
-                                                            uint64_t                                 objectHandle,
-                                                            VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                                            uint64_t                                 data,
-                                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type signalSemaphore( const SemaphoreSignalInfo & signalInfo,
-                                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type signalSemaphoreKHR( const SemaphoreSignalInfo & signalInfo,
-                                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void trimCommandPool( VULKAN_HPP_NAMESPACE::CommandPool          commandPool,
-                          VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags = CommandPoolTrimFlags(),
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void trimCommandPoolKHR( VULKAN_HPP_NAMESPACE::CommandPool          commandPool,
-                             VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags = CommandPoolTrimFlags(),
-                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      trimCompactImageMemoryFUCHSIA( VULKAN_HPP_NAMESPACE::Image        image,
-                                     VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                     VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) 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 ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      uninitializePerformanceApiINTEL( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void unmapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                      Dispatch const &                   d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      updateDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorSet            descriptorSet,
-                                       VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                       const void *                                   pData,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void updateDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorSet            descriptorSet,
-                                             VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                             const void *                                   pData,
-                                             Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void updateDescriptorSets( uint32_t                                         descriptorWriteCount,
-                               const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,
-                               uint32_t                                         descriptorCopyCount,
-                               const VULKAN_HPP_NAMESPACE::CopyDescriptorSet *  pDescriptorCopies,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void updateDescriptorSets( ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const &  descriptorCopies,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitForFences( uint32_t                            fenceCount,
-                          const VULKAN_HPP_NAMESPACE::Fence * pFences,
-                          VULKAN_HPP_NAMESPACE::Bool32        waitAll,
-                          uint64_t                            timeout,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
-                          VULKAN_HPP_NAMESPACE::Bool32                          waitAll,
-                          uint64_t                                              timeout,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,
-                           uint64_t                                        timeout,
-                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitSemaphores( const SemaphoreWaitInfo & waitInfo,
-                           uint64_t                  timeout,
-                           Dispatch const &          d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,
-                              uint64_t                                        timeout,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result waitSemaphoresKHR( const SemaphoreWaitInfo & waitInfo,
-                              uint64_t                  timeout,
-                              Dispatch const &          d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result writeAccelerationStructuresPropertiesKHR(
-      uint32_t                                               accelerationStructureCount,
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
-      VULKAN_HPP_NAMESPACE::QueryType                        queryType,
-      size_t                                                 dataSize,
-      void *                                                 pData,
-      size_t                                                 stride,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type writeAccelerationStructuresPropertiesKHR(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
-      VULKAN_HPP_NAMESPACE::QueryType                                          queryType,
-      ArrayProxy<T> const &                                                    data,
-      size_t                                                                   stride,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDevice() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_device;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_device != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_device == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDevice m_device;
-  };
-  static_assert( sizeof( Device ) == sizeof( VkDevice ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDevice>
-  {
-    using type = Device;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDevice>
-  {
-    using Type = Device;
-  };
-
-  class DisplayModeKHR
-  {
-  public:
-    using CType = VkDisplayModeKHR;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eDisplayModeKHR;
-
-  public:
-    VULKAN_HPP_CONSTEXPR DisplayModeKHR() VULKAN_HPP_NOEXCEPT : m_displayModeKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR DisplayModeKHR( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_displayModeKHR( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT DisplayModeKHR( VkDisplayModeKHR displayModeKHR ) VULKAN_HPP_NOEXCEPT
-      : m_displayModeKHR( displayModeKHR )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    DisplayModeKHR & operator=( VkDisplayModeKHR displayModeKHR ) VULKAN_HPP_NOEXCEPT
-    {
-      m_displayModeKHR = displayModeKHR;
-      return *this;
-    }
-#endif
-
-    DisplayModeKHR & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_displayModeKHR = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayModeKHR const & ) const = default;
-#else
-    bool operator==( DisplayModeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayModeKHR == rhs.m_displayModeKHR;
-    }
-
-    bool operator!=( DisplayModeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayModeKHR != rhs.m_displayModeKHR;
-    }
-
-    bool operator<( DisplayModeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayModeKHR < rhs.m_displayModeKHR;
-    }
-#endif
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDisplayModeKHR() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayModeKHR;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayModeKHR != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_displayModeKHR == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkDisplayModeKHR m_displayModeKHR;
-  };
-  static_assert( sizeof( DisplayModeKHR ) == sizeof( VkDisplayModeKHR ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDisplayModeKHR>
-  {
-    using type = DisplayModeKHR;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eDisplayModeKHR>
-  {
-    using Type = DisplayModeKHR;
-  };
-
-#ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  class UniqueHandleTraits<Device, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<NoParent, Dispatch>;
-  };
-  using UniqueDevice = UniqueHandle<Device, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-
-  class PhysicalDevice
-  {
-  public:
-    using CType = VkPhysicalDevice;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::ePhysicalDevice;
-
-  public:
-    VULKAN_HPP_CONSTEXPR PhysicalDevice() VULKAN_HPP_NOEXCEPT : m_physicalDevice( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR PhysicalDevice( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_physicalDevice( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT PhysicalDevice( VkPhysicalDevice physicalDevice ) VULKAN_HPP_NOEXCEPT
-      : m_physicalDevice( physicalDevice )
-    {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    PhysicalDevice & operator=( VkPhysicalDevice physicalDevice ) VULKAN_HPP_NOEXCEPT
-    {
-      m_physicalDevice = physicalDevice;
-      return *this;
-    }
-#endif
-
-    PhysicalDevice & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_physicalDevice = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevice const & ) const = default;
-#else
-    bool operator==( PhysicalDevice const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_physicalDevice == rhs.m_physicalDevice;
-    }
-
-    bool operator!=( PhysicalDevice const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_physicalDevice != rhs.m_physicalDevice;
-    }
-
-    bool operator<( PhysicalDevice const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_physicalDevice < rhs.m_physicalDevice;
-    }
-#endif
-
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result acquireXlibDisplayEXT( Display *                        dpy,
-                                  VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type
-      acquireXlibDisplayEXT( Display &                        dpy,
-                             VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                             Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDevice( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo *    pCreateInfo,
-                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                         VULKAN_HPP_NAMESPACE::Device *                    pDevice,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Device>::type
-      createDevice( const DeviceCreateInfo &            createInfo,
-                    Optional<const AllocationCallbacks> allocator = nullptr,
-                    Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<Device, Dispatch>>::type
-      createDeviceUnique( const DeviceCreateInfo &            createInfo,
-                          Optional<const AllocationCallbacks> allocator = nullptr,
-                          Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR                       display,
-                                 const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR * pCreateInfo,
-                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                 VULKAN_HPP_NAMESPACE::DisplayModeKHR *                 pMode,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayModeKHR>::type
-      createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR    display,
-                            const DisplayModeCreateInfoKHR &    createInfo,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result enumerateDeviceExtensionProperties( const char *                                pLayerName,
-                                               uint32_t *                                  pPropertyCount,
-                                               VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<ExtensionProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type
-      enumerateDeviceExtensionProperties( Optional<const std::string> layerName = nullptr,
-                                          Dispatch const &            d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<ExtensionProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type enumerateDeviceExtensionProperties(
-      Optional<const std::string> layerName, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      enumerateDeviceLayerProperties( uint32_t *                              pPropertyCount,
-                                      VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<LayerProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-      enumerateDeviceLayerProperties( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<LayerProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-      enumerateDeviceLayerProperties( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result enumerateQueueFamilyPerformanceQueryCountersKHR(
-      uint32_t                                                 queueFamilyIndex,
-      uint32_t *                                               pCounterCount,
-      VULKAN_HPP_NAMESPACE::PerformanceCounterKHR *            pCounters,
-      VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR * pCounterDescriptions,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PerformanceCounterDescriptionKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
-      enumerateQueueFamilyPerformanceQueryCountersKHR(
-        uint32_t                                                        queueFamilyIndex,
-        ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const & counters,
-        Dispatch const &                                                d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PerformanceCounterDescriptionKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
-      enumerateQueueFamilyPerformanceQueryCountersKHR(
-        uint32_t                                                        queueFamilyIndex,
-        ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const & counters,
-        Allocator const &                                               vectorAllocator,
-        Dispatch const &                                                d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR                  display,
-                                         uint32_t *                                        pPropertyCount,
-                                         VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR * pProperties,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DisplayModeProperties2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayModeProperties2KHR, Allocator>>::type
-      getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                    Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DisplayModeProperties2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayModeProperties2KHR, Allocator>>::type getDisplayModeProperties2KHR(
-      VULKAN_HPP_NAMESPACE::DisplayKHR display, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR                 display,
-                                        uint32_t *                                       pPropertyCount,
-                                        VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR * pProperties,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DisplayModePropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayModePropertiesKHR, Allocator>>::type
-      getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                   Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DisplayModePropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayModePropertiesKHR, Allocator>>::type getDisplayModePropertiesKHR(
-      VULKAN_HPP_NAMESPACE::DisplayKHR display, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getDisplayPlaneCapabilities2KHR( const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
-                                       VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR * pCapabilities,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR>::type
-      getDisplayPlaneCapabilities2KHR( const DisplayPlaneInfo2KHR & displayPlaneInfo,
-                                       Dispatch const &             d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getDisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR                mode,
-                                      uint32_t                                            planeIndex,
-                                      VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR * pCapabilities,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR>::type
-      getDisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode,
-                                      uint32_t                             planeIndex,
-                                      Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getDisplayPlaneSupportedDisplaysKHR( uint32_t                           planeIndex,
-                                                uint32_t *                         pDisplayCount,
-                                                VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplays,
-                                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const
-      VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DisplayKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayKHR, Allocator>>::type
-      getDisplayPlaneSupportedDisplaysKHR( uint32_t         planeIndex,
-                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DisplayKHR>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayKHR, Allocator>>::type getDisplayPlaneSupportedDisplaysKHR(
-      uint32_t planeIndex, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getCalibrateableTimeDomainsEXT( uint32_t *                            pTimeDomainCount,
-                                      VULKAN_HPP_NAMESPACE::TimeDomainEXT * pTimeDomains,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<TimeDomainEXT>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<TimeDomainEXT, Allocator>>::type
-      getCalibrateableTimeDomainsEXT( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<TimeDomainEXT>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<TimeDomainEXT, Allocator>>::type
-      getCalibrateableTimeDomainsEXT( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getCooperativeMatrixPropertiesNV( uint32_t *                                            pPropertyCount,
-                                        VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV * pProperties,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<CooperativeMatrixPropertiesNV>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<CooperativeMatrixPropertiesNV, Allocator>>::type
-      getCooperativeMatrixPropertiesNV( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<CooperativeMatrixPropertiesNV>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<CooperativeMatrixPropertiesNV, Allocator>>::type
-      getCooperativeMatrixPropertiesNV( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32
-      getDirectFBPresentationSupportEXT( uint32_t         queueFamilyIndex,
-                                         IDirectFB *      dfb,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32
-      getDirectFBPresentationSupportEXT( uint32_t         queueFamilyIndex,
-                                         IDirectFB &      dfb,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      getDisplayPlaneProperties2KHR( uint32_t *                                         pPropertyCount,
-                                     VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR * pProperties,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DisplayPlaneProperties2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayPlaneProperties2KHR, Allocator>>::type
-      getDisplayPlaneProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DisplayPlaneProperties2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayPlaneProperties2KHR, Allocator>>::type
-      getDisplayPlaneProperties2KHR( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getDisplayPlanePropertiesKHR( uint32_t *                                        pPropertyCount,
-                                         VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR * pProperties,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DisplayPlanePropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayPlanePropertiesKHR, Allocator>>::type
-      getDisplayPlanePropertiesKHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DisplayPlanePropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayPlanePropertiesKHR, Allocator>>::type
-      getDisplayPlanePropertiesKHR( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getDisplayProperties2KHR( uint32_t *                                    pPropertyCount,
-                                     VULKAN_HPP_NAMESPACE::DisplayProperties2KHR * pProperties,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DisplayProperties2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayProperties2KHR, Allocator>>::type
-      getDisplayProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DisplayProperties2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayProperties2KHR, Allocator>>::type
-      getDisplayProperties2KHR( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getDisplayPropertiesKHR( uint32_t *                                   pPropertyCount,
-                                    VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR * pProperties,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<DisplayPropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayPropertiesKHR, Allocator>>::type
-      getDisplayPropertiesKHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<DisplayPropertiesKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<DisplayPropertiesKHR, Allocator>>::type
-      getDisplayPropertiesKHR( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      getExternalBufferProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
-                                   VULKAN_HPP_NAMESPACE::ExternalBufferProperties * pExternalBufferProperties,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::ExternalBufferProperties
-      getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo & externalBufferInfo,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getExternalBufferPropertiesKHR(
-      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
-      VULKAN_HPP_NAMESPACE::ExternalBufferProperties *               pExternalBufferProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::ExternalBufferProperties
-      getExternalBufferPropertiesKHR( const PhysicalDeviceExternalBufferInfo & externalBufferInfo,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getExternalFenceProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
-                                     VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::ExternalFenceProperties
-      getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo & externalFenceInfo,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      getExternalFencePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
-                                     VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::ExternalFenceProperties
-      getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo & externalFenceInfo,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getExternalImageFormatPropertiesNV(
-      VULKAN_HPP_NAMESPACE::Format                            format,
-      VULKAN_HPP_NAMESPACE::ImageType                         type,
-      VULKAN_HPP_NAMESPACE::ImageTiling                       tiling,
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags                   usage,
-      VULKAN_HPP_NAMESPACE::ImageCreateFlags                  flags,
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV   externalHandleType,
-      VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV * pExternalImageFormatProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV>::type
-      getExternalImageFormatPropertiesNV( VULKAN_HPP_NAMESPACE::Format                          format,
-                                          VULKAN_HPP_NAMESPACE::ImageType                       type,
-                                          VULKAN_HPP_NAMESPACE::ImageTiling                     tiling,
-                                          VULKAN_HPP_NAMESPACE::ImageUsageFlags                 usage,
-                                          VULKAN_HPP_NAMESPACE::ImageCreateFlags                flags,
-                                          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType,
-                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getExternalSemaphoreProperties(
-      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties *               pExternalSemaphoreProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
-      getExternalSemaphoreProperties( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getExternalSemaphorePropertiesKHR(
-      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties *               pExternalSemaphoreProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
-      getExternalSemaphorePropertiesKHR( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getFeatures( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pFeatures,
-                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures
-      getFeatures( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getFeatures2( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,
-                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
-      getFeatures2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getFeatures2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getFeatures2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,
-                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
-      getFeatures2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getFeatures2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getFormatProperties( VULKAN_HPP_NAMESPACE::Format             format,
-                              VULKAN_HPP_NAMESPACE::FormatProperties * pFormatProperties,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::FormatProperties
-      getFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
-                           Dispatch const &             d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getFormatProperties2( VULKAN_HPP_NAMESPACE::Format              format,
-                               VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::FormatProperties2
-      getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format,
-                            Dispatch const &             d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format,
-                            Dispatch const &             d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format              format,
-                                  VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::FormatProperties2
-      getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format                  format,
-                                     VULKAN_HPP_NAMESPACE::ImageType               type,
-                                     VULKAN_HPP_NAMESPACE::ImageTiling             tiling,
-                                     VULKAN_HPP_NAMESPACE::ImageUsageFlags         usage,
-                                     VULKAN_HPP_NAMESPACE::ImageCreateFlags        flags,
-                                     VULKAN_HPP_NAMESPACE::ImageFormatProperties * pImageFormatProperties,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties>::type
-      getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format           format,
-                                VULKAN_HPP_NAMESPACE::ImageType        type,
-                                VULKAN_HPP_NAMESPACE::ImageTiling      tiling,
-                                VULKAN_HPP_NAMESPACE::ImageUsageFlags  usage,
-                                VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
-                                Dispatch const &                       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
-                                      VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
-      getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                 Dispatch const &                       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<StructureChain<X, Y, Z...>>::type
-      getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                 Dispatch const &                       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
-                                         VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
-      getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                    Dispatch const &                       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<StructureChain<X, Y, Z...>>::type
-      getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                    Dispatch const &                       d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getMemoryProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties * pMemoryProperties,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties
-      getMemoryProperties( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getMemoryProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,
-                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-      getMemoryProperties2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getMemoryProperties2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getMemoryProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-      getMemoryProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getMemoryProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits        samples,
-                                      VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT * pMultisampleProperties,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
-      getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                    uint32_t *                       pRectCount,
-                                    VULKAN_HPP_NAMESPACE::Rect2D *   pRects,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<Rect2D>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<Rect2D, Allocator>>::type
-      getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                               Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<Rect2D>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<Rect2D, Allocator>>::type getPresentRectanglesKHR(
-      VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties * pProperties,
-                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties
-      getProperties( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
-      getProperties2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getProperties2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
-      getProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    StructureChain<X, Y, Z...>
-      getProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getQueueFamilyPerformanceQueryPassesKHR(
-      const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
-      uint32_t *                                                      pNumPasses,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    uint32_t getQueueFamilyPerformanceQueryPassesKHR(
-      const QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo,
-      Dispatch const &                          d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getQueueFamilyProperties( uint32_t *                                    pQueueFamilyPropertyCount,
-                                   VULKAN_HPP_NAMESPACE::QueueFamilyProperties * pQueueFamilyProperties,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<QueueFamilyProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<QueueFamilyProperties, Allocator>
-      getQueueFamilyProperties( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<QueueFamilyProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<QueueFamilyProperties, Allocator> getQueueFamilyProperties( Allocator const & vectorAllocator,
-                                                                            Dispatch const &  d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getQueueFamilyProperties2( uint32_t *                                     pQueueFamilyPropertyCount,
-                                    VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<QueueFamilyProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<QueueFamilyProperties2, Allocator>
-      getQueueFamilyProperties2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<QueueFamilyProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<QueueFamilyProperties2, Allocator> getQueueFamilyProperties2( Allocator const & vectorAllocator,
-                                                                              Dispatch const &  d ) const;
-    template <typename StructureChain,
-              typename Allocator = std::allocator<StructureChain>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<StructureChain, Allocator>
-      getQueueFamilyProperties2( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename StructureChain,
-              typename Allocator = std::allocator<StructureChain>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<StructureChain, Allocator> getQueueFamilyProperties2( Allocator const & vectorAllocator,
-                                                                      Dispatch const &  d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getQueueFamilyProperties2KHR( uint32_t *                                     pQueueFamilyPropertyCount,
-                                       VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<QueueFamilyProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<QueueFamilyProperties2, Allocator>
-      getQueueFamilyProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<QueueFamilyProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<QueueFamilyProperties2, Allocator> getQueueFamilyProperties2KHR( Allocator const & vectorAllocator,
-                                                                                 Dispatch const &  d ) const;
-    template <typename StructureChain,
-              typename Allocator = std::allocator<StructureChain>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<StructureChain, Allocator>
-      getQueueFamilyProperties2KHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename StructureChain,
-              typename Allocator = std::allocator<StructureChain>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<StructureChain, Allocator> getQueueFamilyProperties2KHR( Allocator const & vectorAllocator,
-                                                                         Dispatch const &  d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format                        format,
-                                         VULKAN_HPP_NAMESPACE::ImageType                     type,
-                                         VULKAN_HPP_NAMESPACE::SampleCountFlagBits           samples,
-                                         VULKAN_HPP_NAMESPACE::ImageUsageFlags               usage,
-                                         VULKAN_HPP_NAMESPACE::ImageTiling                   tiling,
-                                         uint32_t *                                          pPropertyCount,
-                                         VULKAN_HPP_NAMESPACE::SparseImageFormatProperties * pProperties,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SparseImageFormatProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageFormatProperties, Allocator>
-      getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
-                                      VULKAN_HPP_NAMESPACE::ImageType           type,
-                                      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
-                                      VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage,
-                                      VULKAN_HPP_NAMESPACE::ImageTiling         tiling,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SparseImageFormatProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageFormatProperties, Allocator>
-      getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
-                                      VULKAN_HPP_NAMESPACE::ImageType           type,
-                                      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
-                                      VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage,
-                                      VULKAN_HPP_NAMESPACE::ImageTiling         tiling,
-                                      Allocator const &                         vectorAllocator,
-                                      Dispatch const &                          d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void
-      getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
-                                       uint32_t *                                           pPropertyCount,
-                                       VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 * pProperties,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SparseImageFormatProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageFormatProperties2, Allocator>
-      getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SparseImageFormatProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageFormatProperties2, Allocator>
-      getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                       Allocator const &                            vectorAllocator,
-                                       Dispatch const &                             d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void getSparseImageFormatProperties2KHR(
-      const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
-      uint32_t *                                                         pPropertyCount,
-      VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 *               pProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SparseImageFormatProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageFormatProperties2, Allocator>
-      getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SparseImageFormatProperties2>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    std::vector<SparseImageFormatProperties2, Allocator>
-      getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                          Allocator const &                            vectorAllocator,
-                                          Dispatch const &                             d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSupportedFramebufferMixedSamplesCombinationsNV(
-      uint32_t *                                                   pCombinationCount,
-      VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV * pCombinations,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<FramebufferMixedSamplesCombinationNV>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<FramebufferMixedSamplesCombinationNV, Allocator>>::type
-      getSupportedFramebufferMixedSamplesCombinationsNV( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<FramebufferMixedSamplesCombinationNV>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<FramebufferMixedSamplesCombinationNV, Allocator>>::type
-      getSupportedFramebufferMixedSamplesCombinationsNV( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR                surface,
-                                       VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT * pSurfaceCapabilities,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT>::type
-      getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                  Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                       VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR *             pSurfaceCapabilities,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>::type
-      getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                  Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<StructureChain<X, Y, Z...>>::type
-      getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                  Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR               surface,
-                                      VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR * pSurfaceCapabilities,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR>::type
-      getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                 Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                  uint32_t *                                                  pSurfaceFormatCount,
-                                  VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR *                   pSurfaceFormats,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SurfaceFormat2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<SurfaceFormat2KHR, Allocator>>::type
-      getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                             Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SurfaceFormat2KHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<SurfaceFormat2KHR, Allocator>>::type getSurfaceFormats2KHR(
-      const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR         surface,
-                                 uint32_t *                               pSurfaceFormatCount,
-                                 VULKAN_HPP_NAMESPACE::SurfaceFormatKHR * pSurfaceFormats,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<SurfaceFormatKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<SurfaceFormatKHR, Allocator>>::type
-      getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                            Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<SurfaceFormatKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<SurfaceFormatKHR, Allocator>>::type getSurfaceFormatsKHR(
-      VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                       uint32_t *                                                  pPresentModeCount,
-                                       VULKAN_HPP_NAMESPACE::PresentModeKHR *                      pPresentModes,
-                                       Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PresentModeKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type
-      getSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                  Dispatch const &                      d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PresentModeKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type getSurfacePresentModes2EXT(
-      const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR       surface,
-                                      uint32_t *                             pPresentModeCount,
-                                      VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PresentModeKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type
-      getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                 Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PresentModeKHR>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type getSurfacePresentModesKHR(
-      VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getSurfaceSupportKHR( uint32_t                         queueFamilyIndex,
-                                 VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                 VULKAN_HPP_NAMESPACE::Bool32 *   pSupported,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::Bool32>::type
-      getSurfaceSupportKHR( uint32_t                         queueFamilyIndex,
-                            VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                            Dispatch const &                 d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getToolPropertiesEXT( uint32_t *                                              pToolCount,
-                                 VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT * pToolProperties,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PhysicalDeviceToolPropertiesEXT>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDeviceToolPropertiesEXT, Allocator>>::type
-      getToolPropertiesEXT( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PhysicalDeviceToolPropertiesEXT>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDeviceToolPropertiesEXT, Allocator>>::type
-      getToolPropertiesEXT( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32
-      getWaylandPresentationSupportKHR( uint32_t            queueFamilyIndex,
-                                        struct wl_display * display,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32
-      getWaylandPresentationSupportKHR( uint32_t            queueFamilyIndex,
-                                        struct wl_display & display,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WAYLAND_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32
-      getWin32PresentationSupportKHR( uint32_t         queueFamilyIndex,
-                                      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32 getXcbPresentationSupportKHR( uint32_t           queueFamilyIndex,
-                                         xcb_connection_t * connection,
-                                         xcb_visualid_t     visual_id,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32 getXcbPresentationSupportKHR( uint32_t           queueFamilyIndex,
-                                         xcb_connection_t & connection,
-                                         xcb_visualid_t     visual_id,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XCB_KHR*/
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32
-      getXlibPresentationSupportKHR( uint32_t         queueFamilyIndex,
-                                     Display *        dpy,
-                                     VisualID         visualID,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Bool32
-      getXlibPresentationSupportKHR( uint32_t         queueFamilyIndex,
-                                     Display &        dpy,
-                                     VisualID         visualID,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XLIB_KHR*/
-
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result getRandROutputDisplayEXT( Display *                          dpy,
-                                     RROutput                           rrOutput,
-                                     VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type getRandROutputDisplayEXT(
-      Display & dpy, RROutput rrOutput, Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#else
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<void>::type releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPhysicalDevice() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_physicalDevice;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_physicalDevice != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_physicalDevice == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkPhysicalDevice m_physicalDevice;
-  };
-  static_assert( sizeof( PhysicalDevice ) == sizeof( VkPhysicalDevice ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED(
-    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePhysicalDevice>
-  {
-    using type = PhysicalDevice;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::ePhysicalDevice>
-  {
-    using Type = PhysicalDevice;
-  };
-
-#ifndef VULKAN_HPP_NO_SMART_HANDLE
-  class Instance;
-  template <typename Dispatch>
-  class UniqueHandleTraits<DebugReportCallbackEXT, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Instance, Dispatch>;
-  };
-  using UniqueDebugReportCallbackEXT = UniqueHandle<DebugReportCallbackEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<DebugUtilsMessengerEXT, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Instance, Dispatch>;
-  };
-  using UniqueDebugUtilsMessengerEXT = UniqueHandle<DebugUtilsMessengerEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-  template <typename Dispatch>
-  class UniqueHandleTraits<SurfaceKHR, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<Instance, Dispatch>;
-  };
-  using UniqueSurfaceKHR = UniqueHandle<SurfaceKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-
-  class Instance
-  {
-  public:
-    using CType = VkInstance;
-
-    static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eInstance;
-
-  public:
-    VULKAN_HPP_CONSTEXPR Instance() VULKAN_HPP_NOEXCEPT : m_instance( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_CONSTEXPR Instance( std::nullptr_t ) VULKAN_HPP_NOEXCEPT : m_instance( VK_NULL_HANDLE ) {}
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT Instance( VkInstance instance ) VULKAN_HPP_NOEXCEPT : m_instance( instance ) {}
-
-#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
-    Instance & operator=( VkInstance instance ) VULKAN_HPP_NOEXCEPT
-    {
-      m_instance = instance;
-      return *this;
-    }
-#endif
-
-    Instance & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
-    {
-      m_instance = VK_NULL_HANDLE;
-      return *this;
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Instance const & ) const = default;
-#else
-    bool                                 operator==( Instance const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_instance == rhs.m_instance;
-    }
-
-    bool operator!=( Instance const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_instance != rhs.m_instance;
-    }
-
-    bool operator<( Instance const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return m_instance < rhs.m_instance;
-    }
-#endif
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createAndroidSurfaceKHR( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR * pCreateInfo,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *         pAllocator,
-                                    VULKAN_HPP_NAMESPACE::SurfaceKHR *                        pSurface,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createAndroidSurfaceKHR( const AndroidSurfaceCreateInfoKHR & createInfo,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createAndroidSurfaceKHRUnique( const AndroidSurfaceCreateInfoKHR & createInfo,
-                                     Optional<const AllocationCallbacks> allocator = nullptr,
-                                     Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDebugReportCallbackEXT( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT * pCreateInfo,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                         VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT *                 pCallback,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::type
-      createDebugReportCallbackEXT( const DebugReportCallbackCreateInfoEXT & createInfo,
-                                    Optional<const AllocationCallbacks>      allocator = nullptr,
-                                    Dispatch const &                         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DebugReportCallbackEXT, Dispatch>>::type
-      createDebugReportCallbackEXTUnique( const DebugReportCallbackCreateInfoEXT & createInfo,
-                                          Optional<const AllocationCallbacks>      allocator = nullptr,
-                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDebugUtilsMessengerEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT * pCreateInfo,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                         VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT *                 pMessenger,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::type
-      createDebugUtilsMessengerEXT( const DebugUtilsMessengerCreateInfoEXT & createInfo,
-                                    Optional<const AllocationCallbacks>      allocator = nullptr,
-                                    Dispatch const &                         d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<DebugUtilsMessengerEXT, Dispatch>>::type
-      createDebugUtilsMessengerEXTUnique( const DebugUtilsMessengerCreateInfoEXT & createInfo,
-                                          Optional<const AllocationCallbacks>      allocator = nullptr,
-                                          Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDirectFBSurfaceEXT( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                     VULKAN_HPP_NAMESPACE::SurfaceKHR *                         pSurface,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createDirectFBSurfaceEXT( const DirectFBSurfaceCreateInfoEXT & createInfo,
-                                Optional<const AllocationCallbacks>  allocator = nullptr,
-                                Dispatch const &                     d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createDirectFBSurfaceEXTUnique( const DirectFBSurfaceCreateInfoEXT & createInfo,
-                                      Optional<const AllocationCallbacks>  allocator = nullptr,
-                                      Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createDisplayPlaneSurfaceKHR( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR * pCreateInfo,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks *         pAllocator,
-                                         VULKAN_HPP_NAMESPACE::SurfaceKHR *                        pSurface,
-                                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createDisplayPlaneSurfaceKHR( const DisplaySurfaceCreateInfoKHR & createInfo,
-                                    Optional<const AllocationCallbacks> allocator = nullptr,
-                                    Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createDisplayPlaneSurfaceKHRUnique( const DisplaySurfaceCreateInfoKHR & createInfo,
-                                          Optional<const AllocationCallbacks> allocator = nullptr,
-                                          Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createHeadlessSurfaceEXT( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                     VULKAN_HPP_NAMESPACE::SurfaceKHR *                         pSurface,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createHeadlessSurfaceEXT( const HeadlessSurfaceCreateInfoEXT & createInfo,
-                                Optional<const AllocationCallbacks>  allocator = nullptr,
-                                Dispatch const &                     d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createHeadlessSurfaceEXTUnique( const HeadlessSurfaceCreateInfoEXT & createInfo,
-                                      Optional<const AllocationCallbacks>  allocator = nullptr,
-                                      Dispatch const &                     d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_IOS_MVK
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createIOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK * pCreateInfo,
-                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *     pAllocator,
-                                VULKAN_HPP_NAMESPACE::SurfaceKHR *                    pSurface,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createIOSSurfaceMVK( const IOSSurfaceCreateInfoMVK &     createInfo,
-                           Optional<const AllocationCallbacks> allocator = nullptr,
-                           Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createIOSSurfaceMVKUnique( const IOSSurfaceCreateInfoMVK &     createInfo,
-                                 Optional<const AllocationCallbacks> allocator = nullptr,
-                                 Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_IOS_MVK*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createImagePipeSurfaceFUCHSIA( const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *               pAllocator,
-                                     VULKAN_HPP_NAMESPACE::SurfaceKHR *                              pSurface,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createImagePipeSurfaceFUCHSIA( const ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,
-                                     Optional<const AllocationCallbacks>       allocator = nullptr,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createImagePipeSurfaceFUCHSIAUnique( const ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,
-                                           Optional<const AllocationCallbacks>       allocator = nullptr,
-                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_MACOS_MVK
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createMacOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK * pCreateInfo,
-                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                  VULKAN_HPP_NAMESPACE::SurfaceKHR *                      pSurface,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createMacOSSurfaceMVK( const MacOSSurfaceCreateInfoMVK &   createInfo,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createMacOSSurfaceMVKUnique( const MacOSSurfaceCreateInfoMVK &   createInfo,
-                                   Optional<const AllocationCallbacks> allocator = nullptr,
-                                   Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_MACOS_MVK*/
-
-#ifdef VK_USE_PLATFORM_METAL_EXT
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createMetalSurfaceEXT( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT * pCreateInfo,
-                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                  VULKAN_HPP_NAMESPACE::SurfaceKHR *                      pSurface,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createMetalSurfaceEXT( const MetalSurfaceCreateInfoEXT &   createInfo,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createMetalSurfaceEXTUnique( const MetalSurfaceCreateInfoEXT &   createInfo,
-                                   Optional<const AllocationCallbacks> allocator = nullptr,
-                                   Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_METAL_EXT*/
-
-#ifdef VK_USE_PLATFORM_GGP
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result
-      createStreamDescriptorSurfaceGGP( const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                  pAllocator,
-                                        VULKAN_HPP_NAMESPACE::SurfaceKHR *                                 pSurface,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createStreamDescriptorSurfaceGGP( const StreamDescriptorSurfaceCreateInfoGGP & createInfo,
-                                        Optional<const AllocationCallbacks>          allocator = nullptr,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createStreamDescriptorSurfaceGGPUnique( const StreamDescriptorSurfaceCreateInfoGGP & createInfo,
-                                              Optional<const AllocationCallbacks>          allocator = nullptr,
-                                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_GGP*/
-
-#ifdef VK_USE_PLATFORM_VI_NN
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createViSurfaceNN( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN * pCreateInfo,
-                              const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                              VULKAN_HPP_NAMESPACE::SurfaceKHR *                  pSurface,
-                              Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createViSurfaceNN( const ViSurfaceCreateInfoNN &       createInfo,
-                         Optional<const AllocationCallbacks> allocator = nullptr,
-                         Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createViSurfaceNNUnique( const ViSurfaceCreateInfoNN &       createInfo,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_VI_NN*/
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createWaylandSurfaceKHR( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR * pCreateInfo,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *         pAllocator,
-                                    VULKAN_HPP_NAMESPACE::SurfaceKHR *                        pSurface,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createWaylandSurfaceKHR( const WaylandSurfaceCreateInfoKHR & createInfo,
-                               Optional<const AllocationCallbacks> allocator = nullptr,
-                               Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createWaylandSurfaceKHRUnique( const WaylandSurfaceCreateInfoKHR & createInfo,
-                                     Optional<const AllocationCallbacks> allocator = nullptr,
-                                     Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_WAYLAND_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createWin32SurfaceKHR( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR * pCreateInfo,
-                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                  VULKAN_HPP_NAMESPACE::SurfaceKHR *                      pSurface,
-                                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createWin32SurfaceKHR( const Win32SurfaceCreateInfoKHR &   createInfo,
-                             Optional<const AllocationCallbacks> allocator = nullptr,
-                             Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createWin32SurfaceKHRUnique( const Win32SurfaceCreateInfoKHR &   createInfo,
-                                   Optional<const AllocationCallbacks> allocator = nullptr,
-                                   Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createXcbSurfaceKHR( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR * pCreateInfo,
-                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *     pAllocator,
-                                VULKAN_HPP_NAMESPACE::SurfaceKHR *                    pSurface,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createXcbSurfaceKHR( const XcbSurfaceCreateInfoKHR &     createInfo,
-                           Optional<const AllocationCallbacks> allocator = nullptr,
-                           Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createXcbSurfaceKHRUnique( const XcbSurfaceCreateInfoKHR &     createInfo,
-                                 Optional<const AllocationCallbacks> allocator = nullptr,
-                                 Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_XCB_KHR*/
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result createXlibSurfaceKHR( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR * pCreateInfo,
-                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                 VULKAN_HPP_NAMESPACE::SurfaceKHR *                     pSurface,
-                                 Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-      createXlibSurfaceKHR( const XlibSurfaceCreateInfoKHR &    createInfo,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-      createXlibSurfaceKHRUnique( const XlibSurfaceCreateInfoKHR &    createInfo,
-                                  Optional<const AllocationCallbacks> allocator = nullptr,
-                                  Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_XLIB_KHR*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT      flags,
-                                VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType,
-                                uint64_t                                       object,
-                                size_t                                         location,
-                                int32_t                                        messageCode,
-                                const char *                                   pLayerPrefix,
-                                const char *                                   pMessage,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT      flags,
-                                VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType,
-                                uint64_t                                       object,
-                                size_t                                         location,
-                                int32_t                                        messageCode,
-                                const std::string &                            layerPrefix,
-                                const std::string &                            message,
-                                Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT      callback,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
-                                        Optional<const AllocationCallbacks>          allocator = nullptr,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT      callback,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
-                  Optional<const AllocationCallbacks>          allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT      messenger,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
-                                        Optional<const AllocationCallbacks>          allocator = nullptr,
-                                        Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT      messenger,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
-                  Optional<const AllocationCallbacks>          allocator = nullptr,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR                  surface,
-                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR    surface,
-                            Optional<const AllocationCallbacks> allocator = nullptr,
-                            Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR                  surface,
-                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                  Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR    surface,
-                  Optional<const AllocationCallbacks> allocator = nullptr,
-                  Dispatch const &                    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result enumeratePhysicalDeviceGroups(
-      uint32_t *                                            pPhysicalDeviceGroupCount,
-      VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PhysicalDeviceGroupProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-      enumeratePhysicalDeviceGroups( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PhysicalDeviceGroupProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-      enumeratePhysicalDeviceGroups( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result enumeratePhysicalDeviceGroupsKHR(
-      uint32_t *                                            pPhysicalDeviceGroupCount,
-      VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,
-      Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PhysicalDeviceGroupProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-      enumeratePhysicalDeviceGroupsKHR( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PhysicalDeviceGroupProperties>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-      enumeratePhysicalDeviceGroupsKHR( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    Result enumeratePhysicalDevices( uint32_t *                             pPhysicalDeviceCount,
-                                     VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Allocator = std::allocator<PhysicalDevice>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDevice, Allocator>>::type
-      enumeratePhysicalDevices( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
-    template <typename Allocator = std::allocator<PhysicalDevice>,
-              typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    typename ResultValueType<std::vector<PhysicalDevice, Allocator>>::type
-      enumeratePhysicalDevices( Allocator const & vectorAllocator, Dispatch const & d ) const;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    PFN_vkVoidFunction getProcAddr( const char *     pName,
-                                    Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    PFN_vkVoidFunction getProcAddr( const std::string & name,
-                                    Dispatch const &    d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
-                                     VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT              messageTypes,
-                                     const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT * pCallbackData,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-    void submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
-                                     VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT        messageTypes,
-                                     const DebugUtilsMessengerCallbackDataEXT &                 callbackData,
-                                     Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) const VULKAN_HPP_NOEXCEPT;
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkInstance() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_instance;
-    }
-
-    explicit operator bool() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_instance != VK_NULL_HANDLE;
-    }
-
-    bool operator!() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_instance == VK_NULL_HANDLE;
-    }
-
-  private:
-    VkInstance m_instance;
-  };
-  static_assert( sizeof( Instance ) == sizeof( VkInstance ), "handle and wrapper have different size!" );
-
-  template <>
-  struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eInstance>
-  {
-    using type = Instance;
-  };
-
-  template <>
-  struct CppType<ObjectType, ObjectType::eInstance>
-  {
-    using Type = Instance;
-  };
-
-#ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  class UniqueHandleTraits<Instance, Dispatch>
-  {
-  public:
-    using deleter = ObjectDestroy<NoParent, Dispatch>;
-  };
-  using UniqueInstance = UniqueHandle<Instance, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
-#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-
-  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  Result createInstance( const VULKAN_HPP_NAMESPACE::InstanceCreateInfo *  pCreateInfo,
-                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                         VULKAN_HPP_NAMESPACE::Instance *                  pInstance,
-                         Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  typename ResultValueType<VULKAN_HPP_NAMESPACE::Instance>::type
-    createInstance( const InstanceCreateInfo &          createInfo,
-                    Optional<const AllocationCallbacks> allocator = nullptr,
-                    Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER );
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  typename ResultValueType<UniqueHandle<Instance, Dispatch>>::type
-    createInstanceUnique( const InstanceCreateInfo &          createInfo,
-                          Optional<const AllocationCallbacks> allocator = nullptr,
-                          Dispatch const &                    d         = VULKAN_HPP_DEFAULT_DISPATCHER );
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  Result enumerateInstanceExtensionProperties( const char *                                pLayerName,
-                                               uint32_t *                                  pPropertyCount,
-                                               VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,
-                                               Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator = std::allocator<ExtensionProperties>,
-            typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type
-    enumerateInstanceExtensionProperties( Optional<const std::string> layerName = nullptr,
-                                          Dispatch const &            d         = VULKAN_HPP_DEFAULT_DISPATCHER );
-  template <typename Allocator = std::allocator<ExtensionProperties>,
-            typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type enumerateInstanceExtensionProperties(
-    Optional<const std::string> layerName, Allocator const & vectorAllocator, Dispatch const & d );
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  Result enumerateInstanceLayerProperties( uint32_t *                              pPropertyCount,
-                                           VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,
-                                           Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator = std::allocator<LayerProperties>,
-            typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-    enumerateInstanceLayerProperties( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER );
-  template <typename Allocator = std::allocator<LayerProperties>,
-            typename Dispatch  = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-    enumerateInstanceLayerProperties( Allocator const & vectorAllocator, Dispatch const & d );
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  Result enumerateInstanceVersion( uint32_t *       pApiVersion,
-                                   Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT;
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
-  typename ResultValueType<uint32_t>::type
-    enumerateInstanceVersion( Dispatch const & d = VULKAN_HPP_DEFAULT_DISPATCHER );
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  struct AabbPositionsKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AabbPositionsKHR( float minX_ = {},
-                                           float minY_ = {},
-                                           float minZ_ = {},
-                                           float maxX_ = {},
-                                           float maxY_ = {},
-                                           float maxZ_ = {} ) VULKAN_HPP_NOEXCEPT
-      : minX( minX_ )
-      , minY( minY_ )
-      , minZ( minZ_ )
-      , maxX( maxX_ )
-      , maxY( maxY_ )
-      , maxZ( maxZ_ )
-    {}
-
-    AabbPositionsKHR( VkAabbPositionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    AabbPositionsKHR & operator=( VkAabbPositionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AabbPositionsKHR const *>( &rhs );
-      return *this;
-    }
-
-    AabbPositionsKHR & setMinX( float minX_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minX = minX_;
-      return *this;
-    }
-
-    AabbPositionsKHR & setMinY( float minY_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minY = minY_;
-      return *this;
-    }
-
-    AabbPositionsKHR & setMinZ( float minZ_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minZ = minZ_;
-      return *this;
-    }
-
-    AabbPositionsKHR & setMaxX( float maxX_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxX = maxX_;
-      return *this;
-    }
-
-    AabbPositionsKHR & setMaxY( float maxY_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxY = maxY_;
-      return *this;
-    }
-
-    AabbPositionsKHR & setMaxZ( float maxZ_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxZ = maxZ_;
-      return *this;
-    }
-
-    operator VkAabbPositionsKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAabbPositionsKHR *>( this );
-    }
-
-    operator VkAabbPositionsKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAabbPositionsKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AabbPositionsKHR const & ) const = default;
-#else
-    bool operator==( AabbPositionsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( minX == rhs.minX ) && ( minY == rhs.minY ) && ( minZ == rhs.minZ ) && ( maxX == rhs.maxX ) &&
-             ( maxY == rhs.maxY ) && ( maxZ == rhs.maxZ );
-    }
-
-    bool operator!=( AabbPositionsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    float minX = {};
-    float minY = {};
-    float minZ = {};
-    float maxX = {};
-    float maxY = {};
-    float maxZ = {};
-  };
-  static_assert( sizeof( AabbPositionsKHR ) == sizeof( VkAabbPositionsKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AabbPositionsKHR>::value, "struct wrapper is not a standard layout!" );
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  union DeviceOrHostAddressConstKHR
-  {
-    DeviceOrHostAddressConstKHR( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR ) );
-    }
-
-    DeviceOrHostAddressConstKHR( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {} )
-      : deviceAddress( deviceAddress_ )
-    {}
-
-    DeviceOrHostAddressConstKHR( const void * hostAddress_ ) : hostAddress( hostAddress_ ) {}
-
-    DeviceOrHostAddressConstKHR &
-      setDeviceAddress( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceAddress = deviceAddress_;
-      return *this;
-    }
-
-    DeviceOrHostAddressConstKHR & setHostAddress( const void * hostAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      hostAddress = hostAddress_;
-      return *this;
-    }
-
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR &
-      operator=( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR ) );
-      return *this;
-    }
-
-    operator VkDeviceOrHostAddressConstKHR const &() const
-    {
-      return *reinterpret_cast<const VkDeviceOrHostAddressConstKHR *>( this );
-    }
-
-    operator VkDeviceOrHostAddressConstKHR &()
-    {
-      return *reinterpret_cast<VkDeviceOrHostAddressConstKHR *>( this );
-    }
-
-#  ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-    VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress;
-    const void *                        hostAddress;
-#  else
-    VkDeviceAddress deviceAddress;
-    const void *    hostAddress;
-#  endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryTrianglesDataKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct AccelerationStructureGeometryTrianglesDataKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureGeometryTrianglesDataKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    AccelerationStructureGeometryTrianglesDataKHR(
-      VULKAN_HPP_NAMESPACE::Format                      vertexFormat_  = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData_    = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize                  vertexStride_  = {},
-      VULKAN_HPP_NAMESPACE::IndexType                   indexType_     = VULKAN_HPP_NAMESPACE::IndexType::eUint16,
-      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexData_     = {},
-      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR transformData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : vertexFormat( vertexFormat_ )
-      , vertexData( vertexData_ )
-      , vertexStride( vertexStride_ )
-      , indexType( indexType_ )
-      , indexData( indexData_ )
-      , transformData( transformData_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  AccelerationStructureGeometryTrianglesDataKHR(
+      VULKAN_HPP_NAMESPACE::Format vertexFormat_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ = {},
+      uint32_t maxVertex_ = {},
+      VULKAN_HPP_NAMESPACE::IndexType indexType_ =
+          VULKAN_HPP_NAMESPACE::IndexType::eUint16,
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexData_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR transformData_ = {})
+      VULKAN_HPP_NOEXCEPT : vertexFormat(vertexFormat_),
+                            vertexData(vertexData_),
+                            vertexStride(vertexStride_),
+                            maxVertex(maxVertex_),
+                            indexType(indexType_),
+                            indexData(indexData_),
+                            transformData(transformData_) {}
 
-    AccelerationStructureGeometryTrianglesDataKHR( VkAccelerationStructureGeometryTrianglesDataKHR const & rhs )
+  AccelerationStructureGeometryTrianglesDataKHR(
+      AccelerationStructureGeometryTrianglesDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AccelerationStructureGeometryTrianglesDataKHR(
+      VkAccelerationStructureGeometryTrianglesDataKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : AccelerationStructureGeometryTrianglesDataKHR(
+            *reinterpret_cast<
+                AccelerationStructureGeometryTrianglesDataKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      operator=( VkAccelerationStructureGeometryTrianglesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &
+  operator=(AccelerationStructureGeometryTrianglesDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      operator=( AccelerationStructureGeometryTrianglesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      vertexFormat  = rhs.vertexFormat;
-      vertexData    = rhs.vertexData;
-      vertexStride  = rhs.vertexStride;
-      indexType     = rhs.indexType;
-      indexData     = rhs.indexData;
-      transformData = rhs.transformData;
+  AccelerationStructureGeometryTrianglesDataKHR &
+  operator=(VkAccelerationStructureGeometryTrianglesDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            AccelerationStructureGeometryTrianglesDataKHR const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryTrianglesDataKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &setVertexFormat(
+      VULKAN_HPP_NAMESPACE::Format vertexFormat_) VULKAN_HPP_NOEXCEPT {
+    vertexFormat = vertexFormat_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      setVertexFormat( VULKAN_HPP_NAMESPACE::Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexFormat = vertexFormat_;
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &setVertexData(
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &vertexData_)
+      VULKAN_HPP_NOEXCEPT {
+    vertexData = vertexData_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      setVertexData( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & vertexData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexData = vertexData_;
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &setVertexStride(
+      VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_) VULKAN_HPP_NOEXCEPT {
+    vertexStride = vertexStride_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      setVertexStride( VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexStride = vertexStride_;
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &
+  setMaxVertex(uint32_t maxVertex_) VULKAN_HPP_NOEXCEPT {
+    maxVertex = maxVertex_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      setIndexType( VULKAN_HPP_NAMESPACE::IndexType indexType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexType = indexType_;
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &
+  setIndexType(VULKAN_HPP_NAMESPACE::IndexType indexType_) VULKAN_HPP_NOEXCEPT {
+    indexType = indexType_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      setIndexData( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & indexData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexData = indexData_;
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &setIndexData(
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &indexData_)
+      VULKAN_HPP_NOEXCEPT {
+    indexData = indexData_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryTrianglesDataKHR &
-      setTransformData( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & transformData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transformData = transformData_;
-      return *this;
-    }
+  AccelerationStructureGeometryTrianglesDataKHR &setTransformData(
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &transformData_)
+      VULKAN_HPP_NOEXCEPT {
+    transformData = transformData_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureGeometryTrianglesDataKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureGeometryTrianglesDataKHR *>( this );
-    }
+  operator VkAccelerationStructureGeometryTrianglesDataKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkAccelerationStructureGeometryTrianglesDataKHR *>(this);
+  }
 
-    operator VkAccelerationStructureGeometryTrianglesDataKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureGeometryTrianglesDataKHR *>( this );
-    }
+  operator VkAccelerationStructureGeometryTrianglesDataKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureGeometryTrianglesDataKHR *>(
+        this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureGeometryTrianglesDataKHR;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Format              vertexFormat          = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData    = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  vertexStride  = {};
-    VULKAN_HPP_NAMESPACE::IndexType                   indexType     = VULKAN_HPP_NAMESPACE::IndexType::eUint16;
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexData     = {};
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR transformData = {};
-  };
-  static_assert( sizeof( AccelerationStructureGeometryTrianglesDataKHR ) ==
-                   sizeof( VkAccelerationStructureGeometryTrianglesDataKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureGeometryTrianglesDataKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureGeometryTrianglesDataKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Format vertexFormat =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize vertexStride = {};
+  uint32_t maxVertex = {};
+  VULKAN_HPP_NAMESPACE::IndexType indexType =
+      VULKAN_HPP_NAMESPACE::IndexType::eUint16;
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexData = {};
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR transformData = {};
+};
+static_assert(sizeof(AccelerationStructureGeometryTrianglesDataKHR) ==
+                  sizeof(VkAccelerationStructureGeometryTrianglesDataKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  AccelerationStructureGeometryTrianglesDataKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureGeometryTrianglesDataKHR>
-  {
-    using Type = AccelerationStructureGeometryTrianglesDataKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureGeometryTrianglesDataKHR> {
+  using Type = AccelerationStructureGeometryTrianglesDataKHR;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryAabbsDataKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct AccelerationStructureGeometryAabbsDataKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureGeometryAabbsDataKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    AccelerationStructureGeometryAabbsDataKHR( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_ = {},
-                                               VULKAN_HPP_NAMESPACE::DeviceSize stride_ = {} ) VULKAN_HPP_NOEXCEPT
-      : data( data_ )
-      , stride( stride_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  AccelerationStructureGeometryAabbsDataKHR(
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize stride_ = {}) VULKAN_HPP_NOEXCEPT
+      : data(data_),
+        stride(stride_) {}
 
-    AccelerationStructureGeometryAabbsDataKHR( VkAccelerationStructureGeometryAabbsDataKHR const & rhs )
+  AccelerationStructureGeometryAabbsDataKHR(
+      AccelerationStructureGeometryAabbsDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AccelerationStructureGeometryAabbsDataKHR(
+      VkAccelerationStructureGeometryAabbsDataKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : AccelerationStructureGeometryAabbsDataKHR(
+            *reinterpret_cast<
+                AccelerationStructureGeometryAabbsDataKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureGeometryAabbsDataKHR &
-      operator=( VkAccelerationStructureGeometryAabbsDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureGeometryAabbsDataKHR &
+  operator=(AccelerationStructureGeometryAabbsDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureGeometryAabbsDataKHR &
-      operator=( AccelerationStructureGeometryAabbsDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      data   = rhs.data;
-      stride = rhs.stride;
+  AccelerationStructureGeometryAabbsDataKHR &
+  operator=(VkAccelerationStructureGeometryAabbsDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  AccelerationStructureGeometryAabbsDataKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryAabbsDataKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureGeometryAabbsDataKHR &
+  setData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &data_)
+      VULKAN_HPP_NOEXCEPT {
+    data = data_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryAabbsDataKHR &
-      setData( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & data_ ) VULKAN_HPP_NOEXCEPT
-    {
-      data = data_;
-      return *this;
-    }
+  AccelerationStructureGeometryAabbsDataKHR &
+  setStride(VULKAN_HPP_NAMESPACE::DeviceSize stride_) VULKAN_HPP_NOEXCEPT {
+    stride = stride_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryAabbsDataKHR &
-      setStride( VULKAN_HPP_NAMESPACE::DeviceSize stride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stride = stride_;
-      return *this;
-    }
+  operator VkAccelerationStructureGeometryAabbsDataKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkAccelerationStructureGeometryAabbsDataKHR *>(this);
+  }
 
-    operator VkAccelerationStructureGeometryAabbsDataKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureGeometryAabbsDataKHR *>( this );
-    }
+  operator VkAccelerationStructureGeometryAabbsDataKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureGeometryAabbsDataKHR *>(
+        this);
+  }
 
-    operator VkAccelerationStructureGeometryAabbsDataKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureGeometryAabbsDataKHR *>( this );
-    }
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureGeometryAabbsDataKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize stride = {};
+};
+static_assert(sizeof(AccelerationStructureGeometryAabbsDataKHR) ==
+                  sizeof(VkAccelerationStructureGeometryAabbsDataKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AccelerationStructureGeometryAabbsDataKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType = StructureType::eAccelerationStructureGeometryAabbsDataKHR;
-    const void *                                      pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data  = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  stride = {};
-  };
-  static_assert( sizeof( AccelerationStructureGeometryAabbsDataKHR ) ==
-                   sizeof( VkAccelerationStructureGeometryAabbsDataKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureGeometryAabbsDataKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureGeometryAabbsDataKHR> {
+  using Type = AccelerationStructureGeometryAabbsDataKHR;
+};
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureGeometryAabbsDataKHR>
-  {
-    using Type = AccelerationStructureGeometryAabbsDataKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryInstancesDataKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct AccelerationStructureGeometryInstancesDataKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureGeometryInstancesDataKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    AccelerationStructureGeometryInstancesDataKHR( VULKAN_HPP_NAMESPACE::Bool32 arrayOfPointers_           = {},
-                                                   VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_ = {} )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  AccelerationStructureGeometryInstancesDataKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 arrayOfPointers_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_ = {})
+      VULKAN_HPP_NOEXCEPT : arrayOfPointers(arrayOfPointers_),
+                            data(data_) {}
+
+  AccelerationStructureGeometryInstancesDataKHR(
+      AccelerationStructureGeometryInstancesDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AccelerationStructureGeometryInstancesDataKHR(
+      VkAccelerationStructureGeometryInstancesDataKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-      : arrayOfPointers( arrayOfPointers_ )
-      , data( data_ )
-    {}
+      : AccelerationStructureGeometryInstancesDataKHR(
+            *reinterpret_cast<
+                AccelerationStructureGeometryInstancesDataKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureGeometryInstancesDataKHR( VkAccelerationStructureGeometryInstancesDataKHR const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  AccelerationStructureGeometryInstancesDataKHR &
+  operator=(AccelerationStructureGeometryInstancesDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureGeometryInstancesDataKHR &
-      operator=( VkAccelerationStructureGeometryInstancesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureGeometryInstancesDataKHR &
+  operator=(VkAccelerationStructureGeometryInstancesDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            AccelerationStructureGeometryInstancesDataKHR const *>(&rhs);
+    return *this;
+  }
 
-    AccelerationStructureGeometryInstancesDataKHR &
-      operator=( AccelerationStructureGeometryInstancesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      arrayOfPointers = rhs.arrayOfPointers;
-      data            = rhs.data;
+  AccelerationStructureGeometryInstancesDataKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-      return *this;
-    }
+  AccelerationStructureGeometryInstancesDataKHR &setArrayOfPointers(
+      VULKAN_HPP_NAMESPACE::Bool32 arrayOfPointers_) VULKAN_HPP_NOEXCEPT {
+    arrayOfPointers = arrayOfPointers_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryInstancesDataKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureGeometryInstancesDataKHR &
+  setData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &data_)
+      VULKAN_HPP_NOEXCEPT {
+    data = data_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryInstancesDataKHR &
-      setArrayOfPointers( VULKAN_HPP_NAMESPACE::Bool32 arrayOfPointers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      arrayOfPointers = arrayOfPointers_;
-      return *this;
-    }
+  operator VkAccelerationStructureGeometryInstancesDataKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkAccelerationStructureGeometryInstancesDataKHR *>(this);
+  }
 
-    AccelerationStructureGeometryInstancesDataKHR &
-      setData( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & data_ ) VULKAN_HPP_NOEXCEPT
-    {
-      data = data_;
-      return *this;
-    }
+  operator VkAccelerationStructureGeometryInstancesDataKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureGeometryInstancesDataKHR *>(
+        this);
+  }
 
-    operator VkAccelerationStructureGeometryInstancesDataKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureGeometryInstancesDataKHR *>( this );
-    }
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureGeometryInstancesDataKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 arrayOfPointers = {};
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data = {};
+};
+static_assert(sizeof(AccelerationStructureGeometryInstancesDataKHR) ==
+                  sizeof(VkAccelerationStructureGeometryInstancesDataKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  AccelerationStructureGeometryInstancesDataKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-    operator VkAccelerationStructureGeometryInstancesDataKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureGeometryInstancesDataKHR *>( this );
-    }
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureGeometryInstancesDataKHR> {
+  using Type = AccelerationStructureGeometryInstancesDataKHR;
+};
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureGeometryInstancesDataKHR;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              arrayOfPointers = {};
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data    = {};
-  };
-  static_assert( sizeof( AccelerationStructureGeometryInstancesDataKHR ) ==
-                   sizeof( VkAccelerationStructureGeometryInstancesDataKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureGeometryInstancesDataKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+union AccelerationStructureGeometryDataKHR {
+  AccelerationStructureGeometryDataKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR));
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureGeometryInstancesDataKHR>
-  {
-    using Type = AccelerationStructureGeometryInstancesDataKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+  AccelerationStructureGeometryDataKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR
+          triangles_ = {})
+      : triangles(triangles_) {}
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  union AccelerationStructureGeometryDataKHR
-  {
-    AccelerationStructureGeometryDataKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR ) );
-    }
+  AccelerationStructureGeometryDataKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR aabbs_)
+      : aabbs(aabbs_) {}
 
-    AccelerationStructureGeometryDataKHR(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR triangles_ = {} )
-      : triangles( triangles_ )
-    {}
+  AccelerationStructureGeometryDataKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR
+          instances_)
+      : instances(instances_) {}
 
-    AccelerationStructureGeometryDataKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR aabbs_ )
-      : aabbs( aabbs_ )
-    {}
+  AccelerationStructureGeometryDataKHR &setTriangles(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR const
+          &triangles_) VULKAN_HPP_NOEXCEPT {
+    triangles = triangles_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryDataKHR(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR instances_ )
-      : instances( instances_ )
-    {}
+  AccelerationStructureGeometryDataKHR &
+  setAabbs(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR const
+               &aabbs_) VULKAN_HPP_NOEXCEPT {
+    aabbs = aabbs_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryDataKHR & setTriangles(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR const & triangles_ ) VULKAN_HPP_NOEXCEPT
-    {
-      triangles = triangles_;
-      return *this;
-    }
+  AccelerationStructureGeometryDataKHR &setInstances(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR const
+          &instances_) VULKAN_HPP_NOEXCEPT {
+    instances = instances_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryDataKHR &
-      setAabbs( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR const & aabbs_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aabbs = aabbs_;
-      return *this;
-    }
+  VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR &operator=(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR));
+    return *this;
+  }
 
-    AccelerationStructureGeometryDataKHR & setInstances(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR const & instances_ ) VULKAN_HPP_NOEXCEPT
-    {
-      instances = instances_;
-      return *this;
-    }
+  operator VkAccelerationStructureGeometryDataKHR const &() const {
+    return *reinterpret_cast<const VkAccelerationStructureGeometryDataKHR *>(
+        this);
+  }
 
-    VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR &
-      operator=( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR ) );
-      return *this;
-    }
+  operator VkAccelerationStructureGeometryDataKHR &() {
+    return *reinterpret_cast<VkAccelerationStructureGeometryDataKHR *>(this);
+  }
 
-    operator VkAccelerationStructureGeometryDataKHR const &() const
-    {
-      return *reinterpret_cast<const VkAccelerationStructureGeometryDataKHR *>( this );
-    }
+#ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+  VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR triangles;
+  VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR aabbs;
+  VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR instances;
+#else
+  VkAccelerationStructureGeometryTrianglesDataKHR triangles;
+  VkAccelerationStructureGeometryAabbsDataKHR aabbs;
+  VkAccelerationStructureGeometryInstancesDataKHR instances;
+#endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
+};
 
-    operator VkAccelerationStructureGeometryDataKHR &()
-    {
-      return *reinterpret_cast<VkAccelerationStructureGeometryDataKHR *>( this );
-    }
+struct AccelerationStructureGeometryKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAccelerationStructureGeometryKHR;
 
-#  ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-    VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR triangles;
-    VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR     aabbs;
-    VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR instances;
-#  else
-    VkAccelerationStructureGeometryTrianglesDataKHR triangles;
-    VkAccelerationStructureGeometryAabbsDataKHR     aabbs;
-    VkAccelerationStructureGeometryInstancesDataKHR instances;
-#  endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureGeometryKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    AccelerationStructureGeometryKHR(
-      VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_ = VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles,
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  AccelerationStructureGeometryKHR(
+      VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_ =
+          VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles,
       VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR geometry_ = {},
-      VULKAN_HPP_NAMESPACE::GeometryFlagsKHR                     flags_    = {} ) VULKAN_HPP_NOEXCEPT
-      : geometryType( geometryType_ )
-      , geometry( geometry_ )
-      , flags( flags_ )
-    {}
+      VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_ = {}) VULKAN_HPP_NOEXCEPT
+      : geometryType(geometryType_),
+        geometry(geometry_),
+        flags(flags_) {}
 
-    AccelerationStructureGeometryKHR( VkAccelerationStructureGeometryKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  AccelerationStructureGeometryKHR(AccelerationStructureGeometryKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureGeometryKHR & operator=( VkAccelerationStructureGeometryKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureGeometryKHR(
+      VkAccelerationStructureGeometryKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : AccelerationStructureGeometryKHR(
+            *reinterpret_cast<AccelerationStructureGeometryKHR const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureGeometryKHR & operator=( AccelerationStructureGeometryKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      geometryType = rhs.geometryType;
-      geometry     = rhs.geometry;
-      flags        = rhs.flags;
+  AccelerationStructureGeometryKHR &
+  operator=(AccelerationStructureGeometryKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AccelerationStructureGeometryKHR &
+  operator=(VkAccelerationStructureGeometryKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR const *>(&rhs);
+    return *this;
+  }
 
-    AccelerationStructureGeometryKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureGeometryKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryKHR &
-      setGeometryType( VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryType = geometryType_;
-      return *this;
-    }
+  AccelerationStructureGeometryKHR &setGeometryType(
+      VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_) VULKAN_HPP_NOEXCEPT {
+    geometryType = geometryType_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryKHR &
-      setGeometry( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR const & geometry_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometry = geometry_;
-      return *this;
-    }
+  AccelerationStructureGeometryKHR &
+  setGeometry(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR const
+                  &geometry_) VULKAN_HPP_NOEXCEPT {
+    geometry = geometry_;
+    return *this;
+  }
 
-    AccelerationStructureGeometryKHR & setFlags( VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  AccelerationStructureGeometryKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureGeometryKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureGeometryKHR *>( this );
-    }
+  operator VkAccelerationStructureGeometryKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureGeometryKHR *>(this);
+  }
 
-    operator VkAccelerationStructureGeometryKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureGeometryKHR *>( this );
-    }
+  operator VkAccelerationStructureGeometryKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureGeometryKHR *>(this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eAccelerationStructureGeometryKHR;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::GeometryTypeKHR     geometryType = VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles;
-    VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR geometry = {};
-    VULKAN_HPP_NAMESPACE::GeometryFlagsKHR                     flags    = {};
-  };
-  static_assert( sizeof( AccelerationStructureGeometryKHR ) == sizeof( VkAccelerationStructureGeometryKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureGeometryKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureGeometryKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType =
+      VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles;
+  VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR geometry = {};
+  VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags = {};
+};
+static_assert(sizeof(AccelerationStructureGeometryKHR) ==
+                  sizeof(VkAccelerationStructureGeometryKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AccelerationStructureGeometryKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureGeometryKHR>
-  {
-    using Type = AccelerationStructureGeometryKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureGeometryKHR> {
+  using Type = AccelerationStructureGeometryKHR;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  union DeviceOrHostAddressKHR
-  {
-    DeviceOrHostAddressKHR( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR ) );
-    }
+union DeviceOrHostAddressKHR {
+  DeviceOrHostAddressKHR(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const
+                             &rhs) VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR));
+  }
 
-    DeviceOrHostAddressKHR( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {} ) : deviceAddress( deviceAddress_ )
-    {}
+  DeviceOrHostAddressKHR(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {})
+      : deviceAddress(deviceAddress_) {}
 
-    DeviceOrHostAddressKHR( void * hostAddress_ ) : hostAddress( hostAddress_ ) {}
+  DeviceOrHostAddressKHR(void *hostAddress_) : hostAddress(hostAddress_) {}
 
-    DeviceOrHostAddressKHR & setDeviceAddress( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceAddress = deviceAddress_;
-      return *this;
-    }
+  DeviceOrHostAddressKHR &setDeviceAddress(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT {
+    deviceAddress = deviceAddress_;
+    return *this;
+  }
 
-    DeviceOrHostAddressKHR & setHostAddress( void * hostAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      hostAddress = hostAddress_;
-      return *this;
-    }
+  DeviceOrHostAddressKHR &
+  setHostAddress(void *hostAddress_) VULKAN_HPP_NOEXCEPT {
+    hostAddress = hostAddress_;
+    return *this;
+  }
 
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR &
-      operator=( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR ) );
-      return *this;
-    }
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR &
+  operator=(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR));
+    return *this;
+  }
 
-    operator VkDeviceOrHostAddressKHR const &() const
-    {
-      return *reinterpret_cast<const VkDeviceOrHostAddressKHR *>( this );
-    }
+  operator VkDeviceOrHostAddressKHR const &() const {
+    return *reinterpret_cast<const VkDeviceOrHostAddressKHR *>(this);
+  }
 
-    operator VkDeviceOrHostAddressKHR &()
-    {
-      return *reinterpret_cast<VkDeviceOrHostAddressKHR *>( this );
-    }
+  operator VkDeviceOrHostAddressKHR &() {
+    return *reinterpret_cast<VkDeviceOrHostAddressKHR *>(this);
+  }
 
-#  ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-    VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress;
-    void *                              hostAddress;
-#  else
-    VkDeviceAddress                                 deviceAddress;
-    void *                                          hostAddress;
-#  endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+#ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress;
+  void *hostAddress;
+#else
+  VkDeviceAddress deviceAddress;
+  void *hostAddress;
+#endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureBuildGeometryInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct AccelerationStructureBuildGeometryInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureBuildGeometryInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    AccelerationStructureBuildGeometryInfoKHR(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  AccelerationStructureBuildGeometryInfoKHR(
       VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_ =
-        VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel,
-      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR               flags_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32                                           update_                   = {},
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR                         srcAccelerationStructure_ = {},
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR                         dstAccelerationStructure_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32                                           geometryArrayOfPointers_  = {},
-      uint32_t                                                               geometryCount_            = {},
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR * const * ppGeometries_             = {},
-      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR                           scratchData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , flags( flags_ )
-      , update( update_ )
-      , srcAccelerationStructure( srcAccelerationStructure_ )
-      , dstAccelerationStructure( dstAccelerationStructure_ )
-      , geometryArrayOfPointers( geometryArrayOfPointers_ )
-      , geometryCount( geometryCount_ )
-      , ppGeometries( ppGeometries_ )
-      , scratchData( scratchData_ )
-    {}
+          VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel,
+      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_ = {},
+      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode_ =
+          VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR::eBuild,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_ =
+          {},
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_ =
+          {},
+      uint32_t geometryCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR
+          *pGeometries_ = {},
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *const
+          *ppGeometries_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData_ = {})
+      VULKAN_HPP_NOEXCEPT : type(type_),
+                            flags(flags_),
+                            mode(mode_),
+                            srcAccelerationStructure(srcAccelerationStructure_),
+                            dstAccelerationStructure(dstAccelerationStructure_),
+                            geometryCount(geometryCount_),
+                            pGeometries(pGeometries_),
+                            ppGeometries(ppGeometries_),
+                            scratchData(scratchData_) {}
 
-    AccelerationStructureBuildGeometryInfoKHR( VkAccelerationStructureBuildGeometryInfoKHR const & rhs )
+  AccelerationStructureBuildGeometryInfoKHR(
+      AccelerationStructureBuildGeometryInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AccelerationStructureBuildGeometryInfoKHR(
+      VkAccelerationStructureBuildGeometryInfoKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
+      : AccelerationStructureBuildGeometryInfoKHR(
+            *reinterpret_cast<
+                AccelerationStructureBuildGeometryInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  AccelerationStructureBuildGeometryInfoKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_,
+      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_,
+      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode_,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR> const
+          &geometries_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR
+              *const> const &pGeometries_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData_ = {})
+      : type(type_), flags(flags_), mode(mode_),
+        srcAccelerationStructure(srcAccelerationStructure_),
+        dstAccelerationStructure(dstAccelerationStructure_),
+        geometryCount(static_cast<uint32_t>(
+            !geometries_.empty() ? geometries_.size() : pGeometries_.size())),
+        pGeometries(geometries_.data()), ppGeometries(pGeometries_.data()),
+        scratchData(scratchData_) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT((!geometries_.empty() + !pGeometries_.empty()) == 1);
+#else
+    if ((!geometries_.empty() + !pGeometries_.empty()) != 1) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::AccelerationStructureBuildGeometryInfoKHR::"
+                       "AccelerationStructureBuildGeometryInfoKHR: ( "
+                       "!geometries_.empty() + !pGeometries_.empty() ) != 1");
     }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureBuildGeometryInfoKHR &
-      operator=( VkAccelerationStructureBuildGeometryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  operator=(AccelerationStructureBuildGeometryInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureBuildGeometryInfoKHR &
-      operator=( AccelerationStructureBuildGeometryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      type                     = rhs.type;
-      flags                    = rhs.flags;
-      update                   = rhs.update;
-      srcAccelerationStructure = rhs.srcAccelerationStructure;
-      dstAccelerationStructure = rhs.dstAccelerationStructure;
-      geometryArrayOfPointers  = rhs.geometryArrayOfPointers;
-      geometryCount            = rhs.geometryCount;
-      ppGeometries             = rhs.ppGeometries;
-      scratchData              = rhs.scratchData;
+  AccelerationStructureBuildGeometryInfoKHR &
+  operator=(VkAccelerationStructureBuildGeometryInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  setType(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR &
-      setType( VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  setMode(VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode_)
+      VULKAN_HPP_NOEXCEPT {
+    mode = mode_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR & setUpdate( VULKAN_HPP_NAMESPACE::Bool32 update_ ) VULKAN_HPP_NOEXCEPT
-    {
-      update = update_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &setSrcAccelerationStructure(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_)
+      VULKAN_HPP_NOEXCEPT {
+    srcAccelerationStructure = srcAccelerationStructure_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR & setSrcAccelerationStructure(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcAccelerationStructure = srcAccelerationStructure_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &setDstAccelerationStructure(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_)
+      VULKAN_HPP_NOEXCEPT {
+    dstAccelerationStructure = dstAccelerationStructure_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR & setDstAccelerationStructure(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstAccelerationStructure = dstAccelerationStructure_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  setGeometryCount(uint32_t geometryCount_) VULKAN_HPP_NOEXCEPT {
+    geometryCount = geometryCount_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR &
-      setGeometryArrayOfPointers( VULKAN_HPP_NAMESPACE::Bool32 geometryArrayOfPointers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryArrayOfPointers = geometryArrayOfPointers_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  setPGeometries(const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR
+                     *pGeometries_) VULKAN_HPP_NOEXCEPT {
+    pGeometries = pGeometries_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR & setGeometryCount( uint32_t geometryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryCount = geometryCount_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  AccelerationStructureBuildGeometryInfoKHR &setGeometries(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR> const
+          &geometries_) VULKAN_HPP_NOEXCEPT {
+    geometryCount = static_cast<uint32_t>(geometries_.size());
+    pGeometries = geometries_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    AccelerationStructureBuildGeometryInfoKHR & setPpGeometries(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR * const * ppGeometries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ppGeometries = ppGeometries_;
-      return *this;
-    }
+  AccelerationStructureBuildGeometryInfoKHR &
+  setPpGeometries(const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR
+                      *const *ppGeometries_) VULKAN_HPP_NOEXCEPT {
+    ppGeometries = ppGeometries_;
+    return *this;
+  }
 
-    AccelerationStructureBuildGeometryInfoKHR &
-      setScratchData( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const & scratchData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      scratchData = scratchData_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  AccelerationStructureBuildGeometryInfoKHR &
+  setPGeometries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR
+                     *const> const &pGeometries_) VULKAN_HPP_NOEXCEPT {
+    geometryCount = static_cast<uint32_t>(pGeometries_.size());
+    ppGeometries = pGeometries_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkAccelerationStructureBuildGeometryInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( this );
-    }
+  AccelerationStructureBuildGeometryInfoKHR &setScratchData(
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const &scratchData_)
+      VULKAN_HPP_NOEXCEPT {
+    scratchData = scratchData_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureBuildGeometryInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureBuildGeometryInfoKHR *>( this );
-    }
+  operator VkAccelerationStructureBuildGeometryInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkAccelerationStructureBuildGeometryInfoKHR *>(this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureBuildGeometryInfoKHR;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type =
+  operator VkAccelerationStructureBuildGeometryInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureBuildGeometryInfoKHR *>(
+        this);
+  }
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureBuildGeometryInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type =
       VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel;
-    VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR               flags                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                           update                   = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR                         srcAccelerationStructure = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR                         dstAccelerationStructure = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                           geometryArrayOfPointers  = {};
-    uint32_t                                                               geometryCount            = {};
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR * const * ppGeometries             = {};
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR                           scratchData              = {};
-  };
-  static_assert( sizeof( AccelerationStructureBuildGeometryInfoKHR ) ==
-                   sizeof( VkAccelerationStructureBuildGeometryInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureBuildGeometryInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags = {};
+  VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode =
+      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR::eBuild;
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure = {};
+  uint32_t geometryCount = {};
+  const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *pGeometries =
+      {};
+  const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *const
+      *ppGeometries = {};
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData = {};
+};
+static_assert(sizeof(AccelerationStructureBuildGeometryInfoKHR) ==
+                  sizeof(VkAccelerationStructureBuildGeometryInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AccelerationStructureBuildGeometryInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureBuildGeometryInfoKHR>
-  {
-    using Type = AccelerationStructureBuildGeometryInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureBuildGeometryInfoKHR> {
+  using Type = AccelerationStructureBuildGeometryInfoKHR;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureBuildOffsetInfoKHR
-  {
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureBuildOffsetInfoKHR( uint32_t primitiveCount_  = {},
-                                                                  uint32_t primitiveOffset_ = {},
-                                                                  uint32_t firstVertex_     = {},
-                                                                  uint32_t transformOffset_ = {} ) VULKAN_HPP_NOEXCEPT
-      : primitiveCount( primitiveCount_ )
-      , primitiveOffset( primitiveOffset_ )
-      , firstVertex( firstVertex_ )
-      , transformOffset( transformOffset_ )
-    {}
+struct AccelerationStructureBuildRangeInfoKHR {
 
-    AccelerationStructureBuildOffsetInfoKHR( VkAccelerationStructureBuildOffsetInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureBuildRangeInfoKHR(
+      uint32_t primitiveCount_ = {}, uint32_t primitiveOffset_ = {},
+      uint32_t firstVertex_ = {},
+      uint32_t transformOffset_ = {}) VULKAN_HPP_NOEXCEPT
+      : primitiveCount(primitiveCount_),
+        primitiveOffset(primitiveOffset_),
+        firstVertex(firstVertex_),
+        transformOffset(transformOffset_) {}
 
-    AccelerationStructureBuildOffsetInfoKHR &
-      operator=( VkAccelerationStructureBuildOffsetInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR AccelerationStructureBuildRangeInfoKHR(
+      AccelerationStructureBuildRangeInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureBuildOffsetInfoKHR & setPrimitiveCount( uint32_t primitiveCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      primitiveCount = primitiveCount_;
-      return *this;
-    }
+  AccelerationStructureBuildRangeInfoKHR(
+      VkAccelerationStructureBuildRangeInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : AccelerationStructureBuildRangeInfoKHR(
+            *reinterpret_cast<AccelerationStructureBuildRangeInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureBuildOffsetInfoKHR & setPrimitiveOffset( uint32_t primitiveOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      primitiveOffset = primitiveOffset_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR &
+  operator=(AccelerationStructureBuildRangeInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureBuildOffsetInfoKHR & setFirstVertex( uint32_t firstVertex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      firstVertex = firstVertex_;
-      return *this;
-    }
+  AccelerationStructureBuildRangeInfoKHR &operator=(
+      VkAccelerationStructureBuildRangeInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    AccelerationStructureBuildOffsetInfoKHR & setTransformOffset( uint32_t transformOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transformOffset = transformOffset_;
-      return *this;
-    }
+  AccelerationStructureBuildRangeInfoKHR &
+  setPrimitiveCount(uint32_t primitiveCount_) VULKAN_HPP_NOEXCEPT {
+    primitiveCount = primitiveCount_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureBuildOffsetInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureBuildOffsetInfoKHR *>( this );
-    }
+  AccelerationStructureBuildRangeInfoKHR &
+  setPrimitiveOffset(uint32_t primitiveOffset_) VULKAN_HPP_NOEXCEPT {
+    primitiveOffset = primitiveOffset_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureBuildOffsetInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureBuildOffsetInfoKHR *>( this );
-    }
+  AccelerationStructureBuildRangeInfoKHR &
+  setFirstVertex(uint32_t firstVertex_) VULKAN_HPP_NOEXCEPT {
+    firstVertex = firstVertex_;
+    return *this;
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureBuildOffsetInfoKHR const & ) const = default;
-#  else
-    bool operator==( AccelerationStructureBuildOffsetInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( primitiveCount == rhs.primitiveCount ) && ( primitiveOffset == rhs.primitiveOffset ) &&
-             ( firstVertex == rhs.firstVertex ) && ( transformOffset == rhs.transformOffset );
-    }
+  AccelerationStructureBuildRangeInfoKHR &
+  setTransformOffset(uint32_t transformOffset_) VULKAN_HPP_NOEXCEPT {
+    transformOffset = transformOffset_;
+    return *this;
+  }
 
-    bool operator!=( AccelerationStructureBuildOffsetInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  operator VkAccelerationStructureBuildRangeInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *>(
+        this);
+  }
 
-  public:
-    uint32_t primitiveCount  = {};
-    uint32_t primitiveOffset = {};
-    uint32_t firstVertex     = {};
-    uint32_t transformOffset = {};
-  };
-  static_assert( sizeof( AccelerationStructureBuildOffsetInfoKHR ) ==
-                   sizeof( VkAccelerationStructureBuildOffsetInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureBuildOffsetInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+  operator VkAccelerationStructureBuildRangeInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureBuildRangeInfoKHR *>(this);
+  }
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureCreateGeometryTypeInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eAccelerationStructureCreateGeometryTypeInfoKHR;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(AccelerationStructureBuildRangeInfoKHR const &) const = default;
+#else
+  bool operator==(AccelerationStructureBuildRangeInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (primitiveCount == rhs.primitiveCount) &&
+           (primitiveOffset == rhs.primitiveOffset) &&
+           (firstVertex == rhs.firstVertex) &&
+           (transformOffset == rhs.transformOffset);
+  }
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureCreateGeometryTypeInfoKHR(
-      VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_      = VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles,
-      uint32_t                              maxPrimitiveCount_ = {},
-      VULKAN_HPP_NAMESPACE::IndexType       indexType_         = VULKAN_HPP_NAMESPACE::IndexType::eUint16,
-      uint32_t                              maxVertexCount_    = {},
-      VULKAN_HPP_NAMESPACE::Format          vertexFormat_      = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::Bool32          allowsTransforms_  = {} ) VULKAN_HPP_NOEXCEPT
-      : geometryType( geometryType_ )
-      , maxPrimitiveCount( maxPrimitiveCount_ )
-      , indexType( indexType_ )
-      , maxVertexCount( maxVertexCount_ )
-      , vertexFormat( vertexFormat_ )
-      , allowsTransforms( allowsTransforms_ )
-    {}
+  bool operator!=(AccelerationStructureBuildRangeInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-    AccelerationStructureCreateGeometryTypeInfoKHR( VkAccelerationStructureCreateGeometryTypeInfoKHR const & rhs )
+public:
+  uint32_t primitiveCount = {};
+  uint32_t primitiveOffset = {};
+  uint32_t firstVertex = {};
+  uint32_t transformOffset = {};
+};
+static_assert(sizeof(AccelerationStructureBuildRangeInfoKHR) ==
+                  sizeof(VkAccelerationStructureBuildRangeInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AccelerationStructureBuildRangeInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+struct AccelerationStructureBuildSizesInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAccelerationStructureBuildSizesInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR(
+      VULKAN_HPP_NAMESPACE::DeviceSize accelerationStructureSize_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize updateScratchSize_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : accelerationStructureSize(accelerationStructureSize_),
+        updateScratchSize(updateScratchSize_),
+        buildScratchSize(buildScratchSize_) {}
 
-    AccelerationStructureCreateGeometryTypeInfoKHR &
-      operator=( VkAccelerationStructureCreateGeometryTypeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateGeometryTypeInfoKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR(
+      AccelerationStructureBuildSizesInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureCreateGeometryTypeInfoKHR &
-      operator=( AccelerationStructureCreateGeometryTypeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      geometryType      = rhs.geometryType;
-      maxPrimitiveCount = rhs.maxPrimitiveCount;
-      indexType         = rhs.indexType;
-      maxVertexCount    = rhs.maxVertexCount;
-      vertexFormat      = rhs.vertexFormat;
-      allowsTransforms  = rhs.allowsTransforms;
+  AccelerationStructureBuildSizesInfoKHR(
+      VkAccelerationStructureBuildSizesInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : AccelerationStructureBuildSizesInfoKHR(
+            *reinterpret_cast<AccelerationStructureBuildSizesInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildSizesInfoKHR &
+  operator=(AccelerationStructureBuildSizesInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureCreateGeometryTypeInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureBuildSizesInfoKHR &operator=(
+      VkAccelerationStructureBuildSizesInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    AccelerationStructureCreateGeometryTypeInfoKHR &
-      setGeometryType( VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryType = geometryType_;
-      return *this;
-    }
+  AccelerationStructureBuildSizesInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureCreateGeometryTypeInfoKHR &
-      setMaxPrimitiveCount( uint32_t maxPrimitiveCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxPrimitiveCount = maxPrimitiveCount_;
-      return *this;
-    }
+  AccelerationStructureBuildSizesInfoKHR &setAccelerationStructureSize(
+      VULKAN_HPP_NAMESPACE::DeviceSize accelerationStructureSize_)
+      VULKAN_HPP_NOEXCEPT {
+    accelerationStructureSize = accelerationStructureSize_;
+    return *this;
+  }
 
-    AccelerationStructureCreateGeometryTypeInfoKHR &
-      setIndexType( VULKAN_HPP_NAMESPACE::IndexType indexType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexType = indexType_;
-      return *this;
-    }
+  AccelerationStructureBuildSizesInfoKHR &setUpdateScratchSize(
+      VULKAN_HPP_NAMESPACE::DeviceSize updateScratchSize_) VULKAN_HPP_NOEXCEPT {
+    updateScratchSize = updateScratchSize_;
+    return *this;
+  }
 
-    AccelerationStructureCreateGeometryTypeInfoKHR & setMaxVertexCount( uint32_t maxVertexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxVertexCount = maxVertexCount_;
-      return *this;
-    }
+  AccelerationStructureBuildSizesInfoKHR &setBuildScratchSize(
+      VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_) VULKAN_HPP_NOEXCEPT {
+    buildScratchSize = buildScratchSize_;
+    return *this;
+  }
 
-    AccelerationStructureCreateGeometryTypeInfoKHR &
-      setVertexFormat( VULKAN_HPP_NAMESPACE::Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexFormat = vertexFormat_;
-      return *this;
-    }
+  operator VkAccelerationStructureBuildSizesInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureBuildSizesInfoKHR *>(
+        this);
+  }
 
-    AccelerationStructureCreateGeometryTypeInfoKHR &
-      setAllowsTransforms( VULKAN_HPP_NAMESPACE::Bool32 allowsTransforms_ ) VULKAN_HPP_NOEXCEPT
-    {
-      allowsTransforms = allowsTransforms_;
-      return *this;
-    }
+  operator VkAccelerationStructureBuildSizesInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>(this);
+  }
 
-    operator VkAccelerationStructureCreateGeometryTypeInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureCreateGeometryTypeInfoKHR *>( this );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(AccelerationStructureBuildSizesInfoKHR const &) const = default;
+#else
+  bool operator==(AccelerationStructureBuildSizesInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (accelerationStructureSize == rhs.accelerationStructureSize) &&
+           (updateScratchSize == rhs.updateScratchSize) &&
+           (buildScratchSize == rhs.buildScratchSize);
+  }
 
-    operator VkAccelerationStructureCreateGeometryTypeInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureCreateGeometryTypeInfoKHR *>( this );
-    }
+  bool operator!=(AccelerationStructureBuildSizesInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureCreateGeometryTypeInfoKHR const & ) const = default;
-#  else
-    bool operator==( AccelerationStructureCreateGeometryTypeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( geometryType == rhs.geometryType ) &&
-             ( maxPrimitiveCount == rhs.maxPrimitiveCount ) && ( indexType == rhs.indexType ) &&
-             ( maxVertexCount == rhs.maxVertexCount ) && ( vertexFormat == rhs.vertexFormat ) &&
-             ( allowsTransforms == rhs.allowsTransforms );
-    }
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureBuildSizesInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize accelerationStructureSize = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize updateScratchSize = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize = {};
+};
+static_assert(sizeof(AccelerationStructureBuildSizesInfoKHR) ==
+                  sizeof(VkAccelerationStructureBuildSizesInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AccelerationStructureBuildSizesInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-    bool operator!=( AccelerationStructureCreateGeometryTypeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureBuildSizesInfoKHR> {
+  using Type = AccelerationStructureBuildSizesInfoKHR;
+};
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureCreateGeometryTypeInfoKHR;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::GeometryTypeKHR     geometryType      = VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles;
-    uint32_t                                  maxPrimitiveCount = {};
-    VULKAN_HPP_NAMESPACE::IndexType           indexType         = VULKAN_HPP_NAMESPACE::IndexType::eUint16;
-    uint32_t                                  maxVertexCount    = {};
-    VULKAN_HPP_NAMESPACE::Format              vertexFormat      = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::Bool32              allowsTransforms  = {};
-  };
-  static_assert( sizeof( AccelerationStructureCreateGeometryTypeInfoKHR ) ==
-                   sizeof( VkAccelerationStructureCreateGeometryTypeInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureCreateGeometryTypeInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+class Buffer {
+public:
+  using CType = VkBuffer;
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureCreateGeometryTypeInfoKHR>
-  {
-    using Type = AccelerationStructureCreateGeometryTypeInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBuffer;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBuffer;
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+public:
+  VULKAN_HPP_CONSTEXPR Buffer() = default;
+  VULKAN_HPP_CONSTEXPR Buffer(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Buffer(VkBuffer buffer) VULKAN_HPP_NOEXCEPT
+      : m_buffer(buffer) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Buffer &operator=(VkBuffer buffer) VULKAN_HPP_NOEXCEPT {
+    m_buffer = buffer;
+    return *this;
+  }
+#endif
+
+  Buffer &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_buffer = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Buffer const &) const = default;
+#else
+  bool operator==(Buffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_buffer == rhs.m_buffer;
+  }
+
+  bool operator!=(Buffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_buffer != rhs.m_buffer;
+  }
+
+  bool operator<(Buffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_buffer < rhs.m_buffer;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBuffer() const VULKAN_HPP_NOEXCEPT {
+    return m_buffer;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_buffer != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_buffer == VK_NULL_HANDLE;
+  }
+
+private:
+  VkBuffer m_buffer = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Buffer) == sizeof(VkBuffer),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eBuffer> {
+  using type = VULKAN_HPP_NAMESPACE::Buffer;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eBuffer> {
+  using Type = VULKAN_HPP_NAMESPACE::Buffer;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBuffer> {
+  using Type = VULKAN_HPP_NAMESPACE::Buffer;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Buffer> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct AccelerationStructureCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureCreateInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::DeviceSize                   compactedSize_ = {},
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureCreateFlagsKHR createFlags_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {},
       VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_ =
-        VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel,
-      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR                     flags_            = {},
-      uint32_t                                                                     maxGeometryCount_ = {},
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateGeometryTypeInfoKHR * pGeometryInfos_   = {},
-      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {} ) VULKAN_HPP_NOEXCEPT
-      : compactedSize( compactedSize_ )
-      , type( type_ )
-      , flags( flags_ )
-      , maxGeometryCount( maxGeometryCount_ )
-      , pGeometryInfos( pGeometryInfos_ )
-      , deviceAddress( deviceAddress_ )
-    {}
+          VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel,
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {})
+      VULKAN_HPP_NOEXCEPT : createFlags(createFlags_),
+                            buffer(buffer_),
+                            offset(offset_),
+                            size(size_),
+                            type(type_),
+                            deviceAddress(deviceAddress_) {}
 
-    AccelerationStructureCreateInfoKHR( VkAccelerationStructureCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoKHR(
+      AccelerationStructureCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    AccelerationStructureCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::DeviceSize                         compactedSize_,
-      VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR       type_,
-      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateGeometryTypeInfoKHR> const & geometryInfos_,
-      VULKAN_HPP_NAMESPACE::DeviceAddress                                                   deviceAddress_ = {} )
-      : compactedSize( compactedSize_ )
-      , type( type_ )
-      , flags( flags_ )
-      , maxGeometryCount( static_cast<uint32_t>( geometryInfos_.size() ) )
-      , pGeometryInfos( geometryInfos_.data() )
-      , deviceAddress( deviceAddress_ )
-    {}
-#    endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#  endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  AccelerationStructureCreateInfoKHR(
+      VkAccelerationStructureCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : AccelerationStructureCreateInfoKHR(
+            *reinterpret_cast<AccelerationStructureCreateInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureCreateInfoKHR &
-      operator=( VkAccelerationStructureCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR &
+  operator=(AccelerationStructureCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureCreateInfoKHR & operator=( AccelerationStructureCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      compactedSize    = rhs.compactedSize;
-      type             = rhs.type;
-      flags            = rhs.flags;
-      maxGeometryCount = rhs.maxGeometryCount;
-      pGeometryInfos   = rhs.pGeometryInfos;
-      deviceAddress    = rhs.deviceAddress;
+  AccelerationStructureCreateInfoKHR &operator=(
+      VkAccelerationStructureCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  AccelerationStructureCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoKHR &setCreateFlags(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureCreateFlagsKHR createFlags_)
+      VULKAN_HPP_NOEXCEPT {
+    createFlags = createFlags_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoKHR &
-      setCompactedSize( VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compactedSize = compactedSize_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoKHR &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoKHR &
-      setType( VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoKHR &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoKHR &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoKHR & setMaxGeometryCount( uint32_t maxGeometryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxGeometryCount = maxGeometryCount_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoKHR &
+  setType(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoKHR & setPGeometryInfos(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateGeometryTypeInfoKHR * pGeometryInfos_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pGeometryInfos = pGeometryInfos_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoKHR &setDeviceAddress(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT {
+    deviceAddress = deviceAddress_;
+    return *this;
+  }
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    AccelerationStructureCreateInfoKHR & setGeometryInfos(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateGeometryTypeInfoKHR> const & geometryInfos_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      maxGeometryCount = static_cast<uint32_t>( geometryInfos_.size() );
-      pGeometryInfos   = geometryInfos_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkAccelerationStructureCreateInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>(
+        this);
+  }
 
-    AccelerationStructureCreateInfoKHR &
-      setDeviceAddress( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceAddress = deviceAddress_;
-      return *this;
-    }
+  operator VkAccelerationStructureCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureCreateInfoKHR *>(this);
+  }
 
-    operator VkAccelerationStructureCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( this );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureCreateInfoKHR const &) const = default;
+#else
+  bool operator==(AccelerationStructureCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (createFlags == rhs.createFlags) && (buffer == rhs.buffer) &&
+           (offset == rhs.offset) && (size == rhs.size) && (type == rhs.type) &&
+           (deviceAddress == rhs.deviceAddress);
+  }
 
-    operator VkAccelerationStructureCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureCreateInfoKHR *>( this );
-    }
+  bool operator!=(AccelerationStructureCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( AccelerationStructureCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( compactedSize == rhs.compactedSize ) &&
-             ( type == rhs.type ) && ( flags == rhs.flags ) && ( maxGeometryCount == rhs.maxGeometryCount ) &&
-             ( pGeometryInfos == rhs.pGeometryInfos ) && ( deviceAddress == rhs.deviceAddress );
-    }
-
-    bool operator!=( AccelerationStructureCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType = StructureType::eAccelerationStructureCreateInfoKHR;
-    const void *                                       pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                   compactedSize = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureCreateFlagsKHR createFlags = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type =
       VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel;
-    VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR                     flags            = {};
-    uint32_t                                                                     maxGeometryCount = {};
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateGeometryTypeInfoKHR * pGeometryInfos   = {};
-    VULKAN_HPP_NAMESPACE::DeviceAddress                                          deviceAddress    = {};
-  };
-  static_assert( sizeof( AccelerationStructureCreateInfoKHR ) == sizeof( VkAccelerationStructureCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress = {};
+};
+static_assert(sizeof(AccelerationStructureCreateInfoKHR) ==
+                  sizeof(VkAccelerationStructureCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AccelerationStructureCreateInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureCreateInfoKHR>
-  {
-    using Type = AccelerationStructureCreateInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureCreateInfoKHR> {
+  using Type = AccelerationStructureCreateInfoKHR;
+};
 
-  struct GeometryTrianglesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eGeometryTrianglesNV;
+struct GeometryTrianglesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGeometryTrianglesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    GeometryTrianglesNV( VULKAN_HPP_NAMESPACE::Buffer     vertexData_      = {},
-                         VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_    = {},
-                         uint32_t                         vertexCount_     = {},
-                         VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_    = {},
-                         VULKAN_HPP_NAMESPACE::Format     vertexFormat_    = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-                         VULKAN_HPP_NAMESPACE::Buffer     indexData_       = {},
-                         VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_     = {},
-                         uint32_t                         indexCount_      = {},
-                         VULKAN_HPP_NAMESPACE::IndexType  indexType_       = VULKAN_HPP_NAMESPACE::IndexType::eUint16,
-                         VULKAN_HPP_NAMESPACE::Buffer     transformData_   = {},
-                         VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_ = {} ) VULKAN_HPP_NOEXCEPT
-      : vertexData( vertexData_ )
-      , vertexOffset( vertexOffset_ )
-      , vertexCount( vertexCount_ )
-      , vertexStride( vertexStride_ )
-      , vertexFormat( vertexFormat_ )
-      , indexData( indexData_ )
-      , indexOffset( indexOffset_ )
-      , indexCount( indexCount_ )
-      , indexType( indexType_ )
-      , transformData( transformData_ )
-      , transformOffset( transformOffset_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  GeometryTrianglesNV(VULKAN_HPP_NAMESPACE::Buffer vertexData_ = {},
+                      VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_ = {},
+                      uint32_t vertexCount_ = {},
+                      VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ = {},
+                      VULKAN_HPP_NAMESPACE::Format vertexFormat_ =
+                          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+                      VULKAN_HPP_NAMESPACE::Buffer indexData_ = {},
+                      VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_ = {},
+                      uint32_t indexCount_ = {},
+                      VULKAN_HPP_NAMESPACE::IndexType indexType_ =
+                          VULKAN_HPP_NAMESPACE::IndexType::eUint16,
+                      VULKAN_HPP_NAMESPACE::Buffer transformData_ = {},
+                      VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_ = {})
+      VULKAN_HPP_NOEXCEPT : vertexData(vertexData_),
+                            vertexOffset(vertexOffset_),
+                            vertexCount(vertexCount_),
+                            vertexStride(vertexStride_),
+                            vertexFormat(vertexFormat_),
+                            indexData(indexData_),
+                            indexOffset(indexOffset_),
+                            indexCount(indexCount_),
+                            indexType(indexType_),
+                            transformData(transformData_),
+                            transformOffset(transformOffset_) {}
 
-    GeometryTrianglesNV( VkGeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR GeometryTrianglesNV(GeometryTrianglesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    GeometryTrianglesNV & operator=( VkGeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const *>( &rhs );
-      return *this;
-    }
+  GeometryTrianglesNV(VkGeometryTrianglesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : GeometryTrianglesNV(
+            *reinterpret_cast<GeometryTrianglesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    GeometryTrianglesNV & operator=( GeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      vertexData      = rhs.vertexData;
-      vertexOffset    = rhs.vertexOffset;
-      vertexCount     = rhs.vertexCount;
-      vertexStride    = rhs.vertexStride;
-      vertexFormat    = rhs.vertexFormat;
-      indexData       = rhs.indexData;
-      indexOffset     = rhs.indexOffset;
-      indexCount      = rhs.indexCount;
-      indexType       = rhs.indexType;
-      transformData   = rhs.transformData;
-      transformOffset = rhs.transformOffset;
+  VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV &
+  operator=(GeometryTrianglesNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  GeometryTrianglesNV &
+  operator=(VkGeometryTrianglesNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const *>(
+            &rhs);
+    return *this;
+  }
 
-    GeometryTrianglesNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  GeometryTrianglesNV &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setVertexData( VULKAN_HPP_NAMESPACE::Buffer vertexData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexData = vertexData_;
-      return *this;
-    }
+  GeometryTrianglesNV &
+  setVertexData(VULKAN_HPP_NAMESPACE::Buffer vertexData_) VULKAN_HPP_NOEXCEPT {
+    vertexData = vertexData_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setVertexOffset( VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexOffset = vertexOffset_;
-      return *this;
-    }
+  GeometryTrianglesNV &setVertexOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_) VULKAN_HPP_NOEXCEPT {
+    vertexOffset = vertexOffset_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setVertexCount( uint32_t vertexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexCount = vertexCount_;
-      return *this;
-    }
+  GeometryTrianglesNV &
+  setVertexCount(uint32_t vertexCount_) VULKAN_HPP_NOEXCEPT {
+    vertexCount = vertexCount_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setVertexStride( VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexStride = vertexStride_;
-      return *this;
-    }
+  GeometryTrianglesNV &setVertexStride(
+      VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_) VULKAN_HPP_NOEXCEPT {
+    vertexStride = vertexStride_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setVertexFormat( VULKAN_HPP_NAMESPACE::Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexFormat = vertexFormat_;
-      return *this;
-    }
+  GeometryTrianglesNV &setVertexFormat(
+      VULKAN_HPP_NAMESPACE::Format vertexFormat_) VULKAN_HPP_NOEXCEPT {
+    vertexFormat = vertexFormat_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setIndexData( VULKAN_HPP_NAMESPACE::Buffer indexData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexData = indexData_;
-      return *this;
-    }
+  GeometryTrianglesNV &
+  setIndexData(VULKAN_HPP_NAMESPACE::Buffer indexData_) VULKAN_HPP_NOEXCEPT {
+    indexData = indexData_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setIndexOffset( VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexOffset = indexOffset_;
-      return *this;
-    }
+  GeometryTrianglesNV &setIndexOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_) VULKAN_HPP_NOEXCEPT {
+    indexOffset = indexOffset_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setIndexCount( uint32_t indexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexCount = indexCount_;
-      return *this;
-    }
+  GeometryTrianglesNV &setIndexCount(uint32_t indexCount_) VULKAN_HPP_NOEXCEPT {
+    indexCount = indexCount_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setIndexType( VULKAN_HPP_NAMESPACE::IndexType indexType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexType = indexType_;
-      return *this;
-    }
+  GeometryTrianglesNV &
+  setIndexType(VULKAN_HPP_NAMESPACE::IndexType indexType_) VULKAN_HPP_NOEXCEPT {
+    indexType = indexType_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setTransformData( VULKAN_HPP_NAMESPACE::Buffer transformData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transformData = transformData_;
-      return *this;
-    }
+  GeometryTrianglesNV &setTransformData(
+      VULKAN_HPP_NAMESPACE::Buffer transformData_) VULKAN_HPP_NOEXCEPT {
+    transformData = transformData_;
+    return *this;
+  }
 
-    GeometryTrianglesNV & setTransformOffset( VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transformOffset = transformOffset_;
-      return *this;
-    }
+  GeometryTrianglesNV &setTransformOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_) VULKAN_HPP_NOEXCEPT {
+    transformOffset = transformOffset_;
+    return *this;
+  }
 
-    operator VkGeometryTrianglesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGeometryTrianglesNV *>( this );
-    }
+  operator VkGeometryTrianglesNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkGeometryTrianglesNV *>(this);
+  }
 
-    operator VkGeometryTrianglesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGeometryTrianglesNV *>( this );
-    }
+  operator VkGeometryTrianglesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGeometryTrianglesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GeometryTrianglesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GeometryTrianglesNV const &) const = default;
 #else
-    bool operator==( GeometryTrianglesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vertexData == rhs.vertexData ) &&
-             ( vertexOffset == rhs.vertexOffset ) && ( vertexCount == rhs.vertexCount ) &&
-             ( vertexStride == rhs.vertexStride ) && ( vertexFormat == rhs.vertexFormat ) &&
-             ( indexData == rhs.indexData ) && ( indexOffset == rhs.indexOffset ) && ( indexCount == rhs.indexCount ) &&
-             ( indexType == rhs.indexType ) && ( transformData == rhs.transformData ) &&
-             ( transformOffset == rhs.transformOffset );
-    }
+  bool operator==(GeometryTrianglesNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (vertexData == rhs.vertexData) &&
+           (vertexOffset == rhs.vertexOffset) &&
+           (vertexCount == rhs.vertexCount) &&
+           (vertexStride == rhs.vertexStride) &&
+           (vertexFormat == rhs.vertexFormat) && (indexData == rhs.indexData) &&
+           (indexOffset == rhs.indexOffset) && (indexCount == rhs.indexCount) &&
+           (indexType == rhs.indexType) &&
+           (transformData == rhs.transformData) &&
+           (transformOffset == rhs.transformOffset);
+  }
 
-    bool operator!=( GeometryTrianglesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(GeometryTrianglesNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eGeometryTrianglesNV;
-    const void *                              pNext           = {};
-    VULKAN_HPP_NAMESPACE::Buffer              vertexData      = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          vertexOffset    = {};
-    uint32_t                                  vertexCount     = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          vertexStride    = {};
-    VULKAN_HPP_NAMESPACE::Format              vertexFormat    = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::Buffer              indexData       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          indexOffset     = {};
-    uint32_t                                  indexCount      = {};
-    VULKAN_HPP_NAMESPACE::IndexType           indexType       = VULKAN_HPP_NAMESPACE::IndexType::eUint16;
-    VULKAN_HPP_NAMESPACE::Buffer              transformData   = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          transformOffset = {};
-  };
-  static_assert( sizeof( GeometryTrianglesNV ) == sizeof( VkGeometryTrianglesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GeometryTrianglesNV>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eGeometryTrianglesNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer vertexData = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset = {};
+  uint32_t vertexCount = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize vertexStride = {};
+  VULKAN_HPP_NAMESPACE::Format vertexFormat =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::Buffer indexData = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize indexOffset = {};
+  uint32_t indexCount = {};
+  VULKAN_HPP_NAMESPACE::IndexType indexType =
+      VULKAN_HPP_NAMESPACE::IndexType::eUint16;
+  VULKAN_HPP_NAMESPACE::Buffer transformData = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize transformOffset = {};
+};
+static_assert(sizeof(GeometryTrianglesNV) == sizeof(VkGeometryTrianglesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<GeometryTrianglesNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eGeometryTrianglesNV>
-  {
-    using Type = GeometryTrianglesNV;
-  };
+template <> struct CppType<StructureType, StructureType::eGeometryTrianglesNV> {
+  using Type = GeometryTrianglesNV;
+};
 
-  struct GeometryAABBNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eGeometryAabbNV;
+struct GeometryAABBNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGeometryAabbNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR GeometryAABBNV( VULKAN_HPP_NAMESPACE::Buffer     aabbData_ = {},
-                                         uint32_t                         numAABBs_ = {},
-                                         uint32_t                         stride_   = {},
-                                         VULKAN_HPP_NAMESPACE::DeviceSize offset_   = {} ) VULKAN_HPP_NOEXCEPT
-      : aabbData( aabbData_ )
-      , numAABBs( numAABBs_ )
-      , stride( stride_ )
-      , offset( offset_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR GeometryAABBNV(
+      VULKAN_HPP_NAMESPACE::Buffer aabbData_ = {}, uint32_t numAABBs_ = {},
+      uint32_t stride_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {}) VULKAN_HPP_NOEXCEPT
+      : aabbData(aabbData_),
+        numAABBs(numAABBs_),
+        stride(stride_),
+        offset(offset_) {}
 
-    GeometryAABBNV( VkGeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  GeometryAABBNV(GeometryAABBNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    GeometryAABBNV & operator=( VkGeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryAABBNV const *>( &rhs );
-      return *this;
-    }
+  GeometryAABBNV(VkGeometryAABBNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : GeometryAABBNV(*reinterpret_cast<GeometryAABBNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    GeometryAABBNV & operator=( GeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      aabbData = rhs.aabbData;
-      numAABBs = rhs.numAABBs;
-      stride   = rhs.stride;
-      offset   = rhs.offset;
+  VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV &
+  operator=(GeometryAABBNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  GeometryAABBNV &operator=(VkGeometryAABBNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryAABBNV const *>(&rhs);
+    return *this;
+  }
 
-    GeometryAABBNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  GeometryAABBNV &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    GeometryAABBNV & setAabbData( VULKAN_HPP_NAMESPACE::Buffer aabbData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aabbData = aabbData_;
-      return *this;
-    }
+  GeometryAABBNV &
+  setAabbData(VULKAN_HPP_NAMESPACE::Buffer aabbData_) VULKAN_HPP_NOEXCEPT {
+    aabbData = aabbData_;
+    return *this;
+  }
 
-    GeometryAABBNV & setNumAABBs( uint32_t numAABBs_ ) VULKAN_HPP_NOEXCEPT
-    {
-      numAABBs = numAABBs_;
-      return *this;
-    }
+  GeometryAABBNV &setNumAABBs(uint32_t numAABBs_) VULKAN_HPP_NOEXCEPT {
+    numAABBs = numAABBs_;
+    return *this;
+  }
 
-    GeometryAABBNV & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stride = stride_;
-      return *this;
-    }
+  GeometryAABBNV &setStride(uint32_t stride_) VULKAN_HPP_NOEXCEPT {
+    stride = stride_;
+    return *this;
+  }
 
-    GeometryAABBNV & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  GeometryAABBNV &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-    operator VkGeometryAABBNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGeometryAABBNV *>( this );
-    }
+  operator VkGeometryAABBNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkGeometryAABBNV *>(this);
+  }
 
-    operator VkGeometryAABBNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGeometryAABBNV *>( this );
-    }
+  operator VkGeometryAABBNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGeometryAABBNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GeometryAABBNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GeometryAABBNV const &) const = default;
 #else
-    bool operator==( GeometryAABBNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( aabbData == rhs.aabbData ) &&
-             ( numAABBs == rhs.numAABBs ) && ( stride == rhs.stride ) && ( offset == rhs.offset );
-    }
+  bool operator==(GeometryAABBNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (aabbData == rhs.aabbData) && (numAABBs == rhs.numAABBs) &&
+           (stride == rhs.stride) && (offset == rhs.offset);
+  }
 
-    bool operator!=( GeometryAABBNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(GeometryAABBNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::eGeometryAabbNV;
-    const void *                              pNext    = {};
-    VULKAN_HPP_NAMESPACE::Buffer              aabbData = {};
-    uint32_t                                  numAABBs = {};
-    uint32_t                                  stride   = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          offset   = {};
-  };
-  static_assert( sizeof( GeometryAABBNV ) == sizeof( VkGeometryAABBNV ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GeometryAABBNV>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeometryAabbNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer aabbData = {};
+  uint32_t numAABBs = {};
+  uint32_t stride = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+};
+static_assert(sizeof(GeometryAABBNV) == sizeof(VkGeometryAABBNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<GeometryAABBNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eGeometryAabbNV>
-  {
-    using Type = GeometryAABBNV;
-  };
+template <> struct CppType<StructureType, StructureType::eGeometryAabbNV> {
+  using Type = GeometryAABBNV;
+};
 
-  struct GeometryDataNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR GeometryDataNV( VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles_ = {},
-                                         VULKAN_HPP_NAMESPACE::GeometryAABBNV      aabbs_     = {} ) VULKAN_HPP_NOEXCEPT
-      : triangles( triangles_ )
-      , aabbs( aabbs_ )
-    {}
+struct GeometryDataNV {
 
-    GeometryDataNV( VkGeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR GeometryDataNV(
+      VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles_ = {},
+      VULKAN_HPP_NAMESPACE::GeometryAABBNV aabbs_ = {}) VULKAN_HPP_NOEXCEPT
+      : triangles(triangles_),
+        aabbs(aabbs_) {}
 
-    GeometryDataNV & operator=( VkGeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryDataNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  GeometryDataNV(GeometryDataNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    GeometryDataNV & setTriangles( VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const & triangles_ ) VULKAN_HPP_NOEXCEPT
-    {
-      triangles = triangles_;
-      return *this;
-    }
+  GeometryDataNV(VkGeometryDataNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : GeometryDataNV(*reinterpret_cast<GeometryDataNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    GeometryDataNV & setAabbs( VULKAN_HPP_NAMESPACE::GeometryAABBNV const & aabbs_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aabbs = aabbs_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 GeometryDataNV &
+  operator=(GeometryDataNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkGeometryDataNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGeometryDataNV *>( this );
-    }
+  GeometryDataNV &operator=(VkGeometryDataNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryDataNV const *>(&rhs);
+    return *this;
+  }
 
-    operator VkGeometryDataNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGeometryDataNV *>( this );
-    }
+  GeometryDataNV &
+  setTriangles(VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const &triangles_)
+      VULKAN_HPP_NOEXCEPT {
+    triangles = triangles_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GeometryDataNV const & ) const = default;
+  GeometryDataNV &setAabbs(VULKAN_HPP_NAMESPACE::GeometryAABBNV const &aabbs_)
+      VULKAN_HPP_NOEXCEPT {
+    aabbs = aabbs_;
+    return *this;
+  }
+
+  operator VkGeometryDataNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkGeometryDataNV *>(this);
+  }
+
+  operator VkGeometryDataNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGeometryDataNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GeometryDataNV const &) const = default;
 #else
-    bool operator==( GeometryDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( triangles == rhs.triangles ) && ( aabbs == rhs.aabbs );
-    }
+  bool operator==(GeometryDataNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (triangles == rhs.triangles) && (aabbs == rhs.aabbs);
+  }
 
-    bool operator!=( GeometryDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(GeometryDataNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles = {};
-    VULKAN_HPP_NAMESPACE::GeometryAABBNV      aabbs     = {};
-  };
-  static_assert( sizeof( GeometryDataNV ) == sizeof( VkGeometryDataNV ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GeometryDataNV>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles = {};
+  VULKAN_HPP_NAMESPACE::GeometryAABBNV aabbs = {};
+};
+static_assert(sizeof(GeometryDataNV) == sizeof(VkGeometryDataNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<GeometryDataNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct GeometryNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eGeometryNV;
+struct GeometryNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGeometryNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR GeometryNV(
-      VULKAN_HPP_NAMESPACE::GeometryTypeKHR  geometryType_ = VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles,
-      VULKAN_HPP_NAMESPACE::GeometryDataNV   geometry_     = {},
-      VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_        = {} ) VULKAN_HPP_NOEXCEPT
-      : geometryType( geometryType_ )
-      , geometry( geometry_ )
-      , flags( flags_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR GeometryNV(
+      VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_ =
+          VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles,
+      VULKAN_HPP_NAMESPACE::GeometryDataNV geometry_ = {},
+      VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_ = {}) VULKAN_HPP_NOEXCEPT
+      : geometryType(geometryType_),
+        geometry(geometry_),
+        flags(flags_) {}
 
-    GeometryNV( VkGeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  GeometryNV(GeometryNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    GeometryNV & operator=( VkGeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryNV const *>( &rhs );
-      return *this;
-    }
+  GeometryNV(VkGeometryNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : GeometryNV(*reinterpret_cast<GeometryNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    GeometryNV & operator=( GeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      geometryType = rhs.geometryType;
-      geometry     = rhs.geometry;
-      flags        = rhs.flags;
+  VULKAN_HPP_CONSTEXPR_14 GeometryNV &
+  operator=(GeometryNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  GeometryNV &operator=(VkGeometryNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryNV const *>(&rhs);
+    return *this;
+  }
 
-    GeometryNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  GeometryNV &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    GeometryNV & setGeometryType( VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryType = geometryType_;
-      return *this;
-    }
+  GeometryNV &setGeometryType(
+      VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_) VULKAN_HPP_NOEXCEPT {
+    geometryType = geometryType_;
+    return *this;
+  }
 
-    GeometryNV & setGeometry( VULKAN_HPP_NAMESPACE::GeometryDataNV const & geometry_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometry = geometry_;
-      return *this;
-    }
+  GeometryNV &setGeometry(VULKAN_HPP_NAMESPACE::GeometryDataNV const &geometry_)
+      VULKAN_HPP_NOEXCEPT {
+    geometry = geometry_;
+    return *this;
+  }
 
-    GeometryNV & setFlags( VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  GeometryNV &
+  setFlags(VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    operator VkGeometryNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGeometryNV *>( this );
-    }
+  operator VkGeometryNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkGeometryNV *>(this);
+  }
 
-    operator VkGeometryNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGeometryNV *>( this );
-    }
+  operator VkGeometryNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGeometryNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GeometryNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GeometryNV const &) const = default;
 #else
-    bool operator==( GeometryNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( geometryType == rhs.geometryType ) &&
-             ( geometry == rhs.geometry ) && ( flags == rhs.flags );
-    }
+  bool operator==(GeometryNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (geometryType == rhs.geometryType) && (geometry == rhs.geometry) &&
+           (flags == rhs.flags);
+  }
 
-    bool operator!=( GeometryNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(GeometryNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eGeometryNV;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::GeometryTypeKHR     geometryType = VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles;
-    VULKAN_HPP_NAMESPACE::GeometryDataNV      geometry     = {};
-    VULKAN_HPP_NAMESPACE::GeometryFlagsKHR    flags        = {};
-  };
-  static_assert( sizeof( GeometryNV ) == sizeof( VkGeometryNV ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GeometryNV>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeometryNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType =
+      VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles;
+  VULKAN_HPP_NAMESPACE::GeometryDataNV geometry = {};
+  VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags = {};
+};
+static_assert(sizeof(GeometryNV) == sizeof(VkGeometryNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<GeometryNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eGeometryNV>
-  {
-    using Type = GeometryNV;
-  };
+template <> struct CppType<StructureType, StructureType::eGeometryNV> {
+  using Type = GeometryNV;
+};
 
-  struct AccelerationStructureInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eAccelerationStructureInfoNV;
+struct AccelerationStructureInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAccelerationStructureInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    AccelerationStructureInfoNV( VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV       type_          = {},
-                                 VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_         = {},
-                                 uint32_t                                                instanceCount_ = {},
-                                 uint32_t                                                geometryCount_ = {},
-                                 const VULKAN_HPP_NAMESPACE::GeometryNV * pGeometries_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , flags( flags_ )
-      , instanceCount( instanceCount_ )
-      , geometryCount( geometryCount_ )
-      , pGeometries( pGeometries_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_ = {},
+      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_ = {},
+      uint32_t instanceCount_ = {}, uint32_t geometryCount_ = {},
+      const VULKAN_HPP_NAMESPACE::GeometryNV *pGeometries_ = {})
+      VULKAN_HPP_NOEXCEPT : type(type_),
+                            flags(flags_),
+                            instanceCount(instanceCount_),
+                            geometryCount(geometryCount_),
+                            pGeometries(pGeometries_) {}
 
-    AccelerationStructureInfoNV( VkAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV(
+      AccelerationStructureInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    AccelerationStructureInfoNV(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV                                             type_,
-      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV                                       flags_,
-      uint32_t                                                                                      instanceCount_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::GeometryNV> const & geometries_ )
-      : type( type_ )
-      , flags( flags_ )
-      , instanceCount( instanceCount_ )
-      , geometryCount( static_cast<uint32_t>( geometries_.size() ) )
-      , pGeometries( geometries_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    AccelerationStructureInfoNV & operator=( VkAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    AccelerationStructureInfoNV & operator=( AccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      type          = rhs.type;
-      flags         = rhs.flags;
-      instanceCount = rhs.instanceCount;
-      geometryCount = rhs.geometryCount;
-      pGeometries   = rhs.pGeometries;
-
-      return *this;
-    }
-
-    AccelerationStructureInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    AccelerationStructureInfoNV & setType( VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    AccelerationStructureInfoNV &
-      setFlags( VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    AccelerationStructureInfoNV & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      instanceCount = instanceCount_;
-      return *this;
-    }
-
-    AccelerationStructureInfoNV & setGeometryCount( uint32_t geometryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryCount = geometryCount_;
-      return *this;
-    }
-
-    AccelerationStructureInfoNV &
-      setPGeometries( const VULKAN_HPP_NAMESPACE::GeometryNV * pGeometries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pGeometries = pGeometries_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    AccelerationStructureInfoNV & setGeometries(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::GeometryNV> const & geometries_ )
+  AccelerationStructureInfoNV(VkAccelerationStructureInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      geometryCount = static_cast<uint32_t>( geometries_.size() );
-      pGeometries   = geometries_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : AccelerationStructureInfoNV(
+            *reinterpret_cast<AccelerationStructureInfoNV const *>(&rhs)) {}
 
-    operator VkAccelerationStructureInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureInfoNV *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  AccelerationStructureInfoNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_,
+      VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_,
+      uint32_t instanceCount_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::GeometryNV> const &geometries_)
+      : type(type_), flags(flags_), instanceCount(instanceCount_),
+        geometryCount(static_cast<uint32_t>(geometries_.size())),
+        pGeometries(geometries_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkAccelerationStructureInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureInfoNV *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV &operator=(
+      AccelerationStructureInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureInfoNV const & ) const = default;
+  AccelerationStructureInfoNV &
+  operator=(VkAccelerationStructureInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  AccelerationStructureInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  AccelerationStructureInfoNV &
+  setType(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
+
+  AccelerationStructureInfoNV &
+  setFlags(VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  AccelerationStructureInfoNV &
+  setInstanceCount(uint32_t instanceCount_) VULKAN_HPP_NOEXCEPT {
+    instanceCount = instanceCount_;
+    return *this;
+  }
+
+  AccelerationStructureInfoNV &
+  setGeometryCount(uint32_t geometryCount_) VULKAN_HPP_NOEXCEPT {
+    geometryCount = geometryCount_;
+    return *this;
+  }
+
+  AccelerationStructureInfoNV &
+  setPGeometries(const VULKAN_HPP_NAMESPACE::GeometryNV *pGeometries_)
+      VULKAN_HPP_NOEXCEPT {
+    pGeometries = pGeometries_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  AccelerationStructureInfoNV &
+  setGeometries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                const VULKAN_HPP_NAMESPACE::GeometryNV> const &geometries_)
+      VULKAN_HPP_NOEXCEPT {
+    geometryCount = static_cast<uint32_t>(geometries_.size());
+    pGeometries = geometries_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkAccelerationStructureInfoNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureInfoNV *>(this);
+  }
+
+  operator VkAccelerationStructureInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureInfoNV const &) const = default;
 #else
-    bool operator==( AccelerationStructureInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) && ( flags == rhs.flags ) &&
-             ( instanceCount == rhs.instanceCount ) && ( geometryCount == rhs.geometryCount ) &&
-             ( pGeometries == rhs.pGeometries );
-    }
+  bool
+  operator==(AccelerationStructureInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (type == rhs.type) &&
+           (flags == rhs.flags) && (instanceCount == rhs.instanceCount) &&
+           (geometryCount == rhs.geometryCount) &&
+           (pGeometries == rhs.pGeometries);
+  }
 
-    bool operator!=( AccelerationStructureInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(AccelerationStructureInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType               sType         = StructureType::eAccelerationStructureInfoNV;
-    const void *                                            pNext         = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV       type          = {};
-    VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags         = {};
-    uint32_t                                                instanceCount = {};
-    uint32_t                                                geometryCount = {};
-    const VULKAN_HPP_NAMESPACE::GeometryNV *                pGeometries   = {};
-  };
-  static_assert( sizeof( AccelerationStructureInfoNV ) == sizeof( VkAccelerationStructureInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type = {};
+  VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags = {};
+  uint32_t instanceCount = {};
+  uint32_t geometryCount = {};
+  const VULKAN_HPP_NAMESPACE::GeometryNV *pGeometries = {};
+};
+static_assert(sizeof(AccelerationStructureInfoNV) ==
+                  sizeof(VkAccelerationStructureInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AccelerationStructureInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureInfoNV>
-  {
-    using Type = AccelerationStructureInfoNV;
-  };
+template <>
+struct CppType<StructureType, StructureType::eAccelerationStructureInfoNV> {
+  using Type = AccelerationStructureInfoNV;
+};
 
-  struct AccelerationStructureCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct AccelerationStructureCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::DeviceSize                  compactedSize_ = {},
-      VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info_          = {} ) VULKAN_HPP_NOEXCEPT
-      : compactedSize( compactedSize_ )
-      , info( info_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_ = {},
+      VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info_ = {})
+      VULKAN_HPP_NOEXCEPT : compactedSize(compactedSize_),
+                            info(info_) {}
 
-    AccelerationStructureCreateInfoNV( VkAccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV(
+      AccelerationStructureCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureCreateInfoNV & operator=( VkAccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureCreateInfoNV(
+      VkAccelerationStructureCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : AccelerationStructureCreateInfoNV(
+            *reinterpret_cast<AccelerationStructureCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureCreateInfoNV & operator=( AccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      compactedSize = rhs.compactedSize;
-      info          = rhs.info;
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoNV &
+  operator=(AccelerationStructureCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AccelerationStructureCreateInfoNV &operator=(
+      VkAccelerationStructureCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const *>(&rhs);
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoNV &
-      setCompactedSize( VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compactedSize = compactedSize_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoNV &setCompactedSize(
+      VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_) VULKAN_HPP_NOEXCEPT {
+    compactedSize = compactedSize_;
+    return *this;
+  }
 
-    AccelerationStructureCreateInfoNV &
-      setInfo( VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const & info_ ) VULKAN_HPP_NOEXCEPT
-    {
-      info = info_;
-      return *this;
-    }
+  AccelerationStructureCreateInfoNV &
+  setInfo(VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const &info_)
+      VULKAN_HPP_NOEXCEPT {
+    info = info_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( this );
-    }
+  operator VkAccelerationStructureCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>(this);
+  }
 
-    operator VkAccelerationStructureCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureCreateInfoNV *>( this );
-    }
+  operator VkAccelerationStructureCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureCreateInfoNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureCreateInfoNV const &) const = default;
 #else
-    bool operator==( AccelerationStructureCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( compactedSize == rhs.compactedSize ) &&
-             ( info == rhs.info );
-    }
+  bool operator==(AccelerationStructureCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (compactedSize == rhs.compactedSize) && (info == rhs.info);
+  }
 
-    bool operator!=( AccelerationStructureCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AccelerationStructureCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType         = StructureType::eAccelerationStructureCreateInfoNV;
-    const void *                                      pNext         = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  compactedSize = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info          = {};
-  };
-  static_assert( sizeof( AccelerationStructureCreateInfoNV ) == sizeof( VkAccelerationStructureCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize compactedSize = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info = {};
+};
+static_assert(sizeof(AccelerationStructureCreateInfoNV) ==
+                  sizeof(VkAccelerationStructureCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AccelerationStructureCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureCreateInfoNV>
-  {
-    using Type = AccelerationStructureCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureCreateInfoNV> {
+  using Type = AccelerationStructureCreateInfoNV;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureDeviceAddressInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct AccelerationStructureDeviceAddressInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureDeviceAddressInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureDeviceAddressInfoKHR(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ = {} ) VULKAN_HPP_NOEXCEPT
-      : accelerationStructure( accelerationStructure_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureDeviceAddressInfoKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : accelerationStructure(accelerationStructure_) {}
 
-    AccelerationStructureDeviceAddressInfoKHR( VkAccelerationStructureDeviceAddressInfoKHR const & rhs )
+  VULKAN_HPP_CONSTEXPR AccelerationStructureDeviceAddressInfoKHR(
+      AccelerationStructureDeviceAddressInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AccelerationStructureDeviceAddressInfoKHR(
+      VkAccelerationStructureDeviceAddressInfoKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : AccelerationStructureDeviceAddressInfoKHR(
+            *reinterpret_cast<
+                AccelerationStructureDeviceAddressInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureDeviceAddressInfoKHR &
-      operator=( VkAccelerationStructureDeviceAddressInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDeviceAddressInfoKHR &
+  operator=(AccelerationStructureDeviceAddressInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureDeviceAddressInfoKHR &
-      operator=( AccelerationStructureDeviceAddressInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      accelerationStructure = rhs.accelerationStructure;
+  AccelerationStructureDeviceAddressInfoKHR &
+  operator=(VkAccelerationStructureDeviceAddressInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  AccelerationStructureDeviceAddressInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureDeviceAddressInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureDeviceAddressInfoKHR &setAccelerationStructure(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_)
+      VULKAN_HPP_NOEXCEPT {
+    accelerationStructure = accelerationStructure_;
+    return *this;
+  }
 
-    AccelerationStructureDeviceAddressInfoKHR & setAccelerationStructure(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ ) VULKAN_HPP_NOEXCEPT
-    {
-      accelerationStructure = accelerationStructure_;
-      return *this;
-    }
+  operator VkAccelerationStructureDeviceAddressInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkAccelerationStructureDeviceAddressInfoKHR *>(this);
+  }
 
-    operator VkAccelerationStructureDeviceAddressInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( this );
-    }
+  operator VkAccelerationStructureDeviceAddressInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureDeviceAddressInfoKHR *>(
+        this);
+  }
 
-    operator VkAccelerationStructureDeviceAddressInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureDeviceAddressInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureDeviceAddressInfoKHR const & ) const = default;
-#  else
-    bool operator==( AccelerationStructureDeviceAddressInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructure == rhs.accelerationStructure );
-    }
-
-    bool operator!=( AccelerationStructureDeviceAddressInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eAccelerationStructureDeviceAddressInfoKHR;
-    const void *                                   pNext = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure = {};
-  };
-  static_assert( sizeof( AccelerationStructureDeviceAddressInfoKHR ) ==
-                   sizeof( VkAccelerationStructureDeviceAddressInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureDeviceAddressInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureDeviceAddressInfoKHR>
-  {
-    using Type = AccelerationStructureDeviceAddressInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  struct TransformMatrixKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    TransformMatrixKHR( std::array<std::array<float, 4>, 3> const & matrix_ = {} ) VULKAN_HPP_NOEXCEPT
-      : matrix( matrix_ )
-    {}
-
-    TransformMatrixKHR( VkTransformMatrixKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    TransformMatrixKHR & operator=( VkTransformMatrixKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TransformMatrixKHR const *>( &rhs );
-      return *this;
-    }
-
-    TransformMatrixKHR & setMatrix( std::array<std::array<float, 4>, 3> matrix_ ) VULKAN_HPP_NOEXCEPT
-    {
-      matrix = matrix_;
-      return *this;
-    }
-
-    operator VkTransformMatrixKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkTransformMatrixKHR *>( this );
-    }
-
-    operator VkTransformMatrixKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkTransformMatrixKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( TransformMatrixKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureDeviceAddressInfoKHR const &) const =
+      default;
 #else
-    bool operator==( TransformMatrixKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( matrix == rhs.matrix );
-    }
+  bool operator==(AccelerationStructureDeviceAddressInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (accelerationStructure == rhs.accelerationStructure);
+  }
 
-    bool operator!=( TransformMatrixKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AccelerationStructureDeviceAddressInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::ArrayWrapper2D<float, 3, 4> matrix = {};
-  };
-  static_assert( sizeof( TransformMatrixKHR ) == sizeof( VkTransformMatrixKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<TransformMatrixKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureDeviceAddressInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure = {};
+};
+static_assert(sizeof(AccelerationStructureDeviceAddressInfoKHR) ==
+                  sizeof(VkAccelerationStructureDeviceAddressInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AccelerationStructureDeviceAddressInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  struct AccelerationStructureInstanceKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    AccelerationStructureInstanceKHR( VULKAN_HPP_NAMESPACE::TransformMatrixKHR transform_           = {},
-                                      uint32_t                                 instanceCustomIndex_ = {},
-                                      uint32_t                                 mask_                = {},
-                                      uint32_t instanceShaderBindingTableRecordOffset_              = {},
-                                      VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_         = {},
-                                      uint64_t accelerationStructureReference_ = {} ) VULKAN_HPP_NOEXCEPT
-      : transform( transform_ )
-      , instanceCustomIndex( instanceCustomIndex_ )
-      , mask( mask_ )
-      , instanceShaderBindingTableRecordOffset( instanceShaderBindingTableRecordOffset_ )
-      , flags( flags_ )
-      , accelerationStructureReference( accelerationStructureReference_ )
-    {}
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureDeviceAddressInfoKHR> {
+  using Type = AccelerationStructureDeviceAddressInfoKHR;
+};
 
-    AccelerationStructureInstanceKHR( VkAccelerationStructureInstanceKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+struct TransformMatrixKHR {
 
-    AccelerationStructureInstanceKHR & operator=( VkAccelerationStructureInstanceKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14
+  TransformMatrixKHR(std::array<std::array<float, 4>, 3> const &matrix_ = {})
+      VULKAN_HPP_NOEXCEPT : matrix(matrix_) {}
 
-    AccelerationStructureInstanceKHR &
-      setTransform( VULKAN_HPP_NAMESPACE::TransformMatrixKHR const & transform_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transform = transform_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR(TransformMatrixKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureInstanceKHR & setInstanceCustomIndex( uint32_t instanceCustomIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      instanceCustomIndex = instanceCustomIndex_;
-      return *this;
-    }
+  TransformMatrixKHR(VkTransformMatrixKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : TransformMatrixKHR(
+            *reinterpret_cast<TransformMatrixKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureInstanceKHR & setMask( uint32_t mask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mask = mask_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR &
+  operator=(TransformMatrixKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureInstanceKHR &
-      setInstanceShaderBindingTableRecordOffset( uint32_t instanceShaderBindingTableRecordOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset_;
-      return *this;
-    }
+  TransformMatrixKHR &
+  operator=(VkTransformMatrixKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TransformMatrixKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    AccelerationStructureInstanceKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>( &flags_ );
-      return *this;
-    }
+  TransformMatrixKHR &
+  setMatrix(std::array<std::array<float, 4>, 3> matrix_) VULKAN_HPP_NOEXCEPT {
+    matrix = matrix_;
+    return *this;
+  }
 
-    AccelerationStructureInstanceKHR &
-      setAccelerationStructureReference( uint64_t accelerationStructureReference_ ) VULKAN_HPP_NOEXCEPT
-    {
-      accelerationStructureReference = accelerationStructureReference_;
-      return *this;
-    }
+  operator VkTransformMatrixKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkTransformMatrixKHR *>(this);
+  }
 
-    operator VkAccelerationStructureInstanceKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureInstanceKHR *>( this );
-    }
+  operator VkTransformMatrixKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkTransformMatrixKHR *>(this);
+  }
 
-    operator VkAccelerationStructureInstanceKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureInstanceKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureInstanceKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(TransformMatrixKHR const &) const = default;
 #else
-    bool operator==( AccelerationStructureInstanceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( transform == rhs.transform ) && ( instanceCustomIndex == rhs.instanceCustomIndex ) &&
-             ( mask == rhs.mask ) &&
-             ( instanceShaderBindingTableRecordOffset == rhs.instanceShaderBindingTableRecordOffset ) &&
-             ( flags == rhs.flags ) && ( accelerationStructureReference == rhs.accelerationStructureReference );
-    }
+  bool operator==(TransformMatrixKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (matrix == rhs.matrix);
+  }
 
-    bool operator!=( AccelerationStructureInstanceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(TransformMatrixKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::TransformMatrixKHR transform = {};
-    uint32_t                                 instanceCustomIndex : 24;
-    uint32_t                                 mask : 8;
-    uint32_t                                 instanceShaderBindingTableRecordOffset : 24;
-    VkGeometryInstanceFlagsKHR               flags : 8;
-    uint64_t                                 accelerationStructureReference = {};
-  };
-  static_assert( sizeof( AccelerationStructureInstanceKHR ) == sizeof( VkAccelerationStructureInstanceKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureInstanceKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::ArrayWrapper2D<float, 3, 4> matrix = {};
+};
+static_assert(sizeof(TransformMatrixKHR) == sizeof(VkTransformMatrixKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<TransformMatrixKHR>::value,
+              "struct wrapper is not a standard layout!");
+using TransformMatrixNV = TransformMatrixKHR;
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureMemoryRequirementsInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eAccelerationStructureMemoryRequirementsInfoKHR;
+struct AccelerationStructureInstanceKHR {
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoKHR(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeKHR type_ =
-        VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeKHR::eObject,
-      VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType_ =
-        VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR::eHost,
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , buildType( buildType_ )
-      , accelerationStructure( accelerationStructure_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR(
+      VULKAN_HPP_NAMESPACE::TransformMatrixKHR transform_ = {},
+      uint32_t instanceCustomIndex_ = {}, uint32_t mask_ = {},
+      uint32_t instanceShaderBindingTableRecordOffset_ = {},
+      VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_ = {},
+      uint64_t accelerationStructureReference_ = {}) VULKAN_HPP_NOEXCEPT
+      : transform(transform_),
+        instanceCustomIndex(instanceCustomIndex_),
+        mask(mask_),
+        instanceShaderBindingTableRecordOffset(
+            instanceShaderBindingTableRecordOffset_),
+        flags(flags_),
+        accelerationStructureReference(accelerationStructureReference_) {}
 
-    AccelerationStructureMemoryRequirementsInfoKHR( VkAccelerationStructureMemoryRequirementsInfoKHR const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14
+  AccelerationStructureInstanceKHR(AccelerationStructureInstanceKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureMemoryRequirementsInfoKHR &
-      operator=( VkAccelerationStructureMemoryRequirementsInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoKHR const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureInstanceKHR(
+      VkAccelerationStructureInstanceKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : AccelerationStructureInstanceKHR(
+            *reinterpret_cast<AccelerationStructureInstanceKHR const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureMemoryRequirementsInfoKHR &
-      operator=( AccelerationStructureMemoryRequirementsInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      type                  = rhs.type;
-      buildType             = rhs.buildType;
-      accelerationStructure = rhs.accelerationStructure;
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR &
+  operator=(AccelerationStructureInstanceKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AccelerationStructureInstanceKHR &
+  operator=(VkAccelerationStructureInstanceKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const *>(&rhs);
+    return *this;
+  }
 
-    AccelerationStructureMemoryRequirementsInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureInstanceKHR &
+  setTransform(VULKAN_HPP_NAMESPACE::TransformMatrixKHR const &transform_)
+      VULKAN_HPP_NOEXCEPT {
+    transform = transform_;
+    return *this;
+  }
 
-    AccelerationStructureMemoryRequirementsInfoKHR &
-      setType( VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeKHR type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
+  AccelerationStructureInstanceKHR &
+  setInstanceCustomIndex(uint32_t instanceCustomIndex_) VULKAN_HPP_NOEXCEPT {
+    instanceCustomIndex = instanceCustomIndex_;
+    return *this;
+  }
 
-    AccelerationStructureMemoryRequirementsInfoKHR &
-      setBuildType( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buildType = buildType_;
-      return *this;
-    }
+  AccelerationStructureInstanceKHR &
+  setMask(uint32_t mask_) VULKAN_HPP_NOEXCEPT {
+    mask = mask_;
+    return *this;
+  }
 
-    AccelerationStructureMemoryRequirementsInfoKHR & setAccelerationStructure(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ ) VULKAN_HPP_NOEXCEPT
-    {
-      accelerationStructure = accelerationStructure_;
-      return *this;
-    }
+  AccelerationStructureInstanceKHR &setInstanceShaderBindingTableRecordOffset(
+      uint32_t instanceShaderBindingTableRecordOffset_) VULKAN_HPP_NOEXCEPT {
+    instanceShaderBindingTableRecordOffset =
+        instanceShaderBindingTableRecordOffset_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureMemoryRequirementsInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoKHR *>( this );
-    }
+  AccelerationStructureInstanceKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>(&flags_);
+    return *this;
+  }
 
-    operator VkAccelerationStructureMemoryRequirementsInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureMemoryRequirementsInfoKHR *>( this );
-    }
+  AccelerationStructureInstanceKHR &setAccelerationStructureReference(
+      uint64_t accelerationStructureReference_) VULKAN_HPP_NOEXCEPT {
+    accelerationStructureReference = accelerationStructureReference_;
+    return *this;
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureMemoryRequirementsInfoKHR const & ) const = default;
-#  else
-    bool operator==( AccelerationStructureMemoryRequirementsInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) &&
-             ( buildType == rhs.buildType ) && ( accelerationStructure == rhs.accelerationStructure );
-    }
+  operator VkAccelerationStructureInstanceKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureInstanceKHR *>(this);
+  }
 
-    bool operator!=( AccelerationStructureMemoryRequirementsInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  operator VkAccelerationStructureInstanceKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureInstanceKHR *>(this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureMemoryRequirementsInfoKHR;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeKHR type =
-      VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeKHR::eObject;
-    VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType =
-      VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR::eHost;
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure = {};
-  };
-  static_assert( sizeof( AccelerationStructureMemoryRequirementsInfoKHR ) ==
-                   sizeof( VkAccelerationStructureMemoryRequirementsInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureMemoryRequirementsInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureInstanceKHR const &) const = default;
+#else
+  bool operator==(AccelerationStructureInstanceKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (transform == rhs.transform) &&
+           (instanceCustomIndex == rhs.instanceCustomIndex) &&
+           (mask == rhs.mask) &&
+           (instanceShaderBindingTableRecordOffset ==
+            rhs.instanceShaderBindingTableRecordOffset) &&
+           (flags == rhs.flags) &&
+           (accelerationStructureReference ==
+            rhs.accelerationStructureReference);
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureMemoryRequirementsInfoKHR>
-  {
-    using Type = AccelerationStructureMemoryRequirementsInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+  bool operator!=(AccelerationStructureInstanceKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  struct AccelerationStructureMemoryRequirementsInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+public:
+  VULKAN_HPP_NAMESPACE::TransformMatrixKHR transform = {};
+  uint32_t instanceCustomIndex : 24;
+  uint32_t mask : 8;
+  uint32_t instanceShaderBindingTableRecordOffset : 24;
+  VkGeometryInstanceFlagsKHR flags : 8;
+  uint64_t accelerationStructureReference = {};
+};
+static_assert(sizeof(AccelerationStructureInstanceKHR) ==
+                  sizeof(VkAccelerationStructureInstanceKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AccelerationStructureInstanceKHR>::value,
+              "struct wrapper is not a standard layout!");
+using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
+
+class AccelerationStructureNV {
+public:
+  using CType = VkAccelerationStructureNV;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::
+              eAccelerationStructureNV;
+
+public:
+  VULKAN_HPP_CONSTEXPR AccelerationStructureNV() = default;
+  VULKAN_HPP_CONSTEXPR
+  AccelerationStructureNV(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT AccelerationStructureNV(
+      VkAccelerationStructureNV accelerationStructureNV) VULKAN_HPP_NOEXCEPT
+      : m_accelerationStructureNV(accelerationStructureNV) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  AccelerationStructureNV &operator=(
+      VkAccelerationStructureNV accelerationStructureNV) VULKAN_HPP_NOEXCEPT {
+    m_accelerationStructureNV = accelerationStructureNV;
+    return *this;
+  }
+#endif
+
+  AccelerationStructureNV &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_accelerationStructureNV = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureNV const &) const = default;
+#else
+  bool
+  operator==(AccelerationStructureNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureNV == rhs.m_accelerationStructureNV;
+  }
+
+  bool
+  operator!=(AccelerationStructureNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureNV != rhs.m_accelerationStructureNV;
+  }
+
+  bool operator<(AccelerationStructureNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureNV < rhs.m_accelerationStructureNV;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkAccelerationStructureNV() const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureNV;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureNV != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_accelerationStructureNV == VK_NULL_HANDLE;
+  }
+
+private:
+  VkAccelerationStructureNV m_accelerationStructureNV = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::AccelerationStructureNV) ==
+                  sizeof(VkAccelerationStructureNV),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eAccelerationStructureNV> {
+  using type = VULKAN_HPP_NAMESPACE::AccelerationStructureNV;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV> {
+  using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureNV;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureNV> {
+  using Type = VULKAN_HPP_NAMESPACE::AccelerationStructureNV;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::AccelerationStructureNV> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct AccelerationStructureMemoryRequirementsInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAccelerationStructureMemoryRequirementsInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type_ = {},
-      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_      = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , accelerationStructure( accelerationStructure_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV
+          type_ = VULKAN_HPP_NAMESPACE::
+              AccelerationStructureMemoryRequirementsTypeNV::eObject,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_ = {})
+      VULKAN_HPP_NOEXCEPT : type(type_),
+                            accelerationStructure(accelerationStructure_) {}
 
-    AccelerationStructureMemoryRequirementsInfoNV( VkAccelerationStructureMemoryRequirementsInfoNV const & rhs )
+  VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV(
+      AccelerationStructureMemoryRequirementsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AccelerationStructureMemoryRequirementsInfoNV(
+      VkAccelerationStructureMemoryRequirementsInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : AccelerationStructureMemoryRequirementsInfoNV(
+            *reinterpret_cast<
+                AccelerationStructureMemoryRequirementsInfoNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureMemoryRequirementsInfoNV &
-      operator=( VkAccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMemoryRequirementsInfoNV &
+  operator=(AccelerationStructureMemoryRequirementsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureMemoryRequirementsInfoNV &
-      operator=( AccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      type                  = rhs.type;
-      accelerationStructure = rhs.accelerationStructure;
+  AccelerationStructureMemoryRequirementsInfoNV &
+  operator=(VkAccelerationStructureMemoryRequirementsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            AccelerationStructureMemoryRequirementsInfoNV const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  AccelerationStructureMemoryRequirementsInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureMemoryRequirementsInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureMemoryRequirementsInfoNV &setType(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
 
-    AccelerationStructureMemoryRequirementsInfoNV &
-      setType( VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
+  AccelerationStructureMemoryRequirementsInfoNV &setAccelerationStructure(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_)
+      VULKAN_HPP_NOEXCEPT {
+    accelerationStructure = accelerationStructure_;
+    return *this;
+  }
 
-    AccelerationStructureMemoryRequirementsInfoNV & setAccelerationStructure(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_ ) VULKAN_HPP_NOEXCEPT
-    {
-      accelerationStructure = accelerationStructure_;
-      return *this;
-    }
+  operator VkAccelerationStructureMemoryRequirementsInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkAccelerationStructureMemoryRequirementsInfoNV *>(this);
+  }
 
-    operator VkAccelerationStructureMemoryRequirementsInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( this );
-    }
+  operator VkAccelerationStructureMemoryRequirementsInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureMemoryRequirementsInfoNV *>(
+        this);
+  }
 
-    operator VkAccelerationStructureMemoryRequirementsInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureMemoryRequirementsInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureMemoryRequirementsInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      AccelerationStructureMemoryRequirementsInfoNV const &) const = default;
 #else
-    bool operator==( AccelerationStructureMemoryRequirementsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) &&
-             ( accelerationStructure == rhs.accelerationStructure );
-    }
+  bool operator==(AccelerationStructureMemoryRequirementsInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (type == rhs.type) &&
+           (accelerationStructure == rhs.accelerationStructure);
+  }
 
-    bool operator!=( AccelerationStructureMemoryRequirementsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AccelerationStructureMemoryRequirementsInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureMemoryRequirementsInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type                  = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureNV                       accelerationStructure = {};
-  };
-  static_assert( sizeof( AccelerationStructureMemoryRequirementsInfoNV ) ==
-                   sizeof( VkAccelerationStructureMemoryRequirementsInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureMemoryRequirementsInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureMemoryRequirementsInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type =
+      VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV::
+          eObject;
+  VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure = {};
+};
+static_assert(sizeof(AccelerationStructureMemoryRequirementsInfoNV) ==
+                  sizeof(VkAccelerationStructureMemoryRequirementsInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  AccelerationStructureMemoryRequirementsInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureMemoryRequirementsInfoNV>
-  {
-    using Type = AccelerationStructureMemoryRequirementsInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureMemoryRequirementsInfoNV> {
+  using Type = AccelerationStructureMemoryRequirementsInfoNV;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct AccelerationStructureVersionKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eAccelerationStructureVersionKHR;
+struct AccelerationStructureVersionInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAccelerationStructureVersionInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AccelerationStructureVersionKHR( const uint8_t * versionData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : versionData( versionData_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AccelerationStructureVersionInfoKHR(
+      const uint8_t *pVersionData_ = {}) VULKAN_HPP_NOEXCEPT
+      : pVersionData(pVersionData_) {}
 
-    AccelerationStructureVersionKHR( VkAccelerationStructureVersionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR AccelerationStructureVersionInfoKHR(
+      AccelerationStructureVersionInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AccelerationStructureVersionKHR & operator=( VkAccelerationStructureVersionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureVersionKHR const *>( &rhs );
-      return *this;
-    }
+  AccelerationStructureVersionInfoKHR(
+      VkAccelerationStructureVersionInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : AccelerationStructureVersionInfoKHR(
+            *reinterpret_cast<AccelerationStructureVersionInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AccelerationStructureVersionKHR & operator=( AccelerationStructureVersionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      versionData = rhs.versionData;
+  VULKAN_HPP_CONSTEXPR_14 AccelerationStructureVersionInfoKHR &
+  operator=(AccelerationStructureVersionInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AccelerationStructureVersionInfoKHR &operator=(
+      VkAccelerationStructureVersionInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    AccelerationStructureVersionKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AccelerationStructureVersionInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AccelerationStructureVersionKHR & setVersionData( const uint8_t * versionData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      versionData = versionData_;
-      return *this;
-    }
+  AccelerationStructureVersionInfoKHR &
+  setPVersionData(const uint8_t *pVersionData_) VULKAN_HPP_NOEXCEPT {
+    pVersionData = pVersionData_;
+    return *this;
+  }
 
-    operator VkAccelerationStructureVersionKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAccelerationStructureVersionKHR *>( this );
-    }
+  operator VkAccelerationStructureVersionInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>(
+        this);
+  }
 
-    operator VkAccelerationStructureVersionKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAccelerationStructureVersionKHR *>( this );
-    }
+  operator VkAccelerationStructureVersionInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAccelerationStructureVersionInfoKHR *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AccelerationStructureVersionKHR const & ) const = default;
-#  else
-    bool operator==( AccelerationStructureVersionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( versionData == rhs.versionData );
-    }
-
-    bool operator!=( AccelerationStructureVersionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eAccelerationStructureVersionKHR;
-    const void *                              pNext       = {};
-    const uint8_t *                           versionData = {};
-  };
-  static_assert( sizeof( AccelerationStructureVersionKHR ) == sizeof( VkAccelerationStructureVersionKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AccelerationStructureVersionKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eAccelerationStructureVersionKHR>
-  {
-    using Type = AccelerationStructureVersionKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  struct AcquireNextImageInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eAcquireNextImageInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AcquireNextImageInfoKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {},
-                                                  uint64_t                           timeout_   = {},
-                                                  VULKAN_HPP_NAMESPACE::Semaphore    semaphore_ = {},
-                                                  VULKAN_HPP_NAMESPACE::Fence        fence_     = {},
-                                                  uint32_t deviceMask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : swapchain( swapchain_ )
-      , timeout( timeout_ )
-      , semaphore( semaphore_ )
-      , fence( fence_ )
-      , deviceMask( deviceMask_ )
-    {}
-
-    AcquireNextImageInfoKHR( VkAcquireNextImageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    AcquireNextImageInfoKHR & operator=( VkAcquireNextImageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    AcquireNextImageInfoKHR & operator=( AcquireNextImageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      swapchain  = rhs.swapchain;
-      timeout    = rhs.timeout;
-      semaphore  = rhs.semaphore;
-      fence      = rhs.fence;
-      deviceMask = rhs.deviceMask;
-
-      return *this;
-    }
-
-    AcquireNextImageInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    AcquireNextImageInfoKHR & setSwapchain( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchain = swapchain_;
-      return *this;
-    }
-
-    AcquireNextImageInfoKHR & setTimeout( uint64_t timeout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      timeout = timeout_;
-      return *this;
-    }
-
-    AcquireNextImageInfoKHR & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
-
-    AcquireNextImageInfoKHR & setFence( VULKAN_HPP_NAMESPACE::Fence fence_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fence = fence_;
-      return *this;
-    }
-
-    AcquireNextImageInfoKHR & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceMask = deviceMask_;
-      return *this;
-    }
-
-    operator VkAcquireNextImageInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAcquireNextImageInfoKHR *>( this );
-    }
-
-    operator VkAcquireNextImageInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAcquireNextImageInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AcquireNextImageInfoKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AccelerationStructureVersionInfoKHR const &) const = default;
 #else
-    bool operator==( AcquireNextImageInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchain == rhs.swapchain ) &&
-             ( timeout == rhs.timeout ) && ( semaphore == rhs.semaphore ) && ( fence == rhs.fence ) &&
-             ( deviceMask == rhs.deviceMask );
-    }
+  bool operator==(AccelerationStructureVersionInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pVersionData == rhs.pVersionData);
+  }
 
-    bool operator!=( AcquireNextImageInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AccelerationStructureVersionInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eAcquireNextImageInfoKHR;
-    const void *                              pNext      = {};
-    VULKAN_HPP_NAMESPACE::SwapchainKHR        swapchain  = {};
-    uint64_t                                  timeout    = {};
-    VULKAN_HPP_NAMESPACE::Semaphore           semaphore  = {};
-    VULKAN_HPP_NAMESPACE::Fence               fence      = {};
-    uint32_t                                  deviceMask = {};
-  };
-  static_assert( sizeof( AcquireNextImageInfoKHR ) == sizeof( VkAcquireNextImageInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AcquireNextImageInfoKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAccelerationStructureVersionInfoKHR;
+  const void *pNext = {};
+  const uint8_t *pVersionData = {};
+};
+static_assert(sizeof(AccelerationStructureVersionInfoKHR) ==
+                  sizeof(VkAccelerationStructureVersionInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AccelerationStructureVersionInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAcquireNextImageInfoKHR>
-  {
-    using Type = AcquireNextImageInfoKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAccelerationStructureVersionInfoKHR> {
+  using Type = AccelerationStructureVersionInfoKHR;
+};
 
-  struct AcquireProfilingLockInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eAcquireProfilingLockInfoKHR;
+class SwapchainKHR {
+public:
+  using CType = VkSwapchainKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AcquireProfilingLockInfoKHR( VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags_ = {},
-                                                      uint64_t timeout_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , timeout( timeout_ )
-    {}
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSwapchainKHR;
 
-    AcquireProfilingLockInfoKHR( VkAcquireProfilingLockInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+public:
+  VULKAN_HPP_CONSTEXPR SwapchainKHR() = default;
+  VULKAN_HPP_CONSTEXPR SwapchainKHR(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  SwapchainKHR(VkSwapchainKHR swapchainKHR) VULKAN_HPP_NOEXCEPT
+      : m_swapchainKHR(swapchainKHR) {}
 
-    AcquireProfilingLockInfoKHR & operator=( VkAcquireProfilingLockInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    AcquireProfilingLockInfoKHR & operator=( AcquireProfilingLockInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext   = rhs.pNext;
-      flags   = rhs.flags;
-      timeout = rhs.timeout;
-
-      return *this;
-    }
-
-    AcquireProfilingLockInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    AcquireProfilingLockInfoKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    AcquireProfilingLockInfoKHR & setTimeout( uint64_t timeout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      timeout = timeout_;
-      return *this;
-    }
-
-    operator VkAcquireProfilingLockInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( this );
-    }
-
-    operator VkAcquireProfilingLockInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAcquireProfilingLockInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AcquireProfilingLockInfoKHR const & ) const = default;
-#else
-    bool operator==( AcquireProfilingLockInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( timeout == rhs.timeout );
-    }
-
-    bool operator!=( AcquireProfilingLockInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  SwapchainKHR &operator=(VkSwapchainKHR swapchainKHR) VULKAN_HPP_NOEXCEPT {
+    m_swapchainKHR = swapchainKHR;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType   = StructureType::eAcquireProfilingLockInfoKHR;
-    const void *                                       pNext   = {};
-    VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags   = {};
-    uint64_t                                           timeout = {};
-  };
-  static_assert( sizeof( AcquireProfilingLockInfoKHR ) == sizeof( VkAcquireProfilingLockInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AcquireProfilingLockInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  SwapchainKHR &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_swapchainKHR = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eAcquireProfilingLockInfoKHR>
-  {
-    using Type = AcquireProfilingLockInfoKHR;
-  };
-
-  struct AllocationCallbacks
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AllocationCallbacks( void *                               pUserData_             = {},
-                                              PFN_vkAllocationFunction             pfnAllocation_         = {},
-                                              PFN_vkReallocationFunction           pfnReallocation_       = {},
-                                              PFN_vkFreeFunction                   pfnFree_               = {},
-                                              PFN_vkInternalAllocationNotification pfnInternalAllocation_ = {},
-                                              PFN_vkInternalFreeNotification pfnInternalFree_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pUserData( pUserData_ )
-      , pfnAllocation( pfnAllocation_ )
-      , pfnReallocation( pfnReallocation_ )
-      , pfnFree( pfnFree_ )
-      , pfnInternalAllocation( pfnInternalAllocation_ )
-      , pfnInternalFree( pfnInternalFree_ )
-    {}
-
-    AllocationCallbacks( VkAllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    AllocationCallbacks & operator=( VkAllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AllocationCallbacks const *>( &rhs );
-      return *this;
-    }
-
-    AllocationCallbacks & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pUserData = pUserData_;
-      return *this;
-    }
-
-    AllocationCallbacks & setPfnAllocation( PFN_vkAllocationFunction pfnAllocation_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pfnAllocation = pfnAllocation_;
-      return *this;
-    }
-
-    AllocationCallbacks & setPfnReallocation( PFN_vkReallocationFunction pfnReallocation_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pfnReallocation = pfnReallocation_;
-      return *this;
-    }
-
-    AllocationCallbacks & setPfnFree( PFN_vkFreeFunction pfnFree_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pfnFree = pfnFree_;
-      return *this;
-    }
-
-    AllocationCallbacks &
-      setPfnInternalAllocation( PFN_vkInternalAllocationNotification pfnInternalAllocation_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pfnInternalAllocation = pfnInternalAllocation_;
-      return *this;
-    }
-
-    AllocationCallbacks & setPfnInternalFree( PFN_vkInternalFreeNotification pfnInternalFree_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pfnInternalFree = pfnInternalFree_;
-      return *this;
-    }
-
-    operator VkAllocationCallbacks const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAllocationCallbacks *>( this );
-    }
-
-    operator VkAllocationCallbacks &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAllocationCallbacks *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AllocationCallbacks const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SwapchainKHR const &) const = default;
 #else
-    bool operator==( AllocationCallbacks const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( pUserData == rhs.pUserData ) && ( pfnAllocation == rhs.pfnAllocation ) &&
-             ( pfnReallocation == rhs.pfnReallocation ) && ( pfnFree == rhs.pfnFree ) &&
-             ( pfnInternalAllocation == rhs.pfnInternalAllocation ) && ( pfnInternalFree == rhs.pfnInternalFree );
-    }
+  bool operator==(SwapchainKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_swapchainKHR == rhs.m_swapchainKHR;
+  }
 
-    bool operator!=( AllocationCallbacks const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SwapchainKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_swapchainKHR != rhs.m_swapchainKHR;
+  }
+
+  bool operator<(SwapchainKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_swapchainKHR < rhs.m_swapchainKHR;
+  }
 #endif
 
-  public:
-    void *                               pUserData             = {};
-    PFN_vkAllocationFunction             pfnAllocation         = {};
-    PFN_vkReallocationFunction           pfnReallocation       = {};
-    PFN_vkFreeFunction                   pfnFree               = {};
-    PFN_vkInternalAllocationNotification pfnInternalAllocation = {};
-    PFN_vkInternalFreeNotification       pfnInternalFree       = {};
-  };
-  static_assert( sizeof( AllocationCallbacks ) == sizeof( VkAllocationCallbacks ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AllocationCallbacks>::value, "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkSwapchainKHR() const VULKAN_HPP_NOEXCEPT {
+    return m_swapchainKHR;
+  }
 
-  struct ComponentMapping
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ComponentMapping( VULKAN_HPP_NAMESPACE::ComponentSwizzle r_ = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity,
-                      VULKAN_HPP_NAMESPACE::ComponentSwizzle g_ = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity,
-                      VULKAN_HPP_NAMESPACE::ComponentSwizzle b_ = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity,
-                      VULKAN_HPP_NAMESPACE::ComponentSwizzle a_ = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity )
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_swapchainKHR != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_swapchainKHR == VK_NULL_HANDLE;
+  }
+
+private:
+  VkSwapchainKHR m_swapchainKHR = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::SwapchainKHR) ==
+                  sizeof(VkSwapchainKHR),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eSwapchainKHR> {
+  using type = VULKAN_HPP_NAMESPACE::SwapchainKHR;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::SwapchainKHR;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSwapchainKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::SwapchainKHR;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::SwapchainKHR> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+class Semaphore {
+public:
+  using CType = VkSemaphore;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSemaphore;
+
+public:
+  VULKAN_HPP_CONSTEXPR Semaphore() = default;
+  VULKAN_HPP_CONSTEXPR Semaphore(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  Semaphore(VkSemaphore semaphore) VULKAN_HPP_NOEXCEPT
+      : m_semaphore(semaphore) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Semaphore &operator=(VkSemaphore semaphore) VULKAN_HPP_NOEXCEPT {
+    m_semaphore = semaphore;
+    return *this;
+  }
+#endif
+
+  Semaphore &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_semaphore = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Semaphore const &) const = default;
+#else
+  bool operator==(Semaphore const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_semaphore == rhs.m_semaphore;
+  }
+
+  bool operator!=(Semaphore const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_semaphore != rhs.m_semaphore;
+  }
+
+  bool operator<(Semaphore const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_semaphore < rhs.m_semaphore;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkSemaphore() const VULKAN_HPP_NOEXCEPT {
+    return m_semaphore;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_semaphore != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_semaphore == VK_NULL_HANDLE;
+  }
+
+private:
+  VkSemaphore m_semaphore = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Semaphore) == sizeof(VkSemaphore),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eSemaphore> {
+  using type = VULKAN_HPP_NAMESPACE::Semaphore;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore> {
+  using Type = VULKAN_HPP_NAMESPACE::Semaphore;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSemaphore> {
+  using Type = VULKAN_HPP_NAMESPACE::Semaphore;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Semaphore> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+class Fence {
+public:
+  using CType = VkFence;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eFence;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFence;
+
+public:
+  VULKAN_HPP_CONSTEXPR Fence() = default;
+  VULKAN_HPP_CONSTEXPR Fence(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Fence(VkFence fence) VULKAN_HPP_NOEXCEPT
+      : m_fence(fence) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Fence &operator=(VkFence fence) VULKAN_HPP_NOEXCEPT {
+    m_fence = fence;
+    return *this;
+  }
+#endif
+
+  Fence &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_fence = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Fence const &) const = default;
+#else
+  bool operator==(Fence const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_fence == rhs.m_fence;
+  }
+
+  bool operator!=(Fence const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_fence != rhs.m_fence;
+  }
+
+  bool operator<(Fence const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_fence < rhs.m_fence;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkFence() const VULKAN_HPP_NOEXCEPT {
+    return m_fence;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_fence != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_fence == VK_NULL_HANDLE;
+  }
+
+private:
+  VkFence m_fence = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Fence) == sizeof(VkFence),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eFence> {
+  using type = VULKAN_HPP_NAMESPACE::Fence;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eFence> {
+  using Type = VULKAN_HPP_NAMESPACE::Fence;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFence> {
+  using Type = VULKAN_HPP_NAMESPACE::Fence;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Fence> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct AcquireNextImageInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAcquireNextImageInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  AcquireNextImageInfoKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {},
+                          uint64_t timeout_ = {},
+                          VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+                          VULKAN_HPP_NAMESPACE::Fence fence_ = {},
+                          uint32_t deviceMask_ = {}) VULKAN_HPP_NOEXCEPT
+      : swapchain(swapchain_),
+        timeout(timeout_),
+        semaphore(semaphore_),
+        fence(fence_),
+        deviceMask(deviceMask_) {}
+
+  VULKAN_HPP_CONSTEXPR AcquireNextImageInfoKHR(
+      AcquireNextImageInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  AcquireNextImageInfoKHR(VkAcquireNextImageInfoKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-      : r( r_ )
-      , g( g_ )
-      , b( b_ )
-      , a( a_ )
-    {}
+      : AcquireNextImageInfoKHR(
+            *reinterpret_cast<AcquireNextImageInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ComponentMapping( VkComponentMapping const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR &
+  operator=(AcquireNextImageInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ComponentMapping & operator=( VkComponentMapping const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ComponentMapping const *>( &rhs );
-      return *this;
-    }
+  AcquireNextImageInfoKHR &
+  operator=(VkAcquireNextImageInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-    ComponentMapping & setR( VULKAN_HPP_NAMESPACE::ComponentSwizzle r_ ) VULKAN_HPP_NOEXCEPT
-    {
-      r = r_;
-      return *this;
-    }
+  AcquireNextImageInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    ComponentMapping & setG( VULKAN_HPP_NAMESPACE::ComponentSwizzle g_ ) VULKAN_HPP_NOEXCEPT
-    {
-      g = g_;
-      return *this;
-    }
+  AcquireNextImageInfoKHR &setSwapchain(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_) VULKAN_HPP_NOEXCEPT {
+    swapchain = swapchain_;
+    return *this;
+  }
 
-    ComponentMapping & setB( VULKAN_HPP_NAMESPACE::ComponentSwizzle b_ ) VULKAN_HPP_NOEXCEPT
-    {
-      b = b_;
-      return *this;
-    }
+  AcquireNextImageInfoKHR &setTimeout(uint64_t timeout_) VULKAN_HPP_NOEXCEPT {
+    timeout = timeout_;
+    return *this;
+  }
 
-    ComponentMapping & setA( VULKAN_HPP_NAMESPACE::ComponentSwizzle a_ ) VULKAN_HPP_NOEXCEPT
-    {
-      a = a_;
-      return *this;
-    }
+  AcquireNextImageInfoKHR &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
 
-    operator VkComponentMapping const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkComponentMapping *>( this );
-    }
+  AcquireNextImageInfoKHR &
+  setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT {
+    fence = fence_;
+    return *this;
+  }
 
-    operator VkComponentMapping &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkComponentMapping *>( this );
-    }
+  AcquireNextImageInfoKHR &
+  setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT {
+    deviceMask = deviceMask_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ComponentMapping const & ) const = default;
+  operator VkAcquireNextImageInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAcquireNextImageInfoKHR *>(this);
+  }
+
+  operator VkAcquireNextImageInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAcquireNextImageInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AcquireNextImageInfoKHR const &) const = default;
 #else
-    bool operator==( ComponentMapping const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( r == rhs.r ) && ( g == rhs.g ) && ( b == rhs.b ) && ( a == rhs.a );
-    }
+  bool
+  operator==(AcquireNextImageInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (swapchain == rhs.swapchain) && (timeout == rhs.timeout) &&
+           (semaphore == rhs.semaphore) && (fence == rhs.fence) &&
+           (deviceMask == rhs.deviceMask);
+  }
 
-    bool operator!=( ComponentMapping const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(AcquireNextImageInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::ComponentSwizzle r = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
-    VULKAN_HPP_NAMESPACE::ComponentSwizzle g = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
-    VULKAN_HPP_NAMESPACE::ComponentSwizzle b = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
-    VULKAN_HPP_NAMESPACE::ComponentSwizzle a = VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
-  };
-  static_assert( sizeof( ComponentMapping ) == sizeof( VkComponentMapping ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ComponentMapping>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAcquireNextImageInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain = {};
+  uint64_t timeout = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  VULKAN_HPP_NAMESPACE::Fence fence = {};
+  uint32_t deviceMask = {};
+};
+static_assert(sizeof(AcquireNextImageInfoKHR) ==
+                  sizeof(VkAcquireNextImageInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AcquireNextImageInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidHardwareBufferFormatPropertiesANDROID
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+template <>
+struct CppType<StructureType, StructureType::eAcquireNextImageInfoKHR> {
+  using Type = AcquireNextImageInfoKHR;
+};
+
+struct AcquireProfilingLockInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAcquireProfilingLockInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AcquireProfilingLockInfoKHR(
+      VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags_ = {},
+      uint64_t timeout_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                    timeout(timeout_) {}
+
+  VULKAN_HPP_CONSTEXPR AcquireProfilingLockInfoKHR(
+      AcquireProfilingLockInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  AcquireProfilingLockInfoKHR(VkAcquireProfilingLockInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : AcquireProfilingLockInfoKHR(
+            *reinterpret_cast<AcquireProfilingLockInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 AcquireProfilingLockInfoKHR &operator=(
+      AcquireProfilingLockInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  AcquireProfilingLockInfoKHR &
+  operator=(VkAcquireProfilingLockInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  AcquireProfilingLockInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  AcquireProfilingLockInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  AcquireProfilingLockInfoKHR &
+  setTimeout(uint64_t timeout_) VULKAN_HPP_NOEXCEPT {
+    timeout = timeout_;
+    return *this;
+  }
+
+  operator VkAcquireProfilingLockInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>(this);
+  }
+
+  operator VkAcquireProfilingLockInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAcquireProfilingLockInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AcquireProfilingLockInfoKHR const &) const = default;
+#else
+  bool
+  operator==(AcquireProfilingLockInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (timeout == rhs.timeout);
+  }
+
+  bool
+  operator!=(AcquireProfilingLockInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAcquireProfilingLockInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags = {};
+  uint64_t timeout = {};
+};
+static_assert(sizeof(AcquireProfilingLockInfoKHR) ==
+                  sizeof(VkAcquireProfilingLockInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AcquireProfilingLockInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eAcquireProfilingLockInfoKHR> {
+  using Type = AcquireProfilingLockInfoKHR;
+};
+
+struct AllocationCallbacks {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AllocationCallbacks(
+      void *pUserData_ = {}, PFN_vkAllocationFunction pfnAllocation_ = {},
+      PFN_vkReallocationFunction pfnReallocation_ = {},
+      PFN_vkFreeFunction pfnFree_ = {},
+      PFN_vkInternalAllocationNotification pfnInternalAllocation_ = {},
+      PFN_vkInternalFreeNotification pfnInternalFree_ = {}) VULKAN_HPP_NOEXCEPT
+      : pUserData(pUserData_),
+        pfnAllocation(pfnAllocation_),
+        pfnReallocation(pfnReallocation_),
+        pfnFree(pfnFree_),
+        pfnInternalAllocation(pfnInternalAllocation_),
+        pfnInternalFree(pfnInternalFree_) {}
+
+  VULKAN_HPP_CONSTEXPR AllocationCallbacks(AllocationCallbacks const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AllocationCallbacks(VkAllocationCallbacks const &rhs) VULKAN_HPP_NOEXCEPT
+      : AllocationCallbacks(
+            *reinterpret_cast<AllocationCallbacks const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks &
+  operator=(AllocationCallbacks const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  AllocationCallbacks &
+  operator=(VkAllocationCallbacks const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::AllocationCallbacks const *>(
+            &rhs);
+    return *this;
+  }
+
+  AllocationCallbacks &setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT {
+    pUserData = pUserData_;
+    return *this;
+  }
+
+  AllocationCallbacks &setPfnAllocation(PFN_vkAllocationFunction pfnAllocation_)
+      VULKAN_HPP_NOEXCEPT {
+    pfnAllocation = pfnAllocation_;
+    return *this;
+  }
+
+  AllocationCallbacks &setPfnReallocation(
+      PFN_vkReallocationFunction pfnReallocation_) VULKAN_HPP_NOEXCEPT {
+    pfnReallocation = pfnReallocation_;
+    return *this;
+  }
+
+  AllocationCallbacks &
+  setPfnFree(PFN_vkFreeFunction pfnFree_) VULKAN_HPP_NOEXCEPT {
+    pfnFree = pfnFree_;
+    return *this;
+  }
+
+  AllocationCallbacks &setPfnInternalAllocation(
+      PFN_vkInternalAllocationNotification pfnInternalAllocation_)
+      VULKAN_HPP_NOEXCEPT {
+    pfnInternalAllocation = pfnInternalAllocation_;
+    return *this;
+  }
+
+  AllocationCallbacks &setPfnInternalFree(
+      PFN_vkInternalFreeNotification pfnInternalFree_) VULKAN_HPP_NOEXCEPT {
+    pfnInternalFree = pfnInternalFree_;
+    return *this;
+  }
+
+  operator VkAllocationCallbacks const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAllocationCallbacks *>(this);
+  }
+
+  operator VkAllocationCallbacks &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAllocationCallbacks *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AllocationCallbacks const &) const = default;
+#else
+  bool operator==(AllocationCallbacks const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (pUserData == rhs.pUserData) &&
+           (pfnAllocation == rhs.pfnAllocation) &&
+           (pfnReallocation == rhs.pfnReallocation) &&
+           (pfnFree == rhs.pfnFree) &&
+           (pfnInternalAllocation == rhs.pfnInternalAllocation) &&
+           (pfnInternalFree == rhs.pfnInternalFree);
+  }
+
+  bool operator!=(AllocationCallbacks const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  void *pUserData = {};
+  PFN_vkAllocationFunction pfnAllocation = {};
+  PFN_vkReallocationFunction pfnReallocation = {};
+  PFN_vkFreeFunction pfnFree = {};
+  PFN_vkInternalAllocationNotification pfnInternalAllocation = {};
+  PFN_vkInternalFreeNotification pfnInternalFree = {};
+};
+static_assert(sizeof(AllocationCallbacks) == sizeof(VkAllocationCallbacks),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AllocationCallbacks>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ComponentMapping {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ComponentMapping(
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle r_ =
+          VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity,
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle g_ =
+          VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity,
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle b_ =
+          VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity,
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle a_ =
+          VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity) VULKAN_HPP_NOEXCEPT
+      : r(r_),
+        g(g_),
+        b(b_),
+        a(a_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ComponentMapping(ComponentMapping const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ComponentMapping(VkComponentMapping const &rhs) VULKAN_HPP_NOEXCEPT
+      : ComponentMapping(*reinterpret_cast<ComponentMapping const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ComponentMapping &
+  operator=(ComponentMapping const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ComponentMapping &
+  operator=(VkComponentMapping const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ComponentMapping const *>(&rhs);
+    return *this;
+  }
+
+  ComponentMapping &
+  setR(VULKAN_HPP_NAMESPACE::ComponentSwizzle r_) VULKAN_HPP_NOEXCEPT {
+    r = r_;
+    return *this;
+  }
+
+  ComponentMapping &
+  setG(VULKAN_HPP_NAMESPACE::ComponentSwizzle g_) VULKAN_HPP_NOEXCEPT {
+    g = g_;
+    return *this;
+  }
+
+  ComponentMapping &
+  setB(VULKAN_HPP_NAMESPACE::ComponentSwizzle b_) VULKAN_HPP_NOEXCEPT {
+    b = b_;
+    return *this;
+  }
+
+  ComponentMapping &
+  setA(VULKAN_HPP_NAMESPACE::ComponentSwizzle a_) VULKAN_HPP_NOEXCEPT {
+    a = a_;
+    return *this;
+  }
+
+  operator VkComponentMapping const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkComponentMapping *>(this);
+  }
+
+  operator VkComponentMapping &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkComponentMapping *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ComponentMapping const &) const = default;
+#else
+  bool operator==(ComponentMapping const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (r == rhs.r) && (g == rhs.g) && (b == rhs.b) && (a == rhs.a);
+  }
+
+  bool operator!=(ComponentMapping const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ComponentSwizzle r =
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
+  VULKAN_HPP_NAMESPACE::ComponentSwizzle g =
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
+  VULKAN_HPP_NAMESPACE::ComponentSwizzle b =
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
+  VULKAN_HPP_NAMESPACE::ComponentSwizzle a =
+      VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity;
+};
+static_assert(sizeof(ComponentMapping) == sizeof(VkComponentMapping),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ComponentMapping>::value,
+              "struct wrapper is not a standard layout!");
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+struct AndroidHardwareBufferFormatPropertiesANDROID {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAndroidHardwareBufferFormatPropertiesANDROID;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatPropertiesANDROID(
-      VULKAN_HPP_NAMESPACE::Format                      format_         = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      uint64_t                                          externalFormat_ = {},
-      VULKAN_HPP_NAMESPACE::FormatFeatureFlags          formatFeatures_ = {},
-      VULKAN_HPP_NAMESPACE::ComponentMapping            samplerYcbcrConversionComponents_ = {},
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatPropertiesANDROID(
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      uint64_t externalFormat_ = {},
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_ = {},
+      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::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
-      : format( format_ )
-      , externalFormat( externalFormat_ )
-      , formatFeatures( formatFeatures_ )
-      , samplerYcbcrConversionComponents( samplerYcbcrConversionComponents_ )
-      , suggestedYcbcrModel( suggestedYcbcrModel_ )
-      , suggestedYcbcrRange( suggestedYcbcrRange_ )
-      , suggestedXChromaOffset( suggestedXChromaOffset_ )
-      , suggestedYChromaOffset( suggestedYChromaOffset_ )
-    {}
-
-    AndroidHardwareBufferFormatPropertiesANDROID( VkAndroidHardwareBufferFormatPropertiesANDROID const & rhs )
+          VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : format(format_),
+        externalFormat(externalFormat_),
+        formatFeatures(formatFeatures_),
+        samplerYcbcrConversionComponents(samplerYcbcrConversionComponents_),
+        suggestedYcbcrModel(suggestedYcbcrModel_),
+        suggestedYcbcrRange(suggestedYcbcrRange_),
+        suggestedXChromaOffset(suggestedXChromaOffset_),
+        suggestedYChromaOffset(suggestedYChromaOffset_) {}
 
-    AndroidHardwareBufferFormatPropertiesANDROID &
-      operator=( VkAndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatPropertiesANDROID(
+      AndroidHardwareBufferFormatPropertiesANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AndroidHardwareBufferFormatPropertiesANDROID &
-      operator=( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      format                           = rhs.format;
-      externalFormat                   = rhs.externalFormat;
-      formatFeatures                   = rhs.formatFeatures;
-      samplerYcbcrConversionComponents = rhs.samplerYcbcrConversionComponents;
-      suggestedYcbcrModel              = rhs.suggestedYcbcrModel;
-      suggestedYcbcrRange              = rhs.suggestedYcbcrRange;
-      suggestedXChromaOffset           = rhs.suggestedXChromaOffset;
-      suggestedYChromaOffset           = rhs.suggestedYChromaOffset;
+  AndroidHardwareBufferFormatPropertiesANDROID(
+      VkAndroidHardwareBufferFormatPropertiesANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : AndroidHardwareBufferFormatPropertiesANDROID(
+            *reinterpret_cast<
+                AndroidHardwareBufferFormatPropertiesANDROID const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AndroidHardwareBufferFormatPropertiesANDROID &
+  operator=(AndroidHardwareBufferFormatPropertiesANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkAndroidHardwareBufferFormatPropertiesANDROID const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID *>( this );
-    }
+  AndroidHardwareBufferFormatPropertiesANDROID &
+  operator=(VkAndroidHardwareBufferFormatPropertiesANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID const
+            *>(&rhs);
+    return *this;
+  }
 
-    operator VkAndroidHardwareBufferFormatPropertiesANDROID &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID *>( this );
-    }
+  operator VkAndroidHardwareBufferFormatPropertiesANDROID const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkAndroidHardwareBufferFormatPropertiesANDROID *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AndroidHardwareBufferFormatPropertiesANDROID const & ) const = default;
-#  else
-    bool operator==( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) &&
-             ( externalFormat == rhs.externalFormat ) && ( formatFeatures == rhs.formatFeatures ) &&
-             ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) &&
-             ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) &&
-             ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) &&
-             ( suggestedYChromaOffset == rhs.suggestedYChromaOffset );
-    }
+  operator VkAndroidHardwareBufferFormatPropertiesANDROID &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID *>(
+        this);
+  }
 
-    bool operator!=( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AndroidHardwareBufferFormatPropertiesANDROID const &) const =
+      default;
+#else
+  bool operator==(AndroidHardwareBufferFormatPropertiesANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (format == rhs.format) && (externalFormat == rhs.externalFormat) &&
+           (formatFeatures == rhs.formatFeatures) &&
+           (samplerYcbcrConversionComponents ==
+            rhs.samplerYcbcrConversionComponents) &&
+           (suggestedYcbcrModel == rhs.suggestedYcbcrModel) &&
+           (suggestedYcbcrRange == rhs.suggestedYcbcrRange) &&
+           (suggestedXChromaOffset == rhs.suggestedXChromaOffset) &&
+           (suggestedYChromaOffset == rhs.suggestedYChromaOffset);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eAndroidHardwareBufferFormatPropertiesANDROID;
-    void *                                    pNext  = {};
-    VULKAN_HPP_NAMESPACE::Format              format = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    uint64_t                                  externalFormat                   = {};
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags  formatFeatures                   = {};
-    VULKAN_HPP_NAMESPACE::ComponentMapping    samplerYcbcrConversionComponents = {};
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel =
+  bool operator!=(AndroidHardwareBufferFormatPropertiesANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAndroidHardwareBufferFormatPropertiesANDROID;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  uint64_t externalFormat = {};
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures = {};
+  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;
-  };
-  static_assert( sizeof( AndroidHardwareBufferFormatPropertiesANDROID ) ==
-                   sizeof( VkAndroidHardwareBufferFormatPropertiesANDROID ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AndroidHardwareBufferFormatPropertiesANDROID>::value,
-                 "struct wrapper is not a standard layout!" );
+  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;
+};
+static_assert(sizeof(AndroidHardwareBufferFormatPropertiesANDROID) ==
+                  sizeof(VkAndroidHardwareBufferFormatPropertiesANDROID),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  AndroidHardwareBufferFormatPropertiesANDROID>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAndroidHardwareBufferFormatPropertiesANDROID>
-  {
-    using Type = AndroidHardwareBufferFormatPropertiesANDROID;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAndroidHardwareBufferFormatPropertiesANDROID> {
+  using Type = AndroidHardwareBufferFormatPropertiesANDROID;
+};
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidHardwareBufferPropertiesANDROID
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+struct AndroidHardwareBufferPropertiesANDROID {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAndroidHardwareBufferPropertiesANDROID;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AndroidHardwareBufferPropertiesANDROID( VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_ = {},
-                                                                 uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT
-      : allocationSize( allocationSize_ )
-      , memoryTypeBits( memoryTypeBits_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferPropertiesANDROID(
+      VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_ = {},
+      uint32_t memoryTypeBits_ = {}) VULKAN_HPP_NOEXCEPT
+      : allocationSize(allocationSize_),
+        memoryTypeBits(memoryTypeBits_) {}
 
-    AndroidHardwareBufferPropertiesANDROID( VkAndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferPropertiesANDROID(
+      AndroidHardwareBufferPropertiesANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AndroidHardwareBufferPropertiesANDROID &
-      operator=( VkAndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID const *>( &rhs );
-      return *this;
-    }
+  AndroidHardwareBufferPropertiesANDROID(
+      VkAndroidHardwareBufferPropertiesANDROID const &rhs) VULKAN_HPP_NOEXCEPT
+      : AndroidHardwareBufferPropertiesANDROID(
+            *reinterpret_cast<AndroidHardwareBufferPropertiesANDROID const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AndroidHardwareBufferPropertiesANDROID &
-      operator=( AndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      allocationSize = rhs.allocationSize;
-      memoryTypeBits = rhs.memoryTypeBits;
+  VULKAN_HPP_CONSTEXPR_14 AndroidHardwareBufferPropertiesANDROID &
+  operator=(AndroidHardwareBufferPropertiesANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AndroidHardwareBufferPropertiesANDROID &operator=(
+      VkAndroidHardwareBufferPropertiesANDROID const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkAndroidHardwareBufferPropertiesANDROID const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAndroidHardwareBufferPropertiesANDROID *>( this );
-    }
+  operator VkAndroidHardwareBufferPropertiesANDROID const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAndroidHardwareBufferPropertiesANDROID *>(
+        this);
+  }
 
-    operator VkAndroidHardwareBufferPropertiesANDROID &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( this );
-    }
+  operator VkAndroidHardwareBufferPropertiesANDROID &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AndroidHardwareBufferPropertiesANDROID const & ) const = default;
-#  else
-    bool operator==( AndroidHardwareBufferPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( allocationSize == rhs.allocationSize ) &&
-             ( memoryTypeBits == rhs.memoryTypeBits );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(AndroidHardwareBufferPropertiesANDROID const &) const = default;
+#else
+  bool operator==(AndroidHardwareBufferPropertiesANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (allocationSize == rhs.allocationSize) &&
+           (memoryTypeBits == rhs.memoryTypeBits);
+  }
 
-    bool operator!=( AndroidHardwareBufferPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(AndroidHardwareBufferPropertiesANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eAndroidHardwareBufferPropertiesANDROID;
-    void *                                    pNext          = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          allocationSize = {};
-    uint32_t                                  memoryTypeBits = {};
-  };
-  static_assert( sizeof( AndroidHardwareBufferPropertiesANDROID ) == sizeof( VkAndroidHardwareBufferPropertiesANDROID ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AndroidHardwareBufferPropertiesANDROID>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAndroidHardwareBufferPropertiesANDROID;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize allocationSize = {};
+  uint32_t memoryTypeBits = {};
+};
+static_assert(sizeof(AndroidHardwareBufferPropertiesANDROID) ==
+                  sizeof(VkAndroidHardwareBufferPropertiesANDROID),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AndroidHardwareBufferPropertiesANDROID>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAndroidHardwareBufferPropertiesANDROID>
-  {
-    using Type = AndroidHardwareBufferPropertiesANDROID;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAndroidHardwareBufferPropertiesANDROID> {
+  using Type = AndroidHardwareBufferPropertiesANDROID;
+};
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidHardwareBufferUsageANDROID
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+struct AndroidHardwareBufferUsageANDROID {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAndroidHardwareBufferUsageANDROID;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    AndroidHardwareBufferUsageANDROID( uint64_t androidHardwareBufferUsage_ = {} ) VULKAN_HPP_NOEXCEPT
-      : androidHardwareBufferUsage( androidHardwareBufferUsage_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferUsageANDROID(
+      uint64_t androidHardwareBufferUsage_ = {}) VULKAN_HPP_NOEXCEPT
+      : androidHardwareBufferUsage(androidHardwareBufferUsage_) {}
 
-    AndroidHardwareBufferUsageANDROID( VkAndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferUsageANDROID(
+      AndroidHardwareBufferUsageANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AndroidHardwareBufferUsageANDROID & operator=( VkAndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID const *>( &rhs );
-      return *this;
-    }
+  AndroidHardwareBufferUsageANDROID(
+      VkAndroidHardwareBufferUsageANDROID const &rhs) VULKAN_HPP_NOEXCEPT
+      : AndroidHardwareBufferUsageANDROID(
+            *reinterpret_cast<AndroidHardwareBufferUsageANDROID const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AndroidHardwareBufferUsageANDROID & operator=( AndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      androidHardwareBufferUsage = rhs.androidHardwareBufferUsage;
+  VULKAN_HPP_CONSTEXPR_14 AndroidHardwareBufferUsageANDROID &
+  operator=(AndroidHardwareBufferUsageANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AndroidHardwareBufferUsageANDROID &operator=(
+      VkAndroidHardwareBufferUsageANDROID const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID const *>(&rhs);
+    return *this;
+  }
 
-    operator VkAndroidHardwareBufferUsageANDROID const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>( this );
-    }
+  operator VkAndroidHardwareBufferUsageANDROID const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>(this);
+  }
 
-    operator VkAndroidHardwareBufferUsageANDROID &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAndroidHardwareBufferUsageANDROID *>( this );
-    }
+  operator VkAndroidHardwareBufferUsageANDROID &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAndroidHardwareBufferUsageANDROID *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AndroidHardwareBufferUsageANDROID const & ) const = default;
-#  else
-    bool operator==( AndroidHardwareBufferUsageANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( androidHardwareBufferUsage == rhs.androidHardwareBufferUsage );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AndroidHardwareBufferUsageANDROID const &) const = default;
+#else
+  bool operator==(AndroidHardwareBufferUsageANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (androidHardwareBufferUsage == rhs.androidHardwareBufferUsage);
+  }
 
-    bool operator!=( AndroidHardwareBufferUsageANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(AndroidHardwareBufferUsageANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAndroidHardwareBufferUsageANDROID;
-    void *                                    pNext = {};
-    uint64_t                                  androidHardwareBufferUsage = {};
-  };
-  static_assert( sizeof( AndroidHardwareBufferUsageANDROID ) == sizeof( VkAndroidHardwareBufferUsageANDROID ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AndroidHardwareBufferUsageANDROID>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAndroidHardwareBufferUsageANDROID;
+  void *pNext = {};
+  uint64_t androidHardwareBufferUsage = {};
+};
+static_assert(sizeof(AndroidHardwareBufferUsageANDROID) ==
+                  sizeof(VkAndroidHardwareBufferUsageANDROID),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AndroidHardwareBufferUsageANDROID>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAndroidHardwareBufferUsageANDROID>
-  {
-    using Type = AndroidHardwareBufferUsageANDROID;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAndroidHardwareBufferUsageANDROID> {
+  using Type = AndroidHardwareBufferUsageANDROID;
+};
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct AndroidSurfaceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eAndroidSurfaceCreateInfoKHR;
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+struct AndroidSurfaceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAndroidSurfaceCreateInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags_ = {},
-                                                      struct ANativeWindow * window_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , window( window_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags_ = {},
+      struct ANativeWindow *window_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        window(window_) {}
 
-    AndroidSurfaceCreateInfoKHR( VkAndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR(
+      AndroidSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    AndroidSurfaceCreateInfoKHR & operator=( VkAndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
+  AndroidSurfaceCreateInfoKHR(VkAndroidSurfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : AndroidSurfaceCreateInfoKHR(
+            *reinterpret_cast<AndroidSurfaceCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AndroidSurfaceCreateInfoKHR & operator=( AndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      flags  = rhs.flags;
-      window = rhs.window;
+  VULKAN_HPP_CONSTEXPR_14 AndroidSurfaceCreateInfoKHR &operator=(
+      AndroidSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AndroidSurfaceCreateInfoKHR &
+  operator=(VkAndroidSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-    AndroidSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AndroidSurfaceCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AndroidSurfaceCreateInfoKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  AndroidSurfaceCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    AndroidSurfaceCreateInfoKHR & setWindow( struct ANativeWindow * window_ ) VULKAN_HPP_NOEXCEPT
-    {
-      window = window_;
-      return *this;
-    }
+  AndroidSurfaceCreateInfoKHR &
+  setWindow(struct ANativeWindow *window_) VULKAN_HPP_NOEXCEPT {
+    window = window_;
+    return *this;
+  }
 
-    operator VkAndroidSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkAndroidSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>(this);
+  }
 
-    operator VkAndroidSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAndroidSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkAndroidSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAndroidSurfaceCreateInfoKHR *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AndroidSurfaceCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( AndroidSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( window == rhs.window );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AndroidSurfaceCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(AndroidSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (window == rhs.window);
+  }
 
-    bool operator!=( AndroidSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool
+  operator!=(AndroidSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType  = StructureType::eAndroidSurfaceCreateInfoKHR;
-    const void *                                       pNext  = {};
-    VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags  = {};
-    struct ANativeWindow *                             window = {};
-  };
-  static_assert( sizeof( AndroidSurfaceCreateInfoKHR ) == sizeof( VkAndroidSurfaceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AndroidSurfaceCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAndroidSurfaceCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags = {};
+  struct ANativeWindow *window = {};
+};
+static_assert(sizeof(AndroidSurfaceCreateInfoKHR) ==
+                  sizeof(VkAndroidSurfaceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AndroidSurfaceCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAndroidSurfaceCreateInfoKHR>
-  {
-    using Type = AndroidSurfaceCreateInfoKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::eAndroidSurfaceCreateInfoKHR> {
+  using Type = AndroidSurfaceCreateInfoKHR;
+};
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 
-  struct ApplicationInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eApplicationInfo;
+struct ApplicationInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eApplicationInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ApplicationInfo( const char * pApplicationName_   = {},
-                                          uint32_t     applicationVersion_ = {},
-                                          const char * pEngineName_        = {},
-                                          uint32_t     engineVersion_      = {},
-                                          uint32_t     apiVersion_         = {} ) VULKAN_HPP_NOEXCEPT
-      : pApplicationName( pApplicationName_ )
-      , applicationVersion( applicationVersion_ )
-      , pEngineName( pEngineName_ )
-      , engineVersion( engineVersion_ )
-      , apiVersion( apiVersion_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ApplicationInfo(const char *pApplicationName_ = {},
+                  uint32_t applicationVersion_ = {},
+                  const char *pEngineName_ = {}, uint32_t engineVersion_ = {},
+                  uint32_t apiVersion_ = {}) VULKAN_HPP_NOEXCEPT
+      : pApplicationName(pApplicationName_),
+        applicationVersion(applicationVersion_),
+        pEngineName(pEngineName_),
+        engineVersion(engineVersion_),
+        apiVersion(apiVersion_) {}
 
-    ApplicationInfo( VkApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  ApplicationInfo(ApplicationInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ApplicationInfo & operator=( VkApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ApplicationInfo const *>( &rhs );
-      return *this;
-    }
+  ApplicationInfo(VkApplicationInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : ApplicationInfo(*reinterpret_cast<ApplicationInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ApplicationInfo & operator=( ApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      pApplicationName   = rhs.pApplicationName;
-      applicationVersion = rhs.applicationVersion;
-      pEngineName        = rhs.pEngineName;
-      engineVersion      = rhs.engineVersion;
-      apiVersion         = rhs.apiVersion;
+  VULKAN_HPP_CONSTEXPR_14 ApplicationInfo &
+  operator=(ApplicationInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  ApplicationInfo &operator=(VkApplicationInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ApplicationInfo const *>(&rhs);
+    return *this;
+  }
 
-    ApplicationInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  ApplicationInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    ApplicationInfo & setPApplicationName( const char * pApplicationName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pApplicationName = pApplicationName_;
-      return *this;
-    }
+  ApplicationInfo &
+  setPApplicationName(const char *pApplicationName_) VULKAN_HPP_NOEXCEPT {
+    pApplicationName = pApplicationName_;
+    return *this;
+  }
 
-    ApplicationInfo & setApplicationVersion( uint32_t applicationVersion_ ) VULKAN_HPP_NOEXCEPT
-    {
-      applicationVersion = applicationVersion_;
-      return *this;
-    }
+  ApplicationInfo &
+  setApplicationVersion(uint32_t applicationVersion_) VULKAN_HPP_NOEXCEPT {
+    applicationVersion = applicationVersion_;
+    return *this;
+  }
 
-    ApplicationInfo & setPEngineName( const char * pEngineName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pEngineName = pEngineName_;
-      return *this;
-    }
+  ApplicationInfo &
+  setPEngineName(const char *pEngineName_) VULKAN_HPP_NOEXCEPT {
+    pEngineName = pEngineName_;
+    return *this;
+  }
 
-    ApplicationInfo & setEngineVersion( uint32_t engineVersion_ ) VULKAN_HPP_NOEXCEPT
-    {
-      engineVersion = engineVersion_;
-      return *this;
-    }
+  ApplicationInfo &
+  setEngineVersion(uint32_t engineVersion_) VULKAN_HPP_NOEXCEPT {
+    engineVersion = engineVersion_;
+    return *this;
+  }
 
-    ApplicationInfo & setApiVersion( uint32_t apiVersion_ ) VULKAN_HPP_NOEXCEPT
-    {
-      apiVersion = apiVersion_;
-      return *this;
-    }
+  ApplicationInfo &setApiVersion(uint32_t apiVersion_) VULKAN_HPP_NOEXCEPT {
+    apiVersion = apiVersion_;
+    return *this;
+  }
 
-    operator VkApplicationInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkApplicationInfo *>( this );
-    }
+  operator VkApplicationInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkApplicationInfo *>(this);
+  }
 
-    operator VkApplicationInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkApplicationInfo *>( this );
-    }
+  operator VkApplicationInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkApplicationInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ApplicationInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ApplicationInfo const &) const = default;
 #else
-    bool operator==( ApplicationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pApplicationName == rhs.pApplicationName ) &&
-             ( applicationVersion == rhs.applicationVersion ) && ( pEngineName == rhs.pEngineName ) &&
-             ( engineVersion == rhs.engineVersion ) && ( apiVersion == rhs.apiVersion );
-    }
+  bool operator==(ApplicationInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pApplicationName == rhs.pApplicationName) &&
+           (applicationVersion == rhs.applicationVersion) &&
+           (pEngineName == rhs.pEngineName) &&
+           (engineVersion == rhs.engineVersion) &&
+           (apiVersion == rhs.apiVersion);
+  }
 
-    bool operator!=( ApplicationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ApplicationInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType              = StructureType::eApplicationInfo;
-    const void *                              pNext              = {};
-    const char *                              pApplicationName   = {};
-    uint32_t                                  applicationVersion = {};
-    const char *                              pEngineName        = {};
-    uint32_t                                  engineVersion      = {};
-    uint32_t                                  apiVersion         = {};
-  };
-  static_assert( sizeof( ApplicationInfo ) == sizeof( VkApplicationInfo ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ApplicationInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eApplicationInfo;
+  const void *pNext = {};
+  const char *pApplicationName = {};
+  uint32_t applicationVersion = {};
+  const char *pEngineName = {};
+  uint32_t engineVersion = {};
+  uint32_t apiVersion = {};
+};
+static_assert(sizeof(ApplicationInfo) == sizeof(VkApplicationInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ApplicationInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eApplicationInfo>
-  {
-    using Type = ApplicationInfo;
-  };
+template <> struct CppType<StructureType, StructureType::eApplicationInfo> {
+  using Type = ApplicationInfo;
+};
 
-  struct AttachmentDescription
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AttachmentDescription(
-      VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_         = {},
-      VULKAN_HPP_NAMESPACE::Format                     format_        = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::SampleCountFlagBits        samples_       = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
-      VULKAN_HPP_NAMESPACE::AttachmentLoadOp           loadOp_        = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
-      VULKAN_HPP_NAMESPACE::AttachmentStoreOp          storeOp_       = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
-      VULKAN_HPP_NAMESPACE::AttachmentLoadOp           stencilLoadOp_ = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
-      VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_         = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
-      VULKAN_HPP_NAMESPACE::ImageLayout       initialLayout_          = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
-      VULKAN_HPP_NAMESPACE::ImageLayout       finalLayout_            = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined )
+struct AttachmentDescription {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AttachmentDescription(
+      VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
+      VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        format(format_),
+        samples(samples_),
+        loadOp(loadOp_),
+        storeOp(storeOp_),
+        stencilLoadOp(stencilLoadOp_),
+        stencilStoreOp(stencilStoreOp_),
+        initialLayout(initialLayout_),
+        finalLayout(finalLayout_) {}
+
+  VULKAN_HPP_CONSTEXPR AttachmentDescription(AttachmentDescription const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AttachmentDescription(VkAttachmentDescription const &rhs) VULKAN_HPP_NOEXCEPT
+      : AttachmentDescription(
+            *reinterpret_cast<AttachmentDescription const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 AttachmentDescription &
+  operator=(AttachmentDescription const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  AttachmentDescription &
+  operator=(VkAttachmentDescription const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescription const *>(
+            &rhs);
+    return *this;
+  }
+
+  AttachmentDescription &
+  setFlags(VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  AttachmentDescription &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
+
+  AttachmentDescription &setSamples(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT {
+    samples = samples_;
+    return *this;
+  }
+
+  AttachmentDescription &setLoadOp(
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_) VULKAN_HPP_NOEXCEPT {
+    loadOp = loadOp_;
+    return *this;
+  }
+
+  AttachmentDescription &setStoreOp(
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_) VULKAN_HPP_NOEXCEPT {
+    storeOp = storeOp_;
+    return *this;
+  }
+
+  AttachmentDescription &
+  setStencilLoadOp(VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_)
+      VULKAN_HPP_NOEXCEPT {
+    stencilLoadOp = stencilLoadOp_;
+    return *this;
+  }
+
+  AttachmentDescription &
+  setStencilStoreOp(VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_)
+      VULKAN_HPP_NOEXCEPT {
+    stencilStoreOp = stencilStoreOp_;
+    return *this;
+  }
+
+  AttachmentDescription &setInitialLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_) VULKAN_HPP_NOEXCEPT {
+    initialLayout = initialLayout_;
+    return *this;
+  }
+
+  AttachmentDescription &setFinalLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_) VULKAN_HPP_NOEXCEPT {
+    finalLayout = finalLayout_;
+    return *this;
+  }
+
+  operator VkAttachmentDescription const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAttachmentDescription *>(this);
+  }
+
+  operator VkAttachmentDescription &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAttachmentDescription *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AttachmentDescription const &) const = default;
+#else
+  bool operator==(AttachmentDescription const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (flags == rhs.flags) && (format == rhs.format) &&
+           (samples == rhs.samples) && (loadOp == rhs.loadOp) &&
+           (storeOp == rhs.storeOp) && (stencilLoadOp == rhs.stencilLoadOp) &&
+           (stencilStoreOp == rhs.stencilStoreOp) &&
+           (initialLayout == rhs.initialLayout) &&
+           (finalLayout == rhs.finalLayout);
+  }
+
+  bool operator!=(AttachmentDescription const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples =
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp =
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
+  VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp =
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
+  VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp =
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
+  VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp =
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
+  VULKAN_HPP_NAMESPACE::ImageLayout initialLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageLayout finalLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+};
+static_assert(sizeof(AttachmentDescription) == sizeof(VkAttachmentDescription),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AttachmentDescription>::value,
+              "struct wrapper is not a standard layout!");
+
+struct AttachmentDescription2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAttachmentDescription2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AttachmentDescription2(
+      VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_ =
+          VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
+      VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        format(format_),
+        samples(samples_),
+        loadOp(loadOp_),
+        storeOp(storeOp_),
+        stencilLoadOp(stencilLoadOp_),
+        stencilStoreOp(stencilStoreOp_),
+        initialLayout(initialLayout_),
+        finalLayout(finalLayout_) {}
+
+  VULKAN_HPP_CONSTEXPR AttachmentDescription2(AttachmentDescription2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  AttachmentDescription2(VkAttachmentDescription2 const &rhs)
       VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , format( format_ )
-      , samples( samples_ )
-      , loadOp( loadOp_ )
-      , storeOp( storeOp_ )
-      , stencilLoadOp( stencilLoadOp_ )
-      , stencilStoreOp( stencilStoreOp_ )
-      , initialLayout( initialLayout_ )
-      , finalLayout( finalLayout_ )
-    {}
+      : AttachmentDescription2(
+            *reinterpret_cast<AttachmentDescription2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AttachmentDescription( VkAttachmentDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 &
+  operator=(AttachmentDescription2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    AttachmentDescription & operator=( VkAttachmentDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescription const *>( &rhs );
-      return *this;
-    }
+  AttachmentDescription2 &
+  operator=(VkAttachmentDescription2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescription2 const *>(
+            &rhs);
+    return *this;
+  }
 
-    AttachmentDescription & setFlags( VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  AttachmentDescription2 &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AttachmentDescription & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
+  AttachmentDescription2 &
+  setFlags(VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    AttachmentDescription & setSamples( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samples = samples_;
-      return *this;
-    }
+  AttachmentDescription2 &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
 
-    AttachmentDescription & setLoadOp( VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      loadOp = loadOp_;
-      return *this;
-    }
+  AttachmentDescription2 &setSamples(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT {
+    samples = samples_;
+    return *this;
+  }
 
-    AttachmentDescription & setStoreOp( VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storeOp = storeOp_;
-      return *this;
-    }
+  AttachmentDescription2 &setLoadOp(
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_) VULKAN_HPP_NOEXCEPT {
+    loadOp = loadOp_;
+    return *this;
+  }
 
-    AttachmentDescription &
-      setStencilLoadOp( VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilLoadOp = stencilLoadOp_;
-      return *this;
-    }
+  AttachmentDescription2 &setStoreOp(
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_) VULKAN_HPP_NOEXCEPT {
+    storeOp = storeOp_;
+    return *this;
+  }
 
-    AttachmentDescription &
-      setStencilStoreOp( VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilStoreOp = stencilStoreOp_;
-      return *this;
-    }
+  AttachmentDescription2 &
+  setStencilLoadOp(VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_)
+      VULKAN_HPP_NOEXCEPT {
+    stencilLoadOp = stencilLoadOp_;
+    return *this;
+  }
 
-    AttachmentDescription & setInitialLayout( VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialLayout = initialLayout_;
-      return *this;
-    }
+  AttachmentDescription2 &
+  setStencilStoreOp(VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_)
+      VULKAN_HPP_NOEXCEPT {
+    stencilStoreOp = stencilStoreOp_;
+    return *this;
+  }
 
-    AttachmentDescription & setFinalLayout( VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      finalLayout = finalLayout_;
-      return *this;
-    }
+  AttachmentDescription2 &setInitialLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_) VULKAN_HPP_NOEXCEPT {
+    initialLayout = initialLayout_;
+    return *this;
+  }
 
-    operator VkAttachmentDescription const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAttachmentDescription *>( this );
-    }
+  AttachmentDescription2 &setFinalLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_) VULKAN_HPP_NOEXCEPT {
+    finalLayout = finalLayout_;
+    return *this;
+  }
 
-    operator VkAttachmentDescription &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAttachmentDescription *>( this );
-    }
+  operator VkAttachmentDescription2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAttachmentDescription2 *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AttachmentDescription const & ) const = default;
+  operator VkAttachmentDescription2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAttachmentDescription2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AttachmentDescription2 const &) const = default;
 #else
-    bool operator==( AttachmentDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( flags == rhs.flags ) && ( format == rhs.format ) && ( samples == rhs.samples ) &&
-             ( loadOp == rhs.loadOp ) && ( storeOp == rhs.storeOp ) && ( stencilLoadOp == rhs.stencilLoadOp ) &&
-             ( stencilStoreOp == rhs.stencilStoreOp ) && ( initialLayout == rhs.initialLayout ) &&
-             ( finalLayout == rhs.finalLayout );
-    }
+  bool operator==(AttachmentDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (format == rhs.format) &&
+           (samples == rhs.samples) && (loadOp == rhs.loadOp) &&
+           (storeOp == rhs.storeOp) && (stencilLoadOp == rhs.stencilLoadOp) &&
+           (stencilStoreOp == rhs.stencilStoreOp) &&
+           (initialLayout == rhs.initialLayout) &&
+           (finalLayout == rhs.finalLayout);
+  }
 
-    bool operator!=( AttachmentDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AttachmentDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags          = {};
-    VULKAN_HPP_NAMESPACE::Format                     format         = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits        samples        = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
-    VULKAN_HPP_NAMESPACE::AttachmentLoadOp           loadOp         = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
-    VULKAN_HPP_NAMESPACE::AttachmentStoreOp          storeOp        = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
-    VULKAN_HPP_NAMESPACE::AttachmentLoadOp           stencilLoadOp  = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
-    VULKAN_HPP_NAMESPACE::AttachmentStoreOp          stencilStoreOp = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
-    VULKAN_HPP_NAMESPACE::ImageLayout                initialLayout  = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-    VULKAN_HPP_NAMESPACE::ImageLayout                finalLayout    = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-  };
-  static_assert( sizeof( AttachmentDescription ) == sizeof( VkAttachmentDescription ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AttachmentDescription>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAttachmentDescription2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples =
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp =
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
+  VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp =
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
+  VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp =
+      VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
+  VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp =
+      VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
+  VULKAN_HPP_NAMESPACE::ImageLayout initialLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageLayout finalLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+};
+static_assert(sizeof(AttachmentDescription2) ==
+                  sizeof(VkAttachmentDescription2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AttachmentDescription2>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct AttachmentDescription2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eAttachmentDescription2;
+template <>
+struct CppType<StructureType, StructureType::eAttachmentDescription2> {
+  using Type = AttachmentDescription2;
+};
+using AttachmentDescription2KHR = AttachmentDescription2;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AttachmentDescription2(
-      VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_         = {},
-      VULKAN_HPP_NAMESPACE::Format                     format_        = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::SampleCountFlagBits        samples_       = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
-      VULKAN_HPP_NAMESPACE::AttachmentLoadOp           loadOp_        = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
-      VULKAN_HPP_NAMESPACE::AttachmentStoreOp          storeOp_       = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
-      VULKAN_HPP_NAMESPACE::AttachmentLoadOp           stencilLoadOp_ = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad,
-      VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_         = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore,
-      VULKAN_HPP_NAMESPACE::ImageLayout       initialLayout_          = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
-      VULKAN_HPP_NAMESPACE::ImageLayout       finalLayout_            = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined )
-      VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , format( format_ )
-      , samples( samples_ )
-      , loadOp( loadOp_ )
-      , storeOp( storeOp_ )
-      , stencilLoadOp( stencilLoadOp_ )
-      , stencilStoreOp( stencilStoreOp_ )
-      , initialLayout( initialLayout_ )
-      , finalLayout( finalLayout_ )
-    {}
-
-    AttachmentDescription2( VkAttachmentDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    AttachmentDescription2 & operator=( VkAttachmentDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescription2 const *>( &rhs );
-      return *this;
-    }
-
-    AttachmentDescription2 & operator=( AttachmentDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      flags          = rhs.flags;
-      format         = rhs.format;
-      samples        = rhs.samples;
-      loadOp         = rhs.loadOp;
-      storeOp        = rhs.storeOp;
-      stencilLoadOp  = rhs.stencilLoadOp;
-      stencilStoreOp = rhs.stencilStoreOp;
-      initialLayout  = rhs.initialLayout;
-      finalLayout    = rhs.finalLayout;
-
-      return *this;
-    }
-
-    AttachmentDescription2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    AttachmentDescription2 & setFlags( VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    AttachmentDescription2 & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
-
-    AttachmentDescription2 & setSamples( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samples = samples_;
-      return *this;
-    }
-
-    AttachmentDescription2 & setLoadOp( VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      loadOp = loadOp_;
-      return *this;
-    }
-
-    AttachmentDescription2 & setStoreOp( VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storeOp = storeOp_;
-      return *this;
-    }
-
-    AttachmentDescription2 &
-      setStencilLoadOp( VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilLoadOp = stencilLoadOp_;
-      return *this;
-    }
-
-    AttachmentDescription2 &
-      setStencilStoreOp( VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilStoreOp = stencilStoreOp_;
-      return *this;
-    }
-
-    AttachmentDescription2 & setInitialLayout( VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialLayout = initialLayout_;
-      return *this;
-    }
-
-    AttachmentDescription2 & setFinalLayout( VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      finalLayout = finalLayout_;
-      return *this;
-    }
-
-    operator VkAttachmentDescription2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAttachmentDescription2 *>( this );
-    }
-
-    operator VkAttachmentDescription2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAttachmentDescription2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AttachmentDescription2 const & ) const = default;
-#else
-    bool operator==( AttachmentDescription2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( format == rhs.format ) &&
-             ( samples == rhs.samples ) && ( loadOp == rhs.loadOp ) && ( storeOp == rhs.storeOp ) &&
-             ( stencilLoadOp == rhs.stencilLoadOp ) && ( stencilStoreOp == rhs.stencilStoreOp ) &&
-             ( initialLayout == rhs.initialLayout ) && ( finalLayout == rhs.finalLayout );
-    }
-
-    bool operator!=( AttachmentDescription2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType          = StructureType::eAttachmentDescription2;
-    const void *                                     pNext          = {};
-    VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags          = {};
-    VULKAN_HPP_NAMESPACE::Format                     format         = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits        samples        = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
-    VULKAN_HPP_NAMESPACE::AttachmentLoadOp           loadOp         = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
-    VULKAN_HPP_NAMESPACE::AttachmentStoreOp          storeOp        = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
-    VULKAN_HPP_NAMESPACE::AttachmentLoadOp           stencilLoadOp  = VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad;
-    VULKAN_HPP_NAMESPACE::AttachmentStoreOp          stencilStoreOp = VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore;
-    VULKAN_HPP_NAMESPACE::ImageLayout                initialLayout  = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-    VULKAN_HPP_NAMESPACE::ImageLayout                finalLayout    = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-  };
-  static_assert( sizeof( AttachmentDescription2 ) == sizeof( VkAttachmentDescription2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AttachmentDescription2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eAttachmentDescription2>
-  {
-    using Type = AttachmentDescription2;
-  };
-
-  struct AttachmentDescriptionStencilLayout
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct AttachmentDescriptionStencilLayout {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eAttachmentDescriptionStencilLayout;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AttachmentDescriptionStencilLayout(
-      VULKAN_HPP_NAMESPACE::ImageLayout stencilInitialLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
-      VULKAN_HPP_NAMESPACE::ImageLayout stencilFinalLayout_   = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined )
-      VULKAN_HPP_NOEXCEPT
-      : stencilInitialLayout( stencilInitialLayout_ )
-      , stencilFinalLayout( stencilFinalLayout_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AttachmentDescriptionStencilLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout stencilInitialLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::ImageLayout stencilFinalLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
+      : stencilInitialLayout(stencilInitialLayout_),
+        stencilFinalLayout(stencilFinalLayout_) {}
 
-    AttachmentDescriptionStencilLayout( VkAttachmentDescriptionStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR AttachmentDescriptionStencilLayout(
+      AttachmentDescriptionStencilLayout const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AttachmentDescriptionStencilLayout &
-      operator=( VkAttachmentDescriptionStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout const *>( &rhs );
-      return *this;
-    }
+  AttachmentDescriptionStencilLayout(
+      VkAttachmentDescriptionStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT
+      : AttachmentDescriptionStencilLayout(
+            *reinterpret_cast<AttachmentDescriptionStencilLayout const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AttachmentDescriptionStencilLayout & operator=( AttachmentDescriptionStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      stencilInitialLayout = rhs.stencilInitialLayout;
-      stencilFinalLayout   = rhs.stencilFinalLayout;
+  VULKAN_HPP_CONSTEXPR_14 AttachmentDescriptionStencilLayout &
+  operator=(AttachmentDescriptionStencilLayout const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AttachmentDescriptionStencilLayout &operator=(
+      VkAttachmentDescriptionStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout const *>(&rhs);
+    return *this;
+  }
 
-    AttachmentDescriptionStencilLayout & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AttachmentDescriptionStencilLayout &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AttachmentDescriptionStencilLayout &
-      setStencilInitialLayout( VULKAN_HPP_NAMESPACE::ImageLayout stencilInitialLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilInitialLayout = stencilInitialLayout_;
-      return *this;
-    }
+  AttachmentDescriptionStencilLayout &setStencilInitialLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout stencilInitialLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    stencilInitialLayout = stencilInitialLayout_;
+    return *this;
+  }
 
-    AttachmentDescriptionStencilLayout &
-      setStencilFinalLayout( VULKAN_HPP_NAMESPACE::ImageLayout stencilFinalLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilFinalLayout = stencilFinalLayout_;
-      return *this;
-    }
+  AttachmentDescriptionStencilLayout &
+  setStencilFinalLayout(VULKAN_HPP_NAMESPACE::ImageLayout stencilFinalLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    stencilFinalLayout = stencilFinalLayout_;
+    return *this;
+  }
 
-    operator VkAttachmentDescriptionStencilLayout const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAttachmentDescriptionStencilLayout *>( this );
-    }
+  operator VkAttachmentDescriptionStencilLayout const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAttachmentDescriptionStencilLayout *>(
+        this);
+  }
 
-    operator VkAttachmentDescriptionStencilLayout &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAttachmentDescriptionStencilLayout *>( this );
-    }
+  operator VkAttachmentDescriptionStencilLayout &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAttachmentDescriptionStencilLayout *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AttachmentDescriptionStencilLayout const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AttachmentDescriptionStencilLayout const &) const = default;
 #else
-    bool operator==( AttachmentDescriptionStencilLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stencilInitialLayout == rhs.stencilInitialLayout ) &&
-             ( stencilFinalLayout == rhs.stencilFinalLayout );
-    }
+  bool operator==(AttachmentDescriptionStencilLayout const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (stencilInitialLayout == rhs.stencilInitialLayout) &&
+           (stencilFinalLayout == rhs.stencilFinalLayout);
+  }
 
-    bool operator!=( AttachmentDescriptionStencilLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AttachmentDescriptionStencilLayout const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                = StructureType::eAttachmentDescriptionStencilLayout;
-    void *                                    pNext                = {};
-    VULKAN_HPP_NAMESPACE::ImageLayout         stencilInitialLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-    VULKAN_HPP_NAMESPACE::ImageLayout         stencilFinalLayout   = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-  };
-  static_assert( sizeof( AttachmentDescriptionStencilLayout ) == sizeof( VkAttachmentDescriptionStencilLayout ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AttachmentDescriptionStencilLayout>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAttachmentDescriptionStencilLayout;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout stencilInitialLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageLayout stencilFinalLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+};
+static_assert(sizeof(AttachmentDescriptionStencilLayout) ==
+                  sizeof(VkAttachmentDescriptionStencilLayout),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<AttachmentDescriptionStencilLayout>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAttachmentDescriptionStencilLayout>
-  {
-    using Type = AttachmentDescriptionStencilLayout;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAttachmentDescriptionStencilLayout> {
+  using Type = AttachmentDescriptionStencilLayout;
+};
+using AttachmentDescriptionStencilLayoutKHR =
+    AttachmentDescriptionStencilLayout;
 
-  struct AttachmentReference
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AttachmentReference(
-      uint32_t                          attachment_ = {},
-      VULKAN_HPP_NAMESPACE::ImageLayout layout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined ) VULKAN_HPP_NOEXCEPT
-      : attachment( attachment_ )
-      , layout( layout_ )
-    {}
+struct AttachmentReference {
 
-    AttachmentReference( VkAttachmentReference const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AttachmentReference(
+      uint32_t attachment_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout layout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
+      : attachment(attachment_),
+        layout(layout_) {}
 
-    AttachmentReference & operator=( VkAttachmentReference const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReference const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR AttachmentReference(AttachmentReference const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AttachmentReference & setAttachment( uint32_t attachment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachment = attachment_;
-      return *this;
-    }
+  AttachmentReference(VkAttachmentReference const &rhs) VULKAN_HPP_NOEXCEPT
+      : AttachmentReference(
+            *reinterpret_cast<AttachmentReference const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AttachmentReference & setLayout( VULKAN_HPP_NAMESPACE::ImageLayout layout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layout = layout_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AttachmentReference &
+  operator=(AttachmentReference const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkAttachmentReference const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAttachmentReference *>( this );
-    }
+  AttachmentReference &
+  operator=(VkAttachmentReference const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReference const *>(
+            &rhs);
+    return *this;
+  }
 
-    operator VkAttachmentReference &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAttachmentReference *>( this );
-    }
+  AttachmentReference &setAttachment(uint32_t attachment_) VULKAN_HPP_NOEXCEPT {
+    attachment = attachment_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AttachmentReference const & ) const = default;
+  AttachmentReference &
+  setLayout(VULKAN_HPP_NAMESPACE::ImageLayout layout_) VULKAN_HPP_NOEXCEPT {
+    layout = layout_;
+    return *this;
+  }
+
+  operator VkAttachmentReference const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAttachmentReference *>(this);
+  }
+
+  operator VkAttachmentReference &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAttachmentReference *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AttachmentReference const &) const = default;
 #else
-    bool operator==( AttachmentReference const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( attachment == rhs.attachment ) && ( layout == rhs.layout );
-    }
+  bool operator==(AttachmentReference const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (attachment == rhs.attachment) && (layout == rhs.layout);
+  }
 
-    bool operator!=( AttachmentReference const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AttachmentReference const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t                          attachment = {};
-    VULKAN_HPP_NAMESPACE::ImageLayout layout     = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-  };
-  static_assert( sizeof( AttachmentReference ) == sizeof( VkAttachmentReference ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AttachmentReference>::value, "struct wrapper is not a standard layout!" );
+public:
+  uint32_t attachment = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout layout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+};
+static_assert(sizeof(AttachmentReference) == sizeof(VkAttachmentReference),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AttachmentReference>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct AttachmentReference2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eAttachmentReference2;
+struct AttachmentReference2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAttachmentReference2;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    AttachmentReference2( uint32_t                          attachment_ = {},
-                          VULKAN_HPP_NAMESPACE::ImageLayout layout_     = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
-                          VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : attachment( attachment_ )
-      , layout( layout_ )
-      , aspectMask( aspectMask_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  AttachmentReference2(uint32_t attachment_ = {},
+                       VULKAN_HPP_NAMESPACE::ImageLayout layout_ =
+                           VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+                       VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {})
+      VULKAN_HPP_NOEXCEPT : attachment(attachment_),
+                            layout(layout_),
+                            aspectMask(aspectMask_) {}
 
-    AttachmentReference2( VkAttachmentReference2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR AttachmentReference2(AttachmentReference2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AttachmentReference2 & operator=( VkAttachmentReference2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReference2 const *>( &rhs );
-      return *this;
-    }
+  AttachmentReference2(VkAttachmentReference2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : AttachmentReference2(
+            *reinterpret_cast<AttachmentReference2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AttachmentReference2 & operator=( AttachmentReference2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      attachment = rhs.attachment;
-      layout     = rhs.layout;
-      aspectMask = rhs.aspectMask;
+  VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 &
+  operator=(AttachmentReference2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AttachmentReference2 &
+  operator=(VkAttachmentReference2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReference2 const *>(
+            &rhs);
+    return *this;
+  }
 
-    AttachmentReference2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AttachmentReference2 &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AttachmentReference2 & setAttachment( uint32_t attachment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachment = attachment_;
-      return *this;
-    }
+  AttachmentReference2 &
+  setAttachment(uint32_t attachment_) VULKAN_HPP_NOEXCEPT {
+    attachment = attachment_;
+    return *this;
+  }
 
-    AttachmentReference2 & setLayout( VULKAN_HPP_NAMESPACE::ImageLayout layout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layout = layout_;
-      return *this;
-    }
+  AttachmentReference2 &
+  setLayout(VULKAN_HPP_NAMESPACE::ImageLayout layout_) VULKAN_HPP_NOEXCEPT {
+    layout = layout_;
+    return *this;
+  }
 
-    AttachmentReference2 & setAspectMask( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectMask = aspectMask_;
-      return *this;
-    }
+  AttachmentReference2 &setAspectMask(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT {
+    aspectMask = aspectMask_;
+    return *this;
+  }
 
-    operator VkAttachmentReference2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAttachmentReference2 *>( this );
-    }
+  operator VkAttachmentReference2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAttachmentReference2 *>(this);
+  }
 
-    operator VkAttachmentReference2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAttachmentReference2 *>( this );
-    }
+  operator VkAttachmentReference2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAttachmentReference2 *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AttachmentReference2 const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AttachmentReference2 const &) const = default;
 #else
-    bool operator==( AttachmentReference2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachment == rhs.attachment ) &&
-             ( layout == rhs.layout ) && ( aspectMask == rhs.aspectMask );
-    }
+  bool operator==(AttachmentReference2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (attachment == rhs.attachment) && (layout == rhs.layout) &&
+           (aspectMask == rhs.aspectMask);
+  }
 
-    bool operator!=( AttachmentReference2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AttachmentReference2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eAttachmentReference2;
-    const void *                              pNext      = {};
-    uint32_t                                  attachment = {};
-    VULKAN_HPP_NAMESPACE::ImageLayout         layout     = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-    VULKAN_HPP_NAMESPACE::ImageAspectFlags    aspectMask = {};
-  };
-  static_assert( sizeof( AttachmentReference2 ) == sizeof( VkAttachmentReference2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AttachmentReference2>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAttachmentReference2;
+  const void *pNext = {};
+  uint32_t attachment = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout layout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
+};
+static_assert(sizeof(AttachmentReference2) == sizeof(VkAttachmentReference2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AttachmentReference2>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAttachmentReference2>
-  {
-    using Type = AttachmentReference2;
-  };
+template <>
+struct CppType<StructureType, StructureType::eAttachmentReference2> {
+  using Type = AttachmentReference2;
+};
+using AttachmentReference2KHR = AttachmentReference2;
 
-  struct AttachmentReferenceStencilLayout
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentReferenceStencilLayout;
+struct AttachmentReferenceStencilLayout {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eAttachmentReferenceStencilLayout;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    AttachmentReferenceStencilLayout( VULKAN_HPP_NAMESPACE::ImageLayout stencilLayout_ =
-                                        VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined ) VULKAN_HPP_NOEXCEPT
-      : stencilLayout( stencilLayout_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AttachmentReferenceStencilLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout stencilLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
+      : stencilLayout(stencilLayout_) {}
 
-    AttachmentReferenceStencilLayout( VkAttachmentReferenceStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  AttachmentReferenceStencilLayout(AttachmentReferenceStencilLayout const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    AttachmentReferenceStencilLayout & operator=( VkAttachmentReferenceStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout const *>( &rhs );
-      return *this;
-    }
+  AttachmentReferenceStencilLayout(
+      VkAttachmentReferenceStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT
+      : AttachmentReferenceStencilLayout(
+            *reinterpret_cast<AttachmentReferenceStencilLayout const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AttachmentReferenceStencilLayout & operator=( AttachmentReferenceStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      stencilLayout = rhs.stencilLayout;
+  VULKAN_HPP_CONSTEXPR_14 AttachmentReferenceStencilLayout &
+  operator=(AttachmentReferenceStencilLayout const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  AttachmentReferenceStencilLayout &
+  operator=(VkAttachmentReferenceStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout const *>(&rhs);
+    return *this;
+  }
 
-    AttachmentReferenceStencilLayout & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  AttachmentReferenceStencilLayout &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    AttachmentReferenceStencilLayout &
-      setStencilLayout( VULKAN_HPP_NAMESPACE::ImageLayout stencilLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilLayout = stencilLayout_;
-      return *this;
-    }
+  AttachmentReferenceStencilLayout &setStencilLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout stencilLayout_) VULKAN_HPP_NOEXCEPT {
+    stencilLayout = stencilLayout_;
+    return *this;
+  }
 
-    operator VkAttachmentReferenceStencilLayout const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAttachmentReferenceStencilLayout *>( this );
-    }
+  operator VkAttachmentReferenceStencilLayout const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAttachmentReferenceStencilLayout *>(this);
+  }
 
-    operator VkAttachmentReferenceStencilLayout &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAttachmentReferenceStencilLayout *>( this );
-    }
+  operator VkAttachmentReferenceStencilLayout &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAttachmentReferenceStencilLayout *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AttachmentReferenceStencilLayout const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AttachmentReferenceStencilLayout const &) const = default;
 #else
-    bool operator==( AttachmentReferenceStencilLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stencilLayout == rhs.stencilLayout );
-    }
+  bool operator==(AttachmentReferenceStencilLayout const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (stencilLayout == rhs.stencilLayout);
+  }
 
-    bool operator!=( AttachmentReferenceStencilLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AttachmentReferenceStencilLayout const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::eAttachmentReferenceStencilLayout;
-    void *                                    pNext         = {};
-    VULKAN_HPP_NAMESPACE::ImageLayout         stencilLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-  };
-  static_assert( sizeof( AttachmentReferenceStencilLayout ) == sizeof( VkAttachmentReferenceStencilLayout ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AttachmentReferenceStencilLayout>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eAttachmentReferenceStencilLayout;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout stencilLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+};
+static_assert(sizeof(AttachmentReferenceStencilLayout) ==
+                  sizeof(VkAttachmentReferenceStencilLayout),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AttachmentReferenceStencilLayout>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eAttachmentReferenceStencilLayout>
-  {
-    using Type = AttachmentReferenceStencilLayout;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eAttachmentReferenceStencilLayout> {
+  using Type = AttachmentReferenceStencilLayout;
+};
+using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
 
-  struct Extent2D
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR Extent2D( uint32_t width_ = {}, uint32_t height_ = {} ) VULKAN_HPP_NOEXCEPT
-      : width( width_ )
-      , height( height_ )
-    {}
+struct Extent2D {
 
-    Extent2D( VkExtent2D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Extent2D(uint32_t width_ = {},
+                                uint32_t height_ = {}) VULKAN_HPP_NOEXCEPT
+      : width(width_),
+        height(height_) {}
 
-    Extent2D & operator=( VkExtent2D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Extent2D const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  Extent2D(Extent2D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    Extent2D & setWidth( uint32_t width_ ) VULKAN_HPP_NOEXCEPT
-    {
-      width = width_;
-      return *this;
-    }
+  Extent2D(VkExtent2D const &rhs) VULKAN_HPP_NOEXCEPT
+      : Extent2D(*reinterpret_cast<Extent2D const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    Extent2D & setHeight( uint32_t height_ ) VULKAN_HPP_NOEXCEPT
-    {
-      height = height_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 Extent2D &
+  operator=(Extent2D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkExtent2D const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExtent2D *>( this );
-    }
+  Extent2D &operator=(VkExtent2D const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Extent2D const *>(&rhs);
+    return *this;
+  }
 
-    operator VkExtent2D &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExtent2D *>( this );
-    }
+  Extent2D &setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT {
+    width = width_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Extent2D const & ) const = default;
+  Extent2D &setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT {
+    height = height_;
+    return *this;
+  }
+
+  operator VkExtent2D const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExtent2D *>(this);
+  }
+
+  operator VkExtent2D &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExtent2D *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Extent2D const &) const = default;
 #else
-    bool operator==( Extent2D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( width == rhs.width ) && ( height == rhs.height );
-    }
+  bool operator==(Extent2D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (width == rhs.width) && (height == rhs.height);
+  }
 
-    bool operator!=( Extent2D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(Extent2D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t width  = {};
-    uint32_t height = {};
-  };
-  static_assert( sizeof( Extent2D ) == sizeof( VkExtent2D ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Extent2D>::value, "struct wrapper is not a standard layout!" );
+public:
+  uint32_t width = {};
+  uint32_t height = {};
+};
+static_assert(sizeof(Extent2D) == sizeof(VkExtent2D),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<Extent2D>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SampleLocationEXT
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SampleLocationEXT( float x_ = {}, float y_ = {} ) VULKAN_HPP_NOEXCEPT
-      : x( x_ )
-      , y( y_ )
-    {}
+struct SampleLocationEXT {
 
-    SampleLocationEXT( VkSampleLocationEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SampleLocationEXT(float x_ = {},
+                                         float y_ = {}) VULKAN_HPP_NOEXCEPT
+      : x(x_),
+        y(y_) {}
 
-    SampleLocationEXT & operator=( VkSampleLocationEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SampleLocationEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  SampleLocationEXT(SampleLocationEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SampleLocationEXT & setX( float x_ ) VULKAN_HPP_NOEXCEPT
-    {
-      x = x_;
-      return *this;
-    }
+  SampleLocationEXT(VkSampleLocationEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : SampleLocationEXT(*reinterpret_cast<SampleLocationEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SampleLocationEXT & setY( float y_ ) VULKAN_HPP_NOEXCEPT
-    {
-      y = y_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SampleLocationEXT &
+  operator=(SampleLocationEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkSampleLocationEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSampleLocationEXT *>( this );
-    }
+  SampleLocationEXT &
+  operator=(VkSampleLocationEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SampleLocationEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkSampleLocationEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSampleLocationEXT *>( this );
-    }
+  SampleLocationEXT &setX(float x_) VULKAN_HPP_NOEXCEPT {
+    x = x_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SampleLocationEXT const & ) const = default;
+  SampleLocationEXT &setY(float y_) VULKAN_HPP_NOEXCEPT {
+    y = y_;
+    return *this;
+  }
+
+  operator VkSampleLocationEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSampleLocationEXT *>(this);
+  }
+
+  operator VkSampleLocationEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSampleLocationEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SampleLocationEXT const &) const = default;
 #else
-    bool operator==( SampleLocationEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( x == rhs.x ) && ( y == rhs.y );
-    }
+  bool operator==(SampleLocationEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (x == rhs.x) && (y == rhs.y);
+  }
 
-    bool operator!=( SampleLocationEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SampleLocationEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    float x = {};
-    float y = {};
-  };
-  static_assert( sizeof( SampleLocationEXT ) == sizeof( VkSampleLocationEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SampleLocationEXT>::value, "struct wrapper is not a standard layout!" );
+public:
+  float x = {};
+  float y = {};
+};
+static_assert(sizeof(SampleLocationEXT) == sizeof(VkSampleLocationEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SampleLocationEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SampleLocationsInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSampleLocationsInfoEXT;
+struct SampleLocationsInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSampleLocationsInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SampleLocationsInfoEXT(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SampleLocationsInfoEXT(
       VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_ =
-        VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
-      VULKAN_HPP_NAMESPACE::Extent2D                  sampleLocationGridSize_ = {},
-      uint32_t                                        sampleLocationsCount_   = {},
-      const VULKAN_HPP_NAMESPACE::SampleLocationEXT * pSampleLocations_       = {} ) VULKAN_HPP_NOEXCEPT
-      : sampleLocationsPerPixel( sampleLocationsPerPixel_ )
-      , sampleLocationGridSize( sampleLocationGridSize_ )
-      , sampleLocationsCount( sampleLocationsCount_ )
-      , pSampleLocations( pSampleLocations_ )
-    {}
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize_ = {},
+      uint32_t sampleLocationsCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SampleLocationEXT *pSampleLocations_ = {})
+      VULKAN_HPP_NOEXCEPT : sampleLocationsPerPixel(sampleLocationsPerPixel_),
+                            sampleLocationGridSize(sampleLocationGridSize_),
+                            sampleLocationsCount(sampleLocationsCount_),
+                            pSampleLocations(pSampleLocations_) {}
 
-    SampleLocationsInfoEXT( VkSampleLocationsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR SampleLocationsInfoEXT(SampleLocationsInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SampleLocationsInfoEXT(
+  SampleLocationsInfoEXT(VkSampleLocationsInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SampleLocationsInfoEXT(
+            *reinterpret_cast<SampleLocationsInfoEXT const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SampleLocationsInfoEXT(
       VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_,
-      VULKAN_HPP_NAMESPACE::Extent2D            sampleLocationGridSize_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SampleLocationEXT> const &
-        sampleLocations_ )
-      : sampleLocationsPerPixel( sampleLocationsPerPixel_ )
-      , sampleLocationGridSize( sampleLocationGridSize_ )
-      , sampleLocationsCount( static_cast<uint32_t>( sampleLocations_.size() ) )
-      , pSampleLocations( sampleLocations_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SampleLocationEXT> const
+          &sampleLocations_)
+      : sampleLocationsPerPixel(sampleLocationsPerPixel_),
+        sampleLocationGridSize(sampleLocationGridSize_),
+        sampleLocationsCount(static_cast<uint32_t>(sampleLocations_.size())),
+        pSampleLocations(sampleLocations_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SampleLocationsInfoEXT & operator=( VkSampleLocationsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT &
+  operator=(SampleLocationsInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SampleLocationsInfoEXT & operator=( SampleLocationsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      sampleLocationsPerPixel = rhs.sampleLocationsPerPixel;
-      sampleLocationGridSize  = rhs.sampleLocationGridSize;
-      sampleLocationsCount    = rhs.sampleLocationsCount;
-      pSampleLocations        = rhs.pSampleLocations;
+  SampleLocationsInfoEXT &
+  operator=(VkSampleLocationsInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const *>(
+            &rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  SampleLocationsInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SampleLocationsInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SampleLocationsInfoEXT &setSampleLocationsPerPixel(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_)
+      VULKAN_HPP_NOEXCEPT {
+    sampleLocationsPerPixel = sampleLocationsPerPixel_;
+    return *this;
+  }
 
-    SampleLocationsInfoEXT & setSampleLocationsPerPixel(
-      VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationsPerPixel = sampleLocationsPerPixel_;
-      return *this;
-    }
+  SampleLocationsInfoEXT &setSampleLocationGridSize(
+      VULKAN_HPP_NAMESPACE::Extent2D const &sampleLocationGridSize_)
+      VULKAN_HPP_NOEXCEPT {
+    sampleLocationGridSize = sampleLocationGridSize_;
+    return *this;
+  }
 
-    SampleLocationsInfoEXT &
-      setSampleLocationGridSize( VULKAN_HPP_NAMESPACE::Extent2D const & sampleLocationGridSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationGridSize = sampleLocationGridSize_;
-      return *this;
-    }
+  SampleLocationsInfoEXT &
+  setSampleLocationsCount(uint32_t sampleLocationsCount_) VULKAN_HPP_NOEXCEPT {
+    sampleLocationsCount = sampleLocationsCount_;
+    return *this;
+  }
 
-    SampleLocationsInfoEXT & setSampleLocationsCount( uint32_t sampleLocationsCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationsCount = sampleLocationsCount_;
-      return *this;
-    }
+  SampleLocationsInfoEXT &setPSampleLocations(
+      const VULKAN_HPP_NAMESPACE::SampleLocationEXT *pSampleLocations_)
+      VULKAN_HPP_NOEXCEPT {
+    pSampleLocations = pSampleLocations_;
+    return *this;
+  }
 
-    SampleLocationsInfoEXT &
-      setPSampleLocations( const VULKAN_HPP_NAMESPACE::SampleLocationEXT * pSampleLocations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSampleLocations = pSampleLocations_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SampleLocationsInfoEXT &
+  setSampleLocations(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                     const VULKAN_HPP_NAMESPACE::SampleLocationEXT> const
+                         &sampleLocations_) VULKAN_HPP_NOEXCEPT {
+    sampleLocationsCount = static_cast<uint32_t>(sampleLocations_.size());
+    pSampleLocations = sampleLocations_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SampleLocationsInfoEXT & setSampleLocations(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SampleLocationEXT> const &
-        sampleLocations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationsCount = static_cast<uint32_t>( sampleLocations_.size() );
-      pSampleLocations     = sampleLocations_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkSampleLocationsInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSampleLocationsInfoEXT *>(this);
+  }
 
-    operator VkSampleLocationsInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSampleLocationsInfoEXT *>( this );
-    }
+  operator VkSampleLocationsInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSampleLocationsInfoEXT *>(this);
+  }
 
-    operator VkSampleLocationsInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSampleLocationsInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SampleLocationsInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SampleLocationsInfoEXT const &) const = default;
 #else
-    bool operator==( SampleLocationsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( sampleLocationsPerPixel == rhs.sampleLocationsPerPixel ) &&
-             ( sampleLocationGridSize == rhs.sampleLocationGridSize ) &&
-             ( sampleLocationsCount == rhs.sampleLocationsCount ) && ( pSampleLocations == rhs.pSampleLocations );
-    }
+  bool operator==(SampleLocationsInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (sampleLocationsPerPixel == rhs.sampleLocationsPerPixel) &&
+           (sampleLocationGridSize == rhs.sampleLocationGridSize) &&
+           (sampleLocationsCount == rhs.sampleLocationsCount) &&
+           (pSampleLocations == rhs.pSampleLocations);
+  }
 
-    bool operator!=( SampleLocationsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SampleLocationsInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                   = StructureType::eSampleLocationsInfoEXT;
-    const void *                              pNext                   = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
-    VULKAN_HPP_NAMESPACE::Extent2D            sampleLocationGridSize  = {};
-    uint32_t                                  sampleLocationsCount    = {};
-    const VULKAN_HPP_NAMESPACE::SampleLocationEXT * pSampleLocations  = {};
-  };
-  static_assert( sizeof( SampleLocationsInfoEXT ) == sizeof( VkSampleLocationsInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SampleLocationsInfoEXT>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSampleLocationsInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel =
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize = {};
+  uint32_t sampleLocationsCount = {};
+  const VULKAN_HPP_NAMESPACE::SampleLocationEXT *pSampleLocations = {};
+};
+static_assert(sizeof(SampleLocationsInfoEXT) ==
+                  sizeof(VkSampleLocationsInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SampleLocationsInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSampleLocationsInfoEXT>
-  {
-    using Type = SampleLocationsInfoEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eSampleLocationsInfoEXT> {
+  using Type = SampleLocationsInfoEXT;
+};
 
-  struct AttachmentSampleLocationsEXT
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR AttachmentSampleLocationsEXT(
-      uint32_t                                     attachmentIndex_     = {},
-      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_ = {} ) VULKAN_HPP_NOEXCEPT
-      : attachmentIndex( attachmentIndex_ )
-      , sampleLocationsInfo( sampleLocationsInfo_ )
-    {}
+struct AttachmentSampleLocationsEXT {
 
-    AttachmentSampleLocationsEXT( VkAttachmentSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR AttachmentSampleLocationsEXT(
+      uint32_t attachmentIndex_ = {},
+      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_ = {})
+      VULKAN_HPP_NOEXCEPT : attachmentIndex(attachmentIndex_),
+                            sampleLocationsInfo(sampleLocationsInfo_) {}
 
-    AttachmentSampleLocationsEXT & operator=( VkAttachmentSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR AttachmentSampleLocationsEXT(
+      AttachmentSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    AttachmentSampleLocationsEXT & setAttachmentIndex( uint32_t attachmentIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentIndex = attachmentIndex_;
-      return *this;
-    }
+  AttachmentSampleLocationsEXT(VkAttachmentSampleLocationsEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : AttachmentSampleLocationsEXT(
+            *reinterpret_cast<AttachmentSampleLocationsEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    AttachmentSampleLocationsEXT & setSampleLocationsInfo(
-      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const & sampleLocationsInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationsInfo = sampleLocationsInfo_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 AttachmentSampleLocationsEXT &operator=(
+      AttachmentSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkAttachmentSampleLocationsEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkAttachmentSampleLocationsEXT *>( this );
-    }
+  AttachmentSampleLocationsEXT &
+  operator=(VkAttachmentSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT const *>(&rhs);
+    return *this;
+  }
 
-    operator VkAttachmentSampleLocationsEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkAttachmentSampleLocationsEXT *>( this );
-    }
+  AttachmentSampleLocationsEXT &
+  setAttachmentIndex(uint32_t attachmentIndex_) VULKAN_HPP_NOEXCEPT {
+    attachmentIndex = attachmentIndex_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( AttachmentSampleLocationsEXT const & ) const = default;
+  AttachmentSampleLocationsEXT &setSampleLocationsInfo(
+      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &sampleLocationsInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    sampleLocationsInfo = sampleLocationsInfo_;
+    return *this;
+  }
+
+  operator VkAttachmentSampleLocationsEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkAttachmentSampleLocationsEXT *>(this);
+  }
+
+  operator VkAttachmentSampleLocationsEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkAttachmentSampleLocationsEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(AttachmentSampleLocationsEXT const &) const = default;
 #else
-    bool operator==( AttachmentSampleLocationsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( attachmentIndex == rhs.attachmentIndex ) && ( sampleLocationsInfo == rhs.sampleLocationsInfo );
-    }
+  bool operator==(AttachmentSampleLocationsEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (attachmentIndex == rhs.attachmentIndex) &&
+           (sampleLocationsInfo == rhs.sampleLocationsInfo);
+  }
 
-    bool operator!=( AttachmentSampleLocationsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(AttachmentSampleLocationsEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t                                     attachmentIndex     = {};
-    VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo = {};
-  };
-  static_assert( sizeof( AttachmentSampleLocationsEXT ) == sizeof( VkAttachmentSampleLocationsEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<AttachmentSampleLocationsEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t attachmentIndex = {};
+  VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo = {};
+};
+static_assert(sizeof(AttachmentSampleLocationsEXT) ==
+                  sizeof(VkAttachmentSampleLocationsEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<AttachmentSampleLocationsEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BaseInStructure
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    BaseInStructure( VULKAN_HPP_NAMESPACE::StructureType sType_ =
-                       VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo ) VULKAN_HPP_NOEXCEPT : sType( sType_ )
-    {}
+struct BaseInStructure {
 
-    BaseInStructure( VkBaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  BaseInStructure(VULKAN_HPP_NAMESPACE::StructureType sType_ =
+                      VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo)
+      VULKAN_HPP_NOEXCEPT : sType(sType_) {}
 
-    BaseInStructure & operator=( VkBaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BaseInStructure const *>( &rhs );
-      return *this;
-    }
+  BaseInStructure(BaseInStructure const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BaseInStructure & setPNext( const struct VULKAN_HPP_NAMESPACE::BaseInStructure * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BaseInStructure(VkBaseInStructure const &rhs) VULKAN_HPP_NOEXCEPT
+      : BaseInStructure(*reinterpret_cast<BaseInStructure const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkBaseInStructure const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBaseInStructure *>( this );
-    }
+  BaseInStructure &
+  operator=(BaseInStructure const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkBaseInStructure &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBaseInStructure *>( this );
-    }
+  BaseInStructure &operator=(VkBaseInStructure const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BaseInStructure const *>(&rhs);
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BaseInStructure const & ) const = default;
+  BaseInStructure &
+  setPNext(const struct VULKAN_HPP_NAMESPACE::BaseInStructure *pNext_)
+      VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  operator VkBaseInStructure const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBaseInStructure *>(this);
+  }
+
+  operator VkBaseInStructure &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBaseInStructure *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BaseInStructure const &) const = default;
 #else
-    bool operator==( BaseInStructure const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
-    }
+  bool operator==(BaseInStructure const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext);
+  }
 
-    bool operator!=( BaseInStructure const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BaseInStructure const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::StructureType                  sType = VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo;
-    const struct VULKAN_HPP_NAMESPACE::BaseInStructure * pNext = {};
-  };
-  static_assert( sizeof( BaseInStructure ) == sizeof( VkBaseInStructure ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BaseInStructure>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo;
+  const struct VULKAN_HPP_NAMESPACE::BaseInStructure *pNext = {};
+};
+static_assert(sizeof(BaseInStructure) == sizeof(VkBaseInStructure),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BaseInStructure>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BaseOutStructure
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    BaseOutStructure( VULKAN_HPP_NAMESPACE::StructureType sType_ =
-                        VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo ) VULKAN_HPP_NOEXCEPT : sType( sType_ )
-    {}
+struct BaseOutStructure {
 
-    BaseOutStructure( VkBaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  BaseOutStructure(VULKAN_HPP_NAMESPACE::StructureType sType_ =
+                       VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo)
+      VULKAN_HPP_NOEXCEPT : sType(sType_) {}
 
-    BaseOutStructure & operator=( VkBaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BaseOutStructure const *>( &rhs );
-      return *this;
-    }
+  BaseOutStructure(BaseOutStructure const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BaseOutStructure & setPNext( struct VULKAN_HPP_NAMESPACE::BaseOutStructure * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BaseOutStructure(VkBaseOutStructure const &rhs) VULKAN_HPP_NOEXCEPT
+      : BaseOutStructure(*reinterpret_cast<BaseOutStructure const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkBaseOutStructure const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBaseOutStructure *>( this );
-    }
+  BaseOutStructure &
+  operator=(BaseOutStructure const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkBaseOutStructure &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBaseOutStructure *>( this );
-    }
+  BaseOutStructure &
+  operator=(VkBaseOutStructure const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BaseOutStructure const *>(&rhs);
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BaseOutStructure const & ) const = default;
+  BaseOutStructure &
+  setPNext(struct VULKAN_HPP_NAMESPACE::BaseOutStructure *pNext_)
+      VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  operator VkBaseOutStructure const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBaseOutStructure *>(this);
+  }
+
+  operator VkBaseOutStructure &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBaseOutStructure *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BaseOutStructure const &) const = default;
 #else
-    bool operator==( BaseOutStructure const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
-    }
+  bool operator==(BaseOutStructure const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext);
+  }
 
-    bool operator!=( BaseOutStructure const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BaseOutStructure const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::StructureType             sType = VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo;
-    struct VULKAN_HPP_NAMESPACE::BaseOutStructure * pNext = {};
-  };
-  static_assert( sizeof( BaseOutStructure ) == sizeof( VkBaseOutStructure ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BaseOutStructure>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo;
+  struct VULKAN_HPP_NAMESPACE::BaseOutStructure *pNext = {};
+};
+static_assert(sizeof(BaseOutStructure) == sizeof(VkBaseOutStructure),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BaseOutStructure>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BindAccelerationStructureMemoryInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eBindAccelerationStructureMemoryInfoKHR;
+class DeviceMemory {
+public:
+  using CType = VkDeviceMemory;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindAccelerationStructureMemoryInfoKHR(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ = {},
-      VULKAN_HPP_NAMESPACE::DeviceMemory             memory_                = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize               memoryOffset_          = {},
-      uint32_t                                       deviceIndexCount_      = {},
-      const uint32_t *                               pDeviceIndices_        = {} ) VULKAN_HPP_NOEXCEPT
-      : accelerationStructure( accelerationStructure_ )
-      , memory( memory_ )
-      , memoryOffset( memoryOffset_ )
-      , deviceIndexCount( deviceIndexCount_ )
-      , pDeviceIndices( pDeviceIndices_ )
-    {}
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDeviceMemory;
 
-    BindAccelerationStructureMemoryInfoKHR( VkBindAccelerationStructureMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+public:
+  VULKAN_HPP_CONSTEXPR DeviceMemory() = default;
+  VULKAN_HPP_CONSTEXPR DeviceMemory(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  DeviceMemory(VkDeviceMemory deviceMemory) VULKAN_HPP_NOEXCEPT
+      : m_deviceMemory(deviceMemory) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindAccelerationStructureMemoryInfoKHR(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR                        accelerationStructure_,
-      VULKAN_HPP_NAMESPACE::DeviceMemory                                    memory_,
-      VULKAN_HPP_NAMESPACE::DeviceSize                                      memoryOffset_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ )
-      : accelerationStructure( accelerationStructure_ )
-      , memory( memory_ )
-      , memoryOffset( memoryOffset_ )
-      , deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) )
-      , pDeviceIndices( deviceIndices_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    BindAccelerationStructureMemoryInfoKHR &
-      operator=( VkBindAccelerationStructureMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    BindAccelerationStructureMemoryInfoKHR &
-      operator=( BindAccelerationStructureMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      accelerationStructure = rhs.accelerationStructure;
-      memory                = rhs.memory;
-      memoryOffset          = rhs.memoryOffset;
-      deviceIndexCount      = rhs.deviceIndexCount;
-      pDeviceIndices        = rhs.pDeviceIndices;
-
-      return *this;
-    }
-
-    BindAccelerationStructureMemoryInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    BindAccelerationStructureMemoryInfoKHR & setAccelerationStructure(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ ) VULKAN_HPP_NOEXCEPT
-    {
-      accelerationStructure = accelerationStructure_;
-      return *this;
-    }
-
-    BindAccelerationStructureMemoryInfoKHR & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
-
-    BindAccelerationStructureMemoryInfoKHR &
-      setMemoryOffset( VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryOffset = memoryOffset_;
-      return *this;
-    }
-
-    BindAccelerationStructureMemoryInfoKHR & setDeviceIndexCount( uint32_t deviceIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceIndexCount = deviceIndexCount_;
-      return *this;
-    }
-
-    BindAccelerationStructureMemoryInfoKHR & setPDeviceIndices( const uint32_t * pDeviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDeviceIndices = pDeviceIndices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindAccelerationStructureMemoryInfoKHR & setDeviceIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() );
-      pDeviceIndices   = deviceIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkBindAccelerationStructureMemoryInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindAccelerationStructureMemoryInfoKHR *>( this );
-    }
-
-    operator VkBindAccelerationStructureMemoryInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindAccelerationStructureMemoryInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindAccelerationStructureMemoryInfoKHR const & ) const = default;
-#else
-    bool operator==( BindAccelerationStructureMemoryInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( accelerationStructure == rhs.accelerationStructure ) && ( memory == rhs.memory ) &&
-             ( memoryOffset == rhs.memoryOffset ) && ( deviceIndexCount == rhs.deviceIndexCount ) &&
-             ( pDeviceIndices == rhs.pDeviceIndices );
-    }
-
-    bool operator!=( BindAccelerationStructureMemoryInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DeviceMemory &operator=(VkDeviceMemory deviceMemory) VULKAN_HPP_NOEXCEPT {
+    m_deviceMemory = deviceMemory;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eBindAccelerationStructureMemoryInfoKHR;
-    const void *                                   pNext = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory             memory                = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize               memoryOffset          = {};
-    uint32_t                                       deviceIndexCount      = {};
-    const uint32_t *                               pDeviceIndices        = {};
-  };
-  static_assert( sizeof( BindAccelerationStructureMemoryInfoKHR ) == sizeof( VkBindAccelerationStructureMemoryInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindAccelerationStructureMemoryInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  DeviceMemory &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_deviceMemory = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindAccelerationStructureMemoryInfoKHR>
-  {
-    using Type = BindAccelerationStructureMemoryInfoKHR;
-  };
-
-  struct BindBufferMemoryDeviceGroupInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBindBufferMemoryDeviceGroupInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo( uint32_t         deviceIndexCount_ = {},
-                                                          const uint32_t * pDeviceIndices_   = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceIndexCount( deviceIndexCount_ )
-      , pDeviceIndices( pDeviceIndices_ )
-    {}
-
-    BindBufferMemoryDeviceGroupInfo( VkBindBufferMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindBufferMemoryDeviceGroupInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ )
-      : deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) ), pDeviceIndices( deviceIndices_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    BindBufferMemoryDeviceGroupInfo & operator=( VkBindBufferMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo const *>( &rhs );
-      return *this;
-    }
-
-    BindBufferMemoryDeviceGroupInfo & operator=( BindBufferMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      deviceIndexCount = rhs.deviceIndexCount;
-      pDeviceIndices   = rhs.pDeviceIndices;
-
-      return *this;
-    }
-
-    BindBufferMemoryDeviceGroupInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    BindBufferMemoryDeviceGroupInfo & setDeviceIndexCount( uint32_t deviceIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceIndexCount = deviceIndexCount_;
-      return *this;
-    }
-
-    BindBufferMemoryDeviceGroupInfo & setPDeviceIndices( const uint32_t * pDeviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDeviceIndices = pDeviceIndices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindBufferMemoryDeviceGroupInfo & setDeviceIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() );
-      pDeviceIndices   = deviceIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkBindBufferMemoryDeviceGroupInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>( this );
-    }
-
-    operator VkBindBufferMemoryDeviceGroupInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindBufferMemoryDeviceGroupInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceMemory const &) const = default;
 #else
-    bool operator==( BindBufferMemoryDeviceGroupInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceIndexCount == rhs.deviceIndexCount ) &&
-             ( pDeviceIndices == rhs.pDeviceIndices );
-    }
+  bool operator==(DeviceMemory const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_deviceMemory == rhs.m_deviceMemory;
+  }
 
-    bool operator!=( BindBufferMemoryDeviceGroupInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DeviceMemory const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_deviceMemory != rhs.m_deviceMemory;
+  }
+
+  bool operator<(DeviceMemory const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_deviceMemory < rhs.m_deviceMemory;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType            = StructureType::eBindBufferMemoryDeviceGroupInfo;
-    const void *                              pNext            = {};
-    uint32_t                                  deviceIndexCount = {};
-    const uint32_t *                          pDeviceIndices   = {};
-  };
-  static_assert( sizeof( BindBufferMemoryDeviceGroupInfo ) == sizeof( VkBindBufferMemoryDeviceGroupInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindBufferMemoryDeviceGroupInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDeviceMemory() const VULKAN_HPP_NOEXCEPT {
+    return m_deviceMemory;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindBufferMemoryDeviceGroupInfo>
-  {
-    using Type = BindBufferMemoryDeviceGroupInfo;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_deviceMemory != VK_NULL_HANDLE;
+  }
 
-  struct BindBufferMemoryInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBindBufferMemoryInfo;
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_deviceMemory == VK_NULL_HANDLE;
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindBufferMemoryInfo( VULKAN_HPP_NAMESPACE::Buffer       buffer_     = {},
-                                               VULKAN_HPP_NAMESPACE::DeviceMemory memory_     = {},
-                                               VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-      , memory( memory_ )
-      , memoryOffset( memoryOffset_ )
-    {}
+private:
+  VkDeviceMemory m_deviceMemory = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DeviceMemory) ==
+                  sizeof(VkDeviceMemory),
+              "handle and wrapper have different size!");
 
-    BindBufferMemoryInfo( VkBindBufferMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDeviceMemory> {
+  using type = VULKAN_HPP_NAMESPACE::DeviceMemory;
+};
 
-    BindBufferMemoryInfo & operator=( VkBindBufferMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo const *>( &rhs );
-      return *this;
-    }
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory> {
+  using Type = VULKAN_HPP_NAMESPACE::DeviceMemory;
+};
 
-    BindBufferMemoryInfo & operator=( BindBufferMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      buffer       = rhs.buffer;
-      memory       = rhs.memory;
-      memoryOffset = rhs.memoryOffset;
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDeviceMemory> {
+  using Type = VULKAN_HPP_NAMESPACE::DeviceMemory;
+};
 
-      return *this;
-    }
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DeviceMemory> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-    BindBufferMemoryInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+struct BindAccelerationStructureMemoryInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindAccelerationStructureMemoryInfoNV;
 
-    BindBufferMemoryInfo & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindAccelerationStructureMemoryInfoNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
+      uint32_t deviceIndexCount_ = {},
+      const uint32_t *pDeviceIndices_ = {}) VULKAN_HPP_NOEXCEPT
+      : accelerationStructure(accelerationStructure_),
+        memory(memory_),
+        memoryOffset(memoryOffset_),
+        deviceIndexCount(deviceIndexCount_),
+        pDeviceIndices(pDeviceIndices_) {}
 
-    BindBufferMemoryInfo & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR BindAccelerationStructureMemoryInfoNV(
+      BindAccelerationStructureMemoryInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BindBufferMemoryInfo & setMemoryOffset( VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryOffset = memoryOffset_;
-      return *this;
-    }
+  BindAccelerationStructureMemoryInfoNV(
+      VkBindAccelerationStructureMemoryInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : BindAccelerationStructureMemoryInfoNV(
+            *reinterpret_cast<BindAccelerationStructureMemoryInfoNV const *>(
+                &rhs)) {}
 
-    operator VkBindBufferMemoryInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindBufferMemoryInfo *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindAccelerationStructureMemoryInfoNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_,
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_,
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceIndices_)
+      : accelerationStructure(accelerationStructure_), memory(memory_),
+        memoryOffset(memoryOffset_),
+        deviceIndexCount(static_cast<uint32_t>(deviceIndices_.size())),
+        pDeviceIndices(deviceIndices_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkBindBufferMemoryInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindBufferMemoryInfo *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV &
+  operator=(BindAccelerationStructureMemoryInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindBufferMemoryInfo const & ) const = default;
+  BindAccelerationStructureMemoryInfoNV &operator=(
+      VkBindAccelerationStructureMemoryInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  BindAccelerationStructureMemoryInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BindAccelerationStructureMemoryInfoNV &setAccelerationStructure(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_)
+      VULKAN_HPP_NOEXCEPT {
+    accelerationStructure = accelerationStructure_;
+    return *this;
+  }
+
+  BindAccelerationStructureMemoryInfoNV &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  BindAccelerationStructureMemoryInfoNV &setMemoryOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT {
+    memoryOffset = memoryOffset_;
+    return *this;
+  }
+
+  BindAccelerationStructureMemoryInfoNV &
+  setDeviceIndexCount(uint32_t deviceIndexCount_) VULKAN_HPP_NOEXCEPT {
+    deviceIndexCount = deviceIndexCount_;
+    return *this;
+  }
+
+  BindAccelerationStructureMemoryInfoNV &
+  setPDeviceIndices(const uint32_t *pDeviceIndices_) VULKAN_HPP_NOEXCEPT {
+    pDeviceIndices = pDeviceIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindAccelerationStructureMemoryInfoNV &setDeviceIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceIndices_) VULKAN_HPP_NOEXCEPT {
+    deviceIndexCount = static_cast<uint32_t>(deviceIndices_.size());
+    pDeviceIndices = deviceIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkBindAccelerationStructureMemoryInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>(
+        this);
+  }
+
+  operator VkBindAccelerationStructureMemoryInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindAccelerationStructureMemoryInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(BindAccelerationStructureMemoryInfoNV const &) const = default;
 #else
-    bool operator==( BindBufferMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer ) && ( memory == rhs.memory ) &&
-             ( memoryOffset == rhs.memoryOffset );
-    }
+  bool operator==(BindAccelerationStructureMemoryInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (accelerationStructure == rhs.accelerationStructure) &&
+           (memory == rhs.memory) && (memoryOffset == rhs.memoryOffset) &&
+           (deviceIndexCount == rhs.deviceIndexCount) &&
+           (pDeviceIndices == rhs.pDeviceIndices);
+  }
 
-    bool operator!=( BindBufferMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BindAccelerationStructureMemoryInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eBindBufferMemoryInfo;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::Buffer              buffer       = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory        memory       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          memoryOffset = {};
-  };
-  static_assert( sizeof( BindBufferMemoryInfo ) == sizeof( VkBindBufferMemoryInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindBufferMemoryInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBindAccelerationStructureMemoryInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset = {};
+  uint32_t deviceIndexCount = {};
+  const uint32_t *pDeviceIndices = {};
+};
+static_assert(sizeof(BindAccelerationStructureMemoryInfoNV) ==
+                  sizeof(VkBindAccelerationStructureMemoryInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<BindAccelerationStructureMemoryInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindBufferMemoryInfo>
-  {
-    using Type = BindBufferMemoryInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBindAccelerationStructureMemoryInfoNV> {
+  using Type = BindAccelerationStructureMemoryInfoNV;
+};
 
-  struct Offset2D
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR Offset2D( int32_t x_ = {}, int32_t y_ = {} ) VULKAN_HPP_NOEXCEPT
-      : x( x_ )
-      , y( y_ )
-    {}
+struct BindBufferMemoryDeviceGroupInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindBufferMemoryDeviceGroupInfo;
 
-    Offset2D( VkOffset2D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo(
+      uint32_t deviceIndexCount_ = {},
+      const uint32_t *pDeviceIndices_ = {}) VULKAN_HPP_NOEXCEPT
+      : deviceIndexCount(deviceIndexCount_),
+        pDeviceIndices(pDeviceIndices_) {}
 
-    Offset2D & operator=( VkOffset2D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Offset2D const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo(
+      BindBufferMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    Offset2D & setX( int32_t x_ ) VULKAN_HPP_NOEXCEPT
-    {
-      x = x_;
-      return *this;
-    }
+  BindBufferMemoryDeviceGroupInfo(VkBindBufferMemoryDeviceGroupInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BindBufferMemoryDeviceGroupInfo(
+            *reinterpret_cast<BindBufferMemoryDeviceGroupInfo const *>(&rhs)) {}
 
-    Offset2D & setY( int32_t y_ ) VULKAN_HPP_NOEXCEPT
-    {
-      y = y_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindBufferMemoryDeviceGroupInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceIndices_)
+      : deviceIndexCount(static_cast<uint32_t>(deviceIndices_.size())),
+        pDeviceIndices(deviceIndices_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkOffset2D const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkOffset2D *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryDeviceGroupInfo &operator=(
+      BindBufferMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkOffset2D &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkOffset2D *>( this );
-    }
+  BindBufferMemoryDeviceGroupInfo &
+  operator=(VkBindBufferMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo const *>(&rhs);
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Offset2D const & ) const = default;
+  BindBufferMemoryDeviceGroupInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BindBufferMemoryDeviceGroupInfo &
+  setDeviceIndexCount(uint32_t deviceIndexCount_) VULKAN_HPP_NOEXCEPT {
+    deviceIndexCount = deviceIndexCount_;
+    return *this;
+  }
+
+  BindBufferMemoryDeviceGroupInfo &
+  setPDeviceIndices(const uint32_t *pDeviceIndices_) VULKAN_HPP_NOEXCEPT {
+    pDeviceIndices = pDeviceIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindBufferMemoryDeviceGroupInfo &setDeviceIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceIndices_) VULKAN_HPP_NOEXCEPT {
+    deviceIndexCount = static_cast<uint32_t>(deviceIndices_.size());
+    pDeviceIndices = deviceIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkBindBufferMemoryDeviceGroupInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>(this);
+  }
+
+  operator VkBindBufferMemoryDeviceGroupInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindBufferMemoryDeviceGroupInfo const &) const = default;
 #else
-    bool operator==( Offset2D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( x == rhs.x ) && ( y == rhs.y );
-    }
+  bool operator==(BindBufferMemoryDeviceGroupInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceIndexCount == rhs.deviceIndexCount) &&
+           (pDeviceIndices == rhs.pDeviceIndices);
+  }
 
-    bool operator!=( Offset2D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BindBufferMemoryDeviceGroupInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    int32_t x = {};
-    int32_t y = {};
-  };
-  static_assert( sizeof( Offset2D ) == sizeof( VkOffset2D ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Offset2D>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBindBufferMemoryDeviceGroupInfo;
+  const void *pNext = {};
+  uint32_t deviceIndexCount = {};
+  const uint32_t *pDeviceIndices = {};
+};
+static_assert(sizeof(BindBufferMemoryDeviceGroupInfo) ==
+                  sizeof(VkBindBufferMemoryDeviceGroupInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindBufferMemoryDeviceGroupInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct Rect2D
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR Rect2D( VULKAN_HPP_NAMESPACE::Offset2D offset_ = {},
-                                 VULKAN_HPP_NAMESPACE::Extent2D extent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : offset( offset_ )
-      , extent( extent_ )
-    {}
+template <>
+struct CppType<StructureType, StructureType::eBindBufferMemoryDeviceGroupInfo> {
+  using Type = BindBufferMemoryDeviceGroupInfo;
+};
+using BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
 
-    Rect2D( VkRect2D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+struct BindBufferMemoryInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindBufferMemoryInfo;
 
-    Rect2D & operator=( VkRect2D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Rect2D const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindBufferMemoryInfo(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {}) VULKAN_HPP_NOEXCEPT
+      : buffer(buffer_),
+        memory(memory_),
+        memoryOffset(memoryOffset_) {}
 
-    Rect2D & setOffset( VULKAN_HPP_NAMESPACE::Offset2D const & offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR BindBufferMemoryInfo(BindBufferMemoryInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    Rect2D & setExtent( VULKAN_HPP_NAMESPACE::Extent2D const & extent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extent = extent_;
-      return *this;
-    }
+  BindBufferMemoryInfo(VkBindBufferMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : BindBufferMemoryInfo(
+            *reinterpret_cast<BindBufferMemoryInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkRect2D const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRect2D *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo &
+  operator=(BindBufferMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkRect2D &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRect2D *>( this );
-    }
+  BindBufferMemoryInfo &
+  operator=(VkBindBufferMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo const *>(
+            &rhs);
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Rect2D const & ) const = default;
+  BindBufferMemoryInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BindBufferMemoryInfo &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  BindBufferMemoryInfo &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  BindBufferMemoryInfo &setMemoryOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT {
+    memoryOffset = memoryOffset_;
+    return *this;
+  }
+
+  operator VkBindBufferMemoryInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindBufferMemoryInfo *>(this);
+  }
+
+  operator VkBindBufferMemoryInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindBufferMemoryInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindBufferMemoryInfo const &) const = default;
 #else
-    bool operator==( Rect2D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( offset == rhs.offset ) && ( extent == rhs.extent );
-    }
+  bool operator==(BindBufferMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (buffer == rhs.buffer) && (memory == rhs.memory) &&
+           (memoryOffset == rhs.memoryOffset);
+  }
 
-    bool operator!=( Rect2D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BindBufferMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::Offset2D offset = {};
-    VULKAN_HPP_NAMESPACE::Extent2D extent = {};
-  };
-  static_assert( sizeof( Rect2D ) == sizeof( VkRect2D ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Rect2D>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBindBufferMemoryInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset = {};
+};
+static_assert(sizeof(BindBufferMemoryInfo) == sizeof(VkBindBufferMemoryInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindBufferMemoryInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BindImageMemoryDeviceGroupInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBindImageMemoryDeviceGroupInfo;
+template <>
+struct CppType<StructureType, StructureType::eBindBufferMemoryInfo> {
+  using Type = BindBufferMemoryInfo;
+};
+using BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo(
-      uint32_t                             deviceIndexCount_             = {},
-      const uint32_t *                     pDeviceIndices_               = {},
-      uint32_t                             splitInstanceBindRegionCount_ = {},
-      const VULKAN_HPP_NAMESPACE::Rect2D * pSplitInstanceBindRegions_    = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceIndexCount( deviceIndexCount_ )
-      , pDeviceIndices( pDeviceIndices_ )
-      , splitInstanceBindRegionCount( splitInstanceBindRegionCount_ )
-      , pSplitInstanceBindRegions( pSplitInstanceBindRegions_ )
-    {}
+struct Offset2D {
 
-    BindImageMemoryDeviceGroupInfo( VkBindImageMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Offset2D(int32_t x_ = {},
+                                int32_t y_ = {}) VULKAN_HPP_NOEXCEPT : x(x_),
+                                                                       y(y_) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindImageMemoryDeviceGroupInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const &
-        splitInstanceBindRegions_ = {} )
-      : deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) )
-      , pDeviceIndices( deviceIndices_.data() )
-      , splitInstanceBindRegionCount( static_cast<uint32_t>( splitInstanceBindRegions_.size() ) )
-      , pSplitInstanceBindRegions( splitInstanceBindRegions_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  Offset2D(Offset2D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BindImageMemoryDeviceGroupInfo & operator=( VkBindImageMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo const *>( &rhs );
-      return *this;
-    }
+  Offset2D(VkOffset2D const &rhs) VULKAN_HPP_NOEXCEPT
+      : Offset2D(*reinterpret_cast<Offset2D const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BindImageMemoryDeviceGroupInfo & operator=( BindImageMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      deviceIndexCount             = rhs.deviceIndexCount;
-      pDeviceIndices               = rhs.pDeviceIndices;
-      splitInstanceBindRegionCount = rhs.splitInstanceBindRegionCount;
-      pSplitInstanceBindRegions    = rhs.pSplitInstanceBindRegions;
+  VULKAN_HPP_CONSTEXPR_14 Offset2D &
+  operator=(Offset2D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  Offset2D &operator=(VkOffset2D const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Offset2D const *>(&rhs);
+    return *this;
+  }
 
-    BindImageMemoryDeviceGroupInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  Offset2D &setX(int32_t x_) VULKAN_HPP_NOEXCEPT {
+    x = x_;
+    return *this;
+  }
 
-    BindImageMemoryDeviceGroupInfo & setDeviceIndexCount( uint32_t deviceIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceIndexCount = deviceIndexCount_;
-      return *this;
-    }
+  Offset2D &setY(int32_t y_) VULKAN_HPP_NOEXCEPT {
+    y = y_;
+    return *this;
+  }
 
-    BindImageMemoryDeviceGroupInfo & setPDeviceIndices( const uint32_t * pDeviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDeviceIndices = pDeviceIndices_;
-      return *this;
-    }
+  operator VkOffset2D const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkOffset2D *>(this);
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindImageMemoryDeviceGroupInfo & setDeviceIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() );
-      pDeviceIndices   = deviceIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkOffset2D &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkOffset2D *>(this);
+  }
 
-    BindImageMemoryDeviceGroupInfo &
-      setSplitInstanceBindRegionCount( uint32_t splitInstanceBindRegionCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      splitInstanceBindRegionCount = splitInstanceBindRegionCount_;
-      return *this;
-    }
-
-    BindImageMemoryDeviceGroupInfo & setPSplitInstanceBindRegions(
-      const VULKAN_HPP_NAMESPACE::Rect2D * pSplitInstanceBindRegions_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSplitInstanceBindRegions = pSplitInstanceBindRegions_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindImageMemoryDeviceGroupInfo & setSplitInstanceBindRegions(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const &
-        splitInstanceBindRegions_ ) VULKAN_HPP_NOEXCEPT
-    {
-      splitInstanceBindRegionCount = static_cast<uint32_t>( splitInstanceBindRegions_.size() );
-      pSplitInstanceBindRegions    = splitInstanceBindRegions_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkBindImageMemoryDeviceGroupInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>( this );
-    }
-
-    operator VkBindImageMemoryDeviceGroupInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindImageMemoryDeviceGroupInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindImageMemoryDeviceGroupInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Offset2D const &) const = default;
 #else
-    bool operator==( BindImageMemoryDeviceGroupInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceIndexCount == rhs.deviceIndexCount ) &&
-             ( pDeviceIndices == rhs.pDeviceIndices ) &&
-             ( splitInstanceBindRegionCount == rhs.splitInstanceBindRegionCount ) &&
-             ( pSplitInstanceBindRegions == rhs.pSplitInstanceBindRegions );
-    }
+  bool operator==(Offset2D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (x == rhs.x) && (y == rhs.y);
+  }
 
-    bool operator!=( BindImageMemoryDeviceGroupInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(Offset2D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType            = StructureType::eBindImageMemoryDeviceGroupInfo;
-    const void *                              pNext            = {};
-    uint32_t                                  deviceIndexCount = {};
-    const uint32_t *                          pDeviceIndices   = {};
-    uint32_t                                  splitInstanceBindRegionCount = {};
-    const VULKAN_HPP_NAMESPACE::Rect2D *      pSplitInstanceBindRegions    = {};
-  };
-  static_assert( sizeof( BindImageMemoryDeviceGroupInfo ) == sizeof( VkBindImageMemoryDeviceGroupInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindImageMemoryDeviceGroupInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  int32_t x = {};
+  int32_t y = {};
+};
+static_assert(sizeof(Offset2D) == sizeof(VkOffset2D),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<Offset2D>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindImageMemoryDeviceGroupInfo>
-  {
-    using Type = BindImageMemoryDeviceGroupInfo;
-  };
+struct Rect2D {
 
-  struct BindImageMemoryInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBindImageMemoryInfo;
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  Rect2D(VULKAN_HPP_NAMESPACE::Offset2D offset_ = {},
+         VULKAN_HPP_NAMESPACE::Extent2D extent_ = {}) VULKAN_HPP_NOEXCEPT
+      : offset(offset_),
+        extent(extent_) {}
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindImageMemoryInfo( VULKAN_HPP_NAMESPACE::Image        image_      = {},
-                                              VULKAN_HPP_NAMESPACE::DeviceMemory memory_     = {},
-                                              VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {} ) VULKAN_HPP_NOEXCEPT
-      : image( image_ )
-      , memory( memory_ )
-      , memoryOffset( memoryOffset_ )
-    {}
+  VULKAN_HPP_CONSTEXPR Rect2D(Rect2D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BindImageMemoryInfo( VkBindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  Rect2D(VkRect2D const &rhs) VULKAN_HPP_NOEXCEPT
+      : Rect2D(*reinterpret_cast<Rect2D const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BindImageMemoryInfo & operator=( VkBindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImageMemoryInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 Rect2D &
+  operator=(Rect2D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BindImageMemoryInfo & operator=( BindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      image        = rhs.image;
-      memory       = rhs.memory;
-      memoryOffset = rhs.memoryOffset;
+  Rect2D &operator=(VkRect2D const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Rect2D const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  Rect2D &
+  setOffset(VULKAN_HPP_NAMESPACE::Offset2D const &offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-    BindImageMemoryInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  Rect2D &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent2D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
 
-    BindImageMemoryInfo & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
+  operator VkRect2D const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRect2D *>(this);
+  }
 
-    BindImageMemoryInfo & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
+  operator VkRect2D &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRect2D *>(this);
+  }
 
-    BindImageMemoryInfo & setMemoryOffset( VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryOffset = memoryOffset_;
-      return *this;
-    }
-
-    operator VkBindImageMemoryInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindImageMemoryInfo *>( this );
-    }
-
-    operator VkBindImageMemoryInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindImageMemoryInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindImageMemoryInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Rect2D const &) const = default;
 #else
-    bool operator==( BindImageMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( memory == rhs.memory ) &&
-             ( memoryOffset == rhs.memoryOffset );
-    }
+  bool operator==(Rect2D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (offset == rhs.offset) && (extent == rhs.extent);
+  }
 
-    bool operator!=( BindImageMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(Rect2D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eBindImageMemoryInfo;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::Image               image        = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory        memory       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          memoryOffset = {};
-  };
-  static_assert( sizeof( BindImageMemoryInfo ) == sizeof( VkBindImageMemoryInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindImageMemoryInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::Offset2D offset = {};
+  VULKAN_HPP_NAMESPACE::Extent2D extent = {};
+};
+static_assert(sizeof(Rect2D) == sizeof(VkRect2D),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<Rect2D>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindImageMemoryInfo>
-  {
-    using Type = BindImageMemoryInfo;
-  };
+struct BindImageMemoryDeviceGroupInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindImageMemoryDeviceGroupInfo;
 
-  struct BindImageMemorySwapchainInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBindImageMemorySwapchainInfoKHR;
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo(
+      uint32_t deviceIndexCount_ = {}, const uint32_t *pDeviceIndices_ = {},
+      uint32_t splitInstanceBindRegionCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Rect2D *pSplitInstanceBindRegions_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : deviceIndexCount(deviceIndexCount_),
+        pDeviceIndices(pDeviceIndices_),
+        splitInstanceBindRegionCount(splitInstanceBindRegionCount_),
+        pSplitInstanceBindRegions(pSplitInstanceBindRegions_) {}
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindImageMemorySwapchainInfoKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {},
-                                                          uint32_t imageIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : swapchain( swapchain_ )
-      , imageIndex( imageIndex_ )
-    {}
+  VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo(
+      BindImageMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BindImageMemorySwapchainInfoKHR( VkBindImageMemorySwapchainInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  BindImageMemoryDeviceGroupInfo(VkBindImageMemoryDeviceGroupInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BindImageMemoryDeviceGroupInfo(
+            *reinterpret_cast<BindImageMemoryDeviceGroupInfo const *>(&rhs)) {}
 
-    BindImageMemorySwapchainInfoKHR & operator=( VkBindImageMemorySwapchainInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindImageMemoryDeviceGroupInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceIndices_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &splitInstanceBindRegions_ =
+          {})
+      : deviceIndexCount(static_cast<uint32_t>(deviceIndices_.size())),
+        pDeviceIndices(deviceIndices_.data()),
+        splitInstanceBindRegionCount(
+            static_cast<uint32_t>(splitInstanceBindRegions_.size())),
+        pSplitInstanceBindRegions(splitInstanceBindRegions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BindImageMemorySwapchainInfoKHR & operator=( BindImageMemorySwapchainInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      swapchain  = rhs.swapchain;
-      imageIndex = rhs.imageIndex;
+  VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo &operator=(
+      BindImageMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BindImageMemoryDeviceGroupInfo &
+  operator=(VkBindImageMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo const *>(&rhs);
+    return *this;
+  }
 
-    BindImageMemorySwapchainInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BindImageMemoryDeviceGroupInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BindImageMemorySwapchainInfoKHR & setSwapchain( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchain = swapchain_;
-      return *this;
-    }
+  BindImageMemoryDeviceGroupInfo &
+  setDeviceIndexCount(uint32_t deviceIndexCount_) VULKAN_HPP_NOEXCEPT {
+    deviceIndexCount = deviceIndexCount_;
+    return *this;
+  }
 
-    BindImageMemorySwapchainInfoKHR & setImageIndex( uint32_t imageIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageIndex = imageIndex_;
-      return *this;
-    }
+  BindImageMemoryDeviceGroupInfo &
+  setPDeviceIndices(const uint32_t *pDeviceIndices_) VULKAN_HPP_NOEXCEPT {
+    pDeviceIndices = pDeviceIndices_;
+    return *this;
+  }
 
-    operator VkBindImageMemorySwapchainInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindImageMemoryDeviceGroupInfo &setDeviceIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceIndices_) VULKAN_HPP_NOEXCEPT {
+    deviceIndexCount = static_cast<uint32_t>(deviceIndices_.size());
+    pDeviceIndices = deviceIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkBindImageMemorySwapchainInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindImageMemorySwapchainInfoKHR *>( this );
-    }
+  BindImageMemoryDeviceGroupInfo &setSplitInstanceBindRegionCount(
+      uint32_t splitInstanceBindRegionCount_) VULKAN_HPP_NOEXCEPT {
+    splitInstanceBindRegionCount = splitInstanceBindRegionCount_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindImageMemorySwapchainInfoKHR const & ) const = default;
+  BindImageMemoryDeviceGroupInfo &setPSplitInstanceBindRegions(
+      const VULKAN_HPP_NAMESPACE::Rect2D *pSplitInstanceBindRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pSplitInstanceBindRegions = pSplitInstanceBindRegions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindImageMemoryDeviceGroupInfo &setSplitInstanceBindRegions(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &splitInstanceBindRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    splitInstanceBindRegionCount =
+        static_cast<uint32_t>(splitInstanceBindRegions_.size());
+    pSplitInstanceBindRegions = splitInstanceBindRegions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkBindImageMemoryDeviceGroupInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>(this);
+  }
+
+  operator VkBindImageMemoryDeviceGroupInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindImageMemoryDeviceGroupInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindImageMemoryDeviceGroupInfo const &) const = default;
 #else
-    bool operator==( BindImageMemorySwapchainInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchain == rhs.swapchain ) &&
-             ( imageIndex == rhs.imageIndex );
-    }
+  bool operator==(BindImageMemoryDeviceGroupInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceIndexCount == rhs.deviceIndexCount) &&
+           (pDeviceIndices == rhs.pDeviceIndices) &&
+           (splitInstanceBindRegionCount == rhs.splitInstanceBindRegionCount) &&
+           (pSplitInstanceBindRegions == rhs.pSplitInstanceBindRegions);
+  }
 
-    bool operator!=( BindImageMemorySwapchainInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BindImageMemoryDeviceGroupInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eBindImageMemorySwapchainInfoKHR;
-    const void *                              pNext      = {};
-    VULKAN_HPP_NAMESPACE::SwapchainKHR        swapchain  = {};
-    uint32_t                                  imageIndex = {};
-  };
-  static_assert( sizeof( BindImageMemorySwapchainInfoKHR ) == sizeof( VkBindImageMemorySwapchainInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindImageMemorySwapchainInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBindImageMemoryDeviceGroupInfo;
+  const void *pNext = {};
+  uint32_t deviceIndexCount = {};
+  const uint32_t *pDeviceIndices = {};
+  uint32_t splitInstanceBindRegionCount = {};
+  const VULKAN_HPP_NAMESPACE::Rect2D *pSplitInstanceBindRegions = {};
+};
+static_assert(sizeof(BindImageMemoryDeviceGroupInfo) ==
+                  sizeof(VkBindImageMemoryDeviceGroupInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindImageMemoryDeviceGroupInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindImageMemorySwapchainInfoKHR>
-  {
-    using Type = BindImageMemorySwapchainInfoKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::eBindImageMemoryDeviceGroupInfo> {
+  using Type = BindImageMemoryDeviceGroupInfo;
+};
+using BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
 
-  struct BindImagePlaneMemoryInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBindImagePlaneMemoryInfo;
+class Image {
+public:
+  using CType = VkImage;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BindImagePlaneMemoryInfo( VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_ =
-                                VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor ) VULKAN_HPP_NOEXCEPT
-      : planeAspect( planeAspect_ )
-    {}
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eImage;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImage;
 
-    BindImagePlaneMemoryInfo( VkBindImagePlaneMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+public:
+  VULKAN_HPP_CONSTEXPR Image() = default;
+  VULKAN_HPP_CONSTEXPR Image(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Image(VkImage image) VULKAN_HPP_NOEXCEPT
+      : m_image(image) {}
 
-    BindImagePlaneMemoryInfo & operator=( VkBindImagePlaneMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo const *>( &rhs );
-      return *this;
-    }
-
-    BindImagePlaneMemoryInfo & operator=( BindImagePlaneMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      planeAspect = rhs.planeAspect;
-
-      return *this;
-    }
-
-    BindImagePlaneMemoryInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    BindImagePlaneMemoryInfo &
-      setPlaneAspect( VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_ ) VULKAN_HPP_NOEXCEPT
-    {
-      planeAspect = planeAspect_;
-      return *this;
-    }
-
-    operator VkBindImagePlaneMemoryInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindImagePlaneMemoryInfo *>( this );
-    }
-
-    operator VkBindImagePlaneMemoryInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindImagePlaneMemoryInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindImagePlaneMemoryInfo const & ) const = default;
-#else
-    bool operator==( BindImagePlaneMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( planeAspect == rhs.planeAspect );
-    }
-
-    bool operator!=( BindImagePlaneMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Image &operator=(VkImage image) VULKAN_HPP_NOEXCEPT {
+    m_image = image;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eBindImagePlaneMemoryInfo;
-    const void *                              pNext       = {};
-    VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect = VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor;
-  };
-  static_assert( sizeof( BindImagePlaneMemoryInfo ) == sizeof( VkBindImagePlaneMemoryInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindImagePlaneMemoryInfo>::value, "struct wrapper is not a standard layout!" );
+  Image &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_image = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindImagePlaneMemoryInfo>
-  {
-    using Type = BindImagePlaneMemoryInfo;
-  };
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Image const &) const = default;
+#else
+  bool operator==(Image const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_image == rhs.m_image;
+  }
 
-  struct BindIndexBufferIndirectCommandNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindIndexBufferIndirectCommandNV(
+  bool operator!=(Image const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_image != rhs.m_image;
+  }
+
+  bool operator<(Image const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_image < rhs.m_image;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkImage() const VULKAN_HPP_NOEXCEPT {
+    return m_image;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_image != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_image == VK_NULL_HANDLE;
+  }
+
+private:
+  VkImage m_image = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Image) == sizeof(VkImage),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eImage> {
+  using type = VULKAN_HPP_NAMESPACE::Image;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eImage> {
+  using Type = VULKAN_HPP_NAMESPACE::Image;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImage> {
+  using Type = VULKAN_HPP_NAMESPACE::Image;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Image> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct BindImageMemoryInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindImageMemoryInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindImageMemoryInfo(
+      VULKAN_HPP_NAMESPACE::Image image_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {}) VULKAN_HPP_NOEXCEPT
+      : image(image_),
+        memory(memory_),
+        memoryOffset(memoryOffset_) {}
+
+  VULKAN_HPP_CONSTEXPR BindImageMemoryInfo(BindImageMemoryInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  BindImageMemoryInfo(VkBindImageMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : BindImageMemoryInfo(
+            *reinterpret_cast<BindImageMemoryInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo &
+  operator=(BindImageMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BindImageMemoryInfo &
+  operator=(VkBindImageMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImageMemoryInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  BindImageMemoryInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BindImageMemoryInfo &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  BindImageMemoryInfo &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  BindImageMemoryInfo &setMemoryOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT {
+    memoryOffset = memoryOffset_;
+    return *this;
+  }
+
+  operator VkBindImageMemoryInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindImageMemoryInfo *>(this);
+  }
+
+  operator VkBindImageMemoryInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindImageMemoryInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindImageMemoryInfo const &) const = default;
+#else
+  bool operator==(BindImageMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (image == rhs.image) && (memory == rhs.memory) &&
+           (memoryOffset == rhs.memoryOffset);
+  }
+
+  bool operator!=(BindImageMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBindImageMemoryInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset = {};
+};
+static_assert(sizeof(BindImageMemoryInfo) == sizeof(VkBindImageMemoryInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindImageMemoryInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eBindImageMemoryInfo> {
+  using Type = BindImageMemoryInfo;
+};
+using BindImageMemoryInfoKHR = BindImageMemoryInfo;
+
+struct BindImageMemorySwapchainInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindImageMemorySwapchainInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindImageMemorySwapchainInfoKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {},
+      uint32_t imageIndex_ = {}) VULKAN_HPP_NOEXCEPT : swapchain(swapchain_),
+                                                       imageIndex(imageIndex_) {
+  }
+
+  VULKAN_HPP_CONSTEXPR BindImageMemorySwapchainInfoKHR(
+      BindImageMemorySwapchainInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BindImageMemorySwapchainInfoKHR(VkBindImageMemorySwapchainInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BindImageMemorySwapchainInfoKHR(
+            *reinterpret_cast<BindImageMemorySwapchainInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 BindImageMemorySwapchainInfoKHR &operator=(
+      BindImageMemorySwapchainInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BindImageMemorySwapchainInfoKHR &
+  operator=(VkBindImageMemorySwapchainInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  BindImageMemorySwapchainInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BindImageMemorySwapchainInfoKHR &setSwapchain(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_) VULKAN_HPP_NOEXCEPT {
+    swapchain = swapchain_;
+    return *this;
+  }
+
+  BindImageMemorySwapchainInfoKHR &
+  setImageIndex(uint32_t imageIndex_) VULKAN_HPP_NOEXCEPT {
+    imageIndex = imageIndex_;
+    return *this;
+  }
+
+  operator VkBindImageMemorySwapchainInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>(this);
+  }
+
+  operator VkBindImageMemorySwapchainInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindImageMemorySwapchainInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindImageMemorySwapchainInfoKHR const &) const = default;
+#else
+  bool operator==(BindImageMemorySwapchainInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (swapchain == rhs.swapchain) && (imageIndex == rhs.imageIndex);
+  }
+
+  bool operator!=(BindImageMemorySwapchainInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBindImageMemorySwapchainInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain = {};
+  uint32_t imageIndex = {};
+};
+static_assert(sizeof(BindImageMemorySwapchainInfoKHR) ==
+                  sizeof(VkBindImageMemorySwapchainInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindImageMemorySwapchainInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eBindImageMemorySwapchainInfoKHR> {
+  using Type = BindImageMemorySwapchainInfoKHR;
+};
+
+struct BindImagePlaneMemoryInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindImagePlaneMemoryInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindImagePlaneMemoryInfo(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_ =
+          VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor) VULKAN_HPP_NOEXCEPT
+      : planeAspect(planeAspect_) {}
+
+  VULKAN_HPP_CONSTEXPR BindImagePlaneMemoryInfo(
+      BindImagePlaneMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BindImagePlaneMemoryInfo(VkBindImagePlaneMemoryInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BindImagePlaneMemoryInfo(
+            *reinterpret_cast<BindImagePlaneMemoryInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 BindImagePlaneMemoryInfo &
+  operator=(BindImagePlaneMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BindImagePlaneMemoryInfo &
+  operator=(VkBindImagePlaneMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo const *>(&rhs);
+    return *this;
+  }
+
+  BindImagePlaneMemoryInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BindImagePlaneMemoryInfo &
+  setPlaneAspect(VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_)
+      VULKAN_HPP_NOEXCEPT {
+    planeAspect = planeAspect_;
+    return *this;
+  }
+
+  operator VkBindImagePlaneMemoryInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindImagePlaneMemoryInfo *>(this);
+  }
+
+  operator VkBindImagePlaneMemoryInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindImagePlaneMemoryInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindImagePlaneMemoryInfo const &) const = default;
+#else
+  bool
+  operator==(BindImagePlaneMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (planeAspect == rhs.planeAspect);
+  }
+
+  bool
+  operator!=(BindImagePlaneMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBindImagePlaneMemoryInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect =
+      VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor;
+};
+static_assert(sizeof(BindImagePlaneMemoryInfo) ==
+                  sizeof(VkBindImagePlaneMemoryInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindImagePlaneMemoryInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eBindImagePlaneMemoryInfo> {
+  using Type = BindImagePlaneMemoryInfo;
+};
+using BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
+
+struct BindIndexBufferIndirectCommandNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindIndexBufferIndirectCommandNV(
       VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_ = {},
-      uint32_t                            size_          = {},
-      VULKAN_HPP_NAMESPACE::IndexType     indexType_ = VULKAN_HPP_NAMESPACE::IndexType::eUint16 ) VULKAN_HPP_NOEXCEPT
-      : bufferAddress( bufferAddress_ )
-      , size( size_ )
-      , indexType( indexType_ )
-    {}
+      uint32_t size_ = {},
+      VULKAN_HPP_NAMESPACE::IndexType indexType_ =
+          VULKAN_HPP_NAMESPACE::IndexType::eUint16) VULKAN_HPP_NOEXCEPT
+      : bufferAddress(bufferAddress_),
+        size(size_),
+        indexType(indexType_) {}
 
-    BindIndexBufferIndirectCommandNV( VkBindIndexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  BindIndexBufferIndirectCommandNV(BindIndexBufferIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BindIndexBufferIndirectCommandNV & operator=( VkBindIndexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV const *>( &rhs );
-      return *this;
-    }
+  BindIndexBufferIndirectCommandNV(
+      VkBindIndexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : BindIndexBufferIndirectCommandNV(
+            *reinterpret_cast<BindIndexBufferIndirectCommandNV const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BindIndexBufferIndirectCommandNV &
-      setBufferAddress( VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferAddress = bufferAddress_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandNV &
+  operator=(BindIndexBufferIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BindIndexBufferIndirectCommandNV & setSize( uint32_t size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
+  BindIndexBufferIndirectCommandNV &
+  operator=(VkBindIndexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV const *>(&rhs);
+    return *this;
+  }
 
-    BindIndexBufferIndirectCommandNV & setIndexType( VULKAN_HPP_NAMESPACE::IndexType indexType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexType = indexType_;
-      return *this;
-    }
+  BindIndexBufferIndirectCommandNV &setBufferAddress(
+      VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_) VULKAN_HPP_NOEXCEPT {
+    bufferAddress = bufferAddress_;
+    return *this;
+  }
 
-    operator VkBindIndexBufferIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindIndexBufferIndirectCommandNV *>( this );
-    }
+  BindIndexBufferIndirectCommandNV &
+  setSize(uint32_t size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
 
-    operator VkBindIndexBufferIndirectCommandNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindIndexBufferIndirectCommandNV *>( this );
-    }
+  BindIndexBufferIndirectCommandNV &
+  setIndexType(VULKAN_HPP_NAMESPACE::IndexType indexType_) VULKAN_HPP_NOEXCEPT {
+    indexType = indexType_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindIndexBufferIndirectCommandNV const & ) const = default;
+  operator VkBindIndexBufferIndirectCommandNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindIndexBufferIndirectCommandNV *>(this);
+  }
+
+  operator VkBindIndexBufferIndirectCommandNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindIndexBufferIndirectCommandNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindIndexBufferIndirectCommandNV const &) const = default;
 #else
-    bool operator==( BindIndexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( indexType == rhs.indexType );
-    }
+  bool operator==(BindIndexBufferIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (bufferAddress == rhs.bufferAddress) && (size == rhs.size) &&
+           (indexType == rhs.indexType);
+  }
 
-    bool operator!=( BindIndexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BindIndexBufferIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress = {};
-    uint32_t                            size          = {};
-    VULKAN_HPP_NAMESPACE::IndexType     indexType     = VULKAN_HPP_NAMESPACE::IndexType::eUint16;
-  };
-  static_assert( sizeof( BindIndexBufferIndirectCommandNV ) == sizeof( VkBindIndexBufferIndirectCommandNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindIndexBufferIndirectCommandNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress = {};
+  uint32_t size = {};
+  VULKAN_HPP_NAMESPACE::IndexType indexType =
+      VULKAN_HPP_NAMESPACE::IndexType::eUint16;
+};
+static_assert(sizeof(BindIndexBufferIndirectCommandNV) ==
+                  sizeof(VkBindIndexBufferIndirectCommandNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindIndexBufferIndirectCommandNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BindShaderGroupIndirectCommandNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindShaderGroupIndirectCommandNV( uint32_t groupIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : groupIndex( groupIndex_ )
-    {}
+struct BindShaderGroupIndirectCommandNV {
 
-    BindShaderGroupIndirectCommandNV( VkBindShaderGroupIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindShaderGroupIndirectCommandNV(
+      uint32_t groupIndex_ = {}) VULKAN_HPP_NOEXCEPT : groupIndex(groupIndex_) {
+  }
 
-    BindShaderGroupIndirectCommandNV & operator=( VkBindShaderGroupIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  BindShaderGroupIndirectCommandNV(BindShaderGroupIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BindShaderGroupIndirectCommandNV & setGroupIndex( uint32_t groupIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      groupIndex = groupIndex_;
-      return *this;
-    }
+  BindShaderGroupIndirectCommandNV(
+      VkBindShaderGroupIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : BindShaderGroupIndirectCommandNV(
+            *reinterpret_cast<BindShaderGroupIndirectCommandNV const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkBindShaderGroupIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindShaderGroupIndirectCommandNV *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 BindShaderGroupIndirectCommandNV &
+  operator=(BindShaderGroupIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkBindShaderGroupIndirectCommandNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindShaderGroupIndirectCommandNV *>( this );
-    }
+  BindShaderGroupIndirectCommandNV &
+  operator=(VkBindShaderGroupIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV const *>(&rhs);
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindShaderGroupIndirectCommandNV const & ) const = default;
+  BindShaderGroupIndirectCommandNV &
+  setGroupIndex(uint32_t groupIndex_) VULKAN_HPP_NOEXCEPT {
+    groupIndex = groupIndex_;
+    return *this;
+  }
+
+  operator VkBindShaderGroupIndirectCommandNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindShaderGroupIndirectCommandNV *>(this);
+  }
+
+  operator VkBindShaderGroupIndirectCommandNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindShaderGroupIndirectCommandNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindShaderGroupIndirectCommandNV const &) const = default;
 #else
-    bool operator==( BindShaderGroupIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( groupIndex == rhs.groupIndex );
-    }
+  bool operator==(BindShaderGroupIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (groupIndex == rhs.groupIndex);
+  }
 
-    bool operator!=( BindShaderGroupIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BindShaderGroupIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t groupIndex = {};
-  };
-  static_assert( sizeof( BindShaderGroupIndirectCommandNV ) == sizeof( VkBindShaderGroupIndirectCommandNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindShaderGroupIndirectCommandNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t groupIndex = {};
+};
+static_assert(sizeof(BindShaderGroupIndirectCommandNV) ==
+                  sizeof(VkBindShaderGroupIndirectCommandNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindShaderGroupIndirectCommandNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SparseMemoryBind
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SparseMemoryBind( VULKAN_HPP_NAMESPACE::DeviceSize            resourceOffset_ = {},
-                                           VULKAN_HPP_NAMESPACE::DeviceSize            size_           = {},
-                                           VULKAN_HPP_NAMESPACE::DeviceMemory          memory_         = {},
-                                           VULKAN_HPP_NAMESPACE::DeviceSize            memoryOffset_   = {},
-                                           VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : resourceOffset( resourceOffset_ )
-      , size( size_ )
-      , memory( memory_ )
-      , memoryOffset( memoryOffset_ )
-      , flags( flags_ )
-    {}
+struct SparseMemoryBind {
 
-    SparseMemoryBind( VkSparseMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SparseMemoryBind(VULKAN_HPP_NAMESPACE::DeviceSize resourceOffset_ = {},
+                   VULKAN_HPP_NAMESPACE::DeviceSize size_ = {},
+                   VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+                   VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
+                   VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_ = {})
+      VULKAN_HPP_NOEXCEPT : resourceOffset(resourceOffset_),
+                            size(size_),
+                            memory(memory_),
+                            memoryOffset(memoryOffset_),
+                            flags(flags_) {}
 
-    SparseMemoryBind & operator=( VkSparseMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseMemoryBind const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  SparseMemoryBind(SparseMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SparseMemoryBind & setResourceOffset( VULKAN_HPP_NAMESPACE::DeviceSize resourceOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      resourceOffset = resourceOffset_;
-      return *this;
-    }
+  SparseMemoryBind(VkSparseMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT
+      : SparseMemoryBind(*reinterpret_cast<SparseMemoryBind const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SparseMemoryBind & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind &
+  operator=(SparseMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SparseMemoryBind & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
+  SparseMemoryBind &
+  operator=(VkSparseMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseMemoryBind const *>(&rhs);
+    return *this;
+  }
 
-    SparseMemoryBind & setMemoryOffset( VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryOffset = memoryOffset_;
-      return *this;
-    }
+  SparseMemoryBind &setResourceOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize resourceOffset_) VULKAN_HPP_NOEXCEPT {
+    resourceOffset = resourceOffset_;
+    return *this;
+  }
 
-    SparseMemoryBind & setFlags( VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  SparseMemoryBind &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
 
-    operator VkSparseMemoryBind const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseMemoryBind *>( this );
-    }
+  SparseMemoryBind &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
 
-    operator VkSparseMemoryBind &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseMemoryBind *>( this );
-    }
+  SparseMemoryBind &setMemoryOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT {
+    memoryOffset = memoryOffset_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseMemoryBind const & ) const = default;
+  SparseMemoryBind &setFlags(VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkSparseMemoryBind const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseMemoryBind *>(this);
+  }
+
+  operator VkSparseMemoryBind &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseMemoryBind *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseMemoryBind const &) const = default;
 #else
-    bool operator==( SparseMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( resourceOffset == rhs.resourceOffset ) && ( size == rhs.size ) && ( memory == rhs.memory ) &&
-             ( memoryOffset == rhs.memoryOffset ) && ( flags == rhs.flags );
-    }
+  bool operator==(SparseMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (resourceOffset == rhs.resourceOffset) && (size == rhs.size) &&
+           (memory == rhs.memory) && (memoryOffset == rhs.memoryOffset) &&
+           (flags == rhs.flags);
+  }
 
-    bool operator!=( SparseMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SparseMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceSize            resourceOffset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize            size           = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory          memory         = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize            memoryOffset   = {};
-    VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags          = {};
-  };
-  static_assert( sizeof( SparseMemoryBind ) == sizeof( VkSparseMemoryBind ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseMemoryBind>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::DeviceSize resourceOffset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset = {};
+  VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags = {};
+};
+static_assert(sizeof(SparseMemoryBind) == sizeof(VkSparseMemoryBind),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseMemoryBind>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SparseBufferMemoryBindInfo
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SparseBufferMemoryBindInfo( VULKAN_HPP_NAMESPACE::Buffer                   buffer_    = {},
-                                uint32_t                                       bindCount_ = {},
-                                const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds_    = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-      , bindCount( bindCount_ )
-      , pBinds( pBinds_ )
-    {}
+struct SparseBufferMemoryBindInfo {
 
-    SparseBufferMemoryBindInfo( VkSparseBufferMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseBufferMemoryBindInfo(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {}, uint32_t bindCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_ = {})
+      VULKAN_HPP_NOEXCEPT : buffer(buffer_),
+                            bindCount(bindCount_),
+                            pBinds(pBinds_) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SparseBufferMemoryBindInfo(
-      VULKAN_HPP_NAMESPACE::Buffer                                                                        buffer_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const & binds_ )
-      : buffer( buffer_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SparseBufferMemoryBindInfo(
+      SparseBufferMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SparseBufferMemoryBindInfo & operator=( VkSparseBufferMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo const *>( &rhs );
-      return *this;
-    }
-
-    SparseBufferMemoryBindInfo & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
-
-    SparseBufferMemoryBindInfo & setBindCount( uint32_t bindCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bindCount = bindCount_;
-      return *this;
-    }
-
-    SparseBufferMemoryBindInfo & setPBinds( const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBinds = pBinds_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SparseBufferMemoryBindInfo & setBinds(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const & binds_ )
+  SparseBufferMemoryBindInfo(VkSparseBufferMemoryBindInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      bindCount = static_cast<uint32_t>( binds_.size() );
-      pBinds    = binds_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : SparseBufferMemoryBindInfo(
+            *reinterpret_cast<SparseBufferMemoryBindInfo const *>(&rhs)) {}
 
-    operator VkSparseBufferMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseBufferMemoryBindInfo *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SparseBufferMemoryBindInfo(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const &binds_)
+      : buffer(buffer_), bindCount(static_cast<uint32_t>(binds_.size())),
+        pBinds(binds_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkSparseBufferMemoryBindInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseBufferMemoryBindInfo *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 SparseBufferMemoryBindInfo &operator=(
+      SparseBufferMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseBufferMemoryBindInfo const & ) const = default;
+  SparseBufferMemoryBindInfo &
+  operator=(VkSparseBufferMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo const *>(&rhs);
+    return *this;
+  }
+
+  SparseBufferMemoryBindInfo &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  SparseBufferMemoryBindInfo &
+  setBindCount(uint32_t bindCount_) VULKAN_HPP_NOEXCEPT {
+    bindCount = bindCount_;
+    return *this;
+  }
+
+  SparseBufferMemoryBindInfo &
+  setPBinds(const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_)
+      VULKAN_HPP_NOEXCEPT {
+    pBinds = pBinds_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SparseBufferMemoryBindInfo &
+  setBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+           const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const &binds_)
+      VULKAN_HPP_NOEXCEPT {
+    bindCount = static_cast<uint32_t>(binds_.size());
+    pBinds = binds_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSparseBufferMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseBufferMemoryBindInfo *>(this);
+  }
+
+  operator VkSparseBufferMemoryBindInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseBufferMemoryBindInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseBufferMemoryBindInfo const &) const = default;
 #else
-    bool operator==( SparseBufferMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( buffer == rhs.buffer ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds );
-    }
+  bool
+  operator==(SparseBufferMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (buffer == rhs.buffer) && (bindCount == rhs.bindCount) &&
+           (pBinds == rhs.pBinds);
+  }
 
-    bool operator!=( SparseBufferMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(SparseBufferMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::Buffer                   buffer    = {};
-    uint32_t                                       bindCount = {};
-    const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds    = {};
-  };
-  static_assert( sizeof( SparseBufferMemoryBindInfo ) == sizeof( VkSparseBufferMemoryBindInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseBufferMemoryBindInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  uint32_t bindCount = {};
+  const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds = {};
+};
+static_assert(sizeof(SparseBufferMemoryBindInfo) ==
+                  sizeof(VkSparseBufferMemoryBindInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseBufferMemoryBindInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SparseImageOpaqueMemoryBindInfo
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SparseImageOpaqueMemoryBindInfo( VULKAN_HPP_NAMESPACE::Image                    image_     = {},
-                                     uint32_t                                       bindCount_ = {},
-                                     const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds_ = {} ) VULKAN_HPP_NOEXCEPT
-      : image( image_ )
-      , bindCount( bindCount_ )
-      , pBinds( pBinds_ )
-    {}
+struct SparseImageOpaqueMemoryBindInfo {
 
-    SparseImageOpaqueMemoryBindInfo( VkSparseImageOpaqueMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseImageOpaqueMemoryBindInfo(
+      VULKAN_HPP_NAMESPACE::Image image_ = {}, uint32_t bindCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_ = {})
+      VULKAN_HPP_NOEXCEPT : image(image_),
+                            bindCount(bindCount_),
+                            pBinds(pBinds_) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SparseImageOpaqueMemoryBindInfo(
-      VULKAN_HPP_NAMESPACE::Image                                                                         image_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const & binds_ )
-      : image( image_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SparseImageOpaqueMemoryBindInfo(
+      SparseImageOpaqueMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SparseImageOpaqueMemoryBindInfo & operator=( VkSparseImageOpaqueMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo const *>( &rhs );
-      return *this;
-    }
-
-    SparseImageOpaqueMemoryBindInfo & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
-
-    SparseImageOpaqueMemoryBindInfo & setBindCount( uint32_t bindCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bindCount = bindCount_;
-      return *this;
-    }
-
-    SparseImageOpaqueMemoryBindInfo &
-      setPBinds( const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBinds = pBinds_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SparseImageOpaqueMemoryBindInfo & setBinds(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const & binds_ )
+  SparseImageOpaqueMemoryBindInfo(VkSparseImageOpaqueMemoryBindInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      bindCount = static_cast<uint32_t>( binds_.size() );
-      pBinds    = binds_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : SparseImageOpaqueMemoryBindInfo(
+            *reinterpret_cast<SparseImageOpaqueMemoryBindInfo const *>(&rhs)) {}
 
-    operator VkSparseImageOpaqueMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseImageOpaqueMemoryBindInfo *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SparseImageOpaqueMemoryBindInfo(
+      VULKAN_HPP_NAMESPACE::Image image_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const &binds_)
+      : image(image_), bindCount(static_cast<uint32_t>(binds_.size())),
+        pBinds(binds_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkSparseImageOpaqueMemoryBindInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseImageOpaqueMemoryBindInfo *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 SparseImageOpaqueMemoryBindInfo &operator=(
+      SparseImageOpaqueMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseImageOpaqueMemoryBindInfo const & ) const = default;
+  SparseImageOpaqueMemoryBindInfo &
+  operator=(VkSparseImageOpaqueMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo const *>(&rhs);
+    return *this;
+  }
+
+  SparseImageOpaqueMemoryBindInfo &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  SparseImageOpaqueMemoryBindInfo &
+  setBindCount(uint32_t bindCount_) VULKAN_HPP_NOEXCEPT {
+    bindCount = bindCount_;
+    return *this;
+  }
+
+  SparseImageOpaqueMemoryBindInfo &
+  setPBinds(const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_)
+      VULKAN_HPP_NOEXCEPT {
+    pBinds = pBinds_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SparseImageOpaqueMemoryBindInfo &
+  setBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+           const VULKAN_HPP_NAMESPACE::SparseMemoryBind> const &binds_)
+      VULKAN_HPP_NOEXCEPT {
+    bindCount = static_cast<uint32_t>(binds_.size());
+    pBinds = binds_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSparseImageOpaqueMemoryBindInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseImageOpaqueMemoryBindInfo *>(this);
+  }
+
+  operator VkSparseImageOpaqueMemoryBindInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseImageOpaqueMemoryBindInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseImageOpaqueMemoryBindInfo const &) const = default;
 #else
-    bool operator==( SparseImageOpaqueMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( image == rhs.image ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds );
-    }
+  bool operator==(SparseImageOpaqueMemoryBindInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (image == rhs.image) && (bindCount == rhs.bindCount) &&
+           (pBinds == rhs.pBinds);
+  }
 
-    bool operator!=( SparseImageOpaqueMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SparseImageOpaqueMemoryBindInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::Image                    image     = {};
-    uint32_t                                       bindCount = {};
-    const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds    = {};
-  };
-  static_assert( sizeof( SparseImageOpaqueMemoryBindInfo ) == sizeof( VkSparseImageOpaqueMemoryBindInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseImageOpaqueMemoryBindInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  uint32_t bindCount = {};
+  const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds = {};
+};
+static_assert(sizeof(SparseImageOpaqueMemoryBindInfo) ==
+                  sizeof(VkSparseImageOpaqueMemoryBindInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseImageOpaqueMemoryBindInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct ImageSubresource
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageSubresource( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {},
-                                           uint32_t                               mipLevel_   = {},
-                                           uint32_t                               arrayLayer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : aspectMask( aspectMask_ )
-      , mipLevel( mipLevel_ )
-      , arrayLayer( arrayLayer_ )
-    {}
+struct ImageSubresource {
 
-    ImageSubresource( VkImageSubresource const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ImageSubresource(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {},
+                   uint32_t mipLevel_ = {},
+                   uint32_t arrayLayer_ = {}) VULKAN_HPP_NOEXCEPT
+      : aspectMask(aspectMask_),
+        mipLevel(mipLevel_),
+        arrayLayer(arrayLayer_) {}
 
-    ImageSubresource & operator=( VkImageSubresource const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresource const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  ImageSubresource(ImageSubresource const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ImageSubresource & setAspectMask( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectMask = aspectMask_;
-      return *this;
-    }
+  ImageSubresource(VkImageSubresource const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageSubresource(*reinterpret_cast<ImageSubresource const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ImageSubresource & setMipLevel( uint32_t mipLevel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mipLevel = mipLevel_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ImageSubresource &
+  operator=(ImageSubresource const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ImageSubresource & setArrayLayer( uint32_t arrayLayer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      arrayLayer = arrayLayer_;
-      return *this;
-    }
+  ImageSubresource &
+  operator=(VkImageSubresource const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresource const *>(&rhs);
+    return *this;
+  }
 
-    operator VkImageSubresource const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageSubresource *>( this );
-    }
+  ImageSubresource &setAspectMask(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT {
+    aspectMask = aspectMask_;
+    return *this;
+  }
 
-    operator VkImageSubresource &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageSubresource *>( this );
-    }
+  ImageSubresource &setMipLevel(uint32_t mipLevel_) VULKAN_HPP_NOEXCEPT {
+    mipLevel = mipLevel_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageSubresource const & ) const = default;
+  ImageSubresource &setArrayLayer(uint32_t arrayLayer_) VULKAN_HPP_NOEXCEPT {
+    arrayLayer = arrayLayer_;
+    return *this;
+  }
+
+  operator VkImageSubresource const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageSubresource *>(this);
+  }
+
+  operator VkImageSubresource &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageSubresource *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageSubresource const &) const = default;
 #else
-    bool operator==( ImageSubresource const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( aspectMask == rhs.aspectMask ) && ( mipLevel == rhs.mipLevel ) && ( arrayLayer == rhs.arrayLayer );
-    }
+  bool operator==(ImageSubresource const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (aspectMask == rhs.aspectMask) && (mipLevel == rhs.mipLevel) &&
+           (arrayLayer == rhs.arrayLayer);
+  }
 
-    bool operator!=( ImageSubresource const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ImageSubresource const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
-    uint32_t                               mipLevel   = {};
-    uint32_t                               arrayLayer = {};
-  };
-  static_assert( sizeof( ImageSubresource ) == sizeof( VkImageSubresource ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageSubresource>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
+  uint32_t mipLevel = {};
+  uint32_t arrayLayer = {};
+};
+static_assert(sizeof(ImageSubresource) == sizeof(VkImageSubresource),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageSubresource>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct Offset3D
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR Offset3D( int32_t x_ = {}, int32_t y_ = {}, int32_t z_ = {} ) VULKAN_HPP_NOEXCEPT
-      : x( x_ )
-      , y( y_ )
-      , z( z_ )
-    {}
+struct Offset3D {
 
-    Offset3D( VkOffset3D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Offset3D(int32_t x_ = {}, int32_t y_ = {},
+                                int32_t z_ = {}) VULKAN_HPP_NOEXCEPT : x(x_),
+                                                                       y(y_),
+                                                                       z(z_) {}
 
-    explicit Offset3D( Offset2D const & offset2D, int32_t z_ = {} ) : x( offset2D.x ), y( offset2D.y ), z( z_ ) {}
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  Offset3D(Offset3D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    Offset3D & operator=( VkOffset3D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Offset3D const *>( &rhs );
-      return *this;
-    }
+  Offset3D(VkOffset3D const &rhs) VULKAN_HPP_NOEXCEPT
+      : Offset3D(*reinterpret_cast<Offset3D const *>(&rhs)) {}
 
-    Offset3D & setX( int32_t x_ ) VULKAN_HPP_NOEXCEPT
-    {
-      x = x_;
-      return *this;
-    }
+  explicit Offset3D(Offset2D const &offset2D, int32_t z_ = {})
+      : x(offset2D.x), y(offset2D.y), z(z_) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    Offset3D & setY( int32_t y_ ) VULKAN_HPP_NOEXCEPT
-    {
-      y = y_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 Offset3D &
+  operator=(Offset3D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    Offset3D & setZ( int32_t z_ ) VULKAN_HPP_NOEXCEPT
-    {
-      z = z_;
-      return *this;
-    }
+  Offset3D &operator=(VkOffset3D const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Offset3D const *>(&rhs);
+    return *this;
+  }
 
-    operator VkOffset3D const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkOffset3D *>( this );
-    }
+  Offset3D &setX(int32_t x_) VULKAN_HPP_NOEXCEPT {
+    x = x_;
+    return *this;
+  }
 
-    operator VkOffset3D &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkOffset3D *>( this );
-    }
+  Offset3D &setY(int32_t y_) VULKAN_HPP_NOEXCEPT {
+    y = y_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Offset3D const & ) const = default;
+  Offset3D &setZ(int32_t z_) VULKAN_HPP_NOEXCEPT {
+    z = z_;
+    return *this;
+  }
+
+  operator VkOffset3D const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkOffset3D *>(this);
+  }
+
+  operator VkOffset3D &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkOffset3D *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Offset3D const &) const = default;
 #else
-    bool operator==( Offset3D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z );
-    }
+  bool operator==(Offset3D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (x == rhs.x) && (y == rhs.y) && (z == rhs.z);
+  }
 
-    bool operator!=( Offset3D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(Offset3D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    int32_t x = {};
-    int32_t y = {};
-    int32_t z = {};
-  };
-  static_assert( sizeof( Offset3D ) == sizeof( VkOffset3D ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Offset3D>::value, "struct wrapper is not a standard layout!" );
+public:
+  int32_t x = {};
+  int32_t y = {};
+  int32_t z = {};
+};
+static_assert(sizeof(Offset3D) == sizeof(VkOffset3D),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<Offset3D>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct Extent3D
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    Extent3D( uint32_t width_ = {}, uint32_t height_ = {}, uint32_t depth_ = {} ) VULKAN_HPP_NOEXCEPT
-      : width( width_ )
-      , height( height_ )
-      , depth( depth_ )
-    {}
+struct Extent3D {
 
-    Extent3D( VkExtent3D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Extent3D(uint32_t width_ = {}, uint32_t height_ = {},
+                                uint32_t depth_ = {}) VULKAN_HPP_NOEXCEPT
+      : width(width_),
+        height(height_),
+        depth(depth_) {}
 
-    explicit Extent3D( Extent2D const & extent2D, uint32_t depth_ = {} )
-      : width( extent2D.width ), height( extent2D.height ), depth( depth_ )
-    {}
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  Extent3D(Extent3D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    Extent3D & operator=( VkExtent3D const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Extent3D const *>( &rhs );
-      return *this;
-    }
+  Extent3D(VkExtent3D const &rhs) VULKAN_HPP_NOEXCEPT
+      : Extent3D(*reinterpret_cast<Extent3D const *>(&rhs)) {}
 
-    Extent3D & setWidth( uint32_t width_ ) VULKAN_HPP_NOEXCEPT
-    {
-      width = width_;
-      return *this;
-    }
+  explicit Extent3D(Extent2D const &extent2D, uint32_t depth_ = {})
+      : width(extent2D.width), height(extent2D.height), depth(depth_) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    Extent3D & setHeight( uint32_t height_ ) VULKAN_HPP_NOEXCEPT
-    {
-      height = height_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 Extent3D &
+  operator=(Extent3D const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    Extent3D & setDepth( uint32_t depth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depth = depth_;
-      return *this;
-    }
+  Extent3D &operator=(VkExtent3D const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Extent3D const *>(&rhs);
+    return *this;
+  }
 
-    operator VkExtent3D const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExtent3D *>( this );
-    }
+  Extent3D &setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT {
+    width = width_;
+    return *this;
+  }
 
-    operator VkExtent3D &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExtent3D *>( this );
-    }
+  Extent3D &setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT {
+    height = height_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Extent3D const & ) const = default;
+  Extent3D &setDepth(uint32_t depth_) VULKAN_HPP_NOEXCEPT {
+    depth = depth_;
+    return *this;
+  }
+
+  operator VkExtent3D const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExtent3D *>(this);
+  }
+
+  operator VkExtent3D &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExtent3D *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Extent3D const &) const = default;
 #else
-    bool operator==( Extent3D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( width == rhs.width ) && ( height == rhs.height ) && ( depth == rhs.depth );
-    }
+  bool operator==(Extent3D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (width == rhs.width) && (height == rhs.height) &&
+           (depth == rhs.depth);
+  }
 
-    bool operator!=( Extent3D const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(Extent3D const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t width  = {};
-    uint32_t height = {};
-    uint32_t depth  = {};
-  };
-  static_assert( sizeof( Extent3D ) == sizeof( VkExtent3D ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Extent3D>::value, "struct wrapper is not a standard layout!" );
+public:
+  uint32_t width = {};
+  uint32_t height = {};
+  uint32_t depth = {};
+};
+static_assert(sizeof(Extent3D) == sizeof(VkExtent3D),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<Extent3D>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SparseImageMemoryBind
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SparseImageMemoryBind( VULKAN_HPP_NAMESPACE::ImageSubresource      subresource_  = {},
-                           VULKAN_HPP_NAMESPACE::Offset3D              offset_       = {},
-                           VULKAN_HPP_NAMESPACE::Extent3D              extent_       = {},
-                           VULKAN_HPP_NAMESPACE::DeviceMemory          memory_       = {},
-                           VULKAN_HPP_NAMESPACE::DeviceSize            memoryOffset_ = {},
-                           VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_        = {} ) VULKAN_HPP_NOEXCEPT
-      : subresource( subresource_ )
-      , offset( offset_ )
-      , extent( extent_ )
-      , memory( memory_ )
-      , memoryOffset( memoryOffset_ )
-      , flags( flags_ )
-    {}
+struct SparseImageMemoryBind {
 
-    SparseImageMemoryBind( VkSparseImageMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryBind(
+      VULKAN_HPP_NAMESPACE::ImageSubresource subresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D offset_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D extent_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
+      VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_ = {})
+      VULKAN_HPP_NOEXCEPT : subresource(subresource_),
+                            offset(offset_),
+                            extent(extent_),
+                            memory(memory_),
+                            memoryOffset(memoryOffset_),
+                            flags(flags_) {}
 
-    SparseImageMemoryBind & operator=( VkSparseImageMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryBind const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryBind(SparseImageMemoryBind const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SparseImageMemoryBind &
-      setSubresource( VULKAN_HPP_NAMESPACE::ImageSubresource const & subresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subresource = subresource_;
-      return *this;
-    }
+  SparseImageMemoryBind(VkSparseImageMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT
+      : SparseImageMemoryBind(
+            *reinterpret_cast<SparseImageMemoryBind const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SparseImageMemoryBind & setOffset( VULKAN_HPP_NAMESPACE::Offset3D const & offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind &
+  operator=(SparseImageMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SparseImageMemoryBind & setExtent( VULKAN_HPP_NAMESPACE::Extent3D const & extent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extent = extent_;
-      return *this;
-    }
+  SparseImageMemoryBind &
+  operator=(VkSparseImageMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryBind const *>(
+            &rhs);
+    return *this;
+  }
 
-    SparseImageMemoryBind & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
+  SparseImageMemoryBind &
+  setSubresource(VULKAN_HPP_NAMESPACE::ImageSubresource const &subresource_)
+      VULKAN_HPP_NOEXCEPT {
+    subresource = subresource_;
+    return *this;
+  }
 
-    SparseImageMemoryBind & setMemoryOffset( VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryOffset = memoryOffset_;
-      return *this;
-    }
+  SparseImageMemoryBind &
+  setOffset(VULKAN_HPP_NAMESPACE::Offset3D const &offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-    SparseImageMemoryBind & setFlags( VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  SparseImageMemoryBind &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
 
-    operator VkSparseImageMemoryBind const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseImageMemoryBind *>( this );
-    }
+  SparseImageMemoryBind &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
 
-    operator VkSparseImageMemoryBind &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseImageMemoryBind *>( this );
-    }
+  SparseImageMemoryBind &setMemoryOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT {
+    memoryOffset = memoryOffset_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseImageMemoryBind const & ) const = default;
+  SparseImageMemoryBind &setFlags(
+      VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkSparseImageMemoryBind const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseImageMemoryBind *>(this);
+  }
+
+  operator VkSparseImageMemoryBind &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseImageMemoryBind *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseImageMemoryBind const &) const = default;
 #else
-    bool operator==( SparseImageMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( subresource == rhs.subresource ) && ( offset == rhs.offset ) && ( extent == rhs.extent ) &&
-             ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ) && ( flags == rhs.flags );
-    }
+  bool operator==(SparseImageMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (subresource == rhs.subresource) && (offset == rhs.offset) &&
+           (extent == rhs.extent) && (memory == rhs.memory) &&
+           (memoryOffset == rhs.memoryOffset) && (flags == rhs.flags);
+  }
 
-    bool operator!=( SparseImageMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SparseImageMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::ImageSubresource      subresource  = {};
-    VULKAN_HPP_NAMESPACE::Offset3D              offset       = {};
-    VULKAN_HPP_NAMESPACE::Extent3D              extent       = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory          memory       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize            memoryOffset = {};
-    VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags        = {};
-  };
-  static_assert( sizeof( SparseImageMemoryBind ) == sizeof( VkSparseImageMemoryBind ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseImageMemoryBind>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::ImageSubresource subresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D offset = {};
+  VULKAN_HPP_NAMESPACE::Extent3D extent = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset = {};
+  VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags = {};
+};
+static_assert(sizeof(SparseImageMemoryBind) == sizeof(VkSparseImageMemoryBind),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseImageMemoryBind>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SparseImageMemoryBindInfo
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SparseImageMemoryBindInfo( VULKAN_HPP_NAMESPACE::Image                         image_     = {},
-                               uint32_t                                            bindCount_ = {},
-                               const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind * pBinds_    = {} ) VULKAN_HPP_NOEXCEPT
-      : image( image_ )
-      , bindCount( bindCount_ )
-      , pBinds( pBinds_ )
-    {}
+struct SparseImageMemoryBindInfo {
 
-    SparseImageMemoryBindInfo( VkSparseImageMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryBindInfo(
+      VULKAN_HPP_NAMESPACE::Image image_ = {}, uint32_t bindCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind *pBinds_ = {})
+      VULKAN_HPP_NOEXCEPT : image(image_),
+                            bindCount(bindCount_),
+                            pBinds(pBinds_) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SparseImageMemoryBindInfo(
-      VULKAN_HPP_NAMESPACE::Image                                                                              image_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind> const & binds_ )
-      : image( image_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryBindInfo(
+      SparseImageMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SparseImageMemoryBindInfo & operator=( VkSparseImageMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo const *>( &rhs );
-      return *this;
-    }
-
-    SparseImageMemoryBindInfo & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
-
-    SparseImageMemoryBindInfo & setBindCount( uint32_t bindCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bindCount = bindCount_;
-      return *this;
-    }
-
-    SparseImageMemoryBindInfo &
-      setPBinds( const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind * pBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBinds = pBinds_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SparseImageMemoryBindInfo & setBinds(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind> const & binds_ )
+  SparseImageMemoryBindInfo(VkSparseImageMemoryBindInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      bindCount = static_cast<uint32_t>( binds_.size() );
-      pBinds    = binds_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : SparseImageMemoryBindInfo(
+            *reinterpret_cast<SparseImageMemoryBindInfo const *>(&rhs)) {}
 
-    operator VkSparseImageMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseImageMemoryBindInfo *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SparseImageMemoryBindInfo(
+      VULKAN_HPP_NAMESPACE::Image image_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind> const &binds_)
+      : image(image_), bindCount(static_cast<uint32_t>(binds_.size())),
+        pBinds(binds_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkSparseImageMemoryBindInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseImageMemoryBindInfo *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBindInfo &
+  operator=(SparseImageMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseImageMemoryBindInfo const & ) const = default;
+  SparseImageMemoryBindInfo &
+  operator=(VkSparseImageMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo const *>(&rhs);
+    return *this;
+  }
+
+  SparseImageMemoryBindInfo &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  SparseImageMemoryBindInfo &
+  setBindCount(uint32_t bindCount_) VULKAN_HPP_NOEXCEPT {
+    bindCount = bindCount_;
+    return *this;
+  }
+
+  SparseImageMemoryBindInfo &
+  setPBinds(const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind *pBinds_)
+      VULKAN_HPP_NOEXCEPT {
+    pBinds = pBinds_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SparseImageMemoryBindInfo &
+  setBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+           const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind> const &binds_)
+      VULKAN_HPP_NOEXCEPT {
+    bindCount = static_cast<uint32_t>(binds_.size());
+    pBinds = binds_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSparseImageMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseImageMemoryBindInfo *>(this);
+  }
+
+  operator VkSparseImageMemoryBindInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseImageMemoryBindInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseImageMemoryBindInfo const &) const = default;
 #else
-    bool operator==( SparseImageMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( image == rhs.image ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds );
-    }
+  bool
+  operator==(SparseImageMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (image == rhs.image) && (bindCount == rhs.bindCount) &&
+           (pBinds == rhs.pBinds);
+  }
 
-    bool operator!=( SparseImageMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(SparseImageMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::Image                         image     = {};
-    uint32_t                                            bindCount = {};
-    const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind * pBinds    = {};
-  };
-  static_assert( sizeof( SparseImageMemoryBindInfo ) == sizeof( VkSparseImageMemoryBindInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseImageMemoryBindInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  uint32_t bindCount = {};
+  const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind *pBinds = {};
+};
+static_assert(sizeof(SparseImageMemoryBindInfo) ==
+                  sizeof(VkSparseImageMemoryBindInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseImageMemoryBindInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BindSparseInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBindSparseInfo;
+struct BindSparseInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBindSparseInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BindSparseInfo( uint32_t                                                      waitSemaphoreCount_   = {},
-                    const VULKAN_HPP_NAMESPACE::Semaphore *                       pWaitSemaphores_      = {},
-                    uint32_t                                                      bufferBindCount_      = {},
-                    const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo *      pBufferBinds_         = {},
-                    uint32_t                                                      imageOpaqueBindCount_ = {},
-                    const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds_    = {},
-                    uint32_t                                                      imageBindCount_       = {},
-                    const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo *       pImageBinds_          = {},
-                    uint32_t                                                      signalSemaphoreCount_ = {},
-                    const VULKAN_HPP_NAMESPACE::Semaphore * pSignalSemaphores_ = {} ) VULKAN_HPP_NOEXCEPT
-      : waitSemaphoreCount( waitSemaphoreCount_ )
-      , pWaitSemaphores( pWaitSemaphores_ )
-      , bufferBindCount( bufferBindCount_ )
-      , pBufferBinds( pBufferBinds_ )
-      , imageOpaqueBindCount( imageOpaqueBindCount_ )
-      , pImageOpaqueBinds( pImageOpaqueBinds_ )
-      , imageBindCount( imageBindCount_ )
-      , pImageBinds( pImageBinds_ )
-      , signalSemaphoreCount( signalSemaphoreCount_ )
-      , pSignalSemaphores( pSignalSemaphores_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindSparseInfo(
+      uint32_t waitSemaphoreCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_ = {},
+      uint32_t bufferBindCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo *pBufferBinds_ =
+          {},
+      uint32_t imageOpaqueBindCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo
+          *pImageOpaqueBinds_ = {},
+      uint32_t imageBindCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo *pImageBinds_ = {},
+      uint32_t signalSemaphoreCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores_ = {})
+      VULKAN_HPP_NOEXCEPT : waitSemaphoreCount(waitSemaphoreCount_),
+                            pWaitSemaphores(pWaitSemaphores_),
+                            bufferBindCount(bufferBindCount_),
+                            pBufferBinds(pBufferBinds_),
+                            imageOpaqueBindCount(imageOpaqueBindCount_),
+                            pImageOpaqueBinds(pImageOpaqueBinds_),
+                            imageBindCount(imageBindCount_),
+                            pImageBinds(pImageBinds_),
+                            signalSemaphoreCount(signalSemaphoreCount_),
+                            pSignalSemaphores(pSignalSemaphores_) {}
 
-    BindSparseInfo( VkBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR
+  BindSparseInfo(BindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindSparseInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & waitSemaphores_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo> const &
-        bufferBinds_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo> const &
-        imageOpaqueBinds_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo> const &
-        imageBinds_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const &
-        signalSemaphores_ = {} )
-      : waitSemaphoreCount( static_cast<uint32_t>( waitSemaphores_.size() ) )
-      , pWaitSemaphores( waitSemaphores_.data() )
-      , bufferBindCount( static_cast<uint32_t>( bufferBinds_.size() ) )
-      , pBufferBinds( bufferBinds_.data() )
-      , imageOpaqueBindCount( static_cast<uint32_t>( imageOpaqueBinds_.size() ) )
-      , pImageOpaqueBinds( imageOpaqueBinds_.data() )
-      , imageBindCount( static_cast<uint32_t>( imageBinds_.size() ) )
-      , pImageBinds( imageBinds_.data() )
-      , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphores_.size() ) )
-      , pSignalSemaphores( signalSemaphores_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  BindSparseInfo(VkBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : BindSparseInfo(*reinterpret_cast<BindSparseInfo const *>(&rhs)) {}
 
-    BindSparseInfo & operator=( VkBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindSparseInfo const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindSparseInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &waitSemaphores_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo> const
+          &bufferBinds_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo> const
+          &imageOpaqueBinds_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo> const
+          &imageBinds_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &signalSemaphores_ = {})
+      : waitSemaphoreCount(static_cast<uint32_t>(waitSemaphores_.size())),
+        pWaitSemaphores(waitSemaphores_.data()),
+        bufferBindCount(static_cast<uint32_t>(bufferBinds_.size())),
+        pBufferBinds(bufferBinds_.data()),
+        imageOpaqueBindCount(static_cast<uint32_t>(imageOpaqueBinds_.size())),
+        pImageOpaqueBinds(imageOpaqueBinds_.data()),
+        imageBindCount(static_cast<uint32_t>(imageBinds_.size())),
+        pImageBinds(imageBinds_.data()),
+        signalSemaphoreCount(static_cast<uint32_t>(signalSemaphores_.size())),
+        pSignalSemaphores(signalSemaphores_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BindSparseInfo & operator=( BindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      waitSemaphoreCount   = rhs.waitSemaphoreCount;
-      pWaitSemaphores      = rhs.pWaitSemaphores;
-      bufferBindCount      = rhs.bufferBindCount;
-      pBufferBinds         = rhs.pBufferBinds;
-      imageOpaqueBindCount = rhs.imageOpaqueBindCount;
-      pImageOpaqueBinds    = rhs.pImageOpaqueBinds;
-      imageBindCount       = rhs.imageBindCount;
-      pImageBinds          = rhs.pImageBinds;
-      signalSemaphoreCount = rhs.signalSemaphoreCount;
-      pSignalSemaphores    = rhs.pSignalSemaphores;
+  VULKAN_HPP_CONSTEXPR_14 BindSparseInfo &
+  operator=(BindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BindSparseInfo &operator=(VkBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindSparseInfo const *>(&rhs);
+    return *this;
+  }
 
-    BindSparseInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BindSparseInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BindSparseInfo & setWaitSemaphoreCount( uint32_t waitSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = waitSemaphoreCount_;
-      return *this;
-    }
+  BindSparseInfo &
+  setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = waitSemaphoreCount_;
+    return *this;
+  }
 
-    BindSparseInfo & setPWaitSemaphores( const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pWaitSemaphores = pWaitSemaphores_;
-      return *this;
-    }
+  BindSparseInfo &
+  setPWaitSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    pWaitSemaphores = pWaitSemaphores_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindSparseInfo & setWaitSemaphores(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & waitSemaphores_ )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindSparseInfo &setWaitSemaphores(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &waitSemaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = static_cast<uint32_t>(waitSemaphores_.size());
+    pWaitSemaphores = waitSemaphores_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  BindSparseInfo &
+  setBufferBindCount(uint32_t bufferBindCount_) VULKAN_HPP_NOEXCEPT {
+    bufferBindCount = bufferBindCount_;
+    return *this;
+  }
+
+  BindSparseInfo &setPBufferBinds(
+      const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo *pBufferBinds_)
+      VULKAN_HPP_NOEXCEPT {
+    pBufferBinds = pBufferBinds_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindSparseInfo &
+  setBufferBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo> const
+                     &bufferBinds_) VULKAN_HPP_NOEXCEPT {
+    bufferBindCount = static_cast<uint32_t>(bufferBinds_.size());
+    pBufferBinds = bufferBinds_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  BindSparseInfo &
+  setImageOpaqueBindCount(uint32_t imageOpaqueBindCount_) VULKAN_HPP_NOEXCEPT {
+    imageOpaqueBindCount = imageOpaqueBindCount_;
+    return *this;
+  }
+
+  BindSparseInfo &setPImageOpaqueBinds(
+      const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo
+          *pImageOpaqueBinds_) VULKAN_HPP_NOEXCEPT {
+    pImageOpaqueBinds = pImageOpaqueBinds_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindSparseInfo &setImageOpaqueBinds(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo> const
+          &imageOpaqueBinds_) VULKAN_HPP_NOEXCEPT {
+    imageOpaqueBindCount = static_cast<uint32_t>(imageOpaqueBinds_.size());
+    pImageOpaqueBinds = imageOpaqueBinds_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  BindSparseInfo &
+  setImageBindCount(uint32_t imageBindCount_) VULKAN_HPP_NOEXCEPT {
+    imageBindCount = imageBindCount_;
+    return *this;
+  }
+
+  BindSparseInfo &setPImageBinds(
+      const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo *pImageBinds_)
+      VULKAN_HPP_NOEXCEPT {
+    pImageBinds = pImageBinds_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindSparseInfo &
+  setImageBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo> const
+                    &imageBinds_) VULKAN_HPP_NOEXCEPT {
+    imageBindCount = static_cast<uint32_t>(imageBinds_.size());
+    pImageBinds = imageBinds_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  BindSparseInfo &
+  setSignalSemaphoreCount(uint32_t signalSemaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreCount = signalSemaphoreCount_;
+    return *this;
+  }
+
+  BindSparseInfo &setPSignalSemaphores(
+      const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    pSignalSemaphores = pSignalSemaphores_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BindSparseInfo &setSignalSemaphores(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &signalSemaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreCount = static_cast<uint32_t>(signalSemaphores_.size());
+    pSignalSemaphores = signalSemaphores_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkBindSparseInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindSparseInfo *>(this);
+  }
+
+  operator VkBindSparseInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindSparseInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindSparseInfo const &) const = default;
+#else
+  bool operator==(BindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (waitSemaphoreCount == rhs.waitSemaphoreCount) &&
+           (pWaitSemaphores == rhs.pWaitSemaphores) &&
+           (bufferBindCount == rhs.bufferBindCount) &&
+           (pBufferBinds == rhs.pBufferBinds) &&
+           (imageOpaqueBindCount == rhs.imageOpaqueBindCount) &&
+           (pImageOpaqueBinds == rhs.pImageOpaqueBinds) &&
+           (imageBindCount == rhs.imageBindCount) &&
+           (pImageBinds == rhs.pImageBinds) &&
+           (signalSemaphoreCount == rhs.signalSemaphoreCount) &&
+           (pSignalSemaphores == rhs.pSignalSemaphores);
+  }
+
+  bool operator!=(BindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBindSparseInfo;
+  const void *pNext = {};
+  uint32_t waitSemaphoreCount = {};
+  const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores = {};
+  uint32_t bufferBindCount = {};
+  const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo *pBufferBinds = {};
+  uint32_t imageOpaqueBindCount = {};
+  const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo
+      *pImageOpaqueBinds = {};
+  uint32_t imageBindCount = {};
+  const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo *pImageBinds = {};
+  uint32_t signalSemaphoreCount = {};
+  const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores = {};
+};
+static_assert(sizeof(BindSparseInfo) == sizeof(VkBindSparseInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindSparseInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eBindSparseInfo> {
+  using Type = BindSparseInfo;
+};
+
+struct BindVertexBufferIndirectCommandNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandNV(
+      VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_ = {},
+      uint32_t size_ = {}, uint32_t stride_ = {}) VULKAN_HPP_NOEXCEPT
+      : bufferAddress(bufferAddress_),
+        size(size_),
+        stride(stride_) {}
+
+  VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandNV(
+      BindVertexBufferIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  BindVertexBufferIndirectCommandNV(
+      VkBindVertexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : BindVertexBufferIndirectCommandNV(
+            *reinterpret_cast<BindVertexBufferIndirectCommandNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandNV &
+  operator=(BindVertexBufferIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  BindVertexBufferIndirectCommandNV &operator=(
+      VkBindVertexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV const *>(&rhs);
+    return *this;
+  }
+
+  BindVertexBufferIndirectCommandNV &setBufferAddress(
+      VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_) VULKAN_HPP_NOEXCEPT {
+    bufferAddress = bufferAddress_;
+    return *this;
+  }
+
+  BindVertexBufferIndirectCommandNV &
+  setSize(uint32_t size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  BindVertexBufferIndirectCommandNV &
+  setStride(uint32_t stride_) VULKAN_HPP_NOEXCEPT {
+    stride = stride_;
+    return *this;
+  }
+
+  operator VkBindVertexBufferIndirectCommandNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBindVertexBufferIndirectCommandNV *>(this);
+  }
+
+  operator VkBindVertexBufferIndirectCommandNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBindVertexBufferIndirectCommandNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BindVertexBufferIndirectCommandNV const &) const = default;
+#else
+  bool operator==(BindVertexBufferIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (bufferAddress == rhs.bufferAddress) && (size == rhs.size) &&
+           (stride == rhs.stride);
+  }
+
+  bool operator!=(BindVertexBufferIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress = {};
+  uint32_t size = {};
+  uint32_t stride = {};
+};
+static_assert(sizeof(BindVertexBufferIndirectCommandNV) ==
+                  sizeof(VkBindVertexBufferIndirectCommandNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BindVertexBufferIndirectCommandNV>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ImageSubresourceLayers {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageSubresourceLayers(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {},
+      uint32_t mipLevel_ = {}, uint32_t baseArrayLayer_ = {},
+      uint32_t layerCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : aspectMask(aspectMask_),
+        mipLevel(mipLevel_),
+        baseArrayLayer(baseArrayLayer_),
+        layerCount(layerCount_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageSubresourceLayers(ImageSubresourceLayers const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageSubresourceLayers(VkImageSubresourceLayers const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = static_cast<uint32_t>( waitSemaphores_.size() );
-      pWaitSemaphores    = waitSemaphores_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : ImageSubresourceLayers(
+            *reinterpret_cast<ImageSubresourceLayers const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BindSparseInfo & setBufferBindCount( uint32_t bufferBindCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferBindCount = bufferBindCount_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers &
+  operator=(ImageSubresourceLayers const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BindSparseInfo &
-      setPBufferBinds( const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo * pBufferBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBufferBinds = pBufferBinds_;
-      return *this;
-    }
+  ImageSubresourceLayers &
+  operator=(VkImageSubresourceLayers const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const *>(
+            &rhs);
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindSparseInfo & setBufferBinds(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo> const &
-        bufferBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferBindCount = static_cast<uint32_t>( bufferBinds_.size() );
-      pBufferBinds    = bufferBinds_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageSubresourceLayers &setAspectMask(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT {
+    aspectMask = aspectMask_;
+    return *this;
+  }
 
-    BindSparseInfo & setImageOpaqueBindCount( uint32_t imageOpaqueBindCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageOpaqueBindCount = imageOpaqueBindCount_;
-      return *this;
-    }
+  ImageSubresourceLayers &setMipLevel(uint32_t mipLevel_) VULKAN_HPP_NOEXCEPT {
+    mipLevel = mipLevel_;
+    return *this;
+  }
 
-    BindSparseInfo & setPImageOpaqueBinds(
-      const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pImageOpaqueBinds = pImageOpaqueBinds_;
-      return *this;
-    }
+  ImageSubresourceLayers &
+  setBaseArrayLayer(uint32_t baseArrayLayer_) VULKAN_HPP_NOEXCEPT {
+    baseArrayLayer = baseArrayLayer_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindSparseInfo & setImageOpaqueBinds(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo> const &
-        imageOpaqueBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageOpaqueBindCount = static_cast<uint32_t>( imageOpaqueBinds_.size() );
-      pImageOpaqueBinds    = imageOpaqueBinds_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageSubresourceLayers &
+  setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT {
+    layerCount = layerCount_;
+    return *this;
+  }
 
-    BindSparseInfo & setImageBindCount( uint32_t imageBindCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageBindCount = imageBindCount_;
-      return *this;
-    }
+  operator VkImageSubresourceLayers const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageSubresourceLayers *>(this);
+  }
 
-    BindSparseInfo &
-      setPImageBinds( const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo * pImageBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pImageBinds = pImageBinds_;
-      return *this;
-    }
+  operator VkImageSubresourceLayers &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageSubresourceLayers *>(this);
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindSparseInfo & setImageBinds(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo> const &
-        imageBinds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageBindCount = static_cast<uint32_t>( imageBinds_.size() );
-      pImageBinds    = imageBinds_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    BindSparseInfo & setSignalSemaphoreCount( uint32_t signalSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreCount = signalSemaphoreCount_;
-      return *this;
-    }
-
-    BindSparseInfo &
-      setPSignalSemaphores( const VULKAN_HPP_NAMESPACE::Semaphore * pSignalSemaphores_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSignalSemaphores = pSignalSemaphores_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BindSparseInfo & setSignalSemaphores(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & signalSemaphores_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreCount = static_cast<uint32_t>( signalSemaphores_.size() );
-      pSignalSemaphores    = signalSemaphores_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkBindSparseInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindSparseInfo *>( this );
-    }
-
-    operator VkBindSparseInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindSparseInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindSparseInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageSubresourceLayers const &) const = default;
 #else
-    bool operator==( BindSparseInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
-             ( pWaitSemaphores == rhs.pWaitSemaphores ) && ( bufferBindCount == rhs.bufferBindCount ) &&
-             ( pBufferBinds == rhs.pBufferBinds ) && ( imageOpaqueBindCount == rhs.imageOpaqueBindCount ) &&
-             ( pImageOpaqueBinds == rhs.pImageOpaqueBinds ) && ( imageBindCount == rhs.imageBindCount ) &&
-             ( pImageBinds == rhs.pImageBinds ) && ( signalSemaphoreCount == rhs.signalSemaphoreCount ) &&
-             ( pSignalSemaphores == rhs.pSignalSemaphores );
-    }
+  bool operator==(ImageSubresourceLayers const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (aspectMask == rhs.aspectMask) && (mipLevel == rhs.mipLevel) &&
+           (baseArrayLayer == rhs.baseArrayLayer) &&
+           (layerCount == rhs.layerCount);
+  }
 
-    bool operator!=( BindSparseInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ImageSubresourceLayers const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                     sType                = StructureType::eBindSparseInfo;
-    const void *                                                  pNext                = {};
-    uint32_t                                                      waitSemaphoreCount   = {};
-    const VULKAN_HPP_NAMESPACE::Semaphore *                       pWaitSemaphores      = {};
-    uint32_t                                                      bufferBindCount      = {};
-    const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo *      pBufferBinds         = {};
-    uint32_t                                                      imageOpaqueBindCount = {};
-    const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds    = {};
-    uint32_t                                                      imageBindCount       = {};
-    const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo *       pImageBinds          = {};
-    uint32_t                                                      signalSemaphoreCount = {};
-    const VULKAN_HPP_NAMESPACE::Semaphore *                       pSignalSemaphores    = {};
-  };
-  static_assert( sizeof( BindSparseInfo ) == sizeof( VkBindSparseInfo ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindSparseInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
+  uint32_t mipLevel = {};
+  uint32_t baseArrayLayer = {};
+  uint32_t layerCount = {};
+};
+static_assert(sizeof(ImageSubresourceLayers) ==
+                  sizeof(VkImageSubresourceLayers),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageSubresourceLayers>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBindSparseInfo>
-  {
-    using Type = BindSparseInfo;
-  };
+struct ImageBlit2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageBlit2KHR;
 
-  struct BindVertexBufferIndirectCommandNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandNV( VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_ = {},
-                                                            uint32_t                            size_          = {},
-                                                            uint32_t stride_ = {} ) VULKAN_HPP_NOEXCEPT
-      : bufferAddress( bufferAddress_ )
-      , size( size_ )
-      , stride( stride_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 ImageBlit2KHR(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const &srcOffsets_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const &dstOffsets_ = {})
+      VULKAN_HPP_NOEXCEPT : srcSubresource(srcSubresource_),
+                            srcOffsets(srcOffsets_),
+                            dstSubresource(dstSubresource_),
+                            dstOffsets(dstOffsets_) {}
 
-    BindVertexBufferIndirectCommandNV( VkBindVertexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14
+  ImageBlit2KHR(ImageBlit2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BindVertexBufferIndirectCommandNV & operator=( VkBindVertexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV const *>( &rhs );
-      return *this;
-    }
+  ImageBlit2KHR(VkImageBlit2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageBlit2KHR(*reinterpret_cast<ImageBlit2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BindVertexBufferIndirectCommandNV &
-      setBufferAddress( VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferAddress = bufferAddress_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ImageBlit2KHR &
+  operator=(ImageBlit2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BindVertexBufferIndirectCommandNV & setSize( uint32_t size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
+  ImageBlit2KHR &operator=(VkImageBlit2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageBlit2KHR const *>(&rhs);
+    return *this;
+  }
 
-    BindVertexBufferIndirectCommandNV & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stride = stride_;
-      return *this;
-    }
+  ImageBlit2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkBindVertexBufferIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBindVertexBufferIndirectCommandNV *>( this );
-    }
+  ImageBlit2KHR &setSrcSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    srcSubresource = srcSubresource_;
+    return *this;
+  }
 
-    operator VkBindVertexBufferIndirectCommandNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBindVertexBufferIndirectCommandNV *>( this );
-    }
+  ImageBlit2KHR &setSrcOffsets(
+      std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const &srcOffsets_)
+      VULKAN_HPP_NOEXCEPT {
+    srcOffsets = srcOffsets_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BindVertexBufferIndirectCommandNV const & ) const = default;
+  ImageBlit2KHR &setDstSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    dstSubresource = dstSubresource_;
+    return *this;
+  }
+
+  ImageBlit2KHR &setDstOffsets(
+      std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const &dstOffsets_)
+      VULKAN_HPP_NOEXCEPT {
+    dstOffsets = dstOffsets_;
+    return *this;
+  }
+
+  operator VkImageBlit2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageBlit2KHR *>(this);
+  }
+
+  operator VkImageBlit2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageBlit2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageBlit2KHR const &) const = default;
 #else
-    bool operator==( BindVertexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( stride == rhs.stride );
-    }
+  bool operator==(ImageBlit2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcSubresource == rhs.srcSubresource) &&
+           (srcOffsets == rhs.srcOffsets) &&
+           (dstSubresource == rhs.dstSubresource) &&
+           (dstOffsets == rhs.dstOffsets);
+  }
 
-    bool operator!=( BindVertexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ImageBlit2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress = {};
-    uint32_t                            size          = {};
-    uint32_t                            stride        = {};
-  };
-  static_assert( sizeof( BindVertexBufferIndirectCommandNV ) == sizeof( VkBindVertexBufferIndirectCommandNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BindVertexBufferIndirectCommandNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageBlit2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::Offset3D, 2>
+      srcOffsets = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::Offset3D, 2>
+      dstOffsets = {};
+};
+static_assert(sizeof(ImageBlit2KHR) == sizeof(VkImageBlit2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageBlit2KHR>::value,
+              "struct wrapper is not a standard layout!");
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionBufferCreateInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+template <> struct CppType<StructureType, StructureType::eImageBlit2KHR> {
+  using Type = ImageBlit2KHR;
+};
+
+struct BlitImageInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBlitImageInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Image srcImage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      uint32_t regionCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ImageBlit2KHR *pRegions_ = {},
+      VULKAN_HPP_NAMESPACE::Filter filter_ =
+          VULKAN_HPP_NAMESPACE::Filter::eNearest) VULKAN_HPP_NOEXCEPT
+      : srcImage(srcImage_),
+        srcImageLayout(srcImageLayout_),
+        dstImage(dstImage_),
+        dstImageLayout(dstImageLayout_),
+        regionCount(regionCount_),
+        pRegions(pRegions_),
+        filter(filter_) {}
+
+  VULKAN_HPP_CONSTEXPR_14
+  BlitImageInfo2KHR(BlitImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BlitImageInfo2KHR(VkBlitImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : BlitImageInfo2KHR(*reinterpret_cast<BlitImageInfo2KHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BlitImageInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Image srcImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
+      VULKAN_HPP_NAMESPACE::Image dstImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageBlit2KHR> const &regions_,
+      VULKAN_HPP_NAMESPACE::Filter filter_ =
+          VULKAN_HPP_NAMESPACE::Filter::eNearest)
+      : srcImage(srcImage_), srcImageLayout(srcImageLayout_),
+        dstImage(dstImage_), dstImageLayout(dstImageLayout_),
+        regionCount(static_cast<uint32_t>(regions_.size())),
+        pRegions(regions_.data()), filter(filter_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2KHR &
+  operator=(BlitImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BlitImageInfo2KHR &
+  operator=(VkBlitImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BlitImageInfo2KHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  BlitImageInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BlitImageInfo2KHR &
+  setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT {
+    srcImage = srcImage_;
+    return *this;
+  }
+
+  BlitImageInfo2KHR &setSrcImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT {
+    srcImageLayout = srcImageLayout_;
+    return *this;
+  }
+
+  BlitImageInfo2KHR &
+  setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT {
+    dstImage = dstImage_;
+    return *this;
+  }
+
+  BlitImageInfo2KHR &setDstImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT {
+    dstImageLayout = dstImageLayout_;
+    return *this;
+  }
+
+  BlitImageInfo2KHR &setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT {
+    regionCount = regionCount_;
+    return *this;
+  }
+
+  BlitImageInfo2KHR &
+  setPRegions(const VULKAN_HPP_NAMESPACE::ImageBlit2KHR *pRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pRegions = pRegions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BlitImageInfo2KHR &
+  setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::ImageBlit2KHR> const &regions_)
+      VULKAN_HPP_NOEXCEPT {
+    regionCount = static_cast<uint32_t>(regions_.size());
+    pRegions = regions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  BlitImageInfo2KHR &
+  setFilter(VULKAN_HPP_NAMESPACE::Filter filter_) VULKAN_HPP_NOEXCEPT {
+    filter = filter_;
+    return *this;
+  }
+
+  operator VkBlitImageInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBlitImageInfo2KHR *>(this);
+  }
+
+  operator VkBlitImageInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBlitImageInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BlitImageInfo2KHR const &) const = default;
+#else
+  bool operator==(BlitImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcImage == rhs.srcImage) &&
+           (srcImageLayout == rhs.srcImageLayout) &&
+           (dstImage == rhs.dstImage) &&
+           (dstImageLayout == rhs.dstImageLayout) &&
+           (regionCount == rhs.regionCount) && (pRegions == rhs.pRegions) &&
+           (filter == rhs.filter);
+  }
+
+  bool operator!=(BlitImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBlitImageInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image srcImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::Image dstImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  uint32_t regionCount = {};
+  const VULKAN_HPP_NAMESPACE::ImageBlit2KHR *pRegions = {};
+  VULKAN_HPP_NAMESPACE::Filter filter = VULKAN_HPP_NAMESPACE::Filter::eNearest;
+};
+static_assert(sizeof(BlitImageInfo2KHR) == sizeof(VkBlitImageInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BlitImageInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eBlitImageInfo2KHR> {
+  using Type = BlitImageInfo2KHR;
+};
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+class BufferCollectionFUCHSIA {
+public:
+  using CType = VkBufferCollectionFUCHSIA;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIA;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::
+              eBufferCollectionFUCHSIA;
+
+public:
+  VULKAN_HPP_CONSTEXPR BufferCollectionFUCHSIA() = default;
+  VULKAN_HPP_CONSTEXPR
+  BufferCollectionFUCHSIA(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT BufferCollectionFUCHSIA(
+      VkBufferCollectionFUCHSIA bufferCollectionFUCHSIA) VULKAN_HPP_NOEXCEPT
+      : m_bufferCollectionFUCHSIA(bufferCollectionFUCHSIA) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  BufferCollectionFUCHSIA &operator=(
+      VkBufferCollectionFUCHSIA bufferCollectionFUCHSIA) VULKAN_HPP_NOEXCEPT {
+    m_bufferCollectionFUCHSIA = bufferCollectionFUCHSIA;
+    return *this;
+  }
+#endif
+
+  BufferCollectionFUCHSIA &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_bufferCollectionFUCHSIA = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferCollectionFUCHSIA const &) const = default;
+#else
+  bool
+  operator==(BufferCollectionFUCHSIA const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_bufferCollectionFUCHSIA == rhs.m_bufferCollectionFUCHSIA;
+  }
+
+  bool
+  operator!=(BufferCollectionFUCHSIA const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_bufferCollectionFUCHSIA != rhs.m_bufferCollectionFUCHSIA;
+  }
+
+  bool operator<(BufferCollectionFUCHSIA const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_bufferCollectionFUCHSIA < rhs.m_bufferCollectionFUCHSIA;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkBufferCollectionFUCHSIA() const VULKAN_HPP_NOEXCEPT {
+    return m_bufferCollectionFUCHSIA;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_bufferCollectionFUCHSIA != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_bufferCollectionFUCHSIA == VK_NULL_HANDLE;
+  }
+
+private:
+  VkBufferCollectionFUCHSIA m_bufferCollectionFUCHSIA = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA) ==
+                  sizeof(VkBufferCollectionFUCHSIA),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eBufferCollectionFUCHSIA> {
+  using type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIA> {
+  using Type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA> {
+  using Type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct BufferCollectionBufferCreateInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eBufferCollectionBufferCreateInfoFUCHSIA;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BufferCollectionBufferCreateInfoFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
-                                             uint32_t index_ = {} ) VULKAN_HPP_NOEXCEPT
-      : collection( collection_ )
-      , index( index_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferCollectionBufferCreateInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
+      uint32_t index_ = {}) VULKAN_HPP_NOEXCEPT : collection(collection_),
+                                                  index(index_) {}
 
-    BufferCollectionBufferCreateInfoFUCHSIA( VkBufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferCollectionBufferCreateInfoFUCHSIA(
+      BufferCollectionBufferCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferCollectionBufferCreateInfoFUCHSIA &
-      operator=( VkBufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
+  BufferCollectionBufferCreateInfoFUCHSIA(
+      VkBufferCollectionBufferCreateInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionBufferCreateInfoFUCHSIA(
+            *reinterpret_cast<BufferCollectionBufferCreateInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferCollectionBufferCreateInfoFUCHSIA &
-      operator=( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      collection = rhs.collection;
-      index      = rhs.index;
+  VULKAN_HPP_CONSTEXPR_14 BufferCollectionBufferCreateInfoFUCHSIA &
+  operator=(BufferCollectionBufferCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferCollectionBufferCreateInfoFUCHSIA &
+  operator=(VkBufferCollectionBufferCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA const *>(
+        &rhs);
+    return *this;
+  }
 
-    BufferCollectionBufferCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferCollectionBufferCreateInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferCollectionBufferCreateInfoFUCHSIA &
-      setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT
-    {
-      collection = collection_;
-      return *this;
-    }
+  BufferCollectionBufferCreateInfoFUCHSIA &
+  setCollection(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_)
+      VULKAN_HPP_NOEXCEPT {
+    collection = collection_;
+    return *this;
+  }
 
-    BufferCollectionBufferCreateInfoFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
-    {
-      index = index_;
-      return *this;
-    }
+  BufferCollectionBufferCreateInfoFUCHSIA &
+  setIndex(uint32_t index_) VULKAN_HPP_NOEXCEPT {
+    index = index_;
+    return *this;
+  }
 
-    operator VkBufferCollectionBufferCreateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionBufferCreateInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA *>(
+        this);
+  }
 
-    operator VkBufferCollectionBufferCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferCollectionBufferCreateInfoFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionBufferCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCollectionBufferCreateInfoFUCHSIA *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCollectionBufferCreateInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) &&
-             ( index == rhs.index );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(BufferCollectionBufferCreateInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(BufferCollectionBufferCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (collection == rhs.collection) && (index == rhs.index);
+  }
 
-    bool operator!=( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(BufferCollectionBufferCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType      = StructureType::eBufferCollectionBufferCreateInfoFUCHSIA;
-    const void *                                  pNext      = {};
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
-    uint32_t                                      index      = {};
-  };
-  static_assert( sizeof( BufferCollectionBufferCreateInfoFUCHSIA ) ==
-                   sizeof( VkBufferCollectionBufferCreateInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferCollectionBufferCreateInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferCollectionBufferCreateInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
+  uint32_t index = {};
+};
+static_assert(sizeof(BufferCollectionBufferCreateInfoFUCHSIA) ==
+                  sizeof(VkBufferCollectionBufferCreateInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<BufferCollectionBufferCreateInfoFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferCollectionBufferCreateInfoFUCHSIA>
-  {
-    using Type = BufferCollectionBufferCreateInfoFUCHSIA;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBufferCollectionBufferCreateInfoFUCHSIA> {
+  using Type = BufferCollectionBufferCreateInfoFUCHSIA;
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionCreateInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct BufferCollectionCreateInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eBufferCollectionCreateInfoFUCHSIA;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIA( zx_handle_t collectionToken_ = {} ) VULKAN_HPP_NOEXCEPT
-      : collectionToken( collectionToken_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIA(
+      zx_handle_t collectionToken_ = {}) VULKAN_HPP_NOEXCEPT
+      : collectionToken(collectionToken_) {}
 
-    BufferCollectionCreateInfoFUCHSIA( VkBufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIA(
+      BufferCollectionCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferCollectionCreateInfoFUCHSIA & operator=( VkBufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
+  BufferCollectionCreateInfoFUCHSIA(
+      VkBufferCollectionCreateInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionCreateInfoFUCHSIA(
+            *reinterpret_cast<BufferCollectionCreateInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferCollectionCreateInfoFUCHSIA & operator=( BufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      collectionToken = rhs.collectionToken;
+  VULKAN_HPP_CONSTEXPR_14 BufferCollectionCreateInfoFUCHSIA &
+  operator=(BufferCollectionCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferCollectionCreateInfoFUCHSIA &operator=(
+      VkBufferCollectionCreateInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const *>(&rhs);
+    return *this;
+  }
 
-    BufferCollectionCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferCollectionCreateInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferCollectionCreateInfoFUCHSIA & setCollectionToken( zx_handle_t collectionToken_ ) VULKAN_HPP_NOEXCEPT
-    {
-      collectionToken = collectionToken_;
-      return *this;
-    }
+  BufferCollectionCreateInfoFUCHSIA &
+  setCollectionToken(zx_handle_t collectionToken_) VULKAN_HPP_NOEXCEPT {
+    collectionToken = collectionToken_;
+    return *this;
+  }
 
-    operator VkBufferCollectionCreateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionCreateInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>(this);
+  }
 
-    operator VkBufferCollectionCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferCollectionCreateInfoFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCollectionCreateInfoFUCHSIA *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCollectionCreateInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( memcmp( &collectionToken, &rhs.collectionToken, sizeof( zx_handle_t ) ) == 0 );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferCollectionCreateInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(BufferCollectionCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memcmp(&collectionToken, &rhs.collectionToken,
+                   sizeof(zx_handle_t)) == 0);
+  }
 
-    bool operator!=( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(BufferCollectionCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eBufferCollectionCreateInfoFUCHSIA;
-    const void *                              pNext           = {};
-    zx_handle_t                               collectionToken = {};
-  };
-  static_assert( sizeof( BufferCollectionCreateInfoFUCHSIA ) == sizeof( VkBufferCollectionCreateInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferCollectionCreateInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferCollectionCreateInfoFUCHSIA;
+  const void *pNext = {};
+  zx_handle_t collectionToken = {};
+};
+static_assert(sizeof(BufferCollectionCreateInfoFUCHSIA) ==
+                  sizeof(VkBufferCollectionCreateInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferCollectionCreateInfoFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferCollectionCreateInfoFUCHSIA>
-  {
-    using Type = BufferCollectionCreateInfoFUCHSIA;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBufferCollectionCreateInfoFUCHSIA> {
+  using Type = BufferCollectionCreateInfoFUCHSIA;
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionImageCreateInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct BufferCollectionImageCreateInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eBufferCollectionImageCreateInfoFUCHSIA;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BufferCollectionImageCreateInfoFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
-                                            uint32_t index_ = {} ) VULKAN_HPP_NOEXCEPT
-      : collection( collection_ )
-      , index( index_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferCollectionImageCreateInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
+      uint32_t index_ = {}) VULKAN_HPP_NOEXCEPT : collection(collection_),
+                                                  index(index_) {}
 
-    BufferCollectionImageCreateInfoFUCHSIA( VkBufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferCollectionImageCreateInfoFUCHSIA(
+      BufferCollectionImageCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferCollectionImageCreateInfoFUCHSIA &
-      operator=( VkBufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
+  BufferCollectionImageCreateInfoFUCHSIA(
+      VkBufferCollectionImageCreateInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionImageCreateInfoFUCHSIA(
+            *reinterpret_cast<BufferCollectionImageCreateInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferCollectionImageCreateInfoFUCHSIA &
-      operator=( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      collection = rhs.collection;
-      index      = rhs.index;
+  VULKAN_HPP_CONSTEXPR_14 BufferCollectionImageCreateInfoFUCHSIA &
+  operator=(BufferCollectionImageCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferCollectionImageCreateInfoFUCHSIA &operator=(
+      VkBufferCollectionImageCreateInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA const *>(
+        &rhs);
+    return *this;
+  }
 
-    BufferCollectionImageCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferCollectionImageCreateInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferCollectionImageCreateInfoFUCHSIA &
-      setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT
-    {
-      collection = collection_;
-      return *this;
-    }
+  BufferCollectionImageCreateInfoFUCHSIA &
+  setCollection(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_)
+      VULKAN_HPP_NOEXCEPT {
+    collection = collection_;
+    return *this;
+  }
 
-    BufferCollectionImageCreateInfoFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
-    {
-      index = index_;
-      return *this;
-    }
+  BufferCollectionImageCreateInfoFUCHSIA &
+  setIndex(uint32_t index_) VULKAN_HPP_NOEXCEPT {
+    index = index_;
+    return *this;
+  }
 
-    operator VkBufferCollectionImageCreateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionImageCreateInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA *>(
+        this);
+  }
 
-    operator VkBufferCollectionImageCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferCollectionImageCreateInfoFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionImageCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCollectionImageCreateInfoFUCHSIA *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCollectionImageCreateInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) &&
-             ( index == rhs.index );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(BufferCollectionImageCreateInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(BufferCollectionImageCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (collection == rhs.collection) && (index == rhs.index);
+  }
 
-    bool operator!=( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(BufferCollectionImageCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType      = StructureType::eBufferCollectionImageCreateInfoFUCHSIA;
-    const void *                                  pNext      = {};
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
-    uint32_t                                      index      = {};
-  };
-  static_assert( sizeof( BufferCollectionImageCreateInfoFUCHSIA ) == sizeof( VkBufferCollectionImageCreateInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferCollectionImageCreateInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferCollectionImageCreateInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
+  uint32_t index = {};
+};
+static_assert(sizeof(BufferCollectionImageCreateInfoFUCHSIA) ==
+                  sizeof(VkBufferCollectionImageCreateInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<BufferCollectionImageCreateInfoFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferCollectionImageCreateInfoFUCHSIA>
-  {
-    using Type = BufferCollectionImageCreateInfoFUCHSIA;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBufferCollectionImageCreateInfoFUCHSIA> {
+  using Type = BufferCollectionImageCreateInfoFUCHSIA;
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct SysmemColorSpaceFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSysmemColorSpaceFUCHSIA;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct SysmemColorSpaceFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSysmemColorSpaceFUCHSIA;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIA( uint32_t colorSpace_ = {} ) VULKAN_HPP_NOEXCEPT
-      : colorSpace( colorSpace_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SysmemColorSpaceFUCHSIA(uint32_t colorSpace_ = {}) VULKAN_HPP_NOEXCEPT
+      : colorSpace(colorSpace_) {}
 
-    SysmemColorSpaceFUCHSIA( VkSysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIA(
+      SysmemColorSpaceFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SysmemColorSpaceFUCHSIA & operator=( VkSysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const *>( &rhs );
-      return *this;
-    }
+  SysmemColorSpaceFUCHSIA(VkSysmemColorSpaceFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SysmemColorSpaceFUCHSIA(
+            *reinterpret_cast<SysmemColorSpaceFUCHSIA const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SysmemColorSpaceFUCHSIA & operator=( SysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      colorSpace = rhs.colorSpace;
+  VULKAN_HPP_CONSTEXPR_14 SysmemColorSpaceFUCHSIA &
+  operator=(SysmemColorSpaceFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SysmemColorSpaceFUCHSIA &
+  operator=(VkSysmemColorSpaceFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const *>(&rhs);
+    return *this;
+  }
 
-    SysmemColorSpaceFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SysmemColorSpaceFUCHSIA &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SysmemColorSpaceFUCHSIA & setColorSpace( uint32_t colorSpace_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorSpace = colorSpace_;
-      return *this;
-    }
+  SysmemColorSpaceFUCHSIA &
+  setColorSpace(uint32_t colorSpace_) VULKAN_HPP_NOEXCEPT {
+    colorSpace = colorSpace_;
+    return *this;
+  }
 
-    operator VkSysmemColorSpaceFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSysmemColorSpaceFUCHSIA *>( this );
-    }
+  operator VkSysmemColorSpaceFUCHSIA const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSysmemColorSpaceFUCHSIA *>(this);
+  }
 
-    operator VkSysmemColorSpaceFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSysmemColorSpaceFUCHSIA *>( this );
-    }
+  operator VkSysmemColorSpaceFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSysmemColorSpaceFUCHSIA *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SysmemColorSpaceFUCHSIA const & ) const = default;
-#  else
-    bool operator==( SysmemColorSpaceFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( colorSpace == rhs.colorSpace );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SysmemColorSpaceFUCHSIA const &) const = default;
+#else
+  bool
+  operator==(SysmemColorSpaceFUCHSIA const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (colorSpace == rhs.colorSpace);
+  }
 
-    bool operator!=( SysmemColorSpaceFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool
+  operator!=(SysmemColorSpaceFUCHSIA const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eSysmemColorSpaceFUCHSIA;
-    const void *                              pNext      = {};
-    uint32_t                                  colorSpace = {};
-  };
-  static_assert( sizeof( SysmemColorSpaceFUCHSIA ) == sizeof( VkSysmemColorSpaceFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SysmemColorSpaceFUCHSIA>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSysmemColorSpaceFUCHSIA;
+  const void *pNext = {};
+  uint32_t colorSpace = {};
+};
+static_assert(sizeof(SysmemColorSpaceFUCHSIA) ==
+                  sizeof(VkSysmemColorSpaceFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SysmemColorSpaceFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSysmemColorSpaceFUCHSIA>
-  {
-    using Type = SysmemColorSpaceFUCHSIA;
-  };
+template <>
+struct CppType<StructureType, StructureType::eSysmemColorSpaceFUCHSIA> {
+  using Type = SysmemColorSpaceFUCHSIA;
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionProperties2FUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct BufferCollectionProperties2FUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eBufferCollectionProperties2FUCHSIA;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferCollectionProperties2FUCHSIA(
-      uint32_t                                          memoryTypeBits_                   = {},
-      uint32_t                                          bufferCount_                      = {},
-      uint32_t                                          createInfoIndex_                  = {},
-      uint64_t                                          sysmemFormat_                     = {},
-      VULKAN_HPP_NAMESPACE::FormatFeatureFlags          formatFeatures_                   = {},
-      VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA     colorSpace_                       = {},
-      VULKAN_HPP_NAMESPACE::ComponentMapping            samplerYcbcrConversionComponents_ = {},
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferCollectionProperties2FUCHSIA(
+      uint32_t memoryTypeBits_ = {}, uint32_t bufferCount_ = {},
+      uint32_t createInfoIndex_ = {}, uint64_t sysmemFormat_ = {},
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_ = {},
+      VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA 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::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_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_) {}
 
-    BufferCollectionProperties2FUCHSIA( VkBufferCollectionProperties2FUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferCollectionProperties2FUCHSIA(
+      BufferCollectionProperties2FUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferCollectionProperties2FUCHSIA &
-      operator=( VkBufferCollectionProperties2FUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA const *>( &rhs );
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA(
+      VkBufferCollectionProperties2FUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionProperties2FUCHSIA(
+            *reinterpret_cast<BufferCollectionProperties2FUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferCollectionProperties2FUCHSIA & operator=( BufferCollectionProperties2FUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      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;
+  VULKAN_HPP_CONSTEXPR_14 BufferCollectionProperties2FUCHSIA &
+  operator=(BufferCollectionProperties2FUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &operator=(
+      VkBufferCollectionProperties2FUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA const *>(&rhs);
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA & setMemoryTypeBits( uint32_t memoryTypeBits_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryTypeBits = memoryTypeBits_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &
+  setMemoryTypeBits(uint32_t memoryTypeBits_) VULKAN_HPP_NOEXCEPT {
+    memoryTypeBits = memoryTypeBits_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA & setBufferCount( uint32_t bufferCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferCount = bufferCount_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &
+  setBufferCount(uint32_t bufferCount_) VULKAN_HPP_NOEXCEPT {
+    bufferCount = bufferCount_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA & setCreateInfoIndex( uint32_t createInfoIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      createInfoIndex = createInfoIndex_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &
+  setCreateInfoIndex(uint32_t createInfoIndex_) VULKAN_HPP_NOEXCEPT {
+    createInfoIndex = createInfoIndex_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA & setSysmemFormat( uint64_t sysmemFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sysmemFormat = sysmemFormat_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &
+  setSysmemFormat(uint64_t sysmemFormat_) VULKAN_HPP_NOEXCEPT {
+    sysmemFormat = sysmemFormat_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA &
-      setFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      formatFeatures = formatFeatures_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &
+  setFormatFeatures(VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_)
+      VULKAN_HPP_NOEXCEPT {
+    formatFeatures = formatFeatures_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA &
-      setColorSpace( VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const & colorSpace_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorSpace = colorSpace_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &setColorSpace(
+      VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const &colorSpace_)
+      VULKAN_HPP_NOEXCEPT {
+    colorSpace = colorSpace_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA & setSamplerYcbcrConversionComponents(
-      VULKAN_HPP_NAMESPACE::ComponentMapping const & samplerYcbcrConversionComponents_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samplerYcbcrConversionComponents = samplerYcbcrConversionComponents_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &setSamplerYcbcrConversionComponents(
+      VULKAN_HPP_NAMESPACE::ComponentMapping const
+          &samplerYcbcrConversionComponents_) VULKAN_HPP_NOEXCEPT {
+    samplerYcbcrConversionComponents = samplerYcbcrConversionComponents_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA & setSuggestedYcbcrModel(
-      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      suggestedYcbcrModel = suggestedYcbcrModel_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &setSuggestedYcbcrModel(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel_)
+      VULKAN_HPP_NOEXCEPT {
+    suggestedYcbcrModel = suggestedYcbcrModel_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA &
-      setSuggestedYcbcrRange( VULKAN_HPP_NAMESPACE::SamplerYcbcrRange suggestedYcbcrRange_ ) VULKAN_HPP_NOEXCEPT
-    {
-      suggestedYcbcrRange = suggestedYcbcrRange_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &setSuggestedYcbcrRange(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrRange suggestedYcbcrRange_)
+      VULKAN_HPP_NOEXCEPT {
+    suggestedYcbcrRange = suggestedYcbcrRange_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA &
-      setSuggestedXChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation suggestedXChromaOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      suggestedXChromaOffset = suggestedXChromaOffset_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &setSuggestedXChromaOffset(
+      VULKAN_HPP_NAMESPACE::ChromaLocation suggestedXChromaOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    suggestedXChromaOffset = suggestedXChromaOffset_;
+    return *this;
+  }
 
-    BufferCollectionProperties2FUCHSIA &
-      setSuggestedYChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation suggestedYChromaOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      suggestedYChromaOffset = suggestedYChromaOffset_;
-      return *this;
-    }
+  BufferCollectionProperties2FUCHSIA &setSuggestedYChromaOffset(
+      VULKAN_HPP_NAMESPACE::ChromaLocation suggestedYChromaOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    suggestedYChromaOffset = suggestedYChromaOffset_;
+    return *this;
+  }
 
-    operator VkBufferCollectionProperties2FUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferCollectionProperties2FUCHSIA *>( this );
-    }
+  operator VkBufferCollectionProperties2FUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCollectionProperties2FUCHSIA *>(
+        this);
+  }
 
-    operator VkBufferCollectionProperties2FUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferCollectionProperties2FUCHSIA *>( this );
-    }
+  operator VkBufferCollectionProperties2FUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCollectionProperties2FUCHSIA *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCollectionProperties2FUCHSIA const & ) const = default;
-#  else
-    bool operator==( BufferCollectionProperties2FUCHSIA 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 );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferCollectionProperties2FUCHSIA const &) const = default;
+#else
+  bool operator==(BufferCollectionProperties2FUCHSIA 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!=( BufferCollectionProperties2FUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(BufferCollectionProperties2FUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType = StructureType::eBufferCollectionProperties2FUCHSIA;
-    void *                                            pNext = {};
-    uint32_t                                          memoryTypeBits                   = {};
-    uint32_t                                          bufferCount                      = {};
-    uint32_t                                          createInfoIndex                  = {};
-    uint64_t                                          sysmemFormat                     = {};
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags          formatFeatures                   = {};
-    VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA     colorSpace                       = {};
-    VULKAN_HPP_NAMESPACE::ComponentMapping            samplerYcbcrConversionComponents = {};
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferCollectionProperties2FUCHSIA;
+  void *pNext = {};
+  uint32_t memoryTypeBits = {};
+  uint32_t bufferCount = {};
+  uint32_t createInfoIndex = {};
+  uint64_t sysmemFormat = {};
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures = {};
+  VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA 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;
-  };
-  static_assert( sizeof( BufferCollectionProperties2FUCHSIA ) == sizeof( VkBufferCollectionProperties2FUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferCollectionProperties2FUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+  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;
+};
+static_assert(sizeof(BufferCollectionProperties2FUCHSIA) ==
+                  sizeof(VkBufferCollectionProperties2FUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<BufferCollectionProperties2FUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferCollectionProperties2FUCHSIA>
-  {
-    using Type = BufferCollectionProperties2FUCHSIA;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBufferCollectionProperties2FUCHSIA> {
+  using Type = BufferCollectionProperties2FUCHSIA;
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferCollectionPropertiesFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct BufferCollectionPropertiesFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eBufferCollectionPropertiesFUCHSIA;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIA( uint32_t memoryTypeBits_ = {},
-                                                            uint32_t count_          = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryTypeBits( memoryTypeBits_ )
-      , count( count_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  BufferCollectionPropertiesFUCHSIA(uint32_t memoryTypeBits_ = {},
+                                    uint32_t count_ = {}) VULKAN_HPP_NOEXCEPT
+      : memoryTypeBits(memoryTypeBits_),
+        count(count_) {}
 
-    BufferCollectionPropertiesFUCHSIA( VkBufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIA(
+      BufferCollectionPropertiesFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferCollectionPropertiesFUCHSIA & operator=( VkBufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA const *>( &rhs );
-      return *this;
-    }
+  BufferCollectionPropertiesFUCHSIA(
+      VkBufferCollectionPropertiesFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionPropertiesFUCHSIA(
+            *reinterpret_cast<BufferCollectionPropertiesFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferCollectionPropertiesFUCHSIA & operator=( BufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      memoryTypeBits = rhs.memoryTypeBits;
-      count          = rhs.count;
+  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
+  operator=(BufferCollectionPropertiesFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferCollectionPropertiesFUCHSIA &operator=(
+      VkBufferCollectionPropertiesFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA const *>(&rhs);
+    return *this;
+  }
 
-    BufferCollectionPropertiesFUCHSIA & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferCollectionPropertiesFUCHSIA &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferCollectionPropertiesFUCHSIA & setMemoryTypeBits( uint32_t memoryTypeBits_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryTypeBits = memoryTypeBits_;
-      return *this;
-    }
+  BufferCollectionPropertiesFUCHSIA &
+  setMemoryTypeBits(uint32_t memoryTypeBits_) VULKAN_HPP_NOEXCEPT {
+    memoryTypeBits = memoryTypeBits_;
+    return *this;
+  }
 
-    BufferCollectionPropertiesFUCHSIA & setCount( uint32_t count_ ) VULKAN_HPP_NOEXCEPT
-    {
-      count = count_;
-      return *this;
-    }
+  BufferCollectionPropertiesFUCHSIA &
+  setCount(uint32_t count_) VULKAN_HPP_NOEXCEPT {
+    count = count_;
+    return *this;
+  }
 
-    operator VkBufferCollectionPropertiesFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferCollectionPropertiesFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionPropertiesFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCollectionPropertiesFUCHSIA *>(this);
+  }
 
-    operator VkBufferCollectionPropertiesFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( this );
-    }
+  operator VkBufferCollectionPropertiesFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCollectionPropertiesFUCHSIA const & ) const = default;
-#  else
-    bool operator==( BufferCollectionPropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits ) &&
-             ( count == rhs.count );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferCollectionPropertiesFUCHSIA const &) const = default;
+#else
+  bool operator==(BufferCollectionPropertiesFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryTypeBits == rhs.memoryTypeBits) && (count == rhs.count);
+  }
 
-    bool operator!=( BufferCollectionPropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(BufferCollectionPropertiesFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eBufferCollectionPropertiesFUCHSIA;
-    void *                                    pNext          = {};
-    uint32_t                                  memoryTypeBits = {};
-    uint32_t                                  count          = {};
-  };
-  static_assert( sizeof( BufferCollectionPropertiesFUCHSIA ) == sizeof( VkBufferCollectionPropertiesFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferCollectionPropertiesFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferCollectionPropertiesFUCHSIA;
+  void *pNext = {};
+  uint32_t memoryTypeBits = {};
+  uint32_t count = {};
+};
+static_assert(sizeof(BufferCollectionPropertiesFUCHSIA) ==
+                  sizeof(VkBufferCollectionPropertiesFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferCollectionPropertiesFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferCollectionPropertiesFUCHSIA>
-  {
-    using Type = BufferCollectionPropertiesFUCHSIA;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBufferCollectionPropertiesFUCHSIA> {
+  using Type = BufferCollectionPropertiesFUCHSIA;
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  struct BufferCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBufferCreateInfo;
+struct BufferCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BufferCreateInfo( VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_ = {},
-                      VULKAN_HPP_NAMESPACE::DeviceSize        size_  = {},
-                      VULKAN_HPP_NAMESPACE::BufferUsageFlags  usage_ = {},
-                      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_ = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
-                      uint32_t                          queueFamilyIndexCount_ = {},
-                      const uint32_t *                  pQueueFamilyIndices_   = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , size( size_ )
-      , usage( usage_ )
-      , sharingMode( sharingMode_ )
-      , queueFamilyIndexCount( queueFamilyIndexCount_ )
-      , pQueueFamilyIndices( pQueueFamilyIndices_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferCreateInfo(
+      VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {},
+      VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_ = {},
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_ =
+          VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
+      uint32_t queueFamilyIndexCount_ = {},
+      const uint32_t *pQueueFamilyIndices_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        size(size_),
+        usage(usage_),
+        sharingMode(sharingMode_),
+        queueFamilyIndexCount(queueFamilyIndexCount_),
+        pQueueFamilyIndices(pQueueFamilyIndices_) {}
 
-    BufferCreateInfo( VkBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR
+  BufferCreateInfo(BufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BufferCreateInfo( VULKAN_HPP_NAMESPACE::BufferCreateFlags                               flags_,
-                      VULKAN_HPP_NAMESPACE::DeviceSize                                      size_,
-                      VULKAN_HPP_NAMESPACE::BufferUsageFlags                                usage_,
-                      VULKAN_HPP_NAMESPACE::SharingMode                                     sharingMode_,
-                      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ )
-      : flags( flags_ )
-      , size( size_ )
-      , usage( usage_ )
-      , sharingMode( sharingMode_ )
-      , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
-      , pQueueFamilyIndices( queueFamilyIndices_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  BufferCreateInfo(VkBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCreateInfo(*reinterpret_cast<BufferCreateInfo const *>(&rhs)) {}
 
-    BufferCreateInfo & operator=( VkBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCreateInfo const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BufferCreateInfo(
+      VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::DeviceSize size_,
+      VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_,
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_)
+      : flags(flags_), size(size_), usage(usage_), sharingMode(sharingMode_),
+        queueFamilyIndexCount(
+            static_cast<uint32_t>(queueFamilyIndices_.size())),
+        pQueueFamilyIndices(queueFamilyIndices_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferCreateInfo & operator=( BufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      flags                 = rhs.flags;
-      size                  = rhs.size;
-      usage                 = rhs.usage;
-      sharingMode           = rhs.sharingMode;
-      queueFamilyIndexCount = rhs.queueFamilyIndexCount;
-      pQueueFamilyIndices   = rhs.pQueueFamilyIndices;
+  VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo &
+  operator=(BufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferCreateInfo &
+  operator=(VkBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-    BufferCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  BufferCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    BufferCreateInfo & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
+  BufferCreateInfo &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
 
-    BufferCreateInfo & setUsage( VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      usage = usage_;
-      return *this;
-    }
+  BufferCreateInfo &
+  setUsage(VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_) VULKAN_HPP_NOEXCEPT {
+    usage = usage_;
+    return *this;
+  }
 
-    BufferCreateInfo & setSharingMode( VULKAN_HPP_NAMESPACE::SharingMode sharingMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sharingMode = sharingMode_;
-      return *this;
-    }
+  BufferCreateInfo &setSharingMode(
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_) VULKAN_HPP_NOEXCEPT {
+    sharingMode = sharingMode_;
+    return *this;
+  }
 
-    BufferCreateInfo & setQueueFamilyIndexCount( uint32_t queueFamilyIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = queueFamilyIndexCount_;
-      return *this;
-    }
+  BufferCreateInfo &setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_)
+      VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = queueFamilyIndexCount_;
+    return *this;
+  }
 
-    BufferCreateInfo & setPQueueFamilyIndices( const uint32_t * pQueueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pQueueFamilyIndices = pQueueFamilyIndices_;
-      return *this;
-    }
+  BufferCreateInfo &setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_)
+      VULKAN_HPP_NOEXCEPT {
+    pQueueFamilyIndices = pQueueFamilyIndices_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    BufferCreateInfo & setQueueFamilyIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
-      pQueueFamilyIndices   = queueFamilyIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  BufferCreateInfo &setQueueFamilyIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = static_cast<uint32_t>(queueFamilyIndices_.size());
+    pQueueFamilyIndices = queueFamilyIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkBufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferCreateInfo *>( this );
-    }
+  operator VkBufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCreateInfo *>(this);
+  }
 
-    operator VkBufferCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferCreateInfo *>( this );
-    }
+  operator VkBufferCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCreateInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferCreateInfo const &) const = default;
 #else
-    bool operator==( BufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( size == rhs.size ) &&
-             ( usage == rhs.usage ) && ( sharingMode == rhs.sharingMode ) &&
-             ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) &&
-             ( pQueueFamilyIndices == rhs.pQueueFamilyIndices );
-    }
+  bool operator==(BufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (size == rhs.size) && (usage == rhs.usage) &&
+           (sharingMode == rhs.sharingMode) &&
+           (queueFamilyIndexCount == rhs.queueFamilyIndexCount) &&
+           (pQueueFamilyIndices == rhs.pQueueFamilyIndices);
+  }
 
-    bool operator!=( BufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                 = StructureType::eBufferCreateInfo;
-    const void *                              pNext                 = {};
-    VULKAN_HPP_NAMESPACE::BufferCreateFlags   flags                 = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          size                  = {};
-    VULKAN_HPP_NAMESPACE::BufferUsageFlags    usage                 = {};
-    VULKAN_HPP_NAMESPACE::SharingMode         sharingMode           = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
-    uint32_t                                  queueFamilyIndexCount = {};
-    const uint32_t *                          pQueueFamilyIndices   = {};
-  };
-  static_assert( sizeof( BufferCreateInfo ) == sizeof( VkBufferCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::BufferCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+  VULKAN_HPP_NAMESPACE::BufferUsageFlags usage = {};
+  VULKAN_HPP_NAMESPACE::SharingMode sharingMode =
+      VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
+  uint32_t queueFamilyIndexCount = {};
+  const uint32_t *pQueueFamilyIndices = {};
+};
+static_assert(sizeof(BufferCreateInfo) == sizeof(VkBufferCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferCreateInfo>
-  {
-    using Type = BufferCreateInfo;
-  };
+template <> struct CppType<StructureType, StructureType::eBufferCreateInfo> {
+  using Type = BufferCreateInfo;
+};
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct BufferConstraintsInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBufferConstraintsInfoFUCHSIA;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct BufferConstraintsInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferConstraintsInfoFUCHSIA;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BufferConstraintsInfoFUCHSIA( const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pBufferCreateInfo_      = {},
-                                  VULKAN_HPP_NAMESPACE::FormatFeatureFlags       requiredFormatFeatures_ = {},
-                                  uint32_t                                       minCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pBufferCreateInfo( pBufferCreateInfo_ )
-      , requiredFormatFeatures( requiredFormatFeatures_ )
-      , minCount( minCount_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferConstraintsInfoFUCHSIA(
+      const VULKAN_HPP_NAMESPACE::BufferCreateInfo *pBufferCreateInfo_ = {},
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ = {},
+      uint32_t minCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : pBufferCreateInfo(pBufferCreateInfo_),
+        requiredFormatFeatures(requiredFormatFeatures_),
+        minCount(minCount_) {}
 
-    BufferConstraintsInfoFUCHSIA( VkBufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferConstraintsInfoFUCHSIA(
+      BufferConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BufferConstraintsInfoFUCHSIA & operator=( VkBufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
+  BufferConstraintsInfoFUCHSIA(VkBufferConstraintsInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BufferConstraintsInfoFUCHSIA(
+            *reinterpret_cast<BufferConstraintsInfoFUCHSIA const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferConstraintsInfoFUCHSIA & operator=( BufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      pBufferCreateInfo      = rhs.pBufferCreateInfo;
-      requiredFormatFeatures = rhs.requiredFormatFeatures;
-      minCount               = rhs.minCount;
+  VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA &operator=(
+      BufferConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferConstraintsInfoFUCHSIA &
+  operator=(VkBufferConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA const *>(&rhs);
+    return *this;
+  }
 
-    BufferConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferConstraintsInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferConstraintsInfoFUCHSIA &
-      setPBufferCreateInfo( const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pBufferCreateInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBufferCreateInfo = pBufferCreateInfo_;
-      return *this;
-    }
+  BufferConstraintsInfoFUCHSIA &setPBufferCreateInfo(
+      const VULKAN_HPP_NAMESPACE::BufferCreateInfo *pBufferCreateInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    pBufferCreateInfo = pBufferCreateInfo_;
+    return *this;
+  }
 
-    BufferConstraintsInfoFUCHSIA &
-      setRequiredFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      requiredFormatFeatures = requiredFormatFeatures_;
-      return *this;
-    }
+  BufferConstraintsInfoFUCHSIA &setRequiredFormatFeatures(
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_)
+      VULKAN_HPP_NOEXCEPT {
+    requiredFormatFeatures = requiredFormatFeatures_;
+    return *this;
+  }
 
-    BufferConstraintsInfoFUCHSIA & setMinCount( uint32_t minCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minCount = minCount_;
-      return *this;
-    }
+  BufferConstraintsInfoFUCHSIA &
+  setMinCount(uint32_t minCount_) VULKAN_HPP_NOEXCEPT {
+    minCount = minCount_;
+    return *this;
+  }
 
-    operator VkBufferConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( this );
-    }
+  operator VkBufferConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>(this);
+  }
 
-    operator VkBufferConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferConstraintsInfoFUCHSIA *>( this );
-    }
+  operator VkBufferConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferConstraintsInfoFUCHSIA *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferConstraintsInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( BufferConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pBufferCreateInfo == rhs.pBufferCreateInfo ) &&
-             ( requiredFormatFeatures == rhs.requiredFormatFeatures ) && ( minCount == rhs.minCount );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferConstraintsInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(BufferConstraintsInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pBufferCreateInfo == rhs.pBufferCreateInfo) &&
+           (requiredFormatFeatures == rhs.requiredFormatFeatures) &&
+           (minCount == rhs.minCount);
+  }
 
-    bool operator!=( BufferConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(BufferConstraintsInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType             = StructureType::eBufferConstraintsInfoFUCHSIA;
-    const void *                                   pNext             = {};
-    const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pBufferCreateInfo = {};
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags       requiredFormatFeatures = {};
-    uint32_t                                       minCount               = {};
-  };
-  static_assert( sizeof( BufferConstraintsInfoFUCHSIA ) == sizeof( VkBufferConstraintsInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferConstraintsInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferConstraintsInfoFUCHSIA;
+  const void *pNext = {};
+  const VULKAN_HPP_NAMESPACE::BufferCreateInfo *pBufferCreateInfo = {};
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures = {};
+  uint32_t minCount = {};
+};
+static_assert(sizeof(BufferConstraintsInfoFUCHSIA) ==
+                  sizeof(VkBufferConstraintsInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferConstraintsInfoFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferConstraintsInfoFUCHSIA>
-  {
-    using Type = BufferConstraintsInfoFUCHSIA;
-  };
+template <>
+struct CppType<StructureType, StructureType::eBufferConstraintsInfoFUCHSIA> {
+  using Type = BufferConstraintsInfoFUCHSIA;
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  struct BufferCopy
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferCopy( VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_ = {},
-                                     VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_ = {},
-                                     VULKAN_HPP_NAMESPACE::DeviceSize size_      = {} ) VULKAN_HPP_NOEXCEPT
-      : srcOffset( srcOffset_ )
-      , dstOffset( dstOffset_ )
-      , size( size_ )
-    {}
+struct BufferCopy {
 
-    BufferCopy( VkBufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  BufferCopy(VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_ = {},
+             VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_ = {},
+             VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcOffset(srcOffset_),
+        dstOffset(dstOffset_),
+        size(size_) {}
 
-    BufferCopy & operator=( VkBufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCopy const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  BufferCopy(BufferCopy const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BufferCopy & setSrcOffset( VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcOffset = srcOffset_;
-      return *this;
-    }
+  BufferCopy(VkBufferCopy const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCopy(*reinterpret_cast<BufferCopy const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferCopy & setDstOffset( VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstOffset = dstOffset_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 BufferCopy &
+  operator=(BufferCopy const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BufferCopy & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
+  BufferCopy &operator=(VkBufferCopy const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCopy const *>(&rhs);
+    return *this;
+  }
 
-    operator VkBufferCopy const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferCopy *>( this );
-    }
+  BufferCopy &setSrcOffset(VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    srcOffset = srcOffset_;
+    return *this;
+  }
 
-    operator VkBufferCopy &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferCopy *>( this );
-    }
+  BufferCopy &setDstOffset(VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    dstOffset = dstOffset_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferCopy const & ) const = default;
+  BufferCopy &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  operator VkBufferCopy const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCopy *>(this);
+  }
+
+  operator VkBufferCopy &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCopy *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferCopy const &) const = default;
 #else
-    bool operator==( BufferCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( srcOffset == rhs.srcOffset ) && ( dstOffset == rhs.dstOffset ) && ( size == rhs.size );
-    }
+  bool operator==(BufferCopy const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (srcOffset == rhs.srcOffset) && (dstOffset == rhs.dstOffset) &&
+           (size == rhs.size);
+  }
 
-    bool operator!=( BufferCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferCopy const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceSize srcOffset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize size      = {};
-  };
-  static_assert( sizeof( BufferCopy ) == sizeof( VkBufferCopy ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferCopy>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::DeviceSize srcOffset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize dstOffset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+};
+static_assert(sizeof(BufferCopy) == sizeof(VkBufferCopy),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferCopy>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BufferDeviceAddressCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferDeviceAddressCreateInfoEXT;
+struct BufferCopy2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferCopy2KHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BufferDeviceAddressCreateInfoEXT( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceAddress( deviceAddress_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferCopy2KHR(
+      VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcOffset(srcOffset_),
+        dstOffset(dstOffset_),
+        size(size_) {}
 
-    BufferDeviceAddressCreateInfoEXT( VkBufferDeviceAddressCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  BufferCopy2KHR(BufferCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BufferDeviceAddressCreateInfoEXT & operator=( VkBufferDeviceAddressCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  BufferCopy2KHR(VkBufferCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferCopy2KHR(*reinterpret_cast<BufferCopy2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferDeviceAddressCreateInfoEXT & operator=( BufferDeviceAddressCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      deviceAddress = rhs.deviceAddress;
+  VULKAN_HPP_CONSTEXPR_14 BufferCopy2KHR &
+  operator=(BufferCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferCopy2KHR &operator=(VkBufferCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCopy2KHR const *>(&rhs);
+    return *this;
+  }
 
-    BufferDeviceAddressCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferCopy2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferDeviceAddressCreateInfoEXT &
-      setDeviceAddress( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceAddress = deviceAddress_;
-      return *this;
-    }
+  BufferCopy2KHR &setSrcOffset(VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    srcOffset = srcOffset_;
+    return *this;
+  }
 
-    operator VkBufferDeviceAddressCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>( this );
-    }
+  BufferCopy2KHR &setDstOffset(VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    dstOffset = dstOffset_;
+    return *this;
+  }
 
-    operator VkBufferDeviceAddressCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferDeviceAddressCreateInfoEXT *>( this );
-    }
+  BufferCopy2KHR &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferDeviceAddressCreateInfoEXT const & ) const = default;
+  operator VkBufferCopy2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferCopy2KHR *>(this);
+  }
+
+  operator VkBufferCopy2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferCopy2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferCopy2KHR const &) const = default;
 #else
-    bool operator==( BufferDeviceAddressCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceAddress == rhs.deviceAddress );
-    }
+  bool operator==(BufferCopy2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcOffset == rhs.srcOffset) && (dstOffset == rhs.dstOffset) &&
+           (size == rhs.size);
+  }
 
-    bool operator!=( BufferDeviceAddressCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferCopy2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::eBufferDeviceAddressCreateInfoEXT;
-    const void *                              pNext         = {};
-    VULKAN_HPP_NAMESPACE::DeviceAddress       deviceAddress = {};
-  };
-  static_assert( sizeof( BufferDeviceAddressCreateInfoEXT ) == sizeof( VkBufferDeviceAddressCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferDeviceAddressCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCopy2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize srcOffset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize dstOffset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+};
+static_assert(sizeof(BufferCopy2KHR) == sizeof(VkBufferCopy2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferCopy2KHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferDeviceAddressCreateInfoEXT>
-  {
-    using Type = BufferDeviceAddressCreateInfoEXT;
-  };
+template <> struct CppType<StructureType, StructureType::eBufferCopy2KHR> {
+  using Type = BufferCopy2KHR;
+};
 
-  struct BufferDeviceAddressInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBufferDeviceAddressInfo;
+struct BufferDeviceAddressCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferDeviceAddressCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferDeviceAddressInfo( VULKAN_HPP_NAMESPACE::Buffer buffer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferDeviceAddressCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {})
+      VULKAN_HPP_NOEXCEPT : deviceAddress(deviceAddress_) {}
 
-    BufferDeviceAddressInfo( VkBufferDeviceAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  BufferDeviceAddressCreateInfoEXT(BufferDeviceAddressCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferDeviceAddressInfo & operator=( VkBufferDeviceAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo const *>( &rhs );
-      return *this;
-    }
+  BufferDeviceAddressCreateInfoEXT(
+      VkBufferDeviceAddressCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferDeviceAddressCreateInfoEXT(
+            *reinterpret_cast<BufferDeviceAddressCreateInfoEXT const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferDeviceAddressInfo & operator=( BufferDeviceAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      buffer = rhs.buffer;
+  VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressCreateInfoEXT &
+  operator=(BufferDeviceAddressCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferDeviceAddressCreateInfoEXT &
+  operator=(VkBufferDeviceAddressCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    BufferDeviceAddressInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferDeviceAddressCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferDeviceAddressInfo & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
+  BufferDeviceAddressCreateInfoEXT &setDeviceAddress(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT {
+    deviceAddress = deviceAddress_;
+    return *this;
+  }
 
-    operator VkBufferDeviceAddressInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferDeviceAddressInfo *>( this );
-    }
+  operator VkBufferDeviceAddressCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>(this);
+  }
 
-    operator VkBufferDeviceAddressInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferDeviceAddressInfo *>( this );
-    }
+  operator VkBufferDeviceAddressCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferDeviceAddressCreateInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferDeviceAddressInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferDeviceAddressCreateInfoEXT const &) const = default;
 #else
-    bool operator==( BufferDeviceAddressInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
-    }
+  bool operator==(BufferDeviceAddressCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceAddress == rhs.deviceAddress);
+  }
 
-    bool operator!=( BufferDeviceAddressInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferDeviceAddressCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eBufferDeviceAddressInfo;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::Buffer              buffer = {};
-  };
-  static_assert( sizeof( BufferDeviceAddressInfo ) == sizeof( VkBufferDeviceAddressInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferDeviceAddressInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferDeviceAddressCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress = {};
+};
+static_assert(sizeof(BufferDeviceAddressCreateInfoEXT) ==
+                  sizeof(VkBufferDeviceAddressCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferDeviceAddressCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferDeviceAddressInfo>
-  {
-    using Type = BufferDeviceAddressInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBufferDeviceAddressCreateInfoEXT> {
+  using Type = BufferDeviceAddressCreateInfoEXT;
+};
 
-  struct ImageSubresourceLayers
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageSubresourceLayers( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_     = {},
-                                                 uint32_t                               mipLevel_       = {},
-                                                 uint32_t                               baseArrayLayer_ = {},
-                                                 uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : aspectMask( aspectMask_ )
-      , mipLevel( mipLevel_ )
-      , baseArrayLayer( baseArrayLayer_ )
-      , layerCount( layerCount_ )
-    {}
+struct BufferDeviceAddressInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferDeviceAddressInfo;
 
-    ImageSubresourceLayers( VkImageSubresourceLayers const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferDeviceAddressInfo(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {}) VULKAN_HPP_NOEXCEPT
+      : buffer(buffer_) {}
 
-    ImageSubresourceLayers & operator=( VkImageSubresourceLayers const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR BufferDeviceAddressInfo(
+      BufferDeviceAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ImageSubresourceLayers & setAspectMask( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectMask = aspectMask_;
-      return *this;
-    }
+  BufferDeviceAddressInfo(VkBufferDeviceAddressInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BufferDeviceAddressInfo(
+            *reinterpret_cast<BufferDeviceAddressInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ImageSubresourceLayers & setMipLevel( uint32_t mipLevel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mipLevel = mipLevel_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressInfo &
+  operator=(BufferDeviceAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ImageSubresourceLayers & setBaseArrayLayer( uint32_t baseArrayLayer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      baseArrayLayer = baseArrayLayer_;
-      return *this;
-    }
+  BufferDeviceAddressInfo &
+  operator=(VkBufferDeviceAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo const *>(&rhs);
+    return *this;
+  }
 
-    ImageSubresourceLayers & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layerCount = layerCount_;
-      return *this;
-    }
+  BufferDeviceAddressInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkImageSubresourceLayers const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageSubresourceLayers *>( this );
-    }
+  BufferDeviceAddressInfo &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
 
-    operator VkImageSubresourceLayers &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageSubresourceLayers *>( this );
-    }
+  operator VkBufferDeviceAddressInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferDeviceAddressInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageSubresourceLayers const & ) const = default;
+  operator VkBufferDeviceAddressInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferDeviceAddressInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferDeviceAddressInfo const &) const = default;
 #else
-    bool operator==( ImageSubresourceLayers const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( aspectMask == rhs.aspectMask ) && ( mipLevel == rhs.mipLevel ) &&
-             ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount );
-    }
+  bool
+  operator==(BufferDeviceAddressInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (buffer == rhs.buffer);
+  }
 
-    bool operator!=( ImageSubresourceLayers const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(BufferDeviceAddressInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask     = {};
-    uint32_t                               mipLevel       = {};
-    uint32_t                               baseArrayLayer = {};
-    uint32_t                               layerCount     = {};
-  };
-  static_assert( sizeof( ImageSubresourceLayers ) == sizeof( VkImageSubresourceLayers ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageSubresourceLayers>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferDeviceAddressInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+};
+static_assert(sizeof(BufferDeviceAddressInfo) ==
+                  sizeof(VkBufferDeviceAddressInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferDeviceAddressInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BufferImageCopy
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferImageCopy( VULKAN_HPP_NAMESPACE::DeviceSize             bufferOffset_      = {},
-                                          uint32_t                                     bufferRowLength_   = {},
-                                          uint32_t                                     bufferImageHeight_ = {},
-                                          VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_  = {},
-                                          VULKAN_HPP_NAMESPACE::Offset3D               imageOffset_       = {},
-                                          VULKAN_HPP_NAMESPACE::Extent3D imageExtent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : bufferOffset( bufferOffset_ )
-      , bufferRowLength( bufferRowLength_ )
-      , bufferImageHeight( bufferImageHeight_ )
-      , imageSubresource( imageSubresource_ )
-      , imageOffset( imageOffset_ )
-      , imageExtent( imageExtent_ )
-    {}
+template <>
+struct CppType<StructureType, StructureType::eBufferDeviceAddressInfo> {
+  using Type = BufferDeviceAddressInfo;
+};
+using BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
+using BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
 
-    BufferImageCopy( VkBufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+struct BufferImageCopy {
 
-    BufferImageCopy & operator=( VkBufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferImageCopy const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferImageCopy(
+      VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_ = {},
+      uint32_t bufferRowLength_ = {}, uint32_t bufferImageHeight_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D imageOffset_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D imageExtent_ = {}) VULKAN_HPP_NOEXCEPT
+      : bufferOffset(bufferOffset_),
+        bufferRowLength(bufferRowLength_),
+        bufferImageHeight(bufferImageHeight_),
+        imageSubresource(imageSubresource_),
+        imageOffset(imageOffset_),
+        imageExtent(imageExtent_) {}
 
-    BufferImageCopy & setBufferOffset( VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferOffset = bufferOffset_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  BufferImageCopy(BufferImageCopy const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BufferImageCopy & setBufferRowLength( uint32_t bufferRowLength_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferRowLength = bufferRowLength_;
-      return *this;
-    }
+  BufferImageCopy(VkBufferImageCopy const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferImageCopy(*reinterpret_cast<BufferImageCopy const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferImageCopy & setBufferImageHeight( uint32_t bufferImageHeight_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferImageHeight = bufferImageHeight_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 BufferImageCopy &
+  operator=(BufferImageCopy const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    BufferImageCopy &
-      setImageSubresource( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & imageSubresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageSubresource = imageSubresource_;
-      return *this;
-    }
+  BufferImageCopy &operator=(VkBufferImageCopy const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferImageCopy const *>(&rhs);
+    return *this;
+  }
 
-    BufferImageCopy & setImageOffset( VULKAN_HPP_NAMESPACE::Offset3D const & imageOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageOffset = imageOffset_;
-      return *this;
-    }
+  BufferImageCopy &setBufferOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_) VULKAN_HPP_NOEXCEPT {
+    bufferOffset = bufferOffset_;
+    return *this;
+  }
 
-    BufferImageCopy & setImageExtent( VULKAN_HPP_NAMESPACE::Extent3D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageExtent = imageExtent_;
-      return *this;
-    }
+  BufferImageCopy &
+  setBufferRowLength(uint32_t bufferRowLength_) VULKAN_HPP_NOEXCEPT {
+    bufferRowLength = bufferRowLength_;
+    return *this;
+  }
 
-    operator VkBufferImageCopy const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferImageCopy *>( this );
-    }
+  BufferImageCopy &
+  setBufferImageHeight(uint32_t bufferImageHeight_) VULKAN_HPP_NOEXCEPT {
+    bufferImageHeight = bufferImageHeight_;
+    return *this;
+  }
 
-    operator VkBufferImageCopy &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferImageCopy *>( this );
-    }
+  BufferImageCopy &setImageSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &imageSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    imageSubresource = imageSubresource_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferImageCopy const & ) const = default;
+  BufferImageCopy &setImageOffset(
+      VULKAN_HPP_NAMESPACE::Offset3D const &imageOffset_) VULKAN_HPP_NOEXCEPT {
+    imageOffset = imageOffset_;
+    return *this;
+  }
+
+  BufferImageCopy &setImageExtent(
+      VULKAN_HPP_NAMESPACE::Extent3D const &imageExtent_) VULKAN_HPP_NOEXCEPT {
+    imageExtent = imageExtent_;
+    return *this;
+  }
+
+  operator VkBufferImageCopy const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferImageCopy *>(this);
+  }
+
+  operator VkBufferImageCopy &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferImageCopy *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferImageCopy const &) const = default;
 #else
-    bool operator==( BufferImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( bufferOffset == rhs.bufferOffset ) && ( bufferRowLength == rhs.bufferRowLength ) &&
-             ( bufferImageHeight == rhs.bufferImageHeight ) && ( imageSubresource == rhs.imageSubresource ) &&
-             ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent );
-    }
+  bool operator==(BufferImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (bufferOffset == rhs.bufferOffset) &&
+           (bufferRowLength == rhs.bufferRowLength) &&
+           (bufferImageHeight == rhs.bufferImageHeight) &&
+           (imageSubresource == rhs.imageSubresource) &&
+           (imageOffset == rhs.imageOffset) && (imageExtent == rhs.imageExtent);
+  }
 
-    bool operator!=( BufferImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceSize             bufferOffset      = {};
-    uint32_t                                     bufferRowLength   = {};
-    uint32_t                                     bufferImageHeight = {};
-    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource  = {};
-    VULKAN_HPP_NAMESPACE::Offset3D               imageOffset       = {};
-    VULKAN_HPP_NAMESPACE::Extent3D               imageExtent       = {};
-  };
-  static_assert( sizeof( BufferImageCopy ) == sizeof( VkBufferImageCopy ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferImageCopy>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset = {};
+  uint32_t bufferRowLength = {};
+  uint32_t bufferImageHeight = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D imageOffset = {};
+  VULKAN_HPP_NAMESPACE::Extent3D imageExtent = {};
+};
+static_assert(sizeof(BufferImageCopy) == sizeof(VkBufferImageCopy),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferImageCopy>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct BufferMemoryBarrier
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBufferMemoryBarrier;
+struct BufferImageCopy2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferImageCopy2KHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferMemoryBarrier( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_       = {},
-                                              VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_       = {},
-                                              uint32_t                          srcQueueFamilyIndex_ = {},
-                                              uint32_t                          dstQueueFamilyIndex_ = {},
-                                              VULKAN_HPP_NAMESPACE::Buffer      buffer_              = {},
-                                              VULKAN_HPP_NAMESPACE::DeviceSize  offset_              = {},
-                                              VULKAN_HPP_NAMESPACE::DeviceSize  size_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcAccessMask( srcAccessMask_ )
-      , dstAccessMask( dstAccessMask_ )
-      , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
-      , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
-      , buffer( buffer_ )
-      , offset( offset_ )
-      , size( size_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferImageCopy2KHR(
+      VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_ = {},
+      uint32_t bufferRowLength_ = {}, uint32_t bufferImageHeight_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D imageOffset_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D imageExtent_ = {}) VULKAN_HPP_NOEXCEPT
+      : bufferOffset(bufferOffset_),
+        bufferRowLength(bufferRowLength_),
+        bufferImageHeight(bufferImageHeight_),
+        imageSubresource(imageSubresource_),
+        imageOffset(imageOffset_),
+        imageExtent(imageExtent_) {}
 
-    BufferMemoryBarrier( VkBufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferImageCopy2KHR(BufferImageCopy2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferMemoryBarrier & operator=( VkBufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier const *>( &rhs );
-      return *this;
-    }
+  BufferImageCopy2KHR(VkBufferImageCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferImageCopy2KHR(
+            *reinterpret_cast<BufferImageCopy2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferMemoryBarrier & operator=( BufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      srcAccessMask       = rhs.srcAccessMask;
-      dstAccessMask       = rhs.dstAccessMask;
-      srcQueueFamilyIndex = rhs.srcQueueFamilyIndex;
-      dstQueueFamilyIndex = rhs.dstQueueFamilyIndex;
-      buffer              = rhs.buffer;
-      offset              = rhs.offset;
-      size                = rhs.size;
+  VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2KHR &
+  operator=(BufferImageCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferImageCopy2KHR &
+  operator=(VkBufferImageCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR const *>(
+            &rhs);
+    return *this;
+  }
 
-    BufferMemoryBarrier & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferImageCopy2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferMemoryBarrier & setSrcAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcAccessMask = srcAccessMask_;
-      return *this;
-    }
+  BufferImageCopy2KHR &setBufferOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_) VULKAN_HPP_NOEXCEPT {
+    bufferOffset = bufferOffset_;
+    return *this;
+  }
 
-    BufferMemoryBarrier & setDstAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstAccessMask = dstAccessMask_;
-      return *this;
-    }
+  BufferImageCopy2KHR &
+  setBufferRowLength(uint32_t bufferRowLength_) VULKAN_HPP_NOEXCEPT {
+    bufferRowLength = bufferRowLength_;
+    return *this;
+  }
 
-    BufferMemoryBarrier & setSrcQueueFamilyIndex( uint32_t srcQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcQueueFamilyIndex = srcQueueFamilyIndex_;
-      return *this;
-    }
+  BufferImageCopy2KHR &
+  setBufferImageHeight(uint32_t bufferImageHeight_) VULKAN_HPP_NOEXCEPT {
+    bufferImageHeight = bufferImageHeight_;
+    return *this;
+  }
 
-    BufferMemoryBarrier & setDstQueueFamilyIndex( uint32_t dstQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstQueueFamilyIndex = dstQueueFamilyIndex_;
-      return *this;
-    }
+  BufferImageCopy2KHR &setImageSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &imageSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    imageSubresource = imageSubresource_;
+    return *this;
+  }
 
-    BufferMemoryBarrier & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
+  BufferImageCopy2KHR &setImageOffset(
+      VULKAN_HPP_NAMESPACE::Offset3D const &imageOffset_) VULKAN_HPP_NOEXCEPT {
+    imageOffset = imageOffset_;
+    return *this;
+  }
 
-    BufferMemoryBarrier & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  BufferImageCopy2KHR &setImageExtent(
+      VULKAN_HPP_NAMESPACE::Extent3D const &imageExtent_) VULKAN_HPP_NOEXCEPT {
+    imageExtent = imageExtent_;
+    return *this;
+  }
 
-    BufferMemoryBarrier & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
+  operator VkBufferImageCopy2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferImageCopy2KHR *>(this);
+  }
 
-    operator VkBufferMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferMemoryBarrier *>( this );
-    }
+  operator VkBufferImageCopy2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferImageCopy2KHR *>(this);
+  }
 
-    operator VkBufferMemoryBarrier &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferMemoryBarrier *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferMemoryBarrier const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferImageCopy2KHR const &) const = default;
 #else
-    bool operator==( BufferMemoryBarrier const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcAccessMask == rhs.srcAccessMask ) &&
-             ( dstAccessMask == rhs.dstAccessMask ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) &&
-             ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( buffer == rhs.buffer ) &&
-             ( offset == rhs.offset ) && ( size == rhs.size );
-    }
+  bool operator==(BufferImageCopy2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (bufferOffset == rhs.bufferOffset) &&
+           (bufferRowLength == rhs.bufferRowLength) &&
+           (bufferImageHeight == rhs.bufferImageHeight) &&
+           (imageSubresource == rhs.imageSubresource) &&
+           (imageOffset == rhs.imageOffset) && (imageExtent == rhs.imageExtent);
+  }
 
-    bool operator!=( BufferMemoryBarrier const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferImageCopy2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType               = StructureType::eBufferMemoryBarrier;
-    const void *                              pNext               = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags         srcAccessMask       = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags         dstAccessMask       = {};
-    uint32_t                                  srcQueueFamilyIndex = {};
-    uint32_t                                  dstQueueFamilyIndex = {};
-    VULKAN_HPP_NAMESPACE::Buffer              buffer              = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          offset              = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          size                = {};
-  };
-  static_assert( sizeof( BufferMemoryBarrier ) == sizeof( VkBufferMemoryBarrier ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferMemoryBarrier>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferImageCopy2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset = {};
+  uint32_t bufferRowLength = {};
+  uint32_t bufferImageHeight = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D imageOffset = {};
+  VULKAN_HPP_NAMESPACE::Extent3D imageExtent = {};
+};
+static_assert(sizeof(BufferImageCopy2KHR) == sizeof(VkBufferImageCopy2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferImageCopy2KHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferMemoryBarrier>
-  {
-    using Type = BufferMemoryBarrier;
-  };
+template <> struct CppType<StructureType, StructureType::eBufferImageCopy2KHR> {
+  using Type = BufferImageCopy2KHR;
+};
 
-  struct BufferMemoryRequirementsInfo2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBufferMemoryRequirementsInfo2;
+struct BufferMemoryBarrier {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferMemoryBarrier;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferMemoryRequirementsInfo2( VULKAN_HPP_NAMESPACE::Buffer buffer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferMemoryBarrier(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
+      uint32_t srcQueueFamilyIndex_ = {}, uint32_t dstQueueFamilyIndex_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcAccessMask(srcAccessMask_),
+        dstAccessMask(dstAccessMask_),
+        srcQueueFamilyIndex(srcQueueFamilyIndex_),
+        dstQueueFamilyIndex(dstQueueFamilyIndex_),
+        buffer(buffer_),
+        offset(offset_),
+        size(size_) {}
 
-    BufferMemoryRequirementsInfo2( VkBufferMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferMemoryBarrier(BufferMemoryBarrier const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferMemoryRequirementsInfo2 & operator=( VkBufferMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 const *>( &rhs );
-      return *this;
-    }
+  BufferMemoryBarrier(VkBufferMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferMemoryBarrier(
+            *reinterpret_cast<BufferMemoryBarrier const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferMemoryRequirementsInfo2 & operator=( BufferMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      buffer = rhs.buffer;
+  VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier &
+  operator=(BufferMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferMemoryBarrier &
+  operator=(VkBufferMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier const *>(
+            &rhs);
+    return *this;
+  }
 
-    BufferMemoryRequirementsInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferMemoryBarrier &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferMemoryRequirementsInfo2 & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
+  BufferMemoryBarrier &setSrcAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
 
-    operator VkBufferMemoryRequirementsInfo2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( this );
-    }
+  BufferMemoryBarrier &setDstAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
 
-    operator VkBufferMemoryRequirementsInfo2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferMemoryRequirementsInfo2 *>( this );
-    }
+  BufferMemoryBarrier &
+  setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    srcQueueFamilyIndex = srcQueueFamilyIndex_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferMemoryRequirementsInfo2 const & ) const = default;
+  BufferMemoryBarrier &
+  setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    dstQueueFamilyIndex = dstQueueFamilyIndex_;
+    return *this;
+  }
+
+  BufferMemoryBarrier &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  BufferMemoryBarrier &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  BufferMemoryBarrier &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  operator VkBufferMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferMemoryBarrier *>(this);
+  }
+
+  operator VkBufferMemoryBarrier &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferMemoryBarrier *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferMemoryBarrier const &) const = default;
 #else
-    bool operator==( BufferMemoryRequirementsInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
-    }
+  bool operator==(BufferMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstAccessMask == rhs.dstAccessMask) &&
+           (srcQueueFamilyIndex == rhs.srcQueueFamilyIndex) &&
+           (dstQueueFamilyIndex == rhs.dstQueueFamilyIndex) &&
+           (buffer == rhs.buffer) && (offset == rhs.offset) &&
+           (size == rhs.size);
+  }
 
-    bool operator!=( BufferMemoryRequirementsInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eBufferMemoryRequirementsInfo2;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::Buffer              buffer = {};
-  };
-  static_assert( sizeof( BufferMemoryRequirementsInfo2 ) == sizeof( VkBufferMemoryRequirementsInfo2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferMemoryRequirementsInfo2>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferMemoryBarrier;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask = {};
+  uint32_t srcQueueFamilyIndex = {};
+  uint32_t dstQueueFamilyIndex = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+};
+static_assert(sizeof(BufferMemoryBarrier) == sizeof(VkBufferMemoryBarrier),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferMemoryBarrier>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferMemoryRequirementsInfo2>
-  {
-    using Type = BufferMemoryRequirementsInfo2;
-  };
+template <> struct CppType<StructureType, StructureType::eBufferMemoryBarrier> {
+  using Type = BufferMemoryBarrier;
+};
 
-  struct BufferOpaqueCaptureAddressCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct BufferMemoryBarrier2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferMemoryBarrier2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferMemoryBarrier2KHR(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask_ = {},
+      uint32_t srcQueueFamilyIndex_ = {}, uint32_t dstQueueFamilyIndex_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcStageMask(srcStageMask_),
+        srcAccessMask(srcAccessMask_),
+        dstStageMask(dstStageMask_),
+        dstAccessMask(dstAccessMask_),
+        srcQueueFamilyIndex(srcQueueFamilyIndex_),
+        dstQueueFamilyIndex(dstQueueFamilyIndex_),
+        buffer(buffer_),
+        offset(offset_),
+        size(size_) {}
+
+  VULKAN_HPP_CONSTEXPR BufferMemoryBarrier2KHR(
+      BufferMemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BufferMemoryBarrier2KHR(VkBufferMemoryBarrier2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BufferMemoryBarrier2KHR(
+            *reinterpret_cast<BufferMemoryBarrier2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2KHR &
+  operator=(BufferMemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BufferMemoryBarrier2KHR &
+  operator=(VkBufferMemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR const *>(&rhs);
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcStageMask = srcStageMask_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstStageMask = dstStageMask_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    srcQueueFamilyIndex = srcQueueFamilyIndex_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    dstQueueFamilyIndex = dstQueueFamilyIndex_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  BufferMemoryBarrier2KHR &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  operator VkBufferMemoryBarrier2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferMemoryBarrier2KHR *>(this);
+  }
+
+  operator VkBufferMemoryBarrier2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferMemoryBarrier2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferMemoryBarrier2KHR const &) const = default;
+#else
+  bool
+  operator==(BufferMemoryBarrier2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcStageMask == rhs.srcStageMask) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstStageMask == rhs.dstStageMask) &&
+           (dstAccessMask == rhs.dstAccessMask) &&
+           (srcQueueFamilyIndex == rhs.srcQueueFamilyIndex) &&
+           (dstQueueFamilyIndex == rhs.dstQueueFamilyIndex) &&
+           (buffer == rhs.buffer) && (offset == rhs.offset) &&
+           (size == rhs.size);
+  }
+
+  bool
+  operator!=(BufferMemoryBarrier2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferMemoryBarrier2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask = {};
+  uint32_t srcQueueFamilyIndex = {};
+  uint32_t dstQueueFamilyIndex = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+};
+static_assert(sizeof(BufferMemoryBarrier2KHR) ==
+                  sizeof(VkBufferMemoryBarrier2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferMemoryBarrier2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eBufferMemoryBarrier2KHR> {
+  using Type = BufferMemoryBarrier2KHR;
+};
+
+struct BufferMemoryRequirementsInfo2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferMemoryRequirementsInfo2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferMemoryRequirementsInfo2(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {}) VULKAN_HPP_NOEXCEPT
+      : buffer(buffer_) {}
+
+  VULKAN_HPP_CONSTEXPR BufferMemoryRequirementsInfo2(
+      BufferMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BufferMemoryRequirementsInfo2(VkBufferMemoryRequirementsInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : BufferMemoryRequirementsInfo2(
+            *reinterpret_cast<BufferMemoryRequirementsInfo2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 BufferMemoryRequirementsInfo2 &operator=(
+      BufferMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  BufferMemoryRequirementsInfo2 &
+  operator=(VkBufferMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 const *>(&rhs);
+    return *this;
+  }
+
+  BufferMemoryRequirementsInfo2 &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  BufferMemoryRequirementsInfo2 &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  operator VkBufferMemoryRequirementsInfo2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(this);
+  }
+
+  operator VkBufferMemoryRequirementsInfo2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferMemoryRequirementsInfo2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferMemoryRequirementsInfo2 const &) const = default;
+#else
+  bool operator==(BufferMemoryRequirementsInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (buffer == rhs.buffer);
+  }
+
+  bool operator!=(BufferMemoryRequirementsInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferMemoryRequirementsInfo2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+};
+static_assert(sizeof(BufferMemoryRequirementsInfo2) ==
+                  sizeof(VkBufferMemoryRequirementsInfo2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferMemoryRequirementsInfo2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eBufferMemoryRequirementsInfo2> {
+  using Type = BufferMemoryRequirementsInfo2;
+};
+using BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
+
+struct BufferOpaqueCaptureAddressCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eBufferOpaqueCaptureAddressCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR BufferOpaqueCaptureAddressCreateInfo( uint64_t opaqueCaptureAddress_ = {} ) VULKAN_HPP_NOEXCEPT
-      : opaqueCaptureAddress( opaqueCaptureAddress_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferOpaqueCaptureAddressCreateInfo(
+      uint64_t opaqueCaptureAddress_ = {}) VULKAN_HPP_NOEXCEPT
+      : opaqueCaptureAddress(opaqueCaptureAddress_) {}
 
-    BufferOpaqueCaptureAddressCreateInfo( VkBufferOpaqueCaptureAddressCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferOpaqueCaptureAddressCreateInfo(
+      BufferOpaqueCaptureAddressCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferOpaqueCaptureAddressCreateInfo &
-      operator=( VkBufferOpaqueCaptureAddressCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo const *>( &rhs );
-      return *this;
-    }
+  BufferOpaqueCaptureAddressCreateInfo(
+      VkBufferOpaqueCaptureAddressCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferOpaqueCaptureAddressCreateInfo(
+            *reinterpret_cast<BufferOpaqueCaptureAddressCreateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferOpaqueCaptureAddressCreateInfo &
-      operator=( BufferOpaqueCaptureAddressCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      opaqueCaptureAddress = rhs.opaqueCaptureAddress;
+  VULKAN_HPP_CONSTEXPR_14 BufferOpaqueCaptureAddressCreateInfo &
+  operator=(BufferOpaqueCaptureAddressCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferOpaqueCaptureAddressCreateInfo &operator=(
+      VkBufferOpaqueCaptureAddressCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo const *>(
+        &rhs);
+    return *this;
+  }
 
-    BufferOpaqueCaptureAddressCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferOpaqueCaptureAddressCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferOpaqueCaptureAddressCreateInfo & setOpaqueCaptureAddress( uint64_t opaqueCaptureAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      opaqueCaptureAddress = opaqueCaptureAddress_;
-      return *this;
-    }
+  BufferOpaqueCaptureAddressCreateInfo &
+  setOpaqueCaptureAddress(uint64_t opaqueCaptureAddress_) VULKAN_HPP_NOEXCEPT {
+    opaqueCaptureAddress = opaqueCaptureAddress_;
+    return *this;
+  }
 
-    operator VkBufferOpaqueCaptureAddressCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo *>( this );
-    }
+  operator VkBufferOpaqueCaptureAddressCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo *>(
+        this);
+  }
 
-    operator VkBufferOpaqueCaptureAddressCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo *>( this );
-    }
+  operator VkBufferOpaqueCaptureAddressCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferOpaqueCaptureAddressCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(BufferOpaqueCaptureAddressCreateInfo const &) const = default;
 #else
-    bool operator==( BufferOpaqueCaptureAddressCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( opaqueCaptureAddress == rhs.opaqueCaptureAddress );
-    }
+  bool operator==(BufferOpaqueCaptureAddressCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (opaqueCaptureAddress == rhs.opaqueCaptureAddress);
+  }
 
-    bool operator!=( BufferOpaqueCaptureAddressCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferOpaqueCaptureAddressCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferOpaqueCaptureAddressCreateInfo;
-    const void *                              pNext = {};
-    uint64_t                                  opaqueCaptureAddress = {};
-  };
-  static_assert( sizeof( BufferOpaqueCaptureAddressCreateInfo ) == sizeof( VkBufferOpaqueCaptureAddressCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferOpaqueCaptureAddressCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferOpaqueCaptureAddressCreateInfo;
+  const void *pNext = {};
+  uint64_t opaqueCaptureAddress = {};
+};
+static_assert(sizeof(BufferOpaqueCaptureAddressCreateInfo) ==
+                  sizeof(VkBufferOpaqueCaptureAddressCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<BufferOpaqueCaptureAddressCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferOpaqueCaptureAddressCreateInfo>
-  {
-    using Type = BufferOpaqueCaptureAddressCreateInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eBufferOpaqueCaptureAddressCreateInfo> {
+  using Type = BufferOpaqueCaptureAddressCreateInfo;
+};
+using BufferOpaqueCaptureAddressCreateInfoKHR =
+    BufferOpaqueCaptureAddressCreateInfo;
 
-  struct BufferViewCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBufferViewCreateInfo;
+struct BufferViewCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferViewCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    BufferViewCreateInfo( VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags_  = {},
-                          VULKAN_HPP_NAMESPACE::Buffer                buffer_ = {},
-                          VULKAN_HPP_NAMESPACE::Format     format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-                          VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize range_  = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , buffer( buffer_ )
-      , format( format_ )
-      , offset( offset_ )
-      , range( range_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR BufferViewCreateInfo(
+      VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize range_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        buffer(buffer_),
+        format(format_),
+        offset(offset_),
+        range(range_) {}
 
-    BufferViewCreateInfo( VkBufferViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR BufferViewCreateInfo(BufferViewCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    BufferViewCreateInfo & operator=( VkBufferViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const *>( &rhs );
-      return *this;
-    }
+  BufferViewCreateInfo(VkBufferViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : BufferViewCreateInfo(
+            *reinterpret_cast<BufferViewCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    BufferViewCreateInfo & operator=( BufferViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      flags  = rhs.flags;
-      buffer = rhs.buffer;
-      format = rhs.format;
-      offset = rhs.offset;
-      range  = rhs.range;
+  VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo &
+  operator=(BufferViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  BufferViewCreateInfo &
+  operator=(VkBufferViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
 
-    BufferViewCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  BufferViewCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    BufferViewCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  BufferViewCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    BufferViewCreateInfo & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
+  BufferViewCreateInfo &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
 
-    BufferViewCreateInfo & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
+  BufferViewCreateInfo &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
 
-    BufferViewCreateInfo & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  BufferViewCreateInfo &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-    BufferViewCreateInfo & setRange( VULKAN_HPP_NAMESPACE::DeviceSize range_ ) VULKAN_HPP_NOEXCEPT
-    {
-      range = range_;
-      return *this;
-    }
+  BufferViewCreateInfo &
+  setRange(VULKAN_HPP_NAMESPACE::DeviceSize range_) VULKAN_HPP_NOEXCEPT {
+    range = range_;
+    return *this;
+  }
 
-    operator VkBufferViewCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkBufferViewCreateInfo *>( this );
-    }
+  operator VkBufferViewCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkBufferViewCreateInfo *>(this);
+  }
 
-    operator VkBufferViewCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkBufferViewCreateInfo *>( this );
-    }
+  operator VkBufferViewCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkBufferViewCreateInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( BufferViewCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferViewCreateInfo const &) const = default;
 #else
-    bool operator==( BufferViewCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( buffer == rhs.buffer ) &&
-             ( format == rhs.format ) && ( offset == rhs.offset ) && ( range == rhs.range );
-    }
+  bool operator==(BufferViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (buffer == rhs.buffer) &&
+           (format == rhs.format) && (offset == rhs.offset) &&
+           (range == rhs.range);
+  }
 
-    bool operator!=( BufferViewCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(BufferViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType  = StructureType::eBufferViewCreateInfo;
-    const void *                                pNext  = {};
-    VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags  = {};
-    VULKAN_HPP_NAMESPACE::Buffer                buffer = {};
-    VULKAN_HPP_NAMESPACE::Format                format = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::DeviceSize            offset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize            range  = {};
-  };
-  static_assert( sizeof( BufferViewCreateInfo ) == sizeof( VkBufferViewCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<BufferViewCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eBufferViewCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize range = {};
+};
+static_assert(sizeof(BufferViewCreateInfo) == sizeof(VkBufferViewCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<BufferViewCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eBufferViewCreateInfo>
-  {
-    using Type = BufferViewCreateInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eBufferViewCreateInfo> {
+  using Type = BufferViewCreateInfo;
+};
 
-  struct CalibratedTimestampInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCalibratedTimestampInfoEXT;
+struct CalibratedTimestampInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCalibratedTimestampInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    CalibratedTimestampInfoEXT( VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain_ =
-                                  VULKAN_HPP_NAMESPACE::TimeDomainEXT::eDevice ) VULKAN_HPP_NOEXCEPT
-      : timeDomain( timeDomain_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CalibratedTimestampInfoEXT(
+      VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain_ =
+          VULKAN_HPP_NAMESPACE::TimeDomainEXT::eDevice) VULKAN_HPP_NOEXCEPT
+      : timeDomain(timeDomain_) {}
 
-    CalibratedTimestampInfoEXT( VkCalibratedTimestampInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR CalibratedTimestampInfoEXT(
+      CalibratedTimestampInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    CalibratedTimestampInfoEXT & operator=( VkCalibratedTimestampInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT const *>( &rhs );
-      return *this;
-    }
+  CalibratedTimestampInfoEXT(VkCalibratedTimestampInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CalibratedTimestampInfoEXT(
+            *reinterpret_cast<CalibratedTimestampInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CalibratedTimestampInfoEXT & operator=( CalibratedTimestampInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      timeDomain = rhs.timeDomain;
+  VULKAN_HPP_CONSTEXPR_14 CalibratedTimestampInfoEXT &operator=(
+      CalibratedTimestampInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  CalibratedTimestampInfoEXT &
+  operator=(VkCalibratedTimestampInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    CalibratedTimestampInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  CalibratedTimestampInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CalibratedTimestampInfoEXT & setTimeDomain( VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain_ ) VULKAN_HPP_NOEXCEPT
-    {
-      timeDomain = timeDomain_;
-      return *this;
-    }
+  CalibratedTimestampInfoEXT &setTimeDomain(
+      VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain_) VULKAN_HPP_NOEXCEPT {
+    timeDomain = timeDomain_;
+    return *this;
+  }
 
-    operator VkCalibratedTimestampInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCalibratedTimestampInfoEXT *>( this );
-    }
+  operator VkCalibratedTimestampInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCalibratedTimestampInfoEXT *>(this);
+  }
 
-    operator VkCalibratedTimestampInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCalibratedTimestampInfoEXT *>( this );
-    }
+  operator VkCalibratedTimestampInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCalibratedTimestampInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CalibratedTimestampInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CalibratedTimestampInfoEXT const &) const = default;
 #else
-    bool operator==( CalibratedTimestampInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( timeDomain == rhs.timeDomain );
-    }
+  bool
+  operator==(CalibratedTimestampInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (timeDomain == rhs.timeDomain);
+  }
 
-    bool operator!=( CalibratedTimestampInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(CalibratedTimestampInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eCalibratedTimestampInfoEXT;
-    const void *                              pNext      = {};
-    VULKAN_HPP_NAMESPACE::TimeDomainEXT       timeDomain = VULKAN_HPP_NAMESPACE::TimeDomainEXT::eDevice;
-  };
-  static_assert( sizeof( CalibratedTimestampInfoEXT ) == sizeof( VkCalibratedTimestampInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CalibratedTimestampInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCalibratedTimestampInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain =
+      VULKAN_HPP_NAMESPACE::TimeDomainEXT::eDevice;
+};
+static_assert(sizeof(CalibratedTimestampInfoEXT) ==
+                  sizeof(VkCalibratedTimestampInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CalibratedTimestampInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCalibratedTimestampInfoEXT>
-  {
-    using Type = CalibratedTimestampInfoEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eCalibratedTimestampInfoEXT> {
+  using Type = CalibratedTimestampInfoEXT;
+};
 
-  struct CheckpointDataNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCheckpointDataNV;
+struct CheckpointData2NV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCheckpointData2Nv;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CheckpointDataNV(
-      VULKAN_HPP_NAMESPACE::PipelineStageFlagBits stage_ = VULKAN_HPP_NAMESPACE::PipelineStageFlagBits::eTopOfPipe,
-      void *                                      pCheckpointMarker_ = {} ) VULKAN_HPP_NOEXCEPT
-      : stage( stage_ )
-      , pCheckpointMarker( pCheckpointMarker_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  CheckpointData2NV(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage_ = {},
+                    void *pCheckpointMarker_ = {}) VULKAN_HPP_NOEXCEPT
+      : stage(stage_),
+        pCheckpointMarker(pCheckpointMarker_) {}
 
-    CheckpointDataNV( VkCheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  CheckpointData2NV(CheckpointData2NV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    CheckpointDataNV & operator=( VkCheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CheckpointDataNV const *>( &rhs );
-      return *this;
-    }
+  CheckpointData2NV(VkCheckpointData2NV const &rhs) VULKAN_HPP_NOEXCEPT
+      : CheckpointData2NV(*reinterpret_cast<CheckpointData2NV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CheckpointDataNV & operator=( CheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      stage             = rhs.stage;
-      pCheckpointMarker = rhs.pCheckpointMarker;
+  VULKAN_HPP_CONSTEXPR_14 CheckpointData2NV &
+  operator=(CheckpointData2NV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  CheckpointData2NV &
+  operator=(VkCheckpointData2NV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CheckpointData2NV const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkCheckpointDataNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCheckpointDataNV *>( this );
-    }
+  operator VkCheckpointData2NV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCheckpointData2NV *>(this);
+  }
 
-    operator VkCheckpointDataNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCheckpointDataNV *>( this );
-    }
+  operator VkCheckpointData2NV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCheckpointData2NV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CheckpointDataNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CheckpointData2NV const &) const = default;
 #else
-    bool operator==( CheckpointDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stage == rhs.stage ) &&
-             ( pCheckpointMarker == rhs.pCheckpointMarker );
-    }
+  bool operator==(CheckpointData2NV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (stage == rhs.stage) && (pCheckpointMarker == rhs.pCheckpointMarker);
+  }
 
-    bool operator!=( CheckpointDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(CheckpointData2NV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType = StructureType::eCheckpointDataNV;
-    void *                                      pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineStageFlagBits stage = VULKAN_HPP_NAMESPACE::PipelineStageFlagBits::eTopOfPipe;
-    void *                                      pCheckpointMarker = {};
-  };
-  static_assert( sizeof( CheckpointDataNV ) == sizeof( VkCheckpointDataNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CheckpointDataNV>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eCheckpointData2Nv;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage = {};
+  void *pCheckpointMarker = {};
+};
+static_assert(sizeof(CheckpointData2NV) == sizeof(VkCheckpointData2NV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CheckpointData2NV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCheckpointDataNV>
-  {
-    using Type = CheckpointDataNV;
-  };
+template <> struct CppType<StructureType, StructureType::eCheckpointData2Nv> {
+  using Type = CheckpointData2NV;
+};
 
-  union ClearColorValue
-  {
-    ClearColorValue( VULKAN_HPP_NAMESPACE::ClearColorValue const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::ClearColorValue ) );
-    }
+struct CheckpointDataNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCheckpointDataNV;
 
-    ClearColorValue( const std::array<float, 4> & float32_ = {} ) : float32( float32_ ) {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  CheckpointDataNV(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits stage_ =
+                       VULKAN_HPP_NAMESPACE::PipelineStageFlagBits::eTopOfPipe,
+                   void *pCheckpointMarker_ = {}) VULKAN_HPP_NOEXCEPT
+      : stage(stage_),
+        pCheckpointMarker(pCheckpointMarker_) {}
 
-    ClearColorValue( const std::array<int32_t, 4> & int32_ ) : int32( int32_ ) {}
+  VULKAN_HPP_CONSTEXPR
+  CheckpointDataNV(CheckpointDataNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ClearColorValue( const std::array<uint32_t, 4> & uint32_ ) : uint32( uint32_ ) {}
+  CheckpointDataNV(VkCheckpointDataNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : CheckpointDataNV(*reinterpret_cast<CheckpointDataNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ClearColorValue & setFloat32( std::array<float, 4> float32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      float32 = float32_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 CheckpointDataNV &
+  operator=(CheckpointDataNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ClearColorValue & setInt32( std::array<int32_t, 4> int32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      int32 = int32_;
-      return *this;
-    }
+  CheckpointDataNV &
+  operator=(VkCheckpointDataNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::CheckpointDataNV const *>(&rhs);
+    return *this;
+  }
 
-    ClearColorValue & setUint32( std::array<uint32_t, 4> uint32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uint32 = uint32_;
-      return *this;
-    }
+  operator VkCheckpointDataNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCheckpointDataNV *>(this);
+  }
 
-    VULKAN_HPP_NAMESPACE::ClearColorValue &
-      operator=( VULKAN_HPP_NAMESPACE::ClearColorValue const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::ClearColorValue ) );
-      return *this;
-    }
+  operator VkCheckpointDataNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCheckpointDataNV *>(this);
+  }
 
-    operator VkClearColorValue const &() const
-    {
-      return *reinterpret_cast<const VkClearColorValue *>( this );
-    }
-
-    operator VkClearColorValue &()
-    {
-      return *reinterpret_cast<VkClearColorValue *>( this );
-    }
-
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4>    float32;
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int32_t, 4>  int32;
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 4> uint32;
-  };
-
-  struct ClearDepthStencilValue
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ClearDepthStencilValue( float depth_ = {}, uint32_t stencil_ = {} ) VULKAN_HPP_NOEXCEPT
-      : depth( depth_ )
-      , stencil( stencil_ )
-    {}
-
-    ClearDepthStencilValue( VkClearDepthStencilValue const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ClearDepthStencilValue & operator=( VkClearDepthStencilValue const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const *>( &rhs );
-      return *this;
-    }
-
-    ClearDepthStencilValue & setDepth( float depth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depth = depth_;
-      return *this;
-    }
-
-    ClearDepthStencilValue & setStencil( uint32_t stencil_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencil = stencil_;
-      return *this;
-    }
-
-    operator VkClearDepthStencilValue const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkClearDepthStencilValue *>( this );
-    }
-
-    operator VkClearDepthStencilValue &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkClearDepthStencilValue *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ClearDepthStencilValue const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CheckpointDataNV const &) const = default;
 #else
-    bool operator==( ClearDepthStencilValue const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( depth == rhs.depth ) && ( stencil == rhs.stencil );
-    }
+  bool operator==(CheckpointDataNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (stage == rhs.stage) && (pCheckpointMarker == rhs.pCheckpointMarker);
+  }
 
-    bool operator!=( ClearDepthStencilValue const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(CheckpointDataNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    float    depth   = {};
-    uint32_t stencil = {};
-  };
-  static_assert( sizeof( ClearDepthStencilValue ) == sizeof( VkClearDepthStencilValue ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ClearDepthStencilValue>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eCheckpointDataNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlagBits stage =
+      VULKAN_HPP_NAMESPACE::PipelineStageFlagBits::eTopOfPipe;
+  void *pCheckpointMarker = {};
+};
+static_assert(sizeof(CheckpointDataNV) == sizeof(VkCheckpointDataNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CheckpointDataNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  union ClearValue
-  {
-    ClearValue( VULKAN_HPP_NAMESPACE::ClearValue const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::ClearValue ) );
-    }
+template <> struct CppType<StructureType, StructureType::eCheckpointDataNV> {
+  using Type = CheckpointDataNV;
+};
 
-    ClearValue( VULKAN_HPP_NAMESPACE::ClearColorValue color_ = {} ) : color( color_ ) {}
+union ClearColorValue {
+  ClearColorValue(VULKAN_HPP_NAMESPACE::ClearColorValue const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::ClearColorValue));
+  }
 
-    ClearValue( VULKAN_HPP_NAMESPACE::ClearDepthStencilValue depthStencil_ ) : depthStencil( depthStencil_ ) {}
+  ClearColorValue(const std::array<float, 4> &float32_ = {})
+      : float32(float32_) {}
 
-    ClearValue & setColor( VULKAN_HPP_NAMESPACE::ClearColorValue const & color_ ) VULKAN_HPP_NOEXCEPT
-    {
-      color = color_;
-      return *this;
-    }
+  ClearColorValue(const std::array<int32_t, 4> &int32_) : int32(int32_) {}
 
-    ClearValue &
-      setDepthStencil( VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const & depthStencil_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthStencil = depthStencil_;
-      return *this;
-    }
+  ClearColorValue(const std::array<uint32_t, 4> &uint32_) : uint32(uint32_) {}
 
-    VULKAN_HPP_NAMESPACE::ClearValue & operator=( VULKAN_HPP_NAMESPACE::ClearValue const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::ClearValue ) );
-      return *this;
-    }
+  ClearColorValue &
+  setFloat32(std::array<float, 4> float32_) VULKAN_HPP_NOEXCEPT {
+    float32 = float32_;
+    return *this;
+  }
 
-    operator VkClearValue const &() const
-    {
-      return *reinterpret_cast<const VkClearValue *>( this );
-    }
+  ClearColorValue &setInt32(std::array<int32_t, 4> int32_) VULKAN_HPP_NOEXCEPT {
+    int32 = int32_;
+    return *this;
+  }
 
-    operator VkClearValue &()
-    {
-      return *reinterpret_cast<VkClearValue *>( this );
-    }
+  ClearColorValue &
+  setUint32(std::array<uint32_t, 4> uint32_) VULKAN_HPP_NOEXCEPT {
+    uint32 = uint32_;
+    return *this;
+  }
+
+  VULKAN_HPP_NAMESPACE::ClearColorValue &operator=(
+      VULKAN_HPP_NAMESPACE::ClearColorValue const &rhs) VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::ClearColorValue));
+    return *this;
+  }
+
+  operator VkClearColorValue const &() const {
+    return *reinterpret_cast<const VkClearColorValue *>(this);
+  }
+
+  operator VkClearColorValue &() {
+    return *reinterpret_cast<VkClearColorValue *>(this);
+  }
+
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> float32;
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int32_t, 4> int32;
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 4> uint32;
+};
+
+struct ClearDepthStencilValue {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ClearDepthStencilValue(float depth_ = {},
+                         uint32_t stencil_ = {}) VULKAN_HPP_NOEXCEPT
+      : depth(depth_),
+        stencil(stencil_) {}
+
+  VULKAN_HPP_CONSTEXPR ClearDepthStencilValue(ClearDepthStencilValue const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ClearDepthStencilValue(VkClearDepthStencilValue const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ClearDepthStencilValue(
+            *reinterpret_cast<ClearDepthStencilValue const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ClearDepthStencilValue &
+  operator=(ClearDepthStencilValue const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ClearDepthStencilValue &
+  operator=(VkClearDepthStencilValue const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const *>(
+            &rhs);
+    return *this;
+  }
+
+  ClearDepthStencilValue &setDepth(float depth_) VULKAN_HPP_NOEXCEPT {
+    depth = depth_;
+    return *this;
+  }
+
+  ClearDepthStencilValue &setStencil(uint32_t stencil_) VULKAN_HPP_NOEXCEPT {
+    stencil = stencil_;
+    return *this;
+  }
+
+  operator VkClearDepthStencilValue const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkClearDepthStencilValue *>(this);
+  }
+
+  operator VkClearDepthStencilValue &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkClearDepthStencilValue *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ClearDepthStencilValue const &) const = default;
+#else
+  bool operator==(ClearDepthStencilValue const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (depth == rhs.depth) && (stencil == rhs.stencil);
+  }
+
+  bool operator!=(ClearDepthStencilValue const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  float depth = {};
+  uint32_t stencil = {};
+};
+static_assert(sizeof(ClearDepthStencilValue) ==
+                  sizeof(VkClearDepthStencilValue),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ClearDepthStencilValue>::value,
+              "struct wrapper is not a standard layout!");
+
+union ClearValue {
+  ClearValue(VULKAN_HPP_NAMESPACE::ClearValue const &rhs) VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::ClearValue));
+  }
+
+  ClearValue(VULKAN_HPP_NAMESPACE::ClearColorValue color_ = {})
+      : color(color_) {}
+
+  ClearValue(VULKAN_HPP_NAMESPACE::ClearDepthStencilValue depthStencil_)
+      : depthStencil(depthStencil_) {}
+
+  ClearValue &setColor(VULKAN_HPP_NAMESPACE::ClearColorValue const &color_)
+      VULKAN_HPP_NOEXCEPT {
+    color = color_;
+    return *this;
+  }
+
+  ClearValue &setDepthStencil(VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const
+                                  &depthStencil_) VULKAN_HPP_NOEXCEPT {
+    depthStencil = depthStencil_;
+    return *this;
+  }
+
+  VULKAN_HPP_NAMESPACE::ClearValue &
+  operator=(VULKAN_HPP_NAMESPACE::ClearValue const &rhs) VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::ClearValue));
+    return *this;
+  }
+
+  operator VkClearValue const &() const {
+    return *reinterpret_cast<const VkClearValue *>(this);
+  }
+
+  operator VkClearValue &() { return *reinterpret_cast<VkClearValue *>(this); }
 
 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-    VULKAN_HPP_NAMESPACE::ClearColorValue        color;
-    VULKAN_HPP_NAMESPACE::ClearDepthStencilValue depthStencil;
+  VULKAN_HPP_NAMESPACE::ClearColorValue color;
+  VULKAN_HPP_NAMESPACE::ClearDepthStencilValue depthStencil;
 #else
-    VkClearColorValue        color;
-    VkClearDepthStencilValue depthStencil;
+  VkClearColorValue color;
+  VkClearDepthStencilValue depthStencil;
 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
-  };
+};
 
-  struct ClearAttachment
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    ClearAttachment( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_      = {},
-                     uint32_t                               colorAttachment_ = {},
-                     VULKAN_HPP_NAMESPACE::ClearValue       clearValue_      = {} ) VULKAN_HPP_NOEXCEPT
-      : aspectMask( aspectMask_ )
-      , colorAttachment( colorAttachment_ )
-      , clearValue( clearValue_ )
-    {}
+struct ClearAttachment {
 
-    ClearAttachment( VkClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  ClearAttachment(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {},
+                  uint32_t colorAttachment_ = {},
+                  VULKAN_HPP_NAMESPACE::ClearValue clearValue_ = {})
+      VULKAN_HPP_NOEXCEPT : aspectMask(aspectMask_),
+                            colorAttachment(colorAttachment_),
+                            clearValue(clearValue_) {}
 
-    ClearAttachment & operator=( VkClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearAttachment const *>( &rhs );
-      return *this;
-    }
+  ClearAttachment(ClearAttachment const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ClearAttachment & setAspectMask( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectMask = aspectMask_;
-      return *this;
-    }
+  ClearAttachment(VkClearAttachment const &rhs) VULKAN_HPP_NOEXCEPT
+      : ClearAttachment(*reinterpret_cast<ClearAttachment const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ClearAttachment & setColorAttachment( uint32_t colorAttachment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorAttachment = colorAttachment_;
-      return *this;
-    }
+  ClearAttachment &
+  operator=(ClearAttachment const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ClearAttachment & setClearValue( VULKAN_HPP_NAMESPACE::ClearValue const & clearValue_ ) VULKAN_HPP_NOEXCEPT
-    {
-      clearValue = clearValue_;
-      return *this;
-    }
+  ClearAttachment &operator=(VkClearAttachment const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearAttachment const *>(&rhs);
+    return *this;
+  }
 
-    operator VkClearAttachment const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkClearAttachment *>( this );
-    }
+  ClearAttachment &setAspectMask(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT {
+    aspectMask = aspectMask_;
+    return *this;
+  }
 
-    operator VkClearAttachment &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkClearAttachment *>( this );
-    }
+  ClearAttachment &
+  setColorAttachment(uint32_t colorAttachment_) VULKAN_HPP_NOEXCEPT {
+    colorAttachment = colorAttachment_;
+    return *this;
+  }
 
-  public:
-    VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask      = {};
-    uint32_t                               colorAttachment = {};
-    VULKAN_HPP_NAMESPACE::ClearValue       clearValue      = {};
-  };
-  static_assert( sizeof( ClearAttachment ) == sizeof( VkClearAttachment ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ClearAttachment>::value, "struct wrapper is not a standard layout!" );
+  ClearAttachment &setClearValue(
+      VULKAN_HPP_NAMESPACE::ClearValue const &clearValue_) VULKAN_HPP_NOEXCEPT {
+    clearValue = clearValue_;
+    return *this;
+  }
 
-  struct ClearRect
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ClearRect( VULKAN_HPP_NAMESPACE::Rect2D rect_           = {},
-                                    uint32_t                     baseArrayLayer_ = {},
-                                    uint32_t                     layerCount_     = {} ) VULKAN_HPP_NOEXCEPT
-      : rect( rect_ )
-      , baseArrayLayer( baseArrayLayer_ )
-      , layerCount( layerCount_ )
-    {}
+  operator VkClearAttachment const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkClearAttachment *>(this);
+  }
 
-    ClearRect( VkClearRect const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  operator VkClearAttachment &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkClearAttachment *>(this);
+  }
 
-    ClearRect & operator=( VkClearRect const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearRect const *>( &rhs );
-      return *this;
-    }
+public:
+  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
+  uint32_t colorAttachment = {};
+  VULKAN_HPP_NAMESPACE::ClearValue clearValue = {};
+};
+static_assert(sizeof(ClearAttachment) == sizeof(VkClearAttachment),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ClearAttachment>::value,
+              "struct wrapper is not a standard layout!");
 
-    ClearRect & setRect( VULKAN_HPP_NAMESPACE::Rect2D const & rect_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rect = rect_;
-      return *this;
-    }
+struct ClearRect {
 
-    ClearRect & setBaseArrayLayer( uint32_t baseArrayLayer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      baseArrayLayer = baseArrayLayer_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ClearRect(VULKAN_HPP_NAMESPACE::Rect2D rect_ = {},
+                                 uint32_t baseArrayLayer_ = {},
+                                 uint32_t layerCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : rect(rect_),
+        baseArrayLayer(baseArrayLayer_),
+        layerCount(layerCount_) {}
 
-    ClearRect & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layerCount = layerCount_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  ClearRect(ClearRect const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkClearRect const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkClearRect *>( this );
-    }
+  ClearRect(VkClearRect const &rhs) VULKAN_HPP_NOEXCEPT
+      : ClearRect(*reinterpret_cast<ClearRect const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkClearRect &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkClearRect *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 ClearRect &
+  operator=(ClearRect const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ClearRect const & ) const = default;
+  ClearRect &operator=(VkClearRect const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearRect const *>(&rhs);
+    return *this;
+  }
+
+  ClearRect &
+  setRect(VULKAN_HPP_NAMESPACE::Rect2D const &rect_) VULKAN_HPP_NOEXCEPT {
+    rect = rect_;
+    return *this;
+  }
+
+  ClearRect &setBaseArrayLayer(uint32_t baseArrayLayer_) VULKAN_HPP_NOEXCEPT {
+    baseArrayLayer = baseArrayLayer_;
+    return *this;
+  }
+
+  ClearRect &setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT {
+    layerCount = layerCount_;
+    return *this;
+  }
+
+  operator VkClearRect const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkClearRect *>(this);
+  }
+
+  operator VkClearRect &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkClearRect *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ClearRect const &) const = default;
 #else
-    bool                     operator==( ClearRect const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( rect == rhs.rect ) && ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount );
-    }
+  bool operator==(ClearRect const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (rect == rhs.rect) && (baseArrayLayer == rhs.baseArrayLayer) &&
+           (layerCount == rhs.layerCount);
+  }
 
-    bool operator!=( ClearRect const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ClearRect const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::Rect2D rect           = {};
-    uint32_t                     baseArrayLayer = {};
-    uint32_t                     layerCount     = {};
-  };
-  static_assert( sizeof( ClearRect ) == sizeof( VkClearRect ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ClearRect>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::Rect2D rect = {};
+  uint32_t baseArrayLayer = {};
+  uint32_t layerCount = {};
+};
+static_assert(sizeof(ClearRect) == sizeof(VkClearRect),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ClearRect>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct CoarseSampleLocationNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    CoarseSampleLocationNV( uint32_t pixelX_ = {}, uint32_t pixelY_ = {}, uint32_t sample_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pixelX( pixelX_ )
-      , pixelY( pixelY_ )
-      , sample( sample_ )
-    {}
+struct CoarseSampleLocationNV {
 
-    CoarseSampleLocationNV( VkCoarseSampleLocationNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  CoarseSampleLocationNV(uint32_t pixelX_ = {}, uint32_t pixelY_ = {},
+                         uint32_t sample_ = {}) VULKAN_HPP_NOEXCEPT
+      : pixelX(pixelX_),
+        pixelY(pixelY_),
+        sample(sample_) {}
 
-    CoarseSampleLocationNV & operator=( VkCoarseSampleLocationNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR CoarseSampleLocationNV(CoarseSampleLocationNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CoarseSampleLocationNV & setPixelX( uint32_t pixelX_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pixelX = pixelX_;
-      return *this;
-    }
+  CoarseSampleLocationNV(VkCoarseSampleLocationNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CoarseSampleLocationNV(
+            *reinterpret_cast<CoarseSampleLocationNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CoarseSampleLocationNV & setPixelY( uint32_t pixelY_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pixelY = pixelY_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 CoarseSampleLocationNV &
+  operator=(CoarseSampleLocationNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    CoarseSampleLocationNV & setSample( uint32_t sample_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sample = sample_;
-      return *this;
-    }
+  CoarseSampleLocationNV &
+  operator=(VkCoarseSampleLocationNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV const *>(
+            &rhs);
+    return *this;
+  }
 
-    operator VkCoarseSampleLocationNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCoarseSampleLocationNV *>( this );
-    }
+  CoarseSampleLocationNV &setPixelX(uint32_t pixelX_) VULKAN_HPP_NOEXCEPT {
+    pixelX = pixelX_;
+    return *this;
+  }
 
-    operator VkCoarseSampleLocationNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCoarseSampleLocationNV *>( this );
-    }
+  CoarseSampleLocationNV &setPixelY(uint32_t pixelY_) VULKAN_HPP_NOEXCEPT {
+    pixelY = pixelY_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CoarseSampleLocationNV const & ) const = default;
+  CoarseSampleLocationNV &setSample(uint32_t sample_) VULKAN_HPP_NOEXCEPT {
+    sample = sample_;
+    return *this;
+  }
+
+  operator VkCoarseSampleLocationNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCoarseSampleLocationNV *>(this);
+  }
+
+  operator VkCoarseSampleLocationNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCoarseSampleLocationNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CoarseSampleLocationNV const &) const = default;
 #else
-    bool operator==( CoarseSampleLocationNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( pixelX == rhs.pixelX ) && ( pixelY == rhs.pixelY ) && ( sample == rhs.sample );
-    }
+  bool operator==(CoarseSampleLocationNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (pixelX == rhs.pixelX) && (pixelY == rhs.pixelY) &&
+           (sample == rhs.sample);
+  }
 
-    bool operator!=( CoarseSampleLocationNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(CoarseSampleLocationNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t pixelX = {};
-    uint32_t pixelY = {};
-    uint32_t sample = {};
-  };
-  static_assert( sizeof( CoarseSampleLocationNV ) == sizeof( VkCoarseSampleLocationNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CoarseSampleLocationNV>::value, "struct wrapper is not a standard layout!" );
+public:
+  uint32_t pixelX = {};
+  uint32_t pixelY = {};
+  uint32_t sample = {};
+};
+static_assert(sizeof(CoarseSampleLocationNV) ==
+                  sizeof(VkCoarseSampleLocationNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CoarseSampleLocationNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct CoarseSampleOrderCustomNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CoarseSampleOrderCustomNV(
+struct CoarseSampleOrderCustomNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CoarseSampleOrderCustomNV(
       VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate_ =
-        VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV::eNoInvocations,
-      uint32_t                                             sampleCount_         = {},
-      uint32_t                                             sampleLocationCount_ = {},
-      const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV * pSampleLocations_    = {} ) VULKAN_HPP_NOEXCEPT
-      : shadingRate( shadingRate_ )
-      , sampleCount( sampleCount_ )
-      , sampleLocationCount( sampleLocationCount_ )
-      , pSampleLocations( pSampleLocations_ )
-    {}
+          VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV::eNoInvocations,
+      uint32_t sampleCount_ = {}, uint32_t sampleLocationCount_ = {},
+      const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV *pSampleLocations_ =
+          {}) VULKAN_HPP_NOEXCEPT : shadingRate(shadingRate_),
+                                    sampleCount(sampleCount_),
+                                    sampleLocationCount(sampleLocationCount_),
+                                    pSampleLocations(pSampleLocations_) {}
 
-    CoarseSampleOrderCustomNV( VkCoarseSampleOrderCustomNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR CoarseSampleOrderCustomNV(
+      CoarseSampleOrderCustomNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    CoarseSampleOrderCustomNV(
+  CoarseSampleOrderCustomNV(VkCoarseSampleOrderCustomNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CoarseSampleOrderCustomNV(
+            *reinterpret_cast<CoarseSampleOrderCustomNV const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CoarseSampleOrderCustomNV(
       VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate_,
-      uint32_t                                        sampleCount_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV> const &
-        sampleLocations_ )
-      : shadingRate( shadingRate_ )
-      , sampleCount( sampleCount_ )
-      , sampleLocationCount( static_cast<uint32_t>( sampleLocations_.size() ) )
-      , pSampleLocations( sampleLocations_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      uint32_t sampleCount_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV> const
+          &sampleLocations_)
+      : shadingRate(shadingRate_), sampleCount(sampleCount_),
+        sampleLocationCount(static_cast<uint32_t>(sampleLocations_.size())),
+        pSampleLocations(sampleLocations_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CoarseSampleOrderCustomNV & operator=( VkCoarseSampleOrderCustomNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV &
+  operator=(CoarseSampleOrderCustomNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    CoarseSampleOrderCustomNV &
-      setShadingRate( VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shadingRate = shadingRate_;
-      return *this;
-    }
+  CoarseSampleOrderCustomNV &
+  operator=(VkCoarseSampleOrderCustomNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV const *>(&rhs);
+    return *this;
+  }
 
-    CoarseSampleOrderCustomNV & setSampleCount( uint32_t sampleCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleCount = sampleCount_;
-      return *this;
-    }
+  CoarseSampleOrderCustomNV &
+  setShadingRate(VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate_)
+      VULKAN_HPP_NOEXCEPT {
+    shadingRate = shadingRate_;
+    return *this;
+  }
 
-    CoarseSampleOrderCustomNV & setSampleLocationCount( uint32_t sampleLocationCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationCount = sampleLocationCount_;
-      return *this;
-    }
+  CoarseSampleOrderCustomNV &
+  setSampleCount(uint32_t sampleCount_) VULKAN_HPP_NOEXCEPT {
+    sampleCount = sampleCount_;
+    return *this;
+  }
 
-    CoarseSampleOrderCustomNV &
-      setPSampleLocations( const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV * pSampleLocations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSampleLocations = pSampleLocations_;
-      return *this;
-    }
+  CoarseSampleOrderCustomNV &
+  setSampleLocationCount(uint32_t sampleLocationCount_) VULKAN_HPP_NOEXCEPT {
+    sampleLocationCount = sampleLocationCount_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    CoarseSampleOrderCustomNV & setSampleLocations(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV> const &
-        sampleLocations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationCount = static_cast<uint32_t>( sampleLocations_.size() );
-      pSampleLocations    = sampleLocations_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CoarseSampleOrderCustomNV &setPSampleLocations(
+      const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV *pSampleLocations_)
+      VULKAN_HPP_NOEXCEPT {
+    pSampleLocations = pSampleLocations_;
+    return *this;
+  }
 
-    operator VkCoarseSampleOrderCustomNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CoarseSampleOrderCustomNV &
+  setSampleLocations(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                     const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV> const
+                         &sampleLocations_) VULKAN_HPP_NOEXCEPT {
+    sampleLocationCount = static_cast<uint32_t>(sampleLocations_.size());
+    pSampleLocations = sampleLocations_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkCoarseSampleOrderCustomNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCoarseSampleOrderCustomNV *>( this );
-    }
+  operator VkCoarseSampleOrderCustomNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCoarseSampleOrderCustomNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CoarseSampleOrderCustomNV const & ) const = default;
+  operator VkCoarseSampleOrderCustomNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCoarseSampleOrderCustomNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CoarseSampleOrderCustomNV const &) const = default;
 #else
-    bool operator==( CoarseSampleOrderCustomNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( shadingRate == rhs.shadingRate ) && ( sampleCount == rhs.sampleCount ) &&
-             ( sampleLocationCount == rhs.sampleLocationCount ) && ( pSampleLocations == rhs.pSampleLocations );
-    }
+  bool
+  operator==(CoarseSampleOrderCustomNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (shadingRate == rhs.shadingRate) &&
+           (sampleCount == rhs.sampleCount) &&
+           (sampleLocationCount == rhs.sampleLocationCount) &&
+           (pSampleLocations == rhs.pSampleLocations);
+  }
 
-    bool operator!=( CoarseSampleOrderCustomNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(CoarseSampleOrderCustomNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate =
+public:
+  VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate =
       VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV::eNoInvocations;
-    uint32_t                                             sampleCount         = {};
-    uint32_t                                             sampleLocationCount = {};
-    const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV * pSampleLocations    = {};
-  };
-  static_assert( sizeof( CoarseSampleOrderCustomNV ) == sizeof( VkCoarseSampleOrderCustomNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CoarseSampleOrderCustomNV>::value,
-                 "struct wrapper is not a standard layout!" );
+  uint32_t sampleCount = {};
+  uint32_t sampleLocationCount = {};
+  const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV *pSampleLocations = {};
+};
+static_assert(sizeof(CoarseSampleOrderCustomNV) ==
+                  sizeof(VkCoarseSampleOrderCustomNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CoarseSampleOrderCustomNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct CommandBufferAllocateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCommandBufferAllocateInfo;
+class CommandPool {
+public:
+  using CType = VkCommandPool;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CommandBufferAllocateInfo(
-      VULKAN_HPP_NAMESPACE::CommandPool        commandPool_        = {},
-      VULKAN_HPP_NAMESPACE::CommandBufferLevel level_              = VULKAN_HPP_NAMESPACE::CommandBufferLevel::ePrimary,
-      uint32_t                                 commandBufferCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : commandPool( commandPool_ )
-      , level( level_ )
-      , commandBufferCount( commandBufferCount_ )
-    {}
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandPool;
 
-    CommandBufferAllocateInfo( VkCommandBufferAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+public:
+  VULKAN_HPP_CONSTEXPR CommandPool() = default;
+  VULKAN_HPP_CONSTEXPR CommandPool(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  CommandPool(VkCommandPool commandPool) VULKAN_HPP_NOEXCEPT
+      : m_commandPool(commandPool) {}
 
-    CommandBufferAllocateInfo & operator=( VkCommandBufferAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const *>( &rhs );
-      return *this;
-    }
-
-    CommandBufferAllocateInfo & operator=( CommandBufferAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      commandPool        = rhs.commandPool;
-      level              = rhs.level;
-      commandBufferCount = rhs.commandBufferCount;
-
-      return *this;
-    }
-
-    CommandBufferAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    CommandBufferAllocateInfo & setCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool_ ) VULKAN_HPP_NOEXCEPT
-    {
-      commandPool = commandPool_;
-      return *this;
-    }
-
-    CommandBufferAllocateInfo & setLevel( VULKAN_HPP_NAMESPACE::CommandBufferLevel level_ ) VULKAN_HPP_NOEXCEPT
-    {
-      level = level_;
-      return *this;
-    }
-
-    CommandBufferAllocateInfo & setCommandBufferCount( uint32_t commandBufferCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      commandBufferCount = commandBufferCount_;
-      return *this;
-    }
-
-    operator VkCommandBufferAllocateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCommandBufferAllocateInfo *>( this );
-    }
-
-    operator VkCommandBufferAllocateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCommandBufferAllocateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandBufferAllocateInfo const & ) const = default;
-#else
-    bool operator==( CommandBufferAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( commandPool == rhs.commandPool ) &&
-             ( level == rhs.level ) && ( commandBufferCount == rhs.commandBufferCount );
-    }
-
-    bool operator!=( CommandBufferAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  CommandPool &operator=(VkCommandPool commandPool) VULKAN_HPP_NOEXCEPT {
+    m_commandPool = commandPool;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType              = StructureType::eCommandBufferAllocateInfo;
-    const void *                              pNext              = {};
-    VULKAN_HPP_NAMESPACE::CommandPool         commandPool        = {};
-    VULKAN_HPP_NAMESPACE::CommandBufferLevel  level              = VULKAN_HPP_NAMESPACE::CommandBufferLevel::ePrimary;
-    uint32_t                                  commandBufferCount = {};
-  };
-  static_assert( sizeof( CommandBufferAllocateInfo ) == sizeof( VkCommandBufferAllocateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CommandBufferAllocateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+  CommandPool &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_commandPool = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eCommandBufferAllocateInfo>
-  {
-    using Type = CommandBufferAllocateInfo;
-  };
-
-  struct CommandBufferInheritanceInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCommandBufferInheritanceInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CommandBufferInheritanceInfo(
-      VULKAN_HPP_NAMESPACE::RenderPass                  renderPass_           = {},
-      uint32_t                                          subpass_              = {},
-      VULKAN_HPP_NAMESPACE::Framebuffer                 framebuffer_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32                      occlusionQueryEnable_ = {},
-      VULKAN_HPP_NAMESPACE::QueryControlFlags           queryFlags_           = {},
-      VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_   = {} ) VULKAN_HPP_NOEXCEPT
-      : renderPass( renderPass_ )
-      , subpass( subpass_ )
-      , framebuffer( framebuffer_ )
-      , occlusionQueryEnable( occlusionQueryEnable_ )
-      , queryFlags( queryFlags_ )
-      , pipelineStatistics( pipelineStatistics_ )
-    {}
-
-    CommandBufferInheritanceInfo( VkCommandBufferInheritanceInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    CommandBufferInheritanceInfo & operator=( VkCommandBufferInheritanceInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo const *>( &rhs );
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo & operator=( CommandBufferInheritanceInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      renderPass           = rhs.renderPass;
-      subpass              = rhs.subpass;
-      framebuffer          = rhs.framebuffer;
-      occlusionQueryEnable = rhs.occlusionQueryEnable;
-      queryFlags           = rhs.queryFlags;
-      pipelineStatistics   = rhs.pipelineStatistics;
-
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo & setRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      renderPass = renderPass_;
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo & setSubpass( uint32_t subpass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpass = subpass_;
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo & setFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      framebuffer = framebuffer_;
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo &
-      setOcclusionQueryEnable( VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      occlusionQueryEnable = occlusionQueryEnable_;
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo &
-      setQueryFlags( VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queryFlags = queryFlags_;
-      return *this;
-    }
-
-    CommandBufferInheritanceInfo &
-      setPipelineStatistics( VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineStatistics = pipelineStatistics_;
-      return *this;
-    }
-
-    operator VkCommandBufferInheritanceInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCommandBufferInheritanceInfo *>( this );
-    }
-
-    operator VkCommandBufferInheritanceInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCommandBufferInheritanceInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandBufferInheritanceInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandPool const &) const = default;
 #else
-    bool operator==( CommandBufferInheritanceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( renderPass == rhs.renderPass ) &&
-             ( subpass == rhs.subpass ) && ( framebuffer == rhs.framebuffer ) &&
-             ( occlusionQueryEnable == rhs.occlusionQueryEnable ) && ( queryFlags == rhs.queryFlags ) &&
-             ( pipelineStatistics == rhs.pipelineStatistics );
-    }
+  bool operator==(CommandPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_commandPool == rhs.m_commandPool;
+  }
 
-    bool operator!=( CommandBufferInheritanceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(CommandPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_commandPool != rhs.m_commandPool;
+  }
+
+  bool operator<(CommandPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_commandPool < rhs.m_commandPool;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType       = StructureType::eCommandBufferInheritanceInfo;
-    const void *                                      pNext       = {};
-    VULKAN_HPP_NAMESPACE::RenderPass                  renderPass  = {};
-    uint32_t                                          subpass     = {};
-    VULKAN_HPP_NAMESPACE::Framebuffer                 framebuffer = {};
-    VULKAN_HPP_NAMESPACE::Bool32                      occlusionQueryEnable = {};
-    VULKAN_HPP_NAMESPACE::QueryControlFlags           queryFlags           = {};
-    VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics   = {};
-  };
-  static_assert( sizeof( CommandBufferInheritanceInfo ) == sizeof( VkCommandBufferInheritanceInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CommandBufferInheritanceInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkCommandPool() const VULKAN_HPP_NOEXCEPT {
+    return m_commandPool;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eCommandBufferInheritanceInfo>
-  {
-    using Type = CommandBufferInheritanceInfo;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_commandPool != VK_NULL_HANDLE;
+  }
 
-  struct CommandBufferBeginInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCommandBufferBeginInfo;
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_commandPool == VK_NULL_HANDLE;
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CommandBufferBeginInfo(
-      VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags              flags_            = {},
-      const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo * pInheritanceInfo_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pInheritanceInfo( pInheritanceInfo_ )
-    {}
+private:
+  VkCommandPool m_commandPool = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::CommandPool) ==
+                  sizeof(VkCommandPool),
+              "handle and wrapper have different size!");
 
-    CommandBufferBeginInfo( VkCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eCommandPool> {
+  using type = VULKAN_HPP_NAMESPACE::CommandPool;
+};
 
-    CommandBufferBeginInfo & operator=( VkCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo const *>( &rhs );
-      return *this;
-    }
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool> {
+  using Type = VULKAN_HPP_NAMESPACE::CommandPool;
+};
 
-    CommandBufferBeginInfo & operator=( CommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      flags            = rhs.flags;
-      pInheritanceInfo = rhs.pInheritanceInfo;
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandPool> {
+  using Type = VULKAN_HPP_NAMESPACE::CommandPool;
+};
 
-      return *this;
-    }
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::CommandPool> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-    CommandBufferBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+struct CommandBufferAllocateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCommandBufferAllocateInfo;
 
-    CommandBufferBeginInfo & setFlags( VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CommandBufferAllocateInfo(
+      VULKAN_HPP_NAMESPACE::CommandPool commandPool_ = {},
+      VULKAN_HPP_NAMESPACE::CommandBufferLevel level_ =
+          VULKAN_HPP_NAMESPACE::CommandBufferLevel::ePrimary,
+      uint32_t commandBufferCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : commandPool(commandPool_),
+        level(level_),
+        commandBufferCount(commandBufferCount_) {}
 
-    CommandBufferBeginInfo & setPInheritanceInfo(
-      const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo * pInheritanceInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pInheritanceInfo = pInheritanceInfo_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR CommandBufferAllocateInfo(
+      CommandBufferAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkCommandBufferBeginInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCommandBufferBeginInfo *>( this );
-    }
+  CommandBufferAllocateInfo(VkCommandBufferAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CommandBufferAllocateInfo(
+            *reinterpret_cast<CommandBufferAllocateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkCommandBufferBeginInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCommandBufferBeginInfo *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo &
+  operator=(CommandBufferAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandBufferBeginInfo const & ) const = default;
+  CommandBufferAllocateInfo &
+  operator=(VkCommandBufferAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const *>(&rhs);
+    return *this;
+  }
+
+  CommandBufferAllocateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CommandBufferAllocateInfo &setCommandPool(
+      VULKAN_HPP_NAMESPACE::CommandPool commandPool_) VULKAN_HPP_NOEXCEPT {
+    commandPool = commandPool_;
+    return *this;
+  }
+
+  CommandBufferAllocateInfo &setLevel(
+      VULKAN_HPP_NAMESPACE::CommandBufferLevel level_) VULKAN_HPP_NOEXCEPT {
+    level = level_;
+    return *this;
+  }
+
+  CommandBufferAllocateInfo &
+  setCommandBufferCount(uint32_t commandBufferCount_) VULKAN_HPP_NOEXCEPT {
+    commandBufferCount = commandBufferCount_;
+    return *this;
+  }
+
+  operator VkCommandBufferAllocateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCommandBufferAllocateInfo *>(this);
+  }
+
+  operator VkCommandBufferAllocateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCommandBufferAllocateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandBufferAllocateInfo const &) const = default;
 #else
-    bool operator==( CommandBufferBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( pInheritanceInfo == rhs.pInheritanceInfo );
-    }
+  bool
+  operator==(CommandBufferAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (commandPool == rhs.commandPool) && (level == rhs.level) &&
+           (commandBufferCount == rhs.commandBufferCount);
+  }
 
-    bool operator!=( CommandBufferBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(CommandBufferAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                  sType = StructureType::eCommandBufferBeginInfo;
-    const void *                                               pNext = {};
-    VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags              flags = {};
-    const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo * pInheritanceInfo = {};
-  };
-  static_assert( sizeof( CommandBufferBeginInfo ) == sizeof( VkCommandBufferBeginInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CommandBufferBeginInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCommandBufferAllocateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::CommandPool commandPool = {};
+  VULKAN_HPP_NAMESPACE::CommandBufferLevel level =
+      VULKAN_HPP_NAMESPACE::CommandBufferLevel::ePrimary;
+  uint32_t commandBufferCount = {};
+};
+static_assert(sizeof(CommandBufferAllocateInfo) ==
+                  sizeof(VkCommandBufferAllocateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CommandBufferAllocateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCommandBufferBeginInfo>
-  {
-    using Type = CommandBufferBeginInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eCommandBufferAllocateInfo> {
+  using Type = CommandBufferAllocateInfo;
+};
 
-  struct CommandBufferInheritanceConditionalRenderingInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+class RenderPass {
+public:
+  using CType = VkRenderPass;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eRenderPass;
+
+public:
+  VULKAN_HPP_CONSTEXPR RenderPass() = default;
+  VULKAN_HPP_CONSTEXPR RenderPass(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  RenderPass(VkRenderPass renderPass) VULKAN_HPP_NOEXCEPT
+      : m_renderPass(renderPass) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  RenderPass &operator=(VkRenderPass renderPass) VULKAN_HPP_NOEXCEPT {
+    m_renderPass = renderPass;
+    return *this;
+  }
+#endif
+
+  RenderPass &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_renderPass = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPass const &) const = default;
+#else
+  bool operator==(RenderPass const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_renderPass == rhs.m_renderPass;
+  }
+
+  bool operator!=(RenderPass const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_renderPass != rhs.m_renderPass;
+  }
+
+  bool operator<(RenderPass const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_renderPass < rhs.m_renderPass;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkRenderPass() const VULKAN_HPP_NOEXCEPT {
+    return m_renderPass;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_renderPass != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_renderPass == VK_NULL_HANDLE;
+  }
+
+private:
+  VkRenderPass m_renderPass = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::RenderPass) == sizeof(VkRenderPass),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eRenderPass> {
+  using type = VULKAN_HPP_NAMESPACE::RenderPass;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass> {
+  using Type = VULKAN_HPP_NAMESPACE::RenderPass;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eRenderPass> {
+  using Type = VULKAN_HPP_NAMESPACE::RenderPass;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::RenderPass> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+class Framebuffer {
+public:
+  using CType = VkFramebuffer;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFramebuffer;
+
+public:
+  VULKAN_HPP_CONSTEXPR Framebuffer() = default;
+  VULKAN_HPP_CONSTEXPR Framebuffer(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  Framebuffer(VkFramebuffer framebuffer) VULKAN_HPP_NOEXCEPT
+      : m_framebuffer(framebuffer) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Framebuffer &operator=(VkFramebuffer framebuffer) VULKAN_HPP_NOEXCEPT {
+    m_framebuffer = framebuffer;
+    return *this;
+  }
+#endif
+
+  Framebuffer &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_framebuffer = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Framebuffer const &) const = default;
+#else
+  bool operator==(Framebuffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_framebuffer == rhs.m_framebuffer;
+  }
+
+  bool operator!=(Framebuffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_framebuffer != rhs.m_framebuffer;
+  }
+
+  bool operator<(Framebuffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_framebuffer < rhs.m_framebuffer;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkFramebuffer() const VULKAN_HPP_NOEXCEPT {
+    return m_framebuffer;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_framebuffer != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_framebuffer == VK_NULL_HANDLE;
+  }
+
+private:
+  VkFramebuffer m_framebuffer = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Framebuffer) ==
+                  sizeof(VkFramebuffer),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eFramebuffer> {
+  using type = VULKAN_HPP_NAMESPACE::Framebuffer;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer> {
+  using Type = VULKAN_HPP_NAMESPACE::Framebuffer;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFramebuffer> {
+  using Type = VULKAN_HPP_NAMESPACE::Framebuffer;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Framebuffer> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct CommandBufferInheritanceInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCommandBufferInheritanceInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CommandBufferInheritanceInfo(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {}, uint32_t subpass_ = {},
+      VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryEnable_ = {},
+      VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags_ = {},
+      VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_ =
+          {}) VULKAN_HPP_NOEXCEPT : renderPass(renderPass_),
+                                    subpass(subpass_),
+                                    framebuffer(framebuffer_),
+                                    occlusionQueryEnable(occlusionQueryEnable_),
+                                    queryFlags(queryFlags_),
+                                    pipelineStatistics(pipelineStatistics_) {}
+
+  VULKAN_HPP_CONSTEXPR CommandBufferInheritanceInfo(
+      CommandBufferInheritanceInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CommandBufferInheritanceInfo(VkCommandBufferInheritanceInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CommandBufferInheritanceInfo(
+            *reinterpret_cast<CommandBufferInheritanceInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo &operator=(
+      CommandBufferInheritanceInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CommandBufferInheritanceInfo &
+  operator=(VkCommandBufferInheritanceInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo const *>(&rhs);
+    return *this;
+  }
+
+  CommandBufferInheritanceInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CommandBufferInheritanceInfo &setRenderPass(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT {
+    renderPass = renderPass_;
+    return *this;
+  }
+
+  CommandBufferInheritanceInfo &
+  setSubpass(uint32_t subpass_) VULKAN_HPP_NOEXCEPT {
+    subpass = subpass_;
+    return *this;
+  }
+
+  CommandBufferInheritanceInfo &setFramebuffer(
+      VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_) VULKAN_HPP_NOEXCEPT {
+    framebuffer = framebuffer_;
+    return *this;
+  }
+
+  CommandBufferInheritanceInfo &setOcclusionQueryEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryEnable_) VULKAN_HPP_NOEXCEPT {
+    occlusionQueryEnable = occlusionQueryEnable_;
+    return *this;
+  }
+
+  CommandBufferInheritanceInfo &setQueryFlags(
+      VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags_) VULKAN_HPP_NOEXCEPT {
+    queryFlags = queryFlags_;
+    return *this;
+  }
+
+  CommandBufferInheritanceInfo &setPipelineStatistics(
+      VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineStatistics = pipelineStatistics_;
+    return *this;
+  }
+
+  operator VkCommandBufferInheritanceInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCommandBufferInheritanceInfo *>(this);
+  }
+
+  operator VkCommandBufferInheritanceInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCommandBufferInheritanceInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandBufferInheritanceInfo const &) const = default;
+#else
+  bool operator==(CommandBufferInheritanceInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (renderPass == rhs.renderPass) && (subpass == rhs.subpass) &&
+           (framebuffer == rhs.framebuffer) &&
+           (occlusionQueryEnable == rhs.occlusionQueryEnable) &&
+           (queryFlags == rhs.queryFlags) &&
+           (pipelineStatistics == rhs.pipelineStatistics);
+  }
+
+  bool operator!=(CommandBufferInheritanceInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCommandBufferInheritanceInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass = {};
+  uint32_t subpass = {};
+  VULKAN_HPP_NAMESPACE::Framebuffer framebuffer = {};
+  VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryEnable = {};
+  VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags = {};
+  VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics = {};
+};
+static_assert(sizeof(CommandBufferInheritanceInfo) ==
+                  sizeof(VkCommandBufferInheritanceInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CommandBufferInheritanceInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCommandBufferInheritanceInfo> {
+  using Type = CommandBufferInheritanceInfo;
+};
+
+struct CommandBufferBeginInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCommandBufferBeginInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CommandBufferBeginInfo(
+      VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags_ = {},
+      const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo
+          *pInheritanceInfo_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        pInheritanceInfo(pInheritanceInfo_) {}
+
+  VULKAN_HPP_CONSTEXPR CommandBufferBeginInfo(CommandBufferBeginInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  CommandBufferBeginInfo(VkCommandBufferBeginInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CommandBufferBeginInfo(
+            *reinterpret_cast<CommandBufferBeginInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CommandBufferBeginInfo &
+  operator=(CommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CommandBufferBeginInfo &
+  operator=(VkCommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  CommandBufferBeginInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CommandBufferBeginInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  CommandBufferBeginInfo &
+  setPInheritanceInfo(const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo
+                          *pInheritanceInfo_) VULKAN_HPP_NOEXCEPT {
+    pInheritanceInfo = pInheritanceInfo_;
+    return *this;
+  }
+
+  operator VkCommandBufferBeginInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCommandBufferBeginInfo *>(this);
+  }
+
+  operator VkCommandBufferBeginInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCommandBufferBeginInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandBufferBeginInfo const &) const = default;
+#else
+  bool operator==(CommandBufferBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pInheritanceInfo == rhs.pInheritanceInfo);
+  }
+
+  bool operator!=(CommandBufferBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCommandBufferBeginInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags = {};
+  const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo *pInheritanceInfo =
+      {};
+};
+static_assert(sizeof(CommandBufferBeginInfo) ==
+                  sizeof(VkCommandBufferBeginInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CommandBufferBeginInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCommandBufferBeginInfo> {
+  using Type = CommandBufferBeginInfo;
+};
+
+struct CommandBufferInheritanceConditionalRenderingInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CommandBufferInheritanceConditionalRenderingInfoEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable_ = {} ) VULKAN_HPP_NOEXCEPT
-      : conditionalRenderingEnable( conditionalRenderingEnable_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CommandBufferInheritanceConditionalRenderingInfoEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : conditionalRenderingEnable(conditionalRenderingEnable_) {}
 
-    CommandBufferInheritanceConditionalRenderingInfoEXT(
-      VkCommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR CommandBufferInheritanceConditionalRenderingInfoEXT(
+      CommandBufferInheritanceConditionalRenderingInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CommandBufferInheritanceConditionalRenderingInfoEXT &
-      operator=( VkCommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT const *>( &rhs );
-      return *this;
-    }
+  CommandBufferInheritanceConditionalRenderingInfoEXT(
+      VkCommandBufferInheritanceConditionalRenderingInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CommandBufferInheritanceConditionalRenderingInfoEXT(
+            *reinterpret_cast<
+                CommandBufferInheritanceConditionalRenderingInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CommandBufferInheritanceConditionalRenderingInfoEXT &
-      operator=( CommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      conditionalRenderingEnable = rhs.conditionalRenderingEnable;
+  VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceConditionalRenderingInfoEXT &
+  operator=(CommandBufferInheritanceConditionalRenderingInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  CommandBufferInheritanceConditionalRenderingInfoEXT &
+  operator=(VkCommandBufferInheritanceConditionalRenderingInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            CommandBufferInheritanceConditionalRenderingInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    CommandBufferInheritanceConditionalRenderingInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  CommandBufferInheritanceConditionalRenderingInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CommandBufferInheritanceConditionalRenderingInfoEXT &
-      setConditionalRenderingEnable( VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      conditionalRenderingEnable = conditionalRenderingEnable_;
-      return *this;
-    }
+  CommandBufferInheritanceConditionalRenderingInfoEXT &
+  setConditionalRenderingEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable_)
+      VULKAN_HPP_NOEXCEPT {
+    conditionalRenderingEnable = conditionalRenderingEnable_;
+    return *this;
+  }
 
-    operator VkCommandBufferInheritanceConditionalRenderingInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this );
-    }
+  operator VkCommandBufferInheritanceConditionalRenderingInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(this);
+  }
 
-    operator VkCommandBufferInheritanceConditionalRenderingInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this );
-    }
+  operator VkCommandBufferInheritanceConditionalRenderingInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandBufferInheritanceConditionalRenderingInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandBufferInheritanceConditionalRenderingInfoEXT const &)
+      const = default;
 #else
-    bool operator==( CommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( conditionalRenderingEnable == rhs.conditionalRenderingEnable );
-    }
+  bool operator==(CommandBufferInheritanceConditionalRenderingInfoEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (conditionalRenderingEnable == rhs.conditionalRenderingEnable);
+  }
 
-    bool operator!=( CommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(CommandBufferInheritanceConditionalRenderingInfoEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT;
-    const void *                 pNext                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable = {};
-  };
-  static_assert( sizeof( CommandBufferInheritanceConditionalRenderingInfoEXT ) ==
-                   sizeof( VkCommandBufferInheritanceConditionalRenderingInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CommandBufferInheritanceConditionalRenderingInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable = {};
+};
+static_assert(sizeof(CommandBufferInheritanceConditionalRenderingInfoEXT) ==
+                  sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  CommandBufferInheritanceConditionalRenderingInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT>
-  {
-    using Type = CommandBufferInheritanceConditionalRenderingInfoEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT> {
+  using Type = CommandBufferInheritanceConditionalRenderingInfoEXT;
+};
 
-  struct CommandBufferInheritanceRenderPassTransformInfoQCOM
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderPassTransformInfoQCOM(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderPassTransformInfoQCOM(
       VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_ =
-        VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
-      VULKAN_HPP_NAMESPACE::Rect2D renderArea_ = {} ) VULKAN_HPP_NOEXCEPT
-      : transform( transform_ )
-      , renderArea( renderArea_ )
-    {}
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
+      VULKAN_HPP_NAMESPACE::Rect2D renderArea_ = {}) VULKAN_HPP_NOEXCEPT
+      : transform(transform_),
+        renderArea(renderArea_) {}
 
-    CommandBufferInheritanceRenderPassTransformInfoQCOM(
-      VkCommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderPassTransformInfoQCOM(
+      CommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CommandBufferInheritanceRenderPassTransformInfoQCOM &
-      operator=( VkCommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM const *>( &rhs );
-      return *this;
-    }
+  CommandBufferInheritanceRenderPassTransformInfoQCOM(
+      VkCommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CommandBufferInheritanceRenderPassTransformInfoQCOM(
+            *reinterpret_cast<
+                CommandBufferInheritanceRenderPassTransformInfoQCOM const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CommandBufferInheritanceRenderPassTransformInfoQCOM &
-      operator=( CommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      transform  = rhs.transform;
-      renderArea = rhs.renderArea;
+  VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderPassTransformInfoQCOM &
+  operator=(CommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  CommandBufferInheritanceRenderPassTransformInfoQCOM &
+  operator=(VkCommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            CommandBufferInheritanceRenderPassTransformInfoQCOM const *>(&rhs);
+    return *this;
+  }
 
-    CommandBufferInheritanceRenderPassTransformInfoQCOM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  CommandBufferInheritanceRenderPassTransformInfoQCOM &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CommandBufferInheritanceRenderPassTransformInfoQCOM &
-      setTransform( VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transform = transform_;
-      return *this;
-    }
+  CommandBufferInheritanceRenderPassTransformInfoQCOM &
+  setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_)
+      VULKAN_HPP_NOEXCEPT {
+    transform = transform_;
+    return *this;
+  }
 
-    CommandBufferInheritanceRenderPassTransformInfoQCOM &
-      setRenderArea( VULKAN_HPP_NAMESPACE::Rect2D const & renderArea_ ) VULKAN_HPP_NOEXCEPT
-    {
-      renderArea = renderArea_;
-      return *this;
-    }
+  CommandBufferInheritanceRenderPassTransformInfoQCOM &setRenderArea(
+      VULKAN_HPP_NAMESPACE::Rect2D const &renderArea_) VULKAN_HPP_NOEXCEPT {
+    renderArea = renderArea_;
+    return *this;
+  }
 
-    operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this );
-    }
+  operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>(this);
+  }
 
-    operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this );
-    }
+  operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandBufferInheritanceRenderPassTransformInfoQCOM const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandBufferInheritanceRenderPassTransformInfoQCOM const &)
+      const = default;
 #else
-    bool operator==( CommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( transform == rhs.transform ) &&
-             ( renderArea == rhs.renderArea );
-    }
+  bool operator==(CommandBufferInheritanceRenderPassTransformInfoQCOM const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (transform == rhs.transform) && (renderArea == rhs.renderArea);
+  }
 
-    bool operator!=( CommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(CommandBufferInheritanceRenderPassTransformInfoQCOM const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM;
-    void *                                            pNext = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform =
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform =
       VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
-    VULKAN_HPP_NAMESPACE::Rect2D renderArea = {};
-  };
-  static_assert( sizeof( CommandBufferInheritanceRenderPassTransformInfoQCOM ) ==
-                   sizeof( VkCommandBufferInheritanceRenderPassTransformInfoQCOM ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CommandBufferInheritanceRenderPassTransformInfoQCOM>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_NAMESPACE::Rect2D renderArea = {};
+};
+static_assert(sizeof(CommandBufferInheritanceRenderPassTransformInfoQCOM) ==
+                  sizeof(VkCommandBufferInheritanceRenderPassTransformInfoQCOM),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  CommandBufferInheritanceRenderPassTransformInfoQCOM>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM>
-  {
-    using Type = CommandBufferInheritanceRenderPassTransformInfoQCOM;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM> {
+  using Type = CommandBufferInheritanceRenderPassTransformInfoQCOM;
+};
 
-  struct CommandPoolCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCommandPoolCreateInfo;
+struct ConditionalRenderingBeginInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eConditionalRenderingBeginInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CommandPoolCreateInfo( VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags_ = {},
-                                                uint32_t queueFamilyIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , queueFamilyIndex( queueFamilyIndex_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ConditionalRenderingBeginInfoEXT(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
+      VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags_ = {})
+      VULKAN_HPP_NOEXCEPT : buffer(buffer_),
+                            offset(offset_),
+                            flags(flags_) {}
 
-    CommandPoolCreateInfo( VkCommandPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  ConditionalRenderingBeginInfoEXT(ConditionalRenderingBeginInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CommandPoolCreateInfo & operator=( VkCommandPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const *>( &rhs );
-      return *this;
-    }
+  ConditionalRenderingBeginInfoEXT(
+      VkConditionalRenderingBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : ConditionalRenderingBeginInfoEXT(
+            *reinterpret_cast<ConditionalRenderingBeginInfoEXT const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CommandPoolCreateInfo & operator=( CommandPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      flags            = rhs.flags;
-      queueFamilyIndex = rhs.queueFamilyIndex;
+  VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT &
+  operator=(ConditionalRenderingBeginInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  ConditionalRenderingBeginInfoEXT &
+  operator=(VkConditionalRenderingBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    CommandPoolCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  ConditionalRenderingBeginInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CommandPoolCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  ConditionalRenderingBeginInfoEXT &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
 
-    CommandPoolCreateInfo & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndex = queueFamilyIndex_;
-      return *this;
-    }
+  ConditionalRenderingBeginInfoEXT &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-    operator VkCommandPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCommandPoolCreateInfo *>( this );
-    }
+  ConditionalRenderingBeginInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    operator VkCommandPoolCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCommandPoolCreateInfo *>( this );
-    }
+  operator VkConditionalRenderingBeginInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CommandPoolCreateInfo const & ) const = default;
+  operator VkConditionalRenderingBeginInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkConditionalRenderingBeginInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ConditionalRenderingBeginInfoEXT const &) const = default;
 #else
-    bool operator==( CommandPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( queueFamilyIndex == rhs.queueFamilyIndex );
-    }
+  bool operator==(ConditionalRenderingBeginInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (buffer == rhs.buffer) && (offset == rhs.offset) &&
+           (flags == rhs.flags);
+  }
 
-    bool operator!=( CommandPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ConditionalRenderingBeginInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType            = StructureType::eCommandPoolCreateInfo;
-    const void *                                 pNext            = {};
-    VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags            = {};
-    uint32_t                                     queueFamilyIndex = {};
-  };
-  static_assert( sizeof( CommandPoolCreateInfo ) == sizeof( VkCommandPoolCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CommandPoolCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eConditionalRenderingBeginInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags = {};
+};
+static_assert(sizeof(ConditionalRenderingBeginInfoEXT) ==
+                  sizeof(VkConditionalRenderingBeginInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ConditionalRenderingBeginInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCommandPoolCreateInfo>
-  {
-    using Type = CommandPoolCreateInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eConditionalRenderingBeginInfoEXT> {
+  using Type = ConditionalRenderingBeginInfoEXT;
+};
 
-  struct SpecializationMapEntry
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SpecializationMapEntry( uint32_t constantID_ = {}, uint32_t offset_ = {}, size_t size_ = {} ) VULKAN_HPP_NOEXCEPT
-      : constantID( constantID_ )
-      , offset( offset_ )
-      , size( size_ )
-    {}
+struct DebugUtilsLabelEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugUtilsLabelEXT;
 
-    SpecializationMapEntry( VkSpecializationMapEntry const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT(
+      const char *pLabelName_ = {},
+      std::array<float, 4> const &color_ = {}) VULKAN_HPP_NOEXCEPT
+      : pLabelName(pLabelName_),
+        color(color_) {}
 
-    SpecializationMapEntry & operator=( VkSpecializationMapEntry const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SpecializationMapEntry const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT(DebugUtilsLabelEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SpecializationMapEntry & setConstantID( uint32_t constantID_ ) VULKAN_HPP_NOEXCEPT
-    {
-      constantID = constantID_;
-      return *this;
-    }
+  DebugUtilsLabelEXT(VkDebugUtilsLabelEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DebugUtilsLabelEXT(
+            *reinterpret_cast<DebugUtilsLabelEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SpecializationMapEntry & setOffset( uint32_t offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT &
+  operator=(DebugUtilsLabelEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SpecializationMapEntry & setSize( size_t size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
+  DebugUtilsLabelEXT &
+  operator=(VkDebugUtilsLabelEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkSpecializationMapEntry const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSpecializationMapEntry *>( this );
-    }
+  DebugUtilsLabelEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkSpecializationMapEntry &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSpecializationMapEntry *>( this );
-    }
+  DebugUtilsLabelEXT &
+  setPLabelName(const char *pLabelName_) VULKAN_HPP_NOEXCEPT {
+    pLabelName = pLabelName_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SpecializationMapEntry const & ) const = default;
+  DebugUtilsLabelEXT &
+  setColor(std::array<float, 4> color_) VULKAN_HPP_NOEXCEPT {
+    color = color_;
+    return *this;
+  }
+
+  operator VkDebugUtilsLabelEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugUtilsLabelEXT *>(this);
+  }
+
+  operator VkDebugUtilsLabelEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugUtilsLabelEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugUtilsLabelEXT const &) const = default;
 #else
-    bool operator==( SpecializationMapEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( constantID == rhs.constantID ) && ( offset == rhs.offset ) && ( size == rhs.size );
-    }
+  bool operator==(DebugUtilsLabelEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pLabelName == rhs.pLabelName) && (color == rhs.color);
+  }
 
-    bool operator!=( SpecializationMapEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DebugUtilsLabelEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t constantID = {};
-    uint32_t offset     = {};
-    size_t   size       = {};
-  };
-  static_assert( sizeof( SpecializationMapEntry ) == sizeof( VkSpecializationMapEntry ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SpecializationMapEntry>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugUtilsLabelEXT;
+  const void *pNext = {};
+  const char *pLabelName = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> color = {};
+};
+static_assert(sizeof(DebugUtilsLabelEXT) == sizeof(VkDebugUtilsLabelEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugUtilsLabelEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct SpecializationInfo
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SpecializationInfo( uint32_t                                             mapEntryCount_ = {},
-                                             const VULKAN_HPP_NAMESPACE::SpecializationMapEntry * pMapEntries_   = {},
-                                             size_t                                               dataSize_      = {},
-                                             const void * pData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : mapEntryCount( mapEntryCount_ )
-      , pMapEntries( pMapEntries_ )
-      , dataSize( dataSize_ )
-      , pData( pData_ )
-    {}
+template <> struct CppType<StructureType, StructureType::eDebugUtilsLabelEXT> {
+  using Type = DebugUtilsLabelEXT;
+};
 
-    SpecializationInfo( VkSpecializationInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+class QueryPool {
+public:
+  using CType = VkQueryPool;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    SpecializationInfo( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-                          const VULKAN_HPP_NAMESPACE::SpecializationMapEntry> const &  mapEntries_,
-                        VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & data_ = {} )
-      : mapEntryCount( static_cast<uint32_t>( mapEntries_.size() ) )
-      , pMapEntries( mapEntries_.data() )
-      , dataSize( data_.size() * sizeof( T ) )
-      , pData( data_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueryPool;
 
-    SpecializationInfo & operator=( VkSpecializationInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SpecializationInfo const *>( &rhs );
-      return *this;
-    }
+public:
+  VULKAN_HPP_CONSTEXPR QueryPool() = default;
+  VULKAN_HPP_CONSTEXPR QueryPool(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  QueryPool(VkQueryPool queryPool) VULKAN_HPP_NOEXCEPT
+      : m_queryPool(queryPool) {}
 
-    SpecializationInfo & setMapEntryCount( uint32_t mapEntryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mapEntryCount = mapEntryCount_;
-      return *this;
-    }
-
-    SpecializationInfo &
-      setPMapEntries( const VULKAN_HPP_NAMESPACE::SpecializationMapEntry * pMapEntries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pMapEntries = pMapEntries_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SpecializationInfo & setMapEntries(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SpecializationMapEntry> const &
-        mapEntries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mapEntryCount = static_cast<uint32_t>( mapEntries_.size() );
-      pMapEntries   = mapEntries_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SpecializationInfo & setDataSize( size_t dataSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dataSize = dataSize_;
-      return *this;
-    }
-
-    SpecializationInfo & setPData( const void * pData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pData = pData_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    SpecializationInfo &
-      setData( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & data_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dataSize = data_.size() * sizeof( T );
-      pData    = data_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkSpecializationInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSpecializationInfo *>( this );
-    }
-
-    operator VkSpecializationInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSpecializationInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SpecializationInfo const & ) const = default;
-#else
-    bool operator==( SpecializationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( mapEntryCount == rhs.mapEntryCount ) && ( pMapEntries == rhs.pMapEntries ) &&
-             ( dataSize == rhs.dataSize ) && ( pData == rhs.pData );
-    }
-
-    bool operator!=( SpecializationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  QueryPool &operator=(VkQueryPool queryPool) VULKAN_HPP_NOEXCEPT {
+    m_queryPool = queryPool;
+    return *this;
+  }
 #endif
 
-  public:
-    uint32_t                                             mapEntryCount = {};
-    const VULKAN_HPP_NAMESPACE::SpecializationMapEntry * pMapEntries   = {};
-    size_t                                               dataSize      = {};
-    const void *                                         pData         = {};
-  };
-  static_assert( sizeof( SpecializationInfo ) == sizeof( VkSpecializationInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SpecializationInfo>::value, "struct wrapper is not a standard layout!" );
+  QueryPool &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_queryPool = {};
+    return *this;
+  }
 
-  struct PipelineShaderStageCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineShaderStageCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags_  = {},
-      VULKAN_HPP_NAMESPACE::ShaderStageFlagBits            stage_  = VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eVertex,
-      VULKAN_HPP_NAMESPACE::ShaderModule                   module_ = {},
-      const char *                                         pName_  = {},
-      const VULKAN_HPP_NAMESPACE::SpecializationInfo *     pSpecializationInfo_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , stage( stage_ )
-      , module( module_ )
-      , pName( pName_ )
-      , pSpecializationInfo( pSpecializationInfo_ )
-    {}
-
-    PipelineShaderStageCreateInfo( VkPipelineShaderStageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineShaderStageCreateInfo & operator=( VkPipelineShaderStageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineShaderStageCreateInfo & operator=( PipelineShaderStageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      flags               = rhs.flags;
-      stage               = rhs.stage;
-      module              = rhs.module;
-      pName               = rhs.pName;
-      pSpecializationInfo = rhs.pSpecializationInfo;
-
-      return *this;
-    }
-
-    PipelineShaderStageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineShaderStageCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineShaderStageCreateInfo & setStage( VULKAN_HPP_NAMESPACE::ShaderStageFlagBits stage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stage = stage_;
-      return *this;
-    }
-
-    PipelineShaderStageCreateInfo & setModule( VULKAN_HPP_NAMESPACE::ShaderModule module_ ) VULKAN_HPP_NOEXCEPT
-    {
-      module = module_;
-      return *this;
-    }
-
-    PipelineShaderStageCreateInfo & setPName( const char * pName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pName = pName_;
-      return *this;
-    }
-
-    PipelineShaderStageCreateInfo & setPSpecializationInfo(
-      const VULKAN_HPP_NAMESPACE::SpecializationInfo * pSpecializationInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSpecializationInfo = pSpecializationInfo_;
-      return *this;
-    }
-
-    operator VkPipelineShaderStageCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineShaderStageCreateInfo *>( this );
-    }
-
-    operator VkPipelineShaderStageCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineShaderStageCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineShaderStageCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(QueryPool const &) const = default;
 #else
-    bool operator==( PipelineShaderStageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stage == rhs.stage ) &&
-             ( module == rhs.module ) && ( pName == rhs.pName ) && ( pSpecializationInfo == rhs.pSpecializationInfo );
-    }
+  bool operator==(QueryPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_queryPool == rhs.m_queryPool;
+  }
 
-    bool operator!=( PipelineShaderStageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(QueryPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_queryPool != rhs.m_queryPool;
+  }
+
+  bool operator<(QueryPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_queryPool < rhs.m_queryPool;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType            sType  = StructureType::ePipelineShaderStageCreateInfo;
-    const void *                                         pNext  = {};
-    VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags  = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlagBits            stage  = VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eVertex;
-    VULKAN_HPP_NAMESPACE::ShaderModule                   module = {};
-    const char *                                         pName  = {};
-    const VULKAN_HPP_NAMESPACE::SpecializationInfo *     pSpecializationInfo = {};
-  };
-  static_assert( sizeof( PipelineShaderStageCreateInfo ) == sizeof( VkPipelineShaderStageCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineShaderStageCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkQueryPool() const VULKAN_HPP_NOEXCEPT {
+    return m_queryPool;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineShaderStageCreateInfo>
-  {
-    using Type = PipelineShaderStageCreateInfo;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_queryPool != VK_NULL_HANDLE;
+  }
 
-  struct ComputePipelineCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eComputePipelineCreateInfo;
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_queryPool == VK_NULL_HANDLE;
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ComputePipelineCreateInfo( VULKAN_HPP_NAMESPACE::PipelineCreateFlags           flags_  = {},
-                                                    VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo stage_  = {},
-                                                    VULKAN_HPP_NAMESPACE::PipelineLayout                layout_ = {},
-                                                    VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_          = {},
-                                                    int32_t basePipelineIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , stage( stage_ )
-      , layout( layout_ )
-      , basePipelineHandle( basePipelineHandle_ )
-      , basePipelineIndex( basePipelineIndex_ )
-    {}
+private:
+  VkQueryPool m_queryPool = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::QueryPool) == sizeof(VkQueryPool),
+              "handle and wrapper have different size!");
 
-    ComputePipelineCreateInfo( VkComputePipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eQueryPool> {
+  using type = VULKAN_HPP_NAMESPACE::QueryPool;
+};
 
-    ComputePipelineCreateInfo & operator=( VkComputePipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const *>( &rhs );
-      return *this;
-    }
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool> {
+  using Type = VULKAN_HPP_NAMESPACE::QueryPool;
+};
 
-    ComputePipelineCreateInfo & operator=( ComputePipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      flags              = rhs.flags;
-      stage              = rhs.stage;
-      layout             = rhs.layout;
-      basePipelineHandle = rhs.basePipelineHandle;
-      basePipelineIndex  = rhs.basePipelineIndex;
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueryPool> {
+  using Type = VULKAN_HPP_NAMESPACE::QueryPool;
+};
 
-      return *this;
-    }
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::QueryPool> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-    ComputePipelineCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+struct RenderPassBeginInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRenderPassBeginInfo;
 
-    ComputePipelineCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {},
+      VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_ = {},
+      VULKAN_HPP_NAMESPACE::Rect2D renderArea_ = {},
+      uint32_t clearValueCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ClearValue *pClearValues_ = {})
+      VULKAN_HPP_NOEXCEPT : renderPass(renderPass_),
+                            framebuffer(framebuffer_),
+                            renderArea(renderArea_),
+                            clearValueCount(clearValueCount_),
+                            pClearValues(pClearValues_) {}
 
-    ComputePipelineCreateInfo &
-      setStage( VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const & stage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stage = stage_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo(RenderPassBeginInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    ComputePipelineCreateInfo & setLayout( VULKAN_HPP_NAMESPACE::PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layout = layout_;
-      return *this;
-    }
+  RenderPassBeginInfo(VkRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : RenderPassBeginInfo(
+            *reinterpret_cast<RenderPassBeginInfo const *>(&rhs)) {}
 
-    ComputePipelineCreateInfo &
-      setBasePipelineHandle( VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineHandle = basePipelineHandle_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassBeginInfo(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_,
+      VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_,
+      VULKAN_HPP_NAMESPACE::Rect2D renderArea_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ClearValue> const &clearValues_)
+      : renderPass(renderPass_), framebuffer(framebuffer_),
+        renderArea(renderArea_),
+        clearValueCount(static_cast<uint32_t>(clearValues_.size())),
+        pClearValues(clearValues_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ComputePipelineCreateInfo & setBasePipelineIndex( int32_t basePipelineIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineIndex = basePipelineIndex_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo &
+  operator=(RenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkComputePipelineCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkComputePipelineCreateInfo *>( this );
-    }
+  RenderPassBeginInfo &
+  operator=(VkRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassBeginInfo const *>(
+            &rhs);
+    return *this;
+  }
 
-    operator VkComputePipelineCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkComputePipelineCreateInfo *>( this );
-    }
+  RenderPassBeginInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ComputePipelineCreateInfo const & ) const = default;
+  RenderPassBeginInfo &setRenderPass(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT {
+    renderPass = renderPass_;
+    return *this;
+  }
+
+  RenderPassBeginInfo &setFramebuffer(
+      VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_) VULKAN_HPP_NOEXCEPT {
+    framebuffer = framebuffer_;
+    return *this;
+  }
+
+  RenderPassBeginInfo &setRenderArea(
+      VULKAN_HPP_NAMESPACE::Rect2D const &renderArea_) VULKAN_HPP_NOEXCEPT {
+    renderArea = renderArea_;
+    return *this;
+  }
+
+  RenderPassBeginInfo &
+  setClearValueCount(uint32_t clearValueCount_) VULKAN_HPP_NOEXCEPT {
+    clearValueCount = clearValueCount_;
+    return *this;
+  }
+
+  RenderPassBeginInfo &
+  setPClearValues(const VULKAN_HPP_NAMESPACE::ClearValue *pClearValues_)
+      VULKAN_HPP_NOEXCEPT {
+    pClearValues = pClearValues_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassBeginInfo &
+  setClearValues(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::ClearValue> const &clearValues_)
+      VULKAN_HPP_NOEXCEPT {
+    clearValueCount = static_cast<uint32_t>(clearValues_.size());
+    pClearValues = clearValues_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkRenderPassBeginInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRenderPassBeginInfo *>(this);
+  }
+
+  operator VkRenderPassBeginInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassBeginInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassBeginInfo const &) const = default;
 #else
-    bool operator==( ComputePipelineCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stage == rhs.stage ) &&
-             ( layout == rhs.layout ) && ( basePipelineHandle == rhs.basePipelineHandle ) &&
-             ( basePipelineIndex == rhs.basePipelineIndex );
-    }
+  bool operator==(RenderPassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (renderPass == rhs.renderPass) && (framebuffer == rhs.framebuffer) &&
+           (renderArea == rhs.renderArea) &&
+           (clearValueCount == rhs.clearValueCount) &&
+           (pClearValues == rhs.pClearValues);
+  }
 
-    bool operator!=( ComputePipelineCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(RenderPassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType              = StructureType::eComputePipelineCreateInfo;
-    const void *                                        pNext              = {};
-    VULKAN_HPP_NAMESPACE::PipelineCreateFlags           flags              = {};
-    VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo stage              = {};
-    VULKAN_HPP_NAMESPACE::PipelineLayout                layout             = {};
-    VULKAN_HPP_NAMESPACE::Pipeline                      basePipelineHandle = {};
-    int32_t                                             basePipelineIndex  = {};
-  };
-  static_assert( sizeof( ComputePipelineCreateInfo ) == sizeof( VkComputePipelineCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ComputePipelineCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassBeginInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass = {};
+  VULKAN_HPP_NAMESPACE::Framebuffer framebuffer = {};
+  VULKAN_HPP_NAMESPACE::Rect2D renderArea = {};
+  uint32_t clearValueCount = {};
+  const VULKAN_HPP_NAMESPACE::ClearValue *pClearValues = {};
+};
+static_assert(sizeof(RenderPassBeginInfo) == sizeof(VkRenderPassBeginInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RenderPassBeginInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eComputePipelineCreateInfo>
-  {
-    using Type = ComputePipelineCreateInfo;
-  };
+template <> struct CppType<StructureType, StructureType::eRenderPassBeginInfo> {
+  using Type = RenderPassBeginInfo;
+};
 
-  struct ConditionalRenderingBeginInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eConditionalRenderingBeginInfoEXT;
+struct SubpassBeginInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSubpassBeginInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ConditionalRenderingBeginInfoEXT(
-      VULKAN_HPP_NAMESPACE::Buffer                       buffer_ = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize                   offset_ = {},
-      VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags_  = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-      , offset( offset_ )
-      , flags( flags_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubpassBeginInfo(
+      VULKAN_HPP_NAMESPACE::SubpassContents contents_ =
+          VULKAN_HPP_NAMESPACE::SubpassContents::eInline) VULKAN_HPP_NOEXCEPT
+      : contents(contents_) {}
 
-    ConditionalRenderingBeginInfoEXT( VkConditionalRenderingBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  SubpassBeginInfo(SubpassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ConditionalRenderingBeginInfoEXT & operator=( VkConditionalRenderingBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT const *>( &rhs );
-      return *this;
-    }
+  SubpassBeginInfo(VkSubpassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubpassBeginInfo(*reinterpret_cast<SubpassBeginInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ConditionalRenderingBeginInfoEXT & operator=( ConditionalRenderingBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      buffer = rhs.buffer;
-      offset = rhs.offset;
-      flags  = rhs.flags;
+  VULKAN_HPP_CONSTEXPR_14 SubpassBeginInfo &
+  operator=(SubpassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SubpassBeginInfo &
+  operator=(VkSubpassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassBeginInfo const *>(&rhs);
+    return *this;
+  }
 
-    ConditionalRenderingBeginInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SubpassBeginInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    ConditionalRenderingBeginInfoEXT & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
+  SubpassBeginInfo &setContents(VULKAN_HPP_NAMESPACE::SubpassContents contents_)
+      VULKAN_HPP_NOEXCEPT {
+    contents = contents_;
+    return *this;
+  }
 
-    ConditionalRenderingBeginInfoEXT & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  operator VkSubpassBeginInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassBeginInfo *>(this);
+  }
 
-    ConditionalRenderingBeginInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  operator VkSubpassBeginInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassBeginInfo *>(this);
+  }
 
-    operator VkConditionalRenderingBeginInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( this );
-    }
-
-    operator VkConditionalRenderingBeginInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkConditionalRenderingBeginInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ConditionalRenderingBeginInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubpassBeginInfo const &) const = default;
 #else
-    bool operator==( ConditionalRenderingBeginInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) &&
-             ( flags == rhs.flags );
-    }
+  bool operator==(SubpassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (contents == rhs.contents);
+  }
 
-    bool operator!=( ConditionalRenderingBeginInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SubpassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType  = StructureType::eConditionalRenderingBeginInfoEXT;
-    const void *                                       pNext  = {};
-    VULKAN_HPP_NAMESPACE::Buffer                       buffer = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                   offset = {};
-    VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags  = {};
-  };
-  static_assert( sizeof( ConditionalRenderingBeginInfoEXT ) == sizeof( VkConditionalRenderingBeginInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ConditionalRenderingBeginInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassBeginInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SubpassContents contents =
+      VULKAN_HPP_NAMESPACE::SubpassContents::eInline;
+};
+static_assert(sizeof(SubpassBeginInfo) == sizeof(VkSubpassBeginInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubpassBeginInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eConditionalRenderingBeginInfoEXT>
-  {
-    using Type = ConditionalRenderingBeginInfoEXT;
-  };
+template <> struct CppType<StructureType, StructureType::eSubpassBeginInfo> {
+  using Type = SubpassBeginInfo;
+};
+using SubpassBeginInfoKHR = SubpassBeginInfo;
 
-  struct ConformanceVersion
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ConformanceVersion( uint8_t major_    = {},
-                                             uint8_t minor_    = {},
-                                             uint8_t subminor_ = {},
-                                             uint8_t patch_    = {} ) VULKAN_HPP_NOEXCEPT
-      : major( major_ )
-      , minor( minor_ )
-      , subminor( subminor_ )
-      , patch( patch_ )
-    {}
+class PipelineLayout {
+public:
+  using CType = VkPipelineLayout;
 
-    ConformanceVersion( VkConformanceVersion const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineLayout;
 
-    ConformanceVersion & operator=( VkConformanceVersion const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ConformanceVersion const *>( &rhs );
-      return *this;
-    }
+public:
+  VULKAN_HPP_CONSTEXPR PipelineLayout() = default;
+  VULKAN_HPP_CONSTEXPR PipelineLayout(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  PipelineLayout(VkPipelineLayout pipelineLayout) VULKAN_HPP_NOEXCEPT
+      : m_pipelineLayout(pipelineLayout) {}
 
-    ConformanceVersion & setMajor( uint8_t major_ ) VULKAN_HPP_NOEXCEPT
-    {
-      major = major_;
-      return *this;
-    }
-
-    ConformanceVersion & setMinor( uint8_t minor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minor = minor_;
-      return *this;
-    }
-
-    ConformanceVersion & setSubminor( uint8_t subminor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subminor = subminor_;
-      return *this;
-    }
-
-    ConformanceVersion & setPatch( uint8_t patch_ ) VULKAN_HPP_NOEXCEPT
-    {
-      patch = patch_;
-      return *this;
-    }
-
-    operator VkConformanceVersion const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkConformanceVersion *>( this );
-    }
-
-    operator VkConformanceVersion &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkConformanceVersion *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ConformanceVersion const & ) const = default;
-#else
-    bool operator==( ConformanceVersion const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( major == rhs.major ) && ( minor == rhs.minor ) && ( subminor == rhs.subminor ) && ( patch == rhs.patch );
-    }
-
-    bool operator!=( ConformanceVersion const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  PipelineLayout &
+  operator=(VkPipelineLayout pipelineLayout) VULKAN_HPP_NOEXCEPT {
+    m_pipelineLayout = pipelineLayout;
+    return *this;
+  }
 #endif
 
-  public:
-    uint8_t major    = {};
-    uint8_t minor    = {};
-    uint8_t subminor = {};
-    uint8_t patch    = {};
-  };
-  static_assert( sizeof( ConformanceVersion ) == sizeof( VkConformanceVersion ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ConformanceVersion>::value, "struct wrapper is not a standard layout!" );
+  PipelineLayout &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_pipelineLayout = {};
+    return *this;
+  }
 
-  struct ControlOpsMemoryAllocateInfoFUCHSIA
-  {
-    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_ )
-    {}
-
-    ControlOpsMemoryAllocateInfoFUCHSIA( VkControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ControlOpsMemoryAllocateInfoFUCHSIA &
-      operator=( VkControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ControlOpsMemoryAllocateInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    ControlOpsMemoryAllocateInfoFUCHSIA &
-      operator=( ControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      supportedOperations = rhs.supportedOperations;
-      initialOperations   = rhs.initialOperations;
-
-      return *this;
-    }
-
-    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;
-    }
-
-    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;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineLayout 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==(PipelineLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineLayout == rhs.m_pipelineLayout;
+  }
 
-    bool operator!=( ControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineLayout != rhs.m_pipelineLayout;
+  }
+
+  bool operator<(PipelineLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineLayout < rhs.m_pipelineLayout;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType = StructureType::eControlOpsMemoryAllocateInfoFUCHSIA;
-    const void *                               pNext = {};
-    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA supportedOperations = {};
-    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA initialOperations   = {};
-  };
-  static_assert( sizeof( ControlOpsMemoryAllocateInfoFUCHSIA ) == sizeof( VkControlOpsMemoryAllocateInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ControlOpsMemoryAllocateInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkPipelineLayout() const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineLayout;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eControlOpsMemoryAllocateInfoFUCHSIA>
-  {
-    using Type = ControlOpsMemoryAllocateInfoFUCHSIA;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineLayout != VK_NULL_HANDLE;
+  }
 
-  struct CooperativeMatrixPropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCooperativeMatrixPropertiesNV;
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineLayout == VK_NULL_HANDLE;
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesNV(
-      uint32_t                              MSize_ = {},
-      uint32_t                              NSize_ = {},
-      uint32_t                              KSize_ = {},
-      VULKAN_HPP_NAMESPACE::ComponentTypeNV AType_ = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
-      VULKAN_HPP_NAMESPACE::ComponentTypeNV BType_ = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
-      VULKAN_HPP_NAMESPACE::ComponentTypeNV CType_ = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
-      VULKAN_HPP_NAMESPACE::ComponentTypeNV DType_ = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
-      VULKAN_HPP_NAMESPACE::ScopeNV         scope_ = VULKAN_HPP_NAMESPACE::ScopeNV::eDevice ) VULKAN_HPP_NOEXCEPT
-      : MSize( MSize_ )
-      , NSize( NSize_ )
-      , KSize( KSize_ )
-      , AType( AType_ )
-      , BType( BType_ )
-      , CType( CType_ )
-      , DType( DType_ )
-      , scope( scope_ )
-    {}
+private:
+  VkPipelineLayout m_pipelineLayout = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::PipelineLayout) ==
+                  sizeof(VkPipelineLayout),
+              "handle and wrapper have different size!");
 
-    CooperativeMatrixPropertiesNV( VkCooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::ePipelineLayout> {
+  using type = VULKAN_HPP_NAMESPACE::PipelineLayout;
+};
 
-    CooperativeMatrixPropertiesNV & operator=( VkCooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV const *>( &rhs );
-      return *this;
-    }
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout> {
+  using Type = VULKAN_HPP_NAMESPACE::PipelineLayout;
+};
 
-    CooperativeMatrixPropertiesNV & operator=( CooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      MSize = rhs.MSize;
-      NSize = rhs.NSize;
-      KSize = rhs.KSize;
-      AType = rhs.AType;
-      BType = rhs.BType;
-      CType = rhs.CType;
-      DType = rhs.DType;
-      scope = rhs.scope;
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineLayout> {
+  using Type = VULKAN_HPP_NAMESPACE::PipelineLayout;
+};
 
-      return *this;
-    }
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PipelineLayout> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-    CooperativeMatrixPropertiesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+class DescriptorSet {
+public:
+  using CType = VkDescriptorSet;
 
-    CooperativeMatrixPropertiesNV & setMSize( uint32_t MSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      MSize = MSize_;
-      return *this;
-    }
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet;
 
-    CooperativeMatrixPropertiesNV & setNSize( uint32_t NSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      NSize = NSize_;
-      return *this;
-    }
+public:
+  VULKAN_HPP_CONSTEXPR DescriptorSet() = default;
+  VULKAN_HPP_CONSTEXPR DescriptorSet(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  DescriptorSet(VkDescriptorSet descriptorSet) VULKAN_HPP_NOEXCEPT
+      : m_descriptorSet(descriptorSet) {}
 
-    CooperativeMatrixPropertiesNV & setKSize( uint32_t KSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      KSize = KSize_;
-      return *this;
-    }
-
-    CooperativeMatrixPropertiesNV & setAType( VULKAN_HPP_NAMESPACE::ComponentTypeNV AType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      AType = AType_;
-      return *this;
-    }
-
-    CooperativeMatrixPropertiesNV & setBType( VULKAN_HPP_NAMESPACE::ComponentTypeNV BType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      BType = BType_;
-      return *this;
-    }
-
-    CooperativeMatrixPropertiesNV & setCType( VULKAN_HPP_NAMESPACE::ComponentTypeNV CType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      CType = CType_;
-      return *this;
-    }
-
-    CooperativeMatrixPropertiesNV & setDType( VULKAN_HPP_NAMESPACE::ComponentTypeNV DType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      DType = DType_;
-      return *this;
-    }
-
-    CooperativeMatrixPropertiesNV & setScope( VULKAN_HPP_NAMESPACE::ScopeNV scope_ ) VULKAN_HPP_NOEXCEPT
-    {
-      scope = scope_;
-      return *this;
-    }
-
-    operator VkCooperativeMatrixPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCooperativeMatrixPropertiesNV *>( this );
-    }
-
-    operator VkCooperativeMatrixPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CooperativeMatrixPropertiesNV const & ) const = default;
-#else
-    bool operator==( CooperativeMatrixPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( MSize == rhs.MSize ) && ( NSize == rhs.NSize ) &&
-             ( KSize == rhs.KSize ) && ( AType == rhs.AType ) && ( BType == rhs.BType ) && ( CType == rhs.CType ) &&
-             ( DType == rhs.DType ) && ( scope == rhs.scope );
-    }
-
-    bool operator!=( CooperativeMatrixPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DescriptorSet &operator=(VkDescriptorSet descriptorSet) VULKAN_HPP_NOEXCEPT {
+    m_descriptorSet = descriptorSet;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eCooperativeMatrixPropertiesNV;
-    void *                                    pNext = {};
-    uint32_t                                  MSize = {};
-    uint32_t                                  NSize = {};
-    uint32_t                                  KSize = {};
-    VULKAN_HPP_NAMESPACE::ComponentTypeNV     AType = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
-    VULKAN_HPP_NAMESPACE::ComponentTypeNV     BType = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
-    VULKAN_HPP_NAMESPACE::ComponentTypeNV     CType = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
-    VULKAN_HPP_NAMESPACE::ComponentTypeNV     DType = VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
-    VULKAN_HPP_NAMESPACE::ScopeNV             scope = VULKAN_HPP_NAMESPACE::ScopeNV::eDevice;
-  };
-  static_assert( sizeof( CooperativeMatrixPropertiesNV ) == sizeof( VkCooperativeMatrixPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CooperativeMatrixPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+  DescriptorSet &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_descriptorSet = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eCooperativeMatrixPropertiesNV>
-  {
-    using Type = CooperativeMatrixPropertiesNV;
-  };
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSet const &) const = default;
+#else
+  bool operator==(DescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSet == rhs.m_descriptorSet;
+  }
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct CopyAccelerationStructureInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyAccelerationStructureInfoKHR;
+  bool operator!=(DescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSet != rhs.m_descriptorSet;
+  }
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CopyAccelerationStructureInfoKHR(
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         src_ = {},
-      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         dst_ = {},
+  bool operator<(DescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSet < rhs.m_descriptorSet;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDescriptorSet() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSet;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSet != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSet == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDescriptorSet m_descriptorSet = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DescriptorSet) ==
+                  sizeof(VkDescriptorSet),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDescriptorSet> {
+  using type = VULKAN_HPP_NAMESPACE::DescriptorSet;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorSet;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorSet;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorSet> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+class Pipeline {
+public:
+  using CType = VkPipeline;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipeline;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipeline;
+
+public:
+  VULKAN_HPP_CONSTEXPR Pipeline() = default;
+  VULKAN_HPP_CONSTEXPR Pipeline(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Pipeline(VkPipeline pipeline) VULKAN_HPP_NOEXCEPT
+      : m_pipeline(pipeline) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Pipeline &operator=(VkPipeline pipeline) VULKAN_HPP_NOEXCEPT {
+    m_pipeline = pipeline;
+    return *this;
+  }
+#endif
+
+  Pipeline &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_pipeline = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Pipeline const &) const = default;
+#else
+  bool operator==(Pipeline const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipeline == rhs.m_pipeline;
+  }
+
+  bool operator!=(Pipeline const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipeline != rhs.m_pipeline;
+  }
+
+  bool operator<(Pipeline const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipeline < rhs.m_pipeline;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipeline() const VULKAN_HPP_NOEXCEPT {
+    return m_pipeline;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_pipeline != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_pipeline == VK_NULL_HANDLE;
+  }
+
+private:
+  VkPipeline m_pipeline = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Pipeline) == sizeof(VkPipeline),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::ePipeline> {
+  using type = VULKAN_HPP_NAMESPACE::Pipeline;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::ePipeline> {
+  using Type = VULKAN_HPP_NAMESPACE::Pipeline;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipeline> {
+  using Type = VULKAN_HPP_NAMESPACE::Pipeline;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Pipeline> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+class ImageView {
+public:
+  using CType = VkImageView;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eImageView;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImageView;
+
+public:
+  VULKAN_HPP_CONSTEXPR ImageView() = default;
+  VULKAN_HPP_CONSTEXPR ImageView(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  ImageView(VkImageView imageView) VULKAN_HPP_NOEXCEPT
+      : m_imageView(imageView) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  ImageView &operator=(VkImageView imageView) VULKAN_HPP_NOEXCEPT {
+    m_imageView = imageView;
+    return *this;
+  }
+#endif
+
+  ImageView &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_imageView = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageView const &) const = default;
+#else
+  bool operator==(ImageView const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_imageView == rhs.m_imageView;
+  }
+
+  bool operator!=(ImageView const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_imageView != rhs.m_imageView;
+  }
+
+  bool operator<(ImageView const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_imageView < rhs.m_imageView;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkImageView() const VULKAN_HPP_NOEXCEPT {
+    return m_imageView;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_imageView != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_imageView == VK_NULL_HANDLE;
+  }
+
+private:
+  VkImageView m_imageView = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::ImageView) == sizeof(VkImageView),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eImageView> {
+  using type = VULKAN_HPP_NAMESPACE::ImageView;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eImageView> {
+  using Type = VULKAN_HPP_NAMESPACE::ImageView;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImageView> {
+  using Type = VULKAN_HPP_NAMESPACE::ImageView;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::ImageView> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct ImageBlit {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 ImageBlit(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const &srcOffsets_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const &dstOffsets_ = {})
+      VULKAN_HPP_NOEXCEPT : srcSubresource(srcSubresource_),
+                            srcOffsets(srcOffsets_),
+                            dstSubresource(dstSubresource_),
+                            dstOffsets(dstOffsets_) {}
+
+  VULKAN_HPP_CONSTEXPR_14
+  ImageBlit(ImageBlit const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageBlit(VkImageBlit const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageBlit(*reinterpret_cast<ImageBlit const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageBlit &
+  operator=(ImageBlit const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageBlit &operator=(VkImageBlit const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageBlit const *>(&rhs);
+    return *this;
+  }
+
+  ImageBlit &setSrcSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    srcSubresource = srcSubresource_;
+    return *this;
+  }
+
+  ImageBlit &setSrcOffsets(std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const
+                               &srcOffsets_) VULKAN_HPP_NOEXCEPT {
+    srcOffsets = srcOffsets_;
+    return *this;
+  }
+
+  ImageBlit &setDstSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    dstSubresource = dstSubresource_;
+    return *this;
+  }
+
+  ImageBlit &setDstOffsets(std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const
+                               &dstOffsets_) VULKAN_HPP_NOEXCEPT {
+    dstOffsets = dstOffsets_;
+    return *this;
+  }
+
+  operator VkImageBlit const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageBlit *>(this);
+  }
+
+  operator VkImageBlit &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageBlit *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageBlit const &) const = default;
+#else
+  bool operator==(ImageBlit const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (srcSubresource == rhs.srcSubresource) &&
+           (srcOffsets == rhs.srcOffsets) &&
+           (dstSubresource == rhs.dstSubresource) &&
+           (dstOffsets == rhs.dstOffsets);
+  }
+
+  bool operator!=(ImageBlit const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::Offset3D, 2>
+      srcOffsets = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::Offset3D, 2>
+      dstOffsets = {};
+};
+static_assert(sizeof(ImageBlit) == sizeof(VkImageBlit),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageBlit>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ImageSubresourceRange {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ImageSubresourceRange(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {},
+                        uint32_t baseMipLevel_ = {}, uint32_t levelCount_ = {},
+                        uint32_t baseArrayLayer_ = {},
+                        uint32_t layerCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : aspectMask(aspectMask_),
+        baseMipLevel(baseMipLevel_),
+        levelCount(levelCount_),
+        baseArrayLayer(baseArrayLayer_),
+        layerCount(layerCount_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageSubresourceRange(ImageSubresourceRange const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageSubresourceRange(VkImageSubresourceRange const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageSubresourceRange(
+            *reinterpret_cast<ImageSubresourceRange const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange &
+  operator=(ImageSubresourceRange const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageSubresourceRange &
+  operator=(VkImageSubresourceRange const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresourceRange const *>(
+            &rhs);
+    return *this;
+  }
+
+  ImageSubresourceRange &setAspectMask(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT {
+    aspectMask = aspectMask_;
+    return *this;
+  }
+
+  ImageSubresourceRange &
+  setBaseMipLevel(uint32_t baseMipLevel_) VULKAN_HPP_NOEXCEPT {
+    baseMipLevel = baseMipLevel_;
+    return *this;
+  }
+
+  ImageSubresourceRange &
+  setLevelCount(uint32_t levelCount_) VULKAN_HPP_NOEXCEPT {
+    levelCount = levelCount_;
+    return *this;
+  }
+
+  ImageSubresourceRange &
+  setBaseArrayLayer(uint32_t baseArrayLayer_) VULKAN_HPP_NOEXCEPT {
+    baseArrayLayer = baseArrayLayer_;
+    return *this;
+  }
+
+  ImageSubresourceRange &
+  setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT {
+    layerCount = layerCount_;
+    return *this;
+  }
+
+  operator VkImageSubresourceRange const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageSubresourceRange *>(this);
+  }
+
+  operator VkImageSubresourceRange &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageSubresourceRange *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageSubresourceRange const &) const = default;
+#else
+  bool operator==(ImageSubresourceRange const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (aspectMask == rhs.aspectMask) &&
+           (baseMipLevel == rhs.baseMipLevel) &&
+           (levelCount == rhs.levelCount) &&
+           (baseArrayLayer == rhs.baseArrayLayer) &&
+           (layerCount == rhs.layerCount);
+  }
+
+  bool operator!=(ImageSubresourceRange const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
+  uint32_t baseMipLevel = {};
+  uint32_t levelCount = {};
+  uint32_t baseArrayLayer = {};
+  uint32_t layerCount = {};
+};
+static_assert(sizeof(ImageSubresourceRange) == sizeof(VkImageSubresourceRange),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageSubresourceRange>::value,
+              "struct wrapper is not a standard layout!");
+
+struct CopyAccelerationStructureInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCopyAccelerationStructureInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CopyAccelerationStructureInfoKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_ = {},
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_ = {},
       VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ =
-        VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone ) VULKAN_HPP_NOEXCEPT
-      : src( src_ )
-      , dst( dst_ )
-      , mode( mode_ )
-    {}
+          VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone)
+      VULKAN_HPP_NOEXCEPT : src(src_),
+                            dst(dst_),
+                            mode(mode_) {}
 
-    CopyAccelerationStructureInfoKHR( VkCopyAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  CopyAccelerationStructureInfoKHR(CopyAccelerationStructureInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CopyAccelerationStructureInfoKHR & operator=( VkCopyAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR const *>( &rhs );
-      return *this;
-    }
+  CopyAccelerationStructureInfoKHR(
+      VkCopyAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : CopyAccelerationStructureInfoKHR(
+            *reinterpret_cast<CopyAccelerationStructureInfoKHR const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CopyAccelerationStructureInfoKHR & operator=( CopyAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      src   = rhs.src;
-      dst   = rhs.dst;
-      mode  = rhs.mode;
+  VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR &
+  operator=(CopyAccelerationStructureInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  CopyAccelerationStructureInfoKHR &
+  operator=(VkCopyAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-    CopyAccelerationStructureInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  CopyAccelerationStructureInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CopyAccelerationStructureInfoKHR & setSrc( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_ ) VULKAN_HPP_NOEXCEPT
-    {
-      src = src_;
-      return *this;
-    }
+  CopyAccelerationStructureInfoKHR &setSrc(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_) VULKAN_HPP_NOEXCEPT {
+    src = src_;
+    return *this;
+  }
 
-    CopyAccelerationStructureInfoKHR & setDst( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dst = dst_;
-      return *this;
-    }
+  CopyAccelerationStructureInfoKHR &setDst(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_) VULKAN_HPP_NOEXCEPT {
+    dst = dst_;
+    return *this;
+  }
 
-    CopyAccelerationStructureInfoKHR &
-      setMode( VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mode = mode_;
-      return *this;
-    }
+  CopyAccelerationStructureInfoKHR &
+  setMode(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_)
+      VULKAN_HPP_NOEXCEPT {
+    mode = mode_;
+    return *this;
+  }
 
-    operator VkCopyAccelerationStructureInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( this );
-    }
+  operator VkCopyAccelerationStructureInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>(this);
+  }
 
-    operator VkCopyAccelerationStructureInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCopyAccelerationStructureInfoKHR *>( this );
-    }
+  operator VkCopyAccelerationStructureInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyAccelerationStructureInfoKHR *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CopyAccelerationStructureInfoKHR const & ) const = default;
-#  else
-    bool operator==( CopyAccelerationStructureInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( src == rhs.src ) && ( dst == rhs.dst ) &&
-             ( mode == rhs.mode );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CopyAccelerationStructureInfoKHR const &) const = default;
+#else
+  bool operator==(CopyAccelerationStructureInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (src == rhs.src) &&
+           (dst == rhs.dst) && (mode == rhs.mode);
+  }
 
-    bool operator!=( CopyAccelerationStructureInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(CopyAccelerationStructureInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::eCopyAccelerationStructureInfoKHR;
-    const void *                                           pNext = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         src   = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         dst   = {};
-    VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCopyAccelerationStructureInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst = {};
+  VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode =
       VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone;
-  };
-  static_assert( sizeof( CopyAccelerationStructureInfoKHR ) == sizeof( VkCopyAccelerationStructureInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CopyAccelerationStructureInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(CopyAccelerationStructureInfoKHR) ==
+                  sizeof(VkCopyAccelerationStructureInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CopyAccelerationStructureInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCopyAccelerationStructureInfoKHR>
-  {
-    using Type = CopyAccelerationStructureInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct CppType<StructureType,
+               StructureType::eCopyAccelerationStructureInfoKHR> {
+  using Type = CopyAccelerationStructureInfoKHR;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct CopyAccelerationStructureToMemoryInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct CopyAccelerationStructureToMemoryInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eCopyAccelerationStructureToMemoryInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    CopyAccelerationStructureToMemoryInfoKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         src_ = {},
-                                              VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR           dst_ = {},
-                                              VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ =
-                                                VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone )
-      VULKAN_HPP_NOEXCEPT
-      : src( src_ )
-      , dst( dst_ )
-      , mode( mode_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  CopyAccelerationStructureToMemoryInfoKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR dst_ = {},
+      VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ =
+          VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone)
+      VULKAN_HPP_NOEXCEPT : src(src_),
+                            dst(dst_),
+                            mode(mode_) {}
 
-    CopyAccelerationStructureToMemoryInfoKHR( VkCopyAccelerationStructureToMemoryInfoKHR const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  CopyAccelerationStructureToMemoryInfoKHR(
+      CopyAccelerationStructureToMemoryInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CopyAccelerationStructureToMemoryInfoKHR &
-      operator=( VkCopyAccelerationStructureToMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR const *>( &rhs );
-      return *this;
-    }
+  CopyAccelerationStructureToMemoryInfoKHR(
+      VkCopyAccelerationStructureToMemoryInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : CopyAccelerationStructureToMemoryInfoKHR(
+            *reinterpret_cast<CopyAccelerationStructureToMemoryInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CopyAccelerationStructureToMemoryInfoKHR &
-      operator=( CopyAccelerationStructureToMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      src   = rhs.src;
-      dst   = rhs.dst;
-      mode  = rhs.mode;
+  CopyAccelerationStructureToMemoryInfoKHR &
+  operator=(CopyAccelerationStructureToMemoryInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  CopyAccelerationStructureToMemoryInfoKHR &
+  operator=(VkCopyAccelerationStructureToMemoryInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    CopyAccelerationStructureToMemoryInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  CopyAccelerationStructureToMemoryInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CopyAccelerationStructureToMemoryInfoKHR &
-      setSrc( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_ ) VULKAN_HPP_NOEXCEPT
-    {
-      src = src_;
-      return *this;
-    }
+  CopyAccelerationStructureToMemoryInfoKHR &setSrc(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_) VULKAN_HPP_NOEXCEPT {
+    src = src_;
+    return *this;
+  }
 
-    CopyAccelerationStructureToMemoryInfoKHR &
-      setDst( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const & dst_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dst = dst_;
-      return *this;
-    }
+  CopyAccelerationStructureToMemoryInfoKHR &
+  setDst(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const &dst_)
+      VULKAN_HPP_NOEXCEPT {
+    dst = dst_;
+    return *this;
+  }
 
-    CopyAccelerationStructureToMemoryInfoKHR &
-      setMode( VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mode = mode_;
-      return *this;
-    }
+  CopyAccelerationStructureToMemoryInfoKHR &
+  setMode(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_)
+      VULKAN_HPP_NOEXCEPT {
+    mode = mode_;
+    return *this;
+  }
 
-    operator VkCopyAccelerationStructureToMemoryInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( this );
-    }
+  operator VkCopyAccelerationStructureToMemoryInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkCopyAccelerationStructureToMemoryInfoKHR *>(this);
+  }
 
-    operator VkCopyAccelerationStructureToMemoryInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCopyAccelerationStructureToMemoryInfoKHR *>( this );
-    }
+  operator VkCopyAccelerationStructureToMemoryInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyAccelerationStructureToMemoryInfoKHR *>(
+        this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eCopyAccelerationStructureToMemoryInfoKHR;
-    const void *                                   pNext = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src   = {};
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR   dst   = {};
-    VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCopyAccelerationStructureToMemoryInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src = {};
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR dst = {};
+  VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode =
       VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone;
-  };
-  static_assert( sizeof( CopyAccelerationStructureToMemoryInfoKHR ) ==
-                   sizeof( VkCopyAccelerationStructureToMemoryInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CopyAccelerationStructureToMemoryInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(CopyAccelerationStructureToMemoryInfoKHR) ==
+                  sizeof(VkCopyAccelerationStructureToMemoryInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<CopyAccelerationStructureToMemoryInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCopyAccelerationStructureToMemoryInfoKHR>
-  {
-    using Type = CopyAccelerationStructureToMemoryInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct CppType<StructureType,
+               StructureType::eCopyAccelerationStructureToMemoryInfoKHR> {
+  using Type = CopyAccelerationStructureToMemoryInfoKHR;
+};
 
-  struct CopyDescriptorSet
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eCopyDescriptorSet;
+struct CopyBufferInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCopyBufferInfo2KHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR CopyDescriptorSet( VULKAN_HPP_NAMESPACE::DescriptorSet srcSet_          = {},
-                                            uint32_t                            srcBinding_      = {},
-                                            uint32_t                            srcArrayElement_ = {},
-                                            VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_          = {},
-                                            uint32_t                            dstBinding_      = {},
-                                            uint32_t                            dstArrayElement_ = {},
-                                            uint32_t descriptorCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcSet( srcSet_ )
-      , srcBinding( srcBinding_ )
-      , srcArrayElement( srcArrayElement_ )
-      , dstSet( dstSet_ )
-      , dstBinding( dstBinding_ )
-      , dstArrayElement( dstArrayElement_ )
-      , descriptorCount( descriptorCount_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  CopyBufferInfo2KHR(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_ = {},
+                     VULKAN_HPP_NAMESPACE::Buffer dstBuffer_ = {},
+                     uint32_t regionCount_ = {},
+                     const VULKAN_HPP_NAMESPACE::BufferCopy2KHR *pRegions_ = {})
+      VULKAN_HPP_NOEXCEPT : srcBuffer(srcBuffer_),
+                            dstBuffer(dstBuffer_),
+                            regionCount(regionCount_),
+                            pRegions(pRegions_) {}
 
-    CopyDescriptorSet( VkCopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR CopyBufferInfo2KHR(CopyBufferInfo2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CopyDescriptorSet & operator=( VkCopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyDescriptorSet const *>( &rhs );
-      return *this;
-    }
+  CopyBufferInfo2KHR(VkCopyBufferInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : CopyBufferInfo2KHR(
+            *reinterpret_cast<CopyBufferInfo2KHR const *>(&rhs)) {}
 
-    CopyDescriptorSet & operator=( CopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      srcSet          = rhs.srcSet;
-      srcBinding      = rhs.srcBinding;
-      srcArrayElement = rhs.srcArrayElement;
-      dstSet          = rhs.dstSet;
-      dstBinding      = rhs.dstBinding;
-      dstArrayElement = rhs.dstArrayElement;
-      descriptorCount = rhs.descriptorCount;
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyBufferInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Buffer srcBuffer_,
+      VULKAN_HPP_NAMESPACE::Buffer dstBuffer_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::BufferCopy2KHR> const &regions_)
+      : srcBuffer(srcBuffer_), dstBuffer(dstBuffer_),
+        regionCount(static_cast<uint32_t>(regions_.size())),
+        pRegions(regions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2KHR &
+  operator=(CopyBufferInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    CopyDescriptorSet & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  CopyBufferInfo2KHR &
+  operator=(VkCopyBufferInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyBufferInfo2KHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    CopyDescriptorSet & setSrcSet( VULKAN_HPP_NAMESPACE::DescriptorSet srcSet_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcSet = srcSet_;
-      return *this;
-    }
+  CopyBufferInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CopyDescriptorSet & setSrcBinding( uint32_t srcBinding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcBinding = srcBinding_;
-      return *this;
-    }
+  CopyBufferInfo2KHR &
+  setSrcBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_) VULKAN_HPP_NOEXCEPT {
+    srcBuffer = srcBuffer_;
+    return *this;
+  }
 
-    CopyDescriptorSet & setSrcArrayElement( uint32_t srcArrayElement_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcArrayElement = srcArrayElement_;
-      return *this;
-    }
+  CopyBufferInfo2KHR &
+  setDstBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer_) VULKAN_HPP_NOEXCEPT {
+    dstBuffer = dstBuffer_;
+    return *this;
+  }
 
-    CopyDescriptorSet & setDstSet( VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstSet = dstSet_;
-      return *this;
-    }
+  CopyBufferInfo2KHR &
+  setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT {
+    regionCount = regionCount_;
+    return *this;
+  }
 
-    CopyDescriptorSet & setDstBinding( uint32_t dstBinding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstBinding = dstBinding_;
-      return *this;
-    }
+  CopyBufferInfo2KHR &
+  setPRegions(const VULKAN_HPP_NAMESPACE::BufferCopy2KHR *pRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pRegions = pRegions_;
+    return *this;
+  }
 
-    CopyDescriptorSet & setDstArrayElement( uint32_t dstArrayElement_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstArrayElement = dstArrayElement_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyBufferInfo2KHR &
+  setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::BufferCopy2KHR> const &regions_)
+      VULKAN_HPP_NOEXCEPT {
+    regionCount = static_cast<uint32_t>(regions_.size());
+    pRegions = regions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    CopyDescriptorSet & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount = descriptorCount_;
-      return *this;
-    }
+  operator VkCopyBufferInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCopyBufferInfo2KHR *>(this);
+  }
 
-    operator VkCopyDescriptorSet const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCopyDescriptorSet *>( this );
-    }
+  operator VkCopyBufferInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyBufferInfo2KHR *>(this);
+  }
 
-    operator VkCopyDescriptorSet &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCopyDescriptorSet *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( CopyDescriptorSet const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CopyBufferInfo2KHR const &) const = default;
 #else
-    bool operator==( CopyDescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcSet == rhs.srcSet ) &&
-             ( srcBinding == rhs.srcBinding ) && ( srcArrayElement == rhs.srcArrayElement ) &&
-             ( dstSet == rhs.dstSet ) && ( dstBinding == rhs.dstBinding ) &&
-             ( dstArrayElement == rhs.dstArrayElement ) && ( descriptorCount == rhs.descriptorCount );
-    }
+  bool operator==(CopyBufferInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcBuffer == rhs.srcBuffer) && (dstBuffer == rhs.dstBuffer) &&
+           (regionCount == rhs.regionCount) && (pRegions == rhs.pRegions);
+  }
 
-    bool operator!=( CopyDescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(CopyBufferInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eCopyDescriptorSet;
-    const void *                              pNext           = {};
-    VULKAN_HPP_NAMESPACE::DescriptorSet       srcSet          = {};
-    uint32_t                                  srcBinding      = {};
-    uint32_t                                  srcArrayElement = {};
-    VULKAN_HPP_NAMESPACE::DescriptorSet       dstSet          = {};
-    uint32_t                                  dstBinding      = {};
-    uint32_t                                  dstArrayElement = {};
-    uint32_t                                  descriptorCount = {};
-  };
-  static_assert( sizeof( CopyDescriptorSet ) == sizeof( VkCopyDescriptorSet ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CopyDescriptorSet>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCopyBufferInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer srcBuffer = {};
+  VULKAN_HPP_NAMESPACE::Buffer dstBuffer = {};
+  uint32_t regionCount = {};
+  const VULKAN_HPP_NAMESPACE::BufferCopy2KHR *pRegions = {};
+};
+static_assert(sizeof(CopyBufferInfo2KHR) == sizeof(VkCopyBufferInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CopyBufferInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCopyDescriptorSet>
-  {
-    using Type = CopyDescriptorSet;
-  };
+template <> struct CppType<StructureType, StructureType::eCopyBufferInfo2KHR> {
+  using Type = CopyBufferInfo2KHR;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct CopyMemoryToAccelerationStructureInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct CopyBufferToImageInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCopyBufferToImageInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CopyBufferToImageInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Buffer srcBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      uint32_t regionCount_ = {},
+      const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR *pRegions_ = {})
+      VULKAN_HPP_NOEXCEPT : srcBuffer(srcBuffer_),
+                            dstImage(dstImage_),
+                            dstImageLayout(dstImageLayout_),
+                            regionCount(regionCount_),
+                            pRegions(pRegions_) {}
+
+  VULKAN_HPP_CONSTEXPR CopyBufferToImageInfo2KHR(
+      CopyBufferToImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyBufferToImageInfo2KHR(VkCopyBufferToImageInfo2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CopyBufferToImageInfo2KHR(
+            *reinterpret_cast<CopyBufferToImageInfo2KHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyBufferToImageInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Buffer srcBuffer_,
+      VULKAN_HPP_NAMESPACE::Image dstImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR> const &regions_)
+      : srcBuffer(srcBuffer_), dstImage(dstImage_),
+        dstImageLayout(dstImageLayout_),
+        regionCount(static_cast<uint32_t>(regions_.size())),
+        pRegions(regions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2KHR &
+  operator=(CopyBufferToImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyBufferToImageInfo2KHR &
+  operator=(VkCopyBufferToImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2KHR const *>(&rhs);
+    return *this;
+  }
+
+  CopyBufferToImageInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CopyBufferToImageInfo2KHR &
+  setSrcBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_) VULKAN_HPP_NOEXCEPT {
+    srcBuffer = srcBuffer_;
+    return *this;
+  }
+
+  CopyBufferToImageInfo2KHR &
+  setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT {
+    dstImage = dstImage_;
+    return *this;
+  }
+
+  CopyBufferToImageInfo2KHR &setDstImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT {
+    dstImageLayout = dstImageLayout_;
+    return *this;
+  }
+
+  CopyBufferToImageInfo2KHR &
+  setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT {
+    regionCount = regionCount_;
+    return *this;
+  }
+
+  CopyBufferToImageInfo2KHR &
+  setPRegions(const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR *pRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pRegions = pRegions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyBufferToImageInfo2KHR &
+  setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR> const &regions_)
+      VULKAN_HPP_NOEXCEPT {
+    regionCount = static_cast<uint32_t>(regions_.size());
+    pRegions = regions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkCopyBufferToImageInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCopyBufferToImageInfo2KHR *>(this);
+  }
+
+  operator VkCopyBufferToImageInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyBufferToImageInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CopyBufferToImageInfo2KHR const &) const = default;
+#else
+  bool
+  operator==(CopyBufferToImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcBuffer == rhs.srcBuffer) && (dstImage == rhs.dstImage) &&
+           (dstImageLayout == rhs.dstImageLayout) &&
+           (regionCount == rhs.regionCount) && (pRegions == rhs.pRegions);
+  }
+
+  bool
+  operator!=(CopyBufferToImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCopyBufferToImageInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Buffer srcBuffer = {};
+  VULKAN_HPP_NAMESPACE::Image dstImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  uint32_t regionCount = {};
+  const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR *pRegions = {};
+};
+static_assert(sizeof(CopyBufferToImageInfo2KHR) ==
+                  sizeof(VkCopyBufferToImageInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CopyBufferToImageInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCopyBufferToImageInfo2KHR> {
+  using Type = CopyBufferToImageInfo2KHR;
+};
+
+struct ImageCopy {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ImageCopy(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
+            VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
+            VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
+            VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
+            VULKAN_HPP_NAMESPACE::Extent3D extent_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcSubresource(srcSubresource_),
+        srcOffset(srcOffset_),
+        dstSubresource(dstSubresource_),
+        dstOffset(dstOffset_),
+        extent(extent_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ImageCopy(ImageCopy const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageCopy(VkImageCopy const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageCopy(*reinterpret_cast<ImageCopy const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageCopy &
+  operator=(ImageCopy const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageCopy &operator=(VkImageCopy const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCopy const *>(&rhs);
+    return *this;
+  }
+
+  ImageCopy &setSrcSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    srcSubresource = srcSubresource_;
+    return *this;
+  }
+
+  ImageCopy &setSrcOffset(VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    srcOffset = srcOffset_;
+    return *this;
+  }
+
+  ImageCopy &setDstSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    dstSubresource = dstSubresource_;
+    return *this;
+  }
+
+  ImageCopy &setDstOffset(VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    dstOffset = dstOffset_;
+    return *this;
+  }
+
+  ImageCopy &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
+
+  operator VkImageCopy const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageCopy *>(this);
+  }
+
+  operator VkImageCopy &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageCopy *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageCopy const &) const = default;
+#else
+  bool operator==(ImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (srcSubresource == rhs.srcSubresource) &&
+           (srcOffset == rhs.srcOffset) &&
+           (dstSubresource == rhs.dstSubresource) &&
+           (dstOffset == rhs.dstOffset) && (extent == rhs.extent);
+  }
+
+  bool operator!=(ImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D srcOffset = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D dstOffset = {};
+  VULKAN_HPP_NAMESPACE::Extent3D extent = {};
+};
+static_assert(sizeof(ImageCopy) == sizeof(VkImageCopy),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageCopy>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ImageCopy2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageCopy2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageCopy2KHR(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D extent_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcSubresource(srcSubresource_),
+        srcOffset(srcOffset_),
+        dstSubresource(dstSubresource_),
+        dstOffset(dstOffset_),
+        extent(extent_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ImageCopy2KHR(ImageCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageCopy2KHR(VkImageCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageCopy2KHR(*reinterpret_cast<ImageCopy2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageCopy2KHR &
+  operator=(ImageCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageCopy2KHR &operator=(VkImageCopy2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCopy2KHR const *>(&rhs);
+    return *this;
+  }
+
+  ImageCopy2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageCopy2KHR &setSrcSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    srcSubresource = srcSubresource_;
+    return *this;
+  }
+
+  ImageCopy2KHR &setSrcOffset(VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    srcOffset = srcOffset_;
+    return *this;
+  }
+
+  ImageCopy2KHR &setDstSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    dstSubresource = dstSubresource_;
+    return *this;
+  }
+
+  ImageCopy2KHR &setDstOffset(VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    dstOffset = dstOffset_;
+    return *this;
+  }
+
+  ImageCopy2KHR &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
+
+  operator VkImageCopy2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageCopy2KHR *>(this);
+  }
+
+  operator VkImageCopy2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageCopy2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageCopy2KHR const &) const = default;
+#else
+  bool operator==(ImageCopy2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcSubresource == rhs.srcSubresource) &&
+           (srcOffset == rhs.srcOffset) &&
+           (dstSubresource == rhs.dstSubresource) &&
+           (dstOffset == rhs.dstOffset) && (extent == rhs.extent);
+  }
+
+  bool operator!=(ImageCopy2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageCopy2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D srcOffset = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D dstOffset = {};
+  VULKAN_HPP_NAMESPACE::Extent3D extent = {};
+};
+static_assert(sizeof(ImageCopy2KHR) == sizeof(VkImageCopy2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageCopy2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eImageCopy2KHR> {
+  using Type = ImageCopy2KHR;
+};
+
+struct CopyImageInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCopyImageInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  CopyImageInfo2KHR(VULKAN_HPP_NAMESPACE::Image srcImage_ = {},
+                    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_ =
+                        VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+                    VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
+                    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_ =
+                        VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+                    uint32_t regionCount_ = {},
+                    const VULKAN_HPP_NAMESPACE::ImageCopy2KHR *pRegions_ = {})
+      VULKAN_HPP_NOEXCEPT : srcImage(srcImage_),
+                            srcImageLayout(srcImageLayout_),
+                            dstImage(dstImage_),
+                            dstImageLayout(dstImageLayout_),
+                            regionCount(regionCount_),
+                            pRegions(pRegions_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  CopyImageInfo2KHR(CopyImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyImageInfo2KHR(VkCopyImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : CopyImageInfo2KHR(*reinterpret_cast<CopyImageInfo2KHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyImageInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Image srcImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
+      VULKAN_HPP_NAMESPACE::Image dstImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageCopy2KHR> const &regions_)
+      : srcImage(srcImage_), srcImageLayout(srcImageLayout_),
+        dstImage(dstImage_), dstImageLayout(dstImageLayout_),
+        regionCount(static_cast<uint32_t>(regions_.size())),
+        pRegions(regions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2KHR &
+  operator=(CopyImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyImageInfo2KHR &
+  operator=(VkCopyImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyImageInfo2KHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  CopyImageInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CopyImageInfo2KHR &
+  setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT {
+    srcImage = srcImage_;
+    return *this;
+  }
+
+  CopyImageInfo2KHR &setSrcImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT {
+    srcImageLayout = srcImageLayout_;
+    return *this;
+  }
+
+  CopyImageInfo2KHR &
+  setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT {
+    dstImage = dstImage_;
+    return *this;
+  }
+
+  CopyImageInfo2KHR &setDstImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT {
+    dstImageLayout = dstImageLayout_;
+    return *this;
+  }
+
+  CopyImageInfo2KHR &setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT {
+    regionCount = regionCount_;
+    return *this;
+  }
+
+  CopyImageInfo2KHR &
+  setPRegions(const VULKAN_HPP_NAMESPACE::ImageCopy2KHR *pRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pRegions = pRegions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyImageInfo2KHR &
+  setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::ImageCopy2KHR> const &regions_)
+      VULKAN_HPP_NOEXCEPT {
+    regionCount = static_cast<uint32_t>(regions_.size());
+    pRegions = regions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkCopyImageInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCopyImageInfo2KHR *>(this);
+  }
+
+  operator VkCopyImageInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyImageInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CopyImageInfo2KHR const &) const = default;
+#else
+  bool operator==(CopyImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcImage == rhs.srcImage) &&
+           (srcImageLayout == rhs.srcImageLayout) &&
+           (dstImage == rhs.dstImage) &&
+           (dstImageLayout == rhs.dstImageLayout) &&
+           (regionCount == rhs.regionCount) && (pRegions == rhs.pRegions);
+  }
+
+  bool operator!=(CopyImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eCopyImageInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image srcImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::Image dstImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  uint32_t regionCount = {};
+  const VULKAN_HPP_NAMESPACE::ImageCopy2KHR *pRegions = {};
+};
+static_assert(sizeof(CopyImageInfo2KHR) == sizeof(VkCopyImageInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CopyImageInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eCopyImageInfo2KHR> {
+  using Type = CopyImageInfo2KHR;
+};
+
+struct CopyImageToBufferInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCopyImageToBufferInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CopyImageToBufferInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Image srcImage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::Buffer dstBuffer_ = {}, uint32_t regionCount_ = {},
+      const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR *pRegions_ = {})
+      VULKAN_HPP_NOEXCEPT : srcImage(srcImage_),
+                            srcImageLayout(srcImageLayout_),
+                            dstBuffer(dstBuffer_),
+                            regionCount(regionCount_),
+                            pRegions(pRegions_) {}
+
+  VULKAN_HPP_CONSTEXPR CopyImageToBufferInfo2KHR(
+      CopyImageToBufferInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyImageToBufferInfo2KHR(VkCopyImageToBufferInfo2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CopyImageToBufferInfo2KHR(
+            *reinterpret_cast<CopyImageToBufferInfo2KHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyImageToBufferInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Image srcImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
+      VULKAN_HPP_NAMESPACE::Buffer dstBuffer_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR> const &regions_)
+      : srcImage(srcImage_), srcImageLayout(srcImageLayout_),
+        dstBuffer(dstBuffer_),
+        regionCount(static_cast<uint32_t>(regions_.size())),
+        pRegions(regions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2KHR &
+  operator=(CopyImageToBufferInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyImageToBufferInfo2KHR &
+  operator=(VkCopyImageToBufferInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2KHR const *>(&rhs);
+    return *this;
+  }
+
+  CopyImageToBufferInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CopyImageToBufferInfo2KHR &
+  setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT {
+    srcImage = srcImage_;
+    return *this;
+  }
+
+  CopyImageToBufferInfo2KHR &setSrcImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT {
+    srcImageLayout = srcImageLayout_;
+    return *this;
+  }
+
+  CopyImageToBufferInfo2KHR &
+  setDstBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer_) VULKAN_HPP_NOEXCEPT {
+    dstBuffer = dstBuffer_;
+    return *this;
+  }
+
+  CopyImageToBufferInfo2KHR &
+  setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT {
+    regionCount = regionCount_;
+    return *this;
+  }
+
+  CopyImageToBufferInfo2KHR &
+  setPRegions(const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR *pRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pRegions = pRegions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  CopyImageToBufferInfo2KHR &
+  setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR> const &regions_)
+      VULKAN_HPP_NOEXCEPT {
+    regionCount = static_cast<uint32_t>(regions_.size());
+    pRegions = regions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkCopyImageToBufferInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCopyImageToBufferInfo2KHR *>(this);
+  }
+
+  operator VkCopyImageToBufferInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyImageToBufferInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CopyImageToBufferInfo2KHR const &) const = default;
+#else
+  bool
+  operator==(CopyImageToBufferInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcImage == rhs.srcImage) &&
+           (srcImageLayout == rhs.srcImageLayout) &&
+           (dstBuffer == rhs.dstBuffer) && (regionCount == rhs.regionCount) &&
+           (pRegions == rhs.pRegions);
+  }
+
+  bool
+  operator!=(CopyImageToBufferInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCopyImageToBufferInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image srcImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::Buffer dstBuffer = {};
+  uint32_t regionCount = {};
+  const VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR *pRegions = {};
+};
+static_assert(sizeof(CopyImageToBufferInfo2KHR) ==
+                  sizeof(VkCopyImageToBufferInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CopyImageToBufferInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCopyImageToBufferInfo2KHR> {
+  using Type = CopyImageToBufferInfo2KHR;
+};
+
+struct CopyMemoryToAccelerationStructureInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eCopyMemoryToAccelerationStructureInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    CopyMemoryToAccelerationStructureInfoKHR( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR      src_ = {},
-                                              VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         dst_ = {},
-                                              VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ =
-                                                VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone )
-      VULKAN_HPP_NOEXCEPT
-      : src( src_ )
-      , dst( dst_ )
-      , mode( mode_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  CopyMemoryToAccelerationStructureInfoKHR(
+      VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR src_ = {},
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_ = {},
+      VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ =
+          VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone)
+      VULKAN_HPP_NOEXCEPT : src(src_),
+                            dst(dst_),
+                            mode(mode_) {}
 
-    CopyMemoryToAccelerationStructureInfoKHR( VkCopyMemoryToAccelerationStructureInfoKHR const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  CopyMemoryToAccelerationStructureInfoKHR(
+      CopyMemoryToAccelerationStructureInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    CopyMemoryToAccelerationStructureInfoKHR &
-      operator=( VkCopyMemoryToAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR const *>( &rhs );
-      return *this;
-    }
+  CopyMemoryToAccelerationStructureInfoKHR(
+      VkCopyMemoryToAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : CopyMemoryToAccelerationStructureInfoKHR(
+            *reinterpret_cast<CopyMemoryToAccelerationStructureInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    CopyMemoryToAccelerationStructureInfoKHR &
-      operator=( CopyMemoryToAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      src   = rhs.src;
-      dst   = rhs.dst;
-      mode  = rhs.mode;
+  CopyMemoryToAccelerationStructureInfoKHR &
+  operator=(CopyMemoryToAccelerationStructureInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  CopyMemoryToAccelerationStructureInfoKHR &
+  operator=(VkCopyMemoryToAccelerationStructureInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    CopyMemoryToAccelerationStructureInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  CopyMemoryToAccelerationStructureInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    CopyMemoryToAccelerationStructureInfoKHR &
-      setSrc( VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const & src_ ) VULKAN_HPP_NOEXCEPT
-    {
-      src = src_;
-      return *this;
-    }
+  CopyMemoryToAccelerationStructureInfoKHR &
+  setSrc(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &src_)
+      VULKAN_HPP_NOEXCEPT {
+    src = src_;
+    return *this;
+  }
 
-    CopyMemoryToAccelerationStructureInfoKHR &
-      setDst( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dst = dst_;
-      return *this;
-    }
+  CopyMemoryToAccelerationStructureInfoKHR &setDst(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_) VULKAN_HPP_NOEXCEPT {
+    dst = dst_;
+    return *this;
+  }
 
-    CopyMemoryToAccelerationStructureInfoKHR &
-      setMode( VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mode = mode_;
-      return *this;
-    }
+  CopyMemoryToAccelerationStructureInfoKHR &
+  setMode(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_)
+      VULKAN_HPP_NOEXCEPT {
+    mode = mode_;
+    return *this;
+  }
 
-    operator VkCopyMemoryToAccelerationStructureInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( this );
-    }
+  operator VkCopyMemoryToAccelerationStructureInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkCopyMemoryToAccelerationStructureInfoKHR *>(this);
+  }
 
-    operator VkCopyMemoryToAccelerationStructureInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkCopyMemoryToAccelerationStructureInfoKHR *>( this );
-    }
+  operator VkCopyMemoryToAccelerationStructureInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyMemoryToAccelerationStructureInfoKHR *>(
+        this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType = StructureType::eCopyMemoryToAccelerationStructureInfoKHR;
-    const void *                                      pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR src   = {};
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR    dst   = {};
-    VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCopyMemoryToAccelerationStructureInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR src = {};
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst = {};
+  VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode =
       VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone;
-  };
-  static_assert( sizeof( CopyMemoryToAccelerationStructureInfoKHR ) ==
-                   sizeof( VkCopyMemoryToAccelerationStructureInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<CopyMemoryToAccelerationStructureInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(CopyMemoryToAccelerationStructureInfoKHR) ==
+                  sizeof(VkCopyMemoryToAccelerationStructureInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<CopyMemoryToAccelerationStructureInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eCopyMemoryToAccelerationStructureInfoKHR>
-  {
-    using Type = CopyMemoryToAccelerationStructureInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct CppType<StructureType,
+               StructureType::eCopyMemoryToAccelerationStructureInfoKHR> {
+  using Type = CopyMemoryToAccelerationStructureInfoKHR;
+};
 
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct D3D12FenceSubmitInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eD3D12FenceSubmitInfoKHR;
+struct DebugMarkerMarkerInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugMarkerMarkerInfoEXT;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR( uint32_t         waitSemaphoreValuesCount_   = {},
-                                                  const uint64_t * pWaitSemaphoreValues_       = {},
-                                                  uint32_t         signalSemaphoreValuesCount_ = {},
-                                                  const uint64_t * pSignalSemaphoreValues_ = {} ) VULKAN_HPP_NOEXCEPT
-      : waitSemaphoreValuesCount( waitSemaphoreValuesCount_ )
-      , pWaitSemaphoreValues( pWaitSemaphoreValues_ )
-      , signalSemaphoreValuesCount( signalSemaphoreValuesCount_ )
-      , pSignalSemaphoreValues( pSignalSemaphoreValues_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT(
+      const char *pMarkerName_ = {},
+      std::array<float, 4> const &color_ = {}) VULKAN_HPP_NOEXCEPT
+      : pMarkerName(pMarkerName_),
+        color(color_) {}
 
-    D3D12FenceSubmitInfoKHR( VkD3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
+  VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT(
+      DebugMarkerMarkerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DebugMarkerMarkerInfoEXT(VkDebugMarkerMarkerInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DebugMarkerMarkerInfoEXT(
+            *reinterpret_cast<DebugMarkerMarkerInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT &
+  operator=(DebugMarkerMarkerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DebugMarkerMarkerInfoEXT &
+  operator=(VkDebugMarkerMarkerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  DebugMarkerMarkerInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DebugMarkerMarkerInfoEXT &
+  setPMarkerName(const char *pMarkerName_) VULKAN_HPP_NOEXCEPT {
+    pMarkerName = pMarkerName_;
+    return *this;
+  }
+
+  DebugMarkerMarkerInfoEXT &
+  setColor(std::array<float, 4> color_) VULKAN_HPP_NOEXCEPT {
+    color = color_;
+    return *this;
+  }
+
+  operator VkDebugMarkerMarkerInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>(this);
+  }
+
+  operator VkDebugMarkerMarkerInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugMarkerMarkerInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugMarkerMarkerInfoEXT const &) const = default;
+#else
+  bool
+  operator==(DebugMarkerMarkerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pMarkerName == rhs.pMarkerName) && (color == rhs.color);
+  }
+
+  bool
+  operator!=(DebugMarkerMarkerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugMarkerMarkerInfoEXT;
+  const void *pNext = {};
+  const char *pMarkerName = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> color = {};
+};
+static_assert(sizeof(DebugMarkerMarkerInfoEXT) ==
+                  sizeof(VkDebugMarkerMarkerInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugMarkerMarkerInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDebugMarkerMarkerInfoEXT> {
+  using Type = DebugMarkerMarkerInfoEXT;
+};
+
+struct SubpassEndInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSubpassEndInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubpassEndInfo() VULKAN_HPP_NOEXCEPT
+
+  {}
+
+  VULKAN_HPP_CONSTEXPR
+  SubpassEndInfo(SubpassEndInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassEndInfo(VkSubpassEndInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubpassEndInfo(*reinterpret_cast<SubpassEndInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SubpassEndInfo &
+  operator=(SubpassEndInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassEndInfo &operator=(VkSubpassEndInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassEndInfo const *>(&rhs);
+    return *this;
+  }
+
+  SubpassEndInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  operator VkSubpassEndInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassEndInfo *>(this);
+  }
+
+  operator VkSubpassEndInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassEndInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubpassEndInfo const &) const = default;
+#else
+  bool operator==(SubpassEndInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext);
+  }
+
+  bool operator!=(SubpassEndInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassEndInfo;
+  const void *pNext = {};
+};
+static_assert(sizeof(SubpassEndInfo) == sizeof(VkSubpassEndInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubpassEndInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSubpassEndInfo> {
+  using Type = SubpassEndInfo;
+};
+using SubpassEndInfoKHR = SubpassEndInfo;
+
+class IndirectCommandsLayoutNV {
+public:
+  using CType = VkIndirectCommandsLayoutNV;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
+
+public:
+  VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNV() = default;
+  VULKAN_HPP_CONSTEXPR
+  IndirectCommandsLayoutNV(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT IndirectCommandsLayoutNV(
+      VkIndirectCommandsLayoutNV indirectCommandsLayoutNV) VULKAN_HPP_NOEXCEPT
+      : m_indirectCommandsLayoutNV(indirectCommandsLayoutNV) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  IndirectCommandsLayoutNV &operator=(
+      VkIndirectCommandsLayoutNV indirectCommandsLayoutNV) VULKAN_HPP_NOEXCEPT {
+    m_indirectCommandsLayoutNV = indirectCommandsLayoutNV;
+    return *this;
+  }
+#endif
+
+  IndirectCommandsLayoutNV &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_indirectCommandsLayoutNV = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(IndirectCommandsLayoutNV const &) const = default;
+#else
+  bool
+  operator==(IndirectCommandsLayoutNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_indirectCommandsLayoutNV == rhs.m_indirectCommandsLayoutNV;
+  }
+
+  bool
+  operator!=(IndirectCommandsLayoutNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_indirectCommandsLayoutNV != rhs.m_indirectCommandsLayoutNV;
+  }
+
+  bool
+  operator<(IndirectCommandsLayoutNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_indirectCommandsLayoutNV < rhs.m_indirectCommandsLayoutNV;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkIndirectCommandsLayoutNV() const VULKAN_HPP_NOEXCEPT {
+    return m_indirectCommandsLayoutNV;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_indirectCommandsLayoutNV != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_indirectCommandsLayoutNV == VK_NULL_HANDLE;
+  }
+
+private:
+  VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV) ==
+                  sizeof(VkIndirectCommandsLayoutNV),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eIndirectCommandsLayoutNV> {
+  using type = VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV> {
+  using Type = VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct IndirectCommandsStreamNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR IndirectCommandsStreamNV(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {}) VULKAN_HPP_NOEXCEPT
+      : buffer(buffer_),
+        offset(offset_) {}
+
+  VULKAN_HPP_CONSTEXPR IndirectCommandsStreamNV(
+      IndirectCommandsStreamNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  IndirectCommandsStreamNV(VkIndirectCommandsStreamNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : IndirectCommandsStreamNV(
+            *reinterpret_cast<IndirectCommandsStreamNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 IndirectCommandsStreamNV &
+  operator=(IndirectCommandsStreamNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  IndirectCommandsStreamNV &
+  operator=(VkIndirectCommandsStreamNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV const *>(&rhs);
+    return *this;
+  }
+
+  IndirectCommandsStreamNV &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  IndirectCommandsStreamNV &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  operator VkIndirectCommandsStreamNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkIndirectCommandsStreamNV *>(this);
+  }
+
+  operator VkIndirectCommandsStreamNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkIndirectCommandsStreamNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(IndirectCommandsStreamNV const &) const = default;
+#else
+  bool
+  operator==(IndirectCommandsStreamNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (buffer == rhs.buffer) && (offset == rhs.offset);
+  }
+
+  bool
+  operator!=(IndirectCommandsStreamNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+};
+static_assert(sizeof(IndirectCommandsStreamNV) ==
+                  sizeof(VkIndirectCommandsStreamNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<IndirectCommandsStreamNV>::value,
+              "struct wrapper is not a standard layout!");
+
+struct GeneratedCommandsInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGeneratedCommandsInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR GeneratedCommandsInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ =
+          VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {},
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_ =
+          {},
+      uint32_t streamCount_ = {},
+      const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV *pStreams_ = {},
+      uint32_t sequencesCount_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_ = {})
+      VULKAN_HPP_NOEXCEPT : pipelineBindPoint(pipelineBindPoint_),
+                            pipeline(pipeline_),
+                            indirectCommandsLayout(indirectCommandsLayout_),
+                            streamCount(streamCount_),
+                            pStreams(pStreams_),
+                            sequencesCount(sequencesCount_),
+                            preprocessBuffer(preprocessBuffer_),
+                            preprocessOffset(preprocessOffset_),
+                            preprocessSize(preprocessSize_),
+                            sequencesCountBuffer(sequencesCountBuffer_),
+                            sequencesCountOffset(sequencesCountOffset_),
+                            sequencesIndexBuffer(sequencesIndexBuffer_),
+                            sequencesIndexOffset(sequencesIndexOffset_) {}
+
+  VULKAN_HPP_CONSTEXPR GeneratedCommandsInfoNV(
+      GeneratedCommandsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  GeneratedCommandsInfoNV(VkGeneratedCommandsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : GeneratedCommandsInfoNV(
+            *reinterpret_cast<GeneratedCommandsInfoNV const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GeneratedCommandsInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_,
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline_,
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV> const &streams_,
+      uint32_t sequencesCount_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_ = {})
+      : pipelineBindPoint(pipelineBindPoint_), pipeline(pipeline_),
+        indirectCommandsLayout(indirectCommandsLayout_),
+        streamCount(static_cast<uint32_t>(streams_.size())),
+        pStreams(streams_.data()), sequencesCount(sequencesCount_),
+        preprocessBuffer(preprocessBuffer_),
+        preprocessOffset(preprocessOffset_), preprocessSize(preprocessSize_),
+        sequencesCountBuffer(sequencesCountBuffer_),
+        sequencesCountOffset(sequencesCountOffset_),
+        sequencesIndexBuffer(sequencesIndexBuffer_),
+        sequencesIndexOffset(sequencesIndexOffset_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV &
+  operator=(GeneratedCommandsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  GeneratedCommandsInfoNV &
+  operator=(VkGeneratedCommandsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setPipelineBindPoint(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineBindPoint = pipelineBindPoint_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &
+  setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT {
+    pipeline = pipeline_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setIndirectCommandsLayout(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    indirectCommandsLayout = indirectCommandsLayout_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &
+  setStreamCount(uint32_t streamCount_) VULKAN_HPP_NOEXCEPT {
+    streamCount = streamCount_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &
+  setPStreams(const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV *pStreams_)
+      VULKAN_HPP_NOEXCEPT {
+    pStreams = pStreams_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GeneratedCommandsInfoNV &setStreams(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV> const &streams_)
+      VULKAN_HPP_NOEXCEPT {
+    streamCount = static_cast<uint32_t>(streams_.size());
+    pStreams = streams_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  GeneratedCommandsInfoNV &
+  setSequencesCount(uint32_t sequencesCount_) VULKAN_HPP_NOEXCEPT {
+    sequencesCount = sequencesCount_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setPreprocessBuffer(
+      VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_) VULKAN_HPP_NOEXCEPT {
+    preprocessBuffer = preprocessBuffer_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setPreprocessOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_) VULKAN_HPP_NOEXCEPT {
+    preprocessOffset = preprocessOffset_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setPreprocessSize(
+      VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_) VULKAN_HPP_NOEXCEPT {
+    preprocessSize = preprocessSize_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setSequencesCountBuffer(
+      VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_) VULKAN_HPP_NOEXCEPT {
+    sequencesCountBuffer = sequencesCountBuffer_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setSequencesCountOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    sequencesCountOffset = sequencesCountOffset_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setSequencesIndexBuffer(
+      VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_) VULKAN_HPP_NOEXCEPT {
+    sequencesIndexBuffer = sequencesIndexBuffer_;
+    return *this;
+  }
+
+  GeneratedCommandsInfoNV &setSequencesIndexOffset(
+      VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    sequencesIndexOffset = sequencesIndexOffset_;
+    return *this;
+  }
+
+  operator VkGeneratedCommandsInfoNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkGeneratedCommandsInfoNV *>(this);
+  }
+
+  operator VkGeneratedCommandsInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGeneratedCommandsInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GeneratedCommandsInfoNV const &) const = default;
+#else
+  bool
+  operator==(GeneratedCommandsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pipelineBindPoint == rhs.pipelineBindPoint) &&
+           (pipeline == rhs.pipeline) &&
+           (indirectCommandsLayout == rhs.indirectCommandsLayout) &&
+           (streamCount == rhs.streamCount) && (pStreams == rhs.pStreams) &&
+           (sequencesCount == rhs.sequencesCount) &&
+           (preprocessBuffer == rhs.preprocessBuffer) &&
+           (preprocessOffset == rhs.preprocessOffset) &&
+           (preprocessSize == rhs.preprocessSize) &&
+           (sequencesCountBuffer == rhs.sequencesCountBuffer) &&
+           (sequencesCountOffset == rhs.sequencesCountOffset) &&
+           (sequencesIndexBuffer == rhs.sequencesIndexBuffer) &&
+           (sequencesIndexOffset == rhs.sequencesIndexOffset);
+  }
+
+  bool
+  operator!=(GeneratedCommandsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eGeneratedCommandsInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint =
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
+  VULKAN_HPP_NAMESPACE::Pipeline pipeline = {};
+  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout = {};
+  uint32_t streamCount = {};
+  const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV *pStreams = {};
+  uint32_t sequencesCount = {};
+  VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize = {};
+  VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset = {};
+  VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset = {};
+};
+static_assert(sizeof(GeneratedCommandsInfoNV) ==
+                  sizeof(VkGeneratedCommandsInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<GeneratedCommandsInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eGeneratedCommandsInfoNV> {
+  using Type = GeneratedCommandsInfoNV;
+};
+
+struct MemoryBarrier {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryBarrier;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryBarrier(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcAccessMask(srcAccessMask_),
+        dstAccessMask(dstAccessMask_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  MemoryBarrier(MemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryBarrier(VkMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryBarrier(*reinterpret_cast<MemoryBarrier const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryBarrier &
+  operator=(MemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryBarrier &operator=(VkMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryBarrier const *>(&rhs);
+    return *this;
+  }
+
+  MemoryBarrier &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryBarrier &setSrcAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
+
+  MemoryBarrier &setDstAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
+
+  operator VkMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryBarrier *>(this);
+  }
+
+  operator VkMemoryBarrier &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryBarrier *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryBarrier const &) const = default;
+#else
+  bool operator==(MemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstAccessMask == rhs.dstAccessMask);
+  }
+
+  bool operator!=(MemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryBarrier;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask = {};
+};
+static_assert(sizeof(MemoryBarrier) == sizeof(VkMemoryBarrier),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryBarrier>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eMemoryBarrier> {
+  using Type = MemoryBarrier;
+};
+
+struct ImageMemoryBarrier {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageMemoryBarrier;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageMemoryBarrier(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::ImageLayout newLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      uint32_t srcQueueFamilyIndex_ = {}, uint32_t dstQueueFamilyIndex_ = {},
+      VULKAN_HPP_NAMESPACE::Image image_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {})
+      VULKAN_HPP_NOEXCEPT : srcAccessMask(srcAccessMask_),
+                            dstAccessMask(dstAccessMask_),
+                            oldLayout(oldLayout_),
+                            newLayout(newLayout_),
+                            srcQueueFamilyIndex(srcQueueFamilyIndex_),
+                            dstQueueFamilyIndex(dstQueueFamilyIndex_),
+                            image(image_),
+                            subresourceRange(subresourceRange_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageMemoryBarrier(ImageMemoryBarrier const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageMemoryBarrier(VkImageMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageMemoryBarrier(
+            *reinterpret_cast<ImageMemoryBarrier const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier &
+  operator=(ImageMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageMemoryBarrier &
+  operator=(VkImageMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier const *>(
+        &rhs);
+    return *this;
+  }
+
+  ImageMemoryBarrier &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &setSrcAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &setDstAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &setOldLayout(VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    oldLayout = oldLayout_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &setNewLayout(VULKAN_HPP_NAMESPACE::ImageLayout newLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    newLayout = newLayout_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &
+  setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    srcQueueFamilyIndex = srcQueueFamilyIndex_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &
+  setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    dstQueueFamilyIndex = dstQueueFamilyIndex_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  ImageMemoryBarrier &setSubresourceRange(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceRange const &subresourceRange_)
+      VULKAN_HPP_NOEXCEPT {
+    subresourceRange = subresourceRange_;
+    return *this;
+  }
+
+  operator VkImageMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageMemoryBarrier *>(this);
+  }
+
+  operator VkImageMemoryBarrier &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageMemoryBarrier *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageMemoryBarrier const &) const = default;
+#else
+  bool operator==(ImageMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstAccessMask == rhs.dstAccessMask) &&
+           (oldLayout == rhs.oldLayout) && (newLayout == rhs.newLayout) &&
+           (srcQueueFamilyIndex == rhs.srcQueueFamilyIndex) &&
+           (dstQueueFamilyIndex == rhs.dstQueueFamilyIndex) &&
+           (image == rhs.image) && (subresourceRange == rhs.subresourceRange);
+  }
+
+  bool operator!=(ImageMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageMemoryBarrier;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout oldLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageLayout newLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  uint32_t srcQueueFamilyIndex = {};
+  uint32_t dstQueueFamilyIndex = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange = {};
+};
+static_assert(sizeof(ImageMemoryBarrier) == sizeof(VkImageMemoryBarrier),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageMemoryBarrier>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eImageMemoryBarrier> {
+  using Type = ImageMemoryBarrier;
+};
+
+struct MemoryBarrier2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryBarrier2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryBarrier2KHR(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask_ = {})
+      VULKAN_HPP_NOEXCEPT : srcStageMask(srcStageMask_),
+                            srcAccessMask(srcAccessMask_),
+                            dstStageMask(dstStageMask_),
+                            dstAccessMask(dstAccessMask_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  MemoryBarrier2KHR(MemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryBarrier2KHR(VkMemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryBarrier2KHR(*reinterpret_cast<MemoryBarrier2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2KHR &
+  operator=(MemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryBarrier2KHR &
+  operator=(VkMemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  MemoryBarrier2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryBarrier2KHR &
+  setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcStageMask = srcStageMask_;
+    return *this;
+  }
+
+  MemoryBarrier2KHR &
+  setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
+
+  MemoryBarrier2KHR &
+  setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstStageMask = dstStageMask_;
+    return *this;
+  }
+
+  MemoryBarrier2KHR &
+  setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
+
+  operator VkMemoryBarrier2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryBarrier2KHR *>(this);
+  }
+
+  operator VkMemoryBarrier2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryBarrier2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryBarrier2KHR const &) const = default;
+#else
+  bool operator==(MemoryBarrier2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcStageMask == rhs.srcStageMask) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstStageMask == rhs.dstStageMask) &&
+           (dstAccessMask == rhs.dstAccessMask);
+  }
+
+  bool operator!=(MemoryBarrier2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryBarrier2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask = {};
+};
+static_assert(sizeof(MemoryBarrier2KHR) == sizeof(VkMemoryBarrier2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryBarrier2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eMemoryBarrier2KHR> {
+  using Type = MemoryBarrier2KHR;
+};
+
+struct ImageMemoryBarrier2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageMemoryBarrier2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageMemoryBarrier2KHR(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::ImageLayout newLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      uint32_t srcQueueFamilyIndex_ = {}, uint32_t dstQueueFamilyIndex_ = {},
+      VULKAN_HPP_NAMESPACE::Image image_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {})
+      VULKAN_HPP_NOEXCEPT : srcStageMask(srcStageMask_),
+                            srcAccessMask(srcAccessMask_),
+                            dstStageMask(dstStageMask_),
+                            dstAccessMask(dstAccessMask_),
+                            oldLayout(oldLayout_),
+                            newLayout(newLayout_),
+                            srcQueueFamilyIndex(srcQueueFamilyIndex_),
+                            dstQueueFamilyIndex(dstQueueFamilyIndex_),
+                            image(image_),
+                            subresourceRange(subresourceRange_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageMemoryBarrier2KHR(ImageMemoryBarrier2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageMemoryBarrier2KHR(VkImageMemoryBarrier2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageMemoryBarrier2KHR(
+            *reinterpret_cast<ImageMemoryBarrier2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2KHR &
+  operator=(ImageMemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageMemoryBarrier2KHR &
+  operator=(VkImageMemoryBarrier2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &
+  setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcStageMask = srcStageMask_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &
+  setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &
+  setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstStageMask = dstStageMask_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &
+  setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &setOldLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_) VULKAN_HPP_NOEXCEPT {
+    oldLayout = oldLayout_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &setNewLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout newLayout_) VULKAN_HPP_NOEXCEPT {
+    newLayout = newLayout_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &
+  setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    srcQueueFamilyIndex = srcQueueFamilyIndex_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &
+  setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    dstQueueFamilyIndex = dstQueueFamilyIndex_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  ImageMemoryBarrier2KHR &setSubresourceRange(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceRange const &subresourceRange_)
+      VULKAN_HPP_NOEXCEPT {
+    subresourceRange = subresourceRange_;
+    return *this;
+  }
+
+  operator VkImageMemoryBarrier2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageMemoryBarrier2KHR *>(this);
+  }
+
+  operator VkImageMemoryBarrier2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageMemoryBarrier2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageMemoryBarrier2KHR const &) const = default;
+#else
+  bool operator==(ImageMemoryBarrier2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcStageMask == rhs.srcStageMask) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstStageMask == rhs.dstStageMask) &&
+           (dstAccessMask == rhs.dstAccessMask) &&
+           (oldLayout == rhs.oldLayout) && (newLayout == rhs.newLayout) &&
+           (srcQueueFamilyIndex == rhs.srcQueueFamilyIndex) &&
+           (dstQueueFamilyIndex == rhs.dstQueueFamilyIndex) &&
+           (image == rhs.image) && (subresourceRange == rhs.subresourceRange);
+  }
+
+  bool operator!=(ImageMemoryBarrier2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageMemoryBarrier2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR srcStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags2KHR srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR dstStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags2KHR dstAccessMask = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout oldLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageLayout newLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  uint32_t srcQueueFamilyIndex = {};
+  uint32_t dstQueueFamilyIndex = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange = {};
+};
+static_assert(sizeof(ImageMemoryBarrier2KHR) ==
+                  sizeof(VkImageMemoryBarrier2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageMemoryBarrier2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageMemoryBarrier2KHR> {
+  using Type = ImageMemoryBarrier2KHR;
+};
+
+struct DependencyInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDependencyInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DependencyInfoKHR(
+      VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_ = {},
+      uint32_t memoryBarrierCount_ = {},
+      const VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR *pMemoryBarriers_ = {},
+      uint32_t bufferMemoryBarrierCount_ = {},
+      const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR
+          *pBufferMemoryBarriers_ = {},
+      uint32_t imageMemoryBarrierCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR
+          *pImageMemoryBarriers_ = {}) VULKAN_HPP_NOEXCEPT
+      : dependencyFlags(dependencyFlags_),
+        memoryBarrierCount(memoryBarrierCount_),
+        pMemoryBarriers(pMemoryBarriers_),
+        bufferMemoryBarrierCount(bufferMemoryBarrierCount_),
+        pBufferMemoryBarriers(pBufferMemoryBarriers_),
+        imageMemoryBarrierCount(imageMemoryBarrierCount_),
+        pImageMemoryBarriers(pImageMemoryBarriers_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  DependencyInfoKHR(DependencyInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DependencyInfoKHR(VkDependencyInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : DependencyInfoKHR(*reinterpret_cast<DependencyInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DependencyInfoKHR(
+      VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR> const &memoryBarriers_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR> const
+          &bufferMemoryBarriers_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR> const
+          &imageMemoryBarriers_ = {})
+      : dependencyFlags(dependencyFlags_),
+        memoryBarrierCount(static_cast<uint32_t>(memoryBarriers_.size())),
+        pMemoryBarriers(memoryBarriers_.data()),
+        bufferMemoryBarrierCount(
+            static_cast<uint32_t>(bufferMemoryBarriers_.size())),
+        pBufferMemoryBarriers(bufferMemoryBarriers_.data()),
+        imageMemoryBarrierCount(
+            static_cast<uint32_t>(imageMemoryBarriers_.size())),
+        pImageMemoryBarriers(imageMemoryBarriers_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DependencyInfoKHR &
+  operator=(DependencyInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DependencyInfoKHR &
+  operator=(VkDependencyInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DependencyInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  DependencyInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DependencyInfoKHR &
+  setDependencyFlags(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_)
+      VULKAN_HPP_NOEXCEPT {
+    dependencyFlags = dependencyFlags_;
+    return *this;
+  }
+
+  DependencyInfoKHR &
+  setMemoryBarrierCount(uint32_t memoryBarrierCount_) VULKAN_HPP_NOEXCEPT {
+    memoryBarrierCount = memoryBarrierCount_;
+    return *this;
+  }
+
+  DependencyInfoKHR &setPMemoryBarriers(
+      const VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR *pMemoryBarriers_)
+      VULKAN_HPP_NOEXCEPT {
+    pMemoryBarriers = pMemoryBarriers_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DependencyInfoKHR &setMemoryBarriers(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR> const &memoryBarriers_)
+      VULKAN_HPP_NOEXCEPT {
+    memoryBarrierCount = static_cast<uint32_t>(memoryBarriers_.size());
+    pMemoryBarriers = memoryBarriers_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  DependencyInfoKHR &setBufferMemoryBarrierCount(
+      uint32_t bufferMemoryBarrierCount_) VULKAN_HPP_NOEXCEPT {
+    bufferMemoryBarrierCount = bufferMemoryBarrierCount_;
+    return *this;
+  }
+
+  DependencyInfoKHR &
+  setPBufferMemoryBarriers(const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR
+                               *pBufferMemoryBarriers_) VULKAN_HPP_NOEXCEPT {
+    pBufferMemoryBarriers = pBufferMemoryBarriers_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DependencyInfoKHR &setBufferMemoryBarriers(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR> const
+          &bufferMemoryBarriers_) VULKAN_HPP_NOEXCEPT {
+    bufferMemoryBarrierCount =
+        static_cast<uint32_t>(bufferMemoryBarriers_.size());
+    pBufferMemoryBarriers = bufferMemoryBarriers_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  DependencyInfoKHR &setImageMemoryBarrierCount(
+      uint32_t imageMemoryBarrierCount_) VULKAN_HPP_NOEXCEPT {
+    imageMemoryBarrierCount = imageMemoryBarrierCount_;
+    return *this;
+  }
+
+  DependencyInfoKHR &setPImageMemoryBarriers(
+      const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR *pImageMemoryBarriers_)
+      VULKAN_HPP_NOEXCEPT {
+    pImageMemoryBarriers = pImageMemoryBarriers_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DependencyInfoKHR &setImageMemoryBarriers(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR> const
+          &imageMemoryBarriers_) VULKAN_HPP_NOEXCEPT {
+    imageMemoryBarrierCount =
+        static_cast<uint32_t>(imageMemoryBarriers_.size());
+    pImageMemoryBarriers = imageMemoryBarriers_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkDependencyInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDependencyInfoKHR *>(this);
+  }
+
+  operator VkDependencyInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDependencyInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DependencyInfoKHR const &) const = default;
+#else
+  bool operator==(DependencyInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (dependencyFlags == rhs.dependencyFlags) &&
+           (memoryBarrierCount == rhs.memoryBarrierCount) &&
+           (pMemoryBarriers == rhs.pMemoryBarriers) &&
+           (bufferMemoryBarrierCount == rhs.bufferMemoryBarrierCount) &&
+           (pBufferMemoryBarriers == rhs.pBufferMemoryBarriers) &&
+           (imageMemoryBarrierCount == rhs.imageMemoryBarrierCount) &&
+           (pImageMemoryBarriers == rhs.pImageMemoryBarriers);
+  }
+
+  bool operator!=(DependencyInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDependencyInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags = {};
+  uint32_t memoryBarrierCount = {};
+  const VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR *pMemoryBarriers = {};
+  uint32_t bufferMemoryBarrierCount = {};
+  const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR *pBufferMemoryBarriers =
+      {};
+  uint32_t imageMemoryBarrierCount = {};
+  const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR *pImageMemoryBarriers = {};
+};
+static_assert(sizeof(DependencyInfoKHR) == sizeof(VkDependencyInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DependencyInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eDependencyInfoKHR> {
+  using Type = DependencyInfoKHR;
+};
+
+class Sampler {
+public:
+  using CType = VkSampler;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSampler;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSampler;
+
+public:
+  VULKAN_HPP_CONSTEXPR Sampler() = default;
+  VULKAN_HPP_CONSTEXPR Sampler(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Sampler(VkSampler sampler) VULKAN_HPP_NOEXCEPT
+      : m_sampler(sampler) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Sampler &operator=(VkSampler sampler) VULKAN_HPP_NOEXCEPT {
+    m_sampler = sampler;
+    return *this;
+  }
+#endif
+
+  Sampler &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_sampler = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Sampler const &) const = default;
+#else
+  bool operator==(Sampler const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_sampler == rhs.m_sampler;
+  }
+
+  bool operator!=(Sampler const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_sampler != rhs.m_sampler;
+  }
+
+  bool operator<(Sampler const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_sampler < rhs.m_sampler;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSampler() const VULKAN_HPP_NOEXCEPT {
+    return m_sampler;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_sampler != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_sampler == VK_NULL_HANDLE;
+  }
+
+private:
+  VkSampler m_sampler = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Sampler) == sizeof(VkSampler),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eSampler> {
+  using type = VULKAN_HPP_NAMESPACE::Sampler;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eSampler> {
+  using Type = VULKAN_HPP_NAMESPACE::Sampler;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSampler> {
+  using Type = VULKAN_HPP_NAMESPACE::Sampler;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Sampler> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct DescriptorImageInfo {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorImageInfo(
+      VULKAN_HPP_NAMESPACE::Sampler sampler_ = {},
+      VULKAN_HPP_NAMESPACE::ImageView imageView_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
+      : sampler(sampler_),
+        imageView(imageView_),
+        imageLayout(imageLayout_) {}
+
+  VULKAN_HPP_CONSTEXPR DescriptorImageInfo(DescriptorImageInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorImageInfo(VkDescriptorImageInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DescriptorImageInfo(
+            *reinterpret_cast<DescriptorImageInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DescriptorImageInfo &
+  operator=(DescriptorImageInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorImageInfo &
+  operator=(VkDescriptorImageInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorImageInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  DescriptorImageInfo &
+  setSampler(VULKAN_HPP_NAMESPACE::Sampler sampler_) VULKAN_HPP_NOEXCEPT {
+    sampler = sampler_;
+    return *this;
+  }
+
+  DescriptorImageInfo &
+  setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT {
+    imageView = imageView_;
+    return *this;
+  }
+
+  DescriptorImageInfo &setImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_) VULKAN_HPP_NOEXCEPT {
+    imageLayout = imageLayout_;
+    return *this;
+  }
+
+  operator VkDescriptorImageInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorImageInfo *>(this);
+  }
+
+  operator VkDescriptorImageInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorImageInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorImageInfo const &) const = default;
+#else
+  bool operator==(DescriptorImageInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sampler == rhs.sampler) && (imageView == rhs.imageView) &&
+           (imageLayout == rhs.imageLayout);
+  }
+
+  bool operator!=(DescriptorImageInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Sampler sampler = {};
+  VULKAN_HPP_NAMESPACE::ImageView imageView = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout imageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+};
+static_assert(sizeof(DescriptorImageInfo) == sizeof(VkDescriptorImageInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorImageInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DescriptorBufferInfo {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorBufferInfo(
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize range_ = {}) VULKAN_HPP_NOEXCEPT
+      : buffer(buffer_),
+        offset(offset_),
+        range(range_) {}
+
+  VULKAN_HPP_CONSTEXPR DescriptorBufferInfo(DescriptorBufferInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorBufferInfo(VkDescriptorBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DescriptorBufferInfo(
+            *reinterpret_cast<DescriptorBufferInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DescriptorBufferInfo &
+  operator=(DescriptorBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorBufferInfo &
+  operator=(VkDescriptorBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorBufferInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  DescriptorBufferInfo &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  DescriptorBufferInfo &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  DescriptorBufferInfo &
+  setRange(VULKAN_HPP_NAMESPACE::DeviceSize range_) VULKAN_HPP_NOEXCEPT {
+    range = range_;
+    return *this;
+  }
+
+  operator VkDescriptorBufferInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorBufferInfo *>(this);
+  }
+
+  operator VkDescriptorBufferInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorBufferInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorBufferInfo const &) const = default;
+#else
+  bool operator==(DescriptorBufferInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (buffer == rhs.buffer) && (offset == rhs.offset) &&
+           (range == rhs.range);
+  }
+
+  bool operator!=(DescriptorBufferInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize range = {};
+};
+static_assert(sizeof(DescriptorBufferInfo) == sizeof(VkDescriptorBufferInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorBufferInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+class BufferView {
+public:
+  using CType = VkBufferView;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBufferView;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferView;
+
+public:
+  VULKAN_HPP_CONSTEXPR BufferView() = default;
+  VULKAN_HPP_CONSTEXPR BufferView(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  BufferView(VkBufferView bufferView) VULKAN_HPP_NOEXCEPT
+      : m_bufferView(bufferView) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  BufferView &operator=(VkBufferView bufferView) VULKAN_HPP_NOEXCEPT {
+    m_bufferView = bufferView;
+    return *this;
+  }
+#endif
+
+  BufferView &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_bufferView = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(BufferView const &) const = default;
+#else
+  bool operator==(BufferView const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_bufferView == rhs.m_bufferView;
+  }
+
+  bool operator!=(BufferView const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_bufferView != rhs.m_bufferView;
+  }
+
+  bool operator<(BufferView const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_bufferView < rhs.m_bufferView;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkBufferView() const VULKAN_HPP_NOEXCEPT {
+    return m_bufferView;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_bufferView != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_bufferView == VK_NULL_HANDLE;
+  }
+
+private:
+  VkBufferView m_bufferView = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::BufferView) == sizeof(VkBufferView),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eBufferView> {
+  using type = VULKAN_HPP_NAMESPACE::BufferView;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eBufferView> {
+  using Type = VULKAN_HPP_NAMESPACE::BufferView;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferView> {
+  using Type = VULKAN_HPP_NAMESPACE::BufferView;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::BufferView> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct WriteDescriptorSet {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eWriteDescriptorSet;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSet(
+      VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_ = {},
+      uint32_t dstBinding_ = {}, uint32_t dstArrayElement_ = {},
+      uint32_t descriptorCount_ = {},
+      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ =
+          VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
+      const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pImageInfo_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo *pBufferInfo_ = {},
+      const VULKAN_HPP_NAMESPACE::BufferView *pTexelBufferView_ = {})
+      VULKAN_HPP_NOEXCEPT : dstSet(dstSet_),
+                            dstBinding(dstBinding_),
+                            dstArrayElement(dstArrayElement_),
+                            descriptorCount(descriptorCount_),
+                            descriptorType(descriptorType_),
+                            pImageInfo(pImageInfo_),
+                            pBufferInfo(pBufferInfo_),
+                            pTexelBufferView(pTexelBufferView_) {}
+
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSet(WriteDescriptorSet const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  WriteDescriptorSet(VkWriteDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT
+      : WriteDescriptorSet(
+            *reinterpret_cast<WriteDescriptorSet const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSet(
+      VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_, uint32_t dstBinding_,
+      uint32_t dstArrayElement_,
+      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorImageInfo> const &imageInfo_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo> const &bufferInfo_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::BufferView> const &texelBufferView_ = {})
+      : dstSet(dstSet_), dstBinding(dstBinding_),
+        dstArrayElement(dstArrayElement_),
+        descriptorCount(static_cast<uint32_t>(
+            !imageInfo_.empty()    ? imageInfo_.size()
+            : !bufferInfo_.empty() ? bufferInfo_.size()
+                                   : texelBufferView_.size())),
+        descriptorType(descriptorType_), pImageInfo(imageInfo_.data()),
+        pBufferInfo(bufferInfo_.data()),
+        pTexelBufferView(texelBufferView_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT((!imageInfo_.empty() + !bufferInfo_.empty() +
+                       !texelBufferView_.empty()) == 1);
+#else
+    if ((!imageInfo_.empty() + !bufferInfo_.empty() +
+         !texelBufferView_.empty()) != 1) {
+      throw LogicError(
+          VULKAN_HPP_NAMESPACE_STRING
+          "::WriteDescriptorSet::WriteDescriptorSet: ( !imageInfo_.empty() + "
+          "!bufferInfo_.empty() + !texelBufferView_.empty() ) != 1");
     }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    D3D12FenceSubmitInfoKHR(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ = {} )
-      : waitSemaphoreValuesCount( static_cast<uint32_t>( waitSemaphoreValues_.size() ) )
-      , pWaitSemaphoreValues( waitSemaphoreValues_.data() )
-      , signalSemaphoreValuesCount( static_cast<uint32_t>( signalSemaphoreValues_.size() ) )
-      , pSignalSemaphoreValues( signalSemaphoreValues_.data() )
-    {}
-#    endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#  endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet &
+  operator=(WriteDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    D3D12FenceSubmitInfoKHR & operator=( VkD3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR const *>( &rhs );
-      return *this;
-    }
+  WriteDescriptorSet &
+  operator=(VkWriteDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSet const *>(
+        &rhs);
+    return *this;
+  }
 
-    D3D12FenceSubmitInfoKHR & operator=( D3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      waitSemaphoreValuesCount   = rhs.waitSemaphoreValuesCount;
-      pWaitSemaphoreValues       = rhs.pWaitSemaphoreValues;
-      signalSemaphoreValuesCount = rhs.signalSemaphoreValuesCount;
-      pSignalSemaphoreValues     = rhs.pSignalSemaphoreValues;
+  WriteDescriptorSet &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-      return *this;
-    }
+  WriteDescriptorSet &
+  setDstSet(VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_) VULKAN_HPP_NOEXCEPT {
+    dstSet = dstSet_;
+    return *this;
+  }
 
-    D3D12FenceSubmitInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  WriteDescriptorSet &setDstBinding(uint32_t dstBinding_) VULKAN_HPP_NOEXCEPT {
+    dstBinding = dstBinding_;
+    return *this;
+  }
 
-    D3D12FenceSubmitInfoKHR & setWaitSemaphoreValuesCount( uint32_t waitSemaphoreValuesCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreValuesCount = waitSemaphoreValuesCount_;
-      return *this;
-    }
+  WriteDescriptorSet &
+  setDstArrayElement(uint32_t dstArrayElement_) VULKAN_HPP_NOEXCEPT {
+    dstArrayElement = dstArrayElement_;
+    return *this;
+  }
 
-    D3D12FenceSubmitInfoKHR & setPWaitSemaphoreValues( const uint64_t * pWaitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pWaitSemaphoreValues = pWaitSemaphoreValues_;
-      return *this;
-    }
+  WriteDescriptorSet &
+  setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorCount = descriptorCount_;
+    return *this;
+  }
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    D3D12FenceSubmitInfoKHR & setWaitSemaphoreValues(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreValuesCount = static_cast<uint32_t>( waitSemaphoreValues_.size() );
-      pWaitSemaphoreValues     = waitSemaphoreValues_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSet &
+  setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorType = descriptorType_;
+    return *this;
+  }
 
-    D3D12FenceSubmitInfoKHR & setSignalSemaphoreValuesCount( uint32_t signalSemaphoreValuesCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreValuesCount = signalSemaphoreValuesCount_;
-      return *this;
-    }
+  WriteDescriptorSet &
+  setPImageInfo(const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pImageInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    pImageInfo = pImageInfo_;
+    return *this;
+  }
 
-    D3D12FenceSubmitInfoKHR & setPSignalSemaphoreValues( const uint64_t * pSignalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSignalSemaphoreValues = pSignalSemaphoreValues_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSet &setImageInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorImageInfo> const &imageInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorCount = static_cast<uint32_t>(imageInfo_.size());
+    pImageInfo = imageInfo_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    D3D12FenceSubmitInfoKHR & setSignalSemaphoreValues(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreValuesCount = static_cast<uint32_t>( signalSemaphoreValues_.size() );
-      pSignalSemaphoreValues     = signalSemaphoreValues_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSet &
+  setPBufferInfo(const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo *pBufferInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    pBufferInfo = pBufferInfo_;
+    return *this;
+  }
 
-    operator VkD3D12FenceSubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSet &setBufferInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo> const &bufferInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorCount = static_cast<uint32_t>(bufferInfo_.size());
+    pBufferInfo = bufferInfo_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkD3D12FenceSubmitInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkD3D12FenceSubmitInfoKHR *>( this );
-    }
+  WriteDescriptorSet &
+  setPTexelBufferView(const VULKAN_HPP_NAMESPACE::BufferView *pTexelBufferView_)
+      VULKAN_HPP_NOEXCEPT {
+    pTexelBufferView = pTexelBufferView_;
+    return *this;
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( D3D12FenceSubmitInfoKHR const & ) const = default;
-#  else
-    bool operator==( D3D12FenceSubmitInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( waitSemaphoreValuesCount == rhs.waitSemaphoreValuesCount ) &&
-             ( pWaitSemaphoreValues == rhs.pWaitSemaphoreValues ) &&
-             ( signalSemaphoreValuesCount == rhs.signalSemaphoreValuesCount ) &&
-             ( pSignalSemaphoreValues == rhs.pSignalSemaphoreValues );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSet &setTexelBufferView(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::BufferView> const &texelBufferView_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorCount = static_cast<uint32_t>(texelBufferView_.size());
+    pTexelBufferView = texelBufferView_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    bool operator!=( D3D12FenceSubmitInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  operator VkWriteDescriptorSet const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkWriteDescriptorSet *>(this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                      = StructureType::eD3D12FenceSubmitInfoKHR;
-    const void *                              pNext                      = {};
-    uint32_t                                  waitSemaphoreValuesCount   = {};
-    const uint64_t *                          pWaitSemaphoreValues       = {};
-    uint32_t                                  signalSemaphoreValuesCount = {};
-    const uint64_t *                          pSignalSemaphoreValues     = {};
-  };
-  static_assert( sizeof( D3D12FenceSubmitInfoKHR ) == sizeof( VkD3D12FenceSubmitInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<D3D12FenceSubmitInfoKHR>::value, "struct wrapper is not a standard layout!" );
+  operator VkWriteDescriptorSet &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWriteDescriptorSet *>(this);
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eD3D12FenceSubmitInfoKHR>
-  {
-    using Type = D3D12FenceSubmitInfoKHR;
-  };
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(WriteDescriptorSet const &) const = default;
+#else
+  bool operator==(WriteDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (dstSet == rhs.dstSet) && (dstBinding == rhs.dstBinding) &&
+           (dstArrayElement == rhs.dstArrayElement) &&
+           (descriptorCount == rhs.descriptorCount) &&
+           (descriptorType == rhs.descriptorType) &&
+           (pImageInfo == rhs.pImageInfo) && (pBufferInfo == rhs.pBufferInfo) &&
+           (pTexelBufferView == rhs.pTexelBufferView);
+  }
+
+  bool operator!=(WriteDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWriteDescriptorSet;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DescriptorSet dstSet = {};
+  uint32_t dstBinding = {};
+  uint32_t dstArrayElement = {};
+  uint32_t descriptorCount = {};
+  VULKAN_HPP_NAMESPACE::DescriptorType descriptorType =
+      VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
+  const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pImageInfo = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo *pBufferInfo = {};
+  const VULKAN_HPP_NAMESPACE::BufferView *pTexelBufferView = {};
+};
+static_assert(sizeof(WriteDescriptorSet) == sizeof(VkWriteDescriptorSet),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<WriteDescriptorSet>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eWriteDescriptorSet> {
+  using Type = WriteDescriptorSet;
+};
+
+class DescriptorUpdateTemplate {
+public:
+  using CType = VkDescriptorUpdateTemplate;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::
+              eDescriptorUpdateTemplate;
+
+public:
+  VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate() = default;
+  VULKAN_HPP_CONSTEXPR
+  DescriptorUpdateTemplate(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorUpdateTemplate(
+      VkDescriptorUpdateTemplate descriptorUpdateTemplate) VULKAN_HPP_NOEXCEPT
+      : m_descriptorUpdateTemplate(descriptorUpdateTemplate) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DescriptorUpdateTemplate &operator=(
+      VkDescriptorUpdateTemplate descriptorUpdateTemplate) VULKAN_HPP_NOEXCEPT {
+    m_descriptorUpdateTemplate = descriptorUpdateTemplate;
+    return *this;
+  }
+#endif
+
+  DescriptorUpdateTemplate &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_descriptorUpdateTemplate = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorUpdateTemplate const &) const = default;
+#else
+  bool
+  operator==(DescriptorUpdateTemplate const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorUpdateTemplate == rhs.m_descriptorUpdateTemplate;
+  }
+
+  bool
+  operator!=(DescriptorUpdateTemplate const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorUpdateTemplate != rhs.m_descriptorUpdateTemplate;
+  }
+
+  bool
+  operator<(DescriptorUpdateTemplate const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorUpdateTemplate < rhs.m_descriptorUpdateTemplate;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDescriptorUpdateTemplate() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorUpdateTemplate;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorUpdateTemplate != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorUpdateTemplate == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDescriptorUpdateTemplate m_descriptorUpdateTemplate = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate) ==
+                  sizeof(VkDescriptorUpdateTemplate),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDescriptorUpdateTemplate> {
+  using type = VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorUpdateTemplate> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+using DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate;
+
+class Event {
+public:
+  using CType = VkEvent;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eEvent;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eEvent;
+
+public:
+  VULKAN_HPP_CONSTEXPR Event() = default;
+  VULKAN_HPP_CONSTEXPR Event(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Event(VkEvent event) VULKAN_HPP_NOEXCEPT
+      : m_event(event) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Event &operator=(VkEvent event) VULKAN_HPP_NOEXCEPT {
+    m_event = event;
+    return *this;
+  }
+#endif
+
+  Event &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_event = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Event const &) const = default;
+#else
+  bool operator==(Event const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_event == rhs.m_event;
+  }
+
+  bool operator!=(Event const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_event != rhs.m_event;
+  }
+
+  bool operator<(Event const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_event < rhs.m_event;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkEvent() const VULKAN_HPP_NOEXCEPT {
+    return m_event;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_event != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_event == VK_NULL_HANDLE;
+  }
+
+private:
+  VkEvent m_event = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Event) == sizeof(VkEvent),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eEvent> {
+  using type = VULKAN_HPP_NAMESPACE::Event;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eEvent> {
+  using Type = VULKAN_HPP_NAMESPACE::Event;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eEvent> {
+  using Type = VULKAN_HPP_NAMESPACE::Event;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Event> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct ImageResolve {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageResolve(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D extent_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcSubresource(srcSubresource_),
+        srcOffset(srcOffset_),
+        dstSubresource(dstSubresource_),
+        dstOffset(dstOffset_),
+        extent(extent_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ImageResolve(ImageResolve const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageResolve(VkImageResolve const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageResolve(*reinterpret_cast<ImageResolve const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageResolve &
+  operator=(ImageResolve const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageResolve &operator=(VkImageResolve const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageResolve const *>(&rhs);
+    return *this;
+  }
+
+  ImageResolve &setSrcSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    srcSubresource = srcSubresource_;
+    return *this;
+  }
+
+  ImageResolve &setSrcOffset(VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    srcOffset = srcOffset_;
+    return *this;
+  }
+
+  ImageResolve &setDstSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    dstSubresource = dstSubresource_;
+    return *this;
+  }
+
+  ImageResolve &setDstOffset(VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_)
+      VULKAN_HPP_NOEXCEPT {
+    dstOffset = dstOffset_;
+    return *this;
+  }
+
+  ImageResolve &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
+
+  operator VkImageResolve const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageResolve *>(this);
+  }
+
+  operator VkImageResolve &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageResolve *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageResolve const &) const = default;
+#else
+  bool operator==(ImageResolve const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (srcSubresource == rhs.srcSubresource) &&
+           (srcOffset == rhs.srcOffset) &&
+           (dstSubresource == rhs.dstSubresource) &&
+           (dstOffset == rhs.dstOffset) && (extent == rhs.extent);
+  }
+
+  bool operator!=(ImageResolve const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D srcOffset = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D dstOffset = {};
+  VULKAN_HPP_NAMESPACE::Extent3D extent = {};
+};
+static_assert(sizeof(ImageResolve) == sizeof(VkImageResolve),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageResolve>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ImageResolve2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageResolve2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageResolve2KHR(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
+      VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D extent_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcSubresource(srcSubresource_),
+        srcOffset(srcOffset_),
+        dstSubresource(dstSubresource_),
+        dstOffset(dstOffset_),
+        extent(extent_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ImageResolve2KHR(ImageResolve2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageResolve2KHR(VkImageResolve2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageResolve2KHR(*reinterpret_cast<ImageResolve2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageResolve2KHR &
+  operator=(ImageResolve2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageResolve2KHR &
+  operator=(VkImageResolve2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageResolve2KHR const *>(&rhs);
+    return *this;
+  }
+
+  ImageResolve2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageResolve2KHR &setSrcSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    srcSubresource = srcSubresource_;
+    return *this;
+  }
+
+  ImageResolve2KHR &setSrcOffset(
+      VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_) VULKAN_HPP_NOEXCEPT {
+    srcOffset = srcOffset_;
+    return *this;
+  }
+
+  ImageResolve2KHR &setDstSubresource(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_)
+      VULKAN_HPP_NOEXCEPT {
+    dstSubresource = dstSubresource_;
+    return *this;
+  }
+
+  ImageResolve2KHR &setDstOffset(
+      VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_) VULKAN_HPP_NOEXCEPT {
+    dstOffset = dstOffset_;
+    return *this;
+  }
+
+  ImageResolve2KHR &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
+
+  operator VkImageResolve2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageResolve2KHR *>(this);
+  }
+
+  operator VkImageResolve2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageResolve2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageResolve2KHR const &) const = default;
+#else
+  bool operator==(ImageResolve2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcSubresource == rhs.srcSubresource) &&
+           (srcOffset == rhs.srcOffset) &&
+           (dstSubresource == rhs.dstSubresource) &&
+           (dstOffset == rhs.dstOffset) && (extent == rhs.extent);
+  }
+
+  bool operator!=(ImageResolve2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageResolve2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D srcOffset = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
+  VULKAN_HPP_NAMESPACE::Offset3D dstOffset = {};
+  VULKAN_HPP_NAMESPACE::Extent3D extent = {};
+};
+static_assert(sizeof(ImageResolve2KHR) == sizeof(VkImageResolve2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageResolve2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eImageResolve2KHR> {
+  using Type = ImageResolve2KHR;
+};
+
+struct ResolveImageInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eResolveImageInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ResolveImageInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Image srcImage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
+      uint32_t regionCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ImageResolve2KHR *pRegions_ = {})
+      VULKAN_HPP_NOEXCEPT : srcImage(srcImage_),
+                            srcImageLayout(srcImageLayout_),
+                            dstImage(dstImage_),
+                            dstImageLayout(dstImageLayout_),
+                            regionCount(regionCount_),
+                            pRegions(pRegions_) {}
+
+  VULKAN_HPP_CONSTEXPR ResolveImageInfo2KHR(ResolveImageInfo2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ResolveImageInfo2KHR(VkResolveImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ResolveImageInfo2KHR(
+            *reinterpret_cast<ResolveImageInfo2KHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ResolveImageInfo2KHR(
+      VULKAN_HPP_NAMESPACE::Image srcImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
+      VULKAN_HPP_NAMESPACE::Image dstImage_,
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageResolve2KHR> const &regions_)
+      : srcImage(srcImage_), srcImageLayout(srcImageLayout_),
+        dstImage(dstImage_), dstImageLayout(dstImageLayout_),
+        regionCount(static_cast<uint32_t>(regions_.size())),
+        pRegions(regions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2KHR &
+  operator=(ResolveImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ResolveImageInfo2KHR &
+  operator=(VkResolveImageInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ResolveImageInfo2KHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  ResolveImageInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ResolveImageInfo2KHR &
+  setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT {
+    srcImage = srcImage_;
+    return *this;
+  }
+
+  ResolveImageInfo2KHR &setSrcImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT {
+    srcImageLayout = srcImageLayout_;
+    return *this;
+  }
+
+  ResolveImageInfo2KHR &
+  setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT {
+    dstImage = dstImage_;
+    return *this;
+  }
+
+  ResolveImageInfo2KHR &setDstImageLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT {
+    dstImageLayout = dstImageLayout_;
+    return *this;
+  }
+
+  ResolveImageInfo2KHR &
+  setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT {
+    regionCount = regionCount_;
+    return *this;
+  }
+
+  ResolveImageInfo2KHR &
+  setPRegions(const VULKAN_HPP_NAMESPACE::ImageResolve2KHR *pRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pRegions = pRegions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ResolveImageInfo2KHR &
+  setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::ImageResolve2KHR> const &regions_)
+      VULKAN_HPP_NOEXCEPT {
+    regionCount = static_cast<uint32_t>(regions_.size());
+    pRegions = regions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkResolveImageInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkResolveImageInfo2KHR *>(this);
+  }
+
+  operator VkResolveImageInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkResolveImageInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ResolveImageInfo2KHR const &) const = default;
+#else
+  bool operator==(ResolveImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcImage == rhs.srcImage) &&
+           (srcImageLayout == rhs.srcImageLayout) &&
+           (dstImage == rhs.dstImage) &&
+           (dstImageLayout == rhs.dstImageLayout) &&
+           (regionCount == rhs.regionCount) && (pRegions == rhs.pRegions);
+  }
+
+  bool operator!=(ResolveImageInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eResolveImageInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image srcImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  VULKAN_HPP_NAMESPACE::Image dstImage = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+  uint32_t regionCount = {};
+  const VULKAN_HPP_NAMESPACE::ImageResolve2KHR *pRegions = {};
+};
+static_assert(sizeof(ResolveImageInfo2KHR) == sizeof(VkResolveImageInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ResolveImageInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eResolveImageInfo2KHR> {
+  using Type = ResolveImageInfo2KHR;
+};
+
+struct PerformanceMarkerInfoINTEL {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePerformanceMarkerInfoINTEL;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  PerformanceMarkerInfoINTEL(uint64_t marker_ = {}) VULKAN_HPP_NOEXCEPT
+      : marker(marker_) {}
+
+  VULKAN_HPP_CONSTEXPR PerformanceMarkerInfoINTEL(
+      PerformanceMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceMarkerInfoINTEL(VkPerformanceMarkerInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PerformanceMarkerInfoINTEL(
+            *reinterpret_cast<PerformanceMarkerInfoINTEL const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceMarkerInfoINTEL &operator=(
+      PerformanceMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceMarkerInfoINTEL &
+  operator=(VkPerformanceMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL const *>(&rhs);
+    return *this;
+  }
+
+  PerformanceMarkerInfoINTEL &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PerformanceMarkerInfoINTEL &setMarker(uint64_t marker_) VULKAN_HPP_NOEXCEPT {
+    marker = marker_;
+    return *this;
+  }
+
+  operator VkPerformanceMarkerInfoINTEL const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>(this);
+  }
+
+  operator VkPerformanceMarkerInfoINTEL &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceMarkerInfoINTEL *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PerformanceMarkerInfoINTEL const &) const = default;
+#else
+  bool
+  operator==(PerformanceMarkerInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (marker == rhs.marker);
+  }
+
+  bool
+  operator!=(PerformanceMarkerInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePerformanceMarkerInfoINTEL;
+  const void *pNext = {};
+  uint64_t marker = {};
+};
+static_assert(sizeof(PerformanceMarkerInfoINTEL) ==
+                  sizeof(VkPerformanceMarkerInfoINTEL),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PerformanceMarkerInfoINTEL>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePerformanceMarkerInfoINTEL> {
+  using Type = PerformanceMarkerInfoINTEL;
+};
+
+struct PerformanceOverrideInfoINTEL {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePerformanceOverrideInfoINTEL;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PerformanceOverrideInfoINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type_ =
+          VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL::eNullHardware,
+      VULKAN_HPP_NAMESPACE::Bool32 enable_ = {},
+      uint64_t parameter_ = {}) VULKAN_HPP_NOEXCEPT : type(type_),
+                                                      enable(enable_),
+                                                      parameter(parameter_) {}
+
+  VULKAN_HPP_CONSTEXPR PerformanceOverrideInfoINTEL(
+      PerformanceOverrideInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceOverrideInfoINTEL(VkPerformanceOverrideInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PerformanceOverrideInfoINTEL(
+            *reinterpret_cast<PerformanceOverrideInfoINTEL const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceOverrideInfoINTEL &operator=(
+      PerformanceOverrideInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceOverrideInfoINTEL &
+  operator=(VkPerformanceOverrideInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL const *>(&rhs);
+    return *this;
+  }
+
+  PerformanceOverrideInfoINTEL &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PerformanceOverrideInfoINTEL &
+  setType(VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
+
+  PerformanceOverrideInfoINTEL &
+  setEnable(VULKAN_HPP_NAMESPACE::Bool32 enable_) VULKAN_HPP_NOEXCEPT {
+    enable = enable_;
+    return *this;
+  }
+
+  PerformanceOverrideInfoINTEL &
+  setParameter(uint64_t parameter_) VULKAN_HPP_NOEXCEPT {
+    parameter = parameter_;
+    return *this;
+  }
+
+  operator VkPerformanceOverrideInfoINTEL const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>(this);
+  }
+
+  operator VkPerformanceOverrideInfoINTEL &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceOverrideInfoINTEL *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PerformanceOverrideInfoINTEL const &) const = default;
+#else
+  bool operator==(PerformanceOverrideInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (type == rhs.type) &&
+           (enable == rhs.enable) && (parameter == rhs.parameter);
+  }
+
+  bool operator!=(PerformanceOverrideInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePerformanceOverrideInfoINTEL;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type =
+      VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL::eNullHardware;
+  VULKAN_HPP_NAMESPACE::Bool32 enable = {};
+  uint64_t parameter = {};
+};
+static_assert(sizeof(PerformanceOverrideInfoINTEL) ==
+                  sizeof(VkPerformanceOverrideInfoINTEL),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PerformanceOverrideInfoINTEL>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePerformanceOverrideInfoINTEL> {
+  using Type = PerformanceOverrideInfoINTEL;
+};
+
+struct PerformanceStreamMarkerInfoINTEL {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePerformanceStreamMarkerInfoINTEL;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  PerformanceStreamMarkerInfoINTEL(uint32_t marker_ = {}) VULKAN_HPP_NOEXCEPT
+      : marker(marker_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  PerformanceStreamMarkerInfoINTEL(PerformanceStreamMarkerInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceStreamMarkerInfoINTEL(
+      VkPerformanceStreamMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
+      : PerformanceStreamMarkerInfoINTEL(
+            *reinterpret_cast<PerformanceStreamMarkerInfoINTEL const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceStreamMarkerInfoINTEL &
+  operator=(PerformanceStreamMarkerInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceStreamMarkerInfoINTEL &
+  operator=(VkPerformanceStreamMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL const *>(&rhs);
+    return *this;
+  }
+
+  PerformanceStreamMarkerInfoINTEL &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PerformanceStreamMarkerInfoINTEL &
+  setMarker(uint32_t marker_) VULKAN_HPP_NOEXCEPT {
+    marker = marker_;
+    return *this;
+  }
+
+  operator VkPerformanceStreamMarkerInfoINTEL const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>(this);
+  }
+
+  operator VkPerformanceStreamMarkerInfoINTEL &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceStreamMarkerInfoINTEL *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PerformanceStreamMarkerInfoINTEL const &) const = default;
+#else
+  bool operator==(PerformanceStreamMarkerInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (marker == rhs.marker);
+  }
+
+  bool operator!=(PerformanceStreamMarkerInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePerformanceStreamMarkerInfoINTEL;
+  const void *pNext = {};
+  uint32_t marker = {};
+};
+static_assert(sizeof(PerformanceStreamMarkerInfoINTEL) ==
+                  sizeof(VkPerformanceStreamMarkerInfoINTEL),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PerformanceStreamMarkerInfoINTEL>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePerformanceStreamMarkerInfoINTEL> {
+  using Type = PerformanceStreamMarkerInfoINTEL;
+};
+
+struct Viewport {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Viewport(float x_ = {}, float y_ = {}, float width_ = {},
+                                float height_ = {}, float minDepth_ = {},
+                                float maxDepth_ = {}) VULKAN_HPP_NOEXCEPT
+      : x(x_),
+        y(y_),
+        width(width_),
+        height(height_),
+        minDepth(minDepth_),
+        maxDepth(maxDepth_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  Viewport(Viewport const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  Viewport(VkViewport const &rhs) VULKAN_HPP_NOEXCEPT
+      : Viewport(*reinterpret_cast<Viewport const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 Viewport &
+  operator=(Viewport const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  Viewport &operator=(VkViewport const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Viewport const *>(&rhs);
+    return *this;
+  }
+
+  Viewport &setX(float x_) VULKAN_HPP_NOEXCEPT {
+    x = x_;
+    return *this;
+  }
+
+  Viewport &setY(float y_) VULKAN_HPP_NOEXCEPT {
+    y = y_;
+    return *this;
+  }
+
+  Viewport &setWidth(float width_) VULKAN_HPP_NOEXCEPT {
+    width = width_;
+    return *this;
+  }
+
+  Viewport &setHeight(float height_) VULKAN_HPP_NOEXCEPT {
+    height = height_;
+    return *this;
+  }
+
+  Viewport &setMinDepth(float minDepth_) VULKAN_HPP_NOEXCEPT {
+    minDepth = minDepth_;
+    return *this;
+  }
+
+  Viewport &setMaxDepth(float maxDepth_) VULKAN_HPP_NOEXCEPT {
+    maxDepth = maxDepth_;
+    return *this;
+  }
+
+  operator VkViewport const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkViewport *>(this);
+  }
+
+  operator VkViewport &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkViewport *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Viewport const &) const = default;
+#else
+  bool operator==(Viewport const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (x == rhs.x) && (y == rhs.y) && (width == rhs.width) &&
+           (height == rhs.height) && (minDepth == rhs.minDepth) &&
+           (maxDepth == rhs.maxDepth);
+  }
+
+  bool operator!=(Viewport const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  float x = {};
+  float y = {};
+  float width = {};
+  float height = {};
+  float minDepth = {};
+  float maxDepth = {};
+};
+static_assert(sizeof(Viewport) == sizeof(VkViewport),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<Viewport>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ShadingRatePaletteNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ShadingRatePaletteNV(uint32_t shadingRatePaletteEntryCount_ = {},
+                       const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV *
+                           pShadingRatePaletteEntries_ = {}) VULKAN_HPP_NOEXCEPT
+      : shadingRatePaletteEntryCount(shadingRatePaletteEntryCount_),
+        pShadingRatePaletteEntries(pShadingRatePaletteEntries_) {}
+
+  VULKAN_HPP_CONSTEXPR ShadingRatePaletteNV(ShadingRatePaletteNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ShadingRatePaletteNV(VkShadingRatePaletteNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : ShadingRatePaletteNV(
+            *reinterpret_cast<ShadingRatePaletteNV const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ShadingRatePaletteNV(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV> const
+          &shadingRatePaletteEntries_)
+      : shadingRatePaletteEntryCount(
+            static_cast<uint32_t>(shadingRatePaletteEntries_.size())),
+        pShadingRatePaletteEntries(shadingRatePaletteEntries_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ShadingRatePaletteNV &
+  operator=(ShadingRatePaletteNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ShadingRatePaletteNV &
+  operator=(VkShadingRatePaletteNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV const *>(
+            &rhs);
+    return *this;
+  }
+
+  ShadingRatePaletteNV &setShadingRatePaletteEntryCount(
+      uint32_t shadingRatePaletteEntryCount_) VULKAN_HPP_NOEXCEPT {
+    shadingRatePaletteEntryCount = shadingRatePaletteEntryCount_;
+    return *this;
+  }
+
+  ShadingRatePaletteNV &setPShadingRatePaletteEntries(
+      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV
+          *pShadingRatePaletteEntries_) VULKAN_HPP_NOEXCEPT {
+    pShadingRatePaletteEntries = pShadingRatePaletteEntries_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ShadingRatePaletteNV &setShadingRatePaletteEntries(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV> const
+          &shadingRatePaletteEntries_) VULKAN_HPP_NOEXCEPT {
+    shadingRatePaletteEntryCount =
+        static_cast<uint32_t>(shadingRatePaletteEntries_.size());
+    pShadingRatePaletteEntries = shadingRatePaletteEntries_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkShadingRatePaletteNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkShadingRatePaletteNV *>(this);
+  }
+
+  operator VkShadingRatePaletteNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkShadingRatePaletteNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ShadingRatePaletteNV const &) const = default;
+#else
+  bool operator==(ShadingRatePaletteNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (shadingRatePaletteEntryCount == rhs.shadingRatePaletteEntryCount) &&
+           (pShadingRatePaletteEntries == rhs.pShadingRatePaletteEntries);
+  }
+
+  bool operator!=(ShadingRatePaletteNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t shadingRatePaletteEntryCount = {};
+  const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV
+      *pShadingRatePaletteEntries = {};
+};
+static_assert(sizeof(ShadingRatePaletteNV) == sizeof(VkShadingRatePaletteNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ShadingRatePaletteNV>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ViewportWScalingNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ViewportWScalingNV(float xcoeff_ = {}, float ycoeff_ = {}) VULKAN_HPP_NOEXCEPT
+      : xcoeff(xcoeff_),
+        ycoeff(ycoeff_) {}
+
+  VULKAN_HPP_CONSTEXPR ViewportWScalingNV(ViewportWScalingNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ViewportWScalingNV(VkViewportWScalingNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : ViewportWScalingNV(
+            *reinterpret_cast<ViewportWScalingNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ViewportWScalingNV &
+  operator=(ViewportWScalingNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ViewportWScalingNV &
+  operator=(VkViewportWScalingNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViewportWScalingNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  ViewportWScalingNV &setXcoeff(float xcoeff_) VULKAN_HPP_NOEXCEPT {
+    xcoeff = xcoeff_;
+    return *this;
+  }
+
+  ViewportWScalingNV &setYcoeff(float ycoeff_) VULKAN_HPP_NOEXCEPT {
+    ycoeff = ycoeff_;
+    return *this;
+  }
+
+  operator VkViewportWScalingNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkViewportWScalingNV *>(this);
+  }
+
+  operator VkViewportWScalingNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkViewportWScalingNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ViewportWScalingNV const &) const = default;
+#else
+  bool operator==(ViewportWScalingNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (xcoeff == rhs.xcoeff) && (ycoeff == rhs.ycoeff);
+  }
+
+  bool operator!=(ViewportWScalingNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  float xcoeff = {};
+  float ycoeff = {};
+};
+static_assert(sizeof(ViewportWScalingNV) == sizeof(VkViewportWScalingNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ViewportWScalingNV>::value,
+              "struct wrapper is not a standard layout!");
+
+struct StridedDeviceAddressRegionKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR StridedDeviceAddressRegionKHR(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize stride_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}) VULKAN_HPP_NOEXCEPT
+      : deviceAddress(deviceAddress_),
+        stride(stride_),
+        size(size_) {}
+
+  VULKAN_HPP_CONSTEXPR StridedDeviceAddressRegionKHR(
+      StridedDeviceAddressRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  StridedDeviceAddressRegionKHR(VkStridedDeviceAddressRegionKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : StridedDeviceAddressRegionKHR(
+            *reinterpret_cast<StridedDeviceAddressRegionKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRegionKHR &operator=(
+      StridedDeviceAddressRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  StridedDeviceAddressRegionKHR &
+  operator=(VkStridedDeviceAddressRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR const *>(&rhs);
+    return *this;
+  }
+
+  StridedDeviceAddressRegionKHR &setDeviceAddress(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT {
+    deviceAddress = deviceAddress_;
+    return *this;
+  }
+
+  StridedDeviceAddressRegionKHR &
+  setStride(VULKAN_HPP_NAMESPACE::DeviceSize stride_) VULKAN_HPP_NOEXCEPT {
+    stride = stride_;
+    return *this;
+  }
+
+  StridedDeviceAddressRegionKHR &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  operator VkStridedDeviceAddressRegionKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(this);
+  }
+
+  operator VkStridedDeviceAddressRegionKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkStridedDeviceAddressRegionKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(StridedDeviceAddressRegionKHR const &) const = default;
+#else
+  bool operator==(StridedDeviceAddressRegionKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (deviceAddress == rhs.deviceAddress) && (stride == rhs.stride) &&
+           (size == rhs.size);
+  }
+
+  bool operator!=(StridedDeviceAddressRegionKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize stride = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+};
+static_assert(sizeof(StridedDeviceAddressRegionKHR) ==
+                  sizeof(VkStridedDeviceAddressRegionKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<StridedDeviceAddressRegionKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+class CommandBuffer {
+public:
+  using CType = VkCommandBuffer;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer;
+
+public:
+  VULKAN_HPP_CONSTEXPR CommandBuffer() = default;
+  VULKAN_HPP_CONSTEXPR CommandBuffer(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  CommandBuffer(VkCommandBuffer commandBuffer) VULKAN_HPP_NOEXCEPT
+      : m_commandBuffer(commandBuffer) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  CommandBuffer &operator=(VkCommandBuffer commandBuffer) VULKAN_HPP_NOEXCEPT {
+    m_commandBuffer = commandBuffer;
+    return *this;
+  }
+#endif
+
+  CommandBuffer &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_commandBuffer = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandBuffer const &) const = default;
+#else
+  bool operator==(CommandBuffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_commandBuffer == rhs.m_commandBuffer;
+  }
+
+  bool operator!=(CommandBuffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_commandBuffer != rhs.m_commandBuffer;
+  }
+
+  bool operator<(CommandBuffer const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_commandBuffer < rhs.m_commandBuffer;
+  }
+#endif
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  begin(const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo *pBeginInfo,
+        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
+  begin(const CommandBufferBeginInfo &beginInfo,
+        Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void beginConditionalRenderingEXT(
+      const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT
+          *pConditionalRenderingBegin,
+      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 beginConditionalRenderingEXT(
+      const ConditionalRenderingBeginInfoEXT &conditionalRenderingBegin,
+      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 beginDebugUtilsLabelEXT(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+      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 beginDebugUtilsLabelEXT(
+      const DebugUtilsLabelEXT &labelInfo,
+      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 beginQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+                  VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void beginQueryIndexedEXT(
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+      VULKAN_HPP_NAMESPACE::QueryControlFlags flags, uint32_t index,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void beginRenderPass(
+      const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo *pRenderPassBegin,
+      VULKAN_HPP_NAMESPACE::SubpassContents contents,
+      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
+  beginRenderPass(const RenderPassBeginInfo &renderPassBegin,
+                  VULKAN_HPP_NAMESPACE::SubpassContents contents,
+                  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 beginRenderPass2(
+      const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo *pRenderPassBegin,
+      const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+      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
+  beginRenderPass2(const RenderPassBeginInfo &renderPassBegin,
+                   const SubpassBeginInfo &subpassBeginInfo,
+                   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 beginRenderPass2KHR(
+      const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo *pRenderPassBegin,
+      const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+      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 beginRenderPass2KHR(const RenderPassBeginInfo &renderPassBegin,
+                           const SubpassBeginInfo &subpassBeginInfo,
+                           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 beginTransformFeedbackEXT(
+      uint32_t firstCounterBuffer, uint32_t counterBufferCount,
+      const VULKAN_HPP_NAMESPACE::Buffer *pCounterBuffers,
+      const VULKAN_HPP_NAMESPACE::DeviceSize *pCounterBufferOffsets,
+      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 beginTransformFeedbackEXT(
+      uint32_t firstCounterBuffer,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const
+          &counterBufferOffsets VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  bindDescriptorSets(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+                     VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+                     uint32_t firstSet, uint32_t descriptorSetCount,
+                     const VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+                     uint32_t dynamicOffsetCount,
+                     const uint32_t *pDynamicOffsets,
+                     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
+  bindDescriptorSets(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+                     VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+                     uint32_t firstSet,
+                     ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const
+                         &descriptorSets,
+                     ArrayProxy<const uint32_t> const &dynamicOffsets,
+                     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
+  bindIndexBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                  VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                  VULKAN_HPP_NAMESPACE::IndexType indexType,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void bindPipeline(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+                    VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void bindPipelineShaderGroupNV(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t groupIndex,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void bindShadingRateImageNV(
+      VULKAN_HPP_NAMESPACE::ImageView imageView,
+      VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void bindTransformFeedbackBuffersEXT(
+      uint32_t firstBinding, uint32_t bindingCount,
+      const VULKAN_HPP_NAMESPACE::Buffer *pBuffers,
+      const VULKAN_HPP_NAMESPACE::DeviceSize *pOffsets,
+      const VULKAN_HPP_NAMESPACE::DeviceSize *pSizes,
+      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 bindTransformFeedbackBuffersEXT(
+      uint32_t firstBinding,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  bindVertexBuffers(uint32_t firstBinding, uint32_t bindingCount,
+                    const VULKAN_HPP_NAMESPACE::Buffer *pBuffers,
+                    const VULKAN_HPP_NAMESPACE::DeviceSize *pOffsets,
+                    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 bindVertexBuffers(
+      uint32_t firstBinding,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void bindVertexBuffers2EXT(uint32_t firstBinding, uint32_t bindingCount,
+                             const VULKAN_HPP_NAMESPACE::Buffer *pBuffers,
+                             const VULKAN_HPP_NAMESPACE::DeviceSize *pOffsets,
+                             const VULKAN_HPP_NAMESPACE::DeviceSize *pSizes,
+                             const VULKAN_HPP_NAMESPACE::DeviceSize *pStrides,
+                             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 bindVertexBuffers2EXT(
+      uint32_t firstBinding,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &strides
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+                 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+                 VULKAN_HPP_NAMESPACE::Image dstImage,
+                 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+                 uint32_t regionCount,
+                 const VULKAN_HPP_NAMESPACE::ImageBlit *pRegions,
+                 VULKAN_HPP_NAMESPACE::Filter filter,
+                 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
+  blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+            VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+            VULKAN_HPP_NAMESPACE::Image dstImage,
+            VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+            ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const &regions,
+            VULKAN_HPP_NAMESPACE::Filter filter,
+            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
+  blitImage2KHR(const VULKAN_HPP_NAMESPACE::BlitImageInfo2KHR *pBlitImageInfo,
+                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 blitImage2KHR(const BlitImageInfo2KHR &blitImageInfo,
+                     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 buildAccelerationStructureNV(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV *pInfo,
+      VULKAN_HPP_NAMESPACE::Buffer instanceData,
+      VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
+      VULKAN_HPP_NAMESPACE::Bool32 update,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
+      VULKAN_HPP_NAMESPACE::Buffer scratch,
+      VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,
+      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 buildAccelerationStructureNV(
+      const AccelerationStructureInfoNV &info,
+      VULKAN_HPP_NAMESPACE::Buffer instanceData,
+      VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
+      VULKAN_HPP_NAMESPACE::Bool32 update,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
+      VULKAN_HPP_NAMESPACE::Buffer scratch,
+      VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,
+      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 buildAccelerationStructuresIndirectKHR(
+      uint32_t infoCount,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+          *pInfos,
+      const VULKAN_HPP_NAMESPACE::DeviceAddress *pIndirectDeviceAddresses,
+      const uint32_t *pIndirectStrides,
+      const uint32_t *const *ppMaxPrimitiveCounts,
+      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 buildAccelerationStructuresIndirectKHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                     AccelerationStructureBuildGeometryInfoKHR> const &infos,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const
+          &indirectDeviceAddresses,
+      ArrayProxy<const uint32_t> const &indirectStrides,
+      ArrayProxy<const uint32_t *const> const &pMaxPrimitiveCounts,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void buildAccelerationStructuresKHR(
+      uint32_t infoCount,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+          *pInfos,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const
+          *ppBuildRangeInfos,
+      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 buildAccelerationStructuresKHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                     AccelerationStructureBuildGeometryInfoKHR> const &infos,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR
+              *const> const &pBuildRangeInfos,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  clearAttachments(uint32_t attachmentCount,
+                   const VULKAN_HPP_NAMESPACE::ClearAttachment *pAttachments,
+                   uint32_t rectCount,
+                   const VULKAN_HPP_NAMESPACE::ClearRect *pRects,
+                   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 clearAttachments(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const
+          &attachments,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const &rects,
+      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
+  clearColorImage(VULKAN_HPP_NAMESPACE::Image image,
+                  VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+                  const VULKAN_HPP_NAMESPACE::ClearColorValue *pColor,
+                  uint32_t rangeCount,
+                  const VULKAN_HPP_NAMESPACE::ImageSubresourceRange *pRanges,
+                  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 clearColorImage(
+      VULKAN_HPP_NAMESPACE::Image image,
+      VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+      const ClearColorValue &color,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const
+          &ranges,
+      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 clearDepthStencilImage(
+      VULKAN_HPP_NAMESPACE::Image image,
+      VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+      const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue *pDepthStencil,
+      uint32_t rangeCount,
+      const VULKAN_HPP_NAMESPACE::ImageSubresourceRange *pRanges,
+      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 clearDepthStencilImage(
+      VULKAN_HPP_NAMESPACE::Image image,
+      VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+      const ClearDepthStencilValue &depthStencil,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const
+          &ranges,
+      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 copyAccelerationStructureKHR(
+      const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR *pInfo,
+      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 copyAccelerationStructureKHR(
+      const CopyAccelerationStructureInfoKHR &info,
+      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 copyAccelerationStructureNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
+      VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void copyAccelerationStructureToMemoryKHR(
+      const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR
+          *pInfo,
+      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 copyAccelerationStructureToMemoryKHR(
+      const CopyAccelerationStructureToMemoryInfoKHR &info,
+      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 copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+                  VULKAN_HPP_NAMESPACE::Buffer dstBuffer, uint32_t regionCount,
+                  const VULKAN_HPP_NAMESPACE::BufferCopy *pRegions,
+                  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
+  copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+             VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+             ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const &regions,
+             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 copyBuffer2KHR(
+      const VULKAN_HPP_NAMESPACE::CopyBufferInfo2KHR *pCopyBufferInfo,
+      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
+  copyBuffer2KHR(const CopyBufferInfo2KHR &copyBufferInfo,
+                 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
+  copyBufferToImage(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+                    VULKAN_HPP_NAMESPACE::Image dstImage,
+                    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+                    uint32_t regionCount,
+                    const VULKAN_HPP_NAMESPACE::BufferImageCopy *pRegions,
+                    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 copyBufferToImage(
+      VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+      VULKAN_HPP_NAMESPACE::Image dstImage,
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const &regions,
+      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 copyBufferToImage2KHR(
+      const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2KHR
+          *pCopyBufferToImageInfo,
+      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 copyBufferToImage2KHR(
+      const CopyBufferToImageInfo2KHR &copyBufferToImageInfo,
+      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 copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+                 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+                 VULKAN_HPP_NAMESPACE::Image dstImage,
+                 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+                 uint32_t regionCount,
+                 const VULKAN_HPP_NAMESPACE::ImageCopy *pRegions,
+                 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
+  copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+            VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+            VULKAN_HPP_NAMESPACE::Image dstImage,
+            VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+            ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const &regions,
+            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
+  copyImage2KHR(const VULKAN_HPP_NAMESPACE::CopyImageInfo2KHR *pCopyImageInfo,
+                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 copyImage2KHR(const CopyImageInfo2KHR &copyImageInfo,
+                     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
+  copyImageToBuffer(VULKAN_HPP_NAMESPACE::Image srcImage,
+                    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+                    VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                    uint32_t regionCount,
+                    const VULKAN_HPP_NAMESPACE::BufferImageCopy *pRegions,
+                    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 copyImageToBuffer(
+      VULKAN_HPP_NAMESPACE::Image srcImage,
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+      VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const &regions,
+      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 copyImageToBuffer2KHR(
+      const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2KHR
+          *pCopyImageToBufferInfo,
+      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 copyImageToBuffer2KHR(
+      const CopyImageToBufferInfo2KHR &copyImageToBufferInfo,
+      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 copyMemoryToAccelerationStructureKHR(
+      const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR
+          *pInfo,
+      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 copyMemoryToAccelerationStructureKHR(
+      const CopyMemoryToAccelerationStructureInfoKHR &info,
+      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 copyQueryPoolResults(
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      uint32_t queryCount, VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+      VULKAN_HPP_NAMESPACE::DeviceSize stride,
+      VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void debugMarkerBeginEXT(
+      const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT *pMarkerInfo,
+      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 debugMarkerBeginEXT(const DebugMarkerMarkerInfoEXT &markerInfo,
+                           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
+  debugMarkerEndEXT(Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void debugMarkerInsertEXT(
+      const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT *pMarkerInfo,
+      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 debugMarkerInsertEXT(const DebugMarkerMarkerInfoEXT &markerInfo,
+                            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 dispatch(uint32_t groupCountX, uint32_t groupCountY,
+                uint32_t groupCountZ,
+                Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void dispatchBase(uint32_t baseGroupX, uint32_t baseGroupY,
+                    uint32_t baseGroupZ, uint32_t groupCountX,
+                    uint32_t groupCountY, uint32_t groupCountZ,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  dispatchBaseKHR(uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ,
+                  uint32_t groupCountX, uint32_t groupCountY,
+                  uint32_t groupCountZ,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  dispatchIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                   VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                   Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void draw(uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex,
+            uint32_t firstInstance,
+            Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndexed(uint32_t indexCount, uint32_t instanceCount,
+                   uint32_t firstIndex, int32_t vertexOffset,
+                   uint32_t firstInstance,
+                   Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndexedIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                           VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                           uint32_t drawCount, uint32_t stride,
+                           Dispatch const &d
+                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndexedIndirectCount(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize offset,
+      VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+      uint32_t stride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndexedIndirectCountAMD(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize offset,
+      VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+      uint32_t stride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndexedIndirectCountKHR(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize offset,
+      VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+      uint32_t stride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                    VULKAN_HPP_NAMESPACE::DeviceSize offset, uint32_t drawCount,
+                    uint32_t stride,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndirectByteCountEXT(
+      uint32_t instanceCount, uint32_t firstInstance,
+      VULKAN_HPP_NAMESPACE::Buffer counterBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
+      uint32_t counterOffset, uint32_t vertexStride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  drawIndirectCount(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+                    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
+                    uint32_t maxDrawCount, uint32_t stride,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndirectCountAMD(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                            VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                            VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+                            VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
+                            uint32_t maxDrawCount, uint32_t stride,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawIndirectCountKHR(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                            VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                            VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+                            VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
+                            uint32_t maxDrawCount, uint32_t stride,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawMeshTasksIndirectCountNV(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize offset,
+      VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+      uint32_t stride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void drawMeshTasksIndirectNV(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize offset, uint32_t drawCount,
+      uint32_t stride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  drawMeshTasksNV(uint32_t taskCount, uint32_t firstTask,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void endConditionalRenderingEXT(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void endDebugUtilsLabelEXT(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void endQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+                Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  endQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+                     uint32_t index,
+                     Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void endRenderPass(Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  endRenderPass2(const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+                 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
+  endRenderPass2(const SubpassEndInfo &subpassEndInfo,
+                 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
+  endRenderPass2KHR(const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+                    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
+  endRenderPass2KHR(const SubpassEndInfo &subpassEndInfo,
+                    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 endTransformFeedbackEXT(
+      uint32_t firstCounterBuffer, uint32_t counterBufferCount,
+      const VULKAN_HPP_NAMESPACE::Buffer *pCounterBuffers,
+      const VULKAN_HPP_NAMESPACE::DeviceSize *pCounterBufferOffsets,
+      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 endTransformFeedbackEXT(
+      uint32_t firstCounterBuffer,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const
+          &counterBufferOffsets VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  executeCommands(uint32_t commandBufferCount,
+                  const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+                  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
+  executeCommands(ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const
+                      &commandBuffers,
+                  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 executeGeneratedCommandsNV(
+      VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
+      const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV
+          *pGeneratedCommandsInfo,
+      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 executeGeneratedCommandsNV(
+      VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
+      const GeneratedCommandsInfoNV &generatedCommandsInfo,
+      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 fillBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                  VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+                  VULKAN_HPP_NAMESPACE::DeviceSize size, uint32_t data,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void insertDebugUtilsLabelEXT(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+      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 insertDebugUtilsLabelEXT(
+      const DebugUtilsLabelEXT &labelInfo,
+      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 nextSubpass(VULKAN_HPP_NAMESPACE::SubpassContents contents,
+                   Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  nextSubpass2(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+               const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+               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 nextSubpass2(const SubpassBeginInfo &subpassBeginInfo,
+                    const SubpassEndInfo &subpassEndInfo,
+                    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 nextSubpass2KHR(
+      const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+      const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+      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
+  nextSubpass2KHR(const SubpassBeginInfo &subpassBeginInfo,
+                  const SubpassEndInfo &subpassEndInfo,
+                  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 pipelineBarrier(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+      VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
+      uint32_t memoryBarrierCount,
+      const VULKAN_HPP_NAMESPACE::MemoryBarrier *pMemoryBarriers,
+      uint32_t bufferMemoryBarrierCount,
+      const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier *pBufferMemoryBarriers,
+      uint32_t imageMemoryBarrierCount,
+      const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *pImageMemoryBarriers,
+      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 pipelineBarrier(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+      VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const
+          &memoryBarriers,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const
+          &bufferMemoryBarriers,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const
+          &imageMemoryBarriers,
+      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 pipelineBarrier2KHR(
+      const VULKAN_HPP_NAMESPACE::DependencyInfoKHR *pDependencyInfo,
+      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 pipelineBarrier2KHR(const DependencyInfoKHR &dependencyInfo,
+                           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 preprocessGeneratedCommandsNV(
+      const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV
+          *pGeneratedCommandsInfo,
+      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 preprocessGeneratedCommandsNV(
+      const GeneratedCommandsInfoNV &generatedCommandsInfo,
+      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 pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+                     VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
+                     uint32_t offset, uint32_t size, const void *pValues,
+                     Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+                     VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
+                     uint32_t offset, ArrayProxy<const T> const &values,
+                     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 pushDescriptorSetKHR(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t set,
+      uint32_t descriptorWriteCount,
+      const VULKAN_HPP_NAMESPACE::WriteDescriptorSet *pDescriptorWrites,
+      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 pushDescriptorSetKHR(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t set,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const
+          &descriptorWrites,
+      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 pushDescriptorSetWithTemplateKHR(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t set,
+      const void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void resetEvent(VULKAN_HPP_NAMESPACE::Event event,
+                  VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  resetEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,
+                 VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask,
+                 Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+                 uint32_t queryCount,
+                 Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void resolveImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+                    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+                    VULKAN_HPP_NAMESPACE::Image dstImage,
+                    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+                    uint32_t regionCount,
+                    const VULKAN_HPP_NAMESPACE::ImageResolve *pRegions,
+                    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 resolveImage(
+      VULKAN_HPP_NAMESPACE::Image srcImage,
+      VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+      VULKAN_HPP_NAMESPACE::Image dstImage,
+      VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const &regions,
+      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 resolveImage2KHR(
+      const VULKAN_HPP_NAMESPACE::ResolveImageInfo2KHR *pResolveImageInfo,
+      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
+  resolveImage2KHR(const ResolveImageInfo2KHR &resolveImageInfo,
+                   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
+  setBlendConstants(const float blendConstants[4],
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setCheckpointNV(const void *pCheckpointMarker,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setCoarseSampleOrderNV(
+      VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
+      uint32_t customSampleOrderCount,
+      const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV
+          *pCustomSampleOrders,
+      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 setCoarseSampleOrderNV(
+      VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const
+          &customSampleOrders,
+      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
+  setCullModeEXT(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode,
+                 Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setDepthBias(float depthBiasConstantFactor, float depthBiasClamp,
+                    float depthBiasSlopeFactor,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setDepthBounds(float minDepthBounds, float maxDepthBounds,
+                 Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setDepthBoundsTestEnableEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setDepthCompareOpEXT(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setDepthTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,
+                             Dispatch const &d
+                                 VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setDepthWriteEnableEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setDeviceMask(uint32_t deviceMask,
+                     Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setDeviceMaskKHR(uint32_t deviceMask,
+                   Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setDiscardRectangleEXT(
+      uint32_t firstDiscardRectangle, uint32_t discardRectangleCount,
+      const VULKAN_HPP_NAMESPACE::Rect2D *pDiscardRectangles,
+      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 setDiscardRectangleEXT(
+      uint32_t firstDiscardRectangle,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &discardRectangles,
+      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 setEvent(VULKAN_HPP_NAMESPACE::Event event,
+                VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
+                Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,
+               const VULKAN_HPP_NAMESPACE::DependencyInfoKHR *pDependencyInfo,
+               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 setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,
+                    const DependencyInfoKHR &dependencyInfo,
+                    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 setExclusiveScissorNV(
+      uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount,
+      const VULKAN_HPP_NAMESPACE::Rect2D *pExclusiveScissors,
+      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 setExclusiveScissorNV(
+      uint32_t firstExclusiveScissor,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &exclusiveScissors,
+      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 setFragmentShadingRateEnumNV(
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,
+      const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR
+          combinerOps[2],
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setFragmentShadingRateKHR(
+      const VULKAN_HPP_NAMESPACE::Extent2D *pFragmentSize,
+      const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR
+          combinerOps[2],
+      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 setFragmentShadingRateKHR(
+      const Extent2D &fragmentSize,
+      const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR
+          combinerOps[2],
+      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
+  setFrontFaceEXT(VULKAN_HPP_NAMESPACE::FrontFace frontFace,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setLineStippleEXT(uint32_t lineStippleFactor, uint16_t lineStipplePattern,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setLineWidth(float lineWidth,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result setPerformanceMarkerINTEL(
+      const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL *pMarkerInfo,
+      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
+  setPerformanceMarkerINTEL(const PerformanceMarkerInfoINTEL &markerInfo,
+                            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 setPerformanceOverrideINTEL(
+      const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL *pOverrideInfo,
+      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
+  setPerformanceOverrideINTEL(
+      const PerformanceOverrideInfoINTEL &overrideInfo,
+      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 setPerformanceStreamMarkerINTEL(
+      const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL *pMarkerInfo,
+      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
+  setPerformanceStreamMarkerINTEL(
+      const PerformanceStreamMarkerInfoINTEL &markerInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setPrimitiveTopologyEXT(
+      VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setRayTracingPipelineStackSizeKHR(
+      uint32_t pipelineStackSize,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setSampleLocationsEXT(
+      const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT *pSampleLocationsInfo,
+      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 setSampleLocationsEXT(const SampleLocationsInfoEXT &sampleLocationsInfo,
+                             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 setScissor(uint32_t firstScissor, uint32_t scissorCount,
+                  const VULKAN_HPP_NAMESPACE::Rect2D *pScissors,
+                  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
+  setScissor(uint32_t firstScissor,
+             ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors,
+             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 setScissorWithCountEXT(
+      uint32_t scissorCount, const VULKAN_HPP_NAMESPACE::Rect2D *pScissors,
+      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 setScissorWithCountEXT(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors,
+      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 setStencilCompareMask(
+      VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t compareMask,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setStencilOpEXT(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
+                  VULKAN_HPP_NAMESPACE::StencilOp failOp,
+                  VULKAN_HPP_NAMESPACE::StencilOp passOp,
+                  VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
+                  VULKAN_HPP_NAMESPACE::CompareOp compareOp,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setStencilReference(
+      VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t reference,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setStencilTestEnableEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setStencilWriteMask(
+      VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t writeMask,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void setViewport(uint32_t firstViewport, uint32_t viewportCount,
+                   const VULKAN_HPP_NAMESPACE::Viewport *pViewports,
+                   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
+  setViewport(uint32_t firstViewport,
+              ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports,
+              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 setViewportShadingRatePaletteNV(
+      uint32_t firstViewport, uint32_t viewportCount,
+      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV *pShadingRatePalettes,
+      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 setViewportShadingRatePaletteNV(
+      uint32_t firstViewport,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const
+          &shadingRatePalettes,
+      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 setViewportWScalingNV(
+      uint32_t firstViewport, uint32_t viewportCount,
+      const VULKAN_HPP_NAMESPACE::ViewportWScalingNV *pViewportWScalings,
+      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 setViewportWScalingNV(
+      uint32_t firstViewport,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const
+          &viewportWScalings,
+      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 setViewportWithCountEXT(
+      uint32_t viewportCount, const VULKAN_HPP_NAMESPACE::Viewport *pViewports,
+      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 setViewportWithCountEXT(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports,
+      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 traceRaysIndirectKHR(
+      const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+          *pRaygenShaderBindingTable,
+      const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+          *pMissShaderBindingTable,
+      const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+          *pHitShaderBindingTable,
+      const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+          *pCallableShaderBindingTable,
+      VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
+      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 traceRaysIndirectKHR(
+      const StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
+      const StridedDeviceAddressRegionKHR &missShaderBindingTable,
+      const StridedDeviceAddressRegionKHR &hitShaderBindingTable,
+      const StridedDeviceAddressRegionKHR &callableShaderBindingTable,
+      VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
+      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 traceRaysKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+                        *pRaygenShaderBindingTable,
+                    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+                        *pMissShaderBindingTable,
+                    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+                        *pHitShaderBindingTable,
+                    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+                        *pCallableShaderBindingTable,
+                    uint32_t width, uint32_t height, uint32_t depth,
+                    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
+  traceRaysKHR(const StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
+               const StridedDeviceAddressRegionKHR &missShaderBindingTable,
+               const StridedDeviceAddressRegionKHR &hitShaderBindingTable,
+               const StridedDeviceAddressRegionKHR &callableShaderBindingTable,
+               uint32_t width, uint32_t height, uint32_t depth,
+               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
+  traceRaysNV(VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer,
+              VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
+              VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer,
+              VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
+              VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
+              VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer,
+              VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
+              VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
+              VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer,
+              VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
+              VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
+              uint32_t width, uint32_t height, uint32_t depth,
+              Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+                    VULKAN_HPP_NAMESPACE::DeviceSize dataSize,
+                    const void *pData,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+                    ArrayProxy<const T> const &data,
+                    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 waitEvents(
+      uint32_t eventCount, const VULKAN_HPP_NAMESPACE::Event *pEvents,
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+      uint32_t memoryBarrierCount,
+      const VULKAN_HPP_NAMESPACE::MemoryBarrier *pMemoryBarriers,
+      uint32_t bufferMemoryBarrierCount,
+      const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier *pBufferMemoryBarriers,
+      uint32_t imageMemoryBarrierCount,
+      const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *pImageMemoryBarriers,
+      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
+  waitEvents(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
+             VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+             VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+             ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const
+                 &memoryBarriers,
+             ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const
+                 &bufferMemoryBarriers,
+             ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const
+                 &imageMemoryBarriers,
+             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 waitEvents2KHR(
+      uint32_t eventCount, const VULKAN_HPP_NAMESPACE::Event *pEvents,
+      const VULKAN_HPP_NAMESPACE::DependencyInfoKHR *pDependencyInfos,
+      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
+  waitEvents2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
+                 ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfoKHR> const
+                     &dependencyInfos,
+                 Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void writeAccelerationStructuresPropertiesKHR(
+      uint32_t accelerationStructureCount,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR
+          *pAccelerationStructures,
+      VULKAN_HPP_NAMESPACE::QueryType queryType,
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      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 writeAccelerationStructuresPropertiesKHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+          &accelerationStructures,
+      VULKAN_HPP_NAMESPACE::QueryType queryType,
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      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 writeAccelerationStructuresPropertiesNV(
+      uint32_t accelerationStructureCount,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureNV
+          *pAccelerationStructures,
+      VULKAN_HPP_NAMESPACE::QueryType queryType,
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      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 writeAccelerationStructuresPropertiesNV(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const
+          &accelerationStructures,
+      VULKAN_HPP_NAMESPACE::QueryType queryType,
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      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 writeBufferMarker2AMD(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage,
+      VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, uint32_t marker,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void writeBufferMarkerAMD(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
+      VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+      VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, uint32_t marker,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  writeTimestamp(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
+                 VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+                 Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  writeTimestamp2KHR(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage,
+                     VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+                     Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  end(Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  end(Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,
+        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
+  reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags
+            VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+        Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkCommandBuffer() const VULKAN_HPP_NOEXCEPT {
+    return m_commandBuffer;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_commandBuffer != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_commandBuffer == VK_NULL_HANDLE;
+  }
+
+private:
+  VkCommandBuffer m_commandBuffer = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::CommandBuffer) ==
+                  sizeof(VkCommandBuffer),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eCommandBuffer> {
+  using type = VULKAN_HPP_NAMESPACE::CommandBuffer;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer> {
+  using Type = VULKAN_HPP_NAMESPACE::CommandBuffer;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer> {
+  using Type = VULKAN_HPP_NAMESPACE::CommandBuffer;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::CommandBuffer> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct CommandBufferSubmitInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCommandBufferSubmitInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CommandBufferSubmitInfoKHR(
+      VULKAN_HPP_NAMESPACE::CommandBuffer commandBuffer_ = {},
+      uint32_t deviceMask_ = {}) VULKAN_HPP_NOEXCEPT
+      : commandBuffer(commandBuffer_),
+        deviceMask(deviceMask_) {}
+
+  VULKAN_HPP_CONSTEXPR CommandBufferSubmitInfoKHR(
+      CommandBufferSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CommandBufferSubmitInfoKHR(VkCommandBufferSubmitInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CommandBufferSubmitInfoKHR(
+            *reinterpret_cast<CommandBufferSubmitInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CommandBufferSubmitInfoKHR &operator=(
+      CommandBufferSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CommandBufferSubmitInfoKHR &
+  operator=(VkCommandBufferSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  CommandBufferSubmitInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CommandBufferSubmitInfoKHR &setCommandBuffer(
+      VULKAN_HPP_NAMESPACE::CommandBuffer commandBuffer_) VULKAN_HPP_NOEXCEPT {
+    commandBuffer = commandBuffer_;
+    return *this;
+  }
+
+  CommandBufferSubmitInfoKHR &
+  setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT {
+    deviceMask = deviceMask_;
+    return *this;
+  }
+
+  operator VkCommandBufferSubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCommandBufferSubmitInfoKHR *>(this);
+  }
+
+  operator VkCommandBufferSubmitInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCommandBufferSubmitInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandBufferSubmitInfoKHR const &) const = default;
+#else
+  bool
+  operator==(CommandBufferSubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (commandBuffer == rhs.commandBuffer) &&
+           (deviceMask == rhs.deviceMask);
+  }
+
+  bool
+  operator!=(CommandBufferSubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCommandBufferSubmitInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::CommandBuffer commandBuffer = {};
+  uint32_t deviceMask = {};
+};
+static_assert(sizeof(CommandBufferSubmitInfoKHR) ==
+                  sizeof(VkCommandBufferSubmitInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CommandBufferSubmitInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCommandBufferSubmitInfoKHR> {
+  using Type = CommandBufferSubmitInfoKHR;
+};
+
+struct CommandPoolCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCommandPoolCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CommandPoolCreateInfo(
+      VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags_ = {},
+      uint32_t queueFamilyIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        queueFamilyIndex(queueFamilyIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR CommandPoolCreateInfo(CommandPoolCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  CommandPoolCreateInfo(VkCommandPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : CommandPoolCreateInfo(
+            *reinterpret_cast<CommandPoolCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CommandPoolCreateInfo &
+  operator=(CommandPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CommandPoolCreateInfo &
+  operator=(VkCommandPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  CommandPoolCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CommandPoolCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  CommandPoolCreateInfo &
+  setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndex = queueFamilyIndex_;
+    return *this;
+  }
+
+  operator VkCommandPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCommandPoolCreateInfo *>(this);
+  }
+
+  operator VkCommandPoolCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCommandPoolCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CommandPoolCreateInfo const &) const = default;
+#else
+  bool operator==(CommandPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (queueFamilyIndex == rhs.queueFamilyIndex);
+  }
+
+  bool operator!=(CommandPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCommandPoolCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags = {};
+  uint32_t queueFamilyIndex = {};
+};
+static_assert(sizeof(CommandPoolCreateInfo) == sizeof(VkCommandPoolCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CommandPoolCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCommandPoolCreateInfo> {
+  using Type = CommandPoolCreateInfo;
+};
+
+class ShaderModule {
+public:
+  using CType = VkShaderModule;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eShaderModule;
+
+public:
+  VULKAN_HPP_CONSTEXPR ShaderModule() = default;
+  VULKAN_HPP_CONSTEXPR ShaderModule(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  ShaderModule(VkShaderModule shaderModule) VULKAN_HPP_NOEXCEPT
+      : m_shaderModule(shaderModule) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  ShaderModule &operator=(VkShaderModule shaderModule) VULKAN_HPP_NOEXCEPT {
+    m_shaderModule = shaderModule;
+    return *this;
+  }
+#endif
+
+  ShaderModule &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_shaderModule = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ShaderModule const &) const = default;
+#else
+  bool operator==(ShaderModule const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_shaderModule == rhs.m_shaderModule;
+  }
+
+  bool operator!=(ShaderModule const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_shaderModule != rhs.m_shaderModule;
+  }
+
+  bool operator<(ShaderModule const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_shaderModule < rhs.m_shaderModule;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkShaderModule() const VULKAN_HPP_NOEXCEPT {
+    return m_shaderModule;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_shaderModule != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_shaderModule == VK_NULL_HANDLE;
+  }
+
+private:
+  VkShaderModule m_shaderModule = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::ShaderModule) ==
+                  sizeof(VkShaderModule),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eShaderModule> {
+  using type = VULKAN_HPP_NAMESPACE::ShaderModule;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule> {
+  using Type = VULKAN_HPP_NAMESPACE::ShaderModule;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eShaderModule> {
+  using Type = VULKAN_HPP_NAMESPACE::ShaderModule;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::ShaderModule> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct SpecializationMapEntry {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SpecializationMapEntry(uint32_t constantID_ = {}, uint32_t offset_ = {},
+                         size_t size_ = {}) VULKAN_HPP_NOEXCEPT
+      : constantID(constantID_),
+        offset(offset_),
+        size(size_) {}
+
+  VULKAN_HPP_CONSTEXPR SpecializationMapEntry(SpecializationMapEntry const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SpecializationMapEntry(VkSpecializationMapEntry const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SpecializationMapEntry(
+            *reinterpret_cast<SpecializationMapEntry const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SpecializationMapEntry &
+  operator=(SpecializationMapEntry const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SpecializationMapEntry &
+  operator=(VkSpecializationMapEntry const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SpecializationMapEntry const *>(
+            &rhs);
+    return *this;
+  }
+
+  SpecializationMapEntry &
+  setConstantID(uint32_t constantID_) VULKAN_HPP_NOEXCEPT {
+    constantID = constantID_;
+    return *this;
+  }
+
+  SpecializationMapEntry &setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  SpecializationMapEntry &setSize(size_t size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  operator VkSpecializationMapEntry const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSpecializationMapEntry *>(this);
+  }
+
+  operator VkSpecializationMapEntry &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSpecializationMapEntry *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SpecializationMapEntry const &) const = default;
+#else
+  bool operator==(SpecializationMapEntry const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (constantID == rhs.constantID) && (offset == rhs.offset) &&
+           (size == rhs.size);
+  }
+
+  bool operator!=(SpecializationMapEntry const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t constantID = {};
+  uint32_t offset = {};
+  size_t size = {};
+};
+static_assert(sizeof(SpecializationMapEntry) ==
+                  sizeof(VkSpecializationMapEntry),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SpecializationMapEntry>::value,
+              "struct wrapper is not a standard layout!");
+
+struct SpecializationInfo {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SpecializationInfo(
+      uint32_t mapEntryCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SpecializationMapEntry *pMapEntries_ = {},
+      size_t dataSize_ = {}, const void *pData_ = {}) VULKAN_HPP_NOEXCEPT
+      : mapEntryCount(mapEntryCount_),
+        pMapEntries(pMapEntries_),
+        dataSize(dataSize_),
+        pData(pData_) {}
+
+  VULKAN_HPP_CONSTEXPR SpecializationInfo(SpecializationInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SpecializationInfo(VkSpecializationInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SpecializationInfo(
+            *reinterpret_cast<SpecializationInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  SpecializationInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SpecializationMapEntry> const
+          &mapEntries_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &data_ = {})
+      : mapEntryCount(static_cast<uint32_t>(mapEntries_.size())),
+        pMapEntries(mapEntries_.data()), dataSize(data_.size() * sizeof(T)),
+        pData(data_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SpecializationInfo &
+  operator=(SpecializationInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SpecializationInfo &
+  operator=(VkSpecializationInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SpecializationInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  SpecializationInfo &
+  setMapEntryCount(uint32_t mapEntryCount_) VULKAN_HPP_NOEXCEPT {
+    mapEntryCount = mapEntryCount_;
+    return *this;
+  }
+
+  SpecializationInfo &setPMapEntries(
+      const VULKAN_HPP_NAMESPACE::SpecializationMapEntry *pMapEntries_)
+      VULKAN_HPP_NOEXCEPT {
+    pMapEntries = pMapEntries_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SpecializationInfo &
+  setMapEntries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                const VULKAN_HPP_NAMESPACE::SpecializationMapEntry> const
+                    &mapEntries_) VULKAN_HPP_NOEXCEPT {
+    mapEntryCount = static_cast<uint32_t>(mapEntries_.size());
+    pMapEntries = mapEntries_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SpecializationInfo &setDataSize(size_t dataSize_) VULKAN_HPP_NOEXCEPT {
+    dataSize = dataSize_;
+    return *this;
+  }
+
+  SpecializationInfo &setPData(const void *pData_) VULKAN_HPP_NOEXCEPT {
+    pData = pData_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  SpecializationInfo &
+  setData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &data_)
+      VULKAN_HPP_NOEXCEPT {
+    dataSize = data_.size() * sizeof(T);
+    pData = data_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSpecializationInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSpecializationInfo *>(this);
+  }
+
+  operator VkSpecializationInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSpecializationInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SpecializationInfo const &) const = default;
+#else
+  bool operator==(SpecializationInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (mapEntryCount == rhs.mapEntryCount) &&
+           (pMapEntries == rhs.pMapEntries) && (dataSize == rhs.dataSize) &&
+           (pData == rhs.pData);
+  }
+
+  bool operator!=(SpecializationInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t mapEntryCount = {};
+  const VULKAN_HPP_NAMESPACE::SpecializationMapEntry *pMapEntries = {};
+  size_t dataSize = {};
+  const void *pData = {};
+};
+static_assert(sizeof(SpecializationInfo) == sizeof(VkSpecializationInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SpecializationInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PipelineShaderStageCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineShaderStageCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderStageFlagBits stage_ =
+          VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eVertex,
+      VULKAN_HPP_NAMESPACE::ShaderModule module_ = {}, const char *pName_ = {},
+      const VULKAN_HPP_NAMESPACE::SpecializationInfo *pSpecializationInfo_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            stage(stage_),
+                            module(module_),
+                            pName(pName_),
+                            pSpecializationInfo(pSpecializationInfo_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateInfo(
+      PipelineShaderStageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineShaderStageCreateInfo(VkPipelineShaderStageCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineShaderStageCreateInfo(
+            *reinterpret_cast<PipelineShaderStageCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo &operator=(
+      PipelineShaderStageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineShaderStageCreateInfo &
+  operator=(VkPipelineShaderStageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineShaderStageCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineShaderStageCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineShaderStageCreateInfo &setStage(
+      VULKAN_HPP_NAMESPACE::ShaderStageFlagBits stage_) VULKAN_HPP_NOEXCEPT {
+    stage = stage_;
+    return *this;
+  }
+
+  PipelineShaderStageCreateInfo &
+  setModule(VULKAN_HPP_NAMESPACE::ShaderModule module_) VULKAN_HPP_NOEXCEPT {
+    module = module_;
+    return *this;
+  }
+
+  PipelineShaderStageCreateInfo &
+  setPName(const char *pName_) VULKAN_HPP_NOEXCEPT {
+    pName = pName_;
+    return *this;
+  }
+
+  PipelineShaderStageCreateInfo &setPSpecializationInfo(
+      const VULKAN_HPP_NAMESPACE::SpecializationInfo *pSpecializationInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    pSpecializationInfo = pSpecializationInfo_;
+    return *this;
+  }
+
+  operator VkPipelineShaderStageCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineShaderStageCreateInfo *>(this);
+  }
+
+  operator VkPipelineShaderStageCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineShaderStageCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineShaderStageCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineShaderStageCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (stage == rhs.stage) &&
+           (module == rhs.module) && (pName == rhs.pName) &&
+           (pSpecializationInfo == rhs.pSpecializationInfo);
+  }
+
+  bool operator!=(PipelineShaderStageCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineShaderStageCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlagBits stage =
+      VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eVertex;
+  VULKAN_HPP_NAMESPACE::ShaderModule module = {};
+  const char *pName = {};
+  const VULKAN_HPP_NAMESPACE::SpecializationInfo *pSpecializationInfo = {};
+};
+static_assert(sizeof(PipelineShaderStageCreateInfo) ==
+                  sizeof(VkPipelineShaderStageCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineShaderStageCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePipelineShaderStageCreateInfo> {
+  using Type = PipelineShaderStageCreateInfo;
+};
+
+struct ComputePipelineCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eComputePipelineCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ComputePipelineCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo stage_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout_ = {},
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
+      int32_t basePipelineIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        stage(stage_),
+        layout(layout_),
+        basePipelineHandle(basePipelineHandle_),
+        basePipelineIndex(basePipelineIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR ComputePipelineCreateInfo(
+      ComputePipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ComputePipelineCreateInfo(VkComputePipelineCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ComputePipelineCreateInfo(
+            *reinterpret_cast<ComputePipelineCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo &
+  operator=(ComputePipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ComputePipelineCreateInfo &
+  operator=(VkComputePipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ComputePipelineCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ComputePipelineCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ComputePipelineCreateInfo &
+  setStage(VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const &stage_)
+      VULKAN_HPP_NOEXCEPT {
+    stage = stage_;
+    return *this;
+  }
+
+  ComputePipelineCreateInfo &
+  setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT {
+    layout = layout_;
+    return *this;
+  }
+
+  ComputePipelineCreateInfo &setBasePipelineHandle(
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT {
+    basePipelineHandle = basePipelineHandle_;
+    return *this;
+  }
+
+  ComputePipelineCreateInfo &
+  setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT {
+    basePipelineIndex = basePipelineIndex_;
+    return *this;
+  }
+
+  operator VkComputePipelineCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkComputePipelineCreateInfo *>(this);
+  }
+
+  operator VkComputePipelineCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkComputePipelineCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ComputePipelineCreateInfo const &) const = default;
+#else
+  bool
+  operator==(ComputePipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (stage == rhs.stage) &&
+           (layout == rhs.layout) &&
+           (basePipelineHandle == rhs.basePipelineHandle) &&
+           (basePipelineIndex == rhs.basePipelineIndex);
+  }
+
+  bool
+  operator!=(ComputePipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eComputePipelineCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo stage = {};
+  VULKAN_HPP_NAMESPACE::PipelineLayout layout = {};
+  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle = {};
+  int32_t basePipelineIndex = {};
+};
+static_assert(sizeof(ComputePipelineCreateInfo) ==
+                  sizeof(VkComputePipelineCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ComputePipelineCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eComputePipelineCreateInfo> {
+  using Type = ComputePipelineCreateInfo;
+};
+
+struct ConformanceVersion {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ConformanceVersion(uint8_t major_ = {}, uint8_t minor_ = {},
+                     uint8_t subminor_ = {},
+                     uint8_t patch_ = {}) VULKAN_HPP_NOEXCEPT
+      : major(major_),
+        minor(minor_),
+        subminor(subminor_),
+        patch(patch_) {}
+
+  VULKAN_HPP_CONSTEXPR ConformanceVersion(ConformanceVersion const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ConformanceVersion(VkConformanceVersion const &rhs) VULKAN_HPP_NOEXCEPT
+      : ConformanceVersion(
+            *reinterpret_cast<ConformanceVersion const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ConformanceVersion &
+  operator=(ConformanceVersion const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ConformanceVersion &
+  operator=(VkConformanceVersion const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ConformanceVersion const *>(
+        &rhs);
+    return *this;
+  }
+
+  ConformanceVersion &setMajor(uint8_t major_) VULKAN_HPP_NOEXCEPT {
+    major = major_;
+    return *this;
+  }
+
+  ConformanceVersion &setMinor(uint8_t minor_) VULKAN_HPP_NOEXCEPT {
+    minor = minor_;
+    return *this;
+  }
+
+  ConformanceVersion &setSubminor(uint8_t subminor_) VULKAN_HPP_NOEXCEPT {
+    subminor = subminor_;
+    return *this;
+  }
+
+  ConformanceVersion &setPatch(uint8_t patch_) VULKAN_HPP_NOEXCEPT {
+    patch = patch_;
+    return *this;
+  }
+
+  operator VkConformanceVersion const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkConformanceVersion *>(this);
+  }
+
+  operator VkConformanceVersion &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkConformanceVersion *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ConformanceVersion const &) const = default;
+#else
+  bool operator==(ConformanceVersion const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (major == rhs.major) && (minor == rhs.minor) &&
+           (subminor == rhs.subminor) && (patch == rhs.patch);
+  }
+
+  bool operator!=(ConformanceVersion const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint8_t major = {};
+  uint8_t minor = {};
+  uint8_t subminor = {};
+  uint8_t patch = {};
+};
+static_assert(sizeof(ConformanceVersion) == sizeof(VkConformanceVersion),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ConformanceVersion>::value,
+              "struct wrapper is not a standard layout!");
+using ConformanceVersionKHR = ConformanceVersion;
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct ControlOpsMemoryAllocateInfoFUCHSIA {
+  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*/
+
+  VULKAN_HPP_CONSTEXPR_14 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;
+  }
+
+  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;
+  }
+
+  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 = {};
+};
+static_assert(sizeof(ControlOpsMemoryAllocateInfoFUCHSIA) ==
+                  sizeof(VkControlOpsMemoryAllocateInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ControlOpsMemoryAllocateInfoFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eControlOpsMemoryAllocateInfoFUCHSIA> {
+  using Type = ControlOpsMemoryAllocateInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct CooperativeMatrixPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCooperativeMatrixPropertiesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesNV(
+      uint32_t MSize_ = {}, uint32_t NSize_ = {}, uint32_t KSize_ = {},
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV AType_ =
+          VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV BType_ =
+          VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV CType_ =
+          VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV DType_ =
+          VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16,
+      VULKAN_HPP_NAMESPACE::ScopeNV scope_ =
+          VULKAN_HPP_NAMESPACE::ScopeNV::eDevice) VULKAN_HPP_NOEXCEPT
+      : MSize(MSize_),
+        NSize(NSize_),
+        KSize(KSize_),
+        AType(AType_),
+        BType(BType_),
+        CType(CType_),
+        DType(DType_),
+        scope(scope_) {}
+
+  VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesNV(
+      CooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CooperativeMatrixPropertiesNV(VkCooperativeMatrixPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CooperativeMatrixPropertiesNV(
+            *reinterpret_cast<CooperativeMatrixPropertiesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV &operator=(
+      CooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CooperativeMatrixPropertiesNV &
+  operator=(VkCooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV const *>(&rhs);
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &setMSize(uint32_t MSize_) VULKAN_HPP_NOEXCEPT {
+    MSize = MSize_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &setNSize(uint32_t NSize_) VULKAN_HPP_NOEXCEPT {
+    NSize = NSize_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &setKSize(uint32_t KSize_) VULKAN_HPP_NOEXCEPT {
+    KSize = KSize_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &
+  setAType(VULKAN_HPP_NAMESPACE::ComponentTypeNV AType_) VULKAN_HPP_NOEXCEPT {
+    AType = AType_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &
+  setBType(VULKAN_HPP_NAMESPACE::ComponentTypeNV BType_) VULKAN_HPP_NOEXCEPT {
+    BType = BType_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &
+  setCType(VULKAN_HPP_NAMESPACE::ComponentTypeNV CType_) VULKAN_HPP_NOEXCEPT {
+    CType = CType_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &
+  setDType(VULKAN_HPP_NAMESPACE::ComponentTypeNV DType_) VULKAN_HPP_NOEXCEPT {
+    DType = DType_;
+    return *this;
+  }
+
+  CooperativeMatrixPropertiesNV &
+  setScope(VULKAN_HPP_NAMESPACE::ScopeNV scope_) VULKAN_HPP_NOEXCEPT {
+    scope = scope_;
+    return *this;
+  }
+
+  operator VkCooperativeMatrixPropertiesNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCooperativeMatrixPropertiesNV *>(this);
+  }
+
+  operator VkCooperativeMatrixPropertiesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCooperativeMatrixPropertiesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CooperativeMatrixPropertiesNV const &) const = default;
+#else
+  bool operator==(CooperativeMatrixPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (MSize == rhs.MSize) && (NSize == rhs.NSize) &&
+           (KSize == rhs.KSize) && (AType == rhs.AType) &&
+           (BType == rhs.BType) && (CType == rhs.CType) &&
+           (DType == rhs.DType) && (scope == rhs.scope);
+  }
+
+  bool operator!=(CooperativeMatrixPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCooperativeMatrixPropertiesNV;
+  void *pNext = {};
+  uint32_t MSize = {};
+  uint32_t NSize = {};
+  uint32_t KSize = {};
+  VULKAN_HPP_NAMESPACE::ComponentTypeNV AType =
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
+  VULKAN_HPP_NAMESPACE::ComponentTypeNV BType =
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
+  VULKAN_HPP_NAMESPACE::ComponentTypeNV CType =
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
+  VULKAN_HPP_NAMESPACE::ComponentTypeNV DType =
+      VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16;
+  VULKAN_HPP_NAMESPACE::ScopeNV scope = VULKAN_HPP_NAMESPACE::ScopeNV::eDevice;
+};
+static_assert(sizeof(CooperativeMatrixPropertiesNV) ==
+                  sizeof(VkCooperativeMatrixPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CooperativeMatrixPropertiesNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCooperativeMatrixPropertiesNV> {
+  using Type = CooperativeMatrixPropertiesNV;
+};
+
+struct CopyCommandTransformInfoQCOM {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCopyCommandTransformInfoQCOM;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR CopyCommandTransformInfoQCOM(
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_ =
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity)
+      VULKAN_HPP_NOEXCEPT : transform(transform_) {}
+
+  VULKAN_HPP_CONSTEXPR CopyCommandTransformInfoQCOM(
+      CopyCommandTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyCommandTransformInfoQCOM(VkCopyCommandTransformInfoQCOM const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : CopyCommandTransformInfoQCOM(
+            *reinterpret_cast<CopyCommandTransformInfoQCOM const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CopyCommandTransformInfoQCOM &operator=(
+      CopyCommandTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyCommandTransformInfoQCOM &
+  operator=(VkCopyCommandTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM const *>(&rhs);
+    return *this;
+  }
+
+  CopyCommandTransformInfoQCOM &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CopyCommandTransformInfoQCOM &
+  setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_)
+      VULKAN_HPP_NOEXCEPT {
+    transform = transform_;
+    return *this;
+  }
+
+  operator VkCopyCommandTransformInfoQCOM const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCopyCommandTransformInfoQCOM *>(this);
+  }
+
+  operator VkCopyCommandTransformInfoQCOM &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyCommandTransformInfoQCOM *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CopyCommandTransformInfoQCOM const &) const = default;
+#else
+  bool operator==(CopyCommandTransformInfoQCOM const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (transform == rhs.transform);
+  }
+
+  bool operator!=(CopyCommandTransformInfoQCOM const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eCopyCommandTransformInfoQCOM;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform =
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
+};
+static_assert(sizeof(CopyCommandTransformInfoQCOM) ==
+                  sizeof(VkCopyCommandTransformInfoQCOM),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CopyCommandTransformInfoQCOM>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eCopyCommandTransformInfoQCOM> {
+  using Type = CopyCommandTransformInfoQCOM;
+};
+
+struct CopyDescriptorSet {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eCopyDescriptorSet;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  CopyDescriptorSet(VULKAN_HPP_NAMESPACE::DescriptorSet srcSet_ = {},
+                    uint32_t srcBinding_ = {}, uint32_t srcArrayElement_ = {},
+                    VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_ = {},
+                    uint32_t dstBinding_ = {}, uint32_t dstArrayElement_ = {},
+                    uint32_t descriptorCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcSet(srcSet_),
+        srcBinding(srcBinding_),
+        srcArrayElement(srcArrayElement_),
+        dstSet(dstSet_),
+        dstBinding(dstBinding_),
+        dstArrayElement(dstArrayElement_),
+        descriptorCount(descriptorCount_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  CopyDescriptorSet(CopyDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyDescriptorSet(VkCopyDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT
+      : CopyDescriptorSet(*reinterpret_cast<CopyDescriptorSet const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet &
+  operator=(CopyDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  CopyDescriptorSet &
+  operator=(VkCopyDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyDescriptorSet const *>(
+        &rhs);
+    return *this;
+  }
+
+  CopyDescriptorSet &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  CopyDescriptorSet &
+  setSrcSet(VULKAN_HPP_NAMESPACE::DescriptorSet srcSet_) VULKAN_HPP_NOEXCEPT {
+    srcSet = srcSet_;
+    return *this;
+  }
+
+  CopyDescriptorSet &setSrcBinding(uint32_t srcBinding_) VULKAN_HPP_NOEXCEPT {
+    srcBinding = srcBinding_;
+    return *this;
+  }
+
+  CopyDescriptorSet &
+  setSrcArrayElement(uint32_t srcArrayElement_) VULKAN_HPP_NOEXCEPT {
+    srcArrayElement = srcArrayElement_;
+    return *this;
+  }
+
+  CopyDescriptorSet &
+  setDstSet(VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_) VULKAN_HPP_NOEXCEPT {
+    dstSet = dstSet_;
+    return *this;
+  }
+
+  CopyDescriptorSet &setDstBinding(uint32_t dstBinding_) VULKAN_HPP_NOEXCEPT {
+    dstBinding = dstBinding_;
+    return *this;
+  }
+
+  CopyDescriptorSet &
+  setDstArrayElement(uint32_t dstArrayElement_) VULKAN_HPP_NOEXCEPT {
+    dstArrayElement = dstArrayElement_;
+    return *this;
+  }
+
+  CopyDescriptorSet &
+  setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorCount = descriptorCount_;
+    return *this;
+  }
+
+  operator VkCopyDescriptorSet const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkCopyDescriptorSet *>(this);
+  }
+
+  operator VkCopyDescriptorSet &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkCopyDescriptorSet *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(CopyDescriptorSet const &) const = default;
+#else
+  bool operator==(CopyDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcSet == rhs.srcSet) && (srcBinding == rhs.srcBinding) &&
+           (srcArrayElement == rhs.srcArrayElement) && (dstSet == rhs.dstSet) &&
+           (dstBinding == rhs.dstBinding) &&
+           (dstArrayElement == rhs.dstArrayElement) &&
+           (descriptorCount == rhs.descriptorCount);
+  }
+
+  bool operator!=(CopyDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eCopyDescriptorSet;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DescriptorSet srcSet = {};
+  uint32_t srcBinding = {};
+  uint32_t srcArrayElement = {};
+  VULKAN_HPP_NAMESPACE::DescriptorSet dstSet = {};
+  uint32_t dstBinding = {};
+  uint32_t dstArrayElement = {};
+  uint32_t descriptorCount = {};
+};
+static_assert(sizeof(CopyDescriptorSet) == sizeof(VkCopyDescriptorSet),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<CopyDescriptorSet>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eCopyDescriptorSet> {
+  using Type = CopyDescriptorSet;
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct D3D12FenceSubmitInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eD3D12FenceSubmitInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR(
+      uint32_t waitSemaphoreValuesCount_ = {},
+      const uint64_t *pWaitSemaphoreValues_ = {},
+      uint32_t signalSemaphoreValuesCount_ = {},
+      const uint64_t *pSignalSemaphoreValues_ = {}) VULKAN_HPP_NOEXCEPT
+      : waitSemaphoreValuesCount(waitSemaphoreValuesCount_),
+        pWaitSemaphoreValues(pWaitSemaphoreValues_),
+        signalSemaphoreValuesCount(signalSemaphoreValuesCount_),
+        pSignalSemaphoreValues(pSignalSemaphoreValues_) {}
+
+  VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR(
+      D3D12FenceSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  D3D12FenceSubmitInfoKHR(VkD3D12FenceSubmitInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : D3D12FenceSubmitInfoKHR(
+            *reinterpret_cast<D3D12FenceSubmitInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  D3D12FenceSubmitInfoKHR(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &waitSemaphoreValues_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &signalSemaphoreValues_ = {})
+      : waitSemaphoreValuesCount(
+            static_cast<uint32_t>(waitSemaphoreValues_.size())),
+        pWaitSemaphoreValues(waitSemaphoreValues_.data()),
+        signalSemaphoreValuesCount(
+            static_cast<uint32_t>(signalSemaphoreValues_.size())),
+        pSignalSemaphoreValues(signalSemaphoreValues_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR &
+  operator=(D3D12FenceSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  D3D12FenceSubmitInfoKHR &
+  operator=(VkD3D12FenceSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  D3D12FenceSubmitInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  D3D12FenceSubmitInfoKHR &setWaitSemaphoreValuesCount(
+      uint32_t waitSemaphoreValuesCount_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreValuesCount = waitSemaphoreValuesCount_;
+    return *this;
+  }
+
+  D3D12FenceSubmitInfoKHR &setPWaitSemaphoreValues(
+      const uint64_t *pWaitSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    pWaitSemaphoreValues = pWaitSemaphoreValues_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  D3D12FenceSubmitInfoKHR &setWaitSemaphoreValues(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &waitSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreValuesCount =
+        static_cast<uint32_t>(waitSemaphoreValues_.size());
+    pWaitSemaphoreValues = waitSemaphoreValues_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  D3D12FenceSubmitInfoKHR &setSignalSemaphoreValuesCount(
+      uint32_t signalSemaphoreValuesCount_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreValuesCount = signalSemaphoreValuesCount_;
+    return *this;
+  }
+
+  D3D12FenceSubmitInfoKHR &setPSignalSemaphoreValues(
+      const uint64_t *pSignalSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    pSignalSemaphoreValues = pSignalSemaphoreValues_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  D3D12FenceSubmitInfoKHR &setSignalSemaphoreValues(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &signalSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreValuesCount =
+        static_cast<uint32_t>(signalSemaphoreValues_.size());
+    pSignalSemaphoreValues = signalSemaphoreValues_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkD3D12FenceSubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>(this);
+  }
+
+  operator VkD3D12FenceSubmitInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkD3D12FenceSubmitInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(D3D12FenceSubmitInfoKHR const &) const = default;
+#else
+  bool
+  operator==(D3D12FenceSubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (waitSemaphoreValuesCount == rhs.waitSemaphoreValuesCount) &&
+           (pWaitSemaphoreValues == rhs.pWaitSemaphoreValues) &&
+           (signalSemaphoreValuesCount == rhs.signalSemaphoreValuesCount) &&
+           (pSignalSemaphoreValues == rhs.pSignalSemaphoreValues);
+  }
+
+  bool
+  operator!=(D3D12FenceSubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eD3D12FenceSubmitInfoKHR;
+  const void *pNext = {};
+  uint32_t waitSemaphoreValuesCount = {};
+  const uint64_t *pWaitSemaphoreValues = {};
+  uint32_t signalSemaphoreValuesCount = {};
+  const uint64_t *pSignalSemaphoreValues = {};
+};
+static_assert(sizeof(D3D12FenceSubmitInfoKHR) ==
+                  sizeof(VkD3D12FenceSubmitInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<D3D12FenceSubmitInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eD3D12FenceSubmitInfoKHR> {
+  using Type = D3D12FenceSubmitInfoKHR;
+};
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  struct DebugMarkerMarkerInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDebugMarkerMarkerInfoEXT;
+struct DebugMarkerObjectNameInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugMarkerObjectNameInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT( const char *                 pMarkerName_ = {},
-                                                      std::array<float, 4> const & color_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pMarkerName( pMarkerName_ )
-      , color( color_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DebugMarkerObjectNameInfoEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown,
+      uint64_t object_ = {}, const char *pObjectName_ = {}) VULKAN_HPP_NOEXCEPT
+      : objectType(objectType_),
+        object(object_),
+        pObjectName(pObjectName_) {}
 
-    DebugMarkerMarkerInfoEXT( VkDebugMarkerMarkerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DebugMarkerObjectNameInfoEXT(
+      DebugMarkerObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DebugMarkerMarkerInfoEXT & operator=( VkDebugMarkerMarkerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT const *>( &rhs );
-      return *this;
-    }
+  DebugMarkerObjectNameInfoEXT(VkDebugMarkerObjectNameInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DebugMarkerObjectNameInfoEXT(
+            *reinterpret_cast<DebugMarkerObjectNameInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DebugMarkerMarkerInfoEXT & operator=( DebugMarkerMarkerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      pMarkerName = rhs.pMarkerName;
-      color       = rhs.color;
+  VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT &operator=(
+      DebugMarkerObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DebugMarkerObjectNameInfoEXT &
+  operator=(VkDebugMarkerObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    DebugMarkerMarkerInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DebugMarkerObjectNameInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DebugMarkerMarkerInfoEXT & setPMarkerName( const char * pMarkerName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pMarkerName = pMarkerName_;
-      return *this;
-    }
+  DebugMarkerObjectNameInfoEXT &
+  setObjectType(VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_)
+      VULKAN_HPP_NOEXCEPT {
+    objectType = objectType_;
+    return *this;
+  }
 
-    DebugMarkerMarkerInfoEXT & setColor( std::array<float, 4> color_ ) VULKAN_HPP_NOEXCEPT
-    {
-      color = color_;
-      return *this;
-    }
+  DebugMarkerObjectNameInfoEXT &
+  setObject(uint64_t object_) VULKAN_HPP_NOEXCEPT {
+    object = object_;
+    return *this;
+  }
 
-    operator VkDebugMarkerMarkerInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( this );
-    }
+  DebugMarkerObjectNameInfoEXT &
+  setPObjectName(const char *pObjectName_) VULKAN_HPP_NOEXCEPT {
+    pObjectName = pObjectName_;
+    return *this;
+  }
 
-    operator VkDebugMarkerMarkerInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugMarkerMarkerInfoEXT *>( this );
-    }
+  operator VkDebugMarkerObjectNameInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugMarkerMarkerInfoEXT const & ) const = default;
+  operator VkDebugMarkerObjectNameInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugMarkerObjectNameInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugMarkerObjectNameInfoEXT const &) const = default;
 #else
-    bool operator==( DebugMarkerMarkerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pMarkerName == rhs.pMarkerName ) &&
-             ( color == rhs.color );
-    }
+  bool operator==(DebugMarkerObjectNameInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (objectType == rhs.objectType) && (object == rhs.object) &&
+           (pObjectName == rhs.pObjectName);
+  }
 
-    bool operator!=( DebugMarkerMarkerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DebugMarkerObjectNameInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType       = StructureType::eDebugMarkerMarkerInfoEXT;
-    const void *                                   pNext       = {};
-    const char *                                   pMarkerName = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> color       = {};
-  };
-  static_assert( sizeof( DebugMarkerMarkerInfoEXT ) == sizeof( VkDebugMarkerMarkerInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugMarkerMarkerInfoEXT>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDebugMarkerMarkerInfoEXT>
-  {
-    using Type = DebugMarkerMarkerInfoEXT;
-  };
-
-  struct DebugMarkerObjectNameInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDebugMarkerObjectNameInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DebugMarkerObjectNameInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ =
-                                                         VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown,
-                                                       uint64_t     object_      = {},
-                                                       const char * pObjectName_ = {} ) VULKAN_HPP_NOEXCEPT
-      : objectType( objectType_ )
-      , object( object_ )
-      , pObjectName( pObjectName_ )
-    {}
-
-    DebugMarkerObjectNameInfoEXT( VkDebugMarkerObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DebugMarkerObjectNameInfoEXT & operator=( VkDebugMarkerObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    DebugMarkerObjectNameInfoEXT & operator=( DebugMarkerObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      objectType  = rhs.objectType;
-      object      = rhs.object;
-      pObjectName = rhs.pObjectName;
-
-      return *this;
-    }
-
-    DebugMarkerObjectNameInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DebugMarkerObjectNameInfoEXT &
-      setObjectType( VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectType = objectType_;
-      return *this;
-    }
-
-    DebugMarkerObjectNameInfoEXT & setObject( uint64_t object_ ) VULKAN_HPP_NOEXCEPT
-    {
-      object = object_;
-      return *this;
-    }
-
-    DebugMarkerObjectNameInfoEXT & setPObjectName( const char * pObjectName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pObjectName = pObjectName_;
-      return *this;
-    }
-
-    operator VkDebugMarkerObjectNameInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( this );
-    }
-
-    operator VkDebugMarkerObjectNameInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugMarkerObjectNameInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugMarkerObjectNameInfoEXT const & ) const = default;
-#else
-    bool operator==( DebugMarkerObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) &&
-             ( object == rhs.object ) && ( pObjectName == rhs.pObjectName );
-    }
-
-    bool operator!=( DebugMarkerObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eDebugMarkerObjectNameInfoEXT;
-    const void *                                   pNext = {};
-    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugMarkerObjectNameInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType =
       VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
-    uint64_t     object      = {};
-    const char * pObjectName = {};
-  };
-  static_assert( sizeof( DebugMarkerObjectNameInfoEXT ) == sizeof( VkDebugMarkerObjectNameInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugMarkerObjectNameInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  uint64_t object = {};
+  const char *pObjectName = {};
+};
+static_assert(sizeof(DebugMarkerObjectNameInfoEXT) ==
+                  sizeof(VkDebugMarkerObjectNameInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugMarkerObjectNameInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDebugMarkerObjectNameInfoEXT>
-  {
-    using Type = DebugMarkerObjectNameInfoEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDebugMarkerObjectNameInfoEXT> {
+  using Type = DebugMarkerObjectNameInfoEXT;
+};
 
-  struct DebugMarkerObjectTagInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDebugMarkerObjectTagInfoEXT;
+struct DebugMarkerObjectTagInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugMarkerObjectTagInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DebugMarkerObjectTagInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ =
-                                                        VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown,
-                                                      uint64_t     object_  = {},
-                                                      uint64_t     tagName_ = {},
-                                                      size_t       tagSize_ = {},
-                                                      const void * pTag_    = {} ) VULKAN_HPP_NOEXCEPT
-      : objectType( objectType_ )
-      , object( object_ )
-      , tagName( tagName_ )
-      , tagSize( tagSize_ )
-      , pTag( pTag_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DebugMarkerObjectTagInfoEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown,
+      uint64_t object_ = {}, uint64_t tagName_ = {}, size_t tagSize_ = {},
+      const void *pTag_ = {}) VULKAN_HPP_NOEXCEPT : objectType(objectType_),
+                                                    object(object_),
+                                                    tagName(tagName_),
+                                                    tagSize(tagSize_),
+                                                    pTag(pTag_) {}
 
-    DebugMarkerObjectTagInfoEXT( VkDebugMarkerObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR DebugMarkerObjectTagInfoEXT(
+      DebugMarkerObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    DebugMarkerObjectTagInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT                 objectType_,
-                                 uint64_t                                                       object_,
-                                 uint64_t                                                       tagName_,
-                                 VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & tag_ )
-      : objectType( objectType_ )
-      , object( object_ )
-      , tagName( tagName_ )
-      , tagSize( tag_.size() * sizeof( T ) )
-      , pTag( tag_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  DebugMarkerObjectTagInfoEXT(VkDebugMarkerObjectTagInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DebugMarkerObjectTagInfoEXT(
+            *reinterpret_cast<DebugMarkerObjectTagInfoEXT const *>(&rhs)) {}
 
-    DebugMarkerObjectTagInfoEXT & operator=( VkDebugMarkerObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  DebugMarkerObjectTagInfoEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_,
+      uint64_t object_, uint64_t tagName_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &tag_)
+      : objectType(objectType_), object(object_), tagName(tagName_),
+        tagSize(tag_.size() * sizeof(T)), pTag(tag_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DebugMarkerObjectTagInfoEXT & operator=( DebugMarkerObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      objectType = rhs.objectType;
-      object     = rhs.object;
-      tagName    = rhs.tagName;
-      tagSize    = rhs.tagSize;
-      pTag       = rhs.pTag;
+  VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT &operator=(
+      DebugMarkerObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DebugMarkerObjectTagInfoEXT &
+  operator=(VkDebugMarkerObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    DebugMarkerObjectTagInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DebugMarkerObjectTagInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DebugMarkerObjectTagInfoEXT &
-      setObjectType( VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectType = objectType_;
-      return *this;
-    }
+  DebugMarkerObjectTagInfoEXT &
+  setObjectType(VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_)
+      VULKAN_HPP_NOEXCEPT {
+    objectType = objectType_;
+    return *this;
+  }
 
-    DebugMarkerObjectTagInfoEXT & setObject( uint64_t object_ ) VULKAN_HPP_NOEXCEPT
-    {
-      object = object_;
-      return *this;
-    }
+  DebugMarkerObjectTagInfoEXT &setObject(uint64_t object_) VULKAN_HPP_NOEXCEPT {
+    object = object_;
+    return *this;
+  }
 
-    DebugMarkerObjectTagInfoEXT & setTagName( uint64_t tagName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tagName = tagName_;
-      return *this;
-    }
+  DebugMarkerObjectTagInfoEXT &
+  setTagName(uint64_t tagName_) VULKAN_HPP_NOEXCEPT {
+    tagName = tagName_;
+    return *this;
+  }
 
-    DebugMarkerObjectTagInfoEXT & setTagSize( size_t tagSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tagSize = tagSize_;
-      return *this;
-    }
+  DebugMarkerObjectTagInfoEXT &setTagSize(size_t tagSize_) VULKAN_HPP_NOEXCEPT {
+    tagSize = tagSize_;
+    return *this;
+  }
 
-    DebugMarkerObjectTagInfoEXT & setPTag( const void * pTag_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pTag = pTag_;
-      return *this;
-    }
+  DebugMarkerObjectTagInfoEXT &setPTag(const void *pTag_) VULKAN_HPP_NOEXCEPT {
+    pTag = pTag_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    DebugMarkerObjectTagInfoEXT &
-      setTag( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & tag_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tagSize = tag_.size() * sizeof( T );
-      pTag    = tag_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  DebugMarkerObjectTagInfoEXT &
+  setTag(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &tag_)
+      VULKAN_HPP_NOEXCEPT {
+    tagSize = tag_.size() * sizeof(T);
+    pTag = tag_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkDebugMarkerObjectTagInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( this );
-    }
+  operator VkDebugMarkerObjectTagInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>(this);
+  }
 
-    operator VkDebugMarkerObjectTagInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugMarkerObjectTagInfoEXT *>( this );
-    }
+  operator VkDebugMarkerObjectTagInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugMarkerObjectTagInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugMarkerObjectTagInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugMarkerObjectTagInfoEXT const &) const = default;
 #else
-    bool operator==( DebugMarkerObjectTagInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) &&
-             ( object == rhs.object ) && ( tagName == rhs.tagName ) && ( tagSize == rhs.tagSize ) &&
-             ( pTag == rhs.pTag );
-    }
+  bool
+  operator==(DebugMarkerObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (objectType == rhs.objectType) && (object == rhs.object) &&
+           (tagName == rhs.tagName) && (tagSize == rhs.tagSize) &&
+           (pTag == rhs.pTag);
+  }
 
-    bool operator!=( DebugMarkerObjectTagInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DebugMarkerObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eDebugMarkerObjectTagInfoEXT;
-    const void *                                   pNext = {};
-    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugMarkerObjectTagInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType =
       VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
-    uint64_t     object  = {};
-    uint64_t     tagName = {};
-    size_t       tagSize = {};
-    const void * pTag    = {};
-  };
-  static_assert( sizeof( DebugMarkerObjectTagInfoEXT ) == sizeof( VkDebugMarkerObjectTagInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugMarkerObjectTagInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  uint64_t object = {};
+  uint64_t tagName = {};
+  size_t tagSize = {};
+  const void *pTag = {};
+};
+static_assert(sizeof(DebugMarkerObjectTagInfoEXT) ==
+                  sizeof(VkDebugMarkerObjectTagInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugMarkerObjectTagInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDebugMarkerObjectTagInfoEXT>
-  {
-    using Type = DebugMarkerObjectTagInfoEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDebugMarkerObjectTagInfoEXT> {
+  using Type = DebugMarkerObjectTagInfoEXT;
+};
 
-  struct DebugReportCallbackCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugReportCallbackCreateInfoEXT;
+struct DebugReportCallbackCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugReportCallbackCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_       = {},
-                                                           PFN_vkDebugReportCallbackEXT              pfnCallback_ = {},
-                                                           void * pUserData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pfnCallback( pfnCallback_ )
-      , pUserData( pUserData_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_ = {},
+      PFN_vkDebugReportCallbackEXT pfnCallback_ = {},
+      void *pUserData_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                   pfnCallback(pfnCallback_),
+                                                   pUserData(pUserData_) {}
 
-    DebugReportCallbackCreateInfoEXT( VkDebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  DebugReportCallbackCreateInfoEXT(DebugReportCallbackCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DebugReportCallbackCreateInfoEXT & operator=( VkDebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  DebugReportCallbackCreateInfoEXT(
+      VkDebugReportCallbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DebugReportCallbackCreateInfoEXT(
+            *reinterpret_cast<DebugReportCallbackCreateInfoEXT const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DebugReportCallbackCreateInfoEXT & operator=( DebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      flags       = rhs.flags;
-      pfnCallback = rhs.pfnCallback;
-      pUserData   = rhs.pUserData;
+  VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT &
+  operator=(DebugReportCallbackCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DebugReportCallbackCreateInfoEXT &
+  operator=(VkDebugReportCallbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    DebugReportCallbackCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DebugReportCallbackCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DebugReportCallbackCreateInfoEXT & setFlags( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DebugReportCallbackCreateInfoEXT &setFlags(
+      VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    DebugReportCallbackCreateInfoEXT & setPfnCallback( PFN_vkDebugReportCallbackEXT pfnCallback_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pfnCallback = pfnCallback_;
-      return *this;
-    }
+  DebugReportCallbackCreateInfoEXT &setPfnCallback(
+      PFN_vkDebugReportCallbackEXT pfnCallback_) VULKAN_HPP_NOEXCEPT {
+    pfnCallback = pfnCallback_;
+    return *this;
+  }
 
-    DebugReportCallbackCreateInfoEXT & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pUserData = pUserData_;
-      return *this;
-    }
+  DebugReportCallbackCreateInfoEXT &
+  setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT {
+    pUserData = pUserData_;
+    return *this;
+  }
 
-    operator VkDebugReportCallbackCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( this );
-    }
+  operator VkDebugReportCallbackCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(this);
+  }
 
-    operator VkDebugReportCallbackCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugReportCallbackCreateInfoEXT *>( this );
-    }
+  operator VkDebugReportCallbackCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugReportCallbackCreateInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugReportCallbackCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugReportCallbackCreateInfoEXT const &) const = default;
 #else
-    bool operator==( DebugReportCallbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( pfnCallback == rhs.pfnCallback ) && ( pUserData == rhs.pUserData );
-    }
+  bool operator==(DebugReportCallbackCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pfnCallback == rhs.pfnCallback) &&
+           (pUserData == rhs.pUserData);
+  }
 
-    bool operator!=( DebugReportCallbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DebugReportCallbackCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eDebugReportCallbackCreateInfoEXT;
-    const void *                              pNext       = {};
-    VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags       = {};
-    PFN_vkDebugReportCallbackEXT              pfnCallback = {};
-    void *                                    pUserData   = {};
-  };
-  static_assert( sizeof( DebugReportCallbackCreateInfoEXT ) == sizeof( VkDebugReportCallbackCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugReportCallbackCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugReportCallbackCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags = {};
+  PFN_vkDebugReportCallbackEXT pfnCallback = {};
+  void *pUserData = {};
+};
+static_assert(sizeof(DebugReportCallbackCreateInfoEXT) ==
+                  sizeof(VkDebugReportCallbackCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugReportCallbackCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDebugReportCallbackCreateInfoEXT>
-  {
-    using Type = DebugReportCallbackCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDebugReportCallbackCreateInfoEXT> {
+  using Type = DebugReportCallbackCreateInfoEXT;
+};
 
-  struct DebugUtilsLabelEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDebugUtilsLabelEXT;
+struct DebugUtilsObjectNameInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugUtilsObjectNameInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT( const char *                 pLabelName_ = {},
-                                                std::array<float, 4> const & color_      = {} ) VULKAN_HPP_NOEXCEPT
-      : pLabelName( pLabelName_ )
-      , color( color_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DebugUtilsObjectNameInfoEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_ =
+                                  VULKAN_HPP_NAMESPACE::ObjectType::eUnknown,
+                              uint64_t objectHandle_ = {},
+                              const char *pObjectName_ = {}) VULKAN_HPP_NOEXCEPT
+      : objectType(objectType_),
+        objectHandle(objectHandle_),
+        pObjectName(pObjectName_) {}
 
-    DebugUtilsLabelEXT( VkDebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DebugUtilsObjectNameInfoEXT(
+      DebugUtilsObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DebugUtilsLabelEXT & operator=( VkDebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT const *>( &rhs );
-      return *this;
-    }
+  DebugUtilsObjectNameInfoEXT(VkDebugUtilsObjectNameInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DebugUtilsObjectNameInfoEXT(
+            *reinterpret_cast<DebugUtilsObjectNameInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DebugUtilsLabelEXT & operator=( DebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      pLabelName = rhs.pLabelName;
-      color      = rhs.color;
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT &operator=(
+      DebugUtilsObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DebugUtilsObjectNameInfoEXT &
+  operator=(VkDebugUtilsObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    DebugUtilsLabelEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DebugUtilsObjectNameInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DebugUtilsLabelEXT & setPLabelName( const char * pLabelName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pLabelName = pLabelName_;
-      return *this;
-    }
+  DebugUtilsObjectNameInfoEXT &setObjectType(
+      VULKAN_HPP_NAMESPACE::ObjectType objectType_) VULKAN_HPP_NOEXCEPT {
+    objectType = objectType_;
+    return *this;
+  }
 
-    DebugUtilsLabelEXT & setColor( std::array<float, 4> color_ ) VULKAN_HPP_NOEXCEPT
-    {
-      color = color_;
-      return *this;
-    }
+  DebugUtilsObjectNameInfoEXT &
+  setObjectHandle(uint64_t objectHandle_) VULKAN_HPP_NOEXCEPT {
+    objectHandle = objectHandle_;
+    return *this;
+  }
 
-    operator VkDebugUtilsLabelEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugUtilsLabelEXT *>( this );
-    }
+  DebugUtilsObjectNameInfoEXT &
+  setPObjectName(const char *pObjectName_) VULKAN_HPP_NOEXCEPT {
+    pObjectName = pObjectName_;
+    return *this;
+  }
 
-    operator VkDebugUtilsLabelEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugUtilsLabelEXT *>( this );
-    }
+  operator VkDebugUtilsObjectNameInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugUtilsLabelEXT const & ) const = default;
+  operator VkDebugUtilsObjectNameInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugUtilsObjectNameInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugUtilsObjectNameInfoEXT const &) const = default;
 #else
-    bool operator==( DebugUtilsLabelEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pLabelName == rhs.pLabelName ) &&
-             ( color == rhs.color );
-    }
+  bool
+  operator==(DebugUtilsObjectNameInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (objectType == rhs.objectType) &&
+           (objectHandle == rhs.objectHandle) &&
+           (pObjectName == rhs.pObjectName);
+  }
 
-    bool operator!=( DebugUtilsLabelEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DebugUtilsObjectNameInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType      = StructureType::eDebugUtilsLabelEXT;
-    const void *                                   pNext      = {};
-    const char *                                   pLabelName = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> color      = {};
-  };
-  static_assert( sizeof( DebugUtilsLabelEXT ) == sizeof( VkDebugUtilsLabelEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugUtilsLabelEXT>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugUtilsObjectNameInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ObjectType objectType =
+      VULKAN_HPP_NAMESPACE::ObjectType::eUnknown;
+  uint64_t objectHandle = {};
+  const char *pObjectName = {};
+};
+static_assert(sizeof(DebugUtilsObjectNameInfoEXT) ==
+                  sizeof(VkDebugUtilsObjectNameInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugUtilsObjectNameInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDebugUtilsLabelEXT>
-  {
-    using Type = DebugUtilsLabelEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDebugUtilsObjectNameInfoEXT> {
+  using Type = DebugUtilsObjectNameInfoEXT;
+};
 
-  struct DebugUtilsObjectNameInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDebugUtilsObjectNameInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DebugUtilsObjectNameInfoEXT(
-      VULKAN_HPP_NAMESPACE::ObjectType objectType_   = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown,
-      uint64_t                         objectHandle_ = {},
-      const char *                     pObjectName_  = {} ) VULKAN_HPP_NOEXCEPT
-      : objectType( objectType_ )
-      , objectHandle( objectHandle_ )
-      , pObjectName( pObjectName_ )
-    {}
-
-    DebugUtilsObjectNameInfoEXT( VkDebugUtilsObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DebugUtilsObjectNameInfoEXT & operator=( VkDebugUtilsObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    DebugUtilsObjectNameInfoEXT & operator=( DebugUtilsObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      objectType   = rhs.objectType;
-      objectHandle = rhs.objectHandle;
-      pObjectName  = rhs.pObjectName;
-
-      return *this;
-    }
-
-    DebugUtilsObjectNameInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DebugUtilsObjectNameInfoEXT & setObjectType( VULKAN_HPP_NAMESPACE::ObjectType objectType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectType = objectType_;
-      return *this;
-    }
-
-    DebugUtilsObjectNameInfoEXT & setObjectHandle( uint64_t objectHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectHandle = objectHandle_;
-      return *this;
-    }
-
-    DebugUtilsObjectNameInfoEXT & setPObjectName( const char * pObjectName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pObjectName = pObjectName_;
-      return *this;
-    }
-
-    operator VkDebugUtilsObjectNameInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( this );
-    }
-
-    operator VkDebugUtilsObjectNameInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugUtilsObjectNameInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugUtilsObjectNameInfoEXT const & ) const = default;
-#else
-    bool operator==( DebugUtilsObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) &&
-             ( objectHandle == rhs.objectHandle ) && ( pObjectName == rhs.pObjectName );
-    }
-
-    bool operator!=( DebugUtilsObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eDebugUtilsObjectNameInfoEXT;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::ObjectType          objectType   = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown;
-    uint64_t                                  objectHandle = {};
-    const char *                              pObjectName  = {};
-  };
-  static_assert( sizeof( DebugUtilsObjectNameInfoEXT ) == sizeof( VkDebugUtilsObjectNameInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugUtilsObjectNameInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDebugUtilsObjectNameInfoEXT>
-  {
-    using Type = DebugUtilsObjectNameInfoEXT;
-  };
-
-  struct DebugUtilsMessengerCallbackDataEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DebugUtilsMessengerCallbackDataEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDebugUtilsMessengerCallbackDataEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT(
-      VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_            = {},
-      const char *                                                  pMessageIdName_   = {},
-      int32_t                                                       messageIdNumber_  = {},
-      const char *                                                  pMessage_         = {},
-      uint32_t                                                      queueLabelCount_  = {},
-      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *              pQueueLabels_     = {},
-      uint32_t                                                      cmdBufLabelCount_ = {},
-      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *              pCmdBufLabels_    = {},
-      uint32_t                                                      objectCount_      = {},
-      const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *     pObjects_         = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pMessageIdName( pMessageIdName_ )
-      , messageIdNumber( messageIdNumber_ )
-      , pMessage( pMessage_ )
-      , queueLabelCount( queueLabelCount_ )
-      , pQueueLabels( pQueueLabels_ )
-      , cmdBufLabelCount( cmdBufLabelCount_ )
-      , pCmdBufLabels( pCmdBufLabels_ )
-      , objectCount( objectCount_ )
-      , pObjects( pObjects_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_ = {},
+      const char *pMessageIdName_ = {}, int32_t messageIdNumber_ = {},
+      const char *pMessage_ = {}, uint32_t queueLabelCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pQueueLabels_ = {},
+      uint32_t cmdBufLabelCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pCmdBufLabels_ = {},
+      uint32_t objectCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *pObjects_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            pMessageIdName(pMessageIdName_),
+                            messageIdNumber(messageIdNumber_),
+                            pMessage(pMessage_),
+                            queueLabelCount(queueLabelCount_),
+                            pQueueLabels(pQueueLabels_),
+                            cmdBufLabelCount(cmdBufLabelCount_),
+                            pCmdBufLabels(pCmdBufLabels_),
+                            objectCount(objectCount_),
+                            pObjects(pObjects_) {}
 
-    DebugUtilsMessengerCallbackDataEXT( VkDebugUtilsMessengerCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT(
+      DebugUtilsMessengerCallbackDataEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DebugUtilsMessengerCallbackDataEXT(
+  DebugUtilsMessengerCallbackDataEXT(
+      VkDebugUtilsMessengerCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DebugUtilsMessengerCallbackDataEXT(
+            *reinterpret_cast<DebugUtilsMessengerCallbackDataEXT const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DebugUtilsMessengerCallbackDataEXT(
       VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_,
-      const char *                                                  pMessageIdName_,
-      int32_t                                                       messageIdNumber_,
-      const char *                                                  pMessage_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &
-        queueLabels_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &
-        cmdBufLabels_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT> const &
-        objects_ = {} )
-      : flags( flags_ )
-      , pMessageIdName( pMessageIdName_ )
-      , messageIdNumber( messageIdNumber_ )
-      , pMessage( pMessage_ )
-      , queueLabelCount( static_cast<uint32_t>( queueLabels_.size() ) )
-      , pQueueLabels( queueLabels_.data() )
-      , cmdBufLabelCount( static_cast<uint32_t>( cmdBufLabels_.size() ) )
-      , pCmdBufLabels( cmdBufLabels_.data() )
-      , objectCount( static_cast<uint32_t>( objects_.size() ) )
-      , pObjects( objects_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      const char *pMessageIdName_, int32_t messageIdNumber_,
+      const char *pMessage_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &queueLabels_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &cmdBufLabels_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT> const
+          &objects_ = {})
+      : flags(flags_), pMessageIdName(pMessageIdName_),
+        messageIdNumber(messageIdNumber_), pMessage(pMessage_),
+        queueLabelCount(static_cast<uint32_t>(queueLabels_.size())),
+        pQueueLabels(queueLabels_.data()),
+        cmdBufLabelCount(static_cast<uint32_t>(cmdBufLabels_.size())),
+        pCmdBufLabels(cmdBufLabels_.data()),
+        objectCount(static_cast<uint32_t>(objects_.size())),
+        pObjects(objects_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DebugUtilsMessengerCallbackDataEXT &
-      operator=( VkDebugUtilsMessengerCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT &
+  operator=(DebugUtilsMessengerCallbackDataEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DebugUtilsMessengerCallbackDataEXT & operator=( DebugUtilsMessengerCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      flags            = rhs.flags;
-      pMessageIdName   = rhs.pMessageIdName;
-      messageIdNumber  = rhs.messageIdNumber;
-      pMessage         = rhs.pMessage;
-      queueLabelCount  = rhs.queueLabelCount;
-      pQueueLabels     = rhs.pQueueLabels;
-      cmdBufLabelCount = rhs.cmdBufLabelCount;
-      pCmdBufLabels    = rhs.pCmdBufLabels;
-      objectCount      = rhs.objectCount;
-      pObjects         = rhs.pObjects;
+  DebugUtilsMessengerCallbackDataEXT &operator=(
+      VkDebugUtilsMessengerCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &
+  setPMessageIdName(const char *pMessageIdName_) VULKAN_HPP_NOEXCEPT {
+    pMessageIdName = pMessageIdName_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT & setPMessageIdName( const char * pMessageIdName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pMessageIdName = pMessageIdName_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &
+  setMessageIdNumber(int32_t messageIdNumber_) VULKAN_HPP_NOEXCEPT {
+    messageIdNumber = messageIdNumber_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT & setMessageIdNumber( int32_t messageIdNumber_ ) VULKAN_HPP_NOEXCEPT
-    {
-      messageIdNumber = messageIdNumber_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &
+  setPMessage(const char *pMessage_) VULKAN_HPP_NOEXCEPT {
+    pMessage = pMessage_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT & setPMessage( const char * pMessage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pMessage = pMessage_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &
+  setQueueLabelCount(uint32_t queueLabelCount_) VULKAN_HPP_NOEXCEPT {
+    queueLabelCount = queueLabelCount_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT & setQueueLabelCount( uint32_t queueLabelCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueLabelCount = queueLabelCount_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &
+  setPQueueLabels(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pQueueLabels_)
+      VULKAN_HPP_NOEXCEPT {
+    pQueueLabels = pQueueLabels_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT &
-      setPQueueLabels( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pQueueLabels_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pQueueLabels = pQueueLabels_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DebugUtilsMessengerCallbackDataEXT &setQueueLabels(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &queueLabels_)
+      VULKAN_HPP_NOEXCEPT {
+    queueLabelCount = static_cast<uint32_t>(queueLabels_.size());
+    pQueueLabels = queueLabels_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DebugUtilsMessengerCallbackDataEXT & setQueueLabels(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &
-        queueLabels_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueLabelCount = static_cast<uint32_t>( queueLabels_.size() );
-      pQueueLabels    = queueLabels_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DebugUtilsMessengerCallbackDataEXT &
+  setCmdBufLabelCount(uint32_t cmdBufLabelCount_) VULKAN_HPP_NOEXCEPT {
+    cmdBufLabelCount = cmdBufLabelCount_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT & setCmdBufLabelCount( uint32_t cmdBufLabelCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      cmdBufLabelCount = cmdBufLabelCount_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &setPCmdBufLabels(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pCmdBufLabels_)
+      VULKAN_HPP_NOEXCEPT {
+    pCmdBufLabels = pCmdBufLabels_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT &
-      setPCmdBufLabels( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pCmdBufLabels_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCmdBufLabels = pCmdBufLabels_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DebugUtilsMessengerCallbackDataEXT &setCmdBufLabels(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &cmdBufLabels_)
+      VULKAN_HPP_NOEXCEPT {
+    cmdBufLabelCount = static_cast<uint32_t>(cmdBufLabels_.size());
+    pCmdBufLabels = cmdBufLabels_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DebugUtilsMessengerCallbackDataEXT & setCmdBufLabels(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> const &
-        cmdBufLabels_ ) VULKAN_HPP_NOEXCEPT
-    {
-      cmdBufLabelCount = static_cast<uint32_t>( cmdBufLabels_.size() );
-      pCmdBufLabels    = cmdBufLabels_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DebugUtilsMessengerCallbackDataEXT &
+  setObjectCount(uint32_t objectCount_) VULKAN_HPP_NOEXCEPT {
+    objectCount = objectCount_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT & setObjectCount( uint32_t objectCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectCount = objectCount_;
-      return *this;
-    }
+  DebugUtilsMessengerCallbackDataEXT &setPObjects(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *pObjects_)
+      VULKAN_HPP_NOEXCEPT {
+    pObjects = pObjects_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCallbackDataEXT &
-      setPObjects( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT * pObjects_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pObjects = pObjects_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DebugUtilsMessengerCallbackDataEXT &
+  setObjects(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT> const
+                 &objects_) VULKAN_HPP_NOEXCEPT {
+    objectCount = static_cast<uint32_t>(objects_.size());
+    pObjects = objects_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DebugUtilsMessengerCallbackDataEXT & setObjects(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT> const &
-        objects_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectCount = static_cast<uint32_t>( objects_.size() );
-      pObjects    = objects_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkDebugUtilsMessengerCallbackDataEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>(
+        this);
+  }
 
-    operator VkDebugUtilsMessengerCallbackDataEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( this );
-    }
+  operator VkDebugUtilsMessengerCallbackDataEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugUtilsMessengerCallbackDataEXT *>(this);
+  }
 
-    operator VkDebugUtilsMessengerCallbackDataEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugUtilsMessengerCallbackDataEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugUtilsMessengerCallbackDataEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugUtilsMessengerCallbackDataEXT const &) const = default;
 #else
-    bool operator==( DebugUtilsMessengerCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( pMessageIdName == rhs.pMessageIdName ) && ( messageIdNumber == rhs.messageIdNumber ) &&
-             ( pMessage == rhs.pMessage ) && ( queueLabelCount == rhs.queueLabelCount ) &&
-             ( pQueueLabels == rhs.pQueueLabels ) && ( cmdBufLabelCount == rhs.cmdBufLabelCount ) &&
-             ( pCmdBufLabels == rhs.pCmdBufLabels ) && ( objectCount == rhs.objectCount ) &&
-             ( pObjects == rhs.pObjects );
-    }
+  bool operator==(DebugUtilsMessengerCallbackDataEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pMessageIdName == rhs.pMessageIdName) &&
+           (messageIdNumber == rhs.messageIdNumber) &&
+           (pMessage == rhs.pMessage) &&
+           (queueLabelCount == rhs.queueLabelCount) &&
+           (pQueueLabels == rhs.pQueueLabels) &&
+           (cmdBufLabelCount == rhs.cmdBufLabelCount) &&
+           (pCmdBufLabels == rhs.pCmdBufLabels) &&
+           (objectCount == rhs.objectCount) && (pObjects == rhs.pObjects);
+  }
 
-    bool operator!=( DebugUtilsMessengerCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DebugUtilsMessengerCallbackDataEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDebugUtilsMessengerCallbackDataEXT;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags            = {};
-    const char *                                                  pMessageIdName   = {};
-    int32_t                                                       messageIdNumber  = {};
-    const char *                                                  pMessage         = {};
-    uint32_t                                                      queueLabelCount  = {};
-    const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *              pQueueLabels     = {};
-    uint32_t                                                      cmdBufLabelCount = {};
-    const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *              pCmdBufLabels    = {};
-    uint32_t                                                      objectCount      = {};
-    const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *     pObjects         = {};
-  };
-  static_assert( sizeof( DebugUtilsMessengerCallbackDataEXT ) == sizeof( VkDebugUtilsMessengerCallbackDataEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugUtilsMessengerCallbackDataEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugUtilsMessengerCallbackDataEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags = {};
+  const char *pMessageIdName = {};
+  int32_t messageIdNumber = {};
+  const char *pMessage = {};
+  uint32_t queueLabelCount = {};
+  const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pQueueLabels = {};
+  uint32_t cmdBufLabelCount = {};
+  const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pCmdBufLabels = {};
+  uint32_t objectCount = {};
+  const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *pObjects = {};
+};
+static_assert(sizeof(DebugUtilsMessengerCallbackDataEXT) ==
+                  sizeof(VkDebugUtilsMessengerCallbackDataEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DebugUtilsMessengerCallbackDataEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDebugUtilsMessengerCallbackDataEXT>
-  {
-    using Type = DebugUtilsMessengerCallbackDataEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDebugUtilsMessengerCallbackDataEXT> {
+  using Type = DebugUtilsMessengerCallbackDataEXT;
+};
 
-  struct DebugUtilsMessengerCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsMessengerCreateInfoEXT;
+struct DebugUtilsMessengerCreateInfoEXT {
+  static const bool allowDuplicate = true;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugUtilsMessengerCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DebugUtilsMessengerCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_           = {},
-                                      VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_ = {},
-                                      VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT     messageType_     = {},
-                                      PFN_vkDebugUtilsMessengerCallbackEXT                    pfnUserCallback_ = {},
-                                      void * pUserData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , messageSeverity( messageSeverity_ )
-      , messageType( messageType_ )
-      , pfnUserCallback( pfnUserCallback_ )
-      , pUserData( pUserData_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DebugUtilsMessengerCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_ = {},
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_ =
+          {},
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_ = {},
+      PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_ = {},
+      void *pUserData_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        messageSeverity(messageSeverity_),
+        messageType(messageType_),
+        pfnUserCallback(pfnUserCallback_),
+        pUserData(pUserData_) {}
 
-    DebugUtilsMessengerCreateInfoEXT( VkDebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  DebugUtilsMessengerCreateInfoEXT(DebugUtilsMessengerCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DebugUtilsMessengerCreateInfoEXT & operator=( VkDebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT(
+      VkDebugUtilsMessengerCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DebugUtilsMessengerCreateInfoEXT(
+            *reinterpret_cast<DebugUtilsMessengerCreateInfoEXT const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DebugUtilsMessengerCreateInfoEXT & operator=( DebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      messageSeverity = rhs.messageSeverity;
-      messageType     = rhs.messageType;
-      pfnUserCallback = rhs.pfnUserCallback;
-      pUserData       = rhs.pUserData;
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT &
+  operator=(DebugUtilsMessengerCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT &
+  operator=(VkDebugUtilsMessengerCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    DebugUtilsMessengerCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCreateInfoEXT &
-      setMessageSeverity( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_ ) VULKAN_HPP_NOEXCEPT
-    {
-      messageSeverity = messageSeverity_;
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT &setMessageSeverity(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_)
+      VULKAN_HPP_NOEXCEPT {
+    messageSeverity = messageSeverity_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCreateInfoEXT &
-      setMessageType( VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      messageType = messageType_;
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT &setMessageType(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_)
+      VULKAN_HPP_NOEXCEPT {
+    messageType = messageType_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCreateInfoEXT &
-      setPfnUserCallback( PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pfnUserCallback = pfnUserCallback_;
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT &
+  setPfnUserCallback(PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_)
+      VULKAN_HPP_NOEXCEPT {
+    pfnUserCallback = pfnUserCallback_;
+    return *this;
+  }
 
-    DebugUtilsMessengerCreateInfoEXT & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pUserData = pUserData_;
-      return *this;
-    }
+  DebugUtilsMessengerCreateInfoEXT &
+  setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT {
+    pUserData = pUserData_;
+    return *this;
+  }
 
-    operator VkDebugUtilsMessengerCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( this );
-    }
+  operator VkDebugUtilsMessengerCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(this);
+  }
 
-    operator VkDebugUtilsMessengerCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT *>( this );
-    }
+  operator VkDebugUtilsMessengerCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugUtilsMessengerCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugUtilsMessengerCreateInfoEXT const &) const = default;
 #else
-    bool operator==( DebugUtilsMessengerCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( messageSeverity == rhs.messageSeverity ) && ( messageType == rhs.messageType ) &&
-             ( pfnUserCallback == rhs.pfnUserCallback ) && ( pUserData == rhs.pUserData );
-    }
+  bool operator==(DebugUtilsMessengerCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (messageSeverity == rhs.messageSeverity) &&
+           (messageType == rhs.messageType) &&
+           (pfnUserCallback == rhs.pfnUserCallback) &&
+           (pUserData == rhs.pUserData);
+  }
 
-    bool operator!=( DebugUtilsMessengerCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DebugUtilsMessengerCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType               sType = StructureType::eDebugUtilsMessengerCreateInfoEXT;
-    const void *                                            pNext = {};
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags = {};
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity = {};
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT     messageType     = {};
-    PFN_vkDebugUtilsMessengerCallbackEXT                    pfnUserCallback = {};
-    void *                                                  pUserData       = {};
-  };
-  static_assert( sizeof( DebugUtilsMessengerCreateInfoEXT ) == sizeof( VkDebugUtilsMessengerCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugUtilsMessengerCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugUtilsMessengerCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags = {};
+  VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity = {};
+  VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType = {};
+  PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback = {};
+  void *pUserData = {};
+};
+static_assert(sizeof(DebugUtilsMessengerCreateInfoEXT) ==
+                  sizeof(VkDebugUtilsMessengerCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugUtilsMessengerCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDebugUtilsMessengerCreateInfoEXT>
-  {
-    using Type = DebugUtilsMessengerCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDebugUtilsMessengerCreateInfoEXT> {
+  using Type = DebugUtilsMessengerCreateInfoEXT;
+};
 
-  struct DebugUtilsObjectTagInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDebugUtilsObjectTagInfoEXT;
+struct DebugUtilsObjectTagInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDebugUtilsObjectTagInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DebugUtilsObjectTagInfoEXT(
-      VULKAN_HPP_NAMESPACE::ObjectType objectType_   = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown,
-      uint64_t                         objectHandle_ = {},
-      uint64_t                         tagName_      = {},
-      size_t                           tagSize_      = {},
-      const void *                     pTag_         = {} ) VULKAN_HPP_NOEXCEPT
-      : objectType( objectType_ )
-      , objectHandle( objectHandle_ )
-      , tagName( tagName_ )
-      , tagSize( tagSize_ )
-      , pTag( pTag_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DebugUtilsObjectTagInfoEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_ =
+                                 VULKAN_HPP_NAMESPACE::ObjectType::eUnknown,
+                             uint64_t objectHandle_ = {},
+                             uint64_t tagName_ = {}, size_t tagSize_ = {},
+                             const void *pTag_ = {}) VULKAN_HPP_NOEXCEPT
+      : objectType(objectType_),
+        objectHandle(objectHandle_),
+        tagName(tagName_),
+        tagSize(tagSize_),
+        pTag(pTag_) {}
 
-    DebugUtilsObjectTagInfoEXT( VkDebugUtilsObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR DebugUtilsObjectTagInfoEXT(
+      DebugUtilsObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    DebugUtilsObjectTagInfoEXT( VULKAN_HPP_NAMESPACE::ObjectType                               objectType_,
-                                uint64_t                                                       objectHandle_,
-                                uint64_t                                                       tagName_,
-                                VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & tag_ )
-      : objectType( objectType_ )
-      , objectHandle( objectHandle_ )
-      , tagName( tagName_ )
-      , tagSize( tag_.size() * sizeof( T ) )
-      , pTag( tag_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  DebugUtilsObjectTagInfoEXT(VkDebugUtilsObjectTagInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DebugUtilsObjectTagInfoEXT(
+            *reinterpret_cast<DebugUtilsObjectTagInfoEXT const *>(&rhs)) {}
 
-    DebugUtilsObjectTagInfoEXT & operator=( VkDebugUtilsObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  DebugUtilsObjectTagInfoEXT(
+      VULKAN_HPP_NAMESPACE::ObjectType objectType_, uint64_t objectHandle_,
+      uint64_t tagName_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &tag_)
+      : objectType(objectType_), objectHandle(objectHandle_), tagName(tagName_),
+        tagSize(tag_.size() * sizeof(T)), pTag(tag_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DebugUtilsObjectTagInfoEXT & operator=( DebugUtilsObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      objectType   = rhs.objectType;
-      objectHandle = rhs.objectHandle;
-      tagName      = rhs.tagName;
-      tagSize      = rhs.tagSize;
-      pTag         = rhs.pTag;
+  VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT &operator=(
+      DebugUtilsObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DebugUtilsObjectTagInfoEXT &
+  operator=(VkDebugUtilsObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    DebugUtilsObjectTagInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DebugUtilsObjectTagInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DebugUtilsObjectTagInfoEXT & setObjectType( VULKAN_HPP_NAMESPACE::ObjectType objectType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectType = objectType_;
-      return *this;
-    }
+  DebugUtilsObjectTagInfoEXT &setObjectType(
+      VULKAN_HPP_NAMESPACE::ObjectType objectType_) VULKAN_HPP_NOEXCEPT {
+    objectType = objectType_;
+    return *this;
+  }
 
-    DebugUtilsObjectTagInfoEXT & setObjectHandle( uint64_t objectHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      objectHandle = objectHandle_;
-      return *this;
-    }
+  DebugUtilsObjectTagInfoEXT &
+  setObjectHandle(uint64_t objectHandle_) VULKAN_HPP_NOEXCEPT {
+    objectHandle = objectHandle_;
+    return *this;
+  }
 
-    DebugUtilsObjectTagInfoEXT & setTagName( uint64_t tagName_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tagName = tagName_;
-      return *this;
-    }
+  DebugUtilsObjectTagInfoEXT &
+  setTagName(uint64_t tagName_) VULKAN_HPP_NOEXCEPT {
+    tagName = tagName_;
+    return *this;
+  }
 
-    DebugUtilsObjectTagInfoEXT & setTagSize( size_t tagSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tagSize = tagSize_;
-      return *this;
-    }
+  DebugUtilsObjectTagInfoEXT &setTagSize(size_t tagSize_) VULKAN_HPP_NOEXCEPT {
+    tagSize = tagSize_;
+    return *this;
+  }
 
-    DebugUtilsObjectTagInfoEXT & setPTag( const void * pTag_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pTag = pTag_;
-      return *this;
-    }
+  DebugUtilsObjectTagInfoEXT &setPTag(const void *pTag_) VULKAN_HPP_NOEXCEPT {
+    pTag = pTag_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    DebugUtilsObjectTagInfoEXT &
-      setTag( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & tag_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tagSize = tag_.size() * sizeof( T );
-      pTag    = tag_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  DebugUtilsObjectTagInfoEXT &
+  setTag(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &tag_)
+      VULKAN_HPP_NOEXCEPT {
+    tagSize = tag_.size() * sizeof(T);
+    pTag = tag_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkDebugUtilsObjectTagInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( this );
-    }
+  operator VkDebugUtilsObjectTagInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>(this);
+  }
 
-    operator VkDebugUtilsObjectTagInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDebugUtilsObjectTagInfoEXT *>( this );
-    }
+  operator VkDebugUtilsObjectTagInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDebugUtilsObjectTagInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DebugUtilsObjectTagInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugUtilsObjectTagInfoEXT const &) const = default;
 #else
-    bool operator==( DebugUtilsObjectTagInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) &&
-             ( objectHandle == rhs.objectHandle ) && ( tagName == rhs.tagName ) && ( tagSize == rhs.tagSize ) &&
-             ( pTag == rhs.pTag );
-    }
+  bool
+  operator==(DebugUtilsObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (objectType == rhs.objectType) &&
+           (objectHandle == rhs.objectHandle) && (tagName == rhs.tagName) &&
+           (tagSize == rhs.tagSize) && (pTag == rhs.pTag);
+  }
 
-    bool operator!=( DebugUtilsObjectTagInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DebugUtilsObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eDebugUtilsObjectTagInfoEXT;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::ObjectType          objectType   = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown;
-    uint64_t                                  objectHandle = {};
-    uint64_t                                  tagName      = {};
-    size_t                                    tagSize      = {};
-    const void *                              pTag         = {};
-  };
-  static_assert( sizeof( DebugUtilsObjectTagInfoEXT ) == sizeof( VkDebugUtilsObjectTagInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DebugUtilsObjectTagInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDebugUtilsObjectTagInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ObjectType objectType =
+      VULKAN_HPP_NAMESPACE::ObjectType::eUnknown;
+  uint64_t objectHandle = {};
+  uint64_t tagName = {};
+  size_t tagSize = {};
+  const void *pTag = {};
+};
+static_assert(sizeof(DebugUtilsObjectTagInfoEXT) ==
+                  sizeof(VkDebugUtilsObjectTagInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DebugUtilsObjectTagInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDebugUtilsObjectTagInfoEXT>
-  {
-    using Type = DebugUtilsObjectTagInfoEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDebugUtilsObjectTagInfoEXT> {
+  using Type = DebugUtilsObjectTagInfoEXT;
+};
 
-  struct DedicatedAllocationBufferCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DedicatedAllocationBufferCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDedicatedAllocationBufferCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DedicatedAllocationBufferCreateInfoNV( VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_ = {} )
-      VULKAN_HPP_NOEXCEPT : dedicatedAllocation( dedicatedAllocation_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DedicatedAllocationBufferCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_ = {})
+      VULKAN_HPP_NOEXCEPT : dedicatedAllocation(dedicatedAllocation_) {}
 
-    DedicatedAllocationBufferCreateInfoNV( VkDedicatedAllocationBufferCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DedicatedAllocationBufferCreateInfoNV(
+      DedicatedAllocationBufferCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DedicatedAllocationBufferCreateInfoNV &
-      operator=( VkDedicatedAllocationBufferCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  DedicatedAllocationBufferCreateInfoNV(
+      VkDedicatedAllocationBufferCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : DedicatedAllocationBufferCreateInfoNV(
+            *reinterpret_cast<DedicatedAllocationBufferCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DedicatedAllocationBufferCreateInfoNV &
-      operator=( DedicatedAllocationBufferCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      dedicatedAllocation = rhs.dedicatedAllocation;
+  VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationBufferCreateInfoNV &
+  operator=(DedicatedAllocationBufferCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DedicatedAllocationBufferCreateInfoNV &operator=(
+      VkDedicatedAllocationBufferCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    DedicatedAllocationBufferCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DedicatedAllocationBufferCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DedicatedAllocationBufferCreateInfoNV &
-      setDedicatedAllocation( VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dedicatedAllocation = dedicatedAllocation_;
-      return *this;
-    }
+  DedicatedAllocationBufferCreateInfoNV &setDedicatedAllocation(
+      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_) VULKAN_HPP_NOEXCEPT {
+    dedicatedAllocation = dedicatedAllocation_;
+    return *this;
+  }
 
-    operator VkDedicatedAllocationBufferCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>( this );
-    }
+  operator VkDedicatedAllocationBufferCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>(
+        this);
+  }
 
-    operator VkDedicatedAllocationBufferCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV *>( this );
-    }
+  operator VkDedicatedAllocationBufferCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DedicatedAllocationBufferCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DedicatedAllocationBufferCreateInfoNV const &) const = default;
 #else
-    bool operator==( DedicatedAllocationBufferCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dedicatedAllocation == rhs.dedicatedAllocation );
-    }
+  bool operator==(DedicatedAllocationBufferCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (dedicatedAllocation == rhs.dedicatedAllocation);
+  }
 
-    bool operator!=( DedicatedAllocationBufferCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DedicatedAllocationBufferCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDedicatedAllocationBufferCreateInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              dedicatedAllocation = {};
-  };
-  static_assert( sizeof( DedicatedAllocationBufferCreateInfoNV ) == sizeof( VkDedicatedAllocationBufferCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DedicatedAllocationBufferCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDedicatedAllocationBufferCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation = {};
+};
+static_assert(sizeof(DedicatedAllocationBufferCreateInfoNV) ==
+                  sizeof(VkDedicatedAllocationBufferCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DedicatedAllocationBufferCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDedicatedAllocationBufferCreateInfoNV>
-  {
-    using Type = DedicatedAllocationBufferCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDedicatedAllocationBufferCreateInfoNV> {
+  using Type = DedicatedAllocationBufferCreateInfoNV;
+};
 
-  struct DedicatedAllocationImageCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DedicatedAllocationImageCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDedicatedAllocationImageCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DedicatedAllocationImageCreateInfoNV( VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_ = {} ) VULKAN_HPP_NOEXCEPT
-      : dedicatedAllocation( dedicatedAllocation_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DedicatedAllocationImageCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_ = {})
+      VULKAN_HPP_NOEXCEPT : dedicatedAllocation(dedicatedAllocation_) {}
 
-    DedicatedAllocationImageCreateInfoNV( VkDedicatedAllocationImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DedicatedAllocationImageCreateInfoNV(
+      DedicatedAllocationImageCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DedicatedAllocationImageCreateInfoNV &
-      operator=( VkDedicatedAllocationImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  DedicatedAllocationImageCreateInfoNV(
+      VkDedicatedAllocationImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : DedicatedAllocationImageCreateInfoNV(
+            *reinterpret_cast<DedicatedAllocationImageCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DedicatedAllocationImageCreateInfoNV &
-      operator=( DedicatedAllocationImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      dedicatedAllocation = rhs.dedicatedAllocation;
+  VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationImageCreateInfoNV &
+  operator=(DedicatedAllocationImageCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DedicatedAllocationImageCreateInfoNV &operator=(
+      VkDedicatedAllocationImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    DedicatedAllocationImageCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DedicatedAllocationImageCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DedicatedAllocationImageCreateInfoNV &
-      setDedicatedAllocation( VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dedicatedAllocation = dedicatedAllocation_;
-      return *this;
-    }
+  DedicatedAllocationImageCreateInfoNV &setDedicatedAllocation(
+      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_) VULKAN_HPP_NOEXCEPT {
+    dedicatedAllocation = dedicatedAllocation_;
+    return *this;
+  }
 
-    operator VkDedicatedAllocationImageCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>( this );
-    }
+  operator VkDedicatedAllocationImageCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>(
+        this);
+  }
 
-    operator VkDedicatedAllocationImageCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV *>( this );
-    }
+  operator VkDedicatedAllocationImageCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DedicatedAllocationImageCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DedicatedAllocationImageCreateInfoNV const &) const = default;
 #else
-    bool operator==( DedicatedAllocationImageCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dedicatedAllocation == rhs.dedicatedAllocation );
-    }
+  bool operator==(DedicatedAllocationImageCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (dedicatedAllocation == rhs.dedicatedAllocation);
+  }
 
-    bool operator!=( DedicatedAllocationImageCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DedicatedAllocationImageCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDedicatedAllocationImageCreateInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              dedicatedAllocation = {};
-  };
-  static_assert( sizeof( DedicatedAllocationImageCreateInfoNV ) == sizeof( VkDedicatedAllocationImageCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DedicatedAllocationImageCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDedicatedAllocationImageCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation = {};
+};
+static_assert(sizeof(DedicatedAllocationImageCreateInfoNV) ==
+                  sizeof(VkDedicatedAllocationImageCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DedicatedAllocationImageCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDedicatedAllocationImageCreateInfoNV>
-  {
-    using Type = DedicatedAllocationImageCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDedicatedAllocationImageCreateInfoNV> {
+  using Type = DedicatedAllocationImageCreateInfoNV;
+};
 
-  struct DedicatedAllocationMemoryAllocateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DedicatedAllocationMemoryAllocateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDedicatedAllocationMemoryAllocateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DedicatedAllocationMemoryAllocateInfoNV( VULKAN_HPP_NAMESPACE::Image  image_  = {},
-                                             VULKAN_HPP_NAMESPACE::Buffer buffer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : image( image_ )
-      , buffer( buffer_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DedicatedAllocationMemoryAllocateInfoNV(
+      VULKAN_HPP_NAMESPACE::Image image_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {}) VULKAN_HPP_NOEXCEPT
+      : image(image_),
+        buffer(buffer_) {}
 
-    DedicatedAllocationMemoryAllocateInfoNV( VkDedicatedAllocationMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DedicatedAllocationMemoryAllocateInfoNV(
+      DedicatedAllocationMemoryAllocateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DedicatedAllocationMemoryAllocateInfoNV &
-      operator=( VkDedicatedAllocationMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV const *>( &rhs );
-      return *this;
-    }
+  DedicatedAllocationMemoryAllocateInfoNV(
+      VkDedicatedAllocationMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : DedicatedAllocationMemoryAllocateInfoNV(
+            *reinterpret_cast<DedicatedAllocationMemoryAllocateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DedicatedAllocationMemoryAllocateInfoNV &
-      operator=( DedicatedAllocationMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      image  = rhs.image;
-      buffer = rhs.buffer;
+  VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationMemoryAllocateInfoNV &
+  operator=(DedicatedAllocationMemoryAllocateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DedicatedAllocationMemoryAllocateInfoNV &
+  operator=(VkDedicatedAllocationMemoryAllocateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    DedicatedAllocationMemoryAllocateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DedicatedAllocationMemoryAllocateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DedicatedAllocationMemoryAllocateInfoNV & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
+  DedicatedAllocationMemoryAllocateInfoNV &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
 
-    DedicatedAllocationMemoryAllocateInfoNV & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
+  DedicatedAllocationMemoryAllocateInfoNV &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
 
-    operator VkDedicatedAllocationMemoryAllocateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>( this );
-    }
+  operator VkDedicatedAllocationMemoryAllocateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>(
+        this);
+  }
 
-    operator VkDedicatedAllocationMemoryAllocateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV *>( this );
-    }
+  operator VkDedicatedAllocationMemoryAllocateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DedicatedAllocationMemoryAllocateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DedicatedAllocationMemoryAllocateInfoNV const &) const = default;
 #else
-    bool operator==( DedicatedAllocationMemoryAllocateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( buffer == rhs.buffer );
-    }
+  bool operator==(DedicatedAllocationMemoryAllocateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (image == rhs.image) && (buffer == rhs.buffer);
+  }
 
-    bool operator!=( DedicatedAllocationMemoryAllocateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DedicatedAllocationMemoryAllocateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eDedicatedAllocationMemoryAllocateInfoNV;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::Image               image  = {};
-    VULKAN_HPP_NAMESPACE::Buffer              buffer = {};
-  };
-  static_assert( sizeof( DedicatedAllocationMemoryAllocateInfoNV ) ==
-                   sizeof( VkDedicatedAllocationMemoryAllocateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DedicatedAllocationMemoryAllocateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDedicatedAllocationMemoryAllocateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+};
+static_assert(sizeof(DedicatedAllocationMemoryAllocateInfoNV) ==
+                  sizeof(VkDedicatedAllocationMemoryAllocateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DedicatedAllocationMemoryAllocateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDedicatedAllocationMemoryAllocateInfoNV>
-  {
-    using Type = DedicatedAllocationMemoryAllocateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDedicatedAllocationMemoryAllocateInfoNV> {
+  using Type = DedicatedAllocationMemoryAllocateInfoNV;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct DeferredOperationInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeferredOperationInfoKHR;
+struct DescriptorPoolSize {
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DeferredOperationInfoKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operationHandle_ = {} ) VULKAN_HPP_NOEXCEPT
-      : operationHandle( operationHandle_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DescriptorPoolSize(VULKAN_HPP_NAMESPACE::DescriptorType type_ =
+                         VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
+                     uint32_t descriptorCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : type(type_),
+        descriptorCount(descriptorCount_) {}
 
-    DeferredOperationInfoKHR( VkDeferredOperationInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DescriptorPoolSize(DescriptorPoolSize const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DeferredOperationInfoKHR & operator=( VkDeferredOperationInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeferredOperationInfoKHR const *>( &rhs );
-      return *this;
-    }
+  DescriptorPoolSize(VkDescriptorPoolSize const &rhs) VULKAN_HPP_NOEXCEPT
+      : DescriptorPoolSize(
+            *reinterpret_cast<DescriptorPoolSize const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeferredOperationInfoKHR & operator=( DeferredOperationInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      operationHandle = rhs.operationHandle;
+  VULKAN_HPP_CONSTEXPR_14 DescriptorPoolSize &
+  operator=(DescriptorPoolSize const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DescriptorPoolSize &
+  operator=(VkDescriptorPoolSize const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorPoolSize const *>(
+        &rhs);
+    return *this;
+  }
 
-    DeferredOperationInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DescriptorPoolSize &
+  setType(VULKAN_HPP_NAMESPACE::DescriptorType type_) VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
 
-    DeferredOperationInfoKHR &
-      setOperationHandle( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operationHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      operationHandle = operationHandle_;
-      return *this;
-    }
+  DescriptorPoolSize &
+  setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorCount = descriptorCount_;
+    return *this;
+  }
 
-    operator VkDeferredOperationInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeferredOperationInfoKHR *>( this );
-    }
+  operator VkDescriptorPoolSize const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorPoolSize *>(this);
+  }
 
-    operator VkDeferredOperationInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeferredOperationInfoKHR *>( this );
-    }
+  operator VkDescriptorPoolSize &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorPoolSize *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeferredOperationInfoKHR const & ) const = default;
-#  else
-    bool operator==( DeferredOperationInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( operationHandle == rhs.operationHandle );
-    }
-
-    bool operator!=( DeferredOperationInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType           = StructureType::eDeferredOperationInfoKHR;
-    const void *                               pNext           = {};
-    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operationHandle = {};
-  };
-  static_assert( sizeof( DeferredOperationInfoKHR ) == sizeof( VkDeferredOperationInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeferredOperationInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeferredOperationInfoKHR>
-  {
-    using Type = DeferredOperationInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  struct DescriptorBufferInfo
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorBufferInfo( VULKAN_HPP_NAMESPACE::Buffer     buffer_ = {},
-                                               VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
-                                               VULKAN_HPP_NAMESPACE::DeviceSize range_  = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-      , offset( offset_ )
-      , range( range_ )
-    {}
-
-    DescriptorBufferInfo( VkDescriptorBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DescriptorBufferInfo & operator=( VkDescriptorBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorBufferInfo const *>( &rhs );
-      return *this;
-    }
-
-    DescriptorBufferInfo & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
-
-    DescriptorBufferInfo & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
-
-    DescriptorBufferInfo & setRange( VULKAN_HPP_NAMESPACE::DeviceSize range_ ) VULKAN_HPP_NOEXCEPT
-    {
-      range = range_;
-      return *this;
-    }
-
-    operator VkDescriptorBufferInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorBufferInfo *>( this );
-    }
-
-    operator VkDescriptorBufferInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorBufferInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorBufferInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorPoolSize const &) const = default;
 #else
-    bool operator==( DescriptorBufferInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( range == rhs.range );
-    }
+  bool operator==(DescriptorPoolSize const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (type == rhs.type) && (descriptorCount == rhs.descriptorCount);
+  }
 
-    bool operator!=( DescriptorBufferInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorPoolSize const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::Buffer     buffer = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize range  = {};
-  };
-  static_assert( sizeof( DescriptorBufferInfo ) == sizeof( VkDescriptorBufferInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorBufferInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::DescriptorType type =
+      VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
+  uint32_t descriptorCount = {};
+};
+static_assert(sizeof(DescriptorPoolSize) == sizeof(VkDescriptorPoolSize),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorPoolSize>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct DescriptorImageInfo
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorImageInfo( VULKAN_HPP_NAMESPACE::Sampler     sampler_   = {},
-                                              VULKAN_HPP_NAMESPACE::ImageView   imageView_ = {},
-                                              VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ =
-                                                VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined ) VULKAN_HPP_NOEXCEPT
-      : sampler( sampler_ )
-      , imageView( imageView_ )
-      , imageLayout( imageLayout_ )
-    {}
+struct DescriptorPoolCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDescriptorPoolCreateInfo;
 
-    DescriptorImageInfo( VkDescriptorImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo(
+      VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_ = {},
+      uint32_t maxSets_ = {}, uint32_t poolSizeCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorPoolSize *pPoolSizes_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            maxSets(maxSets_),
+                            poolSizeCount(poolSizeCount_),
+                            pPoolSizes(pPoolSizes_) {}
 
-    DescriptorImageInfo & operator=( VkDescriptorImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorImageInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo(
+      DescriptorPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorImageInfo & setSampler( VULKAN_HPP_NAMESPACE::Sampler sampler_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampler = sampler_;
-      return *this;
-    }
-
-    DescriptorImageInfo & setImageView( VULKAN_HPP_NAMESPACE::ImageView imageView_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageView = imageView_;
-      return *this;
-    }
-
-    DescriptorImageInfo & setImageLayout( VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageLayout = imageLayout_;
-      return *this;
-    }
-
-    operator VkDescriptorImageInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorImageInfo *>( this );
-    }
-
-    operator VkDescriptorImageInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorImageInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorImageInfo const & ) const = default;
-#else
-    bool operator==( DescriptorImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sampler == rhs.sampler ) && ( imageView == rhs.imageView ) && ( imageLayout == rhs.imageLayout );
-    }
-
-    bool operator!=( DescriptorImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Sampler     sampler     = {};
-    VULKAN_HPP_NAMESPACE::ImageView   imageView   = {};
-    VULKAN_HPP_NAMESPACE::ImageLayout imageLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-  };
-  static_assert( sizeof( DescriptorImageInfo ) == sizeof( VkDescriptorImageInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorImageInfo>::value, "struct wrapper is not a standard layout!" );
-
-  struct DescriptorPoolSize
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DescriptorPoolSize( VULKAN_HPP_NAMESPACE::DescriptorType type_ = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
-                        uint32_t                             descriptorCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , descriptorCount( descriptorCount_ )
-    {}
-
-    DescriptorPoolSize( VkDescriptorPoolSize const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DescriptorPoolSize & operator=( VkDescriptorPoolSize const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorPoolSize const *>( &rhs );
-      return *this;
-    }
-
-    DescriptorPoolSize & setType( VULKAN_HPP_NAMESPACE::DescriptorType type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    DescriptorPoolSize & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount = descriptorCount_;
-      return *this;
-    }
-
-    operator VkDescriptorPoolSize const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorPoolSize *>( this );
-    }
-
-    operator VkDescriptorPoolSize &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorPoolSize *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorPoolSize const & ) const = default;
-#else
-    bool operator==( DescriptorPoolSize const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( type == rhs.type ) && ( descriptorCount == rhs.descriptorCount );
-    }
-
-    bool operator!=( DescriptorPoolSize const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DescriptorType type            = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
-    uint32_t                             descriptorCount = {};
-  };
-  static_assert( sizeof( DescriptorPoolSize ) == sizeof( VkDescriptorPoolSize ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorPoolSize>::value, "struct wrapper is not a standard layout!" );
-
-  struct DescriptorPoolCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDescriptorPoolCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DescriptorPoolCreateInfo( VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags  flags_         = {},
-                              uint32_t                                         maxSets_       = {},
-                              uint32_t                                         poolSizeCount_ = {},
-                              const VULKAN_HPP_NAMESPACE::DescriptorPoolSize * pPoolSizes_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , maxSets( maxSets_ )
-      , poolSizeCount( poolSizeCount_ )
-      , pPoolSizes( pPoolSizes_ )
-    {}
-
-    DescriptorPoolCreateInfo( VkDescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorPoolCreateInfo(
-      VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags                                                       flags_,
-      uint32_t                                                                                              maxSets_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorPoolSize> const & poolSizes_ )
-      : flags( flags_ )
-      , maxSets( maxSets_ )
-      , poolSizeCount( static_cast<uint32_t>( poolSizes_.size() ) )
-      , pPoolSizes( poolSizes_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DescriptorPoolCreateInfo & operator=( VkDescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    DescriptorPoolCreateInfo & operator=( DescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      flags         = rhs.flags;
-      maxSets       = rhs.maxSets;
-      poolSizeCount = rhs.poolSizeCount;
-      pPoolSizes    = rhs.pPoolSizes;
-
-      return *this;
-    }
-
-    DescriptorPoolCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DescriptorPoolCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    DescriptorPoolCreateInfo & setMaxSets( uint32_t maxSets_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxSets = maxSets_;
-      return *this;
-    }
-
-    DescriptorPoolCreateInfo & setPoolSizeCount( uint32_t poolSizeCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      poolSizeCount = poolSizeCount_;
-      return *this;
-    }
-
-    DescriptorPoolCreateInfo &
-      setPPoolSizes( const VULKAN_HPP_NAMESPACE::DescriptorPoolSize * pPoolSizes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPoolSizes = pPoolSizes_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorPoolCreateInfo & setPoolSizes(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorPoolSize> const & poolSizes_ )
+  DescriptorPoolCreateInfo(VkDescriptorPoolCreateInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      poolSizeCount = static_cast<uint32_t>( poolSizes_.size() );
-      pPoolSizes    = poolSizes_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : DescriptorPoolCreateInfo(
+            *reinterpret_cast<DescriptorPoolCreateInfo const *>(&rhs)) {}
 
-    operator VkDescriptorPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorPoolCreateInfo *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorPoolCreateInfo(
+      VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_, uint32_t maxSets_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorPoolSize> const &poolSizes_)
+      : flags(flags_), maxSets(maxSets_),
+        poolSizeCount(static_cast<uint32_t>(poolSizes_.size())),
+        pPoolSizes(poolSizes_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkDescriptorPoolCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorPoolCreateInfo *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo &
+  operator=(DescriptorPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorPoolCreateInfo const & ) const = default;
+  DescriptorPoolCreateInfo &
+  operator=(VkDescriptorPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  DescriptorPoolCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DescriptorPoolCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  DescriptorPoolCreateInfo &setMaxSets(uint32_t maxSets_) VULKAN_HPP_NOEXCEPT {
+    maxSets = maxSets_;
+    return *this;
+  }
+
+  DescriptorPoolCreateInfo &
+  setPoolSizeCount(uint32_t poolSizeCount_) VULKAN_HPP_NOEXCEPT {
+    poolSizeCount = poolSizeCount_;
+    return *this;
+  }
+
+  DescriptorPoolCreateInfo &
+  setPPoolSizes(const VULKAN_HPP_NAMESPACE::DescriptorPoolSize *pPoolSizes_)
+      VULKAN_HPP_NOEXCEPT {
+    pPoolSizes = pPoolSizes_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorPoolCreateInfo &setPoolSizes(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorPoolSize> const &poolSizes_)
+      VULKAN_HPP_NOEXCEPT {
+    poolSizeCount = static_cast<uint32_t>(poolSizes_.size());
+    pPoolSizes = poolSizes_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkDescriptorPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorPoolCreateInfo *>(this);
+  }
+
+  operator VkDescriptorPoolCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorPoolCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorPoolCreateInfo const &) const = default;
 #else
-    bool operator==( DescriptorPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( maxSets == rhs.maxSets ) &&
-             ( poolSizeCount == rhs.poolSizeCount ) && ( pPoolSizes == rhs.pPoolSizes );
-    }
+  bool
+  operator==(DescriptorPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (maxSets == rhs.maxSets) &&
+           (poolSizeCount == rhs.poolSizeCount) &&
+           (pPoolSizes == rhs.pPoolSizes);
+  }
 
-    bool operator!=( DescriptorPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DescriptorPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType         = StructureType::eDescriptorPoolCreateInfo;
-    const void *                                     pNext         = {};
-    VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags  flags         = {};
-    uint32_t                                         maxSets       = {};
-    uint32_t                                         poolSizeCount = {};
-    const VULKAN_HPP_NAMESPACE::DescriptorPoolSize * pPoolSizes    = {};
-  };
-  static_assert( sizeof( DescriptorPoolCreateInfo ) == sizeof( VkDescriptorPoolCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorPoolCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorPoolCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags = {};
+  uint32_t maxSets = {};
+  uint32_t poolSizeCount = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorPoolSize *pPoolSizes = {};
+};
+static_assert(sizeof(DescriptorPoolCreateInfo) ==
+                  sizeof(VkDescriptorPoolCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorPoolCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorPoolCreateInfo>
-  {
-    using Type = DescriptorPoolCreateInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDescriptorPoolCreateInfo> {
+  using Type = DescriptorPoolCreateInfo;
+};
 
-  struct DescriptorPoolInlineUniformBlockCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DescriptorPoolInlineUniformBlockCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DescriptorPoolInlineUniformBlockCreateInfoEXT( uint32_t maxInlineUniformBlockBindings_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxInlineUniformBlockBindings( maxInlineUniformBlockBindings_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorPoolInlineUniformBlockCreateInfoEXT(
+      uint32_t maxInlineUniformBlockBindings_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxInlineUniformBlockBindings(maxInlineUniformBlockBindings_) {}
 
-    DescriptorPoolInlineUniformBlockCreateInfoEXT( VkDescriptorPoolInlineUniformBlockCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR DescriptorPoolInlineUniformBlockCreateInfoEXT(
+      DescriptorPoolInlineUniformBlockCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorPoolInlineUniformBlockCreateInfoEXT(
+      VkDescriptorPoolInlineUniformBlockCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : DescriptorPoolInlineUniformBlockCreateInfoEXT(
+            *reinterpret_cast<
+                DescriptorPoolInlineUniformBlockCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorPoolInlineUniformBlockCreateInfoEXT &
-      operator=( VkDescriptorPoolInlineUniformBlockCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorPoolInlineUniformBlockCreateInfoEXT &
+  operator=(DescriptorPoolInlineUniformBlockCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorPoolInlineUniformBlockCreateInfoEXT &
-      operator=( DescriptorPoolInlineUniformBlockCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      maxInlineUniformBlockBindings = rhs.maxInlineUniformBlockBindings;
+  DescriptorPoolInlineUniformBlockCreateInfoEXT &
+  operator=(VkDescriptorPoolInlineUniformBlockCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            DescriptorPoolInlineUniformBlockCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  DescriptorPoolInlineUniformBlockCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DescriptorPoolInlineUniformBlockCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DescriptorPoolInlineUniformBlockCreateInfoEXT &
+  setMaxInlineUniformBlockBindings(uint32_t maxInlineUniformBlockBindings_)
+      VULKAN_HPP_NOEXCEPT {
+    maxInlineUniformBlockBindings = maxInlineUniformBlockBindings_;
+    return *this;
+  }
 
-    DescriptorPoolInlineUniformBlockCreateInfoEXT &
-      setMaxInlineUniformBlockBindings( uint32_t maxInlineUniformBlockBindings_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxInlineUniformBlockBindings = maxInlineUniformBlockBindings_;
-      return *this;
-    }
+  operator VkDescriptorPoolInlineUniformBlockCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(this);
+  }
 
-    operator VkDescriptorPoolInlineUniformBlockCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>( this );
-    }
+  operator VkDescriptorPoolInlineUniformBlockCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkDescriptorPoolInlineUniformBlockCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorPoolInlineUniformBlockCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      DescriptorPoolInlineUniformBlockCreateInfoEXT const &) const = default;
 #else
-    bool operator==( DescriptorPoolInlineUniformBlockCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxInlineUniformBlockBindings == rhs.maxInlineUniformBlockBindings );
-    }
+  bool operator==(DescriptorPoolInlineUniformBlockCreateInfoEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxInlineUniformBlockBindings == rhs.maxInlineUniformBlockBindings);
+  }
 
-    bool operator!=( DescriptorPoolInlineUniformBlockCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorPoolInlineUniformBlockCreateInfoEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT;
-    const void *                              pNext = {};
-    uint32_t                                  maxInlineUniformBlockBindings = {};
-  };
-  static_assert( sizeof( DescriptorPoolInlineUniformBlockCreateInfoEXT ) ==
-                   sizeof( VkDescriptorPoolInlineUniformBlockCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorPoolInlineUniformBlockCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT;
+  const void *pNext = {};
+  uint32_t maxInlineUniformBlockBindings = {};
+};
+static_assert(sizeof(DescriptorPoolInlineUniformBlockCreateInfoEXT) ==
+                  sizeof(VkDescriptorPoolInlineUniformBlockCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  DescriptorPoolInlineUniformBlockCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT>
-  {
-    using Type = DescriptorPoolInlineUniformBlockCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT> {
+  using Type = DescriptorPoolInlineUniformBlockCreateInfoEXT;
+};
 
-  struct DescriptorSetAllocateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDescriptorSetAllocateInfo;
+class DescriptorPool {
+public:
+  using CType = VkDescriptorPool;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorSetAllocateInfo(
-      VULKAN_HPP_NAMESPACE::DescriptorPool              descriptorPool_     = {},
-      uint32_t                                          descriptorSetCount_ = {},
-      const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts_        = {} ) VULKAN_HPP_NOEXCEPT
-      : descriptorPool( descriptorPool_ )
-      , descriptorSetCount( descriptorSetCount_ )
-      , pSetLayouts( pSetLayouts_ )
-    {}
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorPool;
 
-    DescriptorSetAllocateInfo( VkDescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+public:
+  VULKAN_HPP_CONSTEXPR DescriptorPool() = default;
+  VULKAN_HPP_CONSTEXPR DescriptorPool(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  DescriptorPool(VkDescriptorPool descriptorPool) VULKAN_HPP_NOEXCEPT
+      : m_descriptorPool(descriptorPool) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetAllocateInfo(
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DescriptorPool &
+  operator=(VkDescriptorPool descriptorPool) VULKAN_HPP_NOEXCEPT {
+    m_descriptorPool = descriptorPool;
+    return *this;
+  }
+#endif
+
+  DescriptorPool &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_descriptorPool = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorPool const &) const = default;
+#else
+  bool operator==(DescriptorPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorPool == rhs.m_descriptorPool;
+  }
+
+  bool operator!=(DescriptorPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorPool != rhs.m_descriptorPool;
+  }
+
+  bool operator<(DescriptorPool const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorPool < rhs.m_descriptorPool;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDescriptorPool() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorPool;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorPool != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorPool == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDescriptorPool m_descriptorPool = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DescriptorPool) ==
+                  sizeof(VkDescriptorPool),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDescriptorPool> {
+  using type = VULKAN_HPP_NAMESPACE::DescriptorPool;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorPool;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorPool> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorPool;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorPool> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+class DescriptorSetLayout {
+public:
+  using CType = VkDescriptorSetLayout;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSetLayout;
+
+public:
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayout() = default;
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayout(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+  }
+  VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSetLayout(
+      VkDescriptorSetLayout descriptorSetLayout) VULKAN_HPP_NOEXCEPT
+      : m_descriptorSetLayout(descriptorSetLayout) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DescriptorSetLayout &
+  operator=(VkDescriptorSetLayout descriptorSetLayout) VULKAN_HPP_NOEXCEPT {
+    m_descriptorSetLayout = descriptorSetLayout;
+    return *this;
+  }
+#endif
+
+  DescriptorSetLayout &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_descriptorSetLayout = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSetLayout const &) const = default;
+#else
+  bool operator==(DescriptorSetLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSetLayout == rhs.m_descriptorSetLayout;
+  }
+
+  bool operator!=(DescriptorSetLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSetLayout != rhs.m_descriptorSetLayout;
+  }
+
+  bool operator<(DescriptorSetLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSetLayout < rhs.m_descriptorSetLayout;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDescriptorSetLayout() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSetLayout;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSetLayout != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_descriptorSetLayout == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDescriptorSetLayout m_descriptorSetLayout = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DescriptorSetLayout) ==
+                  sizeof(VkDescriptorSetLayout),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDescriptorSetLayout> {
+  using type = VULKAN_HPP_NAMESPACE::DescriptorSetLayout;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorSetLayout;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSetLayout> {
+  using Type = VULKAN_HPP_NAMESPACE::DescriptorSetLayout;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DescriptorSetLayout> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct DescriptorSetAllocateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDescriptorSetAllocateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorSetAllocateInfo(
+      VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_ = {},
+      uint32_t descriptorSetCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_ = {})
+      VULKAN_HPP_NOEXCEPT : descriptorPool(descriptorPool_),
+                            descriptorSetCount(descriptorSetCount_),
+                            pSetLayouts(pSetLayouts_) {}
+
+  VULKAN_HPP_CONSTEXPR DescriptorSetAllocateInfo(
+      DescriptorSetAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorSetAllocateInfo(VkDescriptorSetAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DescriptorSetAllocateInfo(
+            *reinterpret_cast<DescriptorSetAllocateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetAllocateInfo(
       VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &
-        setLayouts_ )
-      : descriptorPool( descriptorPool_ )
-      , descriptorSetCount( static_cast<uint32_t>( setLayouts_.size() ) )
-      , pSetLayouts( setLayouts_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &setLayouts_)
+      : descriptorPool(descriptorPool_),
+        descriptorSetCount(static_cast<uint32_t>(setLayouts_.size())),
+        pSetLayouts(setLayouts_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorSetAllocateInfo & operator=( VkDescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo &
+  operator=(DescriptorSetAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorSetAllocateInfo & operator=( DescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      descriptorPool     = rhs.descriptorPool;
-      descriptorSetCount = rhs.descriptorSetCount;
-      pSetLayouts        = rhs.pSetLayouts;
+  DescriptorSetAllocateInfo &
+  operator=(VkDescriptorSetAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  DescriptorSetAllocateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DescriptorSetAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DescriptorSetAllocateInfo &
+  setDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorPool = descriptorPool_;
+    return *this;
+  }
 
-    DescriptorSetAllocateInfo &
-      setDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorPool = descriptorPool_;
-      return *this;
-    }
+  DescriptorSetAllocateInfo &
+  setDescriptorSetCount(uint32_t descriptorSetCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorSetCount = descriptorSetCount_;
+    return *this;
+  }
 
-    DescriptorSetAllocateInfo & setDescriptorSetCount( uint32_t descriptorSetCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorSetCount = descriptorSetCount_;
-      return *this;
-    }
+  DescriptorSetAllocateInfo &
+  setPSetLayouts(const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    pSetLayouts = pSetLayouts_;
+    return *this;
+  }
 
-    DescriptorSetAllocateInfo &
-      setPSetLayouts( const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSetLayouts = pSetLayouts_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetAllocateInfo &setSetLayouts(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &setLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorSetCount = static_cast<uint32_t>(setLayouts_.size());
+    pSetLayouts = setLayouts_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetAllocateInfo & setSetLayouts(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &
-        setLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorSetCount = static_cast<uint32_t>( setLayouts_.size() );
-      pSetLayouts        = setLayouts_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkDescriptorSetAllocateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorSetAllocateInfo *>(this);
+  }
 
-    operator VkDescriptorSetAllocateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorSetAllocateInfo *>( this );
-    }
+  operator VkDescriptorSetAllocateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorSetAllocateInfo *>(this);
+  }
 
-    operator VkDescriptorSetAllocateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorSetAllocateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetAllocateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSetAllocateInfo const &) const = default;
 #else
-    bool operator==( DescriptorSetAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorPool == rhs.descriptorPool ) &&
-             ( descriptorSetCount == rhs.descriptorSetCount ) && ( pSetLayouts == rhs.pSetLayouts );
-    }
+  bool
+  operator==(DescriptorSetAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (descriptorPool == rhs.descriptorPool) &&
+           (descriptorSetCount == rhs.descriptorSetCount) &&
+           (pSetLayouts == rhs.pSetLayouts);
+  }
 
-    bool operator!=( DescriptorSetAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DescriptorSetAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType              = StructureType::eDescriptorSetAllocateInfo;
-    const void *                                      pNext              = {};
-    VULKAN_HPP_NAMESPACE::DescriptorPool              descriptorPool     = {};
-    uint32_t                                          descriptorSetCount = {};
-    const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts        = {};
-  };
-  static_assert( sizeof( DescriptorSetAllocateInfo ) == sizeof( VkDescriptorSetAllocateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorSetAllocateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorSetAllocateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool = {};
+  uint32_t descriptorSetCount = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts = {};
+};
+static_assert(sizeof(DescriptorSetAllocateInfo) ==
+                  sizeof(VkDescriptorSetAllocateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorSetAllocateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorSetAllocateInfo>
-  {
-    using Type = DescriptorSetAllocateInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDescriptorSetAllocateInfo> {
+  using Type = DescriptorSetAllocateInfo;
+};
 
-  struct DescriptorSetLayoutBinding
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBinding(
-      uint32_t                               binding_            = {},
-      VULKAN_HPP_NAMESPACE::DescriptorType   descriptorType_     = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
-      uint32_t                               descriptorCount_    = {},
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_         = {},
-      const VULKAN_HPP_NAMESPACE::Sampler *  pImmutableSamplers_ = {} ) VULKAN_HPP_NOEXCEPT
-      : binding( binding_ )
-      , descriptorType( descriptorType_ )
-      , descriptorCount( descriptorCount_ )
-      , stageFlags( stageFlags_ )
-      , pImmutableSamplers( pImmutableSamplers_ )
-    {}
+struct DescriptorSetLayoutBinding {
 
-    DescriptorSetLayoutBinding( VkDescriptorSetLayoutBinding const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBinding(
+      uint32_t binding_ = {},
+      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ =
+          VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
+      uint32_t descriptorCount_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_ = {},
+      const VULKAN_HPP_NAMESPACE::Sampler *pImmutableSamplers_ = {})
+      VULKAN_HPP_NOEXCEPT : binding(binding_),
+                            descriptorType(descriptorType_),
+                            descriptorCount(descriptorCount_),
+                            stageFlags(stageFlags_),
+                            pImmutableSamplers(pImmutableSamplers_) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetLayoutBinding(
-      uint32_t                                                                                   binding_,
-      VULKAN_HPP_NAMESPACE::DescriptorType                                                       descriptorType_,
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags                                                     stageFlags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Sampler> const & immutableSamplers_ )
-      : binding( binding_ )
-      , descriptorType( descriptorType_ )
-      , descriptorCount( static_cast<uint32_t>( immutableSamplers_.size() ) )
-      , stageFlags( stageFlags_ )
-      , pImmutableSamplers( immutableSamplers_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBinding(
+      DescriptorSetLayoutBinding const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorSetLayoutBinding & operator=( VkDescriptorSetLayoutBinding const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding const *>( &rhs );
-      return *this;
-    }
-
-    DescriptorSetLayoutBinding & setBinding( uint32_t binding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      binding = binding_;
-      return *this;
-    }
-
-    DescriptorSetLayoutBinding &
-      setDescriptorType( VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorType = descriptorType_;
-      return *this;
-    }
-
-    DescriptorSetLayoutBinding & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount = descriptorCount_;
-      return *this;
-    }
-
-    DescriptorSetLayoutBinding & setStageFlags( VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageFlags = stageFlags_;
-      return *this;
-    }
-
-    DescriptorSetLayoutBinding &
-      setPImmutableSamplers( const VULKAN_HPP_NAMESPACE::Sampler * pImmutableSamplers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pImmutableSamplers = pImmutableSamplers_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetLayoutBinding & setImmutableSamplers(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Sampler> const & immutableSamplers_ )
+  DescriptorSetLayoutBinding(VkDescriptorSetLayoutBinding const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount    = static_cast<uint32_t>( immutableSamplers_.size() );
-      pImmutableSamplers = immutableSamplers_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : DescriptorSetLayoutBinding(
+            *reinterpret_cast<DescriptorSetLayoutBinding const *>(&rhs)) {}
 
-    operator VkDescriptorSetLayoutBinding const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorSetLayoutBinding *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetLayoutBinding(
+      uint32_t binding_, VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_,
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Sampler> const &immutableSamplers_)
+      : binding(binding_), descriptorType(descriptorType_),
+        descriptorCount(static_cast<uint32_t>(immutableSamplers_.size())),
+        stageFlags(stageFlags_), pImmutableSamplers(immutableSamplers_.data()) {
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkDescriptorSetLayoutBinding &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorSetLayoutBinding *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding &operator=(
+      DescriptorSetLayoutBinding const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetLayoutBinding const & ) const = default;
+  DescriptorSetLayoutBinding &
+  operator=(VkDescriptorSetLayoutBinding const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding const *>(&rhs);
+    return *this;
+  }
+
+  DescriptorSetLayoutBinding &
+  setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT {
+    binding = binding_;
+    return *this;
+  }
+
+  DescriptorSetLayoutBinding &
+  setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorType = descriptorType_;
+    return *this;
+  }
+
+  DescriptorSetLayoutBinding &
+  setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorCount = descriptorCount_;
+    return *this;
+  }
+
+  DescriptorSetLayoutBinding &setStageFlags(
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_) VULKAN_HPP_NOEXCEPT {
+    stageFlags = stageFlags_;
+    return *this;
+  }
+
+  DescriptorSetLayoutBinding &setPImmutableSamplers(
+      const VULKAN_HPP_NAMESPACE::Sampler *pImmutableSamplers_)
+      VULKAN_HPP_NOEXCEPT {
+    pImmutableSamplers = pImmutableSamplers_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetLayoutBinding &setImmutableSamplers(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Sampler> const &immutableSamplers_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorCount = static_cast<uint32_t>(immutableSamplers_.size());
+    pImmutableSamplers = immutableSamplers_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkDescriptorSetLayoutBinding const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorSetLayoutBinding *>(this);
+  }
+
+  operator VkDescriptorSetLayoutBinding &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorSetLayoutBinding *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSetLayoutBinding const &) const = default;
 #else
-    bool operator==( DescriptorSetLayoutBinding const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( binding == rhs.binding ) && ( descriptorType == rhs.descriptorType ) &&
-             ( descriptorCount == rhs.descriptorCount ) && ( stageFlags == rhs.stageFlags ) &&
-             ( pImmutableSamplers == rhs.pImmutableSamplers );
-    }
+  bool
+  operator==(DescriptorSetLayoutBinding const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (binding == rhs.binding) && (descriptorType == rhs.descriptorType) &&
+           (descriptorCount == rhs.descriptorCount) &&
+           (stageFlags == rhs.stageFlags) &&
+           (pImmutableSamplers == rhs.pImmutableSamplers);
+  }
 
-    bool operator!=( DescriptorSetLayoutBinding const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DescriptorSetLayoutBinding const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t                               binding            = {};
-    VULKAN_HPP_NAMESPACE::DescriptorType   descriptorType     = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
-    uint32_t                               descriptorCount    = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags         = {};
-    const VULKAN_HPP_NAMESPACE::Sampler *  pImmutableSamplers = {};
-  };
-  static_assert( sizeof( DescriptorSetLayoutBinding ) == sizeof( VkDescriptorSetLayoutBinding ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorSetLayoutBinding>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t binding = {};
+  VULKAN_HPP_NAMESPACE::DescriptorType descriptorType =
+      VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
+  uint32_t descriptorCount = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags = {};
+  const VULKAN_HPP_NAMESPACE::Sampler *pImmutableSamplers = {};
+};
+static_assert(sizeof(DescriptorSetLayoutBinding) ==
+                  sizeof(VkDescriptorSetLayoutBinding),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorSetLayoutBinding>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct DescriptorSetLayoutBindingFlagsCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DescriptorSetLayoutBindingFlagsCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBindingFlagsCreateInfo(
-      uint32_t                                             bindingCount_  = {},
-      const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags * pBindingFlags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : bindingCount( bindingCount_ )
-      , pBindingFlags( pBindingFlags_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBindingFlagsCreateInfo(
+      uint32_t bindingCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags *pBindingFlags_ = {})
+      VULKAN_HPP_NOEXCEPT : bindingCount(bindingCount_),
+                            pBindingFlags(pBindingFlags_) {}
 
-    DescriptorSetLayoutBindingFlagsCreateInfo( VkDescriptorSetLayoutBindingFlagsCreateInfo const & rhs )
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBindingFlagsCreateInfo(
+      DescriptorSetLayoutBindingFlagsCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorSetLayoutBindingFlagsCreateInfo(
+      VkDescriptorSetLayoutBindingFlagsCreateInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : DescriptorSetLayoutBindingFlagsCreateInfo(
+            *reinterpret_cast<
+                DescriptorSetLayoutBindingFlagsCreateInfo const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetLayoutBindingFlagsCreateInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags> const &
-        bindingFlags_ )
-      : bindingCount( static_cast<uint32_t>( bindingFlags_.size() ) ), pBindingFlags( bindingFlags_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetLayoutBindingFlagsCreateInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags> const
+          &bindingFlags_)
+      : bindingCount(static_cast<uint32_t>(bindingFlags_.size())),
+        pBindingFlags(bindingFlags_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorSetLayoutBindingFlagsCreateInfo &
-      operator=( VkDescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBindingFlagsCreateInfo &
+  operator=(DescriptorSetLayoutBindingFlagsCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorSetLayoutBindingFlagsCreateInfo &
-      operator=( DescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      bindingCount  = rhs.bindingCount;
-      pBindingFlags = rhs.pBindingFlags;
+  DescriptorSetLayoutBindingFlagsCreateInfo &
+  operator=(VkDescriptorSetLayoutBindingFlagsCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  DescriptorSetLayoutBindingFlagsCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DescriptorSetLayoutBindingFlagsCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DescriptorSetLayoutBindingFlagsCreateInfo &
+  setBindingCount(uint32_t bindingCount_) VULKAN_HPP_NOEXCEPT {
+    bindingCount = bindingCount_;
+    return *this;
+  }
 
-    DescriptorSetLayoutBindingFlagsCreateInfo & setBindingCount( uint32_t bindingCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bindingCount = bindingCount_;
-      return *this;
-    }
+  DescriptorSetLayoutBindingFlagsCreateInfo &setPBindingFlags(
+      const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags *pBindingFlags_)
+      VULKAN_HPP_NOEXCEPT {
+    pBindingFlags = pBindingFlags_;
+    return *this;
+  }
 
-    DescriptorSetLayoutBindingFlagsCreateInfo &
-      setPBindingFlags( const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags * pBindingFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBindingFlags = pBindingFlags_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetLayoutBindingFlagsCreateInfo &
+  setBindingFlags(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                  const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags> const
+                      &bindingFlags_) VULKAN_HPP_NOEXCEPT {
+    bindingCount = static_cast<uint32_t>(bindingFlags_.size());
+    pBindingFlags = bindingFlags_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetLayoutBindingFlagsCreateInfo & setBindingFlags(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags> const &
-        bindingFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bindingCount  = static_cast<uint32_t>( bindingFlags_.size() );
-      pBindingFlags = bindingFlags_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkDescriptorSetLayoutBindingFlagsCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkDescriptorSetLayoutBindingFlagsCreateInfo *>(this);
+  }
 
-    operator VkDescriptorSetLayoutBindingFlagsCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this );
-    }
+  operator VkDescriptorSetLayoutBindingFlagsCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo *>(
+        this);
+  }
 
-    operator VkDescriptorSetLayoutBindingFlagsCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetLayoutBindingFlagsCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSetLayoutBindingFlagsCreateInfo const &) const =
+      default;
 #else
-    bool operator==( DescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bindingCount == rhs.bindingCount ) &&
-             ( pBindingFlags == rhs.pBindingFlags );
-    }
+  bool operator==(DescriptorSetLayoutBindingFlagsCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (bindingCount == rhs.bindingCount) &&
+           (pBindingFlags == rhs.pBindingFlags);
+  }
 
-    bool operator!=( DescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorSetLayoutBindingFlagsCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo;
-    const void *                              pNext        = {};
-    uint32_t                                  bindingCount = {};
-    const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags * pBindingFlags = {};
-  };
-  static_assert( sizeof( DescriptorSetLayoutBindingFlagsCreateInfo ) ==
-                   sizeof( VkDescriptorSetLayoutBindingFlagsCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorSetLayoutBindingFlagsCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo;
+  const void *pNext = {};
+  uint32_t bindingCount = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags *pBindingFlags = {};
+};
+static_assert(sizeof(DescriptorSetLayoutBindingFlagsCreateInfo) ==
+                  sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DescriptorSetLayoutBindingFlagsCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo>
-  {
-    using Type = DescriptorSetLayoutBindingFlagsCreateInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo> {
+  using Type = DescriptorSetLayoutBindingFlagsCreateInfo;
+};
+using DescriptorSetLayoutBindingFlagsCreateInfoEXT =
+    DescriptorSetLayoutBindingFlagsCreateInfo;
 
-  struct DescriptorSetLayoutCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDescriptorSetLayoutCreateInfo;
+struct DescriptorSetLayoutCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDescriptorSetLayoutCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo(
-      VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags     flags_        = {},
-      uint32_t                                                 bindingCount_ = {},
-      const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding * pBindings_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , bindingCount( bindingCount_ )
-      , pBindings( pBindings_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo(
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_ = {},
+      uint32_t bindingCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding *pBindings_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            bindingCount(bindingCount_),
+                            pBindings(pBindings_) {}
 
-    DescriptorSetLayoutCreateInfo( VkDescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo(
+      DescriptorSetLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetLayoutCreateInfo(
+  DescriptorSetLayoutCreateInfo(VkDescriptorSetLayoutCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DescriptorSetLayoutCreateInfo(
+            *reinterpret_cast<DescriptorSetLayoutCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetLayoutCreateInfo(
       VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding> const &
-        bindings_ )
-      : flags( flags_ ), bindingCount( static_cast<uint32_t>( bindings_.size() ) ), pBindings( bindings_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding> const
+          &bindings_)
+      : flags(flags_), bindingCount(static_cast<uint32_t>(bindings_.size())),
+        pBindings(bindings_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorSetLayoutCreateInfo & operator=( VkDescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo &operator=(
+      DescriptorSetLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorSetLayoutCreateInfo & operator=( DescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      flags        = rhs.flags;
-      bindingCount = rhs.bindingCount;
-      pBindings    = rhs.pBindings;
+  DescriptorSetLayoutCreateInfo &
+  operator=(VkDescriptorSetLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  DescriptorSetLayoutCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DescriptorSetLayoutCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DescriptorSetLayoutCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    DescriptorSetLayoutCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DescriptorSetLayoutCreateInfo &
+  setBindingCount(uint32_t bindingCount_) VULKAN_HPP_NOEXCEPT {
+    bindingCount = bindingCount_;
+    return *this;
+  }
 
-    DescriptorSetLayoutCreateInfo & setBindingCount( uint32_t bindingCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bindingCount = bindingCount_;
-      return *this;
-    }
+  DescriptorSetLayoutCreateInfo &setPBindings(
+      const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding *pBindings_)
+      VULKAN_HPP_NOEXCEPT {
+    pBindings = pBindings_;
+    return *this;
+  }
 
-    DescriptorSetLayoutCreateInfo &
-      setPBindings( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding * pBindings_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBindings = pBindings_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetLayoutCreateInfo &
+  setBindings(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+              const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding> const
+                  &bindings_) VULKAN_HPP_NOEXCEPT {
+    bindingCount = static_cast<uint32_t>(bindings_.size());
+    pBindings = bindings_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetLayoutCreateInfo & setBindings(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding> const &
-        bindings_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bindingCount = static_cast<uint32_t>( bindings_.size() );
-      pBindings    = bindings_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkDescriptorSetLayoutCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(this);
+  }
 
-    operator VkDescriptorSetLayoutCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( this );
-    }
+  operator VkDescriptorSetLayoutCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorSetLayoutCreateInfo *>(this);
+  }
 
-    operator VkDescriptorSetLayoutCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorSetLayoutCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetLayoutCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSetLayoutCreateInfo const &) const = default;
 #else
-    bool operator==( DescriptorSetLayoutCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( bindingCount == rhs.bindingCount ) && ( pBindings == rhs.pBindings );
-    }
+  bool operator==(DescriptorSetLayoutCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (bindingCount == rhs.bindingCount) &&
+           (pBindings == rhs.pBindings);
+  }
 
-    bool operator!=( DescriptorSetLayoutCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorSetLayoutCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                sType = StructureType::eDescriptorSetLayoutCreateInfo;
-    const void *                                             pNext = {};
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags     flags = {};
-    uint32_t                                                 bindingCount = {};
-    const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding * pBindings    = {};
-  };
-  static_assert( sizeof( DescriptorSetLayoutCreateInfo ) == sizeof( VkDescriptorSetLayoutCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorSetLayoutCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorSetLayoutCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags = {};
+  uint32_t bindingCount = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding *pBindings = {};
+};
+static_assert(sizeof(DescriptorSetLayoutCreateInfo) ==
+                  sizeof(VkDescriptorSetLayoutCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorSetLayoutCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorSetLayoutCreateInfo>
-  {
-    using Type = DescriptorSetLayoutCreateInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDescriptorSetLayoutCreateInfo> {
+  using Type = DescriptorSetLayoutCreateInfo;
+};
 
-  struct DescriptorSetLayoutSupport
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDescriptorSetLayoutSupport;
+struct DescriptorSetLayoutSupport {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDescriptorSetLayoutSupport;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorSetLayoutSupport( VULKAN_HPP_NAMESPACE::Bool32 supported_ = {} ) VULKAN_HPP_NOEXCEPT
-      : supported( supported_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutSupport(
+      VULKAN_HPP_NAMESPACE::Bool32 supported_ = {}) VULKAN_HPP_NOEXCEPT
+      : supported(supported_) {}
 
-    DescriptorSetLayoutSupport( VkDescriptorSetLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DescriptorSetLayoutSupport(
+      DescriptorSetLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorSetLayoutSupport & operator=( VkDescriptorSetLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport const *>( &rhs );
-      return *this;
-    }
+  DescriptorSetLayoutSupport(VkDescriptorSetLayoutSupport const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DescriptorSetLayoutSupport(
+            *reinterpret_cast<DescriptorSetLayoutSupport const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorSetLayoutSupport & operator=( DescriptorSetLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext     = rhs.pNext;
-      supported = rhs.supported;
+  VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutSupport &operator=(
+      DescriptorSetLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DescriptorSetLayoutSupport &
+  operator=(VkDescriptorSetLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport const *>(&rhs);
+    return *this;
+  }
 
-    operator VkDescriptorSetLayoutSupport const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorSetLayoutSupport *>( this );
-    }
+  operator VkDescriptorSetLayoutSupport const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorSetLayoutSupport *>(this);
+  }
 
-    operator VkDescriptorSetLayoutSupport &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorSetLayoutSupport *>( this );
-    }
+  operator VkDescriptorSetLayoutSupport &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorSetLayoutSupport *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetLayoutSupport const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSetLayoutSupport const &) const = default;
 #else
-    bool operator==( DescriptorSetLayoutSupport const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supported == rhs.supported );
-    }
+  bool
+  operator==(DescriptorSetLayoutSupport const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (supported == rhs.supported);
+  }
 
-    bool operator!=( DescriptorSetLayoutSupport const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DescriptorSetLayoutSupport const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType     = StructureType::eDescriptorSetLayoutSupport;
-    void *                                    pNext     = {};
-    VULKAN_HPP_NAMESPACE::Bool32              supported = {};
-  };
-  static_assert( sizeof( DescriptorSetLayoutSupport ) == sizeof( VkDescriptorSetLayoutSupport ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorSetLayoutSupport>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorSetLayoutSupport;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 supported = {};
+};
+static_assert(sizeof(DescriptorSetLayoutSupport) ==
+                  sizeof(VkDescriptorSetLayoutSupport),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorSetLayoutSupport>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorSetLayoutSupport>
-  {
-    using Type = DescriptorSetLayoutSupport;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDescriptorSetLayoutSupport> {
+  using Type = DescriptorSetLayoutSupport;
+};
+using DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
 
-  struct DescriptorSetVariableDescriptorCountAllocateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DescriptorSetVariableDescriptorCountAllocateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DescriptorSetVariableDescriptorCountAllocateInfo( uint32_t         descriptorSetCount_ = {},
-                                                      const uint32_t * pDescriptorCounts_  = {} ) VULKAN_HPP_NOEXCEPT
-      : descriptorSetCount( descriptorSetCount_ )
-      , pDescriptorCounts( pDescriptorCounts_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountAllocateInfo(
+      uint32_t descriptorSetCount_ = {},
+      const uint32_t *pDescriptorCounts_ = {}) VULKAN_HPP_NOEXCEPT
+      : descriptorSetCount(descriptorSetCount_),
+        pDescriptorCounts(pDescriptorCounts_) {}
 
-    DescriptorSetVariableDescriptorCountAllocateInfo( VkDescriptorSetVariableDescriptorCountAllocateInfo const & rhs )
+  VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountAllocateInfo(
+      DescriptorSetVariableDescriptorCountAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorSetVariableDescriptorCountAllocateInfo(
+      VkDescriptorSetVariableDescriptorCountAllocateInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : DescriptorSetVariableDescriptorCountAllocateInfo(
+            *reinterpret_cast<
+                DescriptorSetVariableDescriptorCountAllocateInfo const *>(
+                &rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetVariableDescriptorCountAllocateInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & descriptorCounts_ )
-      : descriptorSetCount( static_cast<uint32_t>( descriptorCounts_.size() ) )
-      , pDescriptorCounts( descriptorCounts_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetVariableDescriptorCountAllocateInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &descriptorCounts_)
+      : descriptorSetCount(static_cast<uint32_t>(descriptorCounts_.size())),
+        pDescriptorCounts(descriptorCounts_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorSetVariableDescriptorCountAllocateInfo &
-      operator=( VkDescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountAllocateInfo &
+  operator=(DescriptorSetVariableDescriptorCountAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorSetVariableDescriptorCountAllocateInfo &
-      operator=( DescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      descriptorSetCount = rhs.descriptorSetCount;
-      pDescriptorCounts  = rhs.pDescriptorCounts;
+  DescriptorSetVariableDescriptorCountAllocateInfo &
+  operator=(VkDescriptorSetVariableDescriptorCountAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            DescriptorSetVariableDescriptorCountAllocateInfo const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  DescriptorSetVariableDescriptorCountAllocateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DescriptorSetVariableDescriptorCountAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DescriptorSetVariableDescriptorCountAllocateInfo &
+  setDescriptorSetCount(uint32_t descriptorSetCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorSetCount = descriptorSetCount_;
+    return *this;
+  }
 
-    DescriptorSetVariableDescriptorCountAllocateInfo &
-      setDescriptorSetCount( uint32_t descriptorSetCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorSetCount = descriptorSetCount_;
-      return *this;
-    }
+  DescriptorSetVariableDescriptorCountAllocateInfo &
+  setPDescriptorCounts(const uint32_t *pDescriptorCounts_) VULKAN_HPP_NOEXCEPT {
+    pDescriptorCounts = pDescriptorCounts_;
+    return *this;
+  }
 
-    DescriptorSetVariableDescriptorCountAllocateInfo &
-      setPDescriptorCounts( const uint32_t * pDescriptorCounts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDescriptorCounts = pDescriptorCounts_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorSetVariableDescriptorCountAllocateInfo &setDescriptorCounts(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &descriptorCounts_) VULKAN_HPP_NOEXCEPT {
+    descriptorSetCount = static_cast<uint32_t>(descriptorCounts_.size());
+    pDescriptorCounts = descriptorCounts_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorSetVariableDescriptorCountAllocateInfo & setDescriptorCounts(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & descriptorCounts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorSetCount = static_cast<uint32_t>( descriptorCounts_.size() );
-      pDescriptorCounts  = descriptorCounts_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkDescriptorSetVariableDescriptorCountAllocateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkDescriptorSetVariableDescriptorCountAllocateInfo *>(this);
+  }
 
-    operator VkDescriptorSetVariableDescriptorCountAllocateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this );
-    }
+  operator VkDescriptorSetVariableDescriptorCountAllocateInfo &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkDescriptorSetVariableDescriptorCountAllocateInfo *>(this);
+  }
 
-    operator VkDescriptorSetVariableDescriptorCountAllocateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetVariableDescriptorCountAllocateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      DescriptorSetVariableDescriptorCountAllocateInfo const &) const = default;
 #else
-    bool operator==( DescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorSetCount == rhs.descriptorSetCount ) &&
-             ( pDescriptorCounts == rhs.pDescriptorCounts );
-    }
+  bool operator==(DescriptorSetVariableDescriptorCountAllocateInfo const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (descriptorSetCount == rhs.descriptorSetCount) &&
+           (pDescriptorCounts == rhs.pDescriptorCounts);
+  }
 
-    bool operator!=( DescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorSetVariableDescriptorCountAllocateInfo const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo;
-    const void *                              pNext = {};
-    uint32_t                                  descriptorSetCount = {};
-    const uint32_t *                          pDescriptorCounts  = {};
-  };
-  static_assert( sizeof( DescriptorSetVariableDescriptorCountAllocateInfo ) ==
-                   sizeof( VkDescriptorSetVariableDescriptorCountAllocateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorSetVariableDescriptorCountAllocateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo;
+  const void *pNext = {};
+  uint32_t descriptorSetCount = {};
+  const uint32_t *pDescriptorCounts = {};
+};
+static_assert(sizeof(DescriptorSetVariableDescriptorCountAllocateInfo) ==
+                  sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  DescriptorSetVariableDescriptorCountAllocateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo>
-  {
-    using Type = DescriptorSetVariableDescriptorCountAllocateInfo;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo> {
+  using Type = DescriptorSetVariableDescriptorCountAllocateInfo;
+};
+using DescriptorSetVariableDescriptorCountAllocateInfoEXT =
+    DescriptorSetVariableDescriptorCountAllocateInfo;
 
-  struct DescriptorSetVariableDescriptorCountLayoutSupport
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DescriptorSetVariableDescriptorCountLayoutSupport {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DescriptorSetVariableDescriptorCountLayoutSupport( uint32_t maxVariableDescriptorCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxVariableDescriptorCount( maxVariableDescriptorCount_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountLayoutSupport(
+      uint32_t maxVariableDescriptorCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxVariableDescriptorCount(maxVariableDescriptorCount_) {}
 
-    DescriptorSetVariableDescriptorCountLayoutSupport( VkDescriptorSetVariableDescriptorCountLayoutSupport const & rhs )
+  VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountLayoutSupport(
+      DescriptorSetVariableDescriptorCountLayoutSupport const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DescriptorSetVariableDescriptorCountLayoutSupport(
+      VkDescriptorSetVariableDescriptorCountLayoutSupport const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : DescriptorSetVariableDescriptorCountLayoutSupport(
+            *reinterpret_cast<
+                DescriptorSetVariableDescriptorCountLayoutSupport const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorSetVariableDescriptorCountLayoutSupport &
-      operator=( VkDescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountLayoutSupport &
+  operator=(DescriptorSetVariableDescriptorCountLayoutSupport const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorSetVariableDescriptorCountLayoutSupport &
-      operator=( DescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      maxVariableDescriptorCount = rhs.maxVariableDescriptorCount;
+  DescriptorSetVariableDescriptorCountLayoutSupport &
+  operator=(VkDescriptorSetVariableDescriptorCountLayoutSupport const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            DescriptorSetVariableDescriptorCountLayoutSupport const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkDescriptorSetVariableDescriptorCountLayoutSupport const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkDescriptorSetVariableDescriptorCountLayoutSupport *>(this);
+  }
 
-    operator VkDescriptorSetVariableDescriptorCountLayoutSupport const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this );
-    }
+  operator VkDescriptorSetVariableDescriptorCountLayoutSupport &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkDescriptorSetVariableDescriptorCountLayoutSupport *>(this);
+  }
 
-    operator VkDescriptorSetVariableDescriptorCountLayoutSupport &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorSetVariableDescriptorCountLayoutSupport const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorSetVariableDescriptorCountLayoutSupport const &)
+      const = default;
 #else
-    bool operator==( DescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxVariableDescriptorCount == rhs.maxVariableDescriptorCount );
-    }
+  bool operator==(DescriptorSetVariableDescriptorCountLayoutSupport const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxVariableDescriptorCount == rhs.maxVariableDescriptorCount);
+  }
 
-    bool operator!=( DescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorSetVariableDescriptorCountLayoutSupport const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport;
-    void *                                    pNext = {};
-    uint32_t                                  maxVariableDescriptorCount = {};
-  };
-  static_assert( sizeof( DescriptorSetVariableDescriptorCountLayoutSupport ) ==
-                   sizeof( VkDescriptorSetVariableDescriptorCountLayoutSupport ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorSetVariableDescriptorCountLayoutSupport>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport;
+  void *pNext = {};
+  uint32_t maxVariableDescriptorCount = {};
+};
+static_assert(sizeof(DescriptorSetVariableDescriptorCountLayoutSupport) ==
+                  sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupport),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  DescriptorSetVariableDescriptorCountLayoutSupport>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport>
-  {
-    using Type = DescriptorSetVariableDescriptorCountLayoutSupport;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport> {
+  using Type = DescriptorSetVariableDescriptorCountLayoutSupport;
+};
+using DescriptorSetVariableDescriptorCountLayoutSupportEXT =
+    DescriptorSetVariableDescriptorCountLayoutSupport;
 
-  struct DescriptorUpdateTemplateEntry
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateEntry(
-      uint32_t                             dstBinding_      = {},
-      uint32_t                             dstArrayElement_ = {},
-      uint32_t                             descriptorCount_ = {},
-      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_  = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
-      size_t                               offset_          = {},
-      size_t                               stride_          = {} ) VULKAN_HPP_NOEXCEPT
-      : dstBinding( dstBinding_ )
-      , dstArrayElement( dstArrayElement_ )
-      , descriptorCount( descriptorCount_ )
-      , descriptorType( descriptorType_ )
-      , offset( offset_ )
-      , stride( stride_ )
-    {}
+struct DescriptorUpdateTemplateEntry {
 
-    DescriptorUpdateTemplateEntry( VkDescriptorUpdateTemplateEntry const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateEntry(
+      uint32_t dstBinding_ = {}, uint32_t dstArrayElement_ = {},
+      uint32_t descriptorCount_ = {},
+      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ =
+          VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
+      size_t offset_ = {}, size_t stride_ = {}) VULKAN_HPP_NOEXCEPT
+      : dstBinding(dstBinding_),
+        dstArrayElement(dstArrayElement_),
+        descriptorCount(descriptorCount_),
+        descriptorType(descriptorType_),
+        offset(offset_),
+        stride(stride_) {}
 
-    DescriptorUpdateTemplateEntry & operator=( VkDescriptorUpdateTemplateEntry const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateEntry(
+      DescriptorUpdateTemplateEntry const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorUpdateTemplateEntry & setDstBinding( uint32_t dstBinding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstBinding = dstBinding_;
-      return *this;
-    }
+  DescriptorUpdateTemplateEntry(VkDescriptorUpdateTemplateEntry const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DescriptorUpdateTemplateEntry(
+            *reinterpret_cast<DescriptorUpdateTemplateEntry const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorUpdateTemplateEntry & setDstArrayElement( uint32_t dstArrayElement_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstArrayElement = dstArrayElement_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry &operator=(
+      DescriptorUpdateTemplateEntry const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorUpdateTemplateEntry & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount = descriptorCount_;
-      return *this;
-    }
+  DescriptorUpdateTemplateEntry &
+  operator=(VkDescriptorUpdateTemplateEntry const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry const *>(&rhs);
+    return *this;
+  }
 
-    DescriptorUpdateTemplateEntry &
-      setDescriptorType( VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorType = descriptorType_;
-      return *this;
-    }
+  DescriptorUpdateTemplateEntry &
+  setDstBinding(uint32_t dstBinding_) VULKAN_HPP_NOEXCEPT {
+    dstBinding = dstBinding_;
+    return *this;
+  }
 
-    DescriptorUpdateTemplateEntry & setOffset( size_t offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  DescriptorUpdateTemplateEntry &
+  setDstArrayElement(uint32_t dstArrayElement_) VULKAN_HPP_NOEXCEPT {
+    dstArrayElement = dstArrayElement_;
+    return *this;
+  }
 
-    DescriptorUpdateTemplateEntry & setStride( size_t stride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stride = stride_;
-      return *this;
-    }
+  DescriptorUpdateTemplateEntry &
+  setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorCount = descriptorCount_;
+    return *this;
+  }
 
-    operator VkDescriptorUpdateTemplateEntry const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorUpdateTemplateEntry *>( this );
-    }
+  DescriptorUpdateTemplateEntry &
+  setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorType = descriptorType_;
+    return *this;
+  }
 
-    operator VkDescriptorUpdateTemplateEntry &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorUpdateTemplateEntry *>( this );
-    }
+  DescriptorUpdateTemplateEntry &setOffset(size_t offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorUpdateTemplateEntry const & ) const = default;
+  DescriptorUpdateTemplateEntry &setStride(size_t stride_) VULKAN_HPP_NOEXCEPT {
+    stride = stride_;
+    return *this;
+  }
+
+  operator VkDescriptorUpdateTemplateEntry const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorUpdateTemplateEntry *>(this);
+  }
+
+  operator VkDescriptorUpdateTemplateEntry &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorUpdateTemplateEntry *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorUpdateTemplateEntry const &) const = default;
 #else
-    bool operator==( DescriptorUpdateTemplateEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( dstBinding == rhs.dstBinding ) && ( dstArrayElement == rhs.dstArrayElement ) &&
-             ( descriptorCount == rhs.descriptorCount ) && ( descriptorType == rhs.descriptorType ) &&
-             ( offset == rhs.offset ) && ( stride == rhs.stride );
-    }
+  bool operator==(DescriptorUpdateTemplateEntry const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (dstBinding == rhs.dstBinding) &&
+           (dstArrayElement == rhs.dstArrayElement) &&
+           (descriptorCount == rhs.descriptorCount) &&
+           (descriptorType == rhs.descriptorType) && (offset == rhs.offset) &&
+           (stride == rhs.stride);
+  }
 
-    bool operator!=( DescriptorUpdateTemplateEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorUpdateTemplateEntry const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t                             dstBinding      = {};
-    uint32_t                             dstArrayElement = {};
-    uint32_t                             descriptorCount = {};
-    VULKAN_HPP_NAMESPACE::DescriptorType descriptorType  = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
-    size_t                               offset          = {};
-    size_t                               stride          = {};
-  };
-  static_assert( sizeof( DescriptorUpdateTemplateEntry ) == sizeof( VkDescriptorUpdateTemplateEntry ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorUpdateTemplateEntry>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t dstBinding = {};
+  uint32_t dstArrayElement = {};
+  uint32_t descriptorCount = {};
+  VULKAN_HPP_NAMESPACE::DescriptorType descriptorType =
+      VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
+  size_t offset = {};
+  size_t stride = {};
+};
+static_assert(sizeof(DescriptorUpdateTemplateEntry) ==
+                  sizeof(VkDescriptorUpdateTemplateEntry),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DescriptorUpdateTemplateEntry>::value,
+              "struct wrapper is not a standard layout!");
+using DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
 
-  struct DescriptorUpdateTemplateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DescriptorUpdateTemplateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDescriptorUpdateTemplateCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateCreateInfo(
-      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags   flags_                      = {},
-      uint32_t                                                    descriptorUpdateEntryCount_ = {},
-      const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries_   = {},
-      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType          templateType_ =
-        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType::eDescriptorSet,
-      VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_ = {},
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint   pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
-      VULKAN_HPP_NAMESPACE::PipelineLayout      pipelineLayout_    = {},
-      uint32_t                                  set_               = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , descriptorUpdateEntryCount( descriptorUpdateEntryCount_ )
-      , pDescriptorUpdateEntries( pDescriptorUpdateEntries_ )
-      , templateType( templateType_ )
-      , descriptorSetLayout( descriptorSetLayout_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , pipelineLayout( pipelineLayout_ )
-      , set( set_ )
-    {}
-
-    DescriptorUpdateTemplateCreateInfo( VkDescriptorUpdateTemplateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorUpdateTemplateCreateInfo(
-      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry> const &
-                                                         descriptorUpdateEntries_,
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateCreateInfo(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_ = {},
+      uint32_t descriptorUpdateEntryCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry
+          *pDescriptorUpdateEntries_ = {},
       VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType_ =
-        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType::eDescriptorSet,
+          VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType::eDescriptorSet,
       VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_ = {},
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint   pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
-      VULKAN_HPP_NAMESPACE::PipelineLayout      pipelineLayout_    = {},
-      uint32_t                                  set_               = {} )
-      : flags( flags_ )
-      , descriptorUpdateEntryCount( static_cast<uint32_t>( descriptorUpdateEntries_.size() ) )
-      , pDescriptorUpdateEntries( descriptorUpdateEntries_.data() )
-      , templateType( templateType_ )
-      , descriptorSetLayout( descriptorSetLayout_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , pipelineLayout( pipelineLayout_ )
-      , set( set_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ =
+          VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
+      VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_ = {},
+      uint32_t set_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        descriptorUpdateEntryCount(descriptorUpdateEntryCount_),
+        pDescriptorUpdateEntries(pDescriptorUpdateEntries_),
+        templateType(templateType_),
+        descriptorSetLayout(descriptorSetLayout_),
+        pipelineBindPoint(pipelineBindPoint_),
+        pipelineLayout(pipelineLayout_),
+        set(set_) {}
 
-    DescriptorUpdateTemplateCreateInfo &
-      operator=( VkDescriptorUpdateTemplateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateCreateInfo(
+      DescriptorUpdateTemplateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorUpdateTemplateCreateInfo & operator=( DescriptorUpdateTemplateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      flags                      = rhs.flags;
-      descriptorUpdateEntryCount = rhs.descriptorUpdateEntryCount;
-      pDescriptorUpdateEntries   = rhs.pDescriptorUpdateEntries;
-      templateType               = rhs.templateType;
-      descriptorSetLayout        = rhs.descriptorSetLayout;
-      pipelineBindPoint          = rhs.pipelineBindPoint;
-      pipelineLayout             = rhs.pipelineLayout;
-      set                        = rhs.set;
+  DescriptorUpdateTemplateCreateInfo(
+      VkDescriptorUpdateTemplateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DescriptorUpdateTemplateCreateInfo(
+            *reinterpret_cast<DescriptorUpdateTemplateCreateInfo const *>(
+                &rhs)) {}
 
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorUpdateTemplateCreateInfo(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry> const
+          &descriptorUpdateEntries_,
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType_ =
+          VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType::eDescriptorSet,
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ =
+          VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
+      VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_ = {},
+      uint32_t set_ = {})
+      : flags(flags_), descriptorUpdateEntryCount(static_cast<uint32_t>(
+                           descriptorUpdateEntries_.size())),
+        pDescriptorUpdateEntries(descriptorUpdateEntries_.data()),
+        templateType(templateType_), descriptorSetLayout(descriptorSetLayout_),
+        pipelineBindPoint(pipelineBindPoint_), pipelineLayout(pipelineLayout_),
+        set(set_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DescriptorUpdateTemplateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo &
+  operator=(DescriptorUpdateTemplateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DescriptorUpdateTemplateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DescriptorUpdateTemplateCreateInfo &operator=(
+      VkDescriptorUpdateTemplateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-    DescriptorUpdateTemplateCreateInfo &
-      setDescriptorUpdateEntryCount( uint32_t descriptorUpdateEntryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorUpdateEntryCount = descriptorUpdateEntryCount_;
-      return *this;
-    }
+  DescriptorUpdateTemplateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DescriptorUpdateTemplateCreateInfo & setPDescriptorUpdateEntries(
-      const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDescriptorUpdateEntries = pDescriptorUpdateEntries_;
-      return *this;
-    }
+  DescriptorUpdateTemplateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DescriptorUpdateTemplateCreateInfo & setDescriptorUpdateEntries(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry> const &
-        descriptorUpdateEntries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorUpdateEntryCount = static_cast<uint32_t>( descriptorUpdateEntries_.size() );
-      pDescriptorUpdateEntries   = descriptorUpdateEntries_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorUpdateTemplateCreateInfo &setDescriptorUpdateEntryCount(
+      uint32_t descriptorUpdateEntryCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorUpdateEntryCount = descriptorUpdateEntryCount_;
+    return *this;
+  }
 
-    DescriptorUpdateTemplateCreateInfo &
-      setTemplateType( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      templateType = templateType_;
-      return *this;
-    }
+  DescriptorUpdateTemplateCreateInfo &setPDescriptorUpdateEntries(
+      const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry
+          *pDescriptorUpdateEntries_) VULKAN_HPP_NOEXCEPT {
+    pDescriptorUpdateEntries = pDescriptorUpdateEntries_;
+    return *this;
+  }
 
-    DescriptorUpdateTemplateCreateInfo &
-      setDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorSetLayout = descriptorSetLayout_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DescriptorUpdateTemplateCreateInfo &setDescriptorUpdateEntries(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry> const
+          &descriptorUpdateEntries_) VULKAN_HPP_NOEXCEPT {
+    descriptorUpdateEntryCount =
+        static_cast<uint32_t>(descriptorUpdateEntries_.size());
+    pDescriptorUpdateEntries = descriptorUpdateEntries_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    DescriptorUpdateTemplateCreateInfo &
-      setPipelineBindPoint( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineBindPoint = pipelineBindPoint_;
-      return *this;
-    }
+  DescriptorUpdateTemplateCreateInfo &setTemplateType(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType_)
+      VULKAN_HPP_NOEXCEPT {
+    templateType = templateType_;
+    return *this;
+  }
 
-    DescriptorUpdateTemplateCreateInfo &
-      setPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineLayout = pipelineLayout_;
-      return *this;
-    }
+  DescriptorUpdateTemplateCreateInfo &setDescriptorSetLayout(
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorSetLayout = descriptorSetLayout_;
+    return *this;
+  }
 
-    DescriptorUpdateTemplateCreateInfo & setSet( uint32_t set_ ) VULKAN_HPP_NOEXCEPT
-    {
-      set = set_;
-      return *this;
-    }
+  DescriptorUpdateTemplateCreateInfo &setPipelineBindPoint(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineBindPoint = pipelineBindPoint_;
+    return *this;
+  }
 
-    operator VkDescriptorUpdateTemplateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( this );
-    }
+  DescriptorUpdateTemplateCreateInfo &
+  setPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineLayout = pipelineLayout_;
+    return *this;
+  }
 
-    operator VkDescriptorUpdateTemplateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo *>( this );
-    }
+  DescriptorUpdateTemplateCreateInfo &
+  setSet(uint32_t set_) VULKAN_HPP_NOEXCEPT {
+    set = set_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DescriptorUpdateTemplateCreateInfo const & ) const = default;
+  operator VkDescriptorUpdateTemplateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(
+        this);
+  }
+
+  operator VkDescriptorUpdateTemplateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DescriptorUpdateTemplateCreateInfo const &) const = default;
 #else
-    bool operator==( DescriptorUpdateTemplateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( descriptorUpdateEntryCount == rhs.descriptorUpdateEntryCount ) &&
-             ( pDescriptorUpdateEntries == rhs.pDescriptorUpdateEntries ) && ( templateType == rhs.templateType ) &&
-             ( descriptorSetLayout == rhs.descriptorSetLayout ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) &&
-             ( pipelineLayout == rhs.pipelineLayout ) && ( set == rhs.set );
-    }
+  bool operator==(DescriptorUpdateTemplateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (descriptorUpdateEntryCount == rhs.descriptorUpdateEntryCount) &&
+           (pDescriptorUpdateEntries == rhs.pDescriptorUpdateEntries) &&
+           (templateType == rhs.templateType) &&
+           (descriptorSetLayout == rhs.descriptorSetLayout) &&
+           (pipelineBindPoint == rhs.pipelineBindPoint) &&
+           (pipelineLayout == rhs.pipelineLayout) && (set == rhs.set);
+  }
 
-    bool operator!=( DescriptorUpdateTemplateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DescriptorUpdateTemplateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorUpdateTemplateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags   flags                      = {};
-    uint32_t                                                    descriptorUpdateEntryCount = {};
-    const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries   = {};
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType          templateType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDescriptorUpdateTemplateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags = {};
+  uint32_t descriptorUpdateEntryCount = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry
+      *pDescriptorUpdateEntries = {};
+  VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType =
       VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType::eDescriptorSet;
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout = {};
-    VULKAN_HPP_NAMESPACE::PipelineBindPoint   pipelineBindPoint   = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
-    VULKAN_HPP_NAMESPACE::PipelineLayout      pipelineLayout      = {};
-    uint32_t                                  set                 = {};
-  };
-  static_assert( sizeof( DescriptorUpdateTemplateCreateInfo ) == sizeof( VkDescriptorUpdateTemplateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DescriptorUpdateTemplateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout = {};
+  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint =
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
+  VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout = {};
+  uint32_t set = {};
+};
+static_assert(sizeof(DescriptorUpdateTemplateCreateInfo) ==
+                  sizeof(VkDescriptorUpdateTemplateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DescriptorUpdateTemplateCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDescriptorUpdateTemplateCreateInfo>
-  {
-    using Type = DescriptorUpdateTemplateCreateInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDescriptorUpdateTemplateCreateInfo> {
+  using Type = DescriptorUpdateTemplateCreateInfo;
+};
+using DescriptorUpdateTemplateCreateInfoKHR =
+    DescriptorUpdateTemplateCreateInfo;
 
-  struct DeviceQueueCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceQueueCreateInfo;
+struct DeviceQueueCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceQueueCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceQueueCreateInfo( VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_            = {},
-                                                uint32_t                                     queueFamilyIndex_ = {},
-                                                uint32_t                                     queueCount_       = {},
-                                                const float * pQueuePriorities_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , queueFamilyIndex( queueFamilyIndex_ )
-      , queueCount( queueCount_ )
-      , pQueuePriorities( pQueuePriorities_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceQueueCreateInfo(
+      VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_ = {},
+      uint32_t queueFamilyIndex_ = {}, uint32_t queueCount_ = {},
+      const float *pQueuePriorities_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        queueFamilyIndex(queueFamilyIndex_),
+        queueCount(queueCount_),
+        pQueuePriorities(pQueuePriorities_) {}
 
-    DeviceQueueCreateInfo( VkDeviceQueueCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR DeviceQueueCreateInfo(DeviceQueueCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceQueueCreateInfo( VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags                       flags_,
-                           uint32_t                                                           queueFamilyIndex_,
-                           VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const & queuePriorities_ )
-      : flags( flags_ )
-      , queueFamilyIndex( queueFamilyIndex_ )
-      , queueCount( static_cast<uint32_t>( queuePriorities_.size() ) )
-      , pQueuePriorities( queuePriorities_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  DeviceQueueCreateInfo(VkDeviceQueueCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceQueueCreateInfo(
+            *reinterpret_cast<DeviceQueueCreateInfo const *>(&rhs)) {}
 
-    DeviceQueueCreateInfo & operator=( VkDeviceQueueCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceQueueCreateInfo(
+      VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_,
+      uint32_t queueFamilyIndex_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const
+          &queuePriorities_)
+      : flags(flags_), queueFamilyIndex(queueFamilyIndex_),
+        queueCount(static_cast<uint32_t>(queuePriorities_.size())),
+        pQueuePriorities(queuePriorities_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeviceQueueCreateInfo & operator=( DeviceQueueCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      flags            = rhs.flags;
-      queueFamilyIndex = rhs.queueFamilyIndex;
-      queueCount       = rhs.queueCount;
-      pQueuePriorities = rhs.pQueuePriorities;
+  VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo &
+  operator=(DeviceQueueCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DeviceQueueCreateInfo &
+  operator=(VkDeviceQueueCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
 
-    DeviceQueueCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DeviceQueueCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DeviceQueueCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DeviceQueueCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    DeviceQueueCreateInfo & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndex = queueFamilyIndex_;
-      return *this;
-    }
+  DeviceQueueCreateInfo &
+  setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndex = queueFamilyIndex_;
+    return *this;
+  }
 
-    DeviceQueueCreateInfo & setQueueCount( uint32_t queueCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueCount = queueCount_;
-      return *this;
-    }
+  DeviceQueueCreateInfo &
+  setQueueCount(uint32_t queueCount_) VULKAN_HPP_NOEXCEPT {
+    queueCount = queueCount_;
+    return *this;
+  }
 
-    DeviceQueueCreateInfo & setPQueuePriorities( const float * pQueuePriorities_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pQueuePriorities = pQueuePriorities_;
-      return *this;
-    }
+  DeviceQueueCreateInfo &
+  setPQueuePriorities(const float *pQueuePriorities_) VULKAN_HPP_NOEXCEPT {
+    pQueuePriorities = pQueuePriorities_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceQueueCreateInfo & setQueuePriorities(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const & queuePriorities_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueCount       = static_cast<uint32_t>( queuePriorities_.size() );
-      pQueuePriorities = queuePriorities_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceQueueCreateInfo &setQueuePriorities(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const
+          &queuePriorities_) VULKAN_HPP_NOEXCEPT {
+    queueCount = static_cast<uint32_t>(queuePriorities_.size());
+    pQueuePriorities = queuePriorities_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkDeviceQueueCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceQueueCreateInfo *>( this );
-    }
+  operator VkDeviceQueueCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceQueueCreateInfo *>(this);
+  }
 
-    operator VkDeviceQueueCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceQueueCreateInfo *>( this );
-    }
+  operator VkDeviceQueueCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceQueueCreateInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceQueueCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceQueueCreateInfo const &) const = default;
 #else
-    bool operator==( DeviceQueueCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( queueFamilyIndex == rhs.queueFamilyIndex ) && ( queueCount == rhs.queueCount ) &&
-             ( pQueuePriorities == rhs.pQueuePriorities );
-    }
+  bool operator==(DeviceQueueCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (queueFamilyIndex == rhs.queueFamilyIndex) &&
+           (queueCount == rhs.queueCount) &&
+           (pQueuePriorities == rhs.pQueuePriorities);
+  }
 
-    bool operator!=( DeviceQueueCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DeviceQueueCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType            = StructureType::eDeviceQueueCreateInfo;
-    const void *                                 pNext            = {};
-    VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags            = {};
-    uint32_t                                     queueFamilyIndex = {};
-    uint32_t                                     queueCount       = {};
-    const float *                                pQueuePriorities = {};
-  };
-  static_assert( sizeof( DeviceQueueCreateInfo ) == sizeof( VkDeviceQueueCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceQueueCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceQueueCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags = {};
+  uint32_t queueFamilyIndex = {};
+  uint32_t queueCount = {};
+  const float *pQueuePriorities = {};
+};
+static_assert(sizeof(DeviceQueueCreateInfo) == sizeof(VkDeviceQueueCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceQueueCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceQueueCreateInfo>
-  {
-    using Type = DeviceQueueCreateInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDeviceQueueCreateInfo> {
+  using Type = DeviceQueueCreateInfo;
+};
 
-  struct PhysicalDeviceFeatures
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceFeatures( VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess_                      = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32_                     = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray_                          = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 independentBlend_                        = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 geometryShader_                          = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 tessellationShader_                      = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading_                       = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend_                            = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 logicOp_                                 = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect_                       = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance_               = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 depthClamp_                              = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp_                          = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid_                        = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 depthBounds_                             = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 wideLines_                               = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 largePoints_                             = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 alphaToOne_                              = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 multiViewport_                           = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy_                       = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2_                  = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR_              = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC_                    = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise_                   = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery_                 = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics_          = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics_                = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize_  = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended_               = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats_       = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample_           = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat_     = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat_    = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing_ = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing_  = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing_ = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing_  = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance_                      = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance_                      = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64_                           = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderInt64_                             = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderInt16_                             = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency_                 = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod_                    = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseBinding_                           = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer_                   = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D_                  = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D_                  = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples_                 = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples_                 = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples_                 = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples_                = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased_                  = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate_                 = {},
-                            VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries_ = {} ) VULKAN_HPP_NOEXCEPT
-      : robustBufferAccess( robustBufferAccess_ )
-      , fullDrawIndexUint32( fullDrawIndexUint32_ )
-      , imageCubeArray( imageCubeArray_ )
-      , independentBlend( independentBlend_ )
-      , geometryShader( geometryShader_ )
-      , tessellationShader( tessellationShader_ )
-      , sampleRateShading( sampleRateShading_ )
-      , dualSrcBlend( dualSrcBlend_ )
-      , logicOp( logicOp_ )
-      , multiDrawIndirect( multiDrawIndirect_ )
-      , drawIndirectFirstInstance( drawIndirectFirstInstance_ )
-      , depthClamp( depthClamp_ )
-      , depthBiasClamp( depthBiasClamp_ )
-      , fillModeNonSolid( fillModeNonSolid_ )
-      , depthBounds( depthBounds_ )
-      , wideLines( wideLines_ )
-      , largePoints( largePoints_ )
-      , alphaToOne( alphaToOne_ )
-      , multiViewport( multiViewport_ )
-      , samplerAnisotropy( samplerAnisotropy_ )
-      , textureCompressionETC2( textureCompressionETC2_ )
-      , textureCompressionASTC_LDR( textureCompressionASTC_LDR_ )
-      , textureCompressionBC( textureCompressionBC_ )
-      , occlusionQueryPrecise( occlusionQueryPrecise_ )
-      , pipelineStatisticsQuery( pipelineStatisticsQuery_ )
-      , vertexPipelineStoresAndAtomics( vertexPipelineStoresAndAtomics_ )
-      , fragmentStoresAndAtomics( fragmentStoresAndAtomics_ )
-      , shaderTessellationAndGeometryPointSize( shaderTessellationAndGeometryPointSize_ )
-      , shaderImageGatherExtended( shaderImageGatherExtended_ )
-      , shaderStorageImageExtendedFormats( shaderStorageImageExtendedFormats_ )
-      , shaderStorageImageMultisample( shaderStorageImageMultisample_ )
-      , shaderStorageImageReadWithoutFormat( shaderStorageImageReadWithoutFormat_ )
-      , shaderStorageImageWriteWithoutFormat( shaderStorageImageWriteWithoutFormat_ )
-      , shaderUniformBufferArrayDynamicIndexing( shaderUniformBufferArrayDynamicIndexing_ )
-      , shaderSampledImageArrayDynamicIndexing( shaderSampledImageArrayDynamicIndexing_ )
-      , shaderStorageBufferArrayDynamicIndexing( shaderStorageBufferArrayDynamicIndexing_ )
-      , shaderStorageImageArrayDynamicIndexing( shaderStorageImageArrayDynamicIndexing_ )
-      , shaderClipDistance( shaderClipDistance_ )
-      , shaderCullDistance( shaderCullDistance_ )
-      , shaderFloat64( shaderFloat64_ )
-      , shaderInt64( shaderInt64_ )
-      , shaderInt16( shaderInt16_ )
-      , shaderResourceResidency( shaderResourceResidency_ )
-      , shaderResourceMinLod( shaderResourceMinLod_ )
-      , sparseBinding( sparseBinding_ )
-      , sparseResidencyBuffer( sparseResidencyBuffer_ )
-      , sparseResidencyImage2D( sparseResidencyImage2D_ )
-      , sparseResidencyImage3D( sparseResidencyImage3D_ )
-      , sparseResidency2Samples( sparseResidency2Samples_ )
-      , sparseResidency4Samples( sparseResidency4Samples_ )
-      , sparseResidency8Samples( sparseResidency8Samples_ )
-      , sparseResidency16Samples( sparseResidency16Samples_ )
-      , sparseResidencyAliased( sparseResidencyAliased_ )
-      , variableMultisampleRate( variableMultisampleRate_ )
-      , inheritedQueries( inheritedQueries_ )
-    {}
+struct PhysicalDeviceFeatures {
 
-    PhysicalDeviceFeatures( VkPhysicalDeviceFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 independentBlend_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 geometryShader_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 tessellationShader_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 logicOp_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 depthClamp_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 depthBounds_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 wideLines_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 largePoints_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 alphaToOne_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multiViewport_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInt64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInt16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseBinding_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries_ = {}) VULKAN_HPP_NOEXCEPT
+      : robustBufferAccess(robustBufferAccess_),
+        fullDrawIndexUint32(fullDrawIndexUint32_),
+        imageCubeArray(imageCubeArray_),
+        independentBlend(independentBlend_),
+        geometryShader(geometryShader_),
+        tessellationShader(tessellationShader_),
+        sampleRateShading(sampleRateShading_),
+        dualSrcBlend(dualSrcBlend_),
+        logicOp(logicOp_),
+        multiDrawIndirect(multiDrawIndirect_),
+        drawIndirectFirstInstance(drawIndirectFirstInstance_),
+        depthClamp(depthClamp_),
+        depthBiasClamp(depthBiasClamp_),
+        fillModeNonSolid(fillModeNonSolid_),
+        depthBounds(depthBounds_),
+        wideLines(wideLines_),
+        largePoints(largePoints_),
+        alphaToOne(alphaToOne_),
+        multiViewport(multiViewport_),
+        samplerAnisotropy(samplerAnisotropy_),
+        textureCompressionETC2(textureCompressionETC2_),
+        textureCompressionASTC_LDR(textureCompressionASTC_LDR_),
+        textureCompressionBC(textureCompressionBC_),
+        occlusionQueryPrecise(occlusionQueryPrecise_),
+        pipelineStatisticsQuery(pipelineStatisticsQuery_),
+        vertexPipelineStoresAndAtomics(vertexPipelineStoresAndAtomics_),
+        fragmentStoresAndAtomics(fragmentStoresAndAtomics_),
+        shaderTessellationAndGeometryPointSize(
+            shaderTessellationAndGeometryPointSize_),
+        shaderImageGatherExtended(shaderImageGatherExtended_),
+        shaderStorageImageExtendedFormats(shaderStorageImageExtendedFormats_),
+        shaderStorageImageMultisample(shaderStorageImageMultisample_),
+        shaderStorageImageReadWithoutFormat(
+            shaderStorageImageReadWithoutFormat_),
+        shaderStorageImageWriteWithoutFormat(
+            shaderStorageImageWriteWithoutFormat_),
+        shaderUniformBufferArrayDynamicIndexing(
+            shaderUniformBufferArrayDynamicIndexing_),
+        shaderSampledImageArrayDynamicIndexing(
+            shaderSampledImageArrayDynamicIndexing_),
+        shaderStorageBufferArrayDynamicIndexing(
+            shaderStorageBufferArrayDynamicIndexing_),
+        shaderStorageImageArrayDynamicIndexing(
+            shaderStorageImageArrayDynamicIndexing_),
+        shaderClipDistance(shaderClipDistance_),
+        shaderCullDistance(shaderCullDistance_),
+        shaderFloat64(shaderFloat64_),
+        shaderInt64(shaderInt64_),
+        shaderInt16(shaderInt16_),
+        shaderResourceResidency(shaderResourceResidency_),
+        shaderResourceMinLod(shaderResourceMinLod_),
+        sparseBinding(sparseBinding_),
+        sparseResidencyBuffer(sparseResidencyBuffer_),
+        sparseResidencyImage2D(sparseResidencyImage2D_),
+        sparseResidencyImage3D(sparseResidencyImage3D_),
+        sparseResidency2Samples(sparseResidency2Samples_),
+        sparseResidency4Samples(sparseResidency4Samples_),
+        sparseResidency8Samples(sparseResidency8Samples_),
+        sparseResidency16Samples(sparseResidency16Samples_),
+        sparseResidencyAliased(sparseResidencyAliased_),
+        variableMultisampleRate(variableMultisampleRate_),
+        inheritedQueries(inheritedQueries_) {}
 
-    PhysicalDeviceFeatures & operator=( VkPhysicalDeviceFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures(PhysicalDeviceFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFeatures &
-      setRobustBufferAccess( VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      robustBufferAccess = robustBufferAccess_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setFullDrawIndexUint32( VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fullDrawIndexUint32 = fullDrawIndexUint32_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setImageCubeArray( VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageCubeArray = imageCubeArray_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setIndependentBlend( VULKAN_HPP_NAMESPACE::Bool32 independentBlend_ ) VULKAN_HPP_NOEXCEPT
-    {
-      independentBlend = independentBlend_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setGeometryShader( VULKAN_HPP_NAMESPACE::Bool32 geometryShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryShader = geometryShader_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setTessellationShader( VULKAN_HPP_NAMESPACE::Bool32 tessellationShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tessellationShader = tessellationShader_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setSampleRateShading( VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleRateShading = sampleRateShading_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setDualSrcBlend( VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dualSrcBlend = dualSrcBlend_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setLogicOp( VULKAN_HPP_NAMESPACE::Bool32 logicOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      logicOp = logicOp_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setMultiDrawIndirect( VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiDrawIndirect = multiDrawIndirect_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setDrawIndirectFirstInstance( VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drawIndirectFirstInstance = drawIndirectFirstInstance_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setDepthClamp( VULKAN_HPP_NAMESPACE::Bool32 depthClamp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthClamp = depthClamp_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setDepthBiasClamp( VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthBiasClamp = depthBiasClamp_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setFillModeNonSolid( VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fillModeNonSolid = fillModeNonSolid_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setDepthBounds( VULKAN_HPP_NAMESPACE::Bool32 depthBounds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthBounds = depthBounds_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setWideLines( VULKAN_HPP_NAMESPACE::Bool32 wideLines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      wideLines = wideLines_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setLargePoints( VULKAN_HPP_NAMESPACE::Bool32 largePoints_ ) VULKAN_HPP_NOEXCEPT
-    {
-      largePoints = largePoints_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setAlphaToOne( VULKAN_HPP_NAMESPACE::Bool32 alphaToOne_ ) VULKAN_HPP_NOEXCEPT
-    {
-      alphaToOne = alphaToOne_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setMultiViewport( VULKAN_HPP_NAMESPACE::Bool32 multiViewport_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiViewport = multiViewport_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setSamplerAnisotropy( VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samplerAnisotropy = samplerAnisotropy_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setTextureCompressionETC2( VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2_ ) VULKAN_HPP_NOEXCEPT
-    {
-      textureCompressionETC2 = textureCompressionETC2_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setTextureCompressionASTC_LDR( VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR_ ) VULKAN_HPP_NOEXCEPT
-    {
-      textureCompressionASTC_LDR = textureCompressionASTC_LDR_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setTextureCompressionBC( VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC_ ) VULKAN_HPP_NOEXCEPT
-    {
-      textureCompressionBC = textureCompressionBC_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setOcclusionQueryPrecise( VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise_ ) VULKAN_HPP_NOEXCEPT
-    {
-      occlusionQueryPrecise = occlusionQueryPrecise_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setPipelineStatisticsQuery( VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineStatisticsQuery = pipelineStatisticsQuery_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setVertexPipelineStoresAndAtomics(
-      VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setFragmentStoresAndAtomics( VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentStoresAndAtomics = fragmentStoresAndAtomics_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderTessellationAndGeometryPointSize(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setShaderImageGatherExtended( VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderImageGatherExtended = shaderImageGatherExtended_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderStorageImageExtendedFormats(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderStorageImageMultisample(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageImageMultisample = shaderStorageImageMultisample_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderStorageImageReadWithoutFormat(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderStorageImageWriteWithoutFormat(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderUniformBufferArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderSampledImageArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderStorageBufferArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderStorageImageArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setShaderClipDistance( VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderClipDistance = shaderClipDistance_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setShaderCullDistance( VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderCullDistance = shaderCullDistance_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderFloat64( VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderFloat64 = shaderFloat64_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderInt64( VULKAN_HPP_NAMESPACE::Bool32 shaderInt64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInt64 = shaderInt64_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setShaderInt16( VULKAN_HPP_NAMESPACE::Bool32 shaderInt16_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInt16 = shaderInt16_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setShaderResourceResidency( VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderResourceResidency = shaderResourceResidency_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setShaderResourceMinLod( VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderResourceMinLod = shaderResourceMinLod_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setSparseBinding( VULKAN_HPP_NAMESPACE::Bool32 sparseBinding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseBinding = sparseBinding_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidencyBuffer( VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidencyBuffer = sparseResidencyBuffer_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidencyImage2D( VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidencyImage2D = sparseResidencyImage2D_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidencyImage3D( VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidencyImage3D = sparseResidencyImage3D_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidency2Samples( VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidency2Samples = sparseResidency2Samples_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidency4Samples( VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidency4Samples = sparseResidency4Samples_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidency8Samples( VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidency8Samples = sparseResidency8Samples_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidency16Samples( VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidency16Samples = sparseResidency16Samples_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setSparseResidencyAliased( VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseResidencyAliased = sparseResidencyAliased_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures &
-      setVariableMultisampleRate( VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate_ ) VULKAN_HPP_NOEXCEPT
-    {
-      variableMultisampleRate = variableMultisampleRate_;
-      return *this;
-    }
-
-    PhysicalDeviceFeatures & setInheritedQueries( VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inheritedQueries = inheritedQueries_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFeatures *>( this );
-    }
-
-    operator VkPhysicalDeviceFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFeatures const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( robustBufferAccess == rhs.robustBufferAccess ) && ( fullDrawIndexUint32 == rhs.fullDrawIndexUint32 ) &&
-             ( imageCubeArray == rhs.imageCubeArray ) && ( independentBlend == rhs.independentBlend ) &&
-             ( geometryShader == rhs.geometryShader ) && ( tessellationShader == rhs.tessellationShader ) &&
-             ( sampleRateShading == rhs.sampleRateShading ) && ( dualSrcBlend == rhs.dualSrcBlend ) &&
-             ( logicOp == rhs.logicOp ) && ( multiDrawIndirect == rhs.multiDrawIndirect ) &&
-             ( drawIndirectFirstInstance == rhs.drawIndirectFirstInstance ) && ( depthClamp == rhs.depthClamp ) &&
-             ( depthBiasClamp == rhs.depthBiasClamp ) && ( fillModeNonSolid == rhs.fillModeNonSolid ) &&
-             ( depthBounds == rhs.depthBounds ) && ( wideLines == rhs.wideLines ) &&
-             ( largePoints == rhs.largePoints ) && ( alphaToOne == rhs.alphaToOne ) &&
-             ( multiViewport == rhs.multiViewport ) && ( samplerAnisotropy == rhs.samplerAnisotropy ) &&
-             ( textureCompressionETC2 == rhs.textureCompressionETC2 ) &&
-             ( textureCompressionASTC_LDR == rhs.textureCompressionASTC_LDR ) &&
-             ( textureCompressionBC == rhs.textureCompressionBC ) &&
-             ( occlusionQueryPrecise == rhs.occlusionQueryPrecise ) &&
-             ( pipelineStatisticsQuery == rhs.pipelineStatisticsQuery ) &&
-             ( vertexPipelineStoresAndAtomics == rhs.vertexPipelineStoresAndAtomics ) &&
-             ( fragmentStoresAndAtomics == rhs.fragmentStoresAndAtomics ) &&
-             ( shaderTessellationAndGeometryPointSize == rhs.shaderTessellationAndGeometryPointSize ) &&
-             ( shaderImageGatherExtended == rhs.shaderImageGatherExtended ) &&
-             ( shaderStorageImageExtendedFormats == rhs.shaderStorageImageExtendedFormats ) &&
-             ( shaderStorageImageMultisample == rhs.shaderStorageImageMultisample ) &&
-             ( shaderStorageImageReadWithoutFormat == rhs.shaderStorageImageReadWithoutFormat ) &&
-             ( shaderStorageImageWriteWithoutFormat == rhs.shaderStorageImageWriteWithoutFormat ) &&
-             ( shaderUniformBufferArrayDynamicIndexing == rhs.shaderUniformBufferArrayDynamicIndexing ) &&
-             ( shaderSampledImageArrayDynamicIndexing == rhs.shaderSampledImageArrayDynamicIndexing ) &&
-             ( shaderStorageBufferArrayDynamicIndexing == rhs.shaderStorageBufferArrayDynamicIndexing ) &&
-             ( shaderStorageImageArrayDynamicIndexing == rhs.shaderStorageImageArrayDynamicIndexing ) &&
-             ( shaderClipDistance == rhs.shaderClipDistance ) && ( shaderCullDistance == rhs.shaderCullDistance ) &&
-             ( shaderFloat64 == rhs.shaderFloat64 ) && ( shaderInt64 == rhs.shaderInt64 ) &&
-             ( shaderInt16 == rhs.shaderInt16 ) && ( shaderResourceResidency == rhs.shaderResourceResidency ) &&
-             ( shaderResourceMinLod == rhs.shaderResourceMinLod ) && ( sparseBinding == rhs.sparseBinding ) &&
-             ( sparseResidencyBuffer == rhs.sparseResidencyBuffer ) &&
-             ( sparseResidencyImage2D == rhs.sparseResidencyImage2D ) &&
-             ( sparseResidencyImage3D == rhs.sparseResidencyImage3D ) &&
-             ( sparseResidency2Samples == rhs.sparseResidency2Samples ) &&
-             ( sparseResidency4Samples == rhs.sparseResidency4Samples ) &&
-             ( sparseResidency8Samples == rhs.sparseResidency8Samples ) &&
-             ( sparseResidency16Samples == rhs.sparseResidency16Samples ) &&
-             ( sparseResidencyAliased == rhs.sparseResidencyAliased ) &&
-             ( variableMultisampleRate == rhs.variableMultisampleRate ) && ( inheritedQueries == rhs.inheritedQueries );
-    }
-
-    bool operator!=( PhysicalDeviceFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32                     = {};
-    VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 independentBlend                        = {};
-    VULKAN_HPP_NAMESPACE::Bool32 geometryShader                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 tessellationShader                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend                            = {};
-    VULKAN_HPP_NAMESPACE::Bool32 logicOp                                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance               = {};
-    VULKAN_HPP_NAMESPACE::Bool32 depthClamp                              = {};
-    VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid                        = {};
-    VULKAN_HPP_NAMESPACE::Bool32 depthBounds                             = {};
-    VULKAN_HPP_NAMESPACE::Bool32 wideLines                               = {};
-    VULKAN_HPP_NAMESPACE::Bool32 largePoints                             = {};
-    VULKAN_HPP_NAMESPACE::Bool32 alphaToOne                              = {};
-    VULKAN_HPP_NAMESPACE::Bool32 multiViewport                           = {};
-    VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR              = {};
-    VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics                = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended               = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats       = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample           = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat     = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat    = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64                           = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderInt64                             = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderInt16                             = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseBinding                           = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples                = {};
-    VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries                        = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFeatures ) == sizeof( VkPhysicalDeviceFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFeatures>::value, "struct wrapper is not a standard layout!" );
-
-  struct DeviceCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceCreateInfo( VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_                         = {},
-                                           uint32_t                                queueCreateInfoCount_          = {},
-                                           const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo * pQueueCreateInfos_ = {},
-                                           uint32_t                                            enabledLayerCount_ = {},
-                                           const char * const * ppEnabledLayerNames_                              = {},
-                                           uint32_t             enabledExtensionCount_                            = {},
-                                           const char * const * ppEnabledExtensionNames_                          = {},
-                                           const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pEnabledFeatures_ = {} )
+  PhysicalDeviceFeatures(VkPhysicalDeviceFeatures const &rhs)
       VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , queueCreateInfoCount( queueCreateInfoCount_ )
-      , pQueueCreateInfos( pQueueCreateInfos_ )
-      , enabledLayerCount( enabledLayerCount_ )
-      , ppEnabledLayerNames( ppEnabledLayerNames_ )
-      , enabledExtensionCount( enabledExtensionCount_ )
-      , ppEnabledExtensionNames( ppEnabledExtensionNames_ )
-      , pEnabledFeatures( pEnabledFeatures_ )
-    {}
+      : PhysicalDeviceFeatures(
+            *reinterpret_cast<PhysicalDeviceFeatures const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeviceCreateInfo( VkDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures &
+  operator=(PhysicalDeviceFeatures const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceCreateInfo(
+  PhysicalDeviceFeatures &
+  operator=(VkPhysicalDeviceFeatures const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const *>(
+            &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setRobustBufferAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess_) VULKAN_HPP_NOEXCEPT {
+    robustBufferAccess = robustBufferAccess_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setFullDrawIndexUint32(
+      VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32_) VULKAN_HPP_NOEXCEPT {
+    fullDrawIndexUint32 = fullDrawIndexUint32_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setImageCubeArray(
+      VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray_) VULKAN_HPP_NOEXCEPT {
+    imageCubeArray = imageCubeArray_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setIndependentBlend(
+      VULKAN_HPP_NAMESPACE::Bool32 independentBlend_) VULKAN_HPP_NOEXCEPT {
+    independentBlend = independentBlend_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setGeometryShader(
+      VULKAN_HPP_NAMESPACE::Bool32 geometryShader_) VULKAN_HPP_NOEXCEPT {
+    geometryShader = geometryShader_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setTessellationShader(
+      VULKAN_HPP_NAMESPACE::Bool32 tessellationShader_) VULKAN_HPP_NOEXCEPT {
+    tessellationShader = tessellationShader_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSampleRateShading(
+      VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading_) VULKAN_HPP_NOEXCEPT {
+    sampleRateShading = sampleRateShading_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setDualSrcBlend(
+      VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend_) VULKAN_HPP_NOEXCEPT {
+    dualSrcBlend = dualSrcBlend_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &
+  setLogicOp(VULKAN_HPP_NAMESPACE::Bool32 logicOp_) VULKAN_HPP_NOEXCEPT {
+    logicOp = logicOp_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setMultiDrawIndirect(
+      VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect_) VULKAN_HPP_NOEXCEPT {
+    multiDrawIndirect = multiDrawIndirect_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setDrawIndirectFirstInstance(
+      VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance_)
+      VULKAN_HPP_NOEXCEPT {
+    drawIndirectFirstInstance = drawIndirectFirstInstance_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &
+  setDepthClamp(VULKAN_HPP_NAMESPACE::Bool32 depthClamp_) VULKAN_HPP_NOEXCEPT {
+    depthClamp = depthClamp_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setDepthBiasClamp(
+      VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp_) VULKAN_HPP_NOEXCEPT {
+    depthBiasClamp = depthBiasClamp_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setFillModeNonSolid(
+      VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid_) VULKAN_HPP_NOEXCEPT {
+    fillModeNonSolid = fillModeNonSolid_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setDepthBounds(
+      VULKAN_HPP_NAMESPACE::Bool32 depthBounds_) VULKAN_HPP_NOEXCEPT {
+    depthBounds = depthBounds_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &
+  setWideLines(VULKAN_HPP_NAMESPACE::Bool32 wideLines_) VULKAN_HPP_NOEXCEPT {
+    wideLines = wideLines_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setLargePoints(
+      VULKAN_HPP_NAMESPACE::Bool32 largePoints_) VULKAN_HPP_NOEXCEPT {
+    largePoints = largePoints_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &
+  setAlphaToOne(VULKAN_HPP_NAMESPACE::Bool32 alphaToOne_) VULKAN_HPP_NOEXCEPT {
+    alphaToOne = alphaToOne_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setMultiViewport(
+      VULKAN_HPP_NAMESPACE::Bool32 multiViewport_) VULKAN_HPP_NOEXCEPT {
+    multiViewport = multiViewport_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSamplerAnisotropy(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy_) VULKAN_HPP_NOEXCEPT {
+    samplerAnisotropy = samplerAnisotropy_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setTextureCompressionETC2(
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2_)
+      VULKAN_HPP_NOEXCEPT {
+    textureCompressionETC2 = textureCompressionETC2_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setTextureCompressionASTC_LDR(
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR_)
+      VULKAN_HPP_NOEXCEPT {
+    textureCompressionASTC_LDR = textureCompressionASTC_LDR_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setTextureCompressionBC(
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC_) VULKAN_HPP_NOEXCEPT {
+    textureCompressionBC = textureCompressionBC_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setOcclusionQueryPrecise(
+      VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise_) VULKAN_HPP_NOEXCEPT {
+    occlusionQueryPrecise = occlusionQueryPrecise_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setPipelineStatisticsQuery(
+      VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineStatisticsQuery = pipelineStatisticsQuery_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setVertexPipelineStoresAndAtomics(
+      VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics_)
+      VULKAN_HPP_NOEXCEPT {
+    vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setFragmentStoresAndAtomics(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentStoresAndAtomics = fragmentStoresAndAtomics_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderTessellationAndGeometryPointSize(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderTessellationAndGeometryPointSize =
+        shaderTessellationAndGeometryPointSize_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderImageGatherExtended(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderImageGatherExtended = shaderImageGatherExtended_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderStorageImageExtendedFormats(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderStorageImageMultisample(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageImageMultisample = shaderStorageImageMultisample_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderStorageImageReadWithoutFormat(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderStorageImageWriteWithoutFormat(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageImageWriteWithoutFormat =
+        shaderStorageImageWriteWithoutFormat_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderUniformBufferArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderUniformBufferArrayDynamicIndexing =
+        shaderUniformBufferArrayDynamicIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderSampledImageArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSampledImageArrayDynamicIndexing =
+        shaderSampledImageArrayDynamicIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderStorageBufferArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageBufferArrayDynamicIndexing =
+        shaderStorageBufferArrayDynamicIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderStorageImageArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageImageArrayDynamicIndexing =
+        shaderStorageImageArrayDynamicIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderClipDistance(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance_) VULKAN_HPP_NOEXCEPT {
+    shaderClipDistance = shaderClipDistance_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderCullDistance(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance_) VULKAN_HPP_NOEXCEPT {
+    shaderCullDistance = shaderCullDistance_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderFloat64(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64_) VULKAN_HPP_NOEXCEPT {
+    shaderFloat64 = shaderFloat64_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderInt64(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInt64_) VULKAN_HPP_NOEXCEPT {
+    shaderInt64 = shaderInt64_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderInt16(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInt16_) VULKAN_HPP_NOEXCEPT {
+    shaderInt16 = shaderInt16_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderResourceResidency(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderResourceResidency = shaderResourceResidency_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setShaderResourceMinLod(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod_) VULKAN_HPP_NOEXCEPT {
+    shaderResourceMinLod = shaderResourceMinLod_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseBinding(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseBinding_) VULKAN_HPP_NOEXCEPT {
+    sparseBinding = sparseBinding_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidencyBuffer(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer_) VULKAN_HPP_NOEXCEPT {
+    sparseResidencyBuffer = sparseResidencyBuffer_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidencyImage2D(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseResidencyImage2D = sparseResidencyImage2D_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidencyImage3D(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseResidencyImage3D = sparseResidencyImage3D_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidency2Samples(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseResidency2Samples = sparseResidency2Samples_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidency4Samples(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseResidency4Samples = sparseResidency4Samples_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidency8Samples(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseResidency8Samples = sparseResidency8Samples_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidency16Samples(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseResidency16Samples = sparseResidency16Samples_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setSparseResidencyAliased(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseResidencyAliased = sparseResidencyAliased_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setVariableMultisampleRate(
+      VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate_)
+      VULKAN_HPP_NOEXCEPT {
+    variableMultisampleRate = variableMultisampleRate_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures &setInheritedQueries(
+      VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries_) VULKAN_HPP_NOEXCEPT {
+    inheritedQueries = inheritedQueries_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceFeatures const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceFeatures *>(this);
+  }
+
+  operator VkPhysicalDeviceFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFeatures *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceFeatures const &) const = default;
+#else
+  bool operator==(PhysicalDeviceFeatures const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (robustBufferAccess == rhs.robustBufferAccess) &&
+           (fullDrawIndexUint32 == rhs.fullDrawIndexUint32) &&
+           (imageCubeArray == rhs.imageCubeArray) &&
+           (independentBlend == rhs.independentBlend) &&
+           (geometryShader == rhs.geometryShader) &&
+           (tessellationShader == rhs.tessellationShader) &&
+           (sampleRateShading == rhs.sampleRateShading) &&
+           (dualSrcBlend == rhs.dualSrcBlend) && (logicOp == rhs.logicOp) &&
+           (multiDrawIndirect == rhs.multiDrawIndirect) &&
+           (drawIndirectFirstInstance == rhs.drawIndirectFirstInstance) &&
+           (depthClamp == rhs.depthClamp) &&
+           (depthBiasClamp == rhs.depthBiasClamp) &&
+           (fillModeNonSolid == rhs.fillModeNonSolid) &&
+           (depthBounds == rhs.depthBounds) && (wideLines == rhs.wideLines) &&
+           (largePoints == rhs.largePoints) && (alphaToOne == rhs.alphaToOne) &&
+           (multiViewport == rhs.multiViewport) &&
+           (samplerAnisotropy == rhs.samplerAnisotropy) &&
+           (textureCompressionETC2 == rhs.textureCompressionETC2) &&
+           (textureCompressionASTC_LDR == rhs.textureCompressionASTC_LDR) &&
+           (textureCompressionBC == rhs.textureCompressionBC) &&
+           (occlusionQueryPrecise == rhs.occlusionQueryPrecise) &&
+           (pipelineStatisticsQuery == rhs.pipelineStatisticsQuery) &&
+           (vertexPipelineStoresAndAtomics ==
+            rhs.vertexPipelineStoresAndAtomics) &&
+           (fragmentStoresAndAtomics == rhs.fragmentStoresAndAtomics) &&
+           (shaderTessellationAndGeometryPointSize ==
+            rhs.shaderTessellationAndGeometryPointSize) &&
+           (shaderImageGatherExtended == rhs.shaderImageGatherExtended) &&
+           (shaderStorageImageExtendedFormats ==
+            rhs.shaderStorageImageExtendedFormats) &&
+           (shaderStorageImageMultisample ==
+            rhs.shaderStorageImageMultisample) &&
+           (shaderStorageImageReadWithoutFormat ==
+            rhs.shaderStorageImageReadWithoutFormat) &&
+           (shaderStorageImageWriteWithoutFormat ==
+            rhs.shaderStorageImageWriteWithoutFormat) &&
+           (shaderUniformBufferArrayDynamicIndexing ==
+            rhs.shaderUniformBufferArrayDynamicIndexing) &&
+           (shaderSampledImageArrayDynamicIndexing ==
+            rhs.shaderSampledImageArrayDynamicIndexing) &&
+           (shaderStorageBufferArrayDynamicIndexing ==
+            rhs.shaderStorageBufferArrayDynamicIndexing) &&
+           (shaderStorageImageArrayDynamicIndexing ==
+            rhs.shaderStorageImageArrayDynamicIndexing) &&
+           (shaderClipDistance == rhs.shaderClipDistance) &&
+           (shaderCullDistance == rhs.shaderCullDistance) &&
+           (shaderFloat64 == rhs.shaderFloat64) &&
+           (shaderInt64 == rhs.shaderInt64) &&
+           (shaderInt16 == rhs.shaderInt16) &&
+           (shaderResourceResidency == rhs.shaderResourceResidency) &&
+           (shaderResourceMinLod == rhs.shaderResourceMinLod) &&
+           (sparseBinding == rhs.sparseBinding) &&
+           (sparseResidencyBuffer == rhs.sparseResidencyBuffer) &&
+           (sparseResidencyImage2D == rhs.sparseResidencyImage2D) &&
+           (sparseResidencyImage3D == rhs.sparseResidencyImage3D) &&
+           (sparseResidency2Samples == rhs.sparseResidency2Samples) &&
+           (sparseResidency4Samples == rhs.sparseResidency4Samples) &&
+           (sparseResidency8Samples == rhs.sparseResidency8Samples) &&
+           (sparseResidency16Samples == rhs.sparseResidency16Samples) &&
+           (sparseResidencyAliased == rhs.sparseResidencyAliased) &&
+           (variableMultisampleRate == rhs.variableMultisampleRate) &&
+           (inheritedQueries == rhs.inheritedQueries);
+  }
+
+  bool operator!=(PhysicalDeviceFeatures const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray = {};
+  VULKAN_HPP_NAMESPACE::Bool32 independentBlend = {};
+  VULKAN_HPP_NAMESPACE::Bool32 geometryShader = {};
+  VULKAN_HPP_NAMESPACE::Bool32 tessellationShader = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading = {};
+  VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend = {};
+  VULKAN_HPP_NAMESPACE::Bool32 logicOp = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect = {};
+  VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthClamp = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthBounds = {};
+  VULKAN_HPP_NAMESPACE::Bool32 wideLines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 largePoints = {};
+  VULKAN_HPP_NAMESPACE::Bool32 alphaToOne = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiViewport = {};
+  VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy = {};
+  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR = {};
+  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC = {};
+  VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise = {};
+  VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInt64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInt16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseBinding = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased = {};
+  VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate = {};
+  VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries = {};
+};
+static_assert(sizeof(PhysicalDeviceFeatures) ==
+                  sizeof(VkPhysicalDeviceFeatures),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceFeatures>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DeviceCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DeviceCreateInfo(VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_ = {},
+                   uint32_t queueCreateInfoCount_ = {},
+                   const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo
+                       *pQueueCreateInfos_ = {},
+                   uint32_t enabledLayerCount_ = {},
+                   const char *const *ppEnabledLayerNames_ = {},
+                   uint32_t enabledExtensionCount_ = {},
+                   const char *const *ppEnabledExtensionNames_ = {},
+                   const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures
+                       *pEnabledFeatures_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        queueCreateInfoCount(queueCreateInfoCount_),
+        pQueueCreateInfos(pQueueCreateInfos_),
+        enabledLayerCount(enabledLayerCount_),
+        ppEnabledLayerNames(ppEnabledLayerNames_),
+        enabledExtensionCount(enabledExtensionCount_),
+        ppEnabledExtensionNames(ppEnabledExtensionNames_),
+        pEnabledFeatures(pEnabledFeatures_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  DeviceCreateInfo(DeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceCreateInfo(VkDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceCreateInfo(*reinterpret_cast<DeviceCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceCreateInfo(
       VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo> const &
-                                                                                queueCreateInfos_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledLayerNames_     = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ = {},
-      const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *                      pEnabledFeatures_       = {} )
-      : flags( flags_ )
-      , queueCreateInfoCount( static_cast<uint32_t>( queueCreateInfos_.size() ) )
-      , pQueueCreateInfos( queueCreateInfos_.data() )
-      , enabledLayerCount( static_cast<uint32_t>( pEnabledLayerNames_.size() ) )
-      , ppEnabledLayerNames( pEnabledLayerNames_.data() )
-      , enabledExtensionCount( static_cast<uint32_t>( pEnabledExtensionNames_.size() ) )
-      , ppEnabledExtensionNames( pEnabledExtensionNames_.data() )
-      , pEnabledFeatures( pEnabledFeatures_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo> const
+          &queueCreateInfos_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledLayerNames_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledExtensionNames_ = {},
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pEnabledFeatures_ =
+          {})
+      : flags(flags_),
+        queueCreateInfoCount(static_cast<uint32_t>(queueCreateInfos_.size())),
+        pQueueCreateInfos(queueCreateInfos_.data()),
+        enabledLayerCount(static_cast<uint32_t>(pEnabledLayerNames_.size())),
+        ppEnabledLayerNames(pEnabledLayerNames_.data()),
+        enabledExtensionCount(
+            static_cast<uint32_t>(pEnabledExtensionNames_.size())),
+        ppEnabledExtensionNames(pEnabledExtensionNames_.data()),
+        pEnabledFeatures(pEnabledFeatures_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeviceCreateInfo & operator=( VkDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceCreateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo &
+  operator=(DeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DeviceCreateInfo & operator=( DeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      flags                   = rhs.flags;
-      queueCreateInfoCount    = rhs.queueCreateInfoCount;
-      pQueueCreateInfos       = rhs.pQueueCreateInfos;
-      enabledLayerCount       = rhs.enabledLayerCount;
-      ppEnabledLayerNames     = rhs.ppEnabledLayerNames;
-      enabledExtensionCount   = rhs.enabledExtensionCount;
-      ppEnabledExtensionNames = rhs.ppEnabledExtensionNames;
-      pEnabledFeatures        = rhs.pEnabledFeatures;
+  DeviceCreateInfo &
+  operator=(VkDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  DeviceCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DeviceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DeviceCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    DeviceCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DeviceCreateInfo &
+  setQueueCreateInfoCount(uint32_t queueCreateInfoCount_) VULKAN_HPP_NOEXCEPT {
+    queueCreateInfoCount = queueCreateInfoCount_;
+    return *this;
+  }
 
-    DeviceCreateInfo & setQueueCreateInfoCount( uint32_t queueCreateInfoCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueCreateInfoCount = queueCreateInfoCount_;
-      return *this;
-    }
+  DeviceCreateInfo &setPQueueCreateInfos(
+      const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo *pQueueCreateInfos_)
+      VULKAN_HPP_NOEXCEPT {
+    pQueueCreateInfos = pQueueCreateInfos_;
+    return *this;
+  }
 
-    DeviceCreateInfo &
-      setPQueueCreateInfos( const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo * pQueueCreateInfos_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pQueueCreateInfos = pQueueCreateInfos_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceCreateInfo &
+  setQueueCreateInfos(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                      const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo> const
+                          &queueCreateInfos_) VULKAN_HPP_NOEXCEPT {
+    queueCreateInfoCount = static_cast<uint32_t>(queueCreateInfos_.size());
+    pQueueCreateInfos = queueCreateInfos_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceCreateInfo & setQueueCreateInfos(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo> const &
-        queueCreateInfos_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueCreateInfoCount = static_cast<uint32_t>( queueCreateInfos_.size() );
-      pQueueCreateInfos    = queueCreateInfos_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceCreateInfo &
+  setEnabledLayerCount(uint32_t enabledLayerCount_) VULKAN_HPP_NOEXCEPT {
+    enabledLayerCount = enabledLayerCount_;
+    return *this;
+  }
 
-    DeviceCreateInfo & setEnabledLayerCount( uint32_t enabledLayerCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enabledLayerCount = enabledLayerCount_;
-      return *this;
-    }
+  DeviceCreateInfo &setPpEnabledLayerNames(
+      const char *const *ppEnabledLayerNames_) VULKAN_HPP_NOEXCEPT {
+    ppEnabledLayerNames = ppEnabledLayerNames_;
+    return *this;
+  }
 
-    DeviceCreateInfo & setPpEnabledLayerNames( const char * const * ppEnabledLayerNames_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ppEnabledLayerNames = ppEnabledLayerNames_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceCreateInfo &setPEnabledLayerNames(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledLayerNames_) VULKAN_HPP_NOEXCEPT {
+    enabledLayerCount = static_cast<uint32_t>(pEnabledLayerNames_.size());
+    ppEnabledLayerNames = pEnabledLayerNames_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceCreateInfo & setPEnabledLayerNames( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const &
-                                                pEnabledLayerNames_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enabledLayerCount   = static_cast<uint32_t>( pEnabledLayerNames_.size() );
-      ppEnabledLayerNames = pEnabledLayerNames_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceCreateInfo &setEnabledExtensionCount(uint32_t enabledExtensionCount_)
+      VULKAN_HPP_NOEXCEPT {
+    enabledExtensionCount = enabledExtensionCount_;
+    return *this;
+  }
 
-    DeviceCreateInfo & setEnabledExtensionCount( uint32_t enabledExtensionCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enabledExtensionCount = enabledExtensionCount_;
-      return *this;
-    }
+  DeviceCreateInfo &setPpEnabledExtensionNames(
+      const char *const *ppEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT {
+    ppEnabledExtensionNames = ppEnabledExtensionNames_;
+    return *this;
+  }
 
-    DeviceCreateInfo & setPpEnabledExtensionNames( const char * const * ppEnabledExtensionNames_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ppEnabledExtensionNames = ppEnabledExtensionNames_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceCreateInfo &setPEnabledExtensionNames(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT {
+    enabledExtensionCount =
+        static_cast<uint32_t>(pEnabledExtensionNames_.size());
+    ppEnabledExtensionNames = pEnabledExtensionNames_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceCreateInfo & setPEnabledExtensionNames(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      enabledExtensionCount   = static_cast<uint32_t>( pEnabledExtensionNames_.size() );
-      ppEnabledExtensionNames = pEnabledExtensionNames_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceCreateInfo &setPEnabledFeatures(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pEnabledFeatures_)
+      VULKAN_HPP_NOEXCEPT {
+    pEnabledFeatures = pEnabledFeatures_;
+    return *this;
+  }
 
-    DeviceCreateInfo &
-      setPEnabledFeatures( const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pEnabledFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pEnabledFeatures = pEnabledFeatures_;
-      return *this;
-    }
+  operator VkDeviceCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceCreateInfo *>(this);
+  }
 
-    operator VkDeviceCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceCreateInfo *>( this );
-    }
+  operator VkDeviceCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceCreateInfo *>(this);
+  }
 
-    operator VkDeviceCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceCreateInfo const &) const = default;
 #else
-    bool operator==( DeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( queueCreateInfoCount == rhs.queueCreateInfoCount ) && ( pQueueCreateInfos == rhs.pQueueCreateInfos ) &&
-             ( enabledLayerCount == rhs.enabledLayerCount ) && ( ppEnabledLayerNames == rhs.ppEnabledLayerNames ) &&
-             ( enabledExtensionCount == rhs.enabledExtensionCount ) &&
-             ( ppEnabledExtensionNames == rhs.ppEnabledExtensionNames ) && ( pEnabledFeatures == rhs.pEnabledFeatures );
-    }
+  bool operator==(DeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (queueCreateInfoCount == rhs.queueCreateInfoCount) &&
+           (pQueueCreateInfos == rhs.pQueueCreateInfos) &&
+           (enabledLayerCount == rhs.enabledLayerCount) &&
+           (ppEnabledLayerNames == rhs.ppEnabledLayerNames) &&
+           (enabledExtensionCount == rhs.enabledExtensionCount) &&
+           (ppEnabledExtensionNames == rhs.ppEnabledExtensionNames) &&
+           (pEnabledFeatures == rhs.pEnabledFeatures);
+  }
 
-    bool operator!=( DeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType            sType                   = StructureType::eDeviceCreateInfo;
-    const void *                                         pNext                   = {};
-    VULKAN_HPP_NAMESPACE::DeviceCreateFlags              flags                   = {};
-    uint32_t                                             queueCreateInfoCount    = {};
-    const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo *  pQueueCreateInfos       = {};
-    uint32_t                                             enabledLayerCount       = {};
-    const char * const *                                 ppEnabledLayerNames     = {};
-    uint32_t                                             enabledExtensionCount   = {};
-    const char * const *                                 ppEnabledExtensionNames = {};
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pEnabledFeatures        = {};
-  };
-  static_assert( sizeof( DeviceCreateInfo ) == sizeof( VkDeviceCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags = {};
+  uint32_t queueCreateInfoCount = {};
+  const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo *pQueueCreateInfos = {};
+  uint32_t enabledLayerCount = {};
+  const char *const *ppEnabledLayerNames = {};
+  uint32_t enabledExtensionCount = {};
+  const char *const *ppEnabledExtensionNames = {};
+  const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pEnabledFeatures = {};
+};
+static_assert(sizeof(DeviceCreateInfo) == sizeof(VkDeviceCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceCreateInfo>
-  {
-    using Type = DeviceCreateInfo;
-  };
+template <> struct CppType<StructureType, StructureType::eDeviceCreateInfo> {
+  using Type = DeviceCreateInfo;
+};
 
-  struct DeviceDiagnosticsConfigCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DeviceDeviceMemoryReportCreateInfoEXT {
+  static const bool allowDuplicate = true;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceDeviceMemoryReportCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_ = {},
+      PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_ = {},
+      void *pUserData_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        pfnUserCallback(pfnUserCallback_),
+        pUserData(pUserData_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT(
+      DeviceDeviceMemoryReportCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceDeviceMemoryReportCreateInfoEXT(
+      VkDeviceDeviceMemoryReportCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceDeviceMemoryReportCreateInfoEXT(
+            *reinterpret_cast<DeviceDeviceMemoryReportCreateInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT &
+  operator=(DeviceDeviceMemoryReportCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceDeviceMemoryReportCreateInfoEXT &operator=(
+      VkDeviceDeviceMemoryReportCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  DeviceDeviceMemoryReportCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceDeviceMemoryReportCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  DeviceDeviceMemoryReportCreateInfoEXT &
+  setPfnUserCallback(PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_)
+      VULKAN_HPP_NOEXCEPT {
+    pfnUserCallback = pfnUserCallback_;
+    return *this;
+  }
+
+  DeviceDeviceMemoryReportCreateInfoEXT &
+  setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT {
+    pUserData = pUserData_;
+    return *this;
+  }
+
+  operator VkDeviceDeviceMemoryReportCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT *>(
+        this);
+  }
+
+  operator VkDeviceDeviceMemoryReportCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DeviceDeviceMemoryReportCreateInfoEXT const &) const = default;
+#else
+  bool operator==(DeviceDeviceMemoryReportCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pfnUserCallback == rhs.pfnUserCallback) &&
+           (pUserData == rhs.pUserData);
+  }
+
+  bool operator!=(DeviceDeviceMemoryReportCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceDeviceMemoryReportCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags = {};
+  PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback = {};
+  void *pUserData = {};
+};
+static_assert(sizeof(DeviceDeviceMemoryReportCreateInfoEXT) ==
+                  sizeof(VkDeviceDeviceMemoryReportCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DeviceDeviceMemoryReportCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceDeviceMemoryReportCreateInfoEXT> {
+  using Type = DeviceDeviceMemoryReportCreateInfoEXT;
+};
+
+struct DeviceDiagnosticsConfigCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDeviceDiagnosticsConfigCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags_ = {} ) VULKAN_HPP_NOEXCEPT : flags( flags_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_) {}
 
-    DeviceDiagnosticsConfigCreateInfoNV( VkDeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigCreateInfoNV(
+      DeviceDiagnosticsConfigCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DeviceDiagnosticsConfigCreateInfoNV &
-      operator=( VkDeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  DeviceDiagnosticsConfigCreateInfoNV(
+      VkDeviceDiagnosticsConfigCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceDiagnosticsConfigCreateInfoNV(
+            *reinterpret_cast<DeviceDiagnosticsConfigCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeviceDiagnosticsConfigCreateInfoNV &
-      operator=( DeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
+  VULKAN_HPP_CONSTEXPR_14 DeviceDiagnosticsConfigCreateInfoNV &
+  operator=(DeviceDiagnosticsConfigCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DeviceDiagnosticsConfigCreateInfoNV &operator=(
+      VkDeviceDiagnosticsConfigCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    DeviceDiagnosticsConfigCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DeviceDiagnosticsConfigCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DeviceDiagnosticsConfigCreateInfoNV &
-      setFlags( VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  DeviceDiagnosticsConfigCreateInfoNV &
+  setFlags(VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    operator VkDeviceDiagnosticsConfigCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV *>( this );
-    }
+  operator VkDeviceDiagnosticsConfigCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV *>(
+        this);
+  }
 
-    operator VkDeviceDiagnosticsConfigCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceDiagnosticsConfigCreateInfoNV *>( this );
-    }
+  operator VkDeviceDiagnosticsConfigCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceDiagnosticsConfigCreateInfoNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceDiagnosticsConfigCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceDiagnosticsConfigCreateInfoNV const &) const = default;
 #else
-    bool operator==( DeviceDiagnosticsConfigCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
-    }
+  bool operator==(DeviceDiagnosticsConfigCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (flags == rhs.flags);
+  }
 
-    bool operator!=( DeviceDiagnosticsConfigCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DeviceDiagnosticsConfigCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType            sType = StructureType::eDeviceDiagnosticsConfigCreateInfoNV;
-    const void *                                         pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags = {};
-  };
-  static_assert( sizeof( DeviceDiagnosticsConfigCreateInfoNV ) == sizeof( VkDeviceDiagnosticsConfigCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceDiagnosticsConfigCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceDiagnosticsConfigCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags = {};
+};
+static_assert(sizeof(DeviceDiagnosticsConfigCreateInfoNV) ==
+                  sizeof(VkDeviceDiagnosticsConfigCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DeviceDiagnosticsConfigCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceDiagnosticsConfigCreateInfoNV>
-  {
-    using Type = DeviceDiagnosticsConfigCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceDiagnosticsConfigCreateInfoNV> {
+  using Type = DeviceDiagnosticsConfigCreateInfoNV;
+};
 
-  struct DeviceEventInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceEventInfoEXT;
+struct DeviceEventInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceEventInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DeviceEventInfoEXT( VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent_ =
-                          VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT::eDisplayHotplug ) VULKAN_HPP_NOEXCEPT
-      : deviceEvent( deviceEvent_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceEventInfoEXT(
+      VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent_ =
+          VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT::eDisplayHotplug)
+      VULKAN_HPP_NOEXCEPT : deviceEvent(deviceEvent_) {}
 
-    DeviceEventInfoEXT( VkDeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DeviceEventInfoEXT(DeviceEventInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DeviceEventInfoEXT & operator=( VkDeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const *>( &rhs );
-      return *this;
-    }
+  DeviceEventInfoEXT(VkDeviceEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceEventInfoEXT(
+            *reinterpret_cast<DeviceEventInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeviceEventInfoEXT & operator=( DeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      deviceEvent = rhs.deviceEvent;
+  VULKAN_HPP_CONSTEXPR_14 DeviceEventInfoEXT &
+  operator=(DeviceEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DeviceEventInfoEXT &
+  operator=(VkDeviceEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    DeviceEventInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DeviceEventInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DeviceEventInfoEXT & setDeviceEvent( VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceEvent = deviceEvent_;
-      return *this;
-    }
+  DeviceEventInfoEXT &
+  setDeviceEvent(VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent_)
+      VULKAN_HPP_NOEXCEPT {
+    deviceEvent = deviceEvent_;
+    return *this;
+  }
 
-    operator VkDeviceEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceEventInfoEXT *>( this );
-    }
+  operator VkDeviceEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceEventInfoEXT *>(this);
+  }
 
-    operator VkDeviceEventInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceEventInfoEXT *>( this );
-    }
+  operator VkDeviceEventInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceEventInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceEventInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceEventInfoEXT const &) const = default;
 #else
-    bool operator==( DeviceEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceEvent == rhs.deviceEvent );
-    }
+  bool operator==(DeviceEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceEvent == rhs.deviceEvent);
+  }
 
-    bool operator!=( DeviceEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DeviceEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eDeviceEventInfoEXT;
-    const void *                              pNext       = {};
-    VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT  deviceEvent = VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT::eDisplayHotplug;
-  };
-  static_assert( sizeof( DeviceEventInfoEXT ) == sizeof( VkDeviceEventInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceEventInfoEXT>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceEventInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent =
+      VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT::eDisplayHotplug;
+};
+static_assert(sizeof(DeviceEventInfoEXT) == sizeof(VkDeviceEventInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceEventInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceEventInfoEXT>
-  {
-    using Type = DeviceEventInfoEXT;
-  };
+template <> struct CppType<StructureType, StructureType::eDeviceEventInfoEXT> {
+  using Type = DeviceEventInfoEXT;
+};
 
-  struct DeviceGroupBindSparseInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceGroupBindSparseInfo;
+struct DeviceGroupBindSparseInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceGroupBindSparseInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo( uint32_t resourceDeviceIndex_ = {},
-                                                    uint32_t memoryDeviceIndex_   = {} ) VULKAN_HPP_NOEXCEPT
-      : resourceDeviceIndex( resourceDeviceIndex_ )
-      , memoryDeviceIndex( memoryDeviceIndex_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo(
+      uint32_t resourceDeviceIndex_ = {},
+      uint32_t memoryDeviceIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : resourceDeviceIndex(resourceDeviceIndex_),
+        memoryDeviceIndex(memoryDeviceIndex_) {}
 
-    DeviceGroupBindSparseInfo( VkDeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo(
+      DeviceGroupBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    DeviceGroupBindSparseInfo & operator=( VkDeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo const *>( &rhs );
-      return *this;
-    }
+  DeviceGroupBindSparseInfo(VkDeviceGroupBindSparseInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DeviceGroupBindSparseInfo(
+            *reinterpret_cast<DeviceGroupBindSparseInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeviceGroupBindSparseInfo & operator=( DeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      resourceDeviceIndex = rhs.resourceDeviceIndex;
-      memoryDeviceIndex   = rhs.memoryDeviceIndex;
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupBindSparseInfo &
+  operator=(DeviceGroupBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DeviceGroupBindSparseInfo &
+  operator=(VkDeviceGroupBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo const *>(&rhs);
+    return *this;
+  }
 
-    DeviceGroupBindSparseInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DeviceGroupBindSparseInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DeviceGroupBindSparseInfo & setResourceDeviceIndex( uint32_t resourceDeviceIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      resourceDeviceIndex = resourceDeviceIndex_;
-      return *this;
-    }
+  DeviceGroupBindSparseInfo &
+  setResourceDeviceIndex(uint32_t resourceDeviceIndex_) VULKAN_HPP_NOEXCEPT {
+    resourceDeviceIndex = resourceDeviceIndex_;
+    return *this;
+  }
 
-    DeviceGroupBindSparseInfo & setMemoryDeviceIndex( uint32_t memoryDeviceIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryDeviceIndex = memoryDeviceIndex_;
-      return *this;
-    }
+  DeviceGroupBindSparseInfo &
+  setMemoryDeviceIndex(uint32_t memoryDeviceIndex_) VULKAN_HPP_NOEXCEPT {
+    memoryDeviceIndex = memoryDeviceIndex_;
+    return *this;
+  }
 
-    operator VkDeviceGroupBindSparseInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupBindSparseInfo *>( this );
-    }
+  operator VkDeviceGroupBindSparseInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupBindSparseInfo *>(this);
+  }
 
-    operator VkDeviceGroupBindSparseInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupBindSparseInfo *>( this );
-    }
+  operator VkDeviceGroupBindSparseInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupBindSparseInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupBindSparseInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupBindSparseInfo const &) const = default;
 #else
-    bool operator==( DeviceGroupBindSparseInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( resourceDeviceIndex == rhs.resourceDeviceIndex ) &&
-             ( memoryDeviceIndex == rhs.memoryDeviceIndex );
-    }
+  bool
+  operator==(DeviceGroupBindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (resourceDeviceIndex == rhs.resourceDeviceIndex) &&
+           (memoryDeviceIndex == rhs.memoryDeviceIndex);
+  }
 
-    bool operator!=( DeviceGroupBindSparseInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(DeviceGroupBindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType               = StructureType::eDeviceGroupBindSparseInfo;
-    const void *                              pNext               = {};
-    uint32_t                                  resourceDeviceIndex = {};
-    uint32_t                                  memoryDeviceIndex   = {};
-  };
-  static_assert( sizeof( DeviceGroupBindSparseInfo ) == sizeof( VkDeviceGroupBindSparseInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupBindSparseInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupBindSparseInfo;
+  const void *pNext = {};
+  uint32_t resourceDeviceIndex = {};
+  uint32_t memoryDeviceIndex = {};
+};
+static_assert(sizeof(DeviceGroupBindSparseInfo) ==
+                  sizeof(VkDeviceGroupBindSparseInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupBindSparseInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupBindSparseInfo>
-  {
-    using Type = DeviceGroupBindSparseInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eDeviceGroupBindSparseInfo> {
+  using Type = DeviceGroupBindSparseInfo;
+};
+using DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
 
-  struct DeviceGroupCommandBufferBeginInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct DeviceGroupCommandBufferBeginInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eDeviceGroupCommandBufferBeginInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo( uint32_t deviceMask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceMask( deviceMask_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo(
+      uint32_t deviceMask_ = {}) VULKAN_HPP_NOEXCEPT : deviceMask(deviceMask_) {
+  }
 
-    DeviceGroupCommandBufferBeginInfo( VkDeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo(
+      DeviceGroupCommandBufferBeginInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    DeviceGroupCommandBufferBeginInfo & operator=( VkDeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo const *>( &rhs );
-      return *this;
-    }
+  DeviceGroupCommandBufferBeginInfo(
+      VkDeviceGroupCommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceGroupCommandBufferBeginInfo(
+            *reinterpret_cast<DeviceGroupCommandBufferBeginInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    DeviceGroupCommandBufferBeginInfo & operator=( DeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      deviceMask = rhs.deviceMask;
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupCommandBufferBeginInfo &
+  operator=(DeviceGroupCommandBufferBeginInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  DeviceGroupCommandBufferBeginInfo &operator=(
+      VkDeviceGroupCommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo const *>(&rhs);
+    return *this;
+  }
 
-    DeviceGroupCommandBufferBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  DeviceGroupCommandBufferBeginInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    DeviceGroupCommandBufferBeginInfo & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceMask = deviceMask_;
-      return *this;
-    }
+  DeviceGroupCommandBufferBeginInfo &
+  setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT {
+    deviceMask = deviceMask_;
+    return *this;
+  }
 
-    operator VkDeviceGroupCommandBufferBeginInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>( this );
-    }
+  operator VkDeviceGroupCommandBufferBeginInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>(this);
+  }
 
-    operator VkDeviceGroupCommandBufferBeginInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo *>( this );
-    }
+  operator VkDeviceGroupCommandBufferBeginInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupCommandBufferBeginInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupCommandBufferBeginInfo const &) const = default;
 #else
-    bool operator==( DeviceGroupCommandBufferBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceMask == rhs.deviceMask );
-    }
+  bool operator==(DeviceGroupCommandBufferBeginInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceMask == rhs.deviceMask);
+  }
 
-    bool operator!=( DeviceGroupCommandBufferBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DeviceGroupCommandBufferBeginInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eDeviceGroupCommandBufferBeginInfo;
-    const void *                              pNext      = {};
-    uint32_t                                  deviceMask = {};
-  };
-  static_assert( sizeof( DeviceGroupCommandBufferBeginInfo ) == sizeof( VkDeviceGroupCommandBufferBeginInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupCommandBufferBeginInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupCommandBufferBeginInfo;
+  const void *pNext = {};
+  uint32_t deviceMask = {};
+};
+static_assert(sizeof(DeviceGroupCommandBufferBeginInfo) ==
+                  sizeof(VkDeviceGroupCommandBufferBeginInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupCommandBufferBeginInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupCommandBufferBeginInfo>
-  {
-    using Type = DeviceGroupCommandBufferBeginInfo;
-  };
-
-  struct DeviceGroupDeviceCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceGroupDeviceCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo(
-      uint32_t                                     physicalDeviceCount_ = {},
-      const VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices_    = {} ) VULKAN_HPP_NOEXCEPT
-      : physicalDeviceCount( physicalDeviceCount_ )
-      , pPhysicalDevices( pPhysicalDevices_ )
-    {}
-
-    DeviceGroupDeviceCreateInfo( VkDeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupDeviceCreateInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PhysicalDevice> const &
-        physicalDevices_ )
-      : physicalDeviceCount( static_cast<uint32_t>( physicalDevices_.size() ) )
-      , pPhysicalDevices( physicalDevices_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceGroupDeviceCreateInfo & operator=( VkDeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    DeviceGroupDeviceCreateInfo & operator=( DeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      physicalDeviceCount = rhs.physicalDeviceCount;
-      pPhysicalDevices    = rhs.pPhysicalDevices;
-
-      return *this;
-    }
-
-    DeviceGroupDeviceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceGroupDeviceCreateInfo & setPhysicalDeviceCount( uint32_t physicalDeviceCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      physicalDeviceCount = physicalDeviceCount_;
-      return *this;
-    }
-
-    DeviceGroupDeviceCreateInfo &
-      setPPhysicalDevices( const VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPhysicalDevices = pPhysicalDevices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupDeviceCreateInfo & setPhysicalDevices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PhysicalDevice> const &
-        physicalDevices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      physicalDeviceCount = static_cast<uint32_t>( physicalDevices_.size() );
-      pPhysicalDevices    = physicalDevices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceGroupCommandBufferBeginInfo> {
+  using Type = DeviceGroupCommandBufferBeginInfo;
+};
+using DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
 
-    operator VkDeviceGroupDeviceCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>( this );
-    }
+class DisplayKHR {
+public:
+  using CType = VkDisplayKHR;
 
-    operator VkDeviceGroupDeviceCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupDeviceCreateInfo *>( this );
-    }
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayKHR;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupDeviceCreateInfo const & ) const = default;
-#else
-    bool operator==( DeviceGroupDeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( physicalDeviceCount == rhs.physicalDeviceCount ) &&
-             ( pPhysicalDevices == rhs.pPhysicalDevices );
-    }
+public:
+  VULKAN_HPP_CONSTEXPR DisplayKHR() = default;
+  VULKAN_HPP_CONSTEXPR DisplayKHR(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  DisplayKHR(VkDisplayKHR displayKHR) VULKAN_HPP_NOEXCEPT
+      : m_displayKHR(displayKHR) {}
 
-    bool operator!=( DeviceGroupDeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DisplayKHR &operator=(VkDisplayKHR displayKHR) VULKAN_HPP_NOEXCEPT {
+    m_displayKHR = displayKHR;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType               = StructureType::eDeviceGroupDeviceCreateInfo;
-    const void *                                 pNext               = {};
-    uint32_t                                     physicalDeviceCount = {};
-    const VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices    = {};
-  };
-  static_assert( sizeof( DeviceGroupDeviceCreateInfo ) == sizeof( VkDeviceGroupDeviceCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupDeviceCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+  DisplayKHR &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_displayKHR = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupDeviceCreateInfo>
-  {
-    using Type = DeviceGroupDeviceCreateInfo;
-  };
-
-  struct DeviceGroupPresentCapabilitiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eDeviceGroupPresentCapabilitiesKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR(
-      std::array<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> const & presentMask_ = {},
-      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR   modes_       = {} ) VULKAN_HPP_NOEXCEPT
-      : presentMask( presentMask_ )
-      , modes( modes_ )
-    {}
-
-    DeviceGroupPresentCapabilitiesKHR( VkDeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceGroupPresentCapabilitiesKHR & operator=( VkDeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    DeviceGroupPresentCapabilitiesKHR & operator=( DeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      presentMask = rhs.presentMask;
-      modes       = rhs.modes;
-
-      return *this;
-    }
-
-    operator VkDeviceGroupPresentCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupPresentCapabilitiesKHR *>( this );
-    }
-
-    operator VkDeviceGroupPresentCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupPresentCapabilitiesKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayKHR const &) const = default;
 #else
-    bool operator==( DeviceGroupPresentCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( presentMask == rhs.presentMask ) &&
-             ( modes == rhs.modes );
-    }
+  bool operator==(DisplayKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_displayKHR == rhs.m_displayKHR;
+  }
 
-    bool operator!=( DeviceGroupPresentCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
+  bool operator!=(DisplayKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_displayKHR != rhs.m_displayKHR;
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupPresentCapabilitiesKHR;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> presentMask = {};
-    VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR                     modes       = {};
-  };
-  static_assert( sizeof( DeviceGroupPresentCapabilitiesKHR ) == sizeof( VkDeviceGroupPresentCapabilitiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupPresentCapabilitiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupPresentCapabilitiesKHR>
-  {
-    using Type = DeviceGroupPresentCapabilitiesKHR;
-  };
-
-  struct DeviceGroupPresentInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceGroupPresentInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DeviceGroupPresentInfoKHR( uint32_t                                                swapchainCount_ = {},
-                               const uint32_t *                                        pDeviceMasks_   = {},
-                               VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_ =
-                                 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal ) VULKAN_HPP_NOEXCEPT
-      : swapchainCount( swapchainCount_ )
-      , pDeviceMasks( pDeviceMasks_ )
-      , mode( mode_ )
-    {}
-
-    DeviceGroupPresentInfoKHR( VkDeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupPresentInfoKHR( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceMasks_,
-                               VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR               mode_ =
-                                 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal )
-      : swapchainCount( static_cast<uint32_t>( deviceMasks_.size() ) )
-      , pDeviceMasks( deviceMasks_.data() )
-      , mode( mode_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceGroupPresentInfoKHR & operator=( VkDeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    DeviceGroupPresentInfoKHR & operator=( DeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      swapchainCount = rhs.swapchainCount;
-      pDeviceMasks   = rhs.pDeviceMasks;
-      mode           = rhs.mode;
-
-      return *this;
-    }
-
-    DeviceGroupPresentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceGroupPresentInfoKHR & setSwapchainCount( uint32_t swapchainCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = swapchainCount_;
-      return *this;
-    }
-
-    DeviceGroupPresentInfoKHR & setPDeviceMasks( const uint32_t * pDeviceMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDeviceMasks = pDeviceMasks_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupPresentInfoKHR & setDeviceMasks(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & deviceMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = static_cast<uint32_t>( deviceMasks_.size() );
-      pDeviceMasks   = deviceMasks_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    DeviceGroupPresentInfoKHR &
-      setMode( VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mode = mode_;
-      return *this;
-    }
-
-    operator VkDeviceGroupPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>( this );
-    }
-
-    operator VkDeviceGroupPresentInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupPresentInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupPresentInfoKHR const & ) const = default;
-#else
-    bool operator==( DeviceGroupPresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainCount == rhs.swapchainCount ) &&
-             ( pDeviceMasks == rhs.pDeviceMasks ) && ( mode == rhs.mode );
-    }
-
-    bool operator!=( DeviceGroupPresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator<(DisplayKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_displayKHR < rhs.m_displayKHR;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType               sType          = StructureType::eDeviceGroupPresentInfoKHR;
-    const void *                                            pNext          = {};
-    uint32_t                                                swapchainCount = {};
-    const uint32_t *                                        pDeviceMasks   = {};
-    VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode =
-      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal;
-  };
-  static_assert( sizeof( DeviceGroupPresentInfoKHR ) == sizeof( VkDeviceGroupPresentInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupPresentInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDisplayKHR() const VULKAN_HPP_NOEXCEPT {
+    return m_displayKHR;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupPresentInfoKHR>
-  {
-    using Type = DeviceGroupPresentInfoKHR;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_displayKHR != VK_NULL_HANDLE;
+  }
 
-  struct DeviceGroupRenderPassBeginInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceGroupRenderPassBeginInfo;
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_displayKHR == VK_NULL_HANDLE;
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo( uint32_t deviceMask_                                     = {},
-                                                         uint32_t deviceRenderAreaCount_                          = {},
-                                                         const VULKAN_HPP_NAMESPACE::Rect2D * pDeviceRenderAreas_ = {} )
-      VULKAN_HPP_NOEXCEPT
-      : deviceMask( deviceMask_ )
-      , deviceRenderAreaCount( deviceRenderAreaCount_ )
-      , pDeviceRenderAreas( pDeviceRenderAreas_ )
-    {}
+private:
+  VkDisplayKHR m_displayKHR = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DisplayKHR) == sizeof(VkDisplayKHR),
+              "handle and wrapper have different size!");
 
-    DeviceGroupRenderPassBeginInfo( VkDeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDisplayKHR> {
+  using type = VULKAN_HPP_NAMESPACE::DisplayKHR;
+};
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupRenderPassBeginInfo(
-      uint32_t                                                                                  deviceMask_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & deviceRenderAreas_ )
-      : deviceMask( deviceMask_ )
-      , deviceRenderAreaCount( static_cast<uint32_t>( deviceRenderAreas_.size() ) )
-      , pDeviceRenderAreas( deviceRenderAreas_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::DisplayKHR;
+};
 
-    DeviceGroupRenderPassBeginInfo & operator=( VkDeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo const *>( &rhs );
-      return *this;
-    }
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::DisplayKHR;
+};
 
-    DeviceGroupRenderPassBeginInfo & operator=( DeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      deviceMask            = rhs.deviceMask;
-      deviceRenderAreaCount = rhs.deviceRenderAreaCount;
-      pDeviceRenderAreas    = rhs.pDeviceRenderAreas;
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DisplayKHR> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-      return *this;
-    }
-
-    DeviceGroupRenderPassBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceGroupRenderPassBeginInfo & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceMask = deviceMask_;
-      return *this;
-    }
-
-    DeviceGroupRenderPassBeginInfo & setDeviceRenderAreaCount( uint32_t deviceRenderAreaCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceRenderAreaCount = deviceRenderAreaCount_;
-      return *this;
-    }
-
-    DeviceGroupRenderPassBeginInfo &
-      setPDeviceRenderAreas( const VULKAN_HPP_NAMESPACE::Rect2D * pDeviceRenderAreas_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDeviceRenderAreas = pDeviceRenderAreas_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupRenderPassBeginInfo & setDeviceRenderAreas(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & deviceRenderAreas_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      deviceRenderAreaCount = static_cast<uint32_t>( deviceRenderAreas_.size() );
-      pDeviceRenderAreas    = deviceRenderAreas_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkDeviceGroupRenderPassBeginInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>( this );
-    }
-
-    operator VkDeviceGroupRenderPassBeginInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupRenderPassBeginInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupRenderPassBeginInfo const & ) const = default;
-#else
-    bool operator==( DeviceGroupRenderPassBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceMask == rhs.deviceMask ) &&
-             ( deviceRenderAreaCount == rhs.deviceRenderAreaCount ) && ( pDeviceRenderAreas == rhs.pDeviceRenderAreas );
-    }
-
-    bool operator!=( DeviceGroupRenderPassBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                 = StructureType::eDeviceGroupRenderPassBeginInfo;
-    const void *                              pNext                 = {};
-    uint32_t                                  deviceMask            = {};
-    uint32_t                                  deviceRenderAreaCount = {};
-    const VULKAN_HPP_NAMESPACE::Rect2D *      pDeviceRenderAreas    = {};
-  };
-  static_assert( sizeof( DeviceGroupRenderPassBeginInfo ) == sizeof( VkDeviceGroupRenderPassBeginInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupRenderPassBeginInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupRenderPassBeginInfo>
-  {
-    using Type = DeviceGroupRenderPassBeginInfo;
-  };
-
-  struct DeviceGroupSubmitInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceGroupSubmitInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DeviceGroupSubmitInfo( uint32_t         waitSemaphoreCount_            = {},
-                           const uint32_t * pWaitSemaphoreDeviceIndices_   = {},
-                           uint32_t         commandBufferCount_            = {},
-                           const uint32_t * pCommandBufferDeviceMasks_     = {},
-                           uint32_t         signalSemaphoreCount_          = {},
-                           const uint32_t * pSignalSemaphoreDeviceIndices_ = {} ) VULKAN_HPP_NOEXCEPT
-      : waitSemaphoreCount( waitSemaphoreCount_ )
-      , pWaitSemaphoreDeviceIndices( pWaitSemaphoreDeviceIndices_ )
-      , commandBufferCount( commandBufferCount_ )
-      , pCommandBufferDeviceMasks( pCommandBufferDeviceMasks_ )
-      , signalSemaphoreCount( signalSemaphoreCount_ )
-      , pSignalSemaphoreDeviceIndices( pSignalSemaphoreDeviceIndices_ )
-    {}
-
-    DeviceGroupSubmitInfo( VkDeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupSubmitInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & waitSemaphoreDeviceIndices_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & commandBufferDeviceMasks_     = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & signalSemaphoreDeviceIndices_ = {} )
-      : waitSemaphoreCount( static_cast<uint32_t>( waitSemaphoreDeviceIndices_.size() ) )
-      , pWaitSemaphoreDeviceIndices( waitSemaphoreDeviceIndices_.data() )
-      , commandBufferCount( static_cast<uint32_t>( commandBufferDeviceMasks_.size() ) )
-      , pCommandBufferDeviceMasks( commandBufferDeviceMasks_.data() )
-      , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphoreDeviceIndices_.size() ) )
-      , pSignalSemaphoreDeviceIndices( signalSemaphoreDeviceIndices_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceGroupSubmitInfo & operator=( VkDeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo const *>( &rhs );
-      return *this;
-    }
-
-    DeviceGroupSubmitInfo & operator=( DeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      waitSemaphoreCount            = rhs.waitSemaphoreCount;
-      pWaitSemaphoreDeviceIndices   = rhs.pWaitSemaphoreDeviceIndices;
-      commandBufferCount            = rhs.commandBufferCount;
-      pCommandBufferDeviceMasks     = rhs.pCommandBufferDeviceMasks;
-      signalSemaphoreCount          = rhs.signalSemaphoreCount;
-      pSignalSemaphoreDeviceIndices = rhs.pSignalSemaphoreDeviceIndices;
-
-      return *this;
-    }
-
-    DeviceGroupSubmitInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceGroupSubmitInfo & setWaitSemaphoreCount( uint32_t waitSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = waitSemaphoreCount_;
-      return *this;
-    }
-
-    DeviceGroupSubmitInfo &
-      setPWaitSemaphoreDeviceIndices( const uint32_t * pWaitSemaphoreDeviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupSubmitInfo & setWaitSemaphoreDeviceIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & waitSemaphoreDeviceIndices_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount          = static_cast<uint32_t>( waitSemaphoreDeviceIndices_.size() );
-      pWaitSemaphoreDeviceIndices = waitSemaphoreDeviceIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    DeviceGroupSubmitInfo & setCommandBufferCount( uint32_t commandBufferCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      commandBufferCount = commandBufferCount_;
-      return *this;
-    }
-
-    DeviceGroupSubmitInfo &
-      setPCommandBufferDeviceMasks( const uint32_t * pCommandBufferDeviceMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCommandBufferDeviceMasks = pCommandBufferDeviceMasks_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupSubmitInfo & setCommandBufferDeviceMasks(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & commandBufferDeviceMasks_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      commandBufferCount        = static_cast<uint32_t>( commandBufferDeviceMasks_.size() );
-      pCommandBufferDeviceMasks = commandBufferDeviceMasks_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    DeviceGroupSubmitInfo & setSignalSemaphoreCount( uint32_t signalSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreCount = signalSemaphoreCount_;
-      return *this;
-    }
-
-    DeviceGroupSubmitInfo &
-      setPSignalSemaphoreDeviceIndices( const uint32_t * pSignalSemaphoreDeviceIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DeviceGroupSubmitInfo & setSignalSemaphoreDeviceIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & signalSemaphoreDeviceIndices_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreCount          = static_cast<uint32_t>( signalSemaphoreDeviceIndices_.size() );
-      pSignalSemaphoreDeviceIndices = signalSemaphoreDeviceIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkDeviceGroupSubmitInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupSubmitInfo *>( this );
-    }
-
-    operator VkDeviceGroupSubmitInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupSubmitInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupSubmitInfo const & ) const = default;
-#else
-    bool operator==( DeviceGroupSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
-             ( pWaitSemaphoreDeviceIndices == rhs.pWaitSemaphoreDeviceIndices ) &&
-             ( commandBufferCount == rhs.commandBufferCount ) &&
-             ( pCommandBufferDeviceMasks == rhs.pCommandBufferDeviceMasks ) &&
-             ( signalSemaphoreCount == rhs.signalSemaphoreCount ) &&
-             ( pSignalSemaphoreDeviceIndices == rhs.pSignalSemaphoreDeviceIndices );
-    }
-
-    bool operator!=( DeviceGroupSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                         = StructureType::eDeviceGroupSubmitInfo;
-    const void *                              pNext                         = {};
-    uint32_t                                  waitSemaphoreCount            = {};
-    const uint32_t *                          pWaitSemaphoreDeviceIndices   = {};
-    uint32_t                                  commandBufferCount            = {};
-    const uint32_t *                          pCommandBufferDeviceMasks     = {};
-    uint32_t                                  signalSemaphoreCount          = {};
-    const uint32_t *                          pSignalSemaphoreDeviceIndices = {};
-  };
-  static_assert( sizeof( DeviceGroupSubmitInfo ) == sizeof( VkDeviceGroupSubmitInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupSubmitInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupSubmitInfo>
-  {
-    using Type = DeviceGroupSubmitInfo;
-  };
-
-  struct DeviceGroupSwapchainCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eDeviceGroupSwapchainCreateInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceGroupSwapchainCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_ = {} ) VULKAN_HPP_NOEXCEPT : modes( modes_ )
-    {}
-
-    DeviceGroupSwapchainCreateInfoKHR( VkDeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceGroupSwapchainCreateInfoKHR & operator=( VkDeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    DeviceGroupSwapchainCreateInfoKHR & operator=( DeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      modes = rhs.modes;
-
-      return *this;
-    }
-
-    DeviceGroupSwapchainCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceGroupSwapchainCreateInfoKHR &
-      setModes( VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      modes = modes_;
-      return *this;
-    }
-
-    operator VkDeviceGroupSwapchainCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>( this );
-    }
-
-    operator VkDeviceGroupSwapchainCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceGroupSwapchainCreateInfoKHR const & ) const = default;
-#else
-    bool operator==( DeviceGroupSwapchainCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( modes == rhs.modes );
-    }
-
-    bool operator!=( DeviceGroupSwapchainCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType            sType = StructureType::eDeviceGroupSwapchainCreateInfoKHR;
-    const void *                                         pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes = {};
-  };
-  static_assert( sizeof( DeviceGroupSwapchainCreateInfoKHR ) == sizeof( VkDeviceGroupSwapchainCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceGroupSwapchainCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceGroupSwapchainCreateInfoKHR>
-  {
-    using Type = DeviceGroupSwapchainCreateInfoKHR;
-  };
-
-  struct DeviceMemoryOpaqueCaptureAddressInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eDeviceMemoryOpaqueCaptureAddressInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DeviceMemoryOpaqueCaptureAddressInfo( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memory( memory_ )
-    {}
-
-    DeviceMemoryOpaqueCaptureAddressInfo( VkDeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceMemoryOpaqueCaptureAddressInfo &
-      operator=( VkDeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo const *>( &rhs );
-      return *this;
-    }
-
-    DeviceMemoryOpaqueCaptureAddressInfo &
-      operator=( DeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      memory = rhs.memory;
-
-      return *this;
-    }
-
-    DeviceMemoryOpaqueCaptureAddressInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceMemoryOpaqueCaptureAddressInfo & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
-
-    operator VkDeviceMemoryOpaqueCaptureAddressInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( this );
-    }
-
-    operator VkDeviceMemoryOpaqueCaptureAddressInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceMemoryOpaqueCaptureAddressInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceMemoryOpaqueCaptureAddressInfo const & ) const = default;
-#else
-    bool operator==( DeviceMemoryOpaqueCaptureAddressInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory );
-    }
-
-    bool operator!=( DeviceMemoryOpaqueCaptureAddressInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eDeviceMemoryOpaqueCaptureAddressInfo;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory        memory = {};
-  };
-  static_assert( sizeof( DeviceMemoryOpaqueCaptureAddressInfo ) == sizeof( VkDeviceMemoryOpaqueCaptureAddressInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceMemoryOpaqueCaptureAddressInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceMemoryOpaqueCaptureAddressInfo>
-  {
-    using Type = DeviceMemoryOpaqueCaptureAddressInfo;
-  };
-
-  struct DeviceMemoryOverallocationCreateInfoAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eDeviceMemoryOverallocationCreateInfoAMD;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceMemoryOverallocationCreateInfoAMD(
-      VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD overallocationBehavior_ =
-        VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD::eDefault ) VULKAN_HPP_NOEXCEPT
-      : overallocationBehavior( overallocationBehavior_ )
-    {}
-
-    DeviceMemoryOverallocationCreateInfoAMD( VkDeviceMemoryOverallocationCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceMemoryOverallocationCreateInfoAMD &
-      operator=( VkDeviceMemoryOverallocationCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD const *>( &rhs );
-      return *this;
-    }
-
-    DeviceMemoryOverallocationCreateInfoAMD &
-      operator=( DeviceMemoryOverallocationCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      overallocationBehavior = rhs.overallocationBehavior;
-
-      return *this;
-    }
-
-    DeviceMemoryOverallocationCreateInfoAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceMemoryOverallocationCreateInfoAMD & setOverallocationBehavior(
-      VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD overallocationBehavior_ ) VULKAN_HPP_NOEXCEPT
-    {
-      overallocationBehavior = overallocationBehavior_;
-      return *this;
-    }
-
-    operator VkDeviceMemoryOverallocationCreateInfoAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>( this );
-    }
-
-    operator VkDeviceMemoryOverallocationCreateInfoAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceMemoryOverallocationCreateInfoAMD *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceMemoryOverallocationCreateInfoAMD const & ) const = default;
-#else
-    bool operator==( DeviceMemoryOverallocationCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( overallocationBehavior == rhs.overallocationBehavior );
-    }
-
-    bool operator!=( DeviceMemoryOverallocationCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceMemoryOverallocationCreateInfoAMD;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD overallocationBehavior =
-      VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD::eDefault;
-  };
-  static_assert( sizeof( DeviceMemoryOverallocationCreateInfoAMD ) ==
-                   sizeof( VkDeviceMemoryOverallocationCreateInfoAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceMemoryOverallocationCreateInfoAMD>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceMemoryOverallocationCreateInfoAMD>
-  {
-    using Type = DeviceMemoryOverallocationCreateInfoAMD;
-  };
-
-  struct DevicePrivateDataCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = true;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDevicePrivateDataCreateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DevicePrivateDataCreateInfoEXT( uint32_t privateDataSlotRequestCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : privateDataSlotRequestCount( privateDataSlotRequestCount_ )
-    {}
-
-    DevicePrivateDataCreateInfoEXT( VkDevicePrivateDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DevicePrivateDataCreateInfoEXT & operator=( VkDevicePrivateDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    DevicePrivateDataCreateInfoEXT & operator=( DevicePrivateDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      privateDataSlotRequestCount = rhs.privateDataSlotRequestCount;
-
-      return *this;
-    }
-
-    DevicePrivateDataCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DevicePrivateDataCreateInfoEXT &
-      setPrivateDataSlotRequestCount( uint32_t privateDataSlotRequestCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      privateDataSlotRequestCount = privateDataSlotRequestCount_;
-      return *this;
-    }
-
-    operator VkDevicePrivateDataCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDevicePrivateDataCreateInfoEXT *>( this );
-    }
-
-    operator VkDevicePrivateDataCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDevicePrivateDataCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DevicePrivateDataCreateInfoEXT const & ) const = default;
-#else
-    bool operator==( DevicePrivateDataCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( privateDataSlotRequestCount == rhs.privateDataSlotRequestCount );
-    }
-
-    bool operator!=( DevicePrivateDataCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDevicePrivateDataCreateInfoEXT;
-    const void *                              pNext = {};
-    uint32_t                                  privateDataSlotRequestCount = {};
-  };
-  static_assert( sizeof( DevicePrivateDataCreateInfoEXT ) == sizeof( VkDevicePrivateDataCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DevicePrivateDataCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDevicePrivateDataCreateInfoEXT>
-  {
-    using Type = DevicePrivateDataCreateInfoEXT;
-  };
-
-  struct DeviceQueueGlobalPriorityCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DeviceQueueGlobalPriorityCreateInfoEXT( VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT globalPriority_ =
-                                              VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT::eLow ) VULKAN_HPP_NOEXCEPT
-      : globalPriority( globalPriority_ )
-    {}
-
-    DeviceQueueGlobalPriorityCreateInfoEXT( VkDeviceQueueGlobalPriorityCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceQueueGlobalPriorityCreateInfoEXT &
-      operator=( VkDeviceQueueGlobalPriorityCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    DeviceQueueGlobalPriorityCreateInfoEXT &
-      operator=( DeviceQueueGlobalPriorityCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      globalPriority = rhs.globalPriority;
-
-      return *this;
-    }
-
-    DeviceQueueGlobalPriorityCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceQueueGlobalPriorityCreateInfoEXT &
-      setGlobalPriority( VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT globalPriority_ ) VULKAN_HPP_NOEXCEPT
-    {
-      globalPriority = globalPriority_;
-      return *this;
-    }
-
-    operator VkDeviceQueueGlobalPriorityCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT *>( this );
-    }
-
-    operator VkDeviceQueueGlobalPriorityCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceQueueGlobalPriorityCreateInfoEXT const & ) const = default;
-#else
-    bool operator==( DeviceQueueGlobalPriorityCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( globalPriority == rhs.globalPriority );
-    }
-
-    bool operator!=( DeviceQueueGlobalPriorityCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType = StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT;
-    const void *                                 pNext = {};
-    VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT globalPriority = VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT::eLow;
-  };
-  static_assert( sizeof( DeviceQueueGlobalPriorityCreateInfoEXT ) == sizeof( VkDeviceQueueGlobalPriorityCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceQueueGlobalPriorityCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT>
-  {
-    using Type = DeviceQueueGlobalPriorityCreateInfoEXT;
-  };
-
-  struct DeviceQueueInfo2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDeviceQueueInfo2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DeviceQueueInfo2( VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_            = {},
-                                           uint32_t                                     queueFamilyIndex_ = {},
-                                           uint32_t queueIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , queueFamilyIndex( queueFamilyIndex_ )
-      , queueIndex( queueIndex_ )
-    {}
-
-    DeviceQueueInfo2( VkDeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DeviceQueueInfo2 & operator=( VkDeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const *>( &rhs );
-      return *this;
-    }
-
-    DeviceQueueInfo2 & operator=( DeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      flags            = rhs.flags;
-      queueFamilyIndex = rhs.queueFamilyIndex;
-      queueIndex       = rhs.queueIndex;
-
-      return *this;
-    }
-
-    DeviceQueueInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DeviceQueueInfo2 & setFlags( VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    DeviceQueueInfo2 & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndex = queueFamilyIndex_;
-      return *this;
-    }
-
-    DeviceQueueInfo2 & setQueueIndex( uint32_t queueIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueIndex = queueIndex_;
-      return *this;
-    }
-
-    operator VkDeviceQueueInfo2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDeviceQueueInfo2 *>( this );
-    }
-
-    operator VkDeviceQueueInfo2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDeviceQueueInfo2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DeviceQueueInfo2 const & ) const = default;
-#else
-    bool operator==( DeviceQueueInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( queueFamilyIndex == rhs.queueFamilyIndex ) && ( queueIndex == rhs.queueIndex );
-    }
-
-    bool operator!=( DeviceQueueInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType            = StructureType::eDeviceQueueInfo2;
-    const void *                                 pNext            = {};
-    VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags            = {};
-    uint32_t                                     queueFamilyIndex = {};
-    uint32_t                                     queueIndex       = {};
-  };
-  static_assert( sizeof( DeviceQueueInfo2 ) == sizeof( VkDeviceQueueInfo2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DeviceQueueInfo2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDeviceQueueInfo2>
-  {
-    using Type = DeviceQueueInfo2;
-  };
-
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-  struct DirectFBSurfaceCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDirectfbSurfaceCreateInfoEXT;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DirectFBSurfaceCreateInfoEXT( VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags_ = {},
-                                                       IDirectFB *                                         dfb_   = {},
-                                                       IDirectFBSurface * surface_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , dfb( dfb_ )
-      , surface( surface_ )
-    {}
-
-    DirectFBSurfaceCreateInfoEXT( VkDirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DirectFBSurfaceCreateInfoEXT & operator=( VkDirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    DirectFBSurfaceCreateInfoEXT & operator=( DirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext   = rhs.pNext;
-      flags   = rhs.flags;
-      dfb     = rhs.dfb;
-      surface = rhs.surface;
-
-      return *this;
-    }
-
-    DirectFBSurfaceCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DirectFBSurfaceCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    DirectFBSurfaceCreateInfoEXT & setDfb( IDirectFB * dfb_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dfb = dfb_;
-      return *this;
-    }
-
-    DirectFBSurfaceCreateInfoEXT & setSurface( IDirectFBSurface * surface_ ) VULKAN_HPP_NOEXCEPT
-    {
-      surface = surface_;
-      return *this;
-    }
-
-    operator VkDirectFBSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( this );
-    }
-
-    operator VkDirectFBSurfaceCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDirectFBSurfaceCreateInfoEXT *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DirectFBSurfaceCreateInfoEXT const & ) const = default;
-#  else
-    bool operator==( DirectFBSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( dfb == rhs.dfb ) &&
-             ( surface == rhs.surface );
-    }
-
-    bool operator!=( DirectFBSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType   = StructureType::eDirectfbSurfaceCreateInfoEXT;
-    const void *                                        pNext   = {};
-    VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags   = {};
-    IDirectFB *                                         dfb     = {};
-    IDirectFBSurface *                                  surface = {};
-  };
-  static_assert( sizeof( DirectFBSurfaceCreateInfoEXT ) == sizeof( VkDirectFBSurfaceCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DirectFBSurfaceCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDirectfbSurfaceCreateInfoEXT>
-  {
-    using Type = DirectFBSurfaceCreateInfoEXT;
-  };
-#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-
-  struct DispatchIndirectCommand
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DispatchIndirectCommand( uint32_t x_ = {}, uint32_t y_ = {}, uint32_t z_ = {} ) VULKAN_HPP_NOEXCEPT
-      : x( x_ )
-      , y( y_ )
-      , z( z_ )
-    {}
-
-    DispatchIndirectCommand( VkDispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DispatchIndirectCommand & operator=( VkDispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DispatchIndirectCommand const *>( &rhs );
-      return *this;
-    }
-
-    DispatchIndirectCommand & setX( uint32_t x_ ) VULKAN_HPP_NOEXCEPT
-    {
-      x = x_;
-      return *this;
-    }
-
-    DispatchIndirectCommand & setY( uint32_t y_ ) VULKAN_HPP_NOEXCEPT
-    {
-      y = y_;
-      return *this;
-    }
-
-    DispatchIndirectCommand & setZ( uint32_t z_ ) VULKAN_HPP_NOEXCEPT
-    {
-      z = z_;
-      return *this;
-    }
-
-    operator VkDispatchIndirectCommand const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDispatchIndirectCommand *>( this );
-    }
-
-    operator VkDispatchIndirectCommand &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDispatchIndirectCommand *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DispatchIndirectCommand const & ) const = default;
-#else
-    bool operator==( DispatchIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z );
-    }
-
-    bool operator!=( DispatchIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t x = {};
-    uint32_t y = {};
-    uint32_t z = {};
-  };
-  static_assert( sizeof( DispatchIndirectCommand ) == sizeof( VkDispatchIndirectCommand ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DispatchIndirectCommand>::value, "struct wrapper is not a standard layout!" );
-
-  struct DisplayEventInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayEventInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DisplayEventInfoEXT( VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent_ =
-                           VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT::eFirstPixelOut ) VULKAN_HPP_NOEXCEPT
-      : displayEvent( displayEvent_ )
-    {}
-
-    DisplayEventInfoEXT( VkDisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayEventInfoEXT & operator=( VkDisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    DisplayEventInfoEXT & operator=( DisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      displayEvent = rhs.displayEvent;
-
-      return *this;
-    }
-
-    DisplayEventInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DisplayEventInfoEXT & setDisplayEvent( VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      displayEvent = displayEvent_;
-      return *this;
-    }
-
-    operator VkDisplayEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayEventInfoEXT *>( this );
-    }
-
-    operator VkDisplayEventInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayEventInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayEventInfoEXT const & ) const = default;
-#else
-    bool operator==( DisplayEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayEvent == rhs.displayEvent );
-    }
-
-    bool operator!=( DisplayEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eDisplayEventInfoEXT;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent = VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT::eFirstPixelOut;
-  };
-  static_assert( sizeof( DisplayEventInfoEXT ) == sizeof( VkDisplayEventInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayEventInfoEXT>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayEventInfoEXT>
-  {
-    using Type = DisplayEventInfoEXT;
-  };
-
-  struct DisplayModeParametersKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayModeParametersKHR( VULKAN_HPP_NAMESPACE::Extent2D visibleRegion_ = {},
-                                                   uint32_t refreshRate_ = {} ) VULKAN_HPP_NOEXCEPT
-      : visibleRegion( visibleRegion_ )
-      , refreshRate( refreshRate_ )
-    {}
-
-    DisplayModeParametersKHR( VkDisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayModeParametersKHR & operator=( VkDisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayModeParametersKHR &
-      setVisibleRegion( VULKAN_HPP_NAMESPACE::Extent2D const & visibleRegion_ ) VULKAN_HPP_NOEXCEPT
-    {
-      visibleRegion = visibleRegion_;
-      return *this;
-    }
-
-    DisplayModeParametersKHR & setRefreshRate( uint32_t refreshRate_ ) VULKAN_HPP_NOEXCEPT
-    {
-      refreshRate = refreshRate_;
-      return *this;
-    }
-
-    operator VkDisplayModeParametersKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayModeParametersKHR *>( this );
-    }
-
-    operator VkDisplayModeParametersKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayModeParametersKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayModeParametersKHR const & ) const = default;
-#else
-    bool operator==( DisplayModeParametersKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( visibleRegion == rhs.visibleRegion ) && ( refreshRate == rhs.refreshRate );
-    }
-
-    bool operator!=( DisplayModeParametersKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Extent2D visibleRegion = {};
-    uint32_t                       refreshRate   = {};
-  };
-  static_assert( sizeof( DisplayModeParametersKHR ) == sizeof( VkDisplayModeParametersKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayModeParametersKHR>::value, "struct wrapper is not a standard layout!" );
-
-  struct DisplayModeCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayModeCreateInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DisplayModeCreateInfoKHR( VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags_      = {},
-                              VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR  parameters_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , parameters( parameters_ )
-    {}
-
-    DisplayModeCreateInfoKHR( VkDisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayModeCreateInfoKHR & operator=( VkDisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayModeCreateInfoKHR & operator=( DisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      flags      = rhs.flags;
-      parameters = rhs.parameters;
-
-      return *this;
-    }
-
-    DisplayModeCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DisplayModeCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    DisplayModeCreateInfoKHR &
-      setParameters( VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const & parameters_ ) VULKAN_HPP_NOEXCEPT
-    {
-      parameters = parameters_;
-      return *this;
-    }
-
-    operator VkDisplayModeCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( this );
-    }
-
-    operator VkDisplayModeCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayModeCreateInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayModeCreateInfoKHR const & ) const = default;
-#else
-    bool operator==( DisplayModeCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( parameters == rhs.parameters );
-    }
-
-    bool operator!=( DisplayModeCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType       sType      = StructureType::eDisplayModeCreateInfoKHR;
-    const void *                                    pNext      = {};
-    VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags      = {};
-    VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR  parameters = {};
-  };
-  static_assert( sizeof( DisplayModeCreateInfoKHR ) == sizeof( VkDisplayModeCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayModeCreateInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayModeCreateInfoKHR>
-  {
-    using Type = DisplayModeCreateInfoKHR;
-  };
-
-  struct DisplayModePropertiesKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR           displayMode_ = {},
-                              VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters_  = {} ) VULKAN_HPP_NOEXCEPT
-      : displayMode( displayMode_ )
-      , parameters( parameters_ )
-    {}
-
-    DisplayModePropertiesKHR( VkDisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayModePropertiesKHR & operator=( VkDisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    operator VkDisplayModePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayModePropertiesKHR *>( this );
-    }
-
-    operator VkDisplayModePropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayModePropertiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayModePropertiesKHR const & ) const = default;
-#else
-    bool operator==( DisplayModePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( displayMode == rhs.displayMode ) && ( parameters == rhs.parameters );
-    }
-
-    bool operator!=( DisplayModePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DisplayModeKHR           displayMode = {};
-    VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters  = {};
-  };
-  static_assert( sizeof( DisplayModePropertiesKHR ) == sizeof( VkDisplayModePropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayModePropertiesKHR>::value, "struct wrapper is not a standard layout!" );
-
-  struct DisplayModeProperties2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayModeProperties2KHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayModeProperties2KHR(
-      VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR displayModeProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : displayModeProperties( displayModeProperties_ )
-    {}
-
-    DisplayModeProperties2KHR( VkDisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayModeProperties2KHR & operator=( VkDisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayModeProperties2KHR & operator=( DisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      displayModeProperties = rhs.displayModeProperties;
-
-      return *this;
-    }
-
-    operator VkDisplayModeProperties2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayModeProperties2KHR *>( this );
-    }
-
-    operator VkDisplayModeProperties2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayModeProperties2KHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayModeProperties2KHR const & ) const = default;
-#else
-    bool operator==( DisplayModeProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayModeProperties == rhs.displayModeProperties );
-    }
-
-    bool operator!=( DisplayModeProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType                 = StructureType::eDisplayModeProperties2KHR;
-    void *                                         pNext                 = {};
-    VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR displayModeProperties = {};
-  };
-  static_assert( sizeof( DisplayModeProperties2KHR ) == sizeof( VkDisplayModeProperties2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayModeProperties2KHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayModeProperties2KHR>
-  {
-    using Type = DisplayModeProperties2KHR;
-  };
-
-  struct DisplayNativeHdrSurfaceCapabilitiesAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayNativeHdrSurfaceCapabilitiesAMD(
-      VULKAN_HPP_NAMESPACE::Bool32 localDimmingSupport_ = {} ) VULKAN_HPP_NOEXCEPT
-      : localDimmingSupport( localDimmingSupport_ )
-    {}
-
-    DisplayNativeHdrSurfaceCapabilitiesAMD( VkDisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayNativeHdrSurfaceCapabilitiesAMD &
-      operator=( VkDisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD const *>( &rhs );
-      return *this;
-    }
-
-    DisplayNativeHdrSurfaceCapabilitiesAMD &
-      operator=( DisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      localDimmingSupport = rhs.localDimmingSupport;
-
-      return *this;
-    }
-
-    operator VkDisplayNativeHdrSurfaceCapabilitiesAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this );
-    }
-
-    operator VkDisplayNativeHdrSurfaceCapabilitiesAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayNativeHdrSurfaceCapabilitiesAMD const & ) const = default;
-#else
-    bool operator==( DisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( localDimmingSupport == rhs.localDimmingSupport );
-    }
-
-    bool operator!=( DisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              localDimmingSupport = {};
-  };
-  static_assert( sizeof( DisplayNativeHdrSurfaceCapabilitiesAMD ) == sizeof( VkDisplayNativeHdrSurfaceCapabilitiesAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayNativeHdrSurfaceCapabilitiesAMD>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD>
-  {
-    using Type = DisplayNativeHdrSurfaceCapabilitiesAMD;
-  };
-
-  struct DisplayPlaneCapabilitiesKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagsKHR supportedAlpha_ = {},
-                                 VULKAN_HPP_NAMESPACE::Offset2D                  minSrcPosition_ = {},
-                                 VULKAN_HPP_NAMESPACE::Offset2D                  maxSrcPosition_ = {},
-                                 VULKAN_HPP_NAMESPACE::Extent2D                  minSrcExtent_   = {},
-                                 VULKAN_HPP_NAMESPACE::Extent2D                  maxSrcExtent_   = {},
-                                 VULKAN_HPP_NAMESPACE::Offset2D                  minDstPosition_ = {},
-                                 VULKAN_HPP_NAMESPACE::Offset2D                  maxDstPosition_ = {},
-                                 VULKAN_HPP_NAMESPACE::Extent2D                  minDstExtent_   = {},
-                                 VULKAN_HPP_NAMESPACE::Extent2D maxDstExtent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : supportedAlpha( supportedAlpha_ )
-      , minSrcPosition( minSrcPosition_ )
-      , maxSrcPosition( maxSrcPosition_ )
-      , minSrcExtent( minSrcExtent_ )
-      , maxSrcExtent( maxSrcExtent_ )
-      , minDstPosition( minDstPosition_ )
-      , maxDstPosition( maxDstPosition_ )
-      , minDstExtent( minDstExtent_ )
-      , maxDstExtent( maxDstExtent_ )
-    {}
-
-    DisplayPlaneCapabilitiesKHR( VkDisplayPlaneCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPlaneCapabilitiesKHR & operator=( VkDisplayPlaneCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    operator VkDisplayPlaneCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPlaneCapabilitiesKHR *>( this );
-    }
-
-    operator VkDisplayPlaneCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPlaneCapabilitiesKHR const & ) const = default;
-#else
-    bool operator==( DisplayPlaneCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( supportedAlpha == rhs.supportedAlpha ) && ( minSrcPosition == rhs.minSrcPosition ) &&
-             ( maxSrcPosition == rhs.maxSrcPosition ) && ( minSrcExtent == rhs.minSrcExtent ) &&
-             ( maxSrcExtent == rhs.maxSrcExtent ) && ( minDstPosition == rhs.minDstPosition ) &&
-             ( maxDstPosition == rhs.maxDstPosition ) && ( minDstExtent == rhs.minDstExtent ) &&
-             ( maxDstExtent == rhs.maxDstExtent );
-    }
-
-    bool operator!=( DisplayPlaneCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagsKHR supportedAlpha = {};
-    VULKAN_HPP_NAMESPACE::Offset2D                  minSrcPosition = {};
-    VULKAN_HPP_NAMESPACE::Offset2D                  maxSrcPosition = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                  minSrcExtent   = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                  maxSrcExtent   = {};
-    VULKAN_HPP_NAMESPACE::Offset2D                  minDstPosition = {};
-    VULKAN_HPP_NAMESPACE::Offset2D                  maxDstPosition = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                  minDstExtent   = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                  maxDstExtent   = {};
-  };
-  static_assert( sizeof( DisplayPlaneCapabilitiesKHR ) == sizeof( VkDisplayPlaneCapabilitiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPlaneCapabilitiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct DisplayPlaneCapabilities2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayPlaneCapabilities2KHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR(
-      VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities_ = {} ) VULKAN_HPP_NOEXCEPT
-      : capabilities( capabilities_ )
-    {}
-
-    DisplayPlaneCapabilities2KHR( VkDisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPlaneCapabilities2KHR & operator=( VkDisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayPlaneCapabilities2KHR & operator=( DisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      capabilities = rhs.capabilities;
-
-      return *this;
-    }
-
-    operator VkDisplayPlaneCapabilities2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPlaneCapabilities2KHR *>( this );
-    }
-
-    operator VkDisplayPlaneCapabilities2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPlaneCapabilities2KHR const & ) const = default;
-#else
-    bool operator==( DisplayPlaneCapabilities2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( capabilities == rhs.capabilities );
-    }
-
-    bool operator!=( DisplayPlaneCapabilities2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType        = StructureType::eDisplayPlaneCapabilities2KHR;
-    void *                                            pNext        = {};
-    VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities = {};
-  };
-  static_assert( sizeof( DisplayPlaneCapabilities2KHR ) == sizeof( VkDisplayPlaneCapabilities2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPlaneCapabilities2KHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayPlaneCapabilities2KHR>
-  {
-    using Type = DisplayPlaneCapabilities2KHR;
-  };
-
-  struct DisplayPlaneInfo2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayPlaneInfo2KHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayPlaneInfo2KHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_ = {},
-                                               uint32_t planeIndex_                       = {} ) VULKAN_HPP_NOEXCEPT
-      : mode( mode_ )
-      , planeIndex( planeIndex_ )
-    {}
-
-    DisplayPlaneInfo2KHR( VkDisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPlaneInfo2KHR & operator=( VkDisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayPlaneInfo2KHR & operator=( DisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      mode       = rhs.mode;
-      planeIndex = rhs.planeIndex;
-
-      return *this;
-    }
-
-    DisplayPlaneInfo2KHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DisplayPlaneInfo2KHR & setMode( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mode = mode_;
-      return *this;
-    }
-
-    DisplayPlaneInfo2KHR & setPlaneIndex( uint32_t planeIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      planeIndex = planeIndex_;
-      return *this;
-    }
-
-    operator VkDisplayPlaneInfo2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( this );
-    }
-
-    operator VkDisplayPlaneInfo2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPlaneInfo2KHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPlaneInfo2KHR const & ) const = default;
-#else
-    bool operator==( DisplayPlaneInfo2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mode == rhs.mode ) &&
-             ( planeIndex == rhs.planeIndex );
-    }
-
-    bool operator!=( DisplayPlaneInfo2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eDisplayPlaneInfo2KHR;
-    const void *                              pNext      = {};
-    VULKAN_HPP_NAMESPACE::DisplayModeKHR      mode       = {};
-    uint32_t                                  planeIndex = {};
-  };
-  static_assert( sizeof( DisplayPlaneInfo2KHR ) == sizeof( VkDisplayPlaneInfo2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPlaneInfo2KHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayPlaneInfo2KHR>
-  {
-    using Type = DisplayPlaneInfo2KHR;
-  };
-
-  struct DisplayPlanePropertiesKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayPlanePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR currentDisplay_ = {},
-                                                    uint32_t currentStackIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : currentDisplay( currentDisplay_ )
-      , currentStackIndex( currentStackIndex_ )
-    {}
-
-    DisplayPlanePropertiesKHR( VkDisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPlanePropertiesKHR & operator=( VkDisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    operator VkDisplayPlanePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPlanePropertiesKHR *>( this );
-    }
-
-    operator VkDisplayPlanePropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPlanePropertiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPlanePropertiesKHR const & ) const = default;
-#else
-    bool operator==( DisplayPlanePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( currentDisplay == rhs.currentDisplay ) && ( currentStackIndex == rhs.currentStackIndex );
-    }
-
-    bool operator!=( DisplayPlanePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DisplayKHR currentDisplay    = {};
-    uint32_t                         currentStackIndex = {};
-  };
-  static_assert( sizeof( DisplayPlanePropertiesKHR ) == sizeof( VkDisplayPlanePropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPlanePropertiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct DisplayPlaneProperties2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayPlaneProperties2KHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR(
-      VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR displayPlaneProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : displayPlaneProperties( displayPlaneProperties_ )
-    {}
-
-    DisplayPlaneProperties2KHR( VkDisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPlaneProperties2KHR & operator=( VkDisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayPlaneProperties2KHR & operator=( DisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      displayPlaneProperties = rhs.displayPlaneProperties;
-
-      return *this;
-    }
-
-    operator VkDisplayPlaneProperties2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPlaneProperties2KHR *>( this );
-    }
-
-    operator VkDisplayPlaneProperties2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPlaneProperties2KHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPlaneProperties2KHR const & ) const = default;
-#else
-    bool operator==( DisplayPlaneProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( displayPlaneProperties == rhs.displayPlaneProperties );
-    }
-
-    bool operator!=( DisplayPlaneProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType       sType                  = StructureType::eDisplayPlaneProperties2KHR;
-    void *                                          pNext                  = {};
-    VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR displayPlaneProperties = {};
-  };
-  static_assert( sizeof( DisplayPlaneProperties2KHR ) == sizeof( VkDisplayPlaneProperties2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPlaneProperties2KHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayPlaneProperties2KHR>
-  {
-    using Type = DisplayPlaneProperties2KHR;
-  };
-
-  struct DisplayPowerInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayPowerInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayPowerInfoEXT( VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState_ =
-                                                VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT::eOff ) VULKAN_HPP_NOEXCEPT
-      : powerState( powerState_ )
-    {}
-
-    DisplayPowerInfoEXT( VkDisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPowerInfoEXT & operator=( VkDisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    DisplayPowerInfoEXT & operator=( DisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      powerState = rhs.powerState;
-
-      return *this;
-    }
-
-    DisplayPowerInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DisplayPowerInfoEXT & setPowerState( VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      powerState = powerState_;
-      return *this;
-    }
-
-    operator VkDisplayPowerInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPowerInfoEXT *>( this );
-    }
-
-    operator VkDisplayPowerInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPowerInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPowerInfoEXT const & ) const = default;
-#else
-    bool operator==( DisplayPowerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( powerState == rhs.powerState );
-    }
-
-    bool operator!=( DisplayPowerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType      = StructureType::eDisplayPowerInfoEXT;
-    const void *                               pNext      = {};
-    VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState = VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT::eOff;
-  };
-  static_assert( sizeof( DisplayPowerInfoEXT ) == sizeof( VkDisplayPowerInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPowerInfoEXT>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayPowerInfoEXT>
-  {
-    using Type = DisplayPowerInfoEXT;
-  };
-
-  struct DisplayPresentInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayPresentInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR( VULKAN_HPP_NAMESPACE::Rect2D srcRect_    = {},
-                                                VULKAN_HPP_NAMESPACE::Rect2D dstRect_    = {},
-                                                VULKAN_HPP_NAMESPACE::Bool32 persistent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcRect( srcRect_ )
-      , dstRect( dstRect_ )
-      , persistent( persistent_ )
-    {}
-
-    DisplayPresentInfoKHR( VkDisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPresentInfoKHR & operator=( VkDisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayPresentInfoKHR & operator=( DisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      srcRect    = rhs.srcRect;
-      dstRect    = rhs.dstRect;
-      persistent = rhs.persistent;
-
-      return *this;
-    }
-
-    DisplayPresentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DisplayPresentInfoKHR & setSrcRect( VULKAN_HPP_NAMESPACE::Rect2D const & srcRect_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcRect = srcRect_;
-      return *this;
-    }
-
-    DisplayPresentInfoKHR & setDstRect( VULKAN_HPP_NAMESPACE::Rect2D const & dstRect_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstRect = dstRect_;
-      return *this;
-    }
-
-    DisplayPresentInfoKHR & setPersistent( VULKAN_HPP_NAMESPACE::Bool32 persistent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      persistent = persistent_;
-      return *this;
-    }
-
-    operator VkDisplayPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPresentInfoKHR *>( this );
-    }
-
-    operator VkDisplayPresentInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPresentInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPresentInfoKHR const & ) const = default;
-#else
-    bool operator==( DisplayPresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcRect == rhs.srcRect ) &&
-             ( dstRect == rhs.dstRect ) && ( persistent == rhs.persistent );
-    }
-
-    bool operator!=( DisplayPresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eDisplayPresentInfoKHR;
-    const void *                              pNext      = {};
-    VULKAN_HPP_NAMESPACE::Rect2D              srcRect    = {};
-    VULKAN_HPP_NAMESPACE::Rect2D              dstRect    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              persistent = {};
-  };
-  static_assert( sizeof( DisplayPresentInfoKHR ) == sizeof( VkDisplayPresentInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPresentInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayPresentInfoKHR>
-  {
-    using Type = DisplayPresentInfoKHR;
-  };
-
-  struct DisplayPropertiesKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DisplayPropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR               display_              = {},
-                          const char *                                   displayName_          = {},
-                          VULKAN_HPP_NAMESPACE::Extent2D                 physicalDimensions_   = {},
-                          VULKAN_HPP_NAMESPACE::Extent2D                 physicalResolution_   = {},
-                          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_  = {},
-                          VULKAN_HPP_NAMESPACE::Bool32                   planeReorderPossible_ = {},
-                          VULKAN_HPP_NAMESPACE::Bool32                   persistentContent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : display( display_ )
-      , displayName( displayName_ )
-      , physicalDimensions( physicalDimensions_ )
-      , physicalResolution( physicalResolution_ )
-      , supportedTransforms( supportedTransforms_ )
-      , planeReorderPossible( planeReorderPossible_ )
-      , persistentContent( persistentContent_ )
-    {}
-
-    DisplayPropertiesKHR( VkDisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayPropertiesKHR & operator=( VkDisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    operator VkDisplayPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayPropertiesKHR *>( this );
-    }
-
-    operator VkDisplayPropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayPropertiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayPropertiesKHR const & ) const = default;
-#else
-    bool operator==( DisplayPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( display == rhs.display ) && ( displayName == rhs.displayName ) &&
-             ( physicalDimensions == rhs.physicalDimensions ) && ( physicalResolution == rhs.physicalResolution ) &&
-             ( supportedTransforms == rhs.supportedTransforms ) &&
-             ( planeReorderPossible == rhs.planeReorderPossible ) && ( persistentContent == rhs.persistentContent );
-    }
-
-    bool operator!=( DisplayPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DisplayKHR               display              = {};
-    const char *                                   displayName          = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                 physicalDimensions   = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                 physicalResolution   = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms  = {};
-    VULKAN_HPP_NAMESPACE::Bool32                   planeReorderPossible = {};
-    VULKAN_HPP_NAMESPACE::Bool32                   persistentContent    = {};
-  };
-  static_assert( sizeof( DisplayPropertiesKHR ) == sizeof( VkDisplayPropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayPropertiesKHR>::value, "struct wrapper is not a standard layout!" );
-
-  struct DisplayProperties2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplayProperties2KHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DisplayProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR displayProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : displayProperties( displayProperties_ )
-    {}
-
-    DisplayProperties2KHR( VkDisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplayProperties2KHR & operator=( VkDisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplayProperties2KHR & operator=( DisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      displayProperties = rhs.displayProperties;
-
-      return *this;
-    }
-
-    operator VkDisplayProperties2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplayProperties2KHR *>( this );
-    }
-
-    operator VkDisplayProperties2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplayProperties2KHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplayProperties2KHR const & ) const = default;
-#else
-    bool operator==( DisplayProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayProperties == rhs.displayProperties );
-    }
-
-    bool operator!=( DisplayProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType             = StructureType::eDisplayProperties2KHR;
-    void *                                     pNext             = {};
-    VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR displayProperties = {};
-  };
-  static_assert( sizeof( DisplayProperties2KHR ) == sizeof( VkDisplayProperties2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplayProperties2KHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplayProperties2KHR>
-  {
-    using Type = DisplayProperties2KHR;
-  };
-
-  struct DisplaySurfaceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eDisplaySurfaceCreateInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    DisplaySurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags_           = {},
-                                 VULKAN_HPP_NAMESPACE::DisplayModeKHR               displayMode_     = {},
-                                 uint32_t                                           planeIndex_      = {},
-                                 uint32_t                                           planeStackIndex_ = {},
-                                 VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR  transform_ =
-                                   VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
-                                 float                                              globalAlpha_ = {},
-                                 VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode_ =
-                                   VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR::eOpaque,
-                                 VULKAN_HPP_NAMESPACE::Extent2D imageExtent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , displayMode( displayMode_ )
-      , planeIndex( planeIndex_ )
-      , planeStackIndex( planeStackIndex_ )
-      , transform( transform_ )
-      , globalAlpha( globalAlpha_ )
-      , alphaMode( alphaMode_ )
-      , imageExtent( imageExtent_ )
-    {}
-
-    DisplaySurfaceCreateInfoKHR( VkDisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DisplaySurfaceCreateInfoKHR & operator=( VkDisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR & operator=( DisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      displayMode     = rhs.displayMode;
-      planeIndex      = rhs.planeIndex;
-      planeStackIndex = rhs.planeStackIndex;
-      transform       = rhs.transform;
-      globalAlpha     = rhs.globalAlpha;
-      alphaMode       = rhs.alphaMode;
-      imageExtent     = rhs.imageExtent;
-
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR &
-      setDisplayMode( VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      displayMode = displayMode_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR & setPlaneIndex( uint32_t planeIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      planeIndex = planeIndex_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR & setPlaneStackIndex( uint32_t planeStackIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      planeStackIndex = planeStackIndex_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR &
-      setTransform( VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transform = transform_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR & setGlobalAlpha( float globalAlpha_ ) VULKAN_HPP_NOEXCEPT
-    {
-      globalAlpha = globalAlpha_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR &
-      setAlphaMode( VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      alphaMode = alphaMode_;
-      return *this;
-    }
-
-    DisplaySurfaceCreateInfoKHR &
-      setImageExtent( VULKAN_HPP_NAMESPACE::Extent2D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageExtent = imageExtent_;
-      return *this;
-    }
-
-    operator VkDisplaySurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( this );
-    }
-
-    operator VkDisplaySurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDisplaySurfaceCreateInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DisplaySurfaceCreateInfoKHR const & ) const = default;
-#else
-    bool operator==( DisplaySurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( displayMode == rhs.displayMode ) && ( planeIndex == rhs.planeIndex ) &&
-             ( planeStackIndex == rhs.planeStackIndex ) && ( transform == rhs.transform ) &&
-             ( globalAlpha == rhs.globalAlpha ) && ( alphaMode == rhs.alphaMode ) && ( imageExtent == rhs.imageExtent );
-    }
-
-    bool operator!=( DisplaySurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType           = StructureType::eDisplaySurfaceCreateInfoKHR;
-    const void *                                       pNext           = {};
-    VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags           = {};
-    VULKAN_HPP_NAMESPACE::DisplayModeKHR               displayMode     = {};
-    uint32_t                                           planeIndex      = {};
-    uint32_t                                           planeStackIndex = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR  transform =
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
-    float                                              globalAlpha = {};
-    VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode =
-      VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR::eOpaque;
-    VULKAN_HPP_NAMESPACE::Extent2D imageExtent = {};
-  };
-  static_assert( sizeof( DisplaySurfaceCreateInfoKHR ) == sizeof( VkDisplaySurfaceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DisplaySurfaceCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDisplaySurfaceCreateInfoKHR>
-  {
-    using Type = DisplaySurfaceCreateInfoKHR;
-  };
-
-  struct DrawIndexedIndirectCommand
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DrawIndexedIndirectCommand( uint32_t indexCount_    = {},
-                                                     uint32_t instanceCount_ = {},
-                                                     uint32_t firstIndex_    = {},
-                                                     int32_t  vertexOffset_  = {},
-                                                     uint32_t firstInstance_ = {} ) VULKAN_HPP_NOEXCEPT
-      : indexCount( indexCount_ )
-      , instanceCount( instanceCount_ )
-      , firstIndex( firstIndex_ )
-      , vertexOffset( vertexOffset_ )
-      , firstInstance( firstInstance_ )
-    {}
-
-    DrawIndexedIndirectCommand( VkDrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DrawIndexedIndirectCommand & operator=( VkDrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand const *>( &rhs );
-      return *this;
-    }
-
-    DrawIndexedIndirectCommand & setIndexCount( uint32_t indexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexCount = indexCount_;
-      return *this;
-    }
-
-    DrawIndexedIndirectCommand & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      instanceCount = instanceCount_;
-      return *this;
-    }
-
-    DrawIndexedIndirectCommand & setFirstIndex( uint32_t firstIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      firstIndex = firstIndex_;
-      return *this;
-    }
-
-    DrawIndexedIndirectCommand & setVertexOffset( int32_t vertexOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexOffset = vertexOffset_;
-      return *this;
-    }
-
-    DrawIndexedIndirectCommand & setFirstInstance( uint32_t firstInstance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      firstInstance = firstInstance_;
-      return *this;
-    }
-
-    operator VkDrawIndexedIndirectCommand const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDrawIndexedIndirectCommand *>( this );
-    }
-
-    operator VkDrawIndexedIndirectCommand &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDrawIndexedIndirectCommand *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DrawIndexedIndirectCommand const & ) const = default;
-#else
-    bool operator==( DrawIndexedIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( indexCount == rhs.indexCount ) && ( instanceCount == rhs.instanceCount ) &&
-             ( firstIndex == rhs.firstIndex ) && ( vertexOffset == rhs.vertexOffset ) &&
-             ( firstInstance == rhs.firstInstance );
-    }
-
-    bool operator!=( DrawIndexedIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t indexCount    = {};
-    uint32_t instanceCount = {};
-    uint32_t firstIndex    = {};
-    int32_t  vertexOffset  = {};
-    uint32_t firstInstance = {};
-  };
-  static_assert( sizeof( DrawIndexedIndirectCommand ) == sizeof( VkDrawIndexedIndirectCommand ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DrawIndexedIndirectCommand>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct DrawIndirectCommand
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DrawIndirectCommand( uint32_t vertexCount_   = {},
-                                              uint32_t instanceCount_ = {},
-                                              uint32_t firstVertex_   = {},
-                                              uint32_t firstInstance_ = {} ) VULKAN_HPP_NOEXCEPT
-      : vertexCount( vertexCount_ )
-      , instanceCount( instanceCount_ )
-      , firstVertex( firstVertex_ )
-      , firstInstance( firstInstance_ )
-    {}
-
-    DrawIndirectCommand( VkDrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DrawIndirectCommand & operator=( VkDrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawIndirectCommand const *>( &rhs );
-      return *this;
-    }
-
-    DrawIndirectCommand & setVertexCount( uint32_t vertexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexCount = vertexCount_;
-      return *this;
-    }
-
-    DrawIndirectCommand & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      instanceCount = instanceCount_;
-      return *this;
-    }
-
-    DrawIndirectCommand & setFirstVertex( uint32_t firstVertex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      firstVertex = firstVertex_;
-      return *this;
-    }
-
-    DrawIndirectCommand & setFirstInstance( uint32_t firstInstance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      firstInstance = firstInstance_;
-      return *this;
-    }
-
-    operator VkDrawIndirectCommand const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDrawIndirectCommand *>( this );
-    }
-
-    operator VkDrawIndirectCommand &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDrawIndirectCommand *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DrawIndirectCommand const & ) const = default;
-#else
-    bool operator==( DrawIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( vertexCount == rhs.vertexCount ) && ( instanceCount == rhs.instanceCount ) &&
-             ( firstVertex == rhs.firstVertex ) && ( firstInstance == rhs.firstInstance );
-    }
-
-    bool operator!=( DrawIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t vertexCount   = {};
-    uint32_t instanceCount = {};
-    uint32_t firstVertex   = {};
-    uint32_t firstInstance = {};
-  };
-  static_assert( sizeof( DrawIndirectCommand ) == sizeof( VkDrawIndirectCommand ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DrawIndirectCommand>::value, "struct wrapper is not a standard layout!" );
-
-  struct DrawMeshTasksIndirectCommandNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandNV( uint32_t taskCount_ = {},
-                                                         uint32_t firstTask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : taskCount( taskCount_ )
-      , firstTask( firstTask_ )
-    {}
-
-    DrawMeshTasksIndirectCommandNV( VkDrawMeshTasksIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DrawMeshTasksIndirectCommandNV & operator=( VkDrawMeshTasksIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV const *>( &rhs );
-      return *this;
-    }
-
-    DrawMeshTasksIndirectCommandNV & setTaskCount( uint32_t taskCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      taskCount = taskCount_;
-      return *this;
-    }
-
-    DrawMeshTasksIndirectCommandNV & setFirstTask( uint32_t firstTask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      firstTask = firstTask_;
-      return *this;
-    }
-
-    operator VkDrawMeshTasksIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDrawMeshTasksIndirectCommandNV *>( this );
-    }
-
-    operator VkDrawMeshTasksIndirectCommandNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDrawMeshTasksIndirectCommandNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DrawMeshTasksIndirectCommandNV const & ) const = default;
-#else
-    bool operator==( DrawMeshTasksIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( taskCount == rhs.taskCount ) && ( firstTask == rhs.firstTask );
-    }
-
-    bool operator!=( DrawMeshTasksIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t taskCount = {};
-    uint32_t firstTask = {};
-  };
-  static_assert( sizeof( DrawMeshTasksIndirectCommandNV ) == sizeof( VkDrawMeshTasksIndirectCommandNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DrawMeshTasksIndirectCommandNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct DrmFormatModifierPropertiesEXT
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT(
-      uint64_t                                 drmFormatModifier_               = {},
-      uint32_t                                 drmFormatModifierPlaneCount_     = {},
-      VULKAN_HPP_NAMESPACE::FormatFeatureFlags drmFormatModifierTilingFeatures_ = {} ) VULKAN_HPP_NOEXCEPT
-      : drmFormatModifier( drmFormatModifier_ )
-      , drmFormatModifierPlaneCount( drmFormatModifierPlaneCount_ )
-      , drmFormatModifierTilingFeatures( drmFormatModifierTilingFeatures_ )
-    {}
-
-    DrmFormatModifierPropertiesEXT( VkDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DrmFormatModifierPropertiesEXT & operator=( VkDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    operator VkDrmFormatModifierPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDrmFormatModifierPropertiesEXT *>( this );
-    }
-
-    operator VkDrmFormatModifierPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDrmFormatModifierPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DrmFormatModifierPropertiesEXT const & ) const = default;
-#else
-    bool operator==( DrmFormatModifierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( drmFormatModifier == rhs.drmFormatModifier ) &&
-             ( drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount ) &&
-             ( drmFormatModifierTilingFeatures == rhs.drmFormatModifierTilingFeatures );
-    }
-
-    bool operator!=( DrmFormatModifierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint64_t                                 drmFormatModifier               = {};
-    uint32_t                                 drmFormatModifierPlaneCount     = {};
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags drmFormatModifierTilingFeatures = {};
-  };
-  static_assert( sizeof( DrmFormatModifierPropertiesEXT ) == sizeof( VkDrmFormatModifierPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DrmFormatModifierPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct DrmFormatModifierPropertiesListEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eDrmFormatModifierPropertiesListEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT(
-      uint32_t                                               drmFormatModifierCount_       = {},
-      VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT * pDrmFormatModifierProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : drmFormatModifierCount( drmFormatModifierCount_ )
-      , pDrmFormatModifierProperties( pDrmFormatModifierProperties_ )
-    {}
-
-    DrmFormatModifierPropertiesListEXT( VkDrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    DrmFormatModifierPropertiesListEXT(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT> const &
-        drmFormatModifierProperties_ )
-      : drmFormatModifierCount( static_cast<uint32_t>( drmFormatModifierProperties_.size() ) )
-      , pDrmFormatModifierProperties( drmFormatModifierProperties_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    DrmFormatModifierPropertiesListEXT &
-      operator=( VkDrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT const *>( &rhs );
-      return *this;
-    }
-
-    DrmFormatModifierPropertiesListEXT & operator=( DrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      drmFormatModifierCount       = rhs.drmFormatModifierCount;
-      pDrmFormatModifierProperties = rhs.pDrmFormatModifierProperties;
-
-      return *this;
-    }
-
-    operator VkDrmFormatModifierPropertiesListEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>( this );
-    }
-
-    operator VkDrmFormatModifierPropertiesListEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkDrmFormatModifierPropertiesListEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( DrmFormatModifierPropertiesListEXT const & ) const = default;
-#else
-    bool operator==( DrmFormatModifierPropertiesListEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( drmFormatModifierCount == rhs.drmFormatModifierCount ) &&
-             ( pDrmFormatModifierProperties == rhs.pDrmFormatModifierProperties );
-    }
-
-    bool operator!=( DrmFormatModifierPropertiesListEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::eDrmFormatModifierPropertiesListEXT;
-    void *                                                 pNext = {};
-    uint32_t                                               drmFormatModifierCount       = {};
-    VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT * pDrmFormatModifierProperties = {};
-  };
-  static_assert( sizeof( DrmFormatModifierPropertiesListEXT ) == sizeof( VkDrmFormatModifierPropertiesListEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<DrmFormatModifierPropertiesListEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eDrmFormatModifierPropertiesListEXT>
-  {
-    using Type = DrmFormatModifierPropertiesListEXT;
-  };
-
-  struct EventCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eEventCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR EventCreateInfo( VULKAN_HPP_NAMESPACE::EventCreateFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-    {}
-
-    EventCreateInfo( VkEventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    EventCreateInfo & operator=( VkEventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::EventCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    EventCreateInfo & operator=( EventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
-
-      return *this;
-    }
-
-    EventCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    EventCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::EventCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    operator VkEventCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkEventCreateInfo *>( this );
-    }
-
-    operator VkEventCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkEventCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( EventCreateInfo const & ) const = default;
-#else
-    bool operator==( EventCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( EventCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eEventCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::EventCreateFlags    flags = {};
-  };
-  static_assert( sizeof( EventCreateInfo ) == sizeof( VkEventCreateInfo ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<EventCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eEventCreateInfo>
-  {
-    using Type = EventCreateInfo;
-  };
-
-  struct ExportFenceCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExportFenceCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ExportFenceCreateInfo( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleTypes( handleTypes_ )
-    {}
-
-    ExportFenceCreateInfo( VkExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportFenceCreateInfo & operator=( VkExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ExportFenceCreateInfo & operator=( ExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      handleTypes = rhs.handleTypes;
-
-      return *this;
-    }
-
-    ExportFenceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportFenceCreateInfo &
-      setHandleTypes( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleTypes = handleTypes_;
-      return *this;
-    }
-
-    operator VkExportFenceCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportFenceCreateInfo *>( this );
-    }
-
-    operator VkExportFenceCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportFenceCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportFenceCreateInfo const & ) const = default;
-#else
-    bool operator==( ExportFenceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
-    }
-
-    bool operator!=( ExportFenceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType       = StructureType::eExportFenceCreateInfo;
-    const void *                                       pNext       = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes = {};
-  };
-  static_assert( sizeof( ExportFenceCreateInfo ) == sizeof( VkExportFenceCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportFenceCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportFenceCreateInfo>
-  {
-    using Type = ExportFenceCreateInfo;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportFenceWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExportFenceWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExportFenceWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {},
-                                                        DWORD                       dwAccess_    = {},
-                                                        LPCWSTR                     name_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pAttributes( pAttributes_ )
-      , dwAccess( dwAccess_ )
-      , name( name_ )
-    {}
-
-    ExportFenceWin32HandleInfoKHR( VkExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportFenceWin32HandleInfoKHR & operator=( VkExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ExportFenceWin32HandleInfoKHR & operator=( ExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      pAttributes = rhs.pAttributes;
-      dwAccess    = rhs.dwAccess;
-      name        = rhs.name;
-
-      return *this;
-    }
-
-    ExportFenceWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportFenceWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttributes = pAttributes_;
-      return *this;
-    }
-
-    ExportFenceWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dwAccess = dwAccess_;
-      return *this;
-    }
-
-    ExportFenceWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
-    {
-      name = name_;
-      return *this;
-    }
-
-    operator VkExportFenceWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkExportFenceWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportFenceWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportFenceWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( ExportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) &&
-             ( dwAccess == rhs.dwAccess ) && ( name == rhs.name );
-    }
-
-    bool operator!=( ExportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eExportFenceWin32HandleInfoKHR;
-    const void *                              pNext       = {};
-    const SECURITY_ATTRIBUTES *               pAttributes = {};
-    DWORD                                     dwAccess    = {};
-    LPCWSTR                                   name        = {};
-  };
-  static_assert( sizeof( ExportFenceWin32HandleInfoKHR ) == sizeof( VkExportFenceWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportFenceWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportFenceWin32HandleInfoKHR>
-  {
-    using Type = ExportFenceWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  struct ExportMemoryAllocateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExportMemoryAllocateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleTypes( handleTypes_ )
-    {}
-
-    ExportMemoryAllocateInfo( VkExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportMemoryAllocateInfo & operator=( VkExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ExportMemoryAllocateInfo & operator=( ExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      handleTypes = rhs.handleTypes;
-
-      return *this;
-    }
-
-    ExportMemoryAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportMemoryAllocateInfo &
-      setHandleTypes( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleTypes = handleTypes_;
-      return *this;
-    }
-
-    operator VkExportMemoryAllocateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportMemoryAllocateInfo *>( this );
-    }
-
-    operator VkExportMemoryAllocateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportMemoryAllocateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportMemoryAllocateInfo const & ) const = default;
-#else
-    bool operator==( ExportMemoryAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
-    }
-
-    bool operator!=( ExportMemoryAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType       = StructureType::eExportMemoryAllocateInfo;
-    const void *                                        pNext       = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes = {};
-  };
-  static_assert( sizeof( ExportMemoryAllocateInfo ) == sizeof( VkExportMemoryAllocateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportMemoryAllocateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportMemoryAllocateInfo>
-  {
-    using Type = ExportMemoryAllocateInfo;
-  };
-
-  struct ExportMemoryAllocateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExportMemoryAllocateInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleTypes( handleTypes_ )
-    {}
-
-    ExportMemoryAllocateInfoNV( VkExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportMemoryAllocateInfoNV & operator=( VkExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    ExportMemoryAllocateInfoNV & operator=( ExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      handleTypes = rhs.handleTypes;
-
-      return *this;
-    }
-
-    ExportMemoryAllocateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportMemoryAllocateInfoNV &
-      setHandleTypes( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleTypes = handleTypes_;
-      return *this;
-    }
-
-    operator VkExportMemoryAllocateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportMemoryAllocateInfoNV *>( this );
-    }
-
-    operator VkExportMemoryAllocateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportMemoryAllocateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportMemoryAllocateInfoNV const & ) const = default;
-#else
-    bool operator==( ExportMemoryAllocateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
-    }
-
-    bool operator!=( ExportMemoryAllocateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType       = StructureType::eExportMemoryAllocateInfoNV;
-    const void *                                          pNext       = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes = {};
-  };
-  static_assert( sizeof( ExportMemoryAllocateInfoNV ) == sizeof( VkExportMemoryAllocateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportMemoryAllocateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportMemoryAllocateInfoNV>
-  {
-    using Type = ExportMemoryAllocateInfoNV;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportMemoryWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExportMemoryWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {},
-                                                         DWORD                       dwAccess_    = {},
-                                                         LPCWSTR                     name_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pAttributes( pAttributes_ )
-      , dwAccess( dwAccess_ )
-      , name( name_ )
-    {}
-
-    ExportMemoryWin32HandleInfoKHR( VkExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportMemoryWin32HandleInfoKHR & operator=( VkExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoKHR & operator=( ExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      pAttributes = rhs.pAttributes;
-      dwAccess    = rhs.dwAccess;
-      name        = rhs.name;
-
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttributes = pAttributes_;
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dwAccess = dwAccess_;
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
-    {
-      name = name_;
-      return *this;
-    }
-
-    operator VkExportMemoryWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkExportMemoryWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportMemoryWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportMemoryWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( ExportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) &&
-             ( dwAccess == rhs.dwAccess ) && ( name == rhs.name );
-    }
-
-    bool operator!=( ExportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eExportMemoryWin32HandleInfoKHR;
-    const void *                              pNext       = {};
-    const SECURITY_ATTRIBUTES *               pAttributes = {};
-    DWORD                                     dwAccess    = {};
-    LPCWSTR                                   name        = {};
-  };
-  static_assert( sizeof( ExportMemoryWin32HandleInfoKHR ) == sizeof( VkExportMemoryWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportMemoryWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoKHR>
-  {
-    using Type = ExportMemoryWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportMemoryWin32HandleInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExportMemoryWin32HandleInfoNV;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoNV( const SECURITY_ATTRIBUTES * pAttributes_ = {},
-                                                        DWORD                       dwAccess_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pAttributes( pAttributes_ )
-      , dwAccess( dwAccess_ )
-    {}
-
-    ExportMemoryWin32HandleInfoNV( VkExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportMemoryWin32HandleInfoNV & operator=( VkExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoNV & operator=( ExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      pAttributes = rhs.pAttributes;
-      dwAccess    = rhs.dwAccess;
-
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoNV & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttributes = pAttributes_;
-      return *this;
-    }
-
-    ExportMemoryWin32HandleInfoNV & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dwAccess = dwAccess_;
-      return *this;
-    }
-
-    operator VkExportMemoryWin32HandleInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>( this );
-    }
-
-    operator VkExportMemoryWin32HandleInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportMemoryWin32HandleInfoNV *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportMemoryWin32HandleInfoNV const & ) const = default;
-#  else
-    bool operator==( ExportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) &&
-             ( dwAccess == rhs.dwAccess );
-    }
-
-    bool operator!=( ExportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eExportMemoryWin32HandleInfoNV;
-    const void *                              pNext       = {};
-    const SECURITY_ATTRIBUTES *               pAttributes = {};
-    DWORD                                     dwAccess    = {};
-  };
-  static_assert( sizeof( ExportMemoryWin32HandleInfoNV ) == sizeof( VkExportMemoryWin32HandleInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportMemoryWin32HandleInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoNV>
-  {
-    using Type = ExportMemoryWin32HandleInfoNV;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  struct ExportSemaphoreCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExportSemaphoreCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo(
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleTypes( handleTypes_ )
-    {}
-
-    ExportSemaphoreCreateInfo( VkExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportSemaphoreCreateInfo & operator=( VkExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ExportSemaphoreCreateInfo & operator=( ExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      handleTypes = rhs.handleTypes;
-
-      return *this;
-    }
-
-    ExportSemaphoreCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportSemaphoreCreateInfo &
-      setHandleTypes( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleTypes = handleTypes_;
-      return *this;
-    }
-
-    operator VkExportSemaphoreCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportSemaphoreCreateInfo *>( this );
-    }
-
-    operator VkExportSemaphoreCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportSemaphoreCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportSemaphoreCreateInfo const & ) const = default;
-#else
-    bool operator==( ExportSemaphoreCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
-    }
-
-    bool operator!=( ExportSemaphoreCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType       = StructureType::eExportSemaphoreCreateInfo;
-    const void *                                           pNext       = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes = {};
-  };
-  static_assert( sizeof( ExportSemaphoreCreateInfo ) == sizeof( VkExportSemaphoreCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportSemaphoreCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportSemaphoreCreateInfo>
-  {
-    using Type = ExportSemaphoreCreateInfo;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ExportSemaphoreWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eExportSemaphoreWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExportSemaphoreWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {},
-                                                            DWORD                       dwAccess_    = {},
-                                                            LPCWSTR                     name_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pAttributes( pAttributes_ )
-      , dwAccess( dwAccess_ )
-      , name( name_ )
-    {}
-
-    ExportSemaphoreWin32HandleInfoKHR( VkExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExportSemaphoreWin32HandleInfoKHR & operator=( VkExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ExportSemaphoreWin32HandleInfoKHR & operator=( ExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      pAttributes = rhs.pAttributes;
-      dwAccess    = rhs.dwAccess;
-      name        = rhs.name;
-
-      return *this;
-    }
-
-    ExportSemaphoreWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExportSemaphoreWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttributes = pAttributes_;
-      return *this;
-    }
-
-    ExportSemaphoreWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dwAccess = dwAccess_;
-      return *this;
-    }
-
-    ExportSemaphoreWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
-    {
-      name = name_;
-      return *this;
-    }
-
-    operator VkExportSemaphoreWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkExportSemaphoreWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExportSemaphoreWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( ExportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) &&
-             ( dwAccess == rhs.dwAccess ) && ( name == rhs.name );
-    }
-
-    bool operator!=( ExportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eExportSemaphoreWin32HandleInfoKHR;
-    const void *                              pNext       = {};
-    const SECURITY_ATTRIBUTES *               pAttributes = {};
-    DWORD                                     dwAccess    = {};
-    LPCWSTR                                   name        = {};
-  };
-  static_assert( sizeof( ExportSemaphoreWin32HandleInfoKHR ) == sizeof( VkExportSemaphoreWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExportSemaphoreWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExportSemaphoreWin32HandleInfoKHR>
-  {
-    using Type = ExportSemaphoreWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  struct ExtensionProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    ExtensionProperties( std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & extensionName_ = {},
-                         uint32_t                                             specVersion_   = {} ) VULKAN_HPP_NOEXCEPT
-      : extensionName( extensionName_ )
-      , specVersion( specVersion_ )
-    {}
-
-    ExtensionProperties( VkExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExtensionProperties & operator=( VkExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExtensionProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkExtensionProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExtensionProperties *>( this );
-    }
-
-    operator VkExtensionProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExtensionProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExtensionProperties const & ) const = default;
-#else
-    bool operator==( ExtensionProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( extensionName == rhs.extensionName ) && ( specVersion == rhs.specVersion );
-    }
-
-    bool operator!=( ExtensionProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> extensionName = {};
-    uint32_t                                                               specVersion   = {};
-  };
-  static_assert( sizeof( ExtensionProperties ) == sizeof( VkExtensionProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExtensionProperties>::value, "struct wrapper is not a standard layout!" );
-
-  struct ExternalMemoryProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalMemoryProperties(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlags    externalMemoryFeatures_        = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags compatibleHandleTypes_         = {} ) VULKAN_HPP_NOEXCEPT
-      : externalMemoryFeatures( externalMemoryFeatures_ )
-      , exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
-      , compatibleHandleTypes( compatibleHandleTypes_ )
-    {}
-
-    ExternalMemoryProperties( VkExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalMemoryProperties & operator=( VkExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkExternalMemoryProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalMemoryProperties *>( this );
-    }
-
-    operator VkExternalMemoryProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalMemoryProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalMemoryProperties const & ) const = default;
-#else
-    bool operator==( ExternalMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( externalMemoryFeatures == rhs.externalMemoryFeatures ) &&
-             ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) &&
-             ( compatibleHandleTypes == rhs.compatibleHandleTypes );
-    }
-
-    bool operator!=( ExternalMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlags    externalMemoryFeatures        = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags compatibleHandleTypes         = {};
-  };
-  static_assert( sizeof( ExternalMemoryProperties ) == sizeof( VkExternalMemoryProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalMemoryProperties>::value, "struct wrapper is not a standard layout!" );
-
-  struct ExternalBufferProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalBufferProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalBufferProperties(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : externalMemoryProperties( externalMemoryProperties_ )
-    {}
-
-    ExternalBufferProperties( VkExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalBufferProperties & operator=( VkExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalBufferProperties const *>( &rhs );
-      return *this;
-    }
-
-    ExternalBufferProperties & operator=( ExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      externalMemoryProperties = rhs.externalMemoryProperties;
-
-      return *this;
-    }
-
-    operator VkExternalBufferProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalBufferProperties *>( this );
-    }
-
-    operator VkExternalBufferProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalBufferProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalBufferProperties const & ) const = default;
-#else
-    bool operator==( ExternalBufferProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( externalMemoryProperties == rhs.externalMemoryProperties );
-    }
-
-    bool operator!=( ExternalBufferProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType                    = StructureType::eExternalBufferProperties;
-    void *                                         pNext                    = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties = {};
-  };
-  static_assert( sizeof( ExternalBufferProperties ) == sizeof( VkExternalBufferProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalBufferProperties>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalBufferProperties>
-  {
-    using Type = ExternalBufferProperties;
-  };
-
-  struct ExternalFenceProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalFenceProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalFenceProperties(
-      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags exportFromImportedHandleTypes_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags compatibleHandleTypes_         = {},
-      VULKAN_HPP_NAMESPACE::ExternalFenceFeatureFlags    externalFenceFeatures_         = {} ) VULKAN_HPP_NOEXCEPT
-      : exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
-      , compatibleHandleTypes( compatibleHandleTypes_ )
-      , externalFenceFeatures( externalFenceFeatures_ )
-    {}
-
-    ExternalFenceProperties( VkExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalFenceProperties & operator=( VkExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalFenceProperties const *>( &rhs );
-      return *this;
-    }
-
-    ExternalFenceProperties & operator=( ExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      exportFromImportedHandleTypes = rhs.exportFromImportedHandleTypes;
-      compatibleHandleTypes         = rhs.compatibleHandleTypes;
-      externalFenceFeatures         = rhs.externalFenceFeatures;
-
-      return *this;
-    }
-
-    operator VkExternalFenceProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalFenceProperties *>( this );
-    }
-
-    operator VkExternalFenceProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalFenceProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalFenceProperties const & ) const = default;
-#else
-    bool operator==( ExternalFenceProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) &&
-             ( compatibleHandleTypes == rhs.compatibleHandleTypes ) &&
-             ( externalFenceFeatures == rhs.externalFenceFeatures );
-    }
-
-    bool operator!=( ExternalFenceProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType = StructureType::eExternalFenceProperties;
-    void *                                             pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags exportFromImportedHandleTypes = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags compatibleHandleTypes         = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceFeatureFlags    externalFenceFeatures         = {};
-  };
-  static_assert( sizeof( ExternalFenceProperties ) == sizeof( VkExternalFenceProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalFenceProperties>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalFenceProperties>
-  {
-    using Type = ExternalFenceProperties;
-  };
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct ExternalFormatANDROID
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalFormatANDROID;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalFormatANDROID( uint64_t externalFormat_ = {} ) VULKAN_HPP_NOEXCEPT
-      : externalFormat( externalFormat_ )
-    {}
-
-    ExternalFormatANDROID( VkExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalFormatANDROID & operator=( VkExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalFormatANDROID const *>( &rhs );
-      return *this;
-    }
-
-    ExternalFormatANDROID & operator=( ExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      externalFormat = rhs.externalFormat;
-
-      return *this;
-    }
-
-    ExternalFormatANDROID & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExternalFormatANDROID & setExternalFormat( uint64_t externalFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      externalFormat = externalFormat_;
-      return *this;
-    }
-
-    operator VkExternalFormatANDROID const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalFormatANDROID *>( this );
-    }
-
-    operator VkExternalFormatANDROID &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalFormatANDROID *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalFormatANDROID const & ) const = default;
-#  else
-    bool operator==( ExternalFormatANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( externalFormat == rhs.externalFormat );
-    }
-
-    bool operator!=( ExternalFormatANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eExternalFormatANDROID;
-    void *                                    pNext          = {};
-    uint64_t                                  externalFormat = {};
-  };
-  static_assert( sizeof( ExternalFormatANDROID ) == sizeof( VkExternalFormatANDROID ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalFormatANDROID>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalFormatANDROID>
-  {
-    using Type = ExternalFormatANDROID;
-  };
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-  struct ExternalImageFormatProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalImageFormatProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : externalMemoryProperties( externalMemoryProperties_ )
-    {}
-
-    ExternalImageFormatProperties( VkExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalImageFormatProperties & operator=( VkExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties const *>( &rhs );
-      return *this;
-    }
-
-    ExternalImageFormatProperties & operator=( ExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      externalMemoryProperties = rhs.externalMemoryProperties;
-
-      return *this;
-    }
-
-    operator VkExternalImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalImageFormatProperties *>( this );
-    }
-
-    operator VkExternalImageFormatProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalImageFormatProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalImageFormatProperties const & ) const = default;
-#else
-    bool operator==( ExternalImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( externalMemoryProperties == rhs.externalMemoryProperties );
-    }
-
-    bool operator!=( ExternalImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eExternalImageFormatProperties;
-    void *                                         pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties = {};
-  };
-  static_assert( sizeof( ExternalImageFormatProperties ) == sizeof( VkExternalImageFormatProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalImageFormatProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalImageFormatProperties>
-  {
-    using Type = ExternalImageFormatProperties;
-  };
-
-  struct ImageFormatProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageFormatProperties( VULKAN_HPP_NAMESPACE::Extent3D         maxExtent_       = {},
-                           uint32_t                               maxMipLevels_    = {},
-                           uint32_t                               maxArrayLayers_  = {},
-                           VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts_    = {},
-                           VULKAN_HPP_NAMESPACE::DeviceSize       maxResourceSize_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxExtent( maxExtent_ )
-      , maxMipLevels( maxMipLevels_ )
-      , maxArrayLayers( maxArrayLayers_ )
-      , sampleCounts( sampleCounts_ )
-      , maxResourceSize( maxResourceSize_ )
-    {}
-
-    ImageFormatProperties( VkImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageFormatProperties & operator=( VkImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageFormatProperties *>( this );
-    }
-
-    operator VkImageFormatProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageFormatProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageFormatProperties const & ) const = default;
-#else
-    bool operator==( ImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( maxExtent == rhs.maxExtent ) && ( maxMipLevels == rhs.maxMipLevels ) &&
-             ( maxArrayLayers == rhs.maxArrayLayers ) && ( sampleCounts == rhs.sampleCounts ) &&
-             ( maxResourceSize == rhs.maxResourceSize );
-    }
-
-    bool operator!=( ImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Extent3D         maxExtent       = {};
-    uint32_t                               maxMipLevels    = {};
-    uint32_t                               maxArrayLayers  = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts    = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize       maxResourceSize = {};
-  };
-  static_assert( sizeof( ImageFormatProperties ) == sizeof( VkImageFormatProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageFormatProperties>::value, "struct wrapper is not a standard layout!" );
-
-  struct ExternalImageFormatPropertiesNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalImageFormatPropertiesNV(
-      VULKAN_HPP_NAMESPACE::ImageFormatProperties           imageFormatProperties_         = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlagsNV    externalMemoryFeatures_        = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV compatibleHandleTypes_         = {} ) VULKAN_HPP_NOEXCEPT
-      : imageFormatProperties( imageFormatProperties_ )
-      , externalMemoryFeatures( externalMemoryFeatures_ )
-      , exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
-      , compatibleHandleTypes( compatibleHandleTypes_ )
-    {}
-
-    ExternalImageFormatPropertiesNV( VkExternalImageFormatPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalImageFormatPropertiesNV & operator=( VkExternalImageFormatPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV const *>( &rhs );
-      return *this;
-    }
-
-    operator VkExternalImageFormatPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalImageFormatPropertiesNV *>( this );
-    }
-
-    operator VkExternalImageFormatPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalImageFormatPropertiesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalImageFormatPropertiesNV const & ) const = default;
-#else
-    bool operator==( ExternalImageFormatPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( imageFormatProperties == rhs.imageFormatProperties ) &&
-             ( externalMemoryFeatures == rhs.externalMemoryFeatures ) &&
-             ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) &&
-             ( compatibleHandleTypes == rhs.compatibleHandleTypes );
-    }
-
-    bool operator!=( ExternalImageFormatPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties           imageFormatProperties         = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlagsNV    externalMemoryFeatures        = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV compatibleHandleTypes         = {};
-  };
-  static_assert( sizeof( ExternalImageFormatPropertiesNV ) == sizeof( VkExternalImageFormatPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalImageFormatPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct ExternalMemoryBufferCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalMemoryBufferCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleTypes( handleTypes_ )
-    {}
-
-    ExternalMemoryBufferCreateInfo( VkExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalMemoryBufferCreateInfo & operator=( VkExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ExternalMemoryBufferCreateInfo & operator=( ExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      handleTypes = rhs.handleTypes;
-
-      return *this;
-    }
-
-    ExternalMemoryBufferCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExternalMemoryBufferCreateInfo &
-      setHandleTypes( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleTypes = handleTypes_;
-      return *this;
-    }
-
-    operator VkExternalMemoryBufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>( this );
-    }
-
-    operator VkExternalMemoryBufferCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalMemoryBufferCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalMemoryBufferCreateInfo const & ) const = default;
-#else
-    bool operator==( ExternalMemoryBufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
-    }
-
-    bool operator!=( ExternalMemoryBufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType       = StructureType::eExternalMemoryBufferCreateInfo;
-    const void *                                        pNext       = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes = {};
-  };
-  static_assert( sizeof( ExternalMemoryBufferCreateInfo ) == sizeof( VkExternalMemoryBufferCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalMemoryBufferCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalMemoryBufferCreateInfo>
-  {
-    using Type = ExternalMemoryBufferCreateInfo;
-  };
-
-  struct ExternalMemoryImageCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalMemoryImageCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleTypes( handleTypes_ )
-    {}
-
-    ExternalMemoryImageCreateInfo( VkExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalMemoryImageCreateInfo & operator=( VkExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ExternalMemoryImageCreateInfo & operator=( ExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      handleTypes = rhs.handleTypes;
-
-      return *this;
-    }
-
-    ExternalMemoryImageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExternalMemoryImageCreateInfo &
-      setHandleTypes( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleTypes = handleTypes_;
-      return *this;
-    }
-
-    operator VkExternalMemoryImageCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalMemoryImageCreateInfo *>( this );
-    }
-
-    operator VkExternalMemoryImageCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalMemoryImageCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalMemoryImageCreateInfo const & ) const = default;
-#else
-    bool operator==( ExternalMemoryImageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
-    }
-
-    bool operator!=( ExternalMemoryImageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType       = StructureType::eExternalMemoryImageCreateInfo;
-    const void *                                        pNext       = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes = {};
-  };
-  static_assert( sizeof( ExternalMemoryImageCreateInfo ) == sizeof( VkExternalMemoryImageCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalMemoryImageCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalMemoryImageCreateInfo>
-  {
-    using Type = ExternalMemoryImageCreateInfo;
-  };
-
-  struct ExternalMemoryImageCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalMemoryImageCreateInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleTypes( handleTypes_ )
-    {}
-
-    ExternalMemoryImageCreateInfoNV( VkExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalMemoryImageCreateInfoNV & operator=( VkExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    ExternalMemoryImageCreateInfoNV & operator=( ExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      handleTypes = rhs.handleTypes;
-
-      return *this;
-    }
-
-    ExternalMemoryImageCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ExternalMemoryImageCreateInfoNV &
-      setHandleTypes( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleTypes = handleTypes_;
-      return *this;
-    }
-
-    operator VkExternalMemoryImageCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>( this );
-    }
-
-    operator VkExternalMemoryImageCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalMemoryImageCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalMemoryImageCreateInfoNV const & ) const = default;
-#else
-    bool operator==( ExternalMemoryImageCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
-    }
-
-    bool operator!=( ExternalMemoryImageCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType       = StructureType::eExternalMemoryImageCreateInfoNV;
-    const void *                                          pNext       = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes = {};
-  };
-  static_assert( sizeof( ExternalMemoryImageCreateInfoNV ) == sizeof( VkExternalMemoryImageCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalMemoryImageCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalMemoryImageCreateInfoNV>
-  {
-    using Type = ExternalMemoryImageCreateInfoNV;
-  };
-
-  struct ExternalSemaphoreProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eExternalSemaphoreProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties(
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags compatibleHandleTypes_         = {},
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreFeatureFlags    externalSemaphoreFeatures_     = {} ) VULKAN_HPP_NOEXCEPT
-      : exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
-      , compatibleHandleTypes( compatibleHandleTypes_ )
-      , externalSemaphoreFeatures( externalSemaphoreFeatures_ )
-    {}
-
-    ExternalSemaphoreProperties( VkExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ExternalSemaphoreProperties & operator=( VkExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties const *>( &rhs );
-      return *this;
-    }
-
-    ExternalSemaphoreProperties & operator=( ExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      exportFromImportedHandleTypes = rhs.exportFromImportedHandleTypes;
-      compatibleHandleTypes         = rhs.compatibleHandleTypes;
-      externalSemaphoreFeatures     = rhs.externalSemaphoreFeatures;
-
-      return *this;
-    }
-
-    operator VkExternalSemaphoreProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkExternalSemaphoreProperties *>( this );
-    }
-
-    operator VkExternalSemaphoreProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkExternalSemaphoreProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ExternalSemaphoreProperties const & ) const = default;
-#else
-    bool operator==( ExternalSemaphoreProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) &&
-             ( compatibleHandleTypes == rhs.compatibleHandleTypes ) &&
-             ( externalSemaphoreFeatures == rhs.externalSemaphoreFeatures );
-    }
-
-    bool operator!=( ExternalSemaphoreProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::eExternalSemaphoreProperties;
-    void *                                                 pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags compatibleHandleTypes         = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreFeatureFlags    externalSemaphoreFeatures     = {};
-  };
-  static_assert( sizeof( ExternalSemaphoreProperties ) == sizeof( VkExternalSemaphoreProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ExternalSemaphoreProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eExternalSemaphoreProperties>
-  {
-    using Type = ExternalSemaphoreProperties;
-  };
-
-  struct FenceCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eFenceCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR FenceCreateInfo( VULKAN_HPP_NAMESPACE::FenceCreateFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-    {}
-
-    FenceCreateInfo( VkFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FenceCreateInfo & operator=( VkFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    FenceCreateInfo & operator=( FenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
-
-      return *this;
-    }
-
-    FenceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    FenceCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::FenceCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    operator VkFenceCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFenceCreateInfo *>( this );
-    }
-
-    operator VkFenceCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFenceCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FenceCreateInfo const & ) const = default;
-#else
-    bool operator==( FenceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( FenceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFenceCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::FenceCreateFlags    flags = {};
-  };
-  static_assert( sizeof( FenceCreateInfo ) == sizeof( VkFenceCreateInfo ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FenceCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFenceCreateInfo>
-  {
-    using Type = FenceCreateInfo;
-  };
-
-  struct FenceGetFdInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eFenceGetFdInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    FenceGetFdInfoKHR( VULKAN_HPP_NAMESPACE::Fence                           fence_ = {},
-                       VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
-                         VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : fence( fence_ )
-      , handleType( handleType_ )
-    {}
-
-    FenceGetFdInfoKHR( VkFenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FenceGetFdInfoKHR & operator=( VkFenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    FenceGetFdInfoKHR & operator=( FenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      fence      = rhs.fence;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    FenceGetFdInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    FenceGetFdInfoKHR & setFence( VULKAN_HPP_NAMESPACE::Fence fence_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fence = fence_;
-      return *this;
-    }
-
-    FenceGetFdInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkFenceGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFenceGetFdInfoKHR *>( this );
-    }
-
-    operator VkFenceGetFdInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFenceGetFdInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FenceGetFdInfoKHR const & ) const = default;
-#else
-    bool operator==( FenceGetFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( FenceGetFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::eFenceGetFdInfoKHR;
-    const void *                                          pNext = {};
-    VULKAN_HPP_NAMESPACE::Fence                           fence = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( FenceGetFdInfoKHR ) == sizeof( VkFenceGetFdInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FenceGetFdInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFenceGetFdInfoKHR>
-  {
-    using Type = FenceGetFdInfoKHR;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct FenceGetWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eFenceGetWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR(
-      VULKAN_HPP_NAMESPACE::Fence                           fence_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : fence( fence_ )
-      , handleType( handleType_ )
-    {}
-
-    FenceGetWin32HandleInfoKHR( VkFenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FenceGetWin32HandleInfoKHR & operator=( VkFenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    FenceGetWin32HandleInfoKHR & operator=( FenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      fence      = rhs.fence;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    FenceGetWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    FenceGetWin32HandleInfoKHR & setFence( VULKAN_HPP_NAMESPACE::Fence fence_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fence = fence_;
-      return *this;
-    }
-
-    FenceGetWin32HandleInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkFenceGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkFenceGetWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFenceGetWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FenceGetWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( FenceGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( FenceGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::eFenceGetWin32HandleInfoKHR;
-    const void *                                          pNext = {};
-    VULKAN_HPP_NAMESPACE::Fence                           fence = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( FenceGetWin32HandleInfoKHR ) == sizeof( VkFenceGetWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FenceGetWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFenceGetWin32HandleInfoKHR>
-  {
-    using Type = FenceGetWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  struct FilterCubicImageViewImageFormatPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eFilterCubicImageViewImageFormatPropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR FilterCubicImageViewImageFormatPropertiesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 filterCubic_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 filterCubicMinmax_ = {} ) VULKAN_HPP_NOEXCEPT
-      : filterCubic( filterCubic_ )
-      , filterCubicMinmax( filterCubicMinmax_ )
-    {}
-
-    FilterCubicImageViewImageFormatPropertiesEXT( VkFilterCubicImageViewImageFormatPropertiesEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FilterCubicImageViewImageFormatPropertiesEXT &
-      operator=( VkFilterCubicImageViewImageFormatPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    FilterCubicImageViewImageFormatPropertiesEXT &
-      operator=( FilterCubicImageViewImageFormatPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      filterCubic       = rhs.filterCubic;
-      filterCubicMinmax = rhs.filterCubicMinmax;
-
-      return *this;
-    }
-
-    operator VkFilterCubicImageViewImageFormatPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>( this );
-    }
-
-    operator VkFilterCubicImageViewImageFormatPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFilterCubicImageViewImageFormatPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FilterCubicImageViewImageFormatPropertiesEXT const & ) const = default;
-#else
-    bool operator==( FilterCubicImageViewImageFormatPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( filterCubic == rhs.filterCubic ) &&
-             ( filterCubicMinmax == rhs.filterCubicMinmax );
-    }
-
-    bool operator!=( FilterCubicImageViewImageFormatPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFilterCubicImageViewImageFormatPropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              filterCubic       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              filterCubicMinmax = {};
-  };
-  static_assert( sizeof( FilterCubicImageViewImageFormatPropertiesEXT ) ==
-                   sizeof( VkFilterCubicImageViewImageFormatPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FilterCubicImageViewImageFormatPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFilterCubicImageViewImageFormatPropertiesEXT>
-  {
-    using Type = FilterCubicImageViewImageFormatPropertiesEXT;
-  };
-
-  struct FormatProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    FormatProperties( VULKAN_HPP_NAMESPACE::FormatFeatureFlags linearTilingFeatures_  = {},
-                      VULKAN_HPP_NAMESPACE::FormatFeatureFlags optimalTilingFeatures_ = {},
-                      VULKAN_HPP_NAMESPACE::FormatFeatureFlags bufferFeatures_        = {} ) VULKAN_HPP_NOEXCEPT
-      : linearTilingFeatures( linearTilingFeatures_ )
-      , optimalTilingFeatures( optimalTilingFeatures_ )
-      , bufferFeatures( bufferFeatures_ )
-    {}
-
-    FormatProperties( VkFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FormatProperties & operator=( VkFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FormatProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkFormatProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFormatProperties *>( this );
-    }
-
-    operator VkFormatProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFormatProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FormatProperties const & ) const = default;
-#else
-    bool operator==( FormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( linearTilingFeatures == rhs.linearTilingFeatures ) &&
-             ( optimalTilingFeatures == rhs.optimalTilingFeatures ) && ( bufferFeatures == rhs.bufferFeatures );
-    }
-
-    bool operator!=( FormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags linearTilingFeatures  = {};
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags optimalTilingFeatures = {};
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags bufferFeatures        = {};
-  };
-  static_assert( sizeof( FormatProperties ) == sizeof( VkFormatProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FormatProperties>::value, "struct wrapper is not a standard layout!" );
-
-  struct FormatProperties2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eFormatProperties2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    FormatProperties2( VULKAN_HPP_NAMESPACE::FormatProperties formatProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : formatProperties( formatProperties_ )
-    {}
-
-    FormatProperties2( VkFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FormatProperties2 & operator=( VkFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FormatProperties2 const *>( &rhs );
-      return *this;
-    }
-
-    FormatProperties2 & operator=( FormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      formatProperties = rhs.formatProperties;
-
-      return *this;
-    }
-
-    operator VkFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFormatProperties2 *>( this );
-    }
-
-    operator VkFormatProperties2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFormatProperties2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FormatProperties2 const & ) const = default;
-#else
-    bool operator==( FormatProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( formatProperties == rhs.formatProperties );
-    }
-
-    bool operator!=( FormatProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType            = StructureType::eFormatProperties2;
-    void *                                    pNext            = {};
-    VULKAN_HPP_NAMESPACE::FormatProperties    formatProperties = {};
-  };
-  static_assert( sizeof( FormatProperties2 ) == sizeof( VkFormatProperties2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FormatProperties2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFormatProperties2>
-  {
-    using Type = FormatProperties2;
-  };
-
-  struct FramebufferAttachmentImageInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eFramebufferAttachmentImageInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    FramebufferAttachmentImageInfo( VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_           = {},
-                                    VULKAN_HPP_NAMESPACE::ImageUsageFlags  usage_           = {},
-                                    uint32_t                               width_           = {},
-                                    uint32_t                               height_          = {},
-                                    uint32_t                               layerCount_      = {},
-                                    uint32_t                               viewFormatCount_ = {},
-                                    const VULKAN_HPP_NAMESPACE::Format *   pViewFormats_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , usage( usage_ )
-      , width( width_ )
-      , height( height_ )
-      , layerCount( layerCount_ )
-      , viewFormatCount( viewFormatCount_ )
-      , pViewFormats( pViewFormats_ )
-    {}
-
-    FramebufferAttachmentImageInfo( VkFramebufferAttachmentImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    FramebufferAttachmentImageInfo(
-      VULKAN_HPP_NAMESPACE::ImageCreateFlags                                                    flags_,
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags                                                     usage_,
-      uint32_t                                                                                  width_,
-      uint32_t                                                                                  height_,
-      uint32_t                                                                                  layerCount_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & viewFormats_ )
-      : flags( flags_ )
-      , usage( usage_ )
-      , width( width_ )
-      , height( height_ )
-      , layerCount( layerCount_ )
-      , viewFormatCount( static_cast<uint32_t>( viewFormats_.size() ) )
-      , pViewFormats( viewFormats_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FramebufferAttachmentImageInfo & operator=( VkFramebufferAttachmentImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo const *>( &rhs );
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & operator=( FramebufferAttachmentImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      usage           = rhs.usage;
-      width           = rhs.width;
-      height          = rhs.height;
-      layerCount      = rhs.layerCount;
-      viewFormatCount = rhs.viewFormatCount;
-      pViewFormats    = rhs.pViewFormats;
-
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & setFlags( VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & setUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      usage = usage_;
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & setWidth( uint32_t width_ ) VULKAN_HPP_NOEXCEPT
-    {
-      width = width_;
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & setHeight( uint32_t height_ ) VULKAN_HPP_NOEXCEPT
-    {
-      height = height_;
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layerCount = layerCount_;
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo & setViewFormatCount( uint32_t viewFormatCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewFormatCount = viewFormatCount_;
-      return *this;
-    }
-
-    FramebufferAttachmentImageInfo &
-      setPViewFormats( const VULKAN_HPP_NAMESPACE::Format * pViewFormats_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewFormats = pViewFormats_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    FramebufferAttachmentImageInfo & setViewFormats(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & viewFormats_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      viewFormatCount = static_cast<uint32_t>( viewFormats_.size() );
-      pViewFormats    = viewFormats_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkFramebufferAttachmentImageInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFramebufferAttachmentImageInfo *>( this );
-    }
-
-    operator VkFramebufferAttachmentImageInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFramebufferAttachmentImageInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FramebufferAttachmentImageInfo const & ) const = default;
-#else
-    bool operator==( FramebufferAttachmentImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( usage == rhs.usage ) &&
-             ( width == rhs.width ) && ( height == rhs.height ) && ( layerCount == rhs.layerCount ) &&
-             ( viewFormatCount == rhs.viewFormatCount ) && ( pViewFormats == rhs.pViewFormats );
-    }
-
-    bool operator!=( FramebufferAttachmentImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eFramebufferAttachmentImageInfo;
-    const void *                              pNext           = {};
-    VULKAN_HPP_NAMESPACE::ImageCreateFlags    flags           = {};
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage           = {};
-    uint32_t                                  width           = {};
-    uint32_t                                  height          = {};
-    uint32_t                                  layerCount      = {};
-    uint32_t                                  viewFormatCount = {};
-    const VULKAN_HPP_NAMESPACE::Format *      pViewFormats    = {};
-  };
-  static_assert( sizeof( FramebufferAttachmentImageInfo ) == sizeof( VkFramebufferAttachmentImageInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FramebufferAttachmentImageInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFramebufferAttachmentImageInfo>
-  {
-    using Type = FramebufferAttachmentImageInfo;
-  };
-
-  struct FramebufferAttachmentsCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferAttachmentsCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR FramebufferAttachmentsCreateInfo(
-      uint32_t                                                     attachmentImageInfoCount_ = {},
-      const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo * pAttachmentImageInfos_    = {} ) VULKAN_HPP_NOEXCEPT
-      : attachmentImageInfoCount( attachmentImageInfoCount_ )
-      , pAttachmentImageInfos( pAttachmentImageInfos_ )
-    {}
-
-    FramebufferAttachmentsCreateInfo( VkFramebufferAttachmentsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    FramebufferAttachmentsCreateInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo> const &
-        attachmentImageInfos_ )
-      : attachmentImageInfoCount( static_cast<uint32_t>( attachmentImageInfos_.size() ) )
-      , pAttachmentImageInfos( attachmentImageInfos_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FramebufferAttachmentsCreateInfo & operator=( VkFramebufferAttachmentsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    FramebufferAttachmentsCreateInfo & operator=( FramebufferAttachmentsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      attachmentImageInfoCount = rhs.attachmentImageInfoCount;
-      pAttachmentImageInfos    = rhs.pAttachmentImageInfos;
-
-      return *this;
-    }
-
-    FramebufferAttachmentsCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    FramebufferAttachmentsCreateInfo &
-      setAttachmentImageInfoCount( uint32_t attachmentImageInfoCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentImageInfoCount = attachmentImageInfoCount_;
-      return *this;
-    }
-
-    FramebufferAttachmentsCreateInfo & setPAttachmentImageInfos(
-      const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo * pAttachmentImageInfos_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttachmentImageInfos = pAttachmentImageInfos_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    FramebufferAttachmentsCreateInfo & setAttachmentImageInfos(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo> const &
-        attachmentImageInfos_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentImageInfoCount = static_cast<uint32_t>( attachmentImageInfos_.size() );
-      pAttachmentImageInfos    = attachmentImageInfos_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkFramebufferAttachmentsCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFramebufferAttachmentsCreateInfo *>( this );
-    }
-
-    operator VkFramebufferAttachmentsCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFramebufferAttachmentsCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FramebufferAttachmentsCreateInfo const & ) const = default;
-#else
-    bool operator==( FramebufferAttachmentsCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( attachmentImageInfoCount == rhs.attachmentImageInfoCount ) &&
-             ( pAttachmentImageInfos == rhs.pAttachmentImageInfos );
-    }
-
-    bool operator!=( FramebufferAttachmentsCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFramebufferAttachmentsCreateInfo;
-    const void *                              pNext = {};
-    uint32_t                                  attachmentImageInfoCount                 = {};
-    const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo * pAttachmentImageInfos = {};
-  };
-  static_assert( sizeof( FramebufferAttachmentsCreateInfo ) == sizeof( VkFramebufferAttachmentsCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FramebufferAttachmentsCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFramebufferAttachmentsCreateInfo>
-  {
-    using Type = FramebufferAttachmentsCreateInfo;
-  };
-
-  struct FramebufferCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eFramebufferCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR FramebufferCreateInfo( VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_           = {},
-                                                VULKAN_HPP_NAMESPACE::RenderPass             renderPass_      = {},
-                                                uint32_t                                     attachmentCount_ = {},
-                                                const VULKAN_HPP_NAMESPACE::ImageView *      pAttachments_    = {},
-                                                uint32_t                                     width_           = {},
-                                                uint32_t                                     height_          = {},
-                                                uint32_t layers_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , renderPass( renderPass_ )
-      , attachmentCount( attachmentCount_ )
-      , pAttachments( pAttachments_ )
-      , width( width_ )
-      , height( height_ )
-      , layers( layers_ )
-    {}
-
-    FramebufferCreateInfo( VkFramebufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    FramebufferCreateInfo(
-      VULKAN_HPP_NAMESPACE::FramebufferCreateFlags                                                 flags_,
-      VULKAN_HPP_NAMESPACE::RenderPass                                                             renderPass_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ImageView> const & attachments_,
-      uint32_t                                                                                     width_  = {},
-      uint32_t                                                                                     height_ = {},
-      uint32_t                                                                                     layers_ = {} )
-      : flags( flags_ )
-      , renderPass( renderPass_ )
-      , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
-      , pAttachments( attachments_.data() )
-      , width( width_ )
-      , height( height_ )
-      , layers( layers_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FramebufferCreateInfo & operator=( VkFramebufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    FramebufferCreateInfo & operator=( FramebufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      renderPass      = rhs.renderPass;
-      attachmentCount = rhs.attachmentCount;
-      pAttachments    = rhs.pAttachments;
-      width           = rhs.width;
-      height          = rhs.height;
-      layers          = rhs.layers;
-
-      return *this;
-    }
-
-    FramebufferCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    FramebufferCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    FramebufferCreateInfo & setRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      renderPass = renderPass_;
-      return *this;
-    }
-
-    FramebufferCreateInfo & setAttachmentCount( uint32_t attachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = attachmentCount_;
-      return *this;
-    }
-
-    FramebufferCreateInfo & setPAttachments( const VULKAN_HPP_NAMESPACE::ImageView * pAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttachments = pAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    FramebufferCreateInfo & setAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ImageView> const & attachments_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = static_cast<uint32_t>( attachments_.size() );
-      pAttachments    = attachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    FramebufferCreateInfo & setWidth( uint32_t width_ ) VULKAN_HPP_NOEXCEPT
-    {
-      width = width_;
-      return *this;
-    }
-
-    FramebufferCreateInfo & setHeight( uint32_t height_ ) VULKAN_HPP_NOEXCEPT
-    {
-      height = height_;
-      return *this;
-    }
-
-    FramebufferCreateInfo & setLayers( uint32_t layers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layers = layers_;
-      return *this;
-    }
-
-    operator VkFramebufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFramebufferCreateInfo *>( this );
-    }
-
-    operator VkFramebufferCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFramebufferCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FramebufferCreateInfo const & ) const = default;
-#else
-    bool operator==( FramebufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( renderPass == rhs.renderPass ) && ( attachmentCount == rhs.attachmentCount ) &&
-             ( pAttachments == rhs.pAttachments ) && ( width == rhs.width ) && ( height == rhs.height ) &&
-             ( layers == rhs.layers );
-    }
-
-    bool operator!=( FramebufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType           = StructureType::eFramebufferCreateInfo;
-    const void *                                 pNext           = {};
-    VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags           = {};
-    VULKAN_HPP_NAMESPACE::RenderPass             renderPass      = {};
-    uint32_t                                     attachmentCount = {};
-    const VULKAN_HPP_NAMESPACE::ImageView *      pAttachments    = {};
-    uint32_t                                     width           = {};
-    uint32_t                                     height          = {};
-    uint32_t                                     layers          = {};
-  };
-  static_assert( sizeof( FramebufferCreateInfo ) == sizeof( VkFramebufferCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FramebufferCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFramebufferCreateInfo>
-  {
-    using Type = FramebufferCreateInfo;
-  };
-
-  struct FramebufferMixedSamplesCombinationNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eFramebufferMixedSamplesCombinationNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR FramebufferMixedSamplesCombinationNV(
-      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_ =
-        VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge,
-      VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_ = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
-      VULKAN_HPP_NAMESPACE::SampleCountFlags    depthStencilSamples_  = {},
-      VULKAN_HPP_NAMESPACE::SampleCountFlags    colorSamples_         = {} ) VULKAN_HPP_NOEXCEPT
-      : coverageReductionMode( coverageReductionMode_ )
-      , rasterizationSamples( rasterizationSamples_ )
-      , depthStencilSamples( depthStencilSamples_ )
-      , colorSamples( colorSamples_ )
-    {}
-
-    FramebufferMixedSamplesCombinationNV( VkFramebufferMixedSamplesCombinationNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    FramebufferMixedSamplesCombinationNV &
-      operator=( VkFramebufferMixedSamplesCombinationNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV const *>( &rhs );
-      return *this;
-    }
-
-    FramebufferMixedSamplesCombinationNV &
-      operator=( FramebufferMixedSamplesCombinationNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      coverageReductionMode = rhs.coverageReductionMode;
-      rasterizationSamples  = rhs.rasterizationSamples;
-      depthStencilSamples   = rhs.depthStencilSamples;
-      colorSamples          = rhs.colorSamples;
-
-      return *this;
-    }
-
-    operator VkFramebufferMixedSamplesCombinationNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkFramebufferMixedSamplesCombinationNV *>( this );
-    }
-
-    operator VkFramebufferMixedSamplesCombinationNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( FramebufferMixedSamplesCombinationNV const & ) const = default;
-#else
-    bool operator==( FramebufferMixedSamplesCombinationNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( coverageReductionMode == rhs.coverageReductionMode ) &&
-             ( rasterizationSamples == rhs.rasterizationSamples ) &&
-             ( depthStencilSamples == rhs.depthStencilSamples ) && ( colorSamples == rhs.colorSamples );
-    }
-
-    bool operator!=( FramebufferMixedSamplesCombinationNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType = StructureType::eFramebufferMixedSamplesCombinationNV;
-    void *                                        pNext = {};
-    VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode =
-      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge;
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
-    VULKAN_HPP_NAMESPACE::SampleCountFlags    depthStencilSamples  = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags    colorSamples         = {};
-  };
-  static_assert( sizeof( FramebufferMixedSamplesCombinationNV ) == sizeof( VkFramebufferMixedSamplesCombinationNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<FramebufferMixedSamplesCombinationNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eFramebufferMixedSamplesCombinationNV>
-  {
-    using Type = FramebufferMixedSamplesCombinationNV;
-  };
-
-  struct IndirectCommandsStreamNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR IndirectCommandsStreamNV( VULKAN_HPP_NAMESPACE::Buffer     buffer_ = {},
-                                                   VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-      , offset( offset_ )
-    {}
-
-    IndirectCommandsStreamNV( VkIndirectCommandsStreamNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    IndirectCommandsStreamNV & operator=( VkIndirectCommandsStreamNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV const *>( &rhs );
-      return *this;
-    }
-
-    IndirectCommandsStreamNV & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
-
-    IndirectCommandsStreamNV & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
-
-    operator VkIndirectCommandsStreamNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkIndirectCommandsStreamNV *>( this );
-    }
-
-    operator VkIndirectCommandsStreamNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkIndirectCommandsStreamNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( IndirectCommandsStreamNV const & ) const = default;
-#else
-    bool operator==( IndirectCommandsStreamNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( buffer == rhs.buffer ) && ( offset == rhs.offset );
-    }
-
-    bool operator!=( IndirectCommandsStreamNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Buffer     buffer = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
-  };
-  static_assert( sizeof( IndirectCommandsStreamNV ) == sizeof( VkIndirectCommandsStreamNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<IndirectCommandsStreamNV>::value, "struct wrapper is not a standard layout!" );
-
-  struct GeneratedCommandsInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eGeneratedCommandsInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR GeneratedCommandsInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
-      VULKAN_HPP_NAMESPACE::Pipeline          pipeline_          = {},
-      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV         indirectCommandsLayout_ = {},
-      uint32_t                                               streamCount_            = {},
-      const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV * pStreams_               = {},
-      uint32_t                                               sequencesCount_         = {},
-      VULKAN_HPP_NAMESPACE::Buffer                           preprocessBuffer_       = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize                       preprocessOffset_       = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize                       preprocessSize_         = {},
-      VULKAN_HPP_NAMESPACE::Buffer                           sequencesCountBuffer_   = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize                       sequencesCountOffset_   = {},
-      VULKAN_HPP_NAMESPACE::Buffer                           sequencesIndexBuffer_   = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize                       sequencesIndexOffset_   = {} ) VULKAN_HPP_NOEXCEPT
-      : pipelineBindPoint( pipelineBindPoint_ )
-      , pipeline( pipeline_ )
-      , indirectCommandsLayout( indirectCommandsLayout_ )
-      , streamCount( streamCount_ )
-      , pStreams( pStreams_ )
-      , sequencesCount( sequencesCount_ )
-      , preprocessBuffer( preprocessBuffer_ )
-      , preprocessOffset( preprocessOffset_ )
-      , preprocessSize( preprocessSize_ )
-      , sequencesCountBuffer( sequencesCountBuffer_ )
-      , sequencesCountOffset( sequencesCountOffset_ )
-      , sequencesIndexBuffer( sequencesIndexBuffer_ )
-      , sequencesIndexOffset( sequencesIndexOffset_ )
-    {}
-
-    GeneratedCommandsInfoNV( VkGeneratedCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GeneratedCommandsInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint        pipelineBindPoint_,
-      VULKAN_HPP_NAMESPACE::Pipeline                 pipeline_,
-      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV> const &
-                                       streams_,
-      uint32_t                         sequencesCount_       = {},
-      VULKAN_HPP_NAMESPACE::Buffer     preprocessBuffer_     = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_     = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_       = {},
-      VULKAN_HPP_NAMESPACE::Buffer     sequencesCountBuffer_ = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_ = {},
-      VULKAN_HPP_NAMESPACE::Buffer     sequencesIndexBuffer_ = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_ = {} )
-      : pipelineBindPoint( pipelineBindPoint_ )
-      , pipeline( pipeline_ )
-      , indirectCommandsLayout( indirectCommandsLayout_ )
-      , streamCount( static_cast<uint32_t>( streams_.size() ) )
-      , pStreams( streams_.data() )
-      , sequencesCount( sequencesCount_ )
-      , preprocessBuffer( preprocessBuffer_ )
-      , preprocessOffset( preprocessOffset_ )
-      , preprocessSize( preprocessSize_ )
-      , sequencesCountBuffer( sequencesCountBuffer_ )
-      , sequencesCountOffset( sequencesCountOffset_ )
-      , sequencesIndexBuffer( sequencesIndexBuffer_ )
-      , sequencesIndexOffset( sequencesIndexOffset_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    GeneratedCommandsInfoNV & operator=( VkGeneratedCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV & operator=( GeneratedCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      pipelineBindPoint      = rhs.pipelineBindPoint;
-      pipeline               = rhs.pipeline;
-      indirectCommandsLayout = rhs.indirectCommandsLayout;
-      streamCount            = rhs.streamCount;
-      pStreams               = rhs.pStreams;
-      sequencesCount         = rhs.sequencesCount;
-      preprocessBuffer       = rhs.preprocessBuffer;
-      preprocessOffset       = rhs.preprocessOffset;
-      preprocessSize         = rhs.preprocessSize;
-      sequencesCountBuffer   = rhs.sequencesCountBuffer;
-      sequencesCountOffset   = rhs.sequencesCountOffset;
-      sequencesIndexBuffer   = rhs.sequencesIndexBuffer;
-      sequencesIndexOffset   = rhs.sequencesIndexOffset;
-
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV &
-      setPipelineBindPoint( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineBindPoint = pipelineBindPoint_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV & setPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipeline = pipeline_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV & setIndirectCommandsLayout(
-      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indirectCommandsLayout = indirectCommandsLayout_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV & setStreamCount( uint32_t streamCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      streamCount = streamCount_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV &
-      setPStreams( const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV * pStreams_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pStreams = pStreams_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GeneratedCommandsInfoNV & setStreams(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV> const &
-        streams_ ) VULKAN_HPP_NOEXCEPT
-    {
-      streamCount = static_cast<uint32_t>( streams_.size() );
-      pStreams    = streams_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    GeneratedCommandsInfoNV & setSequencesCount( uint32_t sequencesCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sequencesCount = sequencesCount_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV & setPreprocessBuffer( VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preprocessBuffer = preprocessBuffer_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV &
-      setPreprocessOffset( VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preprocessOffset = preprocessOffset_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV & setPreprocessSize( VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preprocessSize = preprocessSize_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV &
-      setSequencesCountBuffer( VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sequencesCountBuffer = sequencesCountBuffer_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV &
-      setSequencesCountOffset( VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sequencesCountOffset = sequencesCountOffset_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV &
-      setSequencesIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sequencesIndexBuffer = sequencesIndexBuffer_;
-      return *this;
-    }
-
-    GeneratedCommandsInfoNV &
-      setSequencesIndexOffset( VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sequencesIndexOffset = sequencesIndexOffset_;
-      return *this;
-    }
-
-    operator VkGeneratedCommandsInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGeneratedCommandsInfoNV *>( this );
-    }
-
-    operator VkGeneratedCommandsInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGeneratedCommandsInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GeneratedCommandsInfoNV const & ) const = default;
-#else
-    bool operator==( GeneratedCommandsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) &&
-             ( pipeline == rhs.pipeline ) && ( indirectCommandsLayout == rhs.indirectCommandsLayout ) &&
-             ( streamCount == rhs.streamCount ) && ( pStreams == rhs.pStreams ) &&
-             ( sequencesCount == rhs.sequencesCount ) && ( preprocessBuffer == rhs.preprocessBuffer ) &&
-             ( preprocessOffset == rhs.preprocessOffset ) && ( preprocessSize == rhs.preprocessSize ) &&
-             ( sequencesCountBuffer == rhs.sequencesCountBuffer ) &&
-             ( sequencesCountOffset == rhs.sequencesCountOffset ) &&
-             ( sequencesIndexBuffer == rhs.sequencesIndexBuffer ) &&
-             ( sequencesIndexOffset == rhs.sequencesIndexOffset );
-    }
-
-    bool operator!=( GeneratedCommandsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType             = StructureType::eGeneratedCommandsInfoNV;
-    const void *                              pNext             = {};
-    VULKAN_HPP_NAMESPACE::PipelineBindPoint   pipelineBindPoint = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
-    VULKAN_HPP_NAMESPACE::Pipeline            pipeline          = {};
-    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV         indirectCommandsLayout = {};
-    uint32_t                                               streamCount            = {};
-    const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV * pStreams               = {};
-    uint32_t                                               sequencesCount         = {};
-    VULKAN_HPP_NAMESPACE::Buffer                           preprocessBuffer       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                       preprocessOffset       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                       preprocessSize         = {};
-    VULKAN_HPP_NAMESPACE::Buffer                           sequencesCountBuffer   = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                       sequencesCountOffset   = {};
-    VULKAN_HPP_NAMESPACE::Buffer                           sequencesIndexBuffer   = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                       sequencesIndexOffset   = {};
-  };
-  static_assert( sizeof( GeneratedCommandsInfoNV ) == sizeof( VkGeneratedCommandsInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GeneratedCommandsInfoNV>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eGeneratedCommandsInfoNV>
-  {
-    using Type = GeneratedCommandsInfoNV;
-  };
-
-  struct GeneratedCommandsMemoryRequirementsInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eGeneratedCommandsMemoryRequirementsInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR GeneratedCommandsMemoryRequirementsInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
-      VULKAN_HPP_NAMESPACE::Pipeline          pipeline_          = {},
-      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_ = {},
-      uint32_t                                       maxSequencesCount_      = {} ) VULKAN_HPP_NOEXCEPT
-      : pipelineBindPoint( pipelineBindPoint_ )
-      , pipeline( pipeline_ )
-      , indirectCommandsLayout( indirectCommandsLayout_ )
-      , maxSequencesCount( maxSequencesCount_ )
-    {}
-
-    GeneratedCommandsMemoryRequirementsInfoNV( VkGeneratedCommandsMemoryRequirementsInfoNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    GeneratedCommandsMemoryRequirementsInfoNV &
-      operator=( VkGeneratedCommandsMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    GeneratedCommandsMemoryRequirementsInfoNV &
-      operator=( GeneratedCommandsMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      pipelineBindPoint      = rhs.pipelineBindPoint;
-      pipeline               = rhs.pipeline;
-      indirectCommandsLayout = rhs.indirectCommandsLayout;
-      maxSequencesCount      = rhs.maxSequencesCount;
-
-      return *this;
-    }
-
-    GeneratedCommandsMemoryRequirementsInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    GeneratedCommandsMemoryRequirementsInfoNV &
-      setPipelineBindPoint( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineBindPoint = pipelineBindPoint_;
-      return *this;
-    }
-
-    GeneratedCommandsMemoryRequirementsInfoNV &
-      setPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipeline = pipeline_;
-      return *this;
-    }
-
-    GeneratedCommandsMemoryRequirementsInfoNV & setIndirectCommandsLayout(
-      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indirectCommandsLayout = indirectCommandsLayout_;
-      return *this;
-    }
-
-    GeneratedCommandsMemoryRequirementsInfoNV & setMaxSequencesCount( uint32_t maxSequencesCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxSequencesCount = maxSequencesCount_;
-      return *this;
-    }
-
-    operator VkGeneratedCommandsMemoryRequirementsInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( this );
-    }
-
-    operator VkGeneratedCommandsMemoryRequirementsInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGeneratedCommandsMemoryRequirementsInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GeneratedCommandsMemoryRequirementsInfoNV const & ) const = default;
-#else
-    bool operator==( GeneratedCommandsMemoryRequirementsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) &&
-             ( pipeline == rhs.pipeline ) && ( indirectCommandsLayout == rhs.indirectCommandsLayout ) &&
-             ( maxSequencesCount == rhs.maxSequencesCount );
-    }
-
-    bool operator!=( GeneratedCommandsMemoryRequirementsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeneratedCommandsMemoryRequirementsInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineBindPoint   pipelineBindPoint = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
-    VULKAN_HPP_NAMESPACE::Pipeline            pipeline          = {};
-    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout = {};
-    uint32_t                                       maxSequencesCount      = {};
-  };
-  static_assert( sizeof( GeneratedCommandsMemoryRequirementsInfoNV ) ==
-                   sizeof( VkGeneratedCommandsMemoryRequirementsInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GeneratedCommandsMemoryRequirementsInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eGeneratedCommandsMemoryRequirementsInfoNV>
-  {
-    using Type = GeneratedCommandsMemoryRequirementsInfoNV;
-  };
-
-  struct VertexInputBindingDescription
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    VertexInputBindingDescription( uint32_t                              binding_ = {},
-                                   uint32_t                              stride_  = {},
-                                   VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_ =
-                                     VULKAN_HPP_NAMESPACE::VertexInputRate::eVertex ) VULKAN_HPP_NOEXCEPT
-      : binding( binding_ )
-      , stride( stride_ )
-      , inputRate( inputRate_ )
-    {}
-
-    VertexInputBindingDescription( VkVertexInputBindingDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    VertexInputBindingDescription & operator=( VkVertexInputBindingDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription const *>( &rhs );
-      return *this;
-    }
-
-    VertexInputBindingDescription & setBinding( uint32_t binding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      binding = binding_;
-      return *this;
-    }
-
-    VertexInputBindingDescription & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stride = stride_;
-      return *this;
-    }
-
-    VertexInputBindingDescription & setInputRate( VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inputRate = inputRate_;
-      return *this;
-    }
-
-    operator VkVertexInputBindingDescription const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkVertexInputBindingDescription *>( this );
-    }
-
-    operator VkVertexInputBindingDescription &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkVertexInputBindingDescription *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( VertexInputBindingDescription const & ) const = default;
-#else
-    bool operator==( VertexInputBindingDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( binding == rhs.binding ) && ( stride == rhs.stride ) && ( inputRate == rhs.inputRate );
-    }
-
-    bool operator!=( VertexInputBindingDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                              binding   = {};
-    uint32_t                              stride    = {};
-    VULKAN_HPP_NAMESPACE::VertexInputRate inputRate = VULKAN_HPP_NAMESPACE::VertexInputRate::eVertex;
-  };
-  static_assert( sizeof( VertexInputBindingDescription ) == sizeof( VkVertexInputBindingDescription ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<VertexInputBindingDescription>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct VertexInputAttributeDescription
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    VertexInputAttributeDescription( uint32_t                     location_ = {},
-                                     uint32_t                     binding_  = {},
-                                     VULKAN_HPP_NAMESPACE::Format format_   = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-                                     uint32_t                     offset_   = {} ) VULKAN_HPP_NOEXCEPT
-      : location( location_ )
-      , binding( binding_ )
-      , format( format_ )
-      , offset( offset_ )
-    {}
-
-    VertexInputAttributeDescription( VkVertexInputAttributeDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    VertexInputAttributeDescription & operator=( VkVertexInputAttributeDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription const *>( &rhs );
-      return *this;
-    }
-
-    VertexInputAttributeDescription & setLocation( uint32_t location_ ) VULKAN_HPP_NOEXCEPT
-    {
-      location = location_;
-      return *this;
-    }
-
-    VertexInputAttributeDescription & setBinding( uint32_t binding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      binding = binding_;
-      return *this;
-    }
-
-    VertexInputAttributeDescription & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
-
-    VertexInputAttributeDescription & setOffset( uint32_t offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
-
-    operator VkVertexInputAttributeDescription const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkVertexInputAttributeDescription *>( this );
-    }
-
-    operator VkVertexInputAttributeDescription &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkVertexInputAttributeDescription *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( VertexInputAttributeDescription const & ) const = default;
-#else
-    bool operator==( VertexInputAttributeDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( location == rhs.location ) && ( binding == rhs.binding ) && ( format == rhs.format ) &&
-             ( offset == rhs.offset );
-    }
-
-    bool operator!=( VertexInputAttributeDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                     location = {};
-    uint32_t                     binding  = {};
-    VULKAN_HPP_NAMESPACE::Format format   = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    uint32_t                     offset   = {};
-  };
-  static_assert( sizeof( VertexInputAttributeDescription ) == sizeof( VkVertexInputAttributeDescription ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<VertexInputAttributeDescription>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct PipelineVertexInputStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineVertexInputStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineVertexInputStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags     flags_                           = {},
-      uint32_t                                                      vertexBindingDescriptionCount_   = {},
-      const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription *   pVertexBindingDescriptions_      = {},
-      uint32_t                                                      vertexAttributeDescriptionCount_ = {},
-      const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription * pVertexAttributeDescriptions_    = {} )
-      VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , vertexBindingDescriptionCount( vertexBindingDescriptionCount_ )
-      , pVertexBindingDescriptions( pVertexBindingDescriptions_ )
-      , vertexAttributeDescriptionCount( vertexAttributeDescriptionCount_ )
-      , pVertexAttributeDescriptions( pVertexAttributeDescriptions_ )
-    {}
-
-    PipelineVertexInputStateCreateInfo( VkPipelineVertexInputStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineVertexInputStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription> const &
-        vertexBindingDescriptions_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription> const &
-        vertexAttributeDescriptions_ = {} )
-      : flags( flags_ )
-      , vertexBindingDescriptionCount( static_cast<uint32_t>( vertexBindingDescriptions_.size() ) )
-      , pVertexBindingDescriptions( vertexBindingDescriptions_.data() )
-      , vertexAttributeDescriptionCount( static_cast<uint32_t>( vertexAttributeDescriptions_.size() ) )
-      , pVertexAttributeDescriptions( vertexAttributeDescriptions_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineVertexInputStateCreateInfo &
-      operator=( VkPipelineVertexInputStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineVertexInputStateCreateInfo & operator=( PipelineVertexInputStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                           = rhs.pNext;
-      flags                           = rhs.flags;
-      vertexBindingDescriptionCount   = rhs.vertexBindingDescriptionCount;
-      pVertexBindingDescriptions      = rhs.pVertexBindingDescriptions;
-      vertexAttributeDescriptionCount = rhs.vertexAttributeDescriptionCount;
-      pVertexAttributeDescriptions    = rhs.pVertexAttributeDescriptions;
-
-      return *this;
-    }
-
-    PipelineVertexInputStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineVertexInputStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineVertexInputStateCreateInfo &
-      setVertexBindingDescriptionCount( uint32_t vertexBindingDescriptionCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexBindingDescriptionCount = vertexBindingDescriptionCount_;
-      return *this;
-    }
-
-    PipelineVertexInputStateCreateInfo & setPVertexBindingDescriptions(
-      const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription * pVertexBindingDescriptions_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pVertexBindingDescriptions = pVertexBindingDescriptions_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineVertexInputStateCreateInfo & setVertexBindingDescriptions(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription> const &
-        vertexBindingDescriptions_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexBindingDescriptionCount = static_cast<uint32_t>( vertexBindingDescriptions_.size() );
-      pVertexBindingDescriptions    = vertexBindingDescriptions_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    PipelineVertexInputStateCreateInfo &
-      setVertexAttributeDescriptionCount( uint32_t vertexAttributeDescriptionCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexAttributeDescriptionCount = vertexAttributeDescriptionCount_;
-      return *this;
-    }
-
-    PipelineVertexInputStateCreateInfo & setPVertexAttributeDescriptions(
-      const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription * pVertexAttributeDescriptions_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pVertexAttributeDescriptions = pVertexAttributeDescriptions_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineVertexInputStateCreateInfo & setVertexAttributeDescriptions(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription> const &
-        vertexAttributeDescriptions_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexAttributeDescriptionCount = static_cast<uint32_t>( vertexAttributeDescriptions_.size() );
-      pVertexAttributeDescriptions    = vertexAttributeDescriptions_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPipelineVertexInputStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineVertexInputStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineVertexInputStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineVertexInputStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineVertexInputStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineVertexInputStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( vertexBindingDescriptionCount == rhs.vertexBindingDescriptionCount ) &&
-             ( pVertexBindingDescriptions == rhs.pVertexBindingDescriptions ) &&
-             ( vertexAttributeDescriptionCount == rhs.vertexAttributeDescriptionCount ) &&
-             ( pVertexAttributeDescriptions == rhs.pVertexAttributeDescriptions );
-    }
-
-    bool operator!=( PipelineVertexInputStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineVertexInputStateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags     flags                           = {};
-    uint32_t                                                      vertexBindingDescriptionCount   = {};
-    const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription *   pVertexBindingDescriptions      = {};
-    uint32_t                                                      vertexAttributeDescriptionCount = {};
-    const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription * pVertexAttributeDescriptions    = {};
-  };
-  static_assert( sizeof( PipelineVertexInputStateCreateInfo ) == sizeof( VkPipelineVertexInputStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineVertexInputStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineVertexInputStateCreateInfo>
-  {
-    using Type = PipelineVertexInputStateCreateInfo;
-  };
-
-  struct PipelineInputAssemblyStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineInputAssemblyStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineInputAssemblyStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags_ = {},
-      VULKAN_HPP_NAMESPACE::PrimitiveTopology topology_ = VULKAN_HPP_NAMESPACE::PrimitiveTopology::ePointList,
-      VULKAN_HPP_NAMESPACE::Bool32            primitiveRestartEnable_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , topology( topology_ )
-      , primitiveRestartEnable( primitiveRestartEnable_ )
-    {}
-
-    PipelineInputAssemblyStateCreateInfo( VkPipelineInputAssemblyStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineInputAssemblyStateCreateInfo &
-      operator=( VkPipelineInputAssemblyStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineInputAssemblyStateCreateInfo &
-      operator=( PipelineInputAssemblyStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      flags                  = rhs.flags;
-      topology               = rhs.topology;
-      primitiveRestartEnable = rhs.primitiveRestartEnable;
-
-      return *this;
-    }
-
-    PipelineInputAssemblyStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineInputAssemblyStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineInputAssemblyStateCreateInfo &
-      setTopology( VULKAN_HPP_NAMESPACE::PrimitiveTopology topology_ ) VULKAN_HPP_NOEXCEPT
-    {
-      topology = topology_;
-      return *this;
-    }
-
-    PipelineInputAssemblyStateCreateInfo &
-      setPrimitiveRestartEnable( VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      primitiveRestartEnable = primitiveRestartEnable_;
-      return *this;
-    }
-
-    operator VkPipelineInputAssemblyStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineInputAssemblyStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineInputAssemblyStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineInputAssemblyStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineInputAssemblyStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineInputAssemblyStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( topology == rhs.topology ) && ( primitiveRestartEnable == rhs.primitiveRestartEnable );
-    }
-
-    bool operator!=( PipelineInputAssemblyStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineInputAssemblyStateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags = {};
-    VULKAN_HPP_NAMESPACE::PrimitiveTopology topology = VULKAN_HPP_NAMESPACE::PrimitiveTopology::ePointList;
-    VULKAN_HPP_NAMESPACE::Bool32            primitiveRestartEnable = {};
-  };
-  static_assert( sizeof( PipelineInputAssemblyStateCreateInfo ) == sizeof( VkPipelineInputAssemblyStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineInputAssemblyStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineInputAssemblyStateCreateInfo>
-  {
-    using Type = PipelineInputAssemblyStateCreateInfo;
-  };
-
-  struct PipelineTessellationStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineTessellationStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PipelineTessellationStateCreateInfo( VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags_ = {},
-                                         uint32_t patchControlPoints_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , patchControlPoints( patchControlPoints_ )
-    {}
-
-    PipelineTessellationStateCreateInfo( VkPipelineTessellationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineTessellationStateCreateInfo &
-      operator=( VkPipelineTessellationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineTessellationStateCreateInfo &
-      operator=( PipelineTessellationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      flags              = rhs.flags;
-      patchControlPoints = rhs.patchControlPoints;
-
-      return *this;
-    }
-
-    PipelineTessellationStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineTessellationStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineTessellationStateCreateInfo & setPatchControlPoints( uint32_t patchControlPoints_ ) VULKAN_HPP_NOEXCEPT
-    {
-      patchControlPoints = patchControlPoints_;
-      return *this;
-    }
-
-    operator VkPipelineTessellationStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineTessellationStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineTessellationStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineTessellationStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineTessellationStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineTessellationStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( patchControlPoints == rhs.patchControlPoints );
-    }
-
-    bool operator!=( PipelineTessellationStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineTessellationStateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags              = {};
-    uint32_t                                                   patchControlPoints = {};
-  };
-  static_assert( sizeof( PipelineTessellationStateCreateInfo ) == sizeof( VkPipelineTessellationStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineTessellationStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineTessellationStateCreateInfo>
-  {
-    using Type = PipelineTessellationStateCreateInfo;
-  };
-
-  struct Viewport
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR Viewport( float x_        = {},
-                                   float y_        = {},
-                                   float width_    = {},
-                                   float height_   = {},
-                                   float minDepth_ = {},
-                                   float maxDepth_ = {} ) VULKAN_HPP_NOEXCEPT
-      : x( x_ )
-      , y( y_ )
-      , width( width_ )
-      , height( height_ )
-      , minDepth( minDepth_ )
-      , maxDepth( maxDepth_ )
-    {}
-
-    Viewport( VkViewport const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    Viewport & operator=( VkViewport const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Viewport const *>( &rhs );
-      return *this;
-    }
-
-    Viewport & setX( float x_ ) VULKAN_HPP_NOEXCEPT
-    {
-      x = x_;
-      return *this;
-    }
-
-    Viewport & setY( float y_ ) VULKAN_HPP_NOEXCEPT
-    {
-      y = y_;
-      return *this;
-    }
-
-    Viewport & setWidth( float width_ ) VULKAN_HPP_NOEXCEPT
-    {
-      width = width_;
-      return *this;
-    }
-
-    Viewport & setHeight( float height_ ) VULKAN_HPP_NOEXCEPT
-    {
-      height = height_;
-      return *this;
-    }
-
-    Viewport & setMinDepth( float minDepth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minDepth = minDepth_;
-      return *this;
-    }
-
-    Viewport & setMaxDepth( float maxDepth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxDepth = maxDepth_;
-      return *this;
-    }
-
-    operator VkViewport const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkViewport *>( this );
-    }
-
-    operator VkViewport &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkViewport *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Viewport const & ) const = default;
-#else
-    bool operator==( Viewport const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( x == rhs.x ) && ( y == rhs.y ) && ( width == rhs.width ) && ( height == rhs.height ) &&
-             ( minDepth == rhs.minDepth ) && ( maxDepth == rhs.maxDepth );
-    }
-
-    bool operator!=( Viewport const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    float x        = {};
-    float y        = {};
-    float width    = {};
-    float height   = {};
-    float minDepth = {};
-    float maxDepth = {};
-  };
-  static_assert( sizeof( Viewport ) == sizeof( VkViewport ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Viewport>::value, "struct wrapper is not a standard layout!" );
-
-  struct PipelineViewportStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineViewportStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PipelineViewportStateCreateInfo( VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_         = {},
-                                     uint32_t                                               viewportCount_ = {},
-                                     const VULKAN_HPP_NAMESPACE::Viewport *                 pViewports_    = {},
-                                     uint32_t                                               scissorCount_  = {},
-                                     const VULKAN_HPP_NAMESPACE::Rect2D * pScissors_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , viewportCount( viewportCount_ )
-      , pViewports( pViewports_ )
-      , scissorCount( scissorCount_ )
-      , pScissors( pScissors_ )
-    {}
-
-    PipelineViewportStateCreateInfo( VkPipelineViewportStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags                                      flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const &   scissors_ = {} )
-      : flags( flags_ )
-      , viewportCount( static_cast<uint32_t>( viewports_.size() ) )
-      , pViewports( viewports_.data() )
-      , scissorCount( static_cast<uint32_t>( scissors_.size() ) )
-      , pScissors( scissors_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineViewportStateCreateInfo & operator=( VkPipelineViewportStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineViewportStateCreateInfo & operator=( PipelineViewportStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      flags         = rhs.flags;
-      viewportCount = rhs.viewportCount;
-      pViewports    = rhs.pViewports;
-      scissorCount  = rhs.scissorCount;
-      pScissors     = rhs.pScissors;
-
-      return *this;
-    }
-
-    PipelineViewportStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineViewportStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineViewportStateCreateInfo & setViewportCount( uint32_t viewportCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount = viewportCount_;
-      return *this;
-    }
-
-    PipelineViewportStateCreateInfo &
-      setPViewports( const VULKAN_HPP_NAMESPACE::Viewport * pViewports_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewports = pViewports_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportStateCreateInfo & setViewports(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount = static_cast<uint32_t>( viewports_.size() );
-      pViewports    = viewports_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    PipelineViewportStateCreateInfo & setScissorCount( uint32_t scissorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      scissorCount = scissorCount_;
-      return *this;
-    }
-
-    PipelineViewportStateCreateInfo &
-      setPScissors( const VULKAN_HPP_NAMESPACE::Rect2D * pScissors_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pScissors = pScissors_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportStateCreateInfo &
-      setScissors( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors_ )
-        VULKAN_HPP_NOEXCEPT
-    {
-      scissorCount = static_cast<uint32_t>( scissors_.size() );
-      pScissors    = scissors_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPipelineViewportStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineViewportStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineViewportStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineViewportStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineViewportStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineViewportStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( viewportCount == rhs.viewportCount ) && ( pViewports == rhs.pViewports ) &&
-             ( scissorCount == rhs.scissorCount ) && ( pScissors == rhs.pScissors );
-    }
-
-    bool operator!=( PipelineViewportStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::ePipelineViewportStateCreateInfo;
-    const void *                                           pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags = {};
-    uint32_t                                               viewportCount = {};
-    const VULKAN_HPP_NAMESPACE::Viewport *                 pViewports    = {};
-    uint32_t                                               scissorCount  = {};
-    const VULKAN_HPP_NAMESPACE::Rect2D *                   pScissors     = {};
-  };
-  static_assert( sizeof( PipelineViewportStateCreateInfo ) == sizeof( VkPipelineViewportStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineViewportStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineViewportStateCreateInfo>
-  {
-    using Type = PipelineViewportStateCreateInfo;
-  };
-
-  struct PipelineRasterizationStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineRasterizationStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineRasterizationStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32                                depthClampEnable_        = {},
-      VULKAN_HPP_NAMESPACE::Bool32                                rasterizerDiscardEnable_ = {},
-      VULKAN_HPP_NAMESPACE::PolygonMode   polygonMode_             = VULKAN_HPP_NAMESPACE::PolygonMode::eFill,
-      VULKAN_HPP_NAMESPACE::CullModeFlags cullMode_                = {},
-      VULKAN_HPP_NAMESPACE::FrontFace     frontFace_               = VULKAN_HPP_NAMESPACE::FrontFace::eCounterClockwise,
-      VULKAN_HPP_NAMESPACE::Bool32        depthBiasEnable_         = {},
-      float                               depthBiasConstantFactor_ = {},
-      float                               depthBiasClamp_          = {},
-      float                               depthBiasSlopeFactor_    = {},
-      float                               lineWidth_               = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , depthClampEnable( depthClampEnable_ )
-      , rasterizerDiscardEnable( rasterizerDiscardEnable_ )
-      , polygonMode( polygonMode_ )
-      , cullMode( cullMode_ )
-      , frontFace( frontFace_ )
-      , depthBiasEnable( depthBiasEnable_ )
-      , depthBiasConstantFactor( depthBiasConstantFactor_ )
-      , depthBiasClamp( depthBiasClamp_ )
-      , depthBiasSlopeFactor( depthBiasSlopeFactor_ )
-      , lineWidth( lineWidth_ )
-    {}
-
-    PipelineRasterizationStateCreateInfo( VkPipelineRasterizationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineRasterizationStateCreateInfo &
-      operator=( VkPipelineRasterizationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      operator=( PipelineRasterizationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      flags                   = rhs.flags;
-      depthClampEnable        = rhs.depthClampEnable;
-      rasterizerDiscardEnable = rhs.rasterizerDiscardEnable;
-      polygonMode             = rhs.polygonMode;
-      cullMode                = rhs.cullMode;
-      frontFace               = rhs.frontFace;
-      depthBiasEnable         = rhs.depthBiasEnable;
-      depthBiasConstantFactor = rhs.depthBiasConstantFactor;
-      depthBiasClamp          = rhs.depthBiasClamp;
-      depthBiasSlopeFactor    = rhs.depthBiasSlopeFactor;
-      lineWidth               = rhs.lineWidth;
-
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setDepthClampEnable( VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthClampEnable = depthClampEnable_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setRasterizerDiscardEnable( VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rasterizerDiscardEnable = rasterizerDiscardEnable_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setPolygonMode( VULKAN_HPP_NAMESPACE::PolygonMode polygonMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      polygonMode = polygonMode_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setCullMode( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      cullMode = cullMode_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setFrontFace( VULKAN_HPP_NAMESPACE::FrontFace frontFace_ ) VULKAN_HPP_NOEXCEPT
-    {
-      frontFace = frontFace_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setDepthBiasEnable( VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthBiasEnable = depthBiasEnable_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo &
-      setDepthBiasConstantFactor( float depthBiasConstantFactor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthBiasConstantFactor = depthBiasConstantFactor_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo & setDepthBiasClamp( float depthBiasClamp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthBiasClamp = depthBiasClamp_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo & setDepthBiasSlopeFactor( float depthBiasSlopeFactor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthBiasSlopeFactor = depthBiasSlopeFactor_;
-      return *this;
-    }
-
-    PipelineRasterizationStateCreateInfo & setLineWidth( float lineWidth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      lineWidth = lineWidth_;
-      return *this;
-    }
-
-    operator VkPipelineRasterizationStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineRasterizationStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineRasterizationStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineRasterizationStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineRasterizationStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineRasterizationStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( depthClampEnable == rhs.depthClampEnable ) &&
-             ( rasterizerDiscardEnable == rhs.rasterizerDiscardEnable ) && ( polygonMode == rhs.polygonMode ) &&
-             ( cullMode == rhs.cullMode ) && ( frontFace == rhs.frontFace ) &&
-             ( depthBiasEnable == rhs.depthBiasEnable ) && ( depthBiasConstantFactor == rhs.depthBiasConstantFactor ) &&
-             ( depthBiasClamp == rhs.depthBiasClamp ) && ( depthBiasSlopeFactor == rhs.depthBiasSlopeFactor ) &&
-             ( lineWidth == rhs.lineWidth );
-    }
-
-    bool operator!=( PipelineRasterizationStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationStateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                depthClampEnable        = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                rasterizerDiscardEnable = {};
-    VULKAN_HPP_NAMESPACE::PolygonMode                           polygonMode = VULKAN_HPP_NAMESPACE::PolygonMode::eFill;
-    VULKAN_HPP_NAMESPACE::CullModeFlags                         cullMode    = {};
-    VULKAN_HPP_NAMESPACE::FrontFace frontFace               = VULKAN_HPP_NAMESPACE::FrontFace::eCounterClockwise;
-    VULKAN_HPP_NAMESPACE::Bool32    depthBiasEnable         = {};
-    float                           depthBiasConstantFactor = {};
-    float                           depthBiasClamp          = {};
-    float                           depthBiasSlopeFactor    = {};
-    float                           lineWidth               = {};
-  };
-  static_assert( sizeof( PipelineRasterizationStateCreateInfo ) == sizeof( VkPipelineRasterizationStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineRasterizationStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineRasterizationStateCreateInfo>
-  {
-    using Type = PipelineRasterizationStateCreateInfo;
-  };
-
-  struct PipelineMultisampleStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineMultisampleStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineMultisampleStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags_ = {},
-      VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_  = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
-      VULKAN_HPP_NAMESPACE::Bool32              sampleShadingEnable_   = {},
-      float                                     minSampleShading_      = {},
-      const VULKAN_HPP_NAMESPACE::SampleMask *  pSampleMask_           = {},
-      VULKAN_HPP_NAMESPACE::Bool32              alphaToCoverageEnable_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32              alphaToOneEnable_      = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , rasterizationSamples( rasterizationSamples_ )
-      , sampleShadingEnable( sampleShadingEnable_ )
-      , minSampleShading( minSampleShading_ )
-      , pSampleMask( pSampleMask_ )
-      , alphaToCoverageEnable( alphaToCoverageEnable_ )
-      , alphaToOneEnable( alphaToOneEnable_ )
-    {}
-
-    PipelineMultisampleStateCreateInfo( VkPipelineMultisampleStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineMultisampleStateCreateInfo &
-      operator=( VkPipelineMultisampleStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo & operator=( PipelineMultisampleStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      flags                 = rhs.flags;
-      rasterizationSamples  = rhs.rasterizationSamples;
-      sampleShadingEnable   = rhs.sampleShadingEnable;
-      minSampleShading      = rhs.minSampleShading;
-      pSampleMask           = rhs.pSampleMask;
-      alphaToCoverageEnable = rhs.alphaToCoverageEnable;
-      alphaToOneEnable      = rhs.alphaToOneEnable;
-
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo &
-      setRasterizationSamples( VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rasterizationSamples = rasterizationSamples_;
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo &
-      setSampleShadingEnable( VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleShadingEnable = sampleShadingEnable_;
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo & setMinSampleShading( float minSampleShading_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minSampleShading = minSampleShading_;
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo &
-      setPSampleMask( const VULKAN_HPP_NAMESPACE::SampleMask * pSampleMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSampleMask = pSampleMask_;
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo &
-      setAlphaToCoverageEnable( VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      alphaToCoverageEnable = alphaToCoverageEnable_;
-      return *this;
-    }
-
-    PipelineMultisampleStateCreateInfo &
-      setAlphaToOneEnable( VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      alphaToOneEnable = alphaToOneEnable_;
-      return *this;
-    }
-
-    operator VkPipelineMultisampleStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineMultisampleStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineMultisampleStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineMultisampleStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineMultisampleStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineMultisampleStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( rasterizationSamples == rhs.rasterizationSamples ) &&
-             ( sampleShadingEnable == rhs.sampleShadingEnable ) && ( minSampleShading == rhs.minSampleShading ) &&
-             ( pSampleMask == rhs.pSampleMask ) && ( alphaToCoverageEnable == rhs.alphaToCoverageEnable ) &&
-             ( alphaToOneEnable == rhs.alphaToOneEnable );
-    }
-
-    bool operator!=( PipelineMultisampleStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineMultisampleStateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples  = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
-    VULKAN_HPP_NAMESPACE::Bool32              sampleShadingEnable   = {};
-    float                                     minSampleShading      = {};
-    const VULKAN_HPP_NAMESPACE::SampleMask *  pSampleMask           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              alphaToCoverageEnable = {};
-    VULKAN_HPP_NAMESPACE::Bool32              alphaToOneEnable      = {};
-  };
-  static_assert( sizeof( PipelineMultisampleStateCreateInfo ) == sizeof( VkPipelineMultisampleStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineMultisampleStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineMultisampleStateCreateInfo>
-  {
-    using Type = PipelineMultisampleStateCreateInfo;
-  };
-
-  struct StencilOpState
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    StencilOpState( VULKAN_HPP_NAMESPACE::StencilOp failOp_      = VULKAN_HPP_NAMESPACE::StencilOp::eKeep,
-                    VULKAN_HPP_NAMESPACE::StencilOp passOp_      = VULKAN_HPP_NAMESPACE::StencilOp::eKeep,
-                    VULKAN_HPP_NAMESPACE::StencilOp depthFailOp_ = VULKAN_HPP_NAMESPACE::StencilOp::eKeep,
-                    VULKAN_HPP_NAMESPACE::CompareOp compareOp_   = VULKAN_HPP_NAMESPACE::CompareOp::eNever,
-                    uint32_t                        compareMask_ = {},
-                    uint32_t                        writeMask_   = {},
-                    uint32_t                        reference_   = {} ) VULKAN_HPP_NOEXCEPT
-      : failOp( failOp_ )
-      , passOp( passOp_ )
-      , depthFailOp( depthFailOp_ )
-      , compareOp( compareOp_ )
-      , compareMask( compareMask_ )
-      , writeMask( writeMask_ )
-      , reference( reference_ )
-    {}
-
-    StencilOpState( VkStencilOpState const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    StencilOpState & operator=( VkStencilOpState const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::StencilOpState const *>( &rhs );
-      return *this;
-    }
-
-    StencilOpState & setFailOp( VULKAN_HPP_NAMESPACE::StencilOp failOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      failOp = failOp_;
-      return *this;
-    }
-
-    StencilOpState & setPassOp( VULKAN_HPP_NAMESPACE::StencilOp passOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      passOp = passOp_;
-      return *this;
-    }
-
-    StencilOpState & setDepthFailOp( VULKAN_HPP_NAMESPACE::StencilOp depthFailOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthFailOp = depthFailOp_;
-      return *this;
-    }
-
-    StencilOpState & setCompareOp( VULKAN_HPP_NAMESPACE::CompareOp compareOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compareOp = compareOp_;
-      return *this;
-    }
-
-    StencilOpState & setCompareMask( uint32_t compareMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compareMask = compareMask_;
-      return *this;
-    }
-
-    StencilOpState & setWriteMask( uint32_t writeMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      writeMask = writeMask_;
-      return *this;
-    }
-
-    StencilOpState & setReference( uint32_t reference_ ) VULKAN_HPP_NOEXCEPT
-    {
-      reference = reference_;
-      return *this;
-    }
-
-    operator VkStencilOpState const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkStencilOpState *>( this );
-    }
-
-    operator VkStencilOpState &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkStencilOpState *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( StencilOpState const & ) const = default;
-#else
-    bool operator==( StencilOpState const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( failOp == rhs.failOp ) && ( passOp == rhs.passOp ) && ( depthFailOp == rhs.depthFailOp ) &&
-             ( compareOp == rhs.compareOp ) && ( compareMask == rhs.compareMask ) && ( writeMask == rhs.writeMask ) &&
-             ( reference == rhs.reference );
-    }
-
-    bool operator!=( StencilOpState const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::StencilOp failOp      = VULKAN_HPP_NAMESPACE::StencilOp::eKeep;
-    VULKAN_HPP_NAMESPACE::StencilOp passOp      = VULKAN_HPP_NAMESPACE::StencilOp::eKeep;
-    VULKAN_HPP_NAMESPACE::StencilOp depthFailOp = VULKAN_HPP_NAMESPACE::StencilOp::eKeep;
-    VULKAN_HPP_NAMESPACE::CompareOp compareOp   = VULKAN_HPP_NAMESPACE::CompareOp::eNever;
-    uint32_t                        compareMask = {};
-    uint32_t                        writeMask   = {};
-    uint32_t                        reference   = {};
-  };
-  static_assert( sizeof( StencilOpState ) == sizeof( VkStencilOpState ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<StencilOpState>::value, "struct wrapper is not a standard layout!" );
-
-  struct PipelineDepthStencilStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineDepthStencilStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags_            = {},
-      VULKAN_HPP_NAMESPACE::Bool32                               depthTestEnable_  = {},
-      VULKAN_HPP_NAMESPACE::Bool32                               depthWriteEnable_ = {},
-      VULKAN_HPP_NAMESPACE::CompareOp      depthCompareOp_        = VULKAN_HPP_NAMESPACE::CompareOp::eNever,
-      VULKAN_HPP_NAMESPACE::Bool32         depthBoundsTestEnable_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32         stencilTestEnable_     = {},
-      VULKAN_HPP_NAMESPACE::StencilOpState front_                 = {},
-      VULKAN_HPP_NAMESPACE::StencilOpState back_                  = {},
-      float                                minDepthBounds_        = {},
-      float                                maxDepthBounds_        = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , depthTestEnable( depthTestEnable_ )
-      , depthWriteEnable( depthWriteEnable_ )
-      , depthCompareOp( depthCompareOp_ )
-      , depthBoundsTestEnable( depthBoundsTestEnable_ )
-      , stencilTestEnable( stencilTestEnable_ )
-      , front( front_ )
-      , back( back_ )
-      , minDepthBounds( minDepthBounds_ )
-      , maxDepthBounds( maxDepthBounds_ )
-    {}
-
-    PipelineDepthStencilStateCreateInfo( VkPipelineDepthStencilStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineDepthStencilStateCreateInfo &
-      operator=( VkPipelineDepthStencilStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      operator=( PipelineDepthStencilStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      flags                 = rhs.flags;
-      depthTestEnable       = rhs.depthTestEnable;
-      depthWriteEnable      = rhs.depthWriteEnable;
-      depthCompareOp        = rhs.depthCompareOp;
-      depthBoundsTestEnable = rhs.depthBoundsTestEnable;
-      stencilTestEnable     = rhs.stencilTestEnable;
-      front                 = rhs.front;
-      back                  = rhs.back;
-      minDepthBounds        = rhs.minDepthBounds;
-      maxDepthBounds        = rhs.maxDepthBounds;
-
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setDepthTestEnable( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthTestEnable = depthTestEnable_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setDepthWriteEnable( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthWriteEnable = depthWriteEnable_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setDepthCompareOp( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthCompareOp = depthCompareOp_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setDepthBoundsTestEnable( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthBoundsTestEnable = depthBoundsTestEnable_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setStencilTestEnable( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilTestEnable = stencilTestEnable_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setFront( VULKAN_HPP_NAMESPACE::StencilOpState const & front_ ) VULKAN_HPP_NOEXCEPT
-    {
-      front = front_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo &
-      setBack( VULKAN_HPP_NAMESPACE::StencilOpState const & back_ ) VULKAN_HPP_NOEXCEPT
-    {
-      back = back_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo & setMinDepthBounds( float minDepthBounds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minDepthBounds = minDepthBounds_;
-      return *this;
-    }
-
-    PipelineDepthStencilStateCreateInfo & setMaxDepthBounds( float maxDepthBounds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxDepthBounds = maxDepthBounds_;
-      return *this;
-    }
-
-    operator VkPipelineDepthStencilStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineDepthStencilStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineDepthStencilStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineDepthStencilStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineDepthStencilStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineDepthStencilStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( depthTestEnable == rhs.depthTestEnable ) && ( depthWriteEnable == rhs.depthWriteEnable ) &&
-             ( depthCompareOp == rhs.depthCompareOp ) && ( depthBoundsTestEnable == rhs.depthBoundsTestEnable ) &&
-             ( stencilTestEnable == rhs.stencilTestEnable ) && ( front == rhs.front ) && ( back == rhs.back ) &&
-             ( minDepthBounds == rhs.minDepthBounds ) && ( maxDepthBounds == rhs.maxDepthBounds );
-    }
-
-    bool operator!=( PipelineDepthStencilStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineDepthStencilStateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags            = {};
-    VULKAN_HPP_NAMESPACE::Bool32                               depthTestEnable  = {};
-    VULKAN_HPP_NAMESPACE::Bool32                               depthWriteEnable = {};
-    VULKAN_HPP_NAMESPACE::CompareOp                            depthCompareOp = VULKAN_HPP_NAMESPACE::CompareOp::eNever;
-    VULKAN_HPP_NAMESPACE::Bool32                               depthBoundsTestEnable = {};
-    VULKAN_HPP_NAMESPACE::Bool32                               stencilTestEnable     = {};
-    VULKAN_HPP_NAMESPACE::StencilOpState                       front                 = {};
-    VULKAN_HPP_NAMESPACE::StencilOpState                       back                  = {};
-    float                                                      minDepthBounds        = {};
-    float                                                      maxDepthBounds        = {};
-  };
-  static_assert( sizeof( PipelineDepthStencilStateCreateInfo ) == sizeof( VkPipelineDepthStencilStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineDepthStencilStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineDepthStencilStateCreateInfo>
-  {
-    using Type = PipelineDepthStencilStateCreateInfo;
-  };
-
-  struct PipelineColorBlendAttachmentState
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineColorBlendAttachmentState(
-      VULKAN_HPP_NAMESPACE::Bool32              blendEnable_         = {},
-      VULKAN_HPP_NAMESPACE::BlendFactor         srcColorBlendFactor_ = VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
-      VULKAN_HPP_NAMESPACE::BlendFactor         dstColorBlendFactor_ = VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
-      VULKAN_HPP_NAMESPACE::BlendOp             colorBlendOp_        = VULKAN_HPP_NAMESPACE::BlendOp::eAdd,
-      VULKAN_HPP_NAMESPACE::BlendFactor         srcAlphaBlendFactor_ = VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
-      VULKAN_HPP_NAMESPACE::BlendFactor         dstAlphaBlendFactor_ = VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
-      VULKAN_HPP_NAMESPACE::BlendOp             alphaBlendOp_        = VULKAN_HPP_NAMESPACE::BlendOp::eAdd,
-      VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask_      = {} ) VULKAN_HPP_NOEXCEPT
-      : blendEnable( blendEnable_ )
-      , srcColorBlendFactor( srcColorBlendFactor_ )
-      , dstColorBlendFactor( dstColorBlendFactor_ )
-      , colorBlendOp( colorBlendOp_ )
-      , srcAlphaBlendFactor( srcAlphaBlendFactor_ )
-      , dstAlphaBlendFactor( dstAlphaBlendFactor_ )
-      , alphaBlendOp( alphaBlendOp_ )
-      , colorWriteMask( colorWriteMask_ )
-    {}
-
-    PipelineColorBlendAttachmentState( VkPipelineColorBlendAttachmentState const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineColorBlendAttachmentState & operator=( VkPipelineColorBlendAttachmentState const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState const *>( &rhs );
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState & setBlendEnable( VULKAN_HPP_NAMESPACE::Bool32 blendEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      blendEnable = blendEnable_;
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState &
-      setSrcColorBlendFactor( VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcColorBlendFactor = srcColorBlendFactor_;
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState &
-      setDstColorBlendFactor( VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstColorBlendFactor = dstColorBlendFactor_;
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState &
-      setColorBlendOp( VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorBlendOp = colorBlendOp_;
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState &
-      setSrcAlphaBlendFactor( VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcAlphaBlendFactor = srcAlphaBlendFactor_;
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState &
-      setDstAlphaBlendFactor( VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstAlphaBlendFactor = dstAlphaBlendFactor_;
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState &
-      setAlphaBlendOp( VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      alphaBlendOp = alphaBlendOp_;
-      return *this;
-    }
-
-    PipelineColorBlendAttachmentState &
-      setColorWriteMask( VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorWriteMask = colorWriteMask_;
-      return *this;
-    }
-
-    operator VkPipelineColorBlendAttachmentState const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineColorBlendAttachmentState *>( this );
-    }
-
-    operator VkPipelineColorBlendAttachmentState &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineColorBlendAttachmentState *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineColorBlendAttachmentState const & ) const = default;
-#else
-    bool operator==( PipelineColorBlendAttachmentState const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( blendEnable == rhs.blendEnable ) && ( srcColorBlendFactor == rhs.srcColorBlendFactor ) &&
-             ( dstColorBlendFactor == rhs.dstColorBlendFactor ) && ( colorBlendOp == rhs.colorBlendOp ) &&
-             ( srcAlphaBlendFactor == rhs.srcAlphaBlendFactor ) && ( dstAlphaBlendFactor == rhs.dstAlphaBlendFactor ) &&
-             ( alphaBlendOp == rhs.alphaBlendOp ) && ( colorWriteMask == rhs.colorWriteMask );
-    }
-
-    bool operator!=( PipelineColorBlendAttachmentState const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Bool32              blendEnable         = {};
-    VULKAN_HPP_NAMESPACE::BlendFactor         srcColorBlendFactor = VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
-    VULKAN_HPP_NAMESPACE::BlendFactor         dstColorBlendFactor = VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
-    VULKAN_HPP_NAMESPACE::BlendOp             colorBlendOp        = VULKAN_HPP_NAMESPACE::BlendOp::eAdd;
-    VULKAN_HPP_NAMESPACE::BlendFactor         srcAlphaBlendFactor = VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
-    VULKAN_HPP_NAMESPACE::BlendFactor         dstAlphaBlendFactor = VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
-    VULKAN_HPP_NAMESPACE::BlendOp             alphaBlendOp        = VULKAN_HPP_NAMESPACE::BlendOp::eAdd;
-    VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask      = {};
-  };
-  static_assert( sizeof( PipelineColorBlendAttachmentState ) == sizeof( VkPipelineColorBlendAttachmentState ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineColorBlendAttachmentState>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct PipelineColorBlendStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineColorBlendStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags        flags_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32                                    logicOpEnable_ = {},
-      VULKAN_HPP_NAMESPACE::LogicOp                                   logicOp_ = VULKAN_HPP_NAMESPACE::LogicOp::eClear,
-      uint32_t                                                        attachmentCount_ = {},
-      const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState * pAttachments_    = {},
-      std::array<float, 4> const &                                    blendConstants_  = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , logicOpEnable( logicOpEnable_ )
-      , logicOp( logicOp_ )
-      , attachmentCount( attachmentCount_ )
-      , pAttachments( pAttachments_ )
-      , blendConstants( blendConstants_ )
-    {}
-
-    PipelineColorBlendStateCreateInfo( VkPipelineColorBlendStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineColorBlendStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::Bool32                             logicOpEnable_,
-      VULKAN_HPP_NAMESPACE::LogicOp                            logicOp_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState> const & attachments_,
-      std::array<float, 4> const &                                             blendConstants_ = {} )
-      : flags( flags_ )
-      , logicOpEnable( logicOpEnable_ )
-      , logicOp( logicOp_ )
-      , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
-      , pAttachments( attachments_.data() )
-      , blendConstants( blendConstants_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineColorBlendStateCreateInfo & operator=( VkPipelineColorBlendStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineColorBlendStateCreateInfo & operator=( PipelineColorBlendStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      logicOpEnable   = rhs.logicOpEnable;
-      logicOp         = rhs.logicOp;
-      attachmentCount = rhs.attachmentCount;
-      pAttachments    = rhs.pAttachments;
-      blendConstants  = rhs.blendConstants;
-
-      return *this;
-    }
-
-    PipelineColorBlendStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineColorBlendStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineColorBlendStateCreateInfo &
-      setLogicOpEnable( VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      logicOpEnable = logicOpEnable_;
-      return *this;
-    }
-
-    PipelineColorBlendStateCreateInfo & setLogicOp( VULKAN_HPP_NAMESPACE::LogicOp logicOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      logicOp = logicOp_;
-      return *this;
-    }
-
-    PipelineColorBlendStateCreateInfo & setAttachmentCount( uint32_t attachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = attachmentCount_;
-      return *this;
-    }
-
-    PipelineColorBlendStateCreateInfo & setPAttachments(
-      const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState * pAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttachments = pAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineColorBlendStateCreateInfo & setAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState> const & attachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = static_cast<uint32_t>( attachments_.size() );
-      pAttachments    = attachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    PipelineColorBlendStateCreateInfo & setBlendConstants( std::array<float, 4> blendConstants_ ) VULKAN_HPP_NOEXCEPT
-    {
-      blendConstants = blendConstants_;
-      return *this;
-    }
-
-    operator VkPipelineColorBlendStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineColorBlendStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineColorBlendStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineColorBlendStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineColorBlendStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineColorBlendStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( logicOpEnable == rhs.logicOpEnable ) && ( logicOp == rhs.logicOp ) &&
-             ( attachmentCount == rhs.attachmentCount ) && ( pAttachments == rhs.pAttachments ) &&
-             ( blendConstants == rhs.blendConstants );
-    }
-
-    bool operator!=( PipelineColorBlendStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                sType = StructureType::ePipelineColorBlendStateCreateInfo;
-    const void *                                             pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags = {};
-    VULKAN_HPP_NAMESPACE::Bool32                             logicOpEnable   = {};
-    VULKAN_HPP_NAMESPACE::LogicOp                            logicOp         = VULKAN_HPP_NAMESPACE::LogicOp::eClear;
-    uint32_t                                                 attachmentCount = {};
-    const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState * pAttachments   = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4>                  blendConstants = {};
-  };
-  static_assert( sizeof( PipelineColorBlendStateCreateInfo ) == sizeof( VkPipelineColorBlendStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineColorBlendStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineColorBlendStateCreateInfo>
-  {
-    using Type = PipelineColorBlendStateCreateInfo;
-  };
-
-  struct PipelineDynamicStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineDynamicStateCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineDynamicStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_             = {},
-      uint32_t                                              dynamicStateCount_ = {},
-      const VULKAN_HPP_NAMESPACE::DynamicState *            pDynamicStates_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , dynamicStateCount( dynamicStateCount_ )
-      , pDynamicStates( pDynamicStates_ )
-    {}
-
-    PipelineDynamicStateCreateInfo( VkPipelineDynamicStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineDynamicStateCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags                                           flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DynamicState> const & dynamicStates_ )
-      : flags( flags_ )
-      , dynamicStateCount( static_cast<uint32_t>( dynamicStates_.size() ) )
-      , pDynamicStates( dynamicStates_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineDynamicStateCreateInfo & operator=( VkPipelineDynamicStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineDynamicStateCreateInfo & operator=( PipelineDynamicStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      flags             = rhs.flags;
-      dynamicStateCount = rhs.dynamicStateCount;
-      pDynamicStates    = rhs.pDynamicStates;
-
-      return *this;
-    }
-
-    PipelineDynamicStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineDynamicStateCreateInfo &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineDynamicStateCreateInfo & setDynamicStateCount( uint32_t dynamicStateCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dynamicStateCount = dynamicStateCount_;
-      return *this;
-    }
-
-    PipelineDynamicStateCreateInfo &
-      setPDynamicStates( const VULKAN_HPP_NAMESPACE::DynamicState * pDynamicStates_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDynamicStates = pDynamicStates_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineDynamicStateCreateInfo & setDynamicStates(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DynamicState> const & dynamicStates_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      dynamicStateCount = static_cast<uint32_t>( dynamicStates_.size() );
-      pDynamicStates    = dynamicStates_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPipelineDynamicStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineDynamicStateCreateInfo *>( this );
-    }
-
-    operator VkPipelineDynamicStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineDynamicStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineDynamicStateCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineDynamicStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( dynamicStateCount == rhs.dynamicStateCount ) && ( pDynamicStates == rhs.pDynamicStates );
-    }
-
-    bool operator!=( PipelineDynamicStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::ePipelineDynamicStateCreateInfo;
-    const void *                                          pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags = {};
-    uint32_t                                              dynamicStateCount = {};
-    const VULKAN_HPP_NAMESPACE::DynamicState *            pDynamicStates    = {};
-  };
-  static_assert( sizeof( PipelineDynamicStateCreateInfo ) == sizeof( VkPipelineDynamicStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineDynamicStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineDynamicStateCreateInfo>
-  {
-    using Type = PipelineDynamicStateCreateInfo;
-  };
-
-  struct GraphicsPipelineCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eGraphicsPipelineCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineCreateFlags                          flags_               = {},
-      uint32_t                                                           stageCount_          = {},
-      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *        pStages_             = {},
-      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *   pVertexInputState_   = {},
-      const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo * pInputAssemblyState_ = {},
-      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *  pTessellationState_  = {},
-      const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo *      pViewportState_      = {},
-      const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo * pRasterizationState_ = {},
-      const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo *   pMultisampleState_   = {},
-      const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo *  pDepthStencilState_  = {},
-      const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo *    pColorBlendState_    = {},
-      const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *       pDynamicState_       = {},
-      VULKAN_HPP_NAMESPACE::PipelineLayout                               layout_              = {},
-      VULKAN_HPP_NAMESPACE::RenderPass                                   renderPass_          = {},
-      uint32_t                                                           subpass_             = {},
-      VULKAN_HPP_NAMESPACE::Pipeline                                     basePipelineHandle_  = {},
-      int32_t                                                            basePipelineIndex_   = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , stageCount( stageCount_ )
-      , pStages( pStages_ )
-      , pVertexInputState( pVertexInputState_ )
-      , pInputAssemblyState( pInputAssemblyState_ )
-      , pTessellationState( pTessellationState_ )
-      , pViewportState( pViewportState_ )
-      , pRasterizationState( pRasterizationState_ )
-      , pMultisampleState( pMultisampleState_ )
-      , pDepthStencilState( pDepthStencilState_ )
-      , pColorBlendState( pColorBlendState_ )
-      , pDynamicState( pDynamicState_ )
-      , layout( layout_ )
-      , renderPass( renderPass_ )
-      , subpass( subpass_ )
-      , basePipelineHandle( basePipelineHandle_ )
-      , basePipelineIndex( basePipelineIndex_ )
-    {}
-
-    GraphicsPipelineCreateInfo( VkGraphicsPipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GraphicsPipelineCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-                                                                         stages_,
-      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *   pVertexInputState_   = {},
-      const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo * pInputAssemblyState_ = {},
-      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *  pTessellationState_  = {},
-      const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo *      pViewportState_      = {},
-      const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo * pRasterizationState_ = {},
-      const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo *   pMultisampleState_   = {},
-      const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo *  pDepthStencilState_  = {},
-      const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo *    pColorBlendState_    = {},
-      const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *       pDynamicState_       = {},
-      VULKAN_HPP_NAMESPACE::PipelineLayout                               layout_              = {},
-      VULKAN_HPP_NAMESPACE::RenderPass                                   renderPass_          = {},
-      uint32_t                                                           subpass_             = {},
-      VULKAN_HPP_NAMESPACE::Pipeline                                     basePipelineHandle_  = {},
-      int32_t                                                            basePipelineIndex_   = {} )
-      : flags( flags_ )
-      , stageCount( static_cast<uint32_t>( stages_.size() ) )
-      , pStages( stages_.data() )
-      , pVertexInputState( pVertexInputState_ )
-      , pInputAssemblyState( pInputAssemblyState_ )
-      , pTessellationState( pTessellationState_ )
-      , pViewportState( pViewportState_ )
-      , pRasterizationState( pRasterizationState_ )
-      , pMultisampleState( pMultisampleState_ )
-      , pDepthStencilState( pDepthStencilState_ )
-      , pColorBlendState( pColorBlendState_ )
-      , pDynamicState( pDynamicState_ )
-      , layout( layout_ )
-      , renderPass( renderPass_ )
-      , subpass( subpass_ )
-      , basePipelineHandle( basePipelineHandle_ )
-      , basePipelineIndex( basePipelineIndex_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    GraphicsPipelineCreateInfo & operator=( VkGraphicsPipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & operator=( GraphicsPipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      flags               = rhs.flags;
-      stageCount          = rhs.stageCount;
-      pStages             = rhs.pStages;
-      pVertexInputState   = rhs.pVertexInputState;
-      pInputAssemblyState = rhs.pInputAssemblyState;
-      pTessellationState  = rhs.pTessellationState;
-      pViewportState      = rhs.pViewportState;
-      pRasterizationState = rhs.pRasterizationState;
-      pMultisampleState   = rhs.pMultisampleState;
-      pDepthStencilState  = rhs.pDepthStencilState;
-      pColorBlendState    = rhs.pColorBlendState;
-      pDynamicState       = rhs.pDynamicState;
-      layout              = rhs.layout;
-      renderPass          = rhs.renderPass;
-      subpass             = rhs.subpass;
-      basePipelineHandle  = rhs.basePipelineHandle;
-      basePipelineIndex   = rhs.basePipelineIndex;
-
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setStageCount( uint32_t stageCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = stageCount_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo &
-      setPStages( const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo * pStages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pStages = pStages_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GraphicsPipelineCreateInfo & setStages(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-        stages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = static_cast<uint32_t>( stages_.size() );
-      pStages    = stages_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    GraphicsPipelineCreateInfo & setPVertexInputState(
-      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo * pVertexInputState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pVertexInputState = pVertexInputState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPInputAssemblyState(
-      const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo * pInputAssemblyState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pInputAssemblyState = pInputAssemblyState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPTessellationState(
-      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pTessellationState = pTessellationState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPViewportState(
-      const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo * pViewportState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewportState = pViewportState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPRasterizationState(
-      const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo * pRasterizationState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pRasterizationState = pRasterizationState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPMultisampleState(
-      const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo * pMultisampleState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pMultisampleState = pMultisampleState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPDepthStencilState(
-      const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo * pDepthStencilState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDepthStencilState = pDepthStencilState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPColorBlendState(
-      const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo * pColorBlendState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pColorBlendState = pColorBlendState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setPDynamicState(
-      const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo * pDynamicState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDynamicState = pDynamicState_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setLayout( VULKAN_HPP_NAMESPACE::PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layout = layout_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      renderPass = renderPass_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setSubpass( uint32_t subpass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpass = subpass_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo &
-      setBasePipelineHandle( VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineHandle = basePipelineHandle_;
-      return *this;
-    }
-
-    GraphicsPipelineCreateInfo & setBasePipelineIndex( int32_t basePipelineIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineIndex = basePipelineIndex_;
-      return *this;
-    }
-
-    operator VkGraphicsPipelineCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( this );
-    }
-
-    operator VkGraphicsPipelineCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGraphicsPipelineCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GraphicsPipelineCreateInfo const & ) const = default;
-#else
-    bool operator==( GraphicsPipelineCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) &&
-             ( pVertexInputState == rhs.pVertexInputState ) && ( pInputAssemblyState == rhs.pInputAssemblyState ) &&
-             ( pTessellationState == rhs.pTessellationState ) && ( pViewportState == rhs.pViewportState ) &&
-             ( pRasterizationState == rhs.pRasterizationState ) && ( pMultisampleState == rhs.pMultisampleState ) &&
-             ( pDepthStencilState == rhs.pDepthStencilState ) && ( pColorBlendState == rhs.pColorBlendState ) &&
-             ( pDynamicState == rhs.pDynamicState ) && ( layout == rhs.layout ) && ( renderPass == rhs.renderPass ) &&
-             ( subpass == rhs.subpass ) && ( basePipelineHandle == rhs.basePipelineHandle ) &&
-             ( basePipelineIndex == rhs.basePipelineIndex );
-    }
-
-    bool operator!=( GraphicsPipelineCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                        sType = StructureType::eGraphicsPipelineCreateInfo;
-    const void *                                                     pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCreateFlags                        flags = {};
-    uint32_t                                                         stageCount            = {};
-    const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *      pStages               = {};
-    const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo * pVertexInputState     = {};
-    const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo * pInputAssemblyState = {};
-    const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *  pTessellationState  = {};
-    const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo *      pViewportState      = {};
-    const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo * pRasterizationState = {};
-    const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo *   pMultisampleState   = {};
-    const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo *  pDepthStencilState  = {};
-    const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo *    pColorBlendState    = {};
-    const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *       pDynamicState       = {};
-    VULKAN_HPP_NAMESPACE::PipelineLayout                               layout              = {};
-    VULKAN_HPP_NAMESPACE::RenderPass                                   renderPass          = {};
-    uint32_t                                                           subpass             = {};
-    VULKAN_HPP_NAMESPACE::Pipeline                                     basePipelineHandle  = {};
-    int32_t                                                            basePipelineIndex   = {};
-  };
-  static_assert( sizeof( GraphicsPipelineCreateInfo ) == sizeof( VkGraphicsPipelineCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GraphicsPipelineCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eGraphicsPipelineCreateInfo>
-  {
-    using Type = GraphicsPipelineCreateInfo;
-  };
-
-  struct GraphicsShaderGroupCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eGraphicsShaderGroupCreateInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR GraphicsShaderGroupCreateInfoNV(
-      uint32_t                                                          stageCount_         = {},
-      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *       pStages_            = {},
-      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *  pVertexInputState_  = {},
-      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ = {} ) VULKAN_HPP_NOEXCEPT
-      : stageCount( stageCount_ )
-      , pStages( pStages_ )
-      , pVertexInputState( pVertexInputState_ )
-      , pTessellationState( pTessellationState_ )
-    {}
-
-    GraphicsShaderGroupCreateInfoNV( VkGraphicsShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GraphicsShaderGroupCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-                                                                        stages_,
-      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *  pVertexInputState_  = {},
-      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ = {} )
-      : stageCount( static_cast<uint32_t>( stages_.size() ) )
-      , pStages( stages_.data() )
-      , pVertexInputState( pVertexInputState_ )
-      , pTessellationState( pTessellationState_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    GraphicsShaderGroupCreateInfoNV & operator=( VkGraphicsShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    GraphicsShaderGroupCreateInfoNV & operator=( GraphicsShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      stageCount         = rhs.stageCount;
-      pStages            = rhs.pStages;
-      pVertexInputState  = rhs.pVertexInputState;
-      pTessellationState = rhs.pTessellationState;
-
-      return *this;
-    }
-
-    GraphicsShaderGroupCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    GraphicsShaderGroupCreateInfoNV & setStageCount( uint32_t stageCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = stageCount_;
-      return *this;
-    }
-
-    GraphicsShaderGroupCreateInfoNV &
-      setPStages( const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo * pStages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pStages = pStages_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GraphicsShaderGroupCreateInfoNV & setStages(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-        stages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = static_cast<uint32_t>( stages_.size() );
-      pStages    = stages_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    GraphicsShaderGroupCreateInfoNV & setPVertexInputState(
-      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo * pVertexInputState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pVertexInputState = pVertexInputState_;
-      return *this;
-    }
-
-    GraphicsShaderGroupCreateInfoNV & setPTessellationState(
-      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pTessellationState = pTessellationState_;
-      return *this;
-    }
-
-    operator VkGraphicsShaderGroupCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGraphicsShaderGroupCreateInfoNV *>( this );
-    }
-
-    operator VkGraphicsShaderGroupCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGraphicsShaderGroupCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GraphicsShaderGroupCreateInfoNV const & ) const = default;
-#else
-    bool operator==( GraphicsShaderGroupCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stageCount == rhs.stageCount ) &&
-             ( pStages == rhs.pStages ) && ( pVertexInputState == rhs.pVertexInputState ) &&
-             ( pTessellationState == rhs.pTessellationState );
-    }
-
-    bool operator!=( GraphicsShaderGroupCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                   sType = StructureType::eGraphicsShaderGroupCreateInfoNV;
-    const void *                                                pNext = {};
-    uint32_t                                                    stageCount               = {};
-    const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo * pStages                  = {};
-    const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *  pVertexInputState  = {};
-    const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState = {};
-  };
-  static_assert( sizeof( GraphicsShaderGroupCreateInfoNV ) == sizeof( VkGraphicsShaderGroupCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GraphicsShaderGroupCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eGraphicsShaderGroupCreateInfoNV>
-  {
-    using Type = GraphicsShaderGroupCreateInfoNV;
-  };
-
-  struct GraphicsPipelineShaderGroupsCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR GraphicsPipelineShaderGroupsCreateInfoNV(
-      uint32_t                                                      groupCount_    = {},
-      const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV * pGroups_       = {},
-      uint32_t                                                      pipelineCount_ = {},
-      const VULKAN_HPP_NAMESPACE::Pipeline *                        pPipelines_    = {} ) VULKAN_HPP_NOEXCEPT
-      : groupCount( groupCount_ )
-      , pGroups( pGroups_ )
-      , pipelineCount( pipelineCount_ )
-      , pPipelines( pPipelines_ )
-    {}
-
-    GraphicsPipelineShaderGroupsCreateInfoNV( VkGraphicsPipelineShaderGroupsCreateInfoNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GraphicsPipelineShaderGroupsCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV> const &
-                                                                                                  groups_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Pipeline> const & pipelines_ = {} )
-      : groupCount( static_cast<uint32_t>( groups_.size() ) )
-      , pGroups( groups_.data() )
-      , pipelineCount( static_cast<uint32_t>( pipelines_.size() ) )
-      , pPipelines( pipelines_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    GraphicsPipelineShaderGroupsCreateInfoNV &
-      operator=( VkGraphicsPipelineShaderGroupsCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    GraphicsPipelineShaderGroupsCreateInfoNV &
-      operator=( GraphicsPipelineShaderGroupsCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      groupCount    = rhs.groupCount;
-      pGroups       = rhs.pGroups;
-      pipelineCount = rhs.pipelineCount;
-      pPipelines    = rhs.pPipelines;
-
-      return *this;
-    }
-
-    GraphicsPipelineShaderGroupsCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    GraphicsPipelineShaderGroupsCreateInfoNV & setGroupCount( uint32_t groupCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      groupCount = groupCount_;
-      return *this;
-    }
-
-    GraphicsPipelineShaderGroupsCreateInfoNV &
-      setPGroups( const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV * pGroups_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pGroups = pGroups_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GraphicsPipelineShaderGroupsCreateInfoNV & setGroups(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV> const &
-        groups_ ) VULKAN_HPP_NOEXCEPT
-    {
-      groupCount = static_cast<uint32_t>( groups_.size() );
-      pGroups    = groups_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    GraphicsPipelineShaderGroupsCreateInfoNV & setPipelineCount( uint32_t pipelineCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineCount = pipelineCount_;
-      return *this;
-    }
-
-    GraphicsPipelineShaderGroupsCreateInfoNV &
-      setPPipelines( const VULKAN_HPP_NAMESPACE::Pipeline * pPipelines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPipelines = pPipelines_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    GraphicsPipelineShaderGroupsCreateInfoNV & setPipelines(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Pipeline> const & pipelines_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      pipelineCount = static_cast<uint32_t>( pipelines_.size() );
-      pPipelines    = pipelines_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkGraphicsPipelineShaderGroupsCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkGraphicsPipelineShaderGroupsCreateInfoNV *>( this );
-    }
-
-    operator VkGraphicsPipelineShaderGroupsCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkGraphicsPipelineShaderGroupsCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( GraphicsPipelineShaderGroupsCreateInfoNV const & ) const = default;
-#else
-    bool operator==( GraphicsPipelineShaderGroupsCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( groupCount == rhs.groupCount ) &&
-             ( pGroups == rhs.pGroups ) && ( pipelineCount == rhs.pipelineCount ) && ( pPipelines == rhs.pPipelines );
-    }
-
-    bool operator!=( GraphicsPipelineShaderGroupsCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV;
-    const void *                              pNext      = {};
-    uint32_t                                  groupCount = {};
-    const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV * pGroups       = {};
-    uint32_t                                                      pipelineCount = {};
-    const VULKAN_HPP_NAMESPACE::Pipeline *                        pPipelines    = {};
-  };
-  static_assert( sizeof( GraphicsPipelineShaderGroupsCreateInfoNV ) ==
-                   sizeof( VkGraphicsPipelineShaderGroupsCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<GraphicsPipelineShaderGroupsCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV>
-  {
-    using Type = GraphicsPipelineShaderGroupsCreateInfoNV;
-  };
-
-  struct XYColorEXT
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR XYColorEXT( float x_ = {}, float y_ = {} ) VULKAN_HPP_NOEXCEPT
-      : x( x_ )
-      , y( y_ )
-    {}
-
-    XYColorEXT( VkXYColorEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    XYColorEXT & operator=( VkXYColorEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::XYColorEXT const *>( &rhs );
-      return *this;
-    }
-
-    XYColorEXT & setX( float x_ ) VULKAN_HPP_NOEXCEPT
-    {
-      x = x_;
-      return *this;
-    }
-
-    XYColorEXT & setY( float y_ ) VULKAN_HPP_NOEXCEPT
-    {
-      y = y_;
-      return *this;
-    }
-
-    operator VkXYColorEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkXYColorEXT *>( this );
-    }
-
-    operator VkXYColorEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkXYColorEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( XYColorEXT const & ) const = default;
-#else
-    bool operator==( XYColorEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( x == rhs.x ) && ( y == rhs.y );
-    }
-
-    bool operator!=( XYColorEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    float x = {};
-    float y = {};
-  };
-  static_assert( sizeof( XYColorEXT ) == sizeof( VkXYColorEXT ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<XYColorEXT>::value, "struct wrapper is not a standard layout!" );
-
-  struct HdrMetadataEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eHdrMetadataEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR HdrMetadataEXT( VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryRed_    = {},
-                                         VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryGreen_  = {},
-                                         VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryBlue_   = {},
-                                         VULKAN_HPP_NAMESPACE::XYColorEXT whitePoint_           = {},
-                                         float                            maxLuminance_         = {},
-                                         float                            minLuminance_         = {},
-                                         float                            maxContentLightLevel_ = {},
-                                         float maxFrameAverageLightLevel_ = {} ) VULKAN_HPP_NOEXCEPT
-      : displayPrimaryRed( displayPrimaryRed_ )
-      , displayPrimaryGreen( displayPrimaryGreen_ )
-      , displayPrimaryBlue( displayPrimaryBlue_ )
-      , whitePoint( whitePoint_ )
-      , maxLuminance( maxLuminance_ )
-      , minLuminance( minLuminance_ )
-      , maxContentLightLevel( maxContentLightLevel_ )
-      , maxFrameAverageLightLevel( maxFrameAverageLightLevel_ )
-    {}
-
-    HdrMetadataEXT( VkHdrMetadataEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    HdrMetadataEXT & operator=( VkHdrMetadataEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::HdrMetadataEXT const *>( &rhs );
-      return *this;
-    }
-
-    HdrMetadataEXT & operator=( HdrMetadataEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      displayPrimaryRed         = rhs.displayPrimaryRed;
-      displayPrimaryGreen       = rhs.displayPrimaryGreen;
-      displayPrimaryBlue        = rhs.displayPrimaryBlue;
-      whitePoint                = rhs.whitePoint;
-      maxLuminance              = rhs.maxLuminance;
-      minLuminance              = rhs.minLuminance;
-      maxContentLightLevel      = rhs.maxContentLightLevel;
-      maxFrameAverageLightLevel = rhs.maxFrameAverageLightLevel;
-
-      return *this;
-    }
-
-    HdrMetadataEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    HdrMetadataEXT &
-      setDisplayPrimaryRed( VULKAN_HPP_NAMESPACE::XYColorEXT const & displayPrimaryRed_ ) VULKAN_HPP_NOEXCEPT
-    {
-      displayPrimaryRed = displayPrimaryRed_;
-      return *this;
-    }
-
-    HdrMetadataEXT &
-      setDisplayPrimaryGreen( VULKAN_HPP_NAMESPACE::XYColorEXT const & displayPrimaryGreen_ ) VULKAN_HPP_NOEXCEPT
-    {
-      displayPrimaryGreen = displayPrimaryGreen_;
-      return *this;
-    }
-
-    HdrMetadataEXT &
-      setDisplayPrimaryBlue( VULKAN_HPP_NAMESPACE::XYColorEXT const & displayPrimaryBlue_ ) VULKAN_HPP_NOEXCEPT
-    {
-      displayPrimaryBlue = displayPrimaryBlue_;
-      return *this;
-    }
-
-    HdrMetadataEXT & setWhitePoint( VULKAN_HPP_NAMESPACE::XYColorEXT const & whitePoint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      whitePoint = whitePoint_;
-      return *this;
-    }
-
-    HdrMetadataEXT & setMaxLuminance( float maxLuminance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxLuminance = maxLuminance_;
-      return *this;
-    }
-
-    HdrMetadataEXT & setMinLuminance( float minLuminance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minLuminance = minLuminance_;
-      return *this;
-    }
-
-    HdrMetadataEXT & setMaxContentLightLevel( float maxContentLightLevel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxContentLightLevel = maxContentLightLevel_;
-      return *this;
-    }
-
-    HdrMetadataEXT & setMaxFrameAverageLightLevel( float maxFrameAverageLightLevel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxFrameAverageLightLevel = maxFrameAverageLightLevel_;
-      return *this;
-    }
-
-    operator VkHdrMetadataEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkHdrMetadataEXT *>( this );
-    }
-
-    operator VkHdrMetadataEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkHdrMetadataEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( HdrMetadataEXT const & ) const = default;
-#else
-    bool operator==( HdrMetadataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayPrimaryRed == rhs.displayPrimaryRed ) &&
-             ( displayPrimaryGreen == rhs.displayPrimaryGreen ) && ( displayPrimaryBlue == rhs.displayPrimaryBlue ) &&
-             ( whitePoint == rhs.whitePoint ) && ( maxLuminance == rhs.maxLuminance ) &&
-             ( minLuminance == rhs.minLuminance ) && ( maxContentLightLevel == rhs.maxContentLightLevel ) &&
-             ( maxFrameAverageLightLevel == rhs.maxFrameAverageLightLevel );
-    }
-
-    bool operator!=( HdrMetadataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                     = StructureType::eHdrMetadataEXT;
-    const void *                              pNext                     = {};
-    VULKAN_HPP_NAMESPACE::XYColorEXT          displayPrimaryRed         = {};
-    VULKAN_HPP_NAMESPACE::XYColorEXT          displayPrimaryGreen       = {};
-    VULKAN_HPP_NAMESPACE::XYColorEXT          displayPrimaryBlue        = {};
-    VULKAN_HPP_NAMESPACE::XYColorEXT          whitePoint                = {};
-    float                                     maxLuminance              = {};
-    float                                     minLuminance              = {};
-    float                                     maxContentLightLevel      = {};
-    float                                     maxFrameAverageLightLevel = {};
-  };
-  static_assert( sizeof( HdrMetadataEXT ) == sizeof( VkHdrMetadataEXT ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<HdrMetadataEXT>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eHdrMetadataEXT>
-  {
-    using Type = HdrMetadataEXT;
-  };
-
-  struct HeadlessSurfaceCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eHeadlessSurfaceCreateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR HeadlessSurfaceCreateInfoEXT( VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags_ = {} )
-      VULKAN_HPP_NOEXCEPT : flags( flags_ )
-    {}
-
-    HeadlessSurfaceCreateInfoEXT( VkHeadlessSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    HeadlessSurfaceCreateInfoEXT & operator=( VkHeadlessSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    HeadlessSurfaceCreateInfoEXT & operator=( HeadlessSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
-
-      return *this;
-    }
-
-    HeadlessSurfaceCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    HeadlessSurfaceCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    operator VkHeadlessSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( this );
-    }
-
-    operator VkHeadlessSurfaceCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkHeadlessSurfaceCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( HeadlessSurfaceCreateInfoEXT const & ) const = default;
-#else
-    bool operator==( HeadlessSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( HeadlessSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType = StructureType::eHeadlessSurfaceCreateInfoEXT;
-    const void *                                        pNext = {};
-    VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags = {};
-  };
-  static_assert( sizeof( HeadlessSurfaceCreateInfoEXT ) == sizeof( VkHeadlessSurfaceCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<HeadlessSurfaceCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eHeadlessSurfaceCreateInfoEXT>
-  {
-    using Type = HeadlessSurfaceCreateInfoEXT;
-  };
-
-#ifdef VK_USE_PLATFORM_IOS_MVK
-  struct IOSSurfaceCreateInfoMVK
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eIosSurfaceCreateInfoMVK;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR IOSSurfaceCreateInfoMVK( VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags_ = {},
-                                                  const void * pView_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pView( pView_ )
-    {}
-
-    IOSSurfaceCreateInfoMVK( VkIOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    IOSSurfaceCreateInfoMVK & operator=( VkIOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const *>( &rhs );
-      return *this;
-    }
-
-    IOSSurfaceCreateInfoMVK & operator=( IOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
-      pView = rhs.pView;
-
-      return *this;
-    }
-
-    IOSSurfaceCreateInfoMVK & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    IOSSurfaceCreateInfoMVK & setFlags( VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    IOSSurfaceCreateInfoMVK & setPView( const void * pView_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pView = pView_;
-      return *this;
-    }
-
-    operator VkIOSSurfaceCreateInfoMVK const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( this );
-    }
-
-    operator VkIOSSurfaceCreateInfoMVK &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkIOSSurfaceCreateInfoMVK *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( IOSSurfaceCreateInfoMVK const & ) const = default;
-#  else
-    bool operator==( IOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pView == rhs.pView );
-    }
-
-    bool operator!=( IOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eIosSurfaceCreateInfoMVK;
-    const void *                                   pNext = {};
-    VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags = {};
-    const void *                                   pView = {};
-  };
-  static_assert( sizeof( IOSSurfaceCreateInfoMVK ) == sizeof( VkIOSSurfaceCreateInfoMVK ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<IOSSurfaceCreateInfoMVK>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eIosSurfaceCreateInfoMVK>
-  {
-    using Type = IOSSurfaceCreateInfoMVK;
-  };
-#endif /*VK_USE_PLATFORM_IOS_MVK*/
-
-  struct ImageBlit
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    ImageBlit( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers          srcSubresource_ = {},
-               std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & srcOffsets_     = {},
-               VULKAN_HPP_NAMESPACE::ImageSubresourceLayers          dstSubresource_ = {},
-               std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & dstOffsets_     = {} ) VULKAN_HPP_NOEXCEPT
-      : srcSubresource( srcSubresource_ )
-      , srcOffsets( srcOffsets_ )
-      , dstSubresource( dstSubresource_ )
-      , dstOffsets( dstOffsets_ )
-    {}
-
-    ImageBlit( VkImageBlit const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageBlit & operator=( VkImageBlit const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageBlit const *>( &rhs );
-      return *this;
-    }
-
-    ImageBlit &
-      setSrcSubresource( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & srcSubresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcSubresource = srcSubresource_;
-      return *this;
-    }
-
-    ImageBlit & setSrcOffsets( std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & srcOffsets_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcOffsets = srcOffsets_;
-      return *this;
-    }
-
-    ImageBlit &
-      setDstSubresource( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & dstSubresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstSubresource = dstSubresource_;
-      return *this;
-    }
-
-    ImageBlit & setDstOffsets( std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & dstOffsets_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstOffsets = dstOffsets_;
-      return *this;
-    }
-
-    operator VkImageBlit const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageBlit *>( this );
-    }
-
-    operator VkImageBlit &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageBlit *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageBlit const & ) const = default;
-#else
-    bool operator==( ImageBlit const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( srcSubresource == rhs.srcSubresource ) && ( srcOffsets == rhs.srcOffsets ) &&
-             ( dstSubresource == rhs.dstSubresource ) && ( dstOffsets == rhs.dstOffsets );
-    }
-
-    bool operator!=( ImageBlit const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers                            srcSubresource = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::Offset3D, 2> srcOffsets     = {};
-    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers                            dstSubresource = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::Offset3D, 2> dstOffsets     = {};
-  };
-  static_assert( sizeof( ImageBlit ) == sizeof( VkImageBlit ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageBlit>::value, "struct wrapper is not a standard layout!" );
-
-  struct ImageCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageCreateInfo(
-      VULKAN_HPP_NAMESPACE::ImageCreateFlags    flags_                 = {},
-      VULKAN_HPP_NAMESPACE::ImageType           imageType_             = VULKAN_HPP_NAMESPACE::ImageType::e1D,
-      VULKAN_HPP_NAMESPACE::Format              format_                = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::Extent3D            extent_                = {},
-      uint32_t                                  mipLevels_             = {},
-      uint32_t                                  arrayLayers_           = {},
-      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_               = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
-      VULKAN_HPP_NAMESPACE::ImageTiling         tiling_                = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal,
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage_                 = {},
-      VULKAN_HPP_NAMESPACE::SharingMode         sharingMode_           = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
-      uint32_t                                  queueFamilyIndexCount_ = {},
-      const uint32_t *                          pQueueFamilyIndices_   = {},
-      VULKAN_HPP_NAMESPACE::ImageLayout         initialLayout_         = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined )
-      VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , imageType( imageType_ )
-      , format( format_ )
-      , extent( extent_ )
-      , mipLevels( mipLevels_ )
-      , arrayLayers( arrayLayers_ )
-      , samples( samples_ )
-      , tiling( tiling_ )
-      , usage( usage_ )
-      , sharingMode( sharingMode_ )
-      , queueFamilyIndexCount( queueFamilyIndexCount_ )
-      , pQueueFamilyIndices( pQueueFamilyIndices_ )
-      , initialLayout( initialLayout_ )
-    {}
-
-    ImageCreateInfo( VkImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageCreateInfo( VULKAN_HPP_NAMESPACE::ImageCreateFlags                                flags_,
-                     VULKAN_HPP_NAMESPACE::ImageType                                       imageType_,
-                     VULKAN_HPP_NAMESPACE::Format                                          format_,
-                     VULKAN_HPP_NAMESPACE::Extent3D                                        extent_,
-                     uint32_t                                                              mipLevels_,
-                     uint32_t                                                              arrayLayers_,
-                     VULKAN_HPP_NAMESPACE::SampleCountFlagBits                             samples_,
-                     VULKAN_HPP_NAMESPACE::ImageTiling                                     tiling_,
-                     VULKAN_HPP_NAMESPACE::ImageUsageFlags                                 usage_,
-                     VULKAN_HPP_NAMESPACE::SharingMode                                     sharingMode_,
-                     VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_,
-                     VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined )
-      : flags( flags_ )
-      , imageType( imageType_ )
-      , format( format_ )
-      , extent( extent_ )
-      , mipLevels( mipLevels_ )
-      , arrayLayers( arrayLayers_ )
-      , samples( samples_ )
-      , tiling( tiling_ )
-      , usage( usage_ )
-      , sharingMode( sharingMode_ )
-      , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
-      , pQueueFamilyIndices( queueFamilyIndices_.data() )
-      , initialLayout( initialLayout_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageCreateInfo & operator=( VkImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ImageCreateInfo & operator=( ImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      flags                 = rhs.flags;
-      imageType             = rhs.imageType;
-      format                = rhs.format;
-      extent                = rhs.extent;
-      mipLevels             = rhs.mipLevels;
-      arrayLayers           = rhs.arrayLayers;
-      samples               = rhs.samples;
-      tiling                = rhs.tiling;
-      usage                 = rhs.usage;
-      sharingMode           = rhs.sharingMode;
-      queueFamilyIndexCount = rhs.queueFamilyIndexCount;
-      pQueueFamilyIndices   = rhs.pQueueFamilyIndices;
-      initialLayout         = rhs.initialLayout;
-
-      return *this;
-    }
-
-    ImageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImageCreateInfo & setImageType( VULKAN_HPP_NAMESPACE::ImageType imageType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageType = imageType_;
-      return *this;
-    }
-
-    ImageCreateInfo & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
-
-    ImageCreateInfo & setExtent( VULKAN_HPP_NAMESPACE::Extent3D const & extent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extent = extent_;
-      return *this;
-    }
-
-    ImageCreateInfo & setMipLevels( uint32_t mipLevels_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mipLevels = mipLevels_;
-      return *this;
-    }
-
-    ImageCreateInfo & setArrayLayers( uint32_t arrayLayers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      arrayLayers = arrayLayers_;
-      return *this;
-    }
-
-    ImageCreateInfo & setSamples( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samples = samples_;
-      return *this;
-    }
-
-    ImageCreateInfo & setTiling( VULKAN_HPP_NAMESPACE::ImageTiling tiling_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tiling = tiling_;
-      return *this;
-    }
-
-    ImageCreateInfo & setUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      usage = usage_;
-      return *this;
-    }
-
-    ImageCreateInfo & setSharingMode( VULKAN_HPP_NAMESPACE::SharingMode sharingMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sharingMode = sharingMode_;
-      return *this;
-    }
-
-    ImageCreateInfo & setQueueFamilyIndexCount( uint32_t queueFamilyIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = queueFamilyIndexCount_;
-      return *this;
-    }
-
-    ImageCreateInfo & setPQueueFamilyIndices( const uint32_t * pQueueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pQueueFamilyIndices = pQueueFamilyIndices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageCreateInfo & setQueueFamilyIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
-      pQueueFamilyIndices   = queueFamilyIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    ImageCreateInfo & setInitialLayout( VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialLayout = initialLayout_;
-      return *this;
-    }
-
-    operator VkImageCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageCreateInfo *>( this );
-    }
-
-    operator VkImageCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageCreateInfo const & ) const = default;
-#else
-    bool operator==( ImageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( imageType == rhs.imageType ) && ( format == rhs.format ) && ( extent == rhs.extent ) &&
-             ( mipLevels == rhs.mipLevels ) && ( arrayLayers == rhs.arrayLayers ) && ( samples == rhs.samples ) &&
-             ( tiling == rhs.tiling ) && ( usage == rhs.usage ) && ( sharingMode == rhs.sharingMode ) &&
-             ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) &&
-             ( pQueueFamilyIndices == rhs.pQueueFamilyIndices ) && ( initialLayout == rhs.initialLayout );
-    }
-
-    bool operator!=( ImageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                 = StructureType::eImageCreateInfo;
-    const void *                              pNext                 = {};
-    VULKAN_HPP_NAMESPACE::ImageCreateFlags    flags                 = {};
-    VULKAN_HPP_NAMESPACE::ImageType           imageType             = VULKAN_HPP_NAMESPACE::ImageType::e1D;
-    VULKAN_HPP_NAMESPACE::Format              format                = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::Extent3D            extent                = {};
-    uint32_t                                  mipLevels             = {};
-    uint32_t                                  arrayLayers           = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples               = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
-    VULKAN_HPP_NAMESPACE::ImageTiling         tiling                = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal;
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage                 = {};
-    VULKAN_HPP_NAMESPACE::SharingMode         sharingMode           = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
-    uint32_t                                  queueFamilyIndexCount = {};
-    const uint32_t *                          pQueueFamilyIndices   = {};
-    VULKAN_HPP_NAMESPACE::ImageLayout         initialLayout         = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-  };
-  static_assert( sizeof( ImageCreateInfo ) == sizeof( VkImageCreateInfo ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageCreateInfo>
-  {
-    using Type = ImageCreateInfo;
-  };
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImageFormatConstraintsInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImageFormatConstraintsInfoFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageFormatConstraintsInfoFUCHSIA(
-      VULKAN_HPP_NAMESPACE::FormatFeatureFlags                 requiredFormatFeatures_ = {},
-      VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags_                  = {},
-      uint64_t                                                 sysmemFormat_           = {},
-      uint32_t                                                 colorSpaceCount_        = {},
-      const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA *    pColorSpaces_           = {} ) VULKAN_HPP_NOEXCEPT
-      : requiredFormatFeatures( requiredFormatFeatures_ )
-      , flags( flags_ )
-      , sysmemFormat( sysmemFormat_ )
-      , colorSpaceCount( colorSpaceCount_ )
-      , pColorSpaces( pColorSpaces_ )
-    {}
-
-    ImageFormatConstraintsInfoFUCHSIA( VkImageFormatConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageFormatConstraintsInfoFUCHSIA & operator=( VkImageFormatConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    ImageFormatConstraintsInfoFUCHSIA & operator=( ImageFormatConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      requiredFormatFeatures = rhs.requiredFormatFeatures;
-      flags                  = rhs.flags;
-      sysmemFormat           = rhs.sysmemFormat;
-      colorSpaceCount        = rhs.colorSpaceCount;
-      pColorSpaces           = rhs.pColorSpaces;
-
-      return *this;
-    }
-
-    ImageFormatConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageFormatConstraintsInfoFUCHSIA &
-      setRequiredFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      requiredFormatFeatures = requiredFormatFeatures_;
-      return *this;
-    }
-
-    ImageFormatConstraintsInfoFUCHSIA &
-      setFlags( VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImageFormatConstraintsInfoFUCHSIA & setSysmemFormat( uint64_t sysmemFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sysmemFormat = sysmemFormat_;
-      return *this;
-    }
-
-    ImageFormatConstraintsInfoFUCHSIA & setColorSpaceCount( uint32_t colorSpaceCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorSpaceCount = colorSpaceCount_;
-      return *this;
-    }
-
-    ImageFormatConstraintsInfoFUCHSIA &
-      setPColorSpaces( const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA * pColorSpaces_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pColorSpaces = pColorSpaces_;
-      return *this;
-    }
-
-    operator VkImageFormatConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageFormatConstraintsInfoFUCHSIA *>( this );
-    }
-
-    operator VkImageFormatConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageFormatConstraintsInfoFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageFormatConstraintsInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( ImageFormatConstraintsInfoFUCHSIA 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!=( ImageFormatConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                sType = StructureType::eImageFormatConstraintsInfoFUCHSIA;
-    const void *                                             pNext = {};
-    VULKAN_HPP_NAMESPACE::FormatFeatureFlags                 requiredFormatFeatures = {};
-    VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags                  = {};
-    uint64_t                                                 sysmemFormat           = {};
-    uint32_t                                                 colorSpaceCount        = {};
-    const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA *    pColorSpaces           = {};
-  };
-  static_assert( sizeof( ImageFormatConstraintsInfoFUCHSIA ) == sizeof( VkImageFormatConstraintsInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageFormatConstraintsInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageFormatConstraintsInfoFUCHSIA>
-  {
-    using Type = ImageFormatConstraintsInfoFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImageConstraintsInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageConstraintsInfoFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFUCHSIA(
-      uint32_t                                                        createInfoCount_                 = {},
-      const VULKAN_HPP_NAMESPACE::ImageCreateInfo *                   pCreateInfos_                    = {},
-      const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA * pFormatConstraints_              = {},
-      uint32_t                                                        minBufferCount_                  = {},
-      uint32_t                                                        maxBufferCount_                  = {},
-      uint32_t                                                        minBufferCountForCamping_        = {},
-      uint32_t                                                        minBufferCountForDedicatedSlack_ = {},
-      uint32_t                                                        minBufferCountForSharedSlack_    = {},
-      VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA          flags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : createInfoCount( createInfoCount_ )
-      , pCreateInfos( pCreateInfos_ )
-      , pFormatConstraints( pFormatConstraints_ )
-      , minBufferCount( minBufferCount_ )
-      , maxBufferCount( maxBufferCount_ )
-      , minBufferCountForCamping( minBufferCountForCamping_ )
-      , minBufferCountForDedicatedSlack( minBufferCountForDedicatedSlack_ )
-      , minBufferCountForSharedSlack( minBufferCountForSharedSlack_ )
-      , flags( flags_ )
-    {}
-
-    ImageConstraintsInfoFUCHSIA( VkImageConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageConstraintsInfoFUCHSIA(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ImageCreateInfo> const & createInfos_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA> const & formatConstraints_               = {},
-      uint32_t                                                                 minBufferCount_                  = {},
-      uint32_t                                                                 maxBufferCount_                  = {},
-      uint32_t                                                                 minBufferCountForCamping_        = {},
-      uint32_t                                                                 minBufferCountForDedicatedSlack_ = {},
-      uint32_t                                                                 minBufferCountForSharedSlack_    = {},
-      VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA                   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
-          "::ImageConstraintsInfoFUCHSIA::ImageConstraintsInfoFUCHSIA: !formatConstraints_.empty() && ( createInfos_.size() != formatConstraints_.size() )" );
-      }
-#      endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#    endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#  endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageConstraintsInfoFUCHSIA & operator=( VkImageConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA & operator=( ImageConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      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;
-
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA & setCreateInfoCount( uint32_t createInfoCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      createInfoCount = createInfoCount_;
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA &
-      setPCreateInfos( const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pCreateInfos_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCreateInfos = pCreateInfos_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageConstraintsInfoFUCHSIA & 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  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    ImageConstraintsInfoFUCHSIA & setPFormatConstraints(
-      const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA * pFormatConstraints_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pFormatConstraints = pFormatConstraints_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageConstraintsInfoFUCHSIA & setFormatConstraints(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA> const & formatConstraints_ ) VULKAN_HPP_NOEXCEPT
-    {
-      createInfoCount    = static_cast<uint32_t>( formatConstraints_.size() );
-      pFormatConstraints = formatConstraints_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    ImageConstraintsInfoFUCHSIA & setMinBufferCount( uint32_t minBufferCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minBufferCount = minBufferCount_;
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA & setMaxBufferCount( uint32_t maxBufferCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxBufferCount = maxBufferCount_;
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA & setMinBufferCountForCamping( uint32_t minBufferCountForCamping_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minBufferCountForCamping = minBufferCountForCamping_;
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA &
-      setMinBufferCountForDedicatedSlack( uint32_t minBufferCountForDedicatedSlack_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minBufferCountForDedicatedSlack = minBufferCountForDedicatedSlack_;
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA &
-      setMinBufferCountForSharedSlack( uint32_t minBufferCountForSharedSlack_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minBufferCountForSharedSlack = minBufferCountForSharedSlack_;
-      return *this;
-    }
-
-    ImageConstraintsInfoFUCHSIA &
-      setFlags( VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    operator VkImageConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( this );
-    }
-
-    operator VkImageConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageConstraintsInfoFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageConstraintsInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( ImageConstraintsInfoFUCHSIA 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!=( ImageConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                       sType = StructureType::eImageConstraintsInfoFUCHSIA;
-    const void *                                                    pNext = {};
-    uint32_t                                                        createInfoCount                 = {};
-    const VULKAN_HPP_NAMESPACE::ImageCreateInfo *                   pCreateInfos                    = {};
-    const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA * pFormatConstraints              = {};
-    uint32_t                                                        minBufferCount                  = {};
-    uint32_t                                                        maxBufferCount                  = {};
-    uint32_t                                                        minBufferCountForCamping        = {};
-    uint32_t                                                        minBufferCountForDedicatedSlack = {};
-    uint32_t                                                        minBufferCountForSharedSlack    = {};
-    VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA          flags                           = {};
-  };
-  static_assert( sizeof( ImageConstraintsInfoFUCHSIA ) == sizeof( VkImageConstraintsInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageConstraintsInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageConstraintsInfoFUCHSIA>
-  {
-    using Type = ImageConstraintsInfoFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  struct ImageCopy
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageCopy( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
-                                    VULKAN_HPP_NAMESPACE::Offset3D               srcOffset_      = {},
-                                    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
-                                    VULKAN_HPP_NAMESPACE::Offset3D               dstOffset_      = {},
-                                    VULKAN_HPP_NAMESPACE::Extent3D               extent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcSubresource( srcSubresource_ )
-      , srcOffset( srcOffset_ )
-      , dstSubresource( dstSubresource_ )
-      , dstOffset( dstOffset_ )
-      , extent( extent_ )
-    {}
-
-    ImageCopy( VkImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageCopy & operator=( VkImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCopy const *>( &rhs );
-      return *this;
-    }
-
-    ImageCopy &
-      setSrcSubresource( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & srcSubresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcSubresource = srcSubresource_;
-      return *this;
-    }
-
-    ImageCopy & setSrcOffset( VULKAN_HPP_NAMESPACE::Offset3D const & srcOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcOffset = srcOffset_;
-      return *this;
-    }
-
-    ImageCopy &
-      setDstSubresource( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & dstSubresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstSubresource = dstSubresource_;
-      return *this;
-    }
-
-    ImageCopy & setDstOffset( VULKAN_HPP_NAMESPACE::Offset3D const & dstOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstOffset = dstOffset_;
-      return *this;
-    }
-
-    ImageCopy & setExtent( VULKAN_HPP_NAMESPACE::Extent3D const & extent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extent = extent_;
-      return *this;
-    }
-
-    operator VkImageCopy const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageCopy *>( this );
-    }
-
-    operator VkImageCopy &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageCopy *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageCopy const & ) const = default;
-#else
-    bool operator==( ImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( srcSubresource == rhs.srcSubresource ) && ( srcOffset == rhs.srcOffset ) &&
-             ( dstSubresource == rhs.dstSubresource ) && ( dstOffset == rhs.dstOffset ) && ( extent == rhs.extent );
-    }
-
-    bool operator!=( ImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
-    VULKAN_HPP_NAMESPACE::Offset3D               srcOffset      = {};
-    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
-    VULKAN_HPP_NAMESPACE::Offset3D               dstOffset      = {};
-    VULKAN_HPP_NAMESPACE::Extent3D               extent         = {};
-  };
-  static_assert( sizeof( ImageCopy ) == sizeof( VkImageCopy ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageCopy>::value, "struct wrapper is not a standard layout!" );
-
-  struct SubresourceLayout
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubresourceLayout( VULKAN_HPP_NAMESPACE::DeviceSize offset_     = {},
-                                            VULKAN_HPP_NAMESPACE::DeviceSize size_       = {},
-                                            VULKAN_HPP_NAMESPACE::DeviceSize rowPitch_   = {},
-                                            VULKAN_HPP_NAMESPACE::DeviceSize arrayPitch_ = {},
-                                            VULKAN_HPP_NAMESPACE::DeviceSize depthPitch_ = {} ) VULKAN_HPP_NOEXCEPT
-      : offset( offset_ )
-      , size( size_ )
-      , rowPitch( rowPitch_ )
-      , arrayPitch( arrayPitch_ )
-      , depthPitch( depthPitch_ )
-    {}
-
-    SubresourceLayout( VkSubresourceLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubresourceLayout & operator=( VkSubresourceLayout const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubresourceLayout const *>( &rhs );
-      return *this;
-    }
-
-    operator VkSubresourceLayout const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubresourceLayout *>( this );
-    }
-
-    operator VkSubresourceLayout &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubresourceLayout *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubresourceLayout const & ) const = default;
-#else
-    bool operator==( SubresourceLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( offset == rhs.offset ) && ( size == rhs.size ) && ( rowPitch == rhs.rowPitch ) &&
-             ( arrayPitch == rhs.arrayPitch ) && ( depthPitch == rhs.depthPitch );
-    }
-
-    bool operator!=( SubresourceLayout const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceSize offset     = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize size       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize rowPitch   = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize arrayPitch = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize depthPitch = {};
-  };
-  static_assert( sizeof( SubresourceLayout ) == sizeof( VkSubresourceLayout ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubresourceLayout>::value, "struct wrapper is not a standard layout!" );
-
-  struct ImageDrmFormatModifierExplicitCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierExplicitCreateInfoEXT(
-      uint64_t                                        drmFormatModifier_           = {},
-      uint32_t                                        drmFormatModifierPlaneCount_ = {},
-      const VULKAN_HPP_NAMESPACE::SubresourceLayout * pPlaneLayouts_               = {} ) VULKAN_HPP_NOEXCEPT
-      : drmFormatModifier( drmFormatModifier_ )
-      , drmFormatModifierPlaneCount( drmFormatModifierPlaneCount_ )
-      , pPlaneLayouts( pPlaneLayouts_ )
-    {}
-
-    ImageDrmFormatModifierExplicitCreateInfoEXT( VkImageDrmFormatModifierExplicitCreateInfoEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageDrmFormatModifierExplicitCreateInfoEXT(
-      uint64_t drmFormatModifier_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubresourceLayout> const &
-        planeLayouts_ )
-      : drmFormatModifier( drmFormatModifier_ )
-      , drmFormatModifierPlaneCount( static_cast<uint32_t>( planeLayouts_.size() ) )
-      , pPlaneLayouts( planeLayouts_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageDrmFormatModifierExplicitCreateInfoEXT &
-      operator=( VkImageDrmFormatModifierExplicitCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    ImageDrmFormatModifierExplicitCreateInfoEXT &
-      operator=( ImageDrmFormatModifierExplicitCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      drmFormatModifier           = rhs.drmFormatModifier;
-      drmFormatModifierPlaneCount = rhs.drmFormatModifierPlaneCount;
-      pPlaneLayouts               = rhs.pPlaneLayouts;
-
-      return *this;
-    }
-
-    ImageDrmFormatModifierExplicitCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageDrmFormatModifierExplicitCreateInfoEXT &
-      setDrmFormatModifier( uint64_t drmFormatModifier_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drmFormatModifier = drmFormatModifier_;
-      return *this;
-    }
-
-    ImageDrmFormatModifierExplicitCreateInfoEXT &
-      setDrmFormatModifierPlaneCount( uint32_t drmFormatModifierPlaneCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drmFormatModifierPlaneCount = drmFormatModifierPlaneCount_;
-      return *this;
-    }
-
-    ImageDrmFormatModifierExplicitCreateInfoEXT &
-      setPPlaneLayouts( const VULKAN_HPP_NAMESPACE::SubresourceLayout * pPlaneLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPlaneLayouts = pPlaneLayouts_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageDrmFormatModifierExplicitCreateInfoEXT & setPlaneLayouts(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubresourceLayout> const &
-        planeLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drmFormatModifierPlaneCount = static_cast<uint32_t>( planeLayouts_.size() );
-      pPlaneLayouts               = planeLayouts_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkImageDrmFormatModifierExplicitCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT *>( this );
-    }
-
-    operator VkImageDrmFormatModifierExplicitCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageDrmFormatModifierExplicitCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageDrmFormatModifierExplicitCreateInfoEXT const & ) const = default;
-#else
-    bool operator==( ImageDrmFormatModifierExplicitCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifier == rhs.drmFormatModifier ) &&
-             ( drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount ) &&
-             ( pPlaneLayouts == rhs.pPlaneLayouts );
-    }
-
-    bool operator!=( ImageDrmFormatModifierExplicitCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType       sType = StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT;
-    const void *                                    pNext = {};
-    uint64_t                                        drmFormatModifier           = {};
-    uint32_t                                        drmFormatModifierPlaneCount = {};
-    const VULKAN_HPP_NAMESPACE::SubresourceLayout * pPlaneLayouts               = {};
-  };
-  static_assert( sizeof( ImageDrmFormatModifierExplicitCreateInfoEXT ) ==
-                   sizeof( VkImageDrmFormatModifierExplicitCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageDrmFormatModifierExplicitCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT>
-  {
-    using Type = ImageDrmFormatModifierExplicitCreateInfoEXT;
-  };
-
-  struct ImageDrmFormatModifierListCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImageDrmFormatModifierListCreateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageDrmFormatModifierListCreateInfoEXT( uint32_t         drmFormatModifierCount_ = {},
-                                             const uint64_t * pDrmFormatModifiers_    = {} ) VULKAN_HPP_NOEXCEPT
-      : drmFormatModifierCount( drmFormatModifierCount_ )
-      , pDrmFormatModifiers( pDrmFormatModifiers_ )
-    {}
-
-    ImageDrmFormatModifierListCreateInfoEXT( VkImageDrmFormatModifierListCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageDrmFormatModifierListCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & drmFormatModifiers_ )
-      : drmFormatModifierCount( static_cast<uint32_t>( drmFormatModifiers_.size() ) )
-      , pDrmFormatModifiers( drmFormatModifiers_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageDrmFormatModifierListCreateInfoEXT &
-      operator=( VkImageDrmFormatModifierListCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    ImageDrmFormatModifierListCreateInfoEXT &
-      operator=( ImageDrmFormatModifierListCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      drmFormatModifierCount = rhs.drmFormatModifierCount;
-      pDrmFormatModifiers    = rhs.pDrmFormatModifiers;
-
-      return *this;
-    }
-
-    ImageDrmFormatModifierListCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageDrmFormatModifierListCreateInfoEXT &
-      setDrmFormatModifierCount( uint32_t drmFormatModifierCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drmFormatModifierCount = drmFormatModifierCount_;
-      return *this;
-    }
-
-    ImageDrmFormatModifierListCreateInfoEXT &
-      setPDrmFormatModifiers( const uint64_t * pDrmFormatModifiers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDrmFormatModifiers = pDrmFormatModifiers_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageDrmFormatModifierListCreateInfoEXT & setDrmFormatModifiers(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & drmFormatModifiers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drmFormatModifierCount = static_cast<uint32_t>( drmFormatModifiers_.size() );
-      pDrmFormatModifiers    = drmFormatModifiers_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkImageDrmFormatModifierListCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT *>( this );
-    }
-
-    operator VkImageDrmFormatModifierListCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageDrmFormatModifierListCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageDrmFormatModifierListCreateInfoEXT const & ) const = default;
-#else
-    bool operator==( ImageDrmFormatModifierListCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( drmFormatModifierCount == rhs.drmFormatModifierCount ) &&
-             ( pDrmFormatModifiers == rhs.pDrmFormatModifiers );
-    }
-
-    bool operator!=( ImageDrmFormatModifierListCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageDrmFormatModifierListCreateInfoEXT;
-    const void *                              pNext = {};
-    uint32_t                                  drmFormatModifierCount = {};
-    const uint64_t *                          pDrmFormatModifiers    = {};
-  };
-  static_assert( sizeof( ImageDrmFormatModifierListCreateInfoEXT ) ==
-                   sizeof( VkImageDrmFormatModifierListCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageDrmFormatModifierListCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageDrmFormatModifierListCreateInfoEXT>
-  {
-    using Type = ImageDrmFormatModifierListCreateInfoEXT;
-  };
-
-  struct ImageDrmFormatModifierPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImageDrmFormatModifierPropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierPropertiesEXT( uint64_t drmFormatModifier_ = {} ) VULKAN_HPP_NOEXCEPT
-      : drmFormatModifier( drmFormatModifier_ )
-    {}
-
-    ImageDrmFormatModifierPropertiesEXT( VkImageDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageDrmFormatModifierPropertiesEXT &
-      operator=( VkImageDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    ImageDrmFormatModifierPropertiesEXT &
-      operator=( ImageDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      drmFormatModifier = rhs.drmFormatModifier;
-
-      return *this;
-    }
-
-    operator VkImageDrmFormatModifierPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageDrmFormatModifierPropertiesEXT *>( this );
-    }
-
-    operator VkImageDrmFormatModifierPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageDrmFormatModifierPropertiesEXT const & ) const = default;
-#else
-    bool operator==( ImageDrmFormatModifierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifier == rhs.drmFormatModifier );
-    }
-
-    bool operator!=( ImageDrmFormatModifierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType             = StructureType::eImageDrmFormatModifierPropertiesEXT;
-    void *                                    pNext             = {};
-    uint64_t                                  drmFormatModifier = {};
-  };
-  static_assert( sizeof( ImageDrmFormatModifierPropertiesEXT ) == sizeof( VkImageDrmFormatModifierPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageDrmFormatModifierPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageDrmFormatModifierPropertiesEXT>
-  {
-    using Type = ImageDrmFormatModifierPropertiesEXT;
-  };
-
-  struct ImageFormatListCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageFormatListCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageFormatListCreateInfo( uint32_t                             viewFormatCount_ = {},
-                               const VULKAN_HPP_NAMESPACE::Format * pViewFormats_    = {} ) VULKAN_HPP_NOEXCEPT
-      : viewFormatCount( viewFormatCount_ )
-      , pViewFormats( pViewFormats_ )
-    {}
-
-    ImageFormatListCreateInfo( VkImageFormatListCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageFormatListCreateInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & viewFormats_ )
-      : viewFormatCount( static_cast<uint32_t>( viewFormats_.size() ) ), pViewFormats( viewFormats_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageFormatListCreateInfo & operator=( VkImageFormatListCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ImageFormatListCreateInfo & operator=( ImageFormatListCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      viewFormatCount = rhs.viewFormatCount;
-      pViewFormats    = rhs.pViewFormats;
-
-      return *this;
-    }
-
-    ImageFormatListCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageFormatListCreateInfo & setViewFormatCount( uint32_t viewFormatCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewFormatCount = viewFormatCount_;
-      return *this;
-    }
-
-    ImageFormatListCreateInfo &
-      setPViewFormats( const VULKAN_HPP_NAMESPACE::Format * pViewFormats_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewFormats = pViewFormats_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ImageFormatListCreateInfo & setViewFormats(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Format> const & viewFormats_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      viewFormatCount = static_cast<uint32_t>( viewFormats_.size() );
-      pViewFormats    = viewFormats_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkImageFormatListCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageFormatListCreateInfo *>( this );
-    }
-
-    operator VkImageFormatListCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageFormatListCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageFormatListCreateInfo const & ) const = default;
-#else
-    bool operator==( ImageFormatListCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( viewFormatCount == rhs.viewFormatCount ) &&
-             ( pViewFormats == rhs.pViewFormats );
-    }
-
-    bool operator!=( ImageFormatListCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eImageFormatListCreateInfo;
-    const void *                              pNext           = {};
-    uint32_t                                  viewFormatCount = {};
-    const VULKAN_HPP_NAMESPACE::Format *      pViewFormats    = {};
-  };
-  static_assert( sizeof( ImageFormatListCreateInfo ) == sizeof( VkImageFormatListCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageFormatListCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageFormatListCreateInfo>
-  {
-    using Type = ImageFormatListCreateInfo;
-  };
-
-  struct ImageFormatProperties2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageFormatProperties2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageFormatProperties2(
-      VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : imageFormatProperties( imageFormatProperties_ )
-    {}
-
-    ImageFormatProperties2( VkImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageFormatProperties2 & operator=( VkImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatProperties2 const *>( &rhs );
-      return *this;
-    }
-
-    ImageFormatProperties2 & operator=( ImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      imageFormatProperties = rhs.imageFormatProperties;
-
-      return *this;
-    }
-
-    operator VkImageFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageFormatProperties2 *>( this );
-    }
-
-    operator VkImageFormatProperties2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageFormatProperties2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageFormatProperties2 const & ) const = default;
-#else
-    bool operator==( ImageFormatProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageFormatProperties == rhs.imageFormatProperties );
-    }
-
-    bool operator!=( ImageFormatProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType                 = StructureType::eImageFormatProperties2;
-    void *                                      pNext                 = {};
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties = {};
-  };
-  static_assert( sizeof( ImageFormatProperties2 ) == sizeof( VkImageFormatProperties2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageFormatProperties2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageFormatProperties2>
-  {
-    using Type = ImageFormatProperties2;
-  };
-
-  struct ImageSubresourceRange
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageSubresourceRange( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_     = {},
-                                                uint32_t                               baseMipLevel_   = {},
-                                                uint32_t                               levelCount_     = {},
-                                                uint32_t                               baseArrayLayer_ = {},
-                                                uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : aspectMask( aspectMask_ )
-      , baseMipLevel( baseMipLevel_ )
-      , levelCount( levelCount_ )
-      , baseArrayLayer( baseArrayLayer_ )
-      , layerCount( layerCount_ )
-    {}
-
-    ImageSubresourceRange( VkImageSubresourceRange const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageSubresourceRange & operator=( VkImageSubresourceRange const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresourceRange const *>( &rhs );
-      return *this;
-    }
-
-    ImageSubresourceRange & setAspectMask( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectMask = aspectMask_;
-      return *this;
-    }
-
-    ImageSubresourceRange & setBaseMipLevel( uint32_t baseMipLevel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      baseMipLevel = baseMipLevel_;
-      return *this;
-    }
-
-    ImageSubresourceRange & setLevelCount( uint32_t levelCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      levelCount = levelCount_;
-      return *this;
-    }
-
-    ImageSubresourceRange & setBaseArrayLayer( uint32_t baseArrayLayer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      baseArrayLayer = baseArrayLayer_;
-      return *this;
-    }
-
-    ImageSubresourceRange & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layerCount = layerCount_;
-      return *this;
-    }
-
-    operator VkImageSubresourceRange const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageSubresourceRange *>( this );
-    }
-
-    operator VkImageSubresourceRange &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageSubresourceRange *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageSubresourceRange const & ) const = default;
-#else
-    bool operator==( ImageSubresourceRange const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( aspectMask == rhs.aspectMask ) && ( baseMipLevel == rhs.baseMipLevel ) &&
-             ( levelCount == rhs.levelCount ) && ( baseArrayLayer == rhs.baseArrayLayer ) &&
-             ( layerCount == rhs.layerCount );
-    }
-
-    bool operator!=( ImageSubresourceRange const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask     = {};
-    uint32_t                               baseMipLevel   = {};
-    uint32_t                               levelCount     = {};
-    uint32_t                               baseArrayLayer = {};
-    uint32_t                               layerCount     = {};
-  };
-  static_assert( sizeof( ImageSubresourceRange ) == sizeof( VkImageSubresourceRange ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageSubresourceRange>::value, "struct wrapper is not a standard layout!" );
-
-  struct ImageMemoryBarrier
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageMemoryBarrier;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageMemoryBarrier( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
-                        VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
-                        VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
-                        VULKAN_HPP_NAMESPACE::ImageLayout newLayout_ = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined,
-                        uint32_t                          srcQueueFamilyIndex_        = {},
-                        uint32_t                          dstQueueFamilyIndex_        = {},
-                        VULKAN_HPP_NAMESPACE::Image       image_                      = {},
-                        VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcAccessMask( srcAccessMask_ )
-      , dstAccessMask( dstAccessMask_ )
-      , oldLayout( oldLayout_ )
-      , newLayout( newLayout_ )
-      , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
-      , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
-      , image( image_ )
-      , subresourceRange( subresourceRange_ )
-    {}
-
-    ImageMemoryBarrier( VkImageMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageMemoryBarrier & operator=( VkImageMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier const *>( &rhs );
-      return *this;
-    }
-
-    ImageMemoryBarrier & operator=( ImageMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      srcAccessMask       = rhs.srcAccessMask;
-      dstAccessMask       = rhs.dstAccessMask;
-      oldLayout           = rhs.oldLayout;
-      newLayout           = rhs.newLayout;
-      srcQueueFamilyIndex = rhs.srcQueueFamilyIndex;
-      dstQueueFamilyIndex = rhs.dstQueueFamilyIndex;
-      image               = rhs.image;
-      subresourceRange    = rhs.subresourceRange;
-
-      return *this;
-    }
-
-    ImageMemoryBarrier & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageMemoryBarrier & setSrcAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcAccessMask = srcAccessMask_;
-      return *this;
-    }
-
-    ImageMemoryBarrier & setDstAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstAccessMask = dstAccessMask_;
-      return *this;
-    }
-
-    ImageMemoryBarrier & setOldLayout( VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      oldLayout = oldLayout_;
-      return *this;
-    }
-
-    ImageMemoryBarrier & setNewLayout( VULKAN_HPP_NAMESPACE::ImageLayout newLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      newLayout = newLayout_;
-      return *this;
-    }
-
-    ImageMemoryBarrier & setSrcQueueFamilyIndex( uint32_t srcQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcQueueFamilyIndex = srcQueueFamilyIndex_;
-      return *this;
-    }
-
-    ImageMemoryBarrier & setDstQueueFamilyIndex( uint32_t dstQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstQueueFamilyIndex = dstQueueFamilyIndex_;
-      return *this;
-    }
-
-    ImageMemoryBarrier & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
-
-    ImageMemoryBarrier &
-      setSubresourceRange( VULKAN_HPP_NAMESPACE::ImageSubresourceRange const & subresourceRange_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subresourceRange = subresourceRange_;
-      return *this;
-    }
-
-    operator VkImageMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageMemoryBarrier *>( this );
-    }
-
-    operator VkImageMemoryBarrier &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageMemoryBarrier *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageMemoryBarrier const & ) const = default;
-#else
-    bool operator==( ImageMemoryBarrier const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcAccessMask == rhs.srcAccessMask ) &&
-             ( dstAccessMask == rhs.dstAccessMask ) && ( oldLayout == rhs.oldLayout ) &&
-             ( newLayout == rhs.newLayout ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) &&
-             ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( image == rhs.image ) &&
-             ( subresourceRange == rhs.subresourceRange );
-    }
-
-    bool operator!=( ImageMemoryBarrier const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType               = StructureType::eImageMemoryBarrier;
-    const void *                                pNext               = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags           srcAccessMask       = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags           dstAccessMask       = {};
-    VULKAN_HPP_NAMESPACE::ImageLayout           oldLayout           = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-    VULKAN_HPP_NAMESPACE::ImageLayout           newLayout           = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
-    uint32_t                                    srcQueueFamilyIndex = {};
-    uint32_t                                    dstQueueFamilyIndex = {};
-    VULKAN_HPP_NAMESPACE::Image                 image               = {};
-    VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange    = {};
-  };
-  static_assert( sizeof( ImageMemoryBarrier ) == sizeof( VkImageMemoryBarrier ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageMemoryBarrier>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageMemoryBarrier>
-  {
-    using Type = ImageMemoryBarrier;
-  };
-
-  struct ImageMemoryRequirementsInfo2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageMemoryRequirementsInfo2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageMemoryRequirementsInfo2( VULKAN_HPP_NAMESPACE::Image image_ = {} ) VULKAN_HPP_NOEXCEPT
-      : image( image_ )
-    {}
-
-    ImageMemoryRequirementsInfo2( VkImageMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageMemoryRequirementsInfo2 & operator=( VkImageMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 const *>( &rhs );
-      return *this;
-    }
-
-    ImageMemoryRequirementsInfo2 & operator=( ImageMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      image = rhs.image;
-
-      return *this;
-    }
-
-    ImageMemoryRequirementsInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageMemoryRequirementsInfo2 & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
-
-    operator VkImageMemoryRequirementsInfo2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( this );
-    }
-
-    operator VkImageMemoryRequirementsInfo2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageMemoryRequirementsInfo2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageMemoryRequirementsInfo2 const & ) const = default;
-#else
-    bool operator==( ImageMemoryRequirementsInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image );
-    }
-
-    bool operator!=( ImageMemoryRequirementsInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageMemoryRequirementsInfo2;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Image               image = {};
-  };
-  static_assert( sizeof( ImageMemoryRequirementsInfo2 ) == sizeof( VkImageMemoryRequirementsInfo2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageMemoryRequirementsInfo2>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageMemoryRequirementsInfo2>
-  {
-    using Type = ImageMemoryRequirementsInfo2;
-  };
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImagePipeSurfaceCreateInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImagepipeSurfaceCreateInfoFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImagePipeSurfaceCreateInfoFUCHSIA( VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags_ = {},
-                                       zx_handle_t imagePipeHandle_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , imagePipeHandle( imagePipeHandle_ )
-    {}
-
-    ImagePipeSurfaceCreateInfoFUCHSIA( VkImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImagePipeSurfaceCreateInfoFUCHSIA & operator=( VkImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    ImagePipeSurfaceCreateInfoFUCHSIA & operator=( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      imagePipeHandle = rhs.imagePipeHandle;
-
-      return *this;
-    }
-
-    ImagePipeSurfaceCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImagePipeSurfaceCreateInfoFUCHSIA &
-      setFlags( VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImagePipeSurfaceCreateInfoFUCHSIA & setImagePipeHandle( zx_handle_t imagePipeHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imagePipeHandle = imagePipeHandle_;
-      return *this;
-    }
-
-    operator VkImagePipeSurfaceCreateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( this );
-    }
-
-    operator VkImagePipeSurfaceCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImagePipeSurfaceCreateInfoFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImagePipeSurfaceCreateInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( memcmp( &imagePipeHandle, &rhs.imagePipeHandle, sizeof( zx_handle_t ) ) == 0 );
-    }
-
-    bool operator!=( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                sType = StructureType::eImagepipeSurfaceCreateInfoFUCHSIA;
-    const void *                                             pNext = {};
-    VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags = {};
-    zx_handle_t                                              imagePipeHandle = {};
-  };
-  static_assert( sizeof( ImagePipeSurfaceCreateInfoFUCHSIA ) == sizeof( VkImagePipeSurfaceCreateInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImagePipeSurfaceCreateInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImagepipeSurfaceCreateInfoFUCHSIA>
-  {
-    using Type = ImagePipeSurfaceCreateInfoFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  struct ImagePlaneMemoryRequirementsInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImagePlaneMemoryRequirementsInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImagePlaneMemoryRequirementsInfo( VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_ =
-                                        VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor ) VULKAN_HPP_NOEXCEPT
-      : planeAspect( planeAspect_ )
-    {}
-
-    ImagePlaneMemoryRequirementsInfo( VkImagePlaneMemoryRequirementsInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImagePlaneMemoryRequirementsInfo & operator=( VkImagePlaneMemoryRequirementsInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo const *>( &rhs );
-      return *this;
-    }
-
-    ImagePlaneMemoryRequirementsInfo & operator=( ImagePlaneMemoryRequirementsInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      planeAspect = rhs.planeAspect;
-
-      return *this;
-    }
-
-    ImagePlaneMemoryRequirementsInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImagePlaneMemoryRequirementsInfo &
-      setPlaneAspect( VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_ ) VULKAN_HPP_NOEXCEPT
-    {
-      planeAspect = planeAspect_;
-      return *this;
-    }
-
-    operator VkImagePlaneMemoryRequirementsInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo *>( this );
-    }
-
-    operator VkImagePlaneMemoryRequirementsInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImagePlaneMemoryRequirementsInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImagePlaneMemoryRequirementsInfo const & ) const = default;
-#else
-    bool operator==( ImagePlaneMemoryRequirementsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( planeAspect == rhs.planeAspect );
-    }
-
-    bool operator!=( ImagePlaneMemoryRequirementsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::eImagePlaneMemoryRequirementsInfo;
-    const void *                              pNext       = {};
-    VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect = VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor;
-  };
-  static_assert( sizeof( ImagePlaneMemoryRequirementsInfo ) == sizeof( VkImagePlaneMemoryRequirementsInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImagePlaneMemoryRequirementsInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImagePlaneMemoryRequirementsInfo>
-  {
-    using Type = ImagePlaneMemoryRequirementsInfo;
-  };
-
-  struct ImageResolve
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageResolve( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_ = {},
-                                       VULKAN_HPP_NAMESPACE::Offset3D               srcOffset_      = {},
-                                       VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
-                                       VULKAN_HPP_NAMESPACE::Offset3D               dstOffset_      = {},
-                                       VULKAN_HPP_NAMESPACE::Extent3D               extent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcSubresource( srcSubresource_ )
-      , srcOffset( srcOffset_ )
-      , dstSubresource( dstSubresource_ )
-      , dstOffset( dstOffset_ )
-      , extent( extent_ )
-    {}
-
-    ImageResolve( VkImageResolve const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageResolve & operator=( VkImageResolve const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageResolve const *>( &rhs );
-      return *this;
-    }
-
-    ImageResolve &
-      setSrcSubresource( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & srcSubresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcSubresource = srcSubresource_;
-      return *this;
-    }
-
-    ImageResolve & setSrcOffset( VULKAN_HPP_NAMESPACE::Offset3D const & srcOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcOffset = srcOffset_;
-      return *this;
-    }
-
-    ImageResolve &
-      setDstSubresource( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & dstSubresource_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstSubresource = dstSubresource_;
-      return *this;
-    }
-
-    ImageResolve & setDstOffset( VULKAN_HPP_NAMESPACE::Offset3D const & dstOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstOffset = dstOffset_;
-      return *this;
-    }
-
-    ImageResolve & setExtent( VULKAN_HPP_NAMESPACE::Extent3D const & extent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extent = extent_;
-      return *this;
-    }
-
-    operator VkImageResolve const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageResolve *>( this );
-    }
-
-    operator VkImageResolve &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageResolve *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageResolve const & ) const = default;
-#else
-    bool operator==( ImageResolve const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( srcSubresource == rhs.srcSubresource ) && ( srcOffset == rhs.srcOffset ) &&
-             ( dstSubresource == rhs.dstSubresource ) && ( dstOffset == rhs.dstOffset ) && ( extent == rhs.extent );
-    }
-
-    bool operator!=( ImageResolve const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource = {};
-    VULKAN_HPP_NAMESPACE::Offset3D               srcOffset      = {};
-    VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource = {};
-    VULKAN_HPP_NAMESPACE::Offset3D               dstOffset      = {};
-    VULKAN_HPP_NAMESPACE::Extent3D               extent         = {};
-  };
-  static_assert( sizeof( ImageResolve ) == sizeof( VkImageResolve ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageResolve>::value, "struct wrapper is not a standard layout!" );
-
-  struct ImageSparseMemoryRequirementsInfo2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImageSparseMemoryRequirementsInfo2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageSparseMemoryRequirementsInfo2( VULKAN_HPP_NAMESPACE::Image image_ = {} ) VULKAN_HPP_NOEXCEPT : image( image_ )
-    {}
-
-    ImageSparseMemoryRequirementsInfo2( VkImageSparseMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageSparseMemoryRequirementsInfo2 &
-      operator=( VkImageSparseMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 const *>( &rhs );
-      return *this;
-    }
-
-    ImageSparseMemoryRequirementsInfo2 & operator=( ImageSparseMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      image = rhs.image;
-
-      return *this;
-    }
-
-    ImageSparseMemoryRequirementsInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageSparseMemoryRequirementsInfo2 & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
-
-    operator VkImageSparseMemoryRequirementsInfo2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( this );
-    }
-
-    operator VkImageSparseMemoryRequirementsInfo2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageSparseMemoryRequirementsInfo2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageSparseMemoryRequirementsInfo2 const & ) const = default;
-#else
-    bool operator==( ImageSparseMemoryRequirementsInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image );
-    }
-
-    bool operator!=( ImageSparseMemoryRequirementsInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageSparseMemoryRequirementsInfo2;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Image               image = {};
-  };
-  static_assert( sizeof( ImageSparseMemoryRequirementsInfo2 ) == sizeof( VkImageSparseMemoryRequirementsInfo2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageSparseMemoryRequirementsInfo2>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageSparseMemoryRequirementsInfo2>
-  {
-    using Type = ImageSparseMemoryRequirementsInfo2;
-  };
-
-  struct ImageStencilUsageCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageStencilUsageCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageStencilUsageCreateInfo( VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage_ = {} ) VULKAN_HPP_NOEXCEPT
-      : stencilUsage( stencilUsage_ )
-    {}
-
-    ImageStencilUsageCreateInfo( VkImageStencilUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageStencilUsageCreateInfo & operator=( VkImageStencilUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ImageStencilUsageCreateInfo & operator=( ImageStencilUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      stencilUsage = rhs.stencilUsage;
-
-      return *this;
-    }
-
-    ImageStencilUsageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageStencilUsageCreateInfo &
-      setStencilUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilUsage = stencilUsage_;
-      return *this;
-    }
-
-    operator VkImageStencilUsageCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageStencilUsageCreateInfo *>( this );
-    }
-
-    operator VkImageStencilUsageCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageStencilUsageCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageStencilUsageCreateInfo const & ) const = default;
-#else
-    bool operator==( ImageStencilUsageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stencilUsage == rhs.stencilUsage );
-    }
-
-    bool operator!=( ImageStencilUsageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::eImageStencilUsageCreateInfo;
-    const void *                              pNext        = {};
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags     stencilUsage = {};
-  };
-  static_assert( sizeof( ImageStencilUsageCreateInfo ) == sizeof( VkImageStencilUsageCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageStencilUsageCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageStencilUsageCreateInfo>
-  {
-    using Type = ImageStencilUsageCreateInfo;
-  };
-
-  struct ImageSwapchainCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageSwapchainCreateInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageSwapchainCreateInfoKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {} ) VULKAN_HPP_NOEXCEPT
-      : swapchain( swapchain_ )
-    {}
-
-    ImageSwapchainCreateInfoKHR( VkImageSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageSwapchainCreateInfoKHR & operator=( VkImageSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ImageSwapchainCreateInfoKHR & operator=( ImageSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext     = rhs.pNext;
-      swapchain = rhs.swapchain;
-
-      return *this;
-    }
-
-    ImageSwapchainCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageSwapchainCreateInfoKHR & setSwapchain( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchain = swapchain_;
-      return *this;
-    }
-
-    operator VkImageSwapchainCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageSwapchainCreateInfoKHR *>( this );
-    }
-
-    operator VkImageSwapchainCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageSwapchainCreateInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageSwapchainCreateInfoKHR const & ) const = default;
-#else
-    bool operator==( ImageSwapchainCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchain == rhs.swapchain );
-    }
-
-    bool operator!=( ImageSwapchainCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType     = StructureType::eImageSwapchainCreateInfoKHR;
-    const void *                              pNext     = {};
-    VULKAN_HPP_NAMESPACE::SwapchainKHR        swapchain = {};
-  };
-  static_assert( sizeof( ImageSwapchainCreateInfoKHR ) == sizeof( VkImageSwapchainCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageSwapchainCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageSwapchainCreateInfoKHR>
-  {
-    using Type = ImageSwapchainCreateInfoKHR;
-  };
-
-  struct ImageViewASTCDecodeModeEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageViewAstcDecodeModeEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageViewASTCDecodeModeEXT(
-      VULKAN_HPP_NAMESPACE::Format decodeMode_ = VULKAN_HPP_NAMESPACE::Format::eUndefined ) VULKAN_HPP_NOEXCEPT
-      : decodeMode( decodeMode_ )
-    {}
-
-    ImageViewASTCDecodeModeEXT( VkImageViewASTCDecodeModeEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageViewASTCDecodeModeEXT & operator=( VkImageViewASTCDecodeModeEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT const *>( &rhs );
-      return *this;
-    }
-
-    ImageViewASTCDecodeModeEXT & operator=( ImageViewASTCDecodeModeEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      decodeMode = rhs.decodeMode;
-
-      return *this;
-    }
-
-    ImageViewASTCDecodeModeEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageViewASTCDecodeModeEXT & setDecodeMode( VULKAN_HPP_NAMESPACE::Format decodeMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      decodeMode = decodeMode_;
-      return *this;
-    }
-
-    operator VkImageViewASTCDecodeModeEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageViewASTCDecodeModeEXT *>( this );
-    }
-
-    operator VkImageViewASTCDecodeModeEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageViewASTCDecodeModeEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageViewASTCDecodeModeEXT const & ) const = default;
-#else
-    bool operator==( ImageViewASTCDecodeModeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( decodeMode == rhs.decodeMode );
-    }
-
-    bool operator!=( ImageViewASTCDecodeModeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eImageViewAstcDecodeModeEXT;
-    const void *                              pNext      = {};
-    VULKAN_HPP_NAMESPACE::Format              decodeMode = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-  };
-  static_assert( sizeof( ImageViewASTCDecodeModeEXT ) == sizeof( VkImageViewASTCDecodeModeEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageViewASTCDecodeModeEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageViewAstcDecodeModeEXT>
-  {
-    using Type = ImageViewASTCDecodeModeEXT;
-  };
-
-  struct ImageViewAddressPropertiesNVX
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageViewAddressPropertiesNVX;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageViewAddressPropertiesNVX( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {},
-                                   VULKAN_HPP_NAMESPACE::DeviceSize    size_          = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceAddress( deviceAddress_ )
-      , size( size_ )
-    {}
-
-    ImageViewAddressPropertiesNVX( VkImageViewAddressPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageViewAddressPropertiesNVX & operator=( VkImageViewAddressPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX const *>( &rhs );
-      return *this;
-    }
-
-    ImageViewAddressPropertiesNVX & operator=( ImageViewAddressPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      deviceAddress = rhs.deviceAddress;
-      size          = rhs.size;
-
-      return *this;
-    }
-
-    operator VkImageViewAddressPropertiesNVX const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageViewAddressPropertiesNVX *>( this );
-    }
-
-    operator VkImageViewAddressPropertiesNVX &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageViewAddressPropertiesNVX *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageViewAddressPropertiesNVX const & ) const = default;
-#else
-    bool operator==( ImageViewAddressPropertiesNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceAddress == rhs.deviceAddress ) &&
-             ( size == rhs.size );
-    }
-
-    bool operator!=( ImageViewAddressPropertiesNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::eImageViewAddressPropertiesNVX;
-    void *                                    pNext         = {};
-    VULKAN_HPP_NAMESPACE::DeviceAddress       deviceAddress = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          size          = {};
-  };
-  static_assert( sizeof( ImageViewAddressPropertiesNVX ) == sizeof( VkImageViewAddressPropertiesNVX ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageViewAddressPropertiesNVX>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageViewAddressPropertiesNVX>
-  {
-    using Type = ImageViewAddressPropertiesNVX;
-  };
-
-  struct ImageViewCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageViewCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageViewCreateInfo( VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags_  = {},
-                         VULKAN_HPP_NAMESPACE::Image                image_  = {},
-                         VULKAN_HPP_NAMESPACE::ImageViewType    viewType_   = VULKAN_HPP_NAMESPACE::ImageViewType::e1D,
-                         VULKAN_HPP_NAMESPACE::Format           format_     = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-                         VULKAN_HPP_NAMESPACE::ComponentMapping components_ = {},
-                         VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , image( image_ )
-      , viewType( viewType_ )
-      , format( format_ )
-      , components( components_ )
-      , subresourceRange( subresourceRange_ )
-    {}
-
-    ImageViewCreateInfo( VkImageViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageViewCreateInfo & operator=( VkImageViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ImageViewCreateInfo & operator=( ImageViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      flags            = rhs.flags;
-      image            = rhs.image;
-      viewType         = rhs.viewType;
-      format           = rhs.format;
-      components       = rhs.components;
-      subresourceRange = rhs.subresourceRange;
-
-      return *this;
-    }
-
-    ImageViewCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageViewCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImageViewCreateInfo & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
-
-    ImageViewCreateInfo & setViewType( VULKAN_HPP_NAMESPACE::ImageViewType viewType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewType = viewType_;
-      return *this;
-    }
-
-    ImageViewCreateInfo & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
-
-    ImageViewCreateInfo &
-      setComponents( VULKAN_HPP_NAMESPACE::ComponentMapping const & components_ ) VULKAN_HPP_NOEXCEPT
-    {
-      components = components_;
-      return *this;
-    }
-
-    ImageViewCreateInfo &
-      setSubresourceRange( VULKAN_HPP_NAMESPACE::ImageSubresourceRange const & subresourceRange_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subresourceRange = subresourceRange_;
-      return *this;
-    }
-
-    operator VkImageViewCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageViewCreateInfo *>( this );
-    }
-
-    operator VkImageViewCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageViewCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageViewCreateInfo const & ) const = default;
-#else
-    bool operator==( ImageViewCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( image == rhs.image ) &&
-             ( viewType == rhs.viewType ) && ( format == rhs.format ) && ( components == rhs.components ) &&
-             ( subresourceRange == rhs.subresourceRange );
-    }
-
-    bool operator!=( ImageViewCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType            = StructureType::eImageViewCreateInfo;
-    const void *                                pNext            = {};
-    VULKAN_HPP_NAMESPACE::ImageViewCreateFlags  flags            = {};
-    VULKAN_HPP_NAMESPACE::Image                 image            = {};
-    VULKAN_HPP_NAMESPACE::ImageViewType         viewType         = VULKAN_HPP_NAMESPACE::ImageViewType::e1D;
-    VULKAN_HPP_NAMESPACE::Format                format           = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::ComponentMapping      components       = {};
-    VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange = {};
-  };
-  static_assert( sizeof( ImageViewCreateInfo ) == sizeof( VkImageViewCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageViewCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageViewCreateInfo>
-  {
-    using Type = ImageViewCreateInfo;
-  };
-
-  struct ImageViewHandleInfoNVX
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageViewHandleInfoNVX;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImageViewHandleInfoNVX(
-      VULKAN_HPP_NAMESPACE::ImageView      imageView_      = {},
-      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
-      VULKAN_HPP_NAMESPACE::Sampler        sampler_        = {} ) VULKAN_HPP_NOEXCEPT
-      : imageView( imageView_ )
-      , descriptorType( descriptorType_ )
-      , sampler( sampler_ )
-    {}
-
-    ImageViewHandleInfoNVX( VkImageViewHandleInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageViewHandleInfoNVX & operator=( VkImageViewHandleInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX const *>( &rhs );
-      return *this;
-    }
-
-    ImageViewHandleInfoNVX & operator=( ImageViewHandleInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      imageView      = rhs.imageView;
-      descriptorType = rhs.descriptorType;
-      sampler        = rhs.sampler;
-
-      return *this;
-    }
-
-    ImageViewHandleInfoNVX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageViewHandleInfoNVX & setImageView( VULKAN_HPP_NAMESPACE::ImageView imageView_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageView = imageView_;
-      return *this;
-    }
-
-    ImageViewHandleInfoNVX &
-      setDescriptorType( VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorType = descriptorType_;
-      return *this;
-    }
-
-    ImageViewHandleInfoNVX & setSampler( VULKAN_HPP_NAMESPACE::Sampler sampler_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampler = sampler_;
-      return *this;
-    }
-
-    operator VkImageViewHandleInfoNVX const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageViewHandleInfoNVX *>( this );
-    }
-
-    operator VkImageViewHandleInfoNVX &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageViewHandleInfoNVX *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageViewHandleInfoNVX const & ) const = default;
-#else
-    bool operator==( ImageViewHandleInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView ) &&
-             ( descriptorType == rhs.descriptorType ) && ( sampler == rhs.sampler );
-    }
-
-    bool operator!=( ImageViewHandleInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eImageViewHandleInfoNVX;
-    const void *                              pNext          = {};
-    VULKAN_HPP_NAMESPACE::ImageView           imageView      = {};
-    VULKAN_HPP_NAMESPACE::DescriptorType      descriptorType = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
-    VULKAN_HPP_NAMESPACE::Sampler             sampler        = {};
-  };
-  static_assert( sizeof( ImageViewHandleInfoNVX ) == sizeof( VkImageViewHandleInfoNVX ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageViewHandleInfoNVX>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageViewHandleInfoNVX>
-  {
-    using Type = ImageViewHandleInfoNVX;
-  };
-
-  struct ImageViewUsageCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageViewUsageCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImageViewUsageCreateInfo( VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ = {} ) VULKAN_HPP_NOEXCEPT : usage( usage_ )
-    {}
-
-    ImageViewUsageCreateInfo( VkImageViewUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImageViewUsageCreateInfo & operator=( VkImageViewUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    ImageViewUsageCreateInfo & operator=( ImageViewUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      usage = rhs.usage;
-
-      return *this;
-    }
-
-    ImageViewUsageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImageViewUsageCreateInfo & setUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      usage = usage_;
-      return *this;
-    }
-
-    operator VkImageViewUsageCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImageViewUsageCreateInfo *>( this );
-    }
-
-    operator VkImageViewUsageCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImageViewUsageCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImageViewUsageCreateInfo const & ) const = default;
-#else
-    bool operator==( ImageViewUsageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( usage == rhs.usage );
-    }
-
-    bool operator!=( ImageViewUsageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewUsageCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage = {};
-  };
-  static_assert( sizeof( ImageViewUsageCreateInfo ) == sizeof( VkImageViewUsageCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImageViewUsageCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImageViewUsageCreateInfo>
-  {
-    using Type = ImageViewUsageCreateInfo;
-  };
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct ImportAndroidHardwareBufferInfoANDROID
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImportAndroidHardwareBufferInfoANDROID;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportAndroidHardwareBufferInfoANDROID( struct AHardwareBuffer * buffer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-    {}
-
-    ImportAndroidHardwareBufferInfoANDROID( VkImportAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportAndroidHardwareBufferInfoANDROID &
-      operator=( VkImportAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID const *>( &rhs );
-      return *this;
-    }
-
-    ImportAndroidHardwareBufferInfoANDROID &
-      operator=( ImportAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      buffer = rhs.buffer;
-
-      return *this;
-    }
-
-    ImportAndroidHardwareBufferInfoANDROID & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportAndroidHardwareBufferInfoANDROID & setBuffer( struct AHardwareBuffer * buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
-
-    operator VkImportAndroidHardwareBufferInfoANDROID const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID *>( this );
-    }
-
-    operator VkImportAndroidHardwareBufferInfoANDROID &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportAndroidHardwareBufferInfoANDROID const & ) const = default;
-#  else
-    bool operator==( ImportAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
-    }
-
-    bool operator!=( ImportAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eImportAndroidHardwareBufferInfoANDROID;
-    const void *                              pNext  = {};
-    struct AHardwareBuffer *                  buffer = {};
-  };
-  static_assert( sizeof( ImportAndroidHardwareBufferInfoANDROID ) == sizeof( VkImportAndroidHardwareBufferInfoANDROID ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportAndroidHardwareBufferInfoANDROID>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportAndroidHardwareBufferInfoANDROID>
-  {
-    using Type = ImportAndroidHardwareBufferInfoANDROID;
-  };
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-  struct ImportFenceFdInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImportFenceFdInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImportFenceFdInfoKHR( VULKAN_HPP_NAMESPACE::Fence                           fence_ = {},
-                                               VULKAN_HPP_NAMESPACE::FenceImportFlags                flags_ = {},
-                                               VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
-                                                 VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd,
-                                               int fd_ = {} ) VULKAN_HPP_NOEXCEPT
-      : fence( fence_ )
-      , flags( flags_ )
-      , handleType( handleType_ )
-      , fd( fd_ )
-    {}
-
-    ImportFenceFdInfoKHR( VkImportFenceFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportFenceFdInfoKHR & operator=( VkImportFenceFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ImportFenceFdInfoKHR & operator=( ImportFenceFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      fence      = rhs.fence;
-      flags      = rhs.flags;
-      handleType = rhs.handleType;
-      fd         = rhs.fd;
-
-      return *this;
-    }
-
-    ImportFenceFdInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportFenceFdInfoKHR & setFence( VULKAN_HPP_NAMESPACE::Fence fence_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fence = fence_;
-      return *this;
-    }
-
-    ImportFenceFdInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::FenceImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImportFenceFdInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportFenceFdInfoKHR & setFd( int fd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fd = fd_;
-      return *this;
-    }
-
-    operator VkImportFenceFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportFenceFdInfoKHR *>( this );
-    }
-
-    operator VkImportFenceFdInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportFenceFdInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportFenceFdInfoKHR const & ) const = default;
-#else
-    bool operator==( ImportFenceFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) && ( flags == rhs.flags ) &&
-             ( handleType == rhs.handleType ) && ( fd == rhs.fd );
-    }
-
-    bool operator!=( ImportFenceFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::eImportFenceFdInfoKHR;
-    const void *                                          pNext = {};
-    VULKAN_HPP_NAMESPACE::Fence                           fence = {};
-    VULKAN_HPP_NAMESPACE::FenceImportFlags                flags = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
-    int fd = {};
-  };
-  static_assert( sizeof( ImportFenceFdInfoKHR ) == sizeof( VkImportFenceFdInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportFenceFdInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportFenceFdInfoKHR>
-  {
-    using Type = ImportFenceFdInfoKHR;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportFenceWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImportFenceWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportFenceWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::Fence                           fence_ = {},
-                                   VULKAN_HPP_NAMESPACE::FenceImportFlags                flags_ = {},
-                                   VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
-                                     VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd,
-                                   HANDLE  handle_ = {},
-                                   LPCWSTR name_   = {} ) VULKAN_HPP_NOEXCEPT
-      : fence( fence_ )
-      , flags( flags_ )
-      , handleType( handleType_ )
-      , handle( handle_ )
-      , name( name_ )
-    {}
-
-    ImportFenceWin32HandleInfoKHR( VkImportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportFenceWin32HandleInfoKHR & operator=( VkImportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ImportFenceWin32HandleInfoKHR & operator=( ImportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      fence      = rhs.fence;
-      flags      = rhs.flags;
-      handleType = rhs.handleType;
-      handle     = rhs.handle;
-      name       = rhs.name;
-
-      return *this;
-    }
-
-    ImportFenceWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportFenceWin32HandleInfoKHR & setFence( VULKAN_HPP_NAMESPACE::Fence fence_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fence = fence_;
-      return *this;
-    }
-
-    ImportFenceWin32HandleInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::FenceImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImportFenceWin32HandleInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportFenceWin32HandleInfoKHR & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handle = handle_;
-      return *this;
-    }
-
-    ImportFenceWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
-    {
-      name = name_;
-      return *this;
-    }
-
-    operator VkImportFenceWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkImportFenceWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportFenceWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportFenceWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( ImportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) && ( flags == rhs.flags ) &&
-             ( handleType == rhs.handleType ) && ( handle == rhs.handle ) && ( name == rhs.name );
-    }
-
-    bool operator!=( ImportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::eImportFenceWin32HandleInfoKHR;
-    const void *                                          pNext = {};
-    VULKAN_HPP_NAMESPACE::Fence                           fence = {};
-    VULKAN_HPP_NAMESPACE::FenceImportFlags                flags = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
-    HANDLE  handle = {};
-    LPCWSTR name   = {};
-  };
-  static_assert( sizeof( ImportFenceWin32HandleInfoKHR ) == sizeof( VkImportFenceWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportFenceWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportFenceWin32HandleInfoKHR>
-  {
-    using Type = ImportFenceWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImportMemoryBufferCollectionFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImportMemoryBufferCollectionFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportMemoryBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
-                                         uint32_t                                      index_ = {} ) VULKAN_HPP_NOEXCEPT
-      : collection( collection_ )
-      , index( index_ )
-    {}
-
-    ImportMemoryBufferCollectionFUCHSIA( VkImportMemoryBufferCollectionFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportMemoryBufferCollectionFUCHSIA &
-      operator=( VkImportMemoryBufferCollectionFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    ImportMemoryBufferCollectionFUCHSIA &
-      operator=( ImportMemoryBufferCollectionFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      collection = rhs.collection;
-      index      = rhs.index;
-
-      return *this;
-    }
-
-    ImportMemoryBufferCollectionFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportMemoryBufferCollectionFUCHSIA &
-      setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT
-    {
-      collection = collection_;
-      return *this;
-    }
-
-    ImportMemoryBufferCollectionFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
-    {
-      index = index_;
-      return *this;
-    }
-
-    operator VkImportMemoryBufferCollectionFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIA *>( this );
-    }
-
-    operator VkImportMemoryBufferCollectionFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportMemoryBufferCollectionFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportMemoryBufferCollectionFUCHSIA const & ) const = default;
-#  else
-    bool operator==( ImportMemoryBufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) &&
-             ( index == rhs.index );
-    }
-
-    bool operator!=( ImportMemoryBufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType      = StructureType::eImportMemoryBufferCollectionFUCHSIA;
-    const void *                                  pNext      = {};
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
-    uint32_t                                      index      = {};
-  };
-  static_assert( sizeof( ImportMemoryBufferCollectionFUCHSIA ) == sizeof( VkImportMemoryBufferCollectionFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportMemoryBufferCollectionFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportMemoryBufferCollectionFUCHSIA>
-  {
-    using Type = ImportMemoryBufferCollectionFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  struct ImportMemoryFdInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImportMemoryFdInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ImportMemoryFdInfoKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-                                                  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
-                                                int fd_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-      , fd( fd_ )
-    {}
-
-    ImportMemoryFdInfoKHR( VkImportMemoryFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportMemoryFdInfoKHR & operator=( VkImportMemoryFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ImportMemoryFdInfoKHR & operator=( ImportMemoryFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      handleType = rhs.handleType;
-      fd         = rhs.fd;
-
-      return *this;
-    }
-
-    ImportMemoryFdInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportMemoryFdInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportMemoryFdInfoKHR & setFd( int fd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fd = fd_;
-      return *this;
-    }
-
-    operator VkImportMemoryFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportMemoryFdInfoKHR *>( this );
-    }
-
-    operator VkImportMemoryFdInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportMemoryFdInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportMemoryFdInfoKHR const & ) const = default;
-#else
-    bool operator==( ImportMemoryFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) && ( fd == rhs.fd );
-    }
-
-    bool operator!=( ImportMemoryFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::eImportMemoryFdInfoKHR;
-    const void *                                           pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-    int fd = {};
-  };
-  static_assert( sizeof( ImportMemoryFdInfoKHR ) == sizeof( VkImportMemoryFdInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportMemoryFdInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportMemoryFdInfoKHR>
-  {
-    using Type = ImportMemoryFdInfoKHR;
-  };
-
-  struct ImportMemoryHostPointerInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImportMemoryHostPointerInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportMemoryHostPointerInfoEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-                                      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
-                                    void * pHostPointer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-      , pHostPointer( pHostPointer_ )
-    {}
-
-    ImportMemoryHostPointerInfoEXT( VkImportMemoryHostPointerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportMemoryHostPointerInfoEXT & operator=( VkImportMemoryHostPointerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    ImportMemoryHostPointerInfoEXT & operator=( ImportMemoryHostPointerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      handleType   = rhs.handleType;
-      pHostPointer = rhs.pHostPointer;
-
-      return *this;
-    }
-
-    ImportMemoryHostPointerInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportMemoryHostPointerInfoEXT &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportMemoryHostPointerInfoEXT & setPHostPointer( void * pHostPointer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pHostPointer = pHostPointer_;
-      return *this;
-    }
-
-    operator VkImportMemoryHostPointerInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportMemoryHostPointerInfoEXT *>( this );
-    }
-
-    operator VkImportMemoryHostPointerInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportMemoryHostPointerInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportMemoryHostPointerInfoEXT const & ) const = default;
-#else
-    bool operator==( ImportMemoryHostPointerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) &&
-             ( pHostPointer == rhs.pHostPointer );
-    }
-
-    bool operator!=( ImportMemoryHostPointerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::eImportMemoryHostPointerInfoEXT;
-    const void *                                           pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-    void * pHostPointer = {};
-  };
-  static_assert( sizeof( ImportMemoryHostPointerInfoEXT ) == sizeof( VkImportMemoryHostPointerInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportMemoryHostPointerInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportMemoryHostPointerInfoEXT>
-  {
-    using Type = ImportMemoryHostPointerInfoEXT;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportMemoryWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImportMemoryWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportMemoryWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-                                      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
-                                    HANDLE  handle_ = {},
-                                    LPCWSTR name_   = {} ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-      , handle( handle_ )
-      , name( name_ )
-    {}
-
-    ImportMemoryWin32HandleInfoKHR( VkImportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportMemoryWin32HandleInfoKHR & operator=( VkImportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoKHR & operator=( ImportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      handleType = rhs.handleType;
-      handle     = rhs.handle;
-      name       = rhs.name;
-
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoKHR & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handle = handle_;
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
-    {
-      name = name_;
-      return *this;
-    }
-
-    operator VkImportMemoryWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkImportMemoryWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportMemoryWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportMemoryWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( ImportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) &&
-             ( handle == rhs.handle ) && ( name == rhs.name );
-    }
-
-    bool operator!=( ImportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::eImportMemoryWin32HandleInfoKHR;
-    const void *                                           pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-    HANDLE  handle = {};
-    LPCWSTR name   = {};
-  };
-  static_assert( sizeof( ImportMemoryWin32HandleInfoKHR ) == sizeof( VkImportMemoryWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportMemoryWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportMemoryWin32HandleInfoKHR>
-  {
-    using Type = ImportMemoryWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportMemoryWin32HandleInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImportMemoryWin32HandleInfoNV;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportMemoryWin32HandleInfoNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType_ = {},
-                                   HANDLE handle_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-      , handle( handle_ )
-    {}
-
-    ImportMemoryWin32HandleInfoNV( VkImportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportMemoryWin32HandleInfoNV & operator=( VkImportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoNV & operator=( ImportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      handleType = rhs.handleType;
-      handle     = rhs.handle;
-
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoNV &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportMemoryWin32HandleInfoNV & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handle = handle_;
-      return *this;
-    }
-
-    operator VkImportMemoryWin32HandleInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportMemoryWin32HandleInfoNV *>( this );
-    }
-
-    operator VkImportMemoryWin32HandleInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportMemoryWin32HandleInfoNV *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportMemoryWin32HandleInfoNV const & ) const = default;
-#  else
-    bool operator==( ImportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) &&
-             ( handle == rhs.handle );
-    }
-
-    bool operator!=( ImportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType      = StructureType::eImportMemoryWin32HandleInfoNV;
-    const void *                                          pNext      = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType = {};
-    HANDLE                                                handle     = {};
-  };
-  static_assert( sizeof( ImportMemoryWin32HandleInfoNV ) == sizeof( VkImportMemoryWin32HandleInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportMemoryWin32HandleInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportMemoryWin32HandleInfoNV>
-  {
-    using Type = ImportMemoryWin32HandleInfoNV;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImportMemoryZirconHandleInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eTempImportMemoryZirconHandleInfoFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportMemoryZirconHandleInfoFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-                                           VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
-                                         zx_handle_t handle_ = {} ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-      , handle( handle_ )
-    {}
-
-    ImportMemoryZirconHandleInfoFUCHSIA( VkImportMemoryZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportMemoryZirconHandleInfoFUCHSIA &
-      operator=( VkImportMemoryZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    ImportMemoryZirconHandleInfoFUCHSIA &
-      operator=( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      handleType = rhs.handleType;
-      handle     = rhs.handle;
-
-      return *this;
-    }
-
-    ImportMemoryZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportMemoryZirconHandleInfoFUCHSIA &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportMemoryZirconHandleInfoFUCHSIA & setHandle( zx_handle_t handle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handle = handle_;
-      return *this;
-    }
-
-    operator VkImportMemoryZirconHandleInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA *>( this );
-    }
-
-    operator VkImportMemoryZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportMemoryZirconHandleInfoFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportMemoryZirconHandleInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) &&
-             ( memcmp( &handle, &rhs.handle, sizeof( zx_handle_t ) ) == 0 );
-    }
-
-    bool operator!=( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eTempImportMemoryZirconHandleInfoFUCHSIA;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-    zx_handle_t handle = {};
-  };
-  static_assert( sizeof( ImportMemoryZirconHandleInfoFUCHSIA ) == sizeof( VkImportMemoryZirconHandleInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportMemoryZirconHandleInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eTempImportMemoryZirconHandleInfoFUCHSIA>
-  {
-    using Type = ImportMemoryZirconHandleInfoFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  struct ImportSemaphoreFdInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImportSemaphoreFdInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportSemaphoreFdInfoKHR( VULKAN_HPP_NAMESPACE::Semaphore                           semaphore_ = {},
-                              VULKAN_HPP_NAMESPACE::SemaphoreImportFlags                flags_     = {},
-                              VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
-                                VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd,
-                              int fd_ = {} ) VULKAN_HPP_NOEXCEPT
-      : semaphore( semaphore_ )
-      , flags( flags_ )
-      , handleType( handleType_ )
-      , fd( fd_ )
-    {}
-
-    ImportSemaphoreFdInfoKHR( VkImportSemaphoreFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportSemaphoreFdInfoKHR & operator=( VkImportSemaphoreFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ImportSemaphoreFdInfoKHR & operator=( ImportSemaphoreFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      semaphore  = rhs.semaphore;
-      flags      = rhs.flags;
-      handleType = rhs.handleType;
-      fd         = rhs.fd;
-
-      return *this;
-    }
-
-    ImportSemaphoreFdInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportSemaphoreFdInfoKHR & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
-
-    ImportSemaphoreFdInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImportSemaphoreFdInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportSemaphoreFdInfoKHR & setFd( int fd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fd = fd_;
-      return *this;
-    }
-
-    operator VkImportSemaphoreFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( this );
-    }
-
-    operator VkImportSemaphoreFdInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportSemaphoreFdInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportSemaphoreFdInfoKHR const & ) const = default;
-#else
-    bool operator==( ImportSemaphoreFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) &&
-             ( flags == rhs.flags ) && ( handleType == rhs.handleType ) && ( fd == rhs.fd );
-    }
-
-    bool operator!=( ImportSemaphoreFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                 sType     = StructureType::eImportSemaphoreFdInfoKHR;
-    const void *                                              pNext     = {};
-    VULKAN_HPP_NAMESPACE::Semaphore                           semaphore = {};
-    VULKAN_HPP_NAMESPACE::SemaphoreImportFlags                flags     = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
-    int fd = {};
-  };
-  static_assert( sizeof( ImportSemaphoreFdInfoKHR ) == sizeof( VkImportSemaphoreFdInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportSemaphoreFdInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportSemaphoreFdInfoKHR>
-  {
-    using Type = ImportSemaphoreFdInfoKHR;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct ImportSemaphoreWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eImportSemaphoreWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportSemaphoreWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::Semaphore                           semaphore_ = {},
-                                       VULKAN_HPP_NAMESPACE::SemaphoreImportFlags                flags_     = {},
-                                       VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
-                                         VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd,
-                                       HANDLE  handle_ = {},
-                                       LPCWSTR name_   = {} ) VULKAN_HPP_NOEXCEPT
-      : semaphore( semaphore_ )
-      , flags( flags_ )
-      , handleType( handleType_ )
-      , handle( handle_ )
-      , name( name_ )
-    {}
-
-    ImportSemaphoreWin32HandleInfoKHR( VkImportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportSemaphoreWin32HandleInfoKHR & operator=( VkImportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    ImportSemaphoreWin32HandleInfoKHR & operator=( ImportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      semaphore  = rhs.semaphore;
-      flags      = rhs.flags;
-      handleType = rhs.handleType;
-      handle     = rhs.handle;
-      name       = rhs.name;
-
-      return *this;
-    }
-
-    ImportSemaphoreWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportSemaphoreWin32HandleInfoKHR & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
-
-    ImportSemaphoreWin32HandleInfoKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImportSemaphoreWin32HandleInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportSemaphoreWin32HandleInfoKHR & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handle = handle_;
-      return *this;
-    }
-
-    ImportSemaphoreWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
-    {
-      name = name_;
-      return *this;
-    }
-
-    operator VkImportSemaphoreWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkImportSemaphoreWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportSemaphoreWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportSemaphoreWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( ImportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) &&
-             ( flags == rhs.flags ) && ( handleType == rhs.handleType ) && ( handle == rhs.handle ) &&
-             ( name == rhs.name );
-    }
-
-    bool operator!=( ImportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                 sType = StructureType::eImportSemaphoreWin32HandleInfoKHR;
-    const void *                                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Semaphore                           semaphore = {};
-    VULKAN_HPP_NAMESPACE::SemaphoreImportFlags                flags     = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
-    HANDLE  handle = {};
-    LPCWSTR name   = {};
-  };
-  static_assert( sizeof( ImportSemaphoreWin32HandleInfoKHR ) == sizeof( VkImportSemaphoreWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportSemaphoreWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eImportSemaphoreWin32HandleInfoKHR>
-  {
-    using Type = ImportSemaphoreWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct ImportSemaphoreZirconHandleInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eTempImportSemaphoreZirconHandleInfoFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ImportSemaphoreZirconHandleInfoFUCHSIA( VULKAN_HPP_NAMESPACE::Semaphore                           semaphore_ = {},
-                                            VULKAN_HPP_NAMESPACE::SemaphoreImportFlags                flags_     = {},
-                                            VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
-                                              VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd,
-                                            zx_handle_t handle_ = {} ) VULKAN_HPP_NOEXCEPT
-      : semaphore( semaphore_ )
-      , flags( flags_ )
-      , handleType( handleType_ )
-      , handle( handle_ )
-    {}
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA( VkImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA &
-      operator=( VkImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA &
-      operator=( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      semaphore  = rhs.semaphore;
-      flags      = rhs.flags;
-      handleType = rhs.handleType;
-      handle     = rhs.handle;
-
-      return *this;
-    }
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA &
-      setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA &
-      setFlags( VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    ImportSemaphoreZirconHandleInfoFUCHSIA & setHandle( zx_handle_t handle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handle = handle_;
-      return *this;
-    }
-
-    operator VkImportSemaphoreZirconHandleInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( this );
-    }
-
-    operator VkImportSemaphoreZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkImportSemaphoreZirconHandleInfoFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ImportSemaphoreZirconHandleInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) &&
-             ( flags == rhs.flags ) && ( handleType == rhs.handleType ) &&
-             ( memcmp( &handle, &rhs.handle, sizeof( zx_handle_t ) ) == 0 );
-    }
-
-    bool operator!=( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType     = StructureType::eTempImportSemaphoreZirconHandleInfoFUCHSIA;
-    const void *                               pNext     = {};
-    VULKAN_HPP_NAMESPACE::Semaphore            semaphore = {};
-    VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags     = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
-    zx_handle_t handle = {};
-  };
-  static_assert( sizeof( ImportSemaphoreZirconHandleInfoFUCHSIA ) == sizeof( VkImportSemaphoreZirconHandleInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ImportSemaphoreZirconHandleInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eTempImportSemaphoreZirconHandleInfoFUCHSIA>
-  {
-    using Type = ImportSemaphoreZirconHandleInfoFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  struct IndirectCommandsLayoutTokenNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eIndirectCommandsLayoutTokenNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    IndirectCommandsLayoutTokenNV( VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_ =
-                                     VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV::eShaderGroup,
-                                   uint32_t                                   stream_                       = {},
-                                   uint32_t                                   offset_                       = {},
-                                   uint32_t                                   vertexBindingUnit_            = {},
-                                   VULKAN_HPP_NAMESPACE::Bool32               vertexDynamicStride_          = {},
-                                   VULKAN_HPP_NAMESPACE::PipelineLayout       pushconstantPipelineLayout_   = {},
-                                   VULKAN_HPP_NAMESPACE::ShaderStageFlags     pushconstantShaderStageFlags_ = {},
-                                   uint32_t                                   pushconstantOffset_           = {},
-                                   uint32_t                                   pushconstantSize_             = {},
-                                   VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_           = {},
-                                   uint32_t                                   indexTypeCount_               = {},
-                                   const VULKAN_HPP_NAMESPACE::IndexType *    pIndexTypes_                  = {},
-                                   const uint32_t * pIndexTypeValues_ = {} ) VULKAN_HPP_NOEXCEPT
-      : tokenType( tokenType_ )
-      , stream( stream_ )
-      , offset( offset_ )
-      , vertexBindingUnit( vertexBindingUnit_ )
-      , vertexDynamicStride( vertexDynamicStride_ )
-      , pushconstantPipelineLayout( pushconstantPipelineLayout_ )
-      , pushconstantShaderStageFlags( pushconstantShaderStageFlags_ )
-      , pushconstantOffset( pushconstantOffset_ )
-      , pushconstantSize( pushconstantSize_ )
-      , indirectStateFlags( indirectStateFlags_ )
-      , indexTypeCount( indexTypeCount_ )
-      , pIndexTypes( pIndexTypes_ )
-      , pIndexTypeValues( pIndexTypeValues_ )
-    {}
-
-    IndirectCommandsLayoutTokenNV( VkIndirectCommandsLayoutTokenNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    IndirectCommandsLayoutTokenNV(
-      VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_,
-      uint32_t                                          stream_,
-      uint32_t                                          offset_,
-      uint32_t                                          vertexBindingUnit_,
-      VULKAN_HPP_NAMESPACE::Bool32                      vertexDynamicStride_,
-      VULKAN_HPP_NAMESPACE::PipelineLayout              pushconstantPipelineLayout_,
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags            pushconstantShaderStageFlags_,
-      uint32_t                                          pushconstantOffset_,
-      uint32_t                                          pushconstantSize_,
-      VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV        indirectStateFlags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::IndexType> const & indexTypes_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & indexTypeValues_ = {} )
-      : tokenType( tokenType_ )
-      , stream( stream_ )
-      , offset( offset_ )
-      , vertexBindingUnit( vertexBindingUnit_ )
-      , vertexDynamicStride( vertexDynamicStride_ )
-      , pushconstantPipelineLayout( pushconstantPipelineLayout_ )
-      , pushconstantShaderStageFlags( pushconstantShaderStageFlags_ )
-      , pushconstantOffset( pushconstantOffset_ )
-      , pushconstantSize( pushconstantSize_ )
-      , indirectStateFlags( indirectStateFlags_ )
-      , indexTypeCount( static_cast<uint32_t>( indexTypes_.size() ) )
-      , pIndexTypes( indexTypes_.data() )
-      , pIndexTypeValues( indexTypeValues_.data() )
-    {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( indexTypes_.size() == indexTypeValues_.size() );
-#    else
-      if ( indexTypes_.size() != indexTypeValues_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::IndirectCommandsLayoutTokenNV::IndirectCommandsLayoutTokenNV: indexTypes_.size() != indexTypeValues_.size()" );
-      }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    IndirectCommandsLayoutTokenNV & operator=( VkIndirectCommandsLayoutTokenNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV const *>( &rhs );
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & operator=( IndirectCommandsLayoutTokenNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      tokenType                    = rhs.tokenType;
-      stream                       = rhs.stream;
-      offset                       = rhs.offset;
-      vertexBindingUnit            = rhs.vertexBindingUnit;
-      vertexDynamicStride          = rhs.vertexDynamicStride;
-      pushconstantPipelineLayout   = rhs.pushconstantPipelineLayout;
-      pushconstantShaderStageFlags = rhs.pushconstantShaderStageFlags;
-      pushconstantOffset           = rhs.pushconstantOffset;
-      pushconstantSize             = rhs.pushconstantSize;
-      indirectStateFlags           = rhs.indirectStateFlags;
-      indexTypeCount               = rhs.indexTypeCount;
-      pIndexTypes                  = rhs.pIndexTypes;
-      pIndexTypeValues             = rhs.pIndexTypeValues;
-
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV &
-      setTokenType( VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tokenType = tokenType_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setStream( uint32_t stream_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stream = stream_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setOffset( uint32_t offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setVertexBindingUnit( uint32_t vertexBindingUnit_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexBindingUnit = vertexBindingUnit_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV &
-      setVertexDynamicStride( VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexDynamicStride = vertexDynamicStride_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setPushconstantPipelineLayout(
-      VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pushconstantPipelineLayout = pushconstantPipelineLayout_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setPushconstantShaderStageFlags(
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pushconstantShaderStageFlags = pushconstantShaderStageFlags_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setPushconstantOffset( uint32_t pushconstantOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pushconstantOffset = pushconstantOffset_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setPushconstantSize( uint32_t pushconstantSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pushconstantSize = pushconstantSize_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV &
-      setIndirectStateFlags( VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indirectStateFlags = indirectStateFlags_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV & setIndexTypeCount( uint32_t indexTypeCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexTypeCount = indexTypeCount_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutTokenNV &
-      setPIndexTypes( const VULKAN_HPP_NAMESPACE::IndexType * pIndexTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pIndexTypes = pIndexTypes_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    IndirectCommandsLayoutTokenNV & setIndexTypes(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::IndexType> const & indexTypes_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      indexTypeCount = static_cast<uint32_t>( indexTypes_.size() );
-      pIndexTypes    = indexTypes_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    IndirectCommandsLayoutTokenNV & setPIndexTypeValues( const uint32_t * pIndexTypeValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pIndexTypeValues = pIndexTypeValues_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    IndirectCommandsLayoutTokenNV & setIndexTypeValues(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & indexTypeValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexTypeCount   = static_cast<uint32_t>( indexTypeValues_.size() );
-      pIndexTypeValues = indexTypeValues_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkIndirectCommandsLayoutTokenNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkIndirectCommandsLayoutTokenNV *>( this );
-    }
-
-    operator VkIndirectCommandsLayoutTokenNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkIndirectCommandsLayoutTokenNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( IndirectCommandsLayoutTokenNV const & ) const = default;
-#else
-    bool operator==( IndirectCommandsLayoutTokenNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( tokenType == rhs.tokenType ) &&
-             ( stream == rhs.stream ) && ( offset == rhs.offset ) && ( vertexBindingUnit == rhs.vertexBindingUnit ) &&
-             ( vertexDynamicStride == rhs.vertexDynamicStride ) &&
-             ( pushconstantPipelineLayout == rhs.pushconstantPipelineLayout ) &&
-             ( pushconstantShaderStageFlags == rhs.pushconstantShaderStageFlags ) &&
-             ( pushconstantOffset == rhs.pushconstantOffset ) && ( pushconstantSize == rhs.pushconstantSize ) &&
-             ( indirectStateFlags == rhs.indirectStateFlags ) && ( indexTypeCount == rhs.indexTypeCount ) &&
-             ( pIndexTypes == rhs.pIndexTypes ) && ( pIndexTypeValues == rhs.pIndexTypeValues );
-    }
-
-    bool operator!=( IndirectCommandsLayoutTokenNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType = StructureType::eIndirectCommandsLayoutTokenNV;
-    const void *                                      pNext = {};
-    VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType =
-      VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV::eShaderGroup;
-    uint32_t                                   stream                       = {};
-    uint32_t                                   offset                       = {};
-    uint32_t                                   vertexBindingUnit            = {};
-    VULKAN_HPP_NAMESPACE::Bool32               vertexDynamicStride          = {};
-    VULKAN_HPP_NAMESPACE::PipelineLayout       pushconstantPipelineLayout   = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags     pushconstantShaderStageFlags = {};
-    uint32_t                                   pushconstantOffset           = {};
-    uint32_t                                   pushconstantSize             = {};
-    VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags           = {};
-    uint32_t                                   indexTypeCount               = {};
-    const VULKAN_HPP_NAMESPACE::IndexType *    pIndexTypes                  = {};
-    const uint32_t *                           pIndexTypeValues             = {};
-  };
-  static_assert( sizeof( IndirectCommandsLayoutTokenNV ) == sizeof( VkIndirectCommandsLayoutTokenNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<IndirectCommandsLayoutTokenNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eIndirectCommandsLayoutTokenNV>
-  {
-    using Type = IndirectCommandsLayoutTokenNV;
-  };
-
-  struct IndirectCommandsLayoutCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eIndirectCommandsLayoutCreateInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_ = {},
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
-      uint32_t                                tokenCount_        = {},
-      const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV * pTokens_        = {},
-      uint32_t                                                    streamCount_    = {},
-      const uint32_t *                                            pStreamStrides_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , tokenCount( tokenCount_ )
-      , pTokens( pTokens_ )
-      , streamCount( streamCount_ )
-      , pStreamStrides( pStreamStrides_ )
-    {}
-
-    IndirectCommandsLayoutCreateInfoNV( VkIndirectCommandsLayoutCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    IndirectCommandsLayoutCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_,
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint                  pipelineBindPoint_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV> const &
-                                                                            tokens_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & streamStrides_ = {} )
-      : flags( flags_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , tokenCount( static_cast<uint32_t>( tokens_.size() ) )
-      , pTokens( tokens_.data() )
-      , streamCount( static_cast<uint32_t>( streamStrides_.size() ) )
-      , pStreamStrides( streamStrides_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    IndirectCommandsLayoutCreateInfoNV &
-      operator=( VkIndirectCommandsLayoutCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    IndirectCommandsLayoutCreateInfoNV & operator=( IndirectCommandsLayoutCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      flags             = rhs.flags;
-      pipelineBindPoint = rhs.pipelineBindPoint;
-      tokenCount        = rhs.tokenCount;
-      pTokens           = rhs.pTokens;
-      streamCount       = rhs.streamCount;
-      pStreamStrides    = rhs.pStreamStrides;
-
-      return *this;
-    }
-
-    IndirectCommandsLayoutCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutCreateInfoNV &
-      setFlags( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutCreateInfoNV &
-      setPipelineBindPoint( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineBindPoint = pipelineBindPoint_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutCreateInfoNV & setTokenCount( uint32_t tokenCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tokenCount = tokenCount_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutCreateInfoNV &
-      setPTokens( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV * pTokens_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pTokens = pTokens_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    IndirectCommandsLayoutCreateInfoNV & setTokens(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV> const &
-        tokens_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tokenCount = static_cast<uint32_t>( tokens_.size() );
-      pTokens    = tokens_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    IndirectCommandsLayoutCreateInfoNV & setStreamCount( uint32_t streamCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      streamCount = streamCount_;
-      return *this;
-    }
-
-    IndirectCommandsLayoutCreateInfoNV & setPStreamStrides( const uint32_t * pStreamStrides_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pStreamStrides = pStreamStrides_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    IndirectCommandsLayoutCreateInfoNV & setStreamStrides(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & streamStrides_ ) VULKAN_HPP_NOEXCEPT
-    {
-      streamCount    = static_cast<uint32_t>( streamStrides_.size() );
-      pStreamStrides = streamStrides_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkIndirectCommandsLayoutCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( this );
-    }
-
-    operator VkIndirectCommandsLayoutCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkIndirectCommandsLayoutCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( IndirectCommandsLayoutCreateInfoNV const & ) const = default;
-#else
-    bool operator==( IndirectCommandsLayoutCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( pipelineBindPoint == rhs.pipelineBindPoint ) && ( tokenCount == rhs.tokenCount ) &&
-             ( pTokens == rhs.pTokens ) && ( streamCount == rhs.streamCount ) &&
-             ( pStreamStrides == rhs.pStreamStrides );
-    }
-
-    bool operator!=( IndirectCommandsLayoutCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                sType = StructureType::eIndirectCommandsLayoutCreateInfoNV;
-    const void *                                             pNext = {};
-    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags = {};
-    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint      = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
-    uint32_t                                tokenCount             = {};
-    const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV * pTokens        = {};
-    uint32_t                                                    streamCount    = {};
-    const uint32_t *                                            pStreamStrides = {};
-  };
-  static_assert( sizeof( IndirectCommandsLayoutCreateInfoNV ) == sizeof( VkIndirectCommandsLayoutCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<IndirectCommandsLayoutCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eIndirectCommandsLayoutCreateInfoNV>
-  {
-    using Type = IndirectCommandsLayoutCreateInfoNV;
-  };
-
-  struct InitializePerformanceApiInfoINTEL
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eInitializePerformanceApiInfoINTEL;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR InitializePerformanceApiInfoINTEL( void * pUserData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pUserData( pUserData_ )
-    {}
-
-    InitializePerformanceApiInfoINTEL( VkInitializePerformanceApiInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    InitializePerformanceApiInfoINTEL & operator=( VkInitializePerformanceApiInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL const *>( &rhs );
-      return *this;
-    }
-
-    InitializePerformanceApiInfoINTEL & operator=( InitializePerformanceApiInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext     = rhs.pNext;
-      pUserData = rhs.pUserData;
-
-      return *this;
-    }
-
-    InitializePerformanceApiInfoINTEL & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    InitializePerformanceApiInfoINTEL & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pUserData = pUserData_;
-      return *this;
-    }
-
-    operator VkInitializePerformanceApiInfoINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( this );
-    }
-
-    operator VkInitializePerformanceApiInfoINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkInitializePerformanceApiInfoINTEL *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( InitializePerformanceApiInfoINTEL const & ) const = default;
-#else
-    bool operator==( InitializePerformanceApiInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pUserData == rhs.pUserData );
-    }
-
-    bool operator!=( InitializePerformanceApiInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType     = StructureType::eInitializePerformanceApiInfoINTEL;
-    const void *                              pNext     = {};
-    void *                                    pUserData = {};
-  };
-  static_assert( sizeof( InitializePerformanceApiInfoINTEL ) == sizeof( VkInitializePerformanceApiInfoINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<InitializePerformanceApiInfoINTEL>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eInitializePerformanceApiInfoINTEL>
-  {
-    using Type = InitializePerformanceApiInfoINTEL;
-  };
-
-  struct InputAttachmentAspectReference
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    InputAttachmentAspectReference( uint32_t                               subpass_              = {},
-                                    uint32_t                               inputAttachmentIndex_ = {},
-                                    VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : subpass( subpass_ )
-      , inputAttachmentIndex( inputAttachmentIndex_ )
-      , aspectMask( aspectMask_ )
-    {}
-
-    InputAttachmentAspectReference( VkInputAttachmentAspectReference const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    InputAttachmentAspectReference & operator=( VkInputAttachmentAspectReference const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference const *>( &rhs );
-      return *this;
-    }
-
-    InputAttachmentAspectReference & setSubpass( uint32_t subpass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpass = subpass_;
-      return *this;
-    }
-
-    InputAttachmentAspectReference & setInputAttachmentIndex( uint32_t inputAttachmentIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inputAttachmentIndex = inputAttachmentIndex_;
-      return *this;
-    }
-
-    InputAttachmentAspectReference &
-      setAspectMask( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectMask = aspectMask_;
-      return *this;
-    }
-
-    operator VkInputAttachmentAspectReference const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkInputAttachmentAspectReference *>( this );
-    }
-
-    operator VkInputAttachmentAspectReference &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkInputAttachmentAspectReference *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( InputAttachmentAspectReference const & ) const = default;
-#else
-    bool operator==( InputAttachmentAspectReference const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( subpass == rhs.subpass ) && ( inputAttachmentIndex == rhs.inputAttachmentIndex ) &&
-             ( aspectMask == rhs.aspectMask );
-    }
-
-    bool operator!=( InputAttachmentAspectReference const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                               subpass              = {};
-    uint32_t                               inputAttachmentIndex = {};
-    VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask           = {};
-  };
-  static_assert( sizeof( InputAttachmentAspectReference ) == sizeof( VkInputAttachmentAspectReference ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<InputAttachmentAspectReference>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct InstanceCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eInstanceCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR InstanceCreateInfo( VULKAN_HPP_NAMESPACE::InstanceCreateFlags     flags_                 = {},
-                                             const VULKAN_HPP_NAMESPACE::ApplicationInfo * pApplicationInfo_      = {},
-                                             uint32_t                                      enabledLayerCount_     = {},
-                                             const char * const *                          ppEnabledLayerNames_   = {},
-                                             uint32_t                                      enabledExtensionCount_ = {},
-                                             const char * const * ppEnabledExtensionNames_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pApplicationInfo( pApplicationInfo_ )
-      , enabledLayerCount( enabledLayerCount_ )
-      , ppEnabledLayerNames( ppEnabledLayerNames_ )
-      , enabledExtensionCount( enabledExtensionCount_ )
-      , ppEnabledExtensionNames( ppEnabledExtensionNames_ )
-    {}
-
-    InstanceCreateInfo( VkInstanceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    InstanceCreateInfo(
-      VULKAN_HPP_NAMESPACE::InstanceCreateFlags                                 flags_,
-      const VULKAN_HPP_NAMESPACE::ApplicationInfo *                             pApplicationInfo_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledLayerNames_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ = {} )
-      : flags( flags_ )
-      , pApplicationInfo( pApplicationInfo_ )
-      , enabledLayerCount( static_cast<uint32_t>( pEnabledLayerNames_.size() ) )
-      , ppEnabledLayerNames( pEnabledLayerNames_.data() )
-      , enabledExtensionCount( static_cast<uint32_t>( pEnabledExtensionNames_.size() ) )
-      , ppEnabledExtensionNames( pEnabledExtensionNames_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    InstanceCreateInfo & operator=( VkInstanceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::InstanceCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    InstanceCreateInfo & operator=( InstanceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      flags                   = rhs.flags;
-      pApplicationInfo        = rhs.pApplicationInfo;
-      enabledLayerCount       = rhs.enabledLayerCount;
-      ppEnabledLayerNames     = rhs.ppEnabledLayerNames;
-      enabledExtensionCount   = rhs.enabledExtensionCount;
-      ppEnabledExtensionNames = rhs.ppEnabledExtensionNames;
-
-      return *this;
-    }
-
-    InstanceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    InstanceCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    InstanceCreateInfo &
-      setPApplicationInfo( const VULKAN_HPP_NAMESPACE::ApplicationInfo * pApplicationInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pApplicationInfo = pApplicationInfo_;
-      return *this;
-    }
-
-    InstanceCreateInfo & setEnabledLayerCount( uint32_t enabledLayerCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enabledLayerCount = enabledLayerCount_;
-      return *this;
-    }
-
-    InstanceCreateInfo & setPpEnabledLayerNames( const char * const * ppEnabledLayerNames_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ppEnabledLayerNames = ppEnabledLayerNames_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    InstanceCreateInfo & setPEnabledLayerNames(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledLayerNames_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      enabledLayerCount   = static_cast<uint32_t>( pEnabledLayerNames_.size() );
-      ppEnabledLayerNames = pEnabledLayerNames_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    InstanceCreateInfo & setEnabledExtensionCount( uint32_t enabledExtensionCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enabledExtensionCount = enabledExtensionCount_;
-      return *this;
-    }
-
-    InstanceCreateInfo & setPpEnabledExtensionNames( const char * const * ppEnabledExtensionNames_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ppEnabledExtensionNames = ppEnabledExtensionNames_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    InstanceCreateInfo & setPEnabledExtensionNames(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      enabledExtensionCount   = static_cast<uint32_t>( pEnabledExtensionNames_.size() );
-      ppEnabledExtensionNames = pEnabledExtensionNames_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkInstanceCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkInstanceCreateInfo *>( this );
-    }
-
-    operator VkInstanceCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkInstanceCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( InstanceCreateInfo const & ) const = default;
-#else
-    bool operator==( InstanceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( pApplicationInfo == rhs.pApplicationInfo ) && ( enabledLayerCount == rhs.enabledLayerCount ) &&
-             ( ppEnabledLayerNames == rhs.ppEnabledLayerNames ) &&
-             ( enabledExtensionCount == rhs.enabledExtensionCount ) &&
-             ( ppEnabledExtensionNames == rhs.ppEnabledExtensionNames );
-    }
-
-    bool operator!=( InstanceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType                   = StructureType::eInstanceCreateInfo;
-    const void *                                  pNext                   = {};
-    VULKAN_HPP_NAMESPACE::InstanceCreateFlags     flags                   = {};
-    const VULKAN_HPP_NAMESPACE::ApplicationInfo * pApplicationInfo        = {};
-    uint32_t                                      enabledLayerCount       = {};
-    const char * const *                          ppEnabledLayerNames     = {};
-    uint32_t                                      enabledExtensionCount   = {};
-    const char * const *                          ppEnabledExtensionNames = {};
-  };
-  static_assert( sizeof( InstanceCreateInfo ) == sizeof( VkInstanceCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<InstanceCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eInstanceCreateInfo>
-  {
-    using Type = InstanceCreateInfo;
-  };
-
-  struct LayerProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    LayerProperties( std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & layerName_             = {},
-                     uint32_t                                             specVersion_           = {},
-                     uint32_t                                             implementationVersion_ = {},
-                     std::array<char, VK_MAX_DESCRIPTION_SIZE> const &    description_ = {} ) VULKAN_HPP_NOEXCEPT
-      : layerName( layerName_ )
-      , specVersion( specVersion_ )
-      , implementationVersion( implementationVersion_ )
-      , description( description_ )
-    {}
-
-    LayerProperties( VkLayerProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    LayerProperties & operator=( VkLayerProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::LayerProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkLayerProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkLayerProperties *>( this );
-    }
-
-    operator VkLayerProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkLayerProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( LayerProperties const & ) const = default;
-#else
-    bool operator==( LayerProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( layerName == rhs.layerName ) && ( specVersion == rhs.specVersion ) &&
-             ( implementationVersion == rhs.implementationVersion ) && ( description == rhs.description );
-    }
-
-    bool operator!=( LayerProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> layerName             = {};
-    uint32_t                                                               specVersion           = {};
-    uint32_t                                                               implementationVersion = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>    description           = {};
-  };
-  static_assert( sizeof( LayerProperties ) == sizeof( VkLayerProperties ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<LayerProperties>::value, "struct wrapper is not a standard layout!" );
-
-#ifdef VK_USE_PLATFORM_MACOS_MVK
-  struct MacOSSurfaceCreateInfoMVK
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMacosSurfaceCreateInfoMVK;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MacOSSurfaceCreateInfoMVK( VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags_ = {},
-                                                    const void * pView_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pView( pView_ )
-    {}
-
-    MacOSSurfaceCreateInfoMVK( VkMacOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MacOSSurfaceCreateInfoMVK & operator=( VkMacOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const *>( &rhs );
-      return *this;
-    }
-
-    MacOSSurfaceCreateInfoMVK & operator=( MacOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
-      pView = rhs.pView;
-
-      return *this;
-    }
-
-    MacOSSurfaceCreateInfoMVK & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MacOSSurfaceCreateInfoMVK & setFlags( VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    MacOSSurfaceCreateInfoMVK & setPView( const void * pView_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pView = pView_;
-      return *this;
-    }
-
-    operator VkMacOSSurfaceCreateInfoMVK const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( this );
-    }
-
-    operator VkMacOSSurfaceCreateInfoMVK &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMacOSSurfaceCreateInfoMVK *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MacOSSurfaceCreateInfoMVK const & ) const = default;
-#  else
-    bool operator==( MacOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pView == rhs.pView );
-    }
-
-    bool operator!=( MacOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType = StructureType::eMacosSurfaceCreateInfoMVK;
-    const void *                                     pNext = {};
-    VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags = {};
-    const void *                                     pView = {};
-  };
-  static_assert( sizeof( MacOSSurfaceCreateInfoMVK ) == sizeof( VkMacOSSurfaceCreateInfoMVK ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MacOSSurfaceCreateInfoMVK>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMacosSurfaceCreateInfoMVK>
-  {
-    using Type = MacOSSurfaceCreateInfoMVK;
-  };
-#endif /*VK_USE_PLATFORM_MACOS_MVK*/
-
-  struct MappedMemoryRange
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMappedMemoryRange;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MappedMemoryRange( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
-                                            VULKAN_HPP_NAMESPACE::DeviceSize   offset_ = {},
-                                            VULKAN_HPP_NAMESPACE::DeviceSize   size_   = {} ) VULKAN_HPP_NOEXCEPT
-      : memory( memory_ )
-      , offset( offset_ )
-      , size( size_ )
-    {}
-
-    MappedMemoryRange( VkMappedMemoryRange const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MappedMemoryRange & operator=( VkMappedMemoryRange const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MappedMemoryRange const *>( &rhs );
-      return *this;
-    }
-
-    MappedMemoryRange & operator=( MappedMemoryRange const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      memory = rhs.memory;
-      offset = rhs.offset;
-      size   = rhs.size;
-
-      return *this;
-    }
-
-    MappedMemoryRange & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MappedMemoryRange & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
-
-    MappedMemoryRange & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
-
-    MappedMemoryRange & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
-
-    operator VkMappedMemoryRange const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMappedMemoryRange *>( this );
-    }
-
-    operator VkMappedMemoryRange &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMappedMemoryRange *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MappedMemoryRange const & ) const = default;
-#else
-    bool operator==( MappedMemoryRange const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( offset == rhs.offset ) &&
-             ( size == rhs.size );
-    }
-
-    bool operator!=( MappedMemoryRange const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eMappedMemoryRange;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory        memory = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          offset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          size   = {};
-  };
-  static_assert( sizeof( MappedMemoryRange ) == sizeof( VkMappedMemoryRange ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MappedMemoryRange>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMappedMemoryRange>
-  {
-    using Type = MappedMemoryRange;
-  };
-
-  struct MemoryAllocateFlagsInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryAllocateFlagsInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryAllocateFlagsInfo( VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags_ = {},
-                                                  uint32_t deviceMask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , deviceMask( deviceMask_ )
-    {}
-
-    MemoryAllocateFlagsInfo( VkMemoryAllocateFlagsInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryAllocateFlagsInfo & operator=( VkMemoryAllocateFlagsInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo const *>( &rhs );
-      return *this;
-    }
-
-    MemoryAllocateFlagsInfo & operator=( MemoryAllocateFlagsInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      flags      = rhs.flags;
-      deviceMask = rhs.deviceMask;
-
-      return *this;
-    }
-
-    MemoryAllocateFlagsInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryAllocateFlagsInfo & setFlags( VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    MemoryAllocateFlagsInfo & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceMask = deviceMask_;
-      return *this;
-    }
-
-    operator VkMemoryAllocateFlagsInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryAllocateFlagsInfo *>( this );
-    }
-
-    operator VkMemoryAllocateFlagsInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryAllocateFlagsInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryAllocateFlagsInfo const & ) const = default;
-#else
-    bool operator==( MemoryAllocateFlagsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( deviceMask == rhs.deviceMask );
-    }
-
-    bool operator!=( MemoryAllocateFlagsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eMemoryAllocateFlagsInfo;
-    const void *                              pNext      = {};
-    VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags      = {};
-    uint32_t                                  deviceMask = {};
-  };
-  static_assert( sizeof( MemoryAllocateFlagsInfo ) == sizeof( VkMemoryAllocateFlagsInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryAllocateFlagsInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryAllocateFlagsInfo>
-  {
-    using Type = MemoryAllocateFlagsInfo;
-  };
-
-  struct MemoryAllocateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryAllocateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryAllocateInfo( VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_ = {},
-                                             uint32_t memoryTypeIndex_                        = {} ) VULKAN_HPP_NOEXCEPT
-      : allocationSize( allocationSize_ )
-      , memoryTypeIndex( memoryTypeIndex_ )
-    {}
-
-    MemoryAllocateInfo( VkMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryAllocateInfo & operator=( VkMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const *>( &rhs );
-      return *this;
-    }
-
-    MemoryAllocateInfo & operator=( MemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      allocationSize  = rhs.allocationSize;
-      memoryTypeIndex = rhs.memoryTypeIndex;
-
-      return *this;
-    }
-
-    MemoryAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryAllocateInfo & setAllocationSize( VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      allocationSize = allocationSize_;
-      return *this;
-    }
-
-    MemoryAllocateInfo & setMemoryTypeIndex( uint32_t memoryTypeIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryTypeIndex = memoryTypeIndex_;
-      return *this;
-    }
-
-    operator VkMemoryAllocateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryAllocateInfo *>( this );
-    }
-
-    operator VkMemoryAllocateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryAllocateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryAllocateInfo const & ) const = default;
-#else
-    bool operator==( MemoryAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( allocationSize == rhs.allocationSize ) &&
-             ( memoryTypeIndex == rhs.memoryTypeIndex );
-    }
-
-    bool operator!=( MemoryAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eMemoryAllocateInfo;
-    const void *                              pNext           = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          allocationSize  = {};
-    uint32_t                                  memoryTypeIndex = {};
-  };
-  static_assert( sizeof( MemoryAllocateInfo ) == sizeof( VkMemoryAllocateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryAllocateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryAllocateInfo>
-  {
-    using Type = MemoryAllocateInfo;
-  };
-
-  struct MemoryBarrier
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryBarrier;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryBarrier( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
-                                        VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcAccessMask( srcAccessMask_ )
-      , dstAccessMask( dstAccessMask_ )
-    {}
-
-    MemoryBarrier( VkMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryBarrier & operator=( VkMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryBarrier const *>( &rhs );
-      return *this;
-    }
-
-    MemoryBarrier & operator=( MemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      srcAccessMask = rhs.srcAccessMask;
-      dstAccessMask = rhs.dstAccessMask;
-
-      return *this;
-    }
-
-    MemoryBarrier & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryBarrier & setSrcAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcAccessMask = srcAccessMask_;
-      return *this;
-    }
-
-    MemoryBarrier & setDstAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstAccessMask = dstAccessMask_;
-      return *this;
-    }
-
-    operator VkMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryBarrier *>( this );
-    }
-
-    operator VkMemoryBarrier &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryBarrier *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryBarrier const & ) const = default;
-#else
-    bool operator==( MemoryBarrier const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcAccessMask == rhs.srcAccessMask ) &&
-             ( dstAccessMask == rhs.dstAccessMask );
-    }
-
-    bool operator!=( MemoryBarrier const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::eMemoryBarrier;
-    const void *                              pNext         = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags         srcAccessMask = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags         dstAccessMask = {};
-  };
-  static_assert( sizeof( MemoryBarrier ) == sizeof( VkMemoryBarrier ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryBarrier>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryBarrier>
-  {
-    using Type = MemoryBarrier;
-  };
-
-  struct MemoryDedicatedAllocateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryDedicatedAllocateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryDedicatedAllocateInfo( VULKAN_HPP_NAMESPACE::Image  image_  = {},
-                                                      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : image( image_ )
-      , buffer( buffer_ )
-    {}
-
-    MemoryDedicatedAllocateInfo( VkMemoryDedicatedAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryDedicatedAllocateInfo & operator=( VkMemoryDedicatedAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo const *>( &rhs );
-      return *this;
-    }
-
-    MemoryDedicatedAllocateInfo & operator=( MemoryDedicatedAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      image  = rhs.image;
-      buffer = rhs.buffer;
-
-      return *this;
-    }
-
-    MemoryDedicatedAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryDedicatedAllocateInfo & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
-    {
-      image = image_;
-      return *this;
-    }
-
-    MemoryDedicatedAllocateInfo & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
-
-    operator VkMemoryDedicatedAllocateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryDedicatedAllocateInfo *>( this );
-    }
-
-    operator VkMemoryDedicatedAllocateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryDedicatedAllocateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryDedicatedAllocateInfo const & ) const = default;
-#else
-    bool operator==( MemoryDedicatedAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( buffer == rhs.buffer );
-    }
-
-    bool operator!=( MemoryDedicatedAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eMemoryDedicatedAllocateInfo;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::Image               image  = {};
-    VULKAN_HPP_NAMESPACE::Buffer              buffer = {};
-  };
-  static_assert( sizeof( MemoryDedicatedAllocateInfo ) == sizeof( VkMemoryDedicatedAllocateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryDedicatedAllocateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryDedicatedAllocateInfo>
-  {
-    using Type = MemoryDedicatedAllocateInfo;
-  };
-
-  struct MemoryDedicatedRequirements
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryDedicatedRequirements;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    MemoryDedicatedRequirements( VULKAN_HPP_NAMESPACE::Bool32 prefersDedicatedAllocation_  = {},
-                                 VULKAN_HPP_NAMESPACE::Bool32 requiresDedicatedAllocation_ = {} ) VULKAN_HPP_NOEXCEPT
-      : prefersDedicatedAllocation( prefersDedicatedAllocation_ )
-      , requiresDedicatedAllocation( requiresDedicatedAllocation_ )
-    {}
-
-    MemoryDedicatedRequirements( VkMemoryDedicatedRequirements const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryDedicatedRequirements & operator=( VkMemoryDedicatedRequirements const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements const *>( &rhs );
-      return *this;
-    }
-
-    MemoryDedicatedRequirements & operator=( MemoryDedicatedRequirements const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      prefersDedicatedAllocation  = rhs.prefersDedicatedAllocation;
-      requiresDedicatedAllocation = rhs.requiresDedicatedAllocation;
-
-      return *this;
-    }
-
-    operator VkMemoryDedicatedRequirements const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryDedicatedRequirements *>( this );
-    }
-
-    operator VkMemoryDedicatedRequirements &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryDedicatedRequirements *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryDedicatedRequirements const & ) const = default;
-#else
-    bool operator==( MemoryDedicatedRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( prefersDedicatedAllocation == rhs.prefersDedicatedAllocation ) &&
-             ( requiresDedicatedAllocation == rhs.requiresDedicatedAllocation );
-    }
-
-    bool operator!=( MemoryDedicatedRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                       = StructureType::eMemoryDedicatedRequirements;
-    void *                                    pNext                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              prefersDedicatedAllocation  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              requiresDedicatedAllocation = {};
-  };
-  static_assert( sizeof( MemoryDedicatedRequirements ) == sizeof( VkMemoryDedicatedRequirements ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryDedicatedRequirements>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryDedicatedRequirements>
-  {
-    using Type = MemoryDedicatedRequirements;
-  };
-
-  struct MemoryFdPropertiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryFdPropertiesKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryFdPropertiesKHR( uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryTypeBits( memoryTypeBits_ )
-    {}
-
-    MemoryFdPropertiesKHR( VkMemoryFdPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryFdPropertiesKHR & operator=( VkMemoryFdPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    MemoryFdPropertiesKHR & operator=( MemoryFdPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      memoryTypeBits = rhs.memoryTypeBits;
-
-      return *this;
-    }
-
-    operator VkMemoryFdPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryFdPropertiesKHR *>( this );
-    }
-
-    operator VkMemoryFdPropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryFdPropertiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryFdPropertiesKHR const & ) const = default;
-#else
-    bool operator==( MemoryFdPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
-    }
-
-    bool operator!=( MemoryFdPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eMemoryFdPropertiesKHR;
-    void *                                    pNext          = {};
-    uint32_t                                  memoryTypeBits = {};
-  };
-  static_assert( sizeof( MemoryFdPropertiesKHR ) == sizeof( VkMemoryFdPropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryFdPropertiesKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryFdPropertiesKHR>
-  {
-    using Type = MemoryFdPropertiesKHR;
-  };
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  struct MemoryGetAndroidHardwareBufferInfoANDROID
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    MemoryGetAndroidHardwareBufferInfoANDROID( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memory( memory_ )
-    {}
-
-    MemoryGetAndroidHardwareBufferInfoANDROID( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryGetAndroidHardwareBufferInfoANDROID &
-      operator=( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID const *>( &rhs );
-      return *this;
-    }
-
-    MemoryGetAndroidHardwareBufferInfoANDROID &
-      operator=( MemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      memory = rhs.memory;
-
-      return *this;
-    }
-
-    MemoryGetAndroidHardwareBufferInfoANDROID & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryGetAndroidHardwareBufferInfoANDROID &
-      setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
-
-    operator VkMemoryGetAndroidHardwareBufferInfoANDROID const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( this );
-    }
-
-    operator VkMemoryGetAndroidHardwareBufferInfoANDROID &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryGetAndroidHardwareBufferInfoANDROID *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryGetAndroidHardwareBufferInfoANDROID const & ) const = default;
-#  else
-    bool operator==( MemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory );
-    }
-
-    bool operator!=( MemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory        memory = {};
-  };
-  static_assert( sizeof( MemoryGetAndroidHardwareBufferInfoANDROID ) ==
-                   sizeof( VkMemoryGetAndroidHardwareBufferInfoANDROID ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryGetAndroidHardwareBufferInfoANDROID>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID>
-  {
-    using Type = MemoryGetAndroidHardwareBufferInfoANDROID;
-  };
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-  struct MemoryGetFdInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryGetFdInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    MemoryGetFdInfoKHR( VULKAN_HPP_NAMESPACE::DeviceMemory                     memory_ = {},
-                        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-                          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : memory( memory_ )
-      , handleType( handleType_ )
-    {}
-
-    MemoryGetFdInfoKHR( VkMemoryGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryGetFdInfoKHR & operator=( VkMemoryGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    MemoryGetFdInfoKHR & operator=( MemoryGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      memory     = rhs.memory;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    MemoryGetFdInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryGetFdInfoKHR & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
-
-    MemoryGetFdInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkMemoryGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryGetFdInfoKHR *>( this );
-    }
-
-    operator VkMemoryGetFdInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryGetFdInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryGetFdInfoKHR const & ) const = default;
-#else
-    bool operator==( MemoryGetFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( MemoryGetFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType  = StructureType::eMemoryGetFdInfoKHR;
-    const void *                                           pNext  = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory                     memory = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( MemoryGetFdInfoKHR ) == sizeof( VkMemoryGetFdInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryGetFdInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryGetFdInfoKHR>
-  {
-    using Type = MemoryGetFdInfoKHR;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct MemoryGetWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryGetWin32HandleInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryGetWin32HandleInfoKHR(
-      VULKAN_HPP_NAMESPACE::DeviceMemory                     memory_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : memory( memory_ )
-      , handleType( handleType_ )
-    {}
-
-    MemoryGetWin32HandleInfoKHR( VkMemoryGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryGetWin32HandleInfoKHR & operator=( VkMemoryGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    MemoryGetWin32HandleInfoKHR & operator=( MemoryGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      memory     = rhs.memory;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    MemoryGetWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryGetWin32HandleInfoKHR & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
-
-    MemoryGetWin32HandleInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkMemoryGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkMemoryGetWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryGetWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryGetWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( MemoryGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( MemoryGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType  = StructureType::eMemoryGetWin32HandleInfoKHR;
-    const void *                                           pNext  = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory                     memory = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( MemoryGetWin32HandleInfoKHR ) == sizeof( VkMemoryGetWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryGetWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryGetWin32HandleInfoKHR>
-  {
-    using Type = MemoryGetWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct MemoryGetZirconHandleInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eTempMemoryGetZirconHandleInfoFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryGetZirconHandleInfoFUCHSIA(
-      VULKAN_HPP_NAMESPACE::DeviceMemory                     memory_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : memory( memory_ )
-      , handleType( handleType_ )
-    {}
-
-    MemoryGetZirconHandleInfoFUCHSIA( VkMemoryGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryGetZirconHandleInfoFUCHSIA & operator=( VkMemoryGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    MemoryGetZirconHandleInfoFUCHSIA & operator=( MemoryGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      memory     = rhs.memory;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    MemoryGetZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryGetZirconHandleInfoFUCHSIA & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memory = memory_;
-      return *this;
-    }
-
-    MemoryGetZirconHandleInfoFUCHSIA &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkMemoryGetZirconHandleInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( this );
-    }
-
-    operator VkMemoryGetZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryGetZirconHandleInfoFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryGetZirconHandleInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( MemoryGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( MemoryGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::eTempMemoryGetZirconHandleInfoFUCHSIA;
-    const void *                                           pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory                     memory = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( MemoryGetZirconHandleInfoFUCHSIA ) == sizeof( VkMemoryGetZirconHandleInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryGetZirconHandleInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eTempMemoryGetZirconHandleInfoFUCHSIA>
-  {
-    using Type = MemoryGetZirconHandleInfoFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  struct MemoryHeap
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryHeap( VULKAN_HPP_NAMESPACE::DeviceSize      size_  = {},
-                                     VULKAN_HPP_NAMESPACE::MemoryHeapFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : size( size_ )
-      , flags( flags_ )
-    {}
-
-    MemoryHeap( VkMemoryHeap const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryHeap & operator=( VkMemoryHeap const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryHeap const *>( &rhs );
-      return *this;
-    }
-
-    operator VkMemoryHeap const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryHeap *>( this );
-    }
-
-    operator VkMemoryHeap &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryHeap *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryHeap const & ) const = default;
-#else
-    bool operator==( MemoryHeap const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( size == rhs.size ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( MemoryHeap const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceSize      size  = {};
-    VULKAN_HPP_NAMESPACE::MemoryHeapFlags flags = {};
-  };
-  static_assert( sizeof( MemoryHeap ) == sizeof( VkMemoryHeap ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryHeap>::value, "struct wrapper is not a standard layout!" );
-
-  struct MemoryHostPointerPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryHostPointerPropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryHostPointerPropertiesEXT( uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryTypeBits( memoryTypeBits_ )
-    {}
-
-    MemoryHostPointerPropertiesEXT( VkMemoryHostPointerPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryHostPointerPropertiesEXT & operator=( VkMemoryHostPointerPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    MemoryHostPointerPropertiesEXT & operator=( MemoryHostPointerPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      memoryTypeBits = rhs.memoryTypeBits;
-
-      return *this;
-    }
-
-    operator VkMemoryHostPointerPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryHostPointerPropertiesEXT *>( this );
-    }
-
-    operator VkMemoryHostPointerPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryHostPointerPropertiesEXT const & ) const = default;
-#else
-    bool operator==( MemoryHostPointerPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
-    }
-
-    bool operator!=( MemoryHostPointerPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eMemoryHostPointerPropertiesEXT;
-    void *                                    pNext          = {};
-    uint32_t                                  memoryTypeBits = {};
-  };
-  static_assert( sizeof( MemoryHostPointerPropertiesEXT ) == sizeof( VkMemoryHostPointerPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryHostPointerPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryHostPointerPropertiesEXT>
-  {
-    using Type = MemoryHostPointerPropertiesEXT;
-  };
-
-  struct MemoryOpResultFUCHSIA
-  {
-    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_ )
-    {}
-
-    MemoryOpResultFUCHSIA( VkMemoryOpResultFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryOpResultFUCHSIA & operator=( VkMemoryOpResultFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    MemoryOpResultFUCHSIA & operator=( MemoryOpResultFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      discardedOffset = rhs.discardedOffset;
-      discardedSize   = rhs.discardedSize;
-
-      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:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eMemoryOpResultFUCHSIA;
-    void *                                    pNext           = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          discardedOffset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          discardedSize   = {};
-  };
-  static_assert( sizeof( MemoryOpResultFUCHSIA ) == sizeof( VkMemoryOpResultFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryOpResultFUCHSIA>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryOpResultFUCHSIA>
-  {
-    using Type = MemoryOpResultFUCHSIA;
-  };
-
-  struct MemoryOpaqueCaptureAddressAllocateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eMemoryOpaqueCaptureAddressAllocateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    MemoryOpaqueCaptureAddressAllocateInfo( uint64_t opaqueCaptureAddress_ = {} ) VULKAN_HPP_NOEXCEPT
-      : opaqueCaptureAddress( opaqueCaptureAddress_ )
-    {}
-
-    MemoryOpaqueCaptureAddressAllocateInfo( VkMemoryOpaqueCaptureAddressAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryOpaqueCaptureAddressAllocateInfo &
-      operator=( VkMemoryOpaqueCaptureAddressAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo const *>( &rhs );
-      return *this;
-    }
-
-    MemoryOpaqueCaptureAddressAllocateInfo &
-      operator=( MemoryOpaqueCaptureAddressAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      opaqueCaptureAddress = rhs.opaqueCaptureAddress;
-
-      return *this;
-    }
-
-    MemoryOpaqueCaptureAddressAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryOpaqueCaptureAddressAllocateInfo &
-      setOpaqueCaptureAddress( uint64_t opaqueCaptureAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      opaqueCaptureAddress = opaqueCaptureAddress_;
-      return *this;
-    }
-
-    operator VkMemoryOpaqueCaptureAddressAllocateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo *>( this );
-    }
-
-    operator VkMemoryOpaqueCaptureAddressAllocateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryOpaqueCaptureAddressAllocateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryOpaqueCaptureAddressAllocateInfo const & ) const = default;
-#else
-    bool operator==( MemoryOpaqueCaptureAddressAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( opaqueCaptureAddress == rhs.opaqueCaptureAddress );
-    }
-
-    bool operator!=( MemoryOpaqueCaptureAddressAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryOpaqueCaptureAddressAllocateInfo;
-    const void *                              pNext = {};
-    uint64_t                                  opaqueCaptureAddress = {};
-  };
-  static_assert( sizeof( MemoryOpaqueCaptureAddressAllocateInfo ) == sizeof( VkMemoryOpaqueCaptureAddressAllocateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryOpaqueCaptureAddressAllocateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryOpaqueCaptureAddressAllocateInfo>
-  {
-    using Type = MemoryOpaqueCaptureAddressAllocateInfo;
-  };
-
-  struct MemoryPriorityAllocateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryPriorityAllocateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryPriorityAllocateInfoEXT( float priority_ = {} ) VULKAN_HPP_NOEXCEPT
-      : priority( priority_ )
-    {}
-
-    MemoryPriorityAllocateInfoEXT( VkMemoryPriorityAllocateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryPriorityAllocateInfoEXT & operator=( VkMemoryPriorityAllocateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    MemoryPriorityAllocateInfoEXT & operator=( MemoryPriorityAllocateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      priority = rhs.priority;
-
-      return *this;
-    }
-
-    MemoryPriorityAllocateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MemoryPriorityAllocateInfoEXT & setPriority( float priority_ ) VULKAN_HPP_NOEXCEPT
-    {
-      priority = priority_;
-      return *this;
-    }
-
-    operator VkMemoryPriorityAllocateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT *>( this );
-    }
-
-    operator VkMemoryPriorityAllocateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryPriorityAllocateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryPriorityAllocateInfoEXT const & ) const = default;
-#else
-    bool operator==( MemoryPriorityAllocateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( priority == rhs.priority );
-    }
-
-    bool operator!=( MemoryPriorityAllocateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::eMemoryPriorityAllocateInfoEXT;
-    const void *                              pNext    = {};
-    float                                     priority = {};
-  };
-  static_assert( sizeof( MemoryPriorityAllocateInfoEXT ) == sizeof( VkMemoryPriorityAllocateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryPriorityAllocateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryPriorityAllocateInfoEXT>
-  {
-    using Type = MemoryPriorityAllocateInfoEXT;
-  };
-
-  struct MemoryRangeFUCHSIA
-  {
-    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_ )
-    {}
-
-    MemoryRangeFUCHSIA( VkMemoryRangeFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryRangeFUCHSIA & operator=( VkMemoryRangeFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    MemoryRangeFUCHSIA & operator=( MemoryRangeFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      memory = rhs.memory;
-      offset = rhs.offset;
-      size   = rhs.size;
-
-      return *this;
-    }
-
-    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;
-    }
-
-    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:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eMemoryRangeFUCHSIA;
-    void *                                    pNext  = {};
-    VULKAN_HPP_NAMESPACE::DeviceMemory        memory = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          offset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          size   = {};
-  };
-  static_assert( sizeof( MemoryRangeFUCHSIA ) == sizeof( VkMemoryRangeFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryRangeFUCHSIA>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryRangeFUCHSIA>
-  {
-    using Type = MemoryRangeFUCHSIA;
-  };
-
-  struct MemoryRequirements
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryRequirements( VULKAN_HPP_NAMESPACE::DeviceSize size_           = {},
-                                             VULKAN_HPP_NAMESPACE::DeviceSize alignment_      = {},
-                                             uint32_t                         memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT
-      : size( size_ )
-      , alignment( alignment_ )
-      , memoryTypeBits( memoryTypeBits_ )
-    {}
-
-    MemoryRequirements( VkMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryRequirements & operator=( VkMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRequirements const *>( &rhs );
-      return *this;
-    }
-
-    operator VkMemoryRequirements const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryRequirements *>( this );
-    }
-
-    operator VkMemoryRequirements &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryRequirements *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryRequirements const & ) const = default;
-#else
-    bool operator==( MemoryRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( size == rhs.size ) && ( alignment == rhs.alignment ) && ( memoryTypeBits == rhs.memoryTypeBits );
-    }
-
-    bool operator!=( MemoryRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::DeviceSize size           = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize alignment      = {};
-    uint32_t                         memoryTypeBits = {};
-  };
-  static_assert( sizeof( MemoryRequirements ) == sizeof( VkMemoryRequirements ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryRequirements>::value, "struct wrapper is not a standard layout!" );
-
-  struct MemoryRequirements2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryRequirements2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    MemoryRequirements2( VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryRequirements( memoryRequirements_ )
-    {}
-
-    MemoryRequirements2( VkMemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryRequirements2 & operator=( VkMemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRequirements2 const *>( &rhs );
-      return *this;
-    }
-
-    MemoryRequirements2 & operator=( MemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      memoryRequirements = rhs.memoryRequirements;
-
-      return *this;
-    }
-
-    operator VkMemoryRequirements2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryRequirements2 *>( this );
-    }
-
-    operator VkMemoryRequirements2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryRequirements2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryRequirements2 const & ) const = default;
-#else
-    bool operator==( MemoryRequirements2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryRequirements == rhs.memoryRequirements );
-    }
-
-    bool operator!=( MemoryRequirements2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType              = StructureType::eMemoryRequirements2;
-    void *                                    pNext              = {};
-    VULKAN_HPP_NAMESPACE::MemoryRequirements  memoryRequirements = {};
-  };
-  static_assert( sizeof( MemoryRequirements2 ) == sizeof( VkMemoryRequirements2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryRequirements2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryRequirements2>
-  {
-    using Type = MemoryRequirements2;
-  };
-
-  struct MemoryType
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryType( VULKAN_HPP_NAMESPACE::MemoryPropertyFlags propertyFlags_ = {},
-                                     uint32_t                                  heapIndex_     = {} ) VULKAN_HPP_NOEXCEPT
-      : propertyFlags( propertyFlags_ )
-      , heapIndex( heapIndex_ )
-    {}
-
-    MemoryType( VkMemoryType const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryType & operator=( VkMemoryType const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryType const *>( &rhs );
-      return *this;
-    }
-
-    operator VkMemoryType const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryType *>( this );
-    }
-
-    operator VkMemoryType &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryType *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryType const & ) const = default;
-#else
-    bool operator==( MemoryType const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( propertyFlags == rhs.propertyFlags ) && ( heapIndex == rhs.heapIndex );
-    }
-
-    bool operator!=( MemoryType const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::MemoryPropertyFlags propertyFlags = {};
-    uint32_t                                  heapIndex     = {};
-  };
-  static_assert( sizeof( MemoryType ) == sizeof( VkMemoryType ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryType>::value, "struct wrapper is not a standard layout!" );
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct MemoryWin32HandlePropertiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryWin32HandlePropertiesKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryWin32HandlePropertiesKHR( uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryTypeBits( memoryTypeBits_ )
-    {}
-
-    MemoryWin32HandlePropertiesKHR( VkMemoryWin32HandlePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryWin32HandlePropertiesKHR & operator=( VkMemoryWin32HandlePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    MemoryWin32HandlePropertiesKHR & operator=( MemoryWin32HandlePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      memoryTypeBits = rhs.memoryTypeBits;
-
-      return *this;
-    }
-
-    operator VkMemoryWin32HandlePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryWin32HandlePropertiesKHR *>( this );
-    }
-
-    operator VkMemoryWin32HandlePropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryWin32HandlePropertiesKHR const & ) const = default;
-#  else
-    bool operator==( MemoryWin32HandlePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
-    }
-
-    bool operator!=( MemoryWin32HandlePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eMemoryWin32HandlePropertiesKHR;
-    void *                                    pNext          = {};
-    uint32_t                                  memoryTypeBits = {};
-  };
-  static_assert( sizeof( MemoryWin32HandlePropertiesKHR ) == sizeof( VkMemoryWin32HandlePropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryWin32HandlePropertiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMemoryWin32HandlePropertiesKHR>
-  {
-    using Type = MemoryWin32HandlePropertiesKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct MemoryZirconHandlePropertiesFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eTempMemoryZirconHandlePropertiesFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MemoryZirconHandlePropertiesFUCHSIA( uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryTypeBits( memoryTypeBits_ )
-    {}
-
-    MemoryZirconHandlePropertiesFUCHSIA( VkMemoryZirconHandlePropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MemoryZirconHandlePropertiesFUCHSIA &
-      operator=( VkMemoryZirconHandlePropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    MemoryZirconHandlePropertiesFUCHSIA &
-      operator=( MemoryZirconHandlePropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      memoryTypeBits = rhs.memoryTypeBits;
-
-      return *this;
-    }
-
-    operator VkMemoryZirconHandlePropertiesFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMemoryZirconHandlePropertiesFUCHSIA *>( this );
-    }
-
-    operator VkMemoryZirconHandlePropertiesFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MemoryZirconHandlePropertiesFUCHSIA const & ) const = default;
-#  else
-    bool operator==( MemoryZirconHandlePropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
-    }
-
-    bool operator!=( MemoryZirconHandlePropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eTempMemoryZirconHandlePropertiesFUCHSIA;
-    void *                                    pNext          = {};
-    uint32_t                                  memoryTypeBits = {};
-  };
-  static_assert( sizeof( MemoryZirconHandlePropertiesFUCHSIA ) == sizeof( VkMemoryZirconHandlePropertiesFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MemoryZirconHandlePropertiesFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eTempMemoryZirconHandlePropertiesFUCHSIA>
-  {
-    using Type = MemoryZirconHandlePropertiesFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_METAL_EXT
-  struct MetalSurfaceCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMetalSurfaceCreateInfoEXT;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR MetalSurfaceCreateInfoEXT( VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags_ = {},
-                                                    const CAMetalLayer * pLayer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pLayer( pLayer_ )
-    {}
-
-    MetalSurfaceCreateInfoEXT( VkMetalSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MetalSurfaceCreateInfoEXT & operator=( VkMetalSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    MetalSurfaceCreateInfoEXT & operator=( MetalSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      flags  = rhs.flags;
-      pLayer = rhs.pLayer;
-
-      return *this;
-    }
-
-    MetalSurfaceCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    MetalSurfaceCreateInfoEXT & setFlags( VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    MetalSurfaceCreateInfoEXT & setPLayer( const CAMetalLayer * pLayer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pLayer = pLayer_;
-      return *this;
-    }
-
-    operator VkMetalSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( this );
-    }
-
-    operator VkMetalSurfaceCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMetalSurfaceCreateInfoEXT *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MetalSurfaceCreateInfoEXT const & ) const = default;
-#  else
-    bool operator==( MetalSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pLayer == rhs.pLayer );
-    }
-
-    bool operator!=( MetalSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType  = StructureType::eMetalSurfaceCreateInfoEXT;
-    const void *                                     pNext  = {};
-    VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags  = {};
-    const CAMetalLayer *                             pLayer = {};
-  };
-  static_assert( sizeof( MetalSurfaceCreateInfoEXT ) == sizeof( VkMetalSurfaceCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MetalSurfaceCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMetalSurfaceCreateInfoEXT>
-  {
-    using Type = MetalSurfaceCreateInfoEXT;
-  };
-#endif /*VK_USE_PLATFORM_METAL_EXT*/
-
-  struct MultisamplePropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMultisamplePropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    MultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxSampleLocationGridSize( maxSampleLocationGridSize_ )
-    {}
-
-    MultisamplePropertiesEXT( VkMultisamplePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    MultisamplePropertiesEXT & operator=( VkMultisamplePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    MultisamplePropertiesEXT & operator=( MultisamplePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      maxSampleLocationGridSize = rhs.maxSampleLocationGridSize;
-
-      return *this;
-    }
-
-    operator VkMultisamplePropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkMultisamplePropertiesEXT *>( this );
-    }
-
-    operator VkMultisamplePropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkMultisamplePropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( MultisamplePropertiesEXT const & ) const = default;
-#else
-    bool operator==( MultisamplePropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxSampleLocationGridSize == rhs.maxSampleLocationGridSize );
-    }
-
-    bool operator!=( MultisamplePropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                     = StructureType::eMultisamplePropertiesEXT;
-    void *                                    pNext                     = {};
-    VULKAN_HPP_NAMESPACE::Extent2D            maxSampleLocationGridSize = {};
-  };
-  static_assert( sizeof( MultisamplePropertiesEXT ) == sizeof( VkMultisamplePropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<MultisamplePropertiesEXT>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eMultisamplePropertiesEXT>
-  {
-    using Type = MultisamplePropertiesEXT;
-  };
-
-  struct PastPresentationTimingGOOGLE
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PastPresentationTimingGOOGLE( uint32_t presentID_           = {},
-                                                       uint64_t desiredPresentTime_  = {},
-                                                       uint64_t actualPresentTime_   = {},
-                                                       uint64_t earliestPresentTime_ = {},
-                                                       uint64_t presentMargin_       = {} ) VULKAN_HPP_NOEXCEPT
-      : presentID( presentID_ )
-      , desiredPresentTime( desiredPresentTime_ )
-      , actualPresentTime( actualPresentTime_ )
-      , earliestPresentTime( earliestPresentTime_ )
-      , presentMargin( presentMargin_ )
-    {}
-
-    PastPresentationTimingGOOGLE( VkPastPresentationTimingGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PastPresentationTimingGOOGLE & operator=( VkPastPresentationTimingGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE const *>( &rhs );
-      return *this;
-    }
-
-    operator VkPastPresentationTimingGOOGLE const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPastPresentationTimingGOOGLE *>( this );
-    }
-
-    operator VkPastPresentationTimingGOOGLE &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPastPresentationTimingGOOGLE *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PastPresentationTimingGOOGLE const & ) const = default;
-#else
-    bool operator==( PastPresentationTimingGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( presentID == rhs.presentID ) && ( desiredPresentTime == rhs.desiredPresentTime ) &&
-             ( actualPresentTime == rhs.actualPresentTime ) && ( earliestPresentTime == rhs.earliestPresentTime ) &&
-             ( presentMargin == rhs.presentMargin );
-    }
-
-    bool operator!=( PastPresentationTimingGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t presentID           = {};
-    uint64_t desiredPresentTime  = {};
-    uint64_t actualPresentTime   = {};
-    uint64_t earliestPresentTime = {};
-    uint64_t presentMargin       = {};
-  };
-  static_assert( sizeof( PastPresentationTimingGOOGLE ) == sizeof( VkPastPresentationTimingGOOGLE ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PastPresentationTimingGOOGLE>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct PerformanceConfigurationAcquireInfoINTEL
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PerformanceConfigurationAcquireInfoINTEL {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePerformanceConfigurationAcquireInfoINTEL;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PerformanceConfigurationAcquireInfoINTEL(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PerformanceConfigurationAcquireInfoINTEL(
       VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL type_ =
-        VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL::eCommandQueueMetricsDiscoveryActivated )
-      VULKAN_HPP_NOEXCEPT : type( type_ )
-    {}
+          VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL::
+              eCommandQueueMetricsDiscoveryActivated) VULKAN_HPP_NOEXCEPT
+      : type(type_) {}
 
-    PerformanceConfigurationAcquireInfoINTEL( VkPerformanceConfigurationAcquireInfoINTEL const & rhs )
+  VULKAN_HPP_CONSTEXPR PerformanceConfigurationAcquireInfoINTEL(
+      PerformanceConfigurationAcquireInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceConfigurationAcquireInfoINTEL(
+      VkPerformanceConfigurationAcquireInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
+      : PerformanceConfigurationAcquireInfoINTEL(
+            *reinterpret_cast<PerformanceConfigurationAcquireInfoINTEL const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceConfigurationAcquireInfoINTEL &
+  operator=(PerformanceConfigurationAcquireInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceConfigurationAcquireInfoINTEL &
+  operator=(VkPerformanceConfigurationAcquireInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const *>(
+        &rhs);
+    return *this;
+  }
+
+  PerformanceConfigurationAcquireInfoINTEL &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PerformanceConfigurationAcquireInfoINTEL &
+  setType(VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
+
+  operator VkPerformanceConfigurationAcquireInfoINTEL const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPerformanceConfigurationAcquireInfoINTEL *>(this);
+  }
+
+  operator VkPerformanceConfigurationAcquireInfoINTEL &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceConfigurationAcquireInfoINTEL *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PerformanceConfigurationAcquireInfoINTEL const &) const = default;
+#else
+  bool operator==(PerformanceConfigurationAcquireInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (type == rhs.type);
+  }
+
+  bool operator!=(PerformanceConfigurationAcquireInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePerformanceConfigurationAcquireInfoINTEL;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL type =
+      VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL::
+          eCommandQueueMetricsDiscoveryActivated;
+};
+static_assert(sizeof(PerformanceConfigurationAcquireInfoINTEL) ==
+                  sizeof(VkPerformanceConfigurationAcquireInfoINTEL),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PerformanceConfigurationAcquireInfoINTEL>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePerformanceConfigurationAcquireInfoINTEL> {
+  using Type = PerformanceConfigurationAcquireInfoINTEL;
+};
+
+class PerformanceConfigurationINTEL {
+public:
+  using CType = VkPerformanceConfigurationINTEL;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType =
+          VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
+
+public:
+  VULKAN_HPP_CONSTEXPR PerformanceConfigurationINTEL() = default;
+  VULKAN_HPP_CONSTEXPR
+  PerformanceConfigurationINTEL(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT PerformanceConfigurationINTEL(
+      VkPerformanceConfigurationINTEL performanceConfigurationINTEL)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : m_performanceConfigurationINTEL(performanceConfigurationINTEL) {}
 
-    PerformanceConfigurationAcquireInfoINTEL &
-      operator=( VkPerformanceConfigurationAcquireInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const *>( &rhs );
-      return *this;
-    }
-
-    PerformanceConfigurationAcquireInfoINTEL &
-      operator=( PerformanceConfigurationAcquireInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      type  = rhs.type;
-
-      return *this;
-    }
-
-    PerformanceConfigurationAcquireInfoINTEL & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PerformanceConfigurationAcquireInfoINTEL &
-      setType( VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    operator VkPerformanceConfigurationAcquireInfoINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( this );
-    }
-
-    operator VkPerformanceConfigurationAcquireInfoINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceConfigurationAcquireInfoINTEL *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceConfigurationAcquireInfoINTEL const & ) const = default;
-#else
-    bool operator==( PerformanceConfigurationAcquireInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type );
-    }
-
-    bool operator!=( PerformanceConfigurationAcquireInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  PerformanceConfigurationINTEL &
+  operator=(VkPerformanceConfigurationINTEL performanceConfigurationINTEL)
+      VULKAN_HPP_NOEXCEPT {
+    m_performanceConfigurationINTEL = performanceConfigurationINTEL;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceConfigurationAcquireInfoINTEL;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL type =
-      VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL::eCommandQueueMetricsDiscoveryActivated;
-  };
-  static_assert( sizeof( PerformanceConfigurationAcquireInfoINTEL ) ==
-                   sizeof( VkPerformanceConfigurationAcquireInfoINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceConfigurationAcquireInfoINTEL>::value,
-                 "struct wrapper is not a standard layout!" );
+  PerformanceConfigurationINTEL &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_performanceConfigurationINTEL = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePerformanceConfigurationAcquireInfoINTEL>
-  {
-    using Type = PerformanceConfigurationAcquireInfoINTEL;
-  };
-
-  struct PerformanceCounterDescriptionKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceCounterDescriptionKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PerformanceCounterDescriptionKHR(
-      VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsKHR flags_       = {},
-      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &           name_        = {},
-      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &           category_    = {},
-      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &           description_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , name( name_ )
-      , category( category_ )
-      , description( description_ )
-    {}
-
-    PerformanceCounterDescriptionKHR( VkPerformanceCounterDescriptionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PerformanceCounterDescriptionKHR & operator=( VkPerformanceCounterDescriptionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR const *>( &rhs );
-      return *this;
-    }
-
-    PerformanceCounterDescriptionKHR & operator=( PerformanceCounterDescriptionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      flags       = rhs.flags;
-      name        = rhs.name;
-      category    = rhs.category;
-      description = rhs.description;
-
-      return *this;
-    }
-
-    operator VkPerformanceCounterDescriptionKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceCounterDescriptionKHR *>( this );
-    }
-
-    operator VkPerformanceCounterDescriptionKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceCounterDescriptionKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PerformanceConfigurationINTEL const &) const = default;
 #else
-    bool operator==( PerformanceCounterDescriptionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( name == rhs.name ) &&
-             ( category == rhs.category ) && ( description == rhs.description );
-    }
+  bool operator==(PerformanceConfigurationINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return m_performanceConfigurationINTEL ==
+           rhs.m_performanceConfigurationINTEL;
+  }
 
-    bool operator!=( PerformanceCounterDescriptionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PerformanceConfigurationINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return m_performanceConfigurationINTEL !=
+           rhs.m_performanceConfigurationINTEL;
+  }
+
+  bool operator<(PerformanceConfigurationINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return m_performanceConfigurationINTEL <
+           rhs.m_performanceConfigurationINTEL;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceCounterDescriptionKHR;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsKHR         flags       = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name        = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> category    = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> description = {};
-  };
-  static_assert( sizeof( PerformanceCounterDescriptionKHR ) == sizeof( VkPerformanceCounterDescriptionKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceCounterDescriptionKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkPerformanceConfigurationINTEL() const VULKAN_HPP_NOEXCEPT {
+    return m_performanceConfigurationINTEL;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePerformanceCounterDescriptionKHR>
-  {
-    using Type = PerformanceCounterDescriptionKHR;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_performanceConfigurationINTEL != VK_NULL_HANDLE;
+  }
 
-  struct PerformanceCounterKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePerformanceCounterKHR;
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_performanceConfigurationINTEL == VK_NULL_HANDLE;
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PerformanceCounterKHR(
-      VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR unit_ = VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR::eGeneric,
-      VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR scope_ =
-        VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR::eCommandBuffer,
-      VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR storage_ =
-        VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR::eInt32,
-      std::array<uint8_t, VK_UUID_SIZE> const & uuid_ = {} ) VULKAN_HPP_NOEXCEPT
-      : unit( unit_ )
-      , scope( scope_ )
-      , storage( storage_ )
-      , uuid( uuid_ )
-    {}
+private:
+  VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL) ==
+                  sizeof(VkPerformanceConfigurationINTEL),
+              "handle and wrapper have different size!");
 
-    PerformanceCounterKHR( VkPerformanceCounterKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::ePerformanceConfigurationINTEL> {
+  using type = VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL;
+};
 
-    PerformanceCounterKHR & operator=( VkPerformanceCounterKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR const *>( &rhs );
-      return *this;
-    }
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::ObjectType,
+    VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL> {
+  using Type = VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL;
+};
 
-    PerformanceCounterKHR & operator=( PerformanceCounterKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext   = rhs.pNext;
-      unit    = rhs.unit;
-      scope   = rhs.scope;
-      storage = rhs.storage;
-      uuid    = rhs.uuid;
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-      return *this;
-    }
+struct MemoryAllocateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryAllocateInfo;
 
-    operator VkPerformanceCounterKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceCounterKHR *>( this );
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  MemoryAllocateInfo(VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_ = {},
+                     uint32_t memoryTypeIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : allocationSize(allocationSize_),
+        memoryTypeIndex(memoryTypeIndex_) {}
 
-    operator VkPerformanceCounterKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceCounterKHR *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR MemoryAllocateInfo(MemoryAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceCounterKHR const & ) const = default;
+  MemoryAllocateInfo(VkMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryAllocateInfo(
+            *reinterpret_cast<MemoryAllocateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryAllocateInfo &
+  operator=(MemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryAllocateInfo &
+  operator=(VkMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  MemoryAllocateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryAllocateInfo &setAllocationSize(
+      VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_) VULKAN_HPP_NOEXCEPT {
+    allocationSize = allocationSize_;
+    return *this;
+  }
+
+  MemoryAllocateInfo &
+  setMemoryTypeIndex(uint32_t memoryTypeIndex_) VULKAN_HPP_NOEXCEPT {
+    memoryTypeIndex = memoryTypeIndex_;
+    return *this;
+  }
+
+  operator VkMemoryAllocateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryAllocateInfo *>(this);
+  }
+
+  operator VkMemoryAllocateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryAllocateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryAllocateInfo const &) const = default;
 #else
-    bool operator==( PerformanceCounterKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( unit == rhs.unit ) && ( scope == rhs.scope ) &&
-             ( storage == rhs.storage ) && ( uuid == rhs.uuid );
-    }
+  bool operator==(MemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (allocationSize == rhs.allocationSize) &&
+           (memoryTypeIndex == rhs.memoryTypeIndex);
+  }
 
-    bool operator!=( PerformanceCounterKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(MemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType = StructureType::ePerformanceCounterKHR;
-    const void *                                     pNext = {};
-    VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR  unit  = VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR::eGeneric;
-    VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR scope =
-      VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR::eCommandBuffer;
-    VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR storage =
-      VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR::eInt32;
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> uuid = {};
-  };
-  static_assert( sizeof( PerformanceCounterKHR ) == sizeof( VkPerformanceCounterKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceCounterKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryAllocateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize allocationSize = {};
+  uint32_t memoryTypeIndex = {};
+};
+static_assert(sizeof(MemoryAllocateInfo) == sizeof(VkMemoryAllocateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryAllocateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePerformanceCounterKHR>
-  {
-    using Type = PerformanceCounterKHR;
-  };
+template <> struct CppType<StructureType, StructureType::eMemoryAllocateInfo> {
+  using Type = MemoryAllocateInfo;
+};
 
-  union PerformanceCounterResultKHR
-  {
-    PerformanceCounterResultKHR( VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR ) );
-    }
+class DeferredOperationKHR {
+public:
+  using CType = VkDeferredOperationKHR;
 
-    PerformanceCounterResultKHR( int32_t int32_ = {} ) : int32( int32_ ) {}
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
 
-    PerformanceCounterResultKHR( int64_t int64_ ) : int64( int64_ ) {}
+public:
+  VULKAN_HPP_CONSTEXPR DeferredOperationKHR() = default;
+  VULKAN_HPP_CONSTEXPR
+  DeferredOperationKHR(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT DeferredOperationKHR(
+      VkDeferredOperationKHR deferredOperationKHR) VULKAN_HPP_NOEXCEPT
+      : m_deferredOperationKHR(deferredOperationKHR) {}
 
-    PerformanceCounterResultKHR( uint32_t uint32_ ) : uint32( uint32_ ) {}
-
-    PerformanceCounterResultKHR( uint64_t uint64_ ) : uint64( uint64_ ) {}
-
-    PerformanceCounterResultKHR( float float32_ ) : float32( float32_ ) {}
-
-    PerformanceCounterResultKHR( double float64_ ) : float64( float64_ ) {}
-
-    PerformanceCounterResultKHR & setInt32( int32_t int32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      int32 = int32_;
-      return *this;
-    }
-
-    PerformanceCounterResultKHR & setInt64( int64_t int64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      int64 = int64_;
-      return *this;
-    }
-
-    PerformanceCounterResultKHR & setUint32( uint32_t uint32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uint32 = uint32_;
-      return *this;
-    }
-
-    PerformanceCounterResultKHR & setUint64( uint64_t uint64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uint64 = uint64_;
-      return *this;
-    }
-
-    PerformanceCounterResultKHR & setFloat32( float float32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      float32 = float32_;
-      return *this;
-    }
-
-    PerformanceCounterResultKHR & setFloat64( double float64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      float64 = float64_;
-      return *this;
-    }
-
-    VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR &
-      operator=( VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR ) );
-      return *this;
-    }
-
-    operator VkPerformanceCounterResultKHR const &() const
-    {
-      return *reinterpret_cast<const VkPerformanceCounterResultKHR *>( this );
-    }
-
-    operator VkPerformanceCounterResultKHR &()
-    {
-      return *reinterpret_cast<VkPerformanceCounterResultKHR *>( this );
-    }
-
-    int32_t  int32;
-    int64_t  int64;
-    uint32_t uint32;
-    uint64_t uint64;
-    float    float32;
-    double   float64;
-  };
-
-  struct PerformanceMarkerInfoINTEL
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePerformanceMarkerInfoINTEL;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PerformanceMarkerInfoINTEL( uint64_t marker_ = {} ) VULKAN_HPP_NOEXCEPT : marker( marker_ ) {}
-
-    PerformanceMarkerInfoINTEL( VkPerformanceMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PerformanceMarkerInfoINTEL & operator=( VkPerformanceMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL const *>( &rhs );
-      return *this;
-    }
-
-    PerformanceMarkerInfoINTEL & operator=( PerformanceMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      marker = rhs.marker;
-
-      return *this;
-    }
-
-    PerformanceMarkerInfoINTEL & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PerformanceMarkerInfoINTEL & setMarker( uint64_t marker_ ) VULKAN_HPP_NOEXCEPT
-    {
-      marker = marker_;
-      return *this;
-    }
-
-    operator VkPerformanceMarkerInfoINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( this );
-    }
-
-    operator VkPerformanceMarkerInfoINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceMarkerInfoINTEL *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceMarkerInfoINTEL const & ) const = default;
-#else
-    bool operator==( PerformanceMarkerInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( marker == rhs.marker );
-    }
-
-    bool operator!=( PerformanceMarkerInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DeferredOperationKHR &
+  operator=(VkDeferredOperationKHR deferredOperationKHR) VULKAN_HPP_NOEXCEPT {
+    m_deferredOperationKHR = deferredOperationKHR;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::ePerformanceMarkerInfoINTEL;
-    const void *                              pNext  = {};
-    uint64_t                                  marker = {};
-  };
-  static_assert( sizeof( PerformanceMarkerInfoINTEL ) == sizeof( VkPerformanceMarkerInfoINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceMarkerInfoINTEL>::value,
-                 "struct wrapper is not a standard layout!" );
+  DeferredOperationKHR &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_deferredOperationKHR = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePerformanceMarkerInfoINTEL>
-  {
-    using Type = PerformanceMarkerInfoINTEL;
-  };
-
-  struct PerformanceOverrideInfoINTEL
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePerformanceOverrideInfoINTEL;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PerformanceOverrideInfoINTEL( VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type_ =
-                                    VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL::eNullHardware,
-                                  VULKAN_HPP_NAMESPACE::Bool32 enable_    = {},
-                                  uint64_t                     parameter_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , enable( enable_ )
-      , parameter( parameter_ )
-    {}
-
-    PerformanceOverrideInfoINTEL( VkPerformanceOverrideInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PerformanceOverrideInfoINTEL & operator=( VkPerformanceOverrideInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL const *>( &rhs );
-      return *this;
-    }
-
-    PerformanceOverrideInfoINTEL & operator=( PerformanceOverrideInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext     = rhs.pNext;
-      type      = rhs.type;
-      enable    = rhs.enable;
-      parameter = rhs.parameter;
-
-      return *this;
-    }
-
-    PerformanceOverrideInfoINTEL & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PerformanceOverrideInfoINTEL &
-      setType( VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    PerformanceOverrideInfoINTEL & setEnable( VULKAN_HPP_NAMESPACE::Bool32 enable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enable = enable_;
-      return *this;
-    }
-
-    PerformanceOverrideInfoINTEL & setParameter( uint64_t parameter_ ) VULKAN_HPP_NOEXCEPT
-    {
-      parameter = parameter_;
-      return *this;
-    }
-
-    operator VkPerformanceOverrideInfoINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( this );
-    }
-
-    operator VkPerformanceOverrideInfoINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceOverrideInfoINTEL *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceOverrideInfoINTEL const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeferredOperationKHR const &) const = default;
 #else
-    bool operator==( PerformanceOverrideInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) && ( enable == rhs.enable ) &&
-             ( parameter == rhs.parameter );
-    }
+  bool operator==(DeferredOperationKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_deferredOperationKHR == rhs.m_deferredOperationKHR;
+  }
 
-    bool operator!=( PerformanceOverrideInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(DeferredOperationKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_deferredOperationKHR != rhs.m_deferredOperationKHR;
+  }
+
+  bool operator<(DeferredOperationKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_deferredOperationKHR < rhs.m_deferredOperationKHR;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType = StructureType::ePerformanceOverrideInfoINTEL;
-    const void *                                       pNext = {};
-    VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type =
-      VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL::eNullHardware;
-    VULKAN_HPP_NAMESPACE::Bool32 enable    = {};
-    uint64_t                     parameter = {};
-  };
-  static_assert( sizeof( PerformanceOverrideInfoINTEL ) == sizeof( VkPerformanceOverrideInfoINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceOverrideInfoINTEL>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDeferredOperationKHR() const VULKAN_HPP_NOEXCEPT {
+    return m_deferredOperationKHR;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePerformanceOverrideInfoINTEL>
-  {
-    using Type = PerformanceOverrideInfoINTEL;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_deferredOperationKHR != VK_NULL_HANDLE;
+  }
 
-  struct PerformanceQuerySubmitInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePerformanceQuerySubmitInfoKHR;
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_deferredOperationKHR == VK_NULL_HANDLE;
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PerformanceQuerySubmitInfoKHR( uint32_t counterPassIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : counterPassIndex( counterPassIndex_ )
-    {}
+private:
+  VkDeferredOperationKHR m_deferredOperationKHR = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DeferredOperationKHR) ==
+                  sizeof(VkDeferredOperationKHR),
+              "handle and wrapper have different size!");
 
-    PerformanceQuerySubmitInfoKHR( VkPerformanceQuerySubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDeferredOperationKHR> {
+  using type = VULKAN_HPP_NAMESPACE::DeferredOperationKHR;
+};
 
-    PerformanceQuerySubmitInfoKHR & operator=( VkPerformanceQuerySubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR const *>( &rhs );
-      return *this;
-    }
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::DeferredOperationKHR;
+};
 
-    PerformanceQuerySubmitInfoKHR & operator=( PerformanceQuerySubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      counterPassIndex = rhs.counterPassIndex;
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
 
-      return *this;
-    }
+class PipelineCache {
+public:
+  using CType = VkPipelineCache;
 
-    PerformanceQuerySubmitInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineCache;
 
-    PerformanceQuerySubmitInfoKHR & setCounterPassIndex( uint32_t counterPassIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      counterPassIndex = counterPassIndex_;
-      return *this;
-    }
+public:
+  VULKAN_HPP_CONSTEXPR PipelineCache() = default;
+  VULKAN_HPP_CONSTEXPR PipelineCache(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  PipelineCache(VkPipelineCache pipelineCache) VULKAN_HPP_NOEXCEPT
+      : m_pipelineCache(pipelineCache) {}
 
-    operator VkPerformanceQuerySubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR *>( this );
-    }
-
-    operator VkPerformanceQuerySubmitInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceQuerySubmitInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceQuerySubmitInfoKHR const & ) const = default;
-#else
-    bool operator==( PerformanceQuerySubmitInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( counterPassIndex == rhs.counterPassIndex );
-    }
-
-    bool operator!=( PerformanceQuerySubmitInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  PipelineCache &operator=(VkPipelineCache pipelineCache) VULKAN_HPP_NOEXCEPT {
+    m_pipelineCache = pipelineCache;
+    return *this;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType            = StructureType::ePerformanceQuerySubmitInfoKHR;
-    const void *                              pNext            = {};
-    uint32_t                                  counterPassIndex = {};
-  };
-  static_assert( sizeof( PerformanceQuerySubmitInfoKHR ) == sizeof( VkPerformanceQuerySubmitInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceQuerySubmitInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  PipelineCache &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_pipelineCache = {};
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePerformanceQuerySubmitInfoKHR>
-  {
-    using Type = PerformanceQuerySubmitInfoKHR;
-  };
-
-  struct PerformanceStreamMarkerInfoINTEL
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceStreamMarkerInfoINTEL;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PerformanceStreamMarkerInfoINTEL( uint32_t marker_ = {} ) VULKAN_HPP_NOEXCEPT
-      : marker( marker_ )
-    {}
-
-    PerformanceStreamMarkerInfoINTEL( VkPerformanceStreamMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PerformanceStreamMarkerInfoINTEL & operator=( VkPerformanceStreamMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL const *>( &rhs );
-      return *this;
-    }
-
-    PerformanceStreamMarkerInfoINTEL & operator=( PerformanceStreamMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      marker = rhs.marker;
-
-      return *this;
-    }
-
-    PerformanceStreamMarkerInfoINTEL & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PerformanceStreamMarkerInfoINTEL & setMarker( uint32_t marker_ ) VULKAN_HPP_NOEXCEPT
-    {
-      marker = marker_;
-      return *this;
-    }
-
-    operator VkPerformanceStreamMarkerInfoINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( this );
-    }
-
-    operator VkPerformanceStreamMarkerInfoINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceStreamMarkerInfoINTEL *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PerformanceStreamMarkerInfoINTEL const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineCache const &) const = default;
 #else
-    bool operator==( PerformanceStreamMarkerInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( marker == rhs.marker );
-    }
+  bool operator==(PipelineCache const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineCache == rhs.m_pipelineCache;
+  }
 
-    bool operator!=( PerformanceStreamMarkerInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineCache const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineCache != rhs.m_pipelineCache;
+  }
+
+  bool operator<(PipelineCache const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineCache < rhs.m_pipelineCache;
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::ePerformanceStreamMarkerInfoINTEL;
-    const void *                              pNext  = {};
-    uint32_t                                  marker = {};
-  };
-  static_assert( sizeof( PerformanceStreamMarkerInfoINTEL ) == sizeof( VkPerformanceStreamMarkerInfoINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceStreamMarkerInfoINTEL>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkPipelineCache() const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineCache;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePerformanceStreamMarkerInfoINTEL>
-  {
-    using Type = PerformanceStreamMarkerInfoINTEL;
-  };
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineCache != VK_NULL_HANDLE;
+  }
 
-  union PerformanceValueDataINTEL
-  {
-    PerformanceValueDataINTEL( VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL ) );
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_pipelineCache == VK_NULL_HANDLE;
+  }
+
+private:
+  VkPipelineCache m_pipelineCache = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::PipelineCache) ==
+                  sizeof(VkPipelineCache),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::ePipelineCache> {
+  using type = VULKAN_HPP_NAMESPACE::PipelineCache;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache> {
+  using Type = VULKAN_HPP_NAMESPACE::PipelineCache;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineCache> {
+  using Type = VULKAN_HPP_NAMESPACE::PipelineCache;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PipelineCache> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct EventCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eEventCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR EventCreateInfo(
+      VULKAN_HPP_NAMESPACE::EventCreateFlags flags_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  EventCreateInfo(EventCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  EventCreateInfo(VkEventCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : EventCreateInfo(*reinterpret_cast<EventCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 EventCreateInfo &
+  operator=(EventCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  EventCreateInfo &operator=(VkEventCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::EventCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  EventCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  EventCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::EventCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkEventCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkEventCreateInfo *>(this);
+  }
+
+  operator VkEventCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkEventCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(EventCreateInfo const &) const = default;
+#else
+  bool operator==(EventCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (flags == rhs.flags);
+  }
+
+  bool operator!=(EventCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eEventCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::EventCreateFlags flags = {};
+};
+static_assert(sizeof(EventCreateInfo) == sizeof(VkEventCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<EventCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eEventCreateInfo> {
+  using Type = EventCreateInfo;
+};
+
+struct FenceCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFenceCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FenceCreateInfo(
+      VULKAN_HPP_NAMESPACE::FenceCreateFlags flags_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  FenceCreateInfo(FenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FenceCreateInfo(VkFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : FenceCreateInfo(*reinterpret_cast<FenceCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FenceCreateInfo &
+  operator=(FenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FenceCreateInfo &operator=(VkFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  FenceCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  FenceCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::FenceCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkFenceCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFenceCreateInfo *>(this);
+  }
+
+  operator VkFenceCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFenceCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FenceCreateInfo const &) const = default;
+#else
+  bool operator==(FenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (flags == rhs.flags);
+  }
+
+  bool operator!=(FenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFenceCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::FenceCreateFlags flags = {};
+};
+static_assert(sizeof(FenceCreateInfo) == sizeof(VkFenceCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FenceCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eFenceCreateInfo> {
+  using Type = FenceCreateInfo;
+};
+
+struct FramebufferCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFramebufferCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FramebufferCreateInfo(
+      VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {},
+      uint32_t attachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_ = {},
+      uint32_t width_ = {}, uint32_t height_ = {},
+      uint32_t layers_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        renderPass(renderPass_),
+        attachmentCount(attachmentCount_),
+        pAttachments(pAttachments_),
+        width(width_),
+        height(height_),
+        layers(layers_) {}
+
+  VULKAN_HPP_CONSTEXPR FramebufferCreateInfo(FramebufferCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferCreateInfo(VkFramebufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : FramebufferCreateInfo(
+            *reinterpret_cast<FramebufferCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  FramebufferCreateInfo(
+      VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageView> const &attachments_,
+      uint32_t width_ = {}, uint32_t height_ = {}, uint32_t layers_ = {})
+      : flags(flags_), renderPass(renderPass_),
+        attachmentCount(static_cast<uint32_t>(attachments_.size())),
+        pAttachments(attachments_.data()), width(width_), height(height_),
+        layers(layers_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo &
+  operator=(FramebufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferCreateInfo &
+  operator=(VkFramebufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  FramebufferCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  FramebufferCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  FramebufferCreateInfo &setRenderPass(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT {
+    renderPass = renderPass_;
+    return *this;
+  }
+
+  FramebufferCreateInfo &
+  setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = attachmentCount_;
+    return *this;
+  }
+
+  FramebufferCreateInfo &
+  setPAttachments(const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pAttachments = pAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  FramebufferCreateInfo &
+  setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::ImageView> const &attachments_)
+      VULKAN_HPP_NOEXCEPT {
+    attachmentCount = static_cast<uint32_t>(attachments_.size());
+    pAttachments = attachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  FramebufferCreateInfo &setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT {
+    width = width_;
+    return *this;
+  }
+
+  FramebufferCreateInfo &setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT {
+    height = height_;
+    return *this;
+  }
+
+  FramebufferCreateInfo &setLayers(uint32_t layers_) VULKAN_HPP_NOEXCEPT {
+    layers = layers_;
+    return *this;
+  }
+
+  operator VkFramebufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFramebufferCreateInfo *>(this);
+  }
+
+  operator VkFramebufferCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFramebufferCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FramebufferCreateInfo const &) const = default;
+#else
+  bool operator==(FramebufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (renderPass == rhs.renderPass) &&
+           (attachmentCount == rhs.attachmentCount) &&
+           (pAttachments == rhs.pAttachments) && (width == rhs.width) &&
+           (height == rhs.height) && (layers == rhs.layers);
+  }
+
+  bool operator!=(FramebufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eFramebufferCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass = {};
+  uint32_t attachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::ImageView *pAttachments = {};
+  uint32_t width = {};
+  uint32_t height = {};
+  uint32_t layers = {};
+};
+static_assert(sizeof(FramebufferCreateInfo) == sizeof(VkFramebufferCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FramebufferCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eFramebufferCreateInfo> {
+  using Type = FramebufferCreateInfo;
+};
+
+struct VertexInputBindingDescription {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR VertexInputBindingDescription(
+      uint32_t binding_ = {}, uint32_t stride_ = {},
+      VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_ =
+          VULKAN_HPP_NAMESPACE::VertexInputRate::eVertex) VULKAN_HPP_NOEXCEPT
+      : binding(binding_),
+        stride(stride_),
+        inputRate(inputRate_) {}
+
+  VULKAN_HPP_CONSTEXPR VertexInputBindingDescription(
+      VertexInputBindingDescription const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  VertexInputBindingDescription(VkVertexInputBindingDescription const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : VertexInputBindingDescription(
+            *reinterpret_cast<VertexInputBindingDescription const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription &operator=(
+      VertexInputBindingDescription const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  VertexInputBindingDescription &
+  operator=(VkVertexInputBindingDescription const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::VertexInputBindingDescription const *>(&rhs);
+    return *this;
+  }
+
+  VertexInputBindingDescription &
+  setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT {
+    binding = binding_;
+    return *this;
+  }
+
+  VertexInputBindingDescription &
+  setStride(uint32_t stride_) VULKAN_HPP_NOEXCEPT {
+    stride = stride_;
+    return *this;
+  }
+
+  VertexInputBindingDescription &setInputRate(
+      VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_) VULKAN_HPP_NOEXCEPT {
+    inputRate = inputRate_;
+    return *this;
+  }
+
+  operator VkVertexInputBindingDescription const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkVertexInputBindingDescription *>(this);
+  }
+
+  operator VkVertexInputBindingDescription &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkVertexInputBindingDescription *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(VertexInputBindingDescription const &) const = default;
+#else
+  bool operator==(VertexInputBindingDescription const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (binding == rhs.binding) && (stride == rhs.stride) &&
+           (inputRate == rhs.inputRate);
+  }
+
+  bool operator!=(VertexInputBindingDescription const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t binding = {};
+  uint32_t stride = {};
+  VULKAN_HPP_NAMESPACE::VertexInputRate inputRate =
+      VULKAN_HPP_NAMESPACE::VertexInputRate::eVertex;
+};
+static_assert(sizeof(VertexInputBindingDescription) ==
+                  sizeof(VkVertexInputBindingDescription),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<VertexInputBindingDescription>::value,
+              "struct wrapper is not a standard layout!");
+
+struct VertexInputAttributeDescription {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  VertexInputAttributeDescription(uint32_t location_ = {},
+                                  uint32_t binding_ = {},
+                                  VULKAN_HPP_NAMESPACE::Format format_ =
+                                      VULKAN_HPP_NAMESPACE::Format::eUndefined,
+                                  uint32_t offset_ = {}) VULKAN_HPP_NOEXCEPT
+      : location(location_),
+        binding(binding_),
+        format(format_),
+        offset(offset_) {}
+
+  VULKAN_HPP_CONSTEXPR VertexInputAttributeDescription(
+      VertexInputAttributeDescription const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  VertexInputAttributeDescription(VkVertexInputAttributeDescription const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : VertexInputAttributeDescription(
+            *reinterpret_cast<VertexInputAttributeDescription const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription &operator=(
+      VertexInputAttributeDescription const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  VertexInputAttributeDescription &
+  operator=(VkVertexInputAttributeDescription const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription const *>(&rhs);
+    return *this;
+  }
+
+  VertexInputAttributeDescription &
+  setLocation(uint32_t location_) VULKAN_HPP_NOEXCEPT {
+    location = location_;
+    return *this;
+  }
+
+  VertexInputAttributeDescription &
+  setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT {
+    binding = binding_;
+    return *this;
+  }
+
+  VertexInputAttributeDescription &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
+
+  VertexInputAttributeDescription &
+  setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  operator VkVertexInputAttributeDescription const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkVertexInputAttributeDescription *>(this);
+  }
+
+  operator VkVertexInputAttributeDescription &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkVertexInputAttributeDescription *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(VertexInputAttributeDescription const &) const = default;
+#else
+  bool operator==(VertexInputAttributeDescription const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (location == rhs.location) && (binding == rhs.binding) &&
+           (format == rhs.format) && (offset == rhs.offset);
+  }
+
+  bool operator!=(VertexInputAttributeDescription const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t location = {};
+  uint32_t binding = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  uint32_t offset = {};
+};
+static_assert(sizeof(VertexInputAttributeDescription) ==
+                  sizeof(VkVertexInputAttributeDescription),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<VertexInputAttributeDescription>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PipelineVertexInputStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineVertexInputStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineVertexInputStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_ = {},
+      uint32_t vertexBindingDescriptionCount_ = {},
+      const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription
+          *pVertexBindingDescriptions_ = {},
+      uint32_t vertexAttributeDescriptionCount_ = {},
+      const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription
+          *pVertexAttributeDescriptions_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        vertexBindingDescriptionCount(vertexBindingDescriptionCount_),
+        pVertexBindingDescriptions(pVertexBindingDescriptions_),
+        vertexAttributeDescriptionCount(vertexAttributeDescriptionCount_),
+        pVertexAttributeDescriptions(pVertexAttributeDescriptions_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineVertexInputStateCreateInfo(
+      PipelineVertexInputStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineVertexInputStateCreateInfo(
+      VkPipelineVertexInputStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineVertexInputStateCreateInfo(
+            *reinterpret_cast<PipelineVertexInputStateCreateInfo const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineVertexInputStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription> const
+          &vertexBindingDescriptions_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription> const
+          &vertexAttributeDescriptions_ = {})
+      : flags(flags_), vertexBindingDescriptionCount(static_cast<uint32_t>(
+                           vertexBindingDescriptions_.size())),
+        pVertexBindingDescriptions(vertexBindingDescriptions_.data()),
+        vertexAttributeDescriptionCount(
+            static_cast<uint32_t>(vertexAttributeDescriptions_.size())),
+        pVertexAttributeDescriptions(vertexAttributeDescriptions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputStateCreateInfo &
+  operator=(PipelineVertexInputStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineVertexInputStateCreateInfo &operator=(
+      VkPipelineVertexInputStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineVertexInputStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineVertexInputStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineVertexInputStateCreateInfo &setVertexBindingDescriptionCount(
+      uint32_t vertexBindingDescriptionCount_) VULKAN_HPP_NOEXCEPT {
+    vertexBindingDescriptionCount = vertexBindingDescriptionCount_;
+    return *this;
+  }
+
+  PipelineVertexInputStateCreateInfo &setPVertexBindingDescriptions(
+      const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription
+          *pVertexBindingDescriptions_) VULKAN_HPP_NOEXCEPT {
+    pVertexBindingDescriptions = pVertexBindingDescriptions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineVertexInputStateCreateInfo &setVertexBindingDescriptions(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription> const
+          &vertexBindingDescriptions_) VULKAN_HPP_NOEXCEPT {
+    vertexBindingDescriptionCount =
+        static_cast<uint32_t>(vertexBindingDescriptions_.size());
+    pVertexBindingDescriptions = vertexBindingDescriptions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  PipelineVertexInputStateCreateInfo &setVertexAttributeDescriptionCount(
+      uint32_t vertexAttributeDescriptionCount_) VULKAN_HPP_NOEXCEPT {
+    vertexAttributeDescriptionCount = vertexAttributeDescriptionCount_;
+    return *this;
+  }
+
+  PipelineVertexInputStateCreateInfo &setPVertexAttributeDescriptions(
+      const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription
+          *pVertexAttributeDescriptions_) VULKAN_HPP_NOEXCEPT {
+    pVertexAttributeDescriptions = pVertexAttributeDescriptions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineVertexInputStateCreateInfo &setVertexAttributeDescriptions(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription> const
+          &vertexAttributeDescriptions_) VULKAN_HPP_NOEXCEPT {
+    vertexAttributeDescriptionCount =
+        static_cast<uint32_t>(vertexAttributeDescriptions_.size());
+    pVertexAttributeDescriptions = vertexAttributeDescriptions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPipelineVertexInputStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineVertexInputStateCreateInfo *>(
+        this);
+  }
+
+  operator VkPipelineVertexInputStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineVertexInputStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineVertexInputStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineVertexInputStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (vertexBindingDescriptionCount ==
+            rhs.vertexBindingDescriptionCount) &&
+           (pVertexBindingDescriptions == rhs.pVertexBindingDescriptions) &&
+           (vertexAttributeDescriptionCount ==
+            rhs.vertexAttributeDescriptionCount) &&
+           (pVertexAttributeDescriptions == rhs.pVertexAttributeDescriptions);
+  }
+
+  bool operator!=(PipelineVertexInputStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineVertexInputStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags = {};
+  uint32_t vertexBindingDescriptionCount = {};
+  const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription
+      *pVertexBindingDescriptions = {};
+  uint32_t vertexAttributeDescriptionCount = {};
+  const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription
+      *pVertexAttributeDescriptions = {};
+};
+static_assert(sizeof(PipelineVertexInputStateCreateInfo) ==
+                  sizeof(VkPipelineVertexInputStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineVertexInputStateCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineVertexInputStateCreateInfo> {
+  using Type = PipelineVertexInputStateCreateInfo;
+};
+
+struct PipelineInputAssemblyStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineInputAssemblyStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineInputAssemblyStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::PrimitiveTopology topology_ =
+          VULKAN_HPP_NAMESPACE::PrimitiveTopology::ePointList,
+      VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            topology(topology_),
+                            primitiveRestartEnable(primitiveRestartEnable_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineInputAssemblyStateCreateInfo(
+      PipelineInputAssemblyStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineInputAssemblyStateCreateInfo(
+      VkPipelineInputAssemblyStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineInputAssemblyStateCreateInfo(
+            *reinterpret_cast<PipelineInputAssemblyStateCreateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineInputAssemblyStateCreateInfo &
+  operator=(PipelineInputAssemblyStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineInputAssemblyStateCreateInfo &operator=(
+      VkPipelineInputAssemblyStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  PipelineInputAssemblyStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineInputAssemblyStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineInputAssemblyStateCreateInfo &setTopology(
+      VULKAN_HPP_NAMESPACE::PrimitiveTopology topology_) VULKAN_HPP_NOEXCEPT {
+    topology = topology_;
+    return *this;
+  }
+
+  PipelineInputAssemblyStateCreateInfo &setPrimitiveRestartEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable_)
+      VULKAN_HPP_NOEXCEPT {
+    primitiveRestartEnable = primitiveRestartEnable_;
+    return *this;
+  }
+
+  operator VkPipelineInputAssemblyStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineInputAssemblyStateCreateInfo *>(
+        this);
+  }
+
+  operator VkPipelineInputAssemblyStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineInputAssemblyStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PipelineInputAssemblyStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineInputAssemblyStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (topology == rhs.topology) &&
+           (primitiveRestartEnable == rhs.primitiveRestartEnable);
+  }
+
+  bool operator!=(PipelineInputAssemblyStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineInputAssemblyStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::PrimitiveTopology topology =
+      VULKAN_HPP_NAMESPACE::PrimitiveTopology::ePointList;
+  VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable = {};
+};
+static_assert(sizeof(PipelineInputAssemblyStateCreateInfo) ==
+                  sizeof(VkPipelineInputAssemblyStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineInputAssemblyStateCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineInputAssemblyStateCreateInfo> {
+  using Type = PipelineInputAssemblyStateCreateInfo;
+};
+
+struct PipelineTessellationStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineTessellationStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineTessellationStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags_ = {},
+      uint32_t patchControlPoints_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        patchControlPoints(patchControlPoints_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineTessellationStateCreateInfo(
+      PipelineTessellationStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineTessellationStateCreateInfo(
+      VkPipelineTessellationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineTessellationStateCreateInfo(
+            *reinterpret_cast<PipelineTessellationStateCreateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineTessellationStateCreateInfo &
+  operator=(PipelineTessellationStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineTessellationStateCreateInfo &operator=(
+      VkPipelineTessellationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  PipelineTessellationStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineTessellationStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineTessellationStateCreateInfo &
+  setPatchControlPoints(uint32_t patchControlPoints_) VULKAN_HPP_NOEXCEPT {
+    patchControlPoints = patchControlPoints_;
+    return *this;
+  }
+
+  operator VkPipelineTessellationStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineTessellationStateCreateInfo *>(
+        this);
+  }
+
+  operator VkPipelineTessellationStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineTessellationStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineTessellationStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineTessellationStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (patchControlPoints == rhs.patchControlPoints);
+  }
+
+  bool operator!=(PipelineTessellationStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineTessellationStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags = {};
+  uint32_t patchControlPoints = {};
+};
+static_assert(sizeof(PipelineTessellationStateCreateInfo) ==
+                  sizeof(VkPipelineTessellationStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineTessellationStateCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineTessellationStateCreateInfo> {
+  using Type = PipelineTessellationStateCreateInfo;
+};
+
+struct PipelineViewportStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineViewportStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineViewportStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_ = {},
+      uint32_t viewportCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Viewport *pViewports_ = {},
+      uint32_t scissorCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Rect2D *pScissors_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        viewportCount(viewportCount_),
+        pViewports(pViewports_),
+        scissorCount(scissorCount_),
+        pScissors(pScissors_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineViewportStateCreateInfo(
+      PipelineViewportStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineViewportStateCreateInfo(VkPipelineViewportStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineViewportStateCreateInfo(
+            *reinterpret_cast<PipelineViewportStateCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Viewport> const &viewports_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors_ = {})
+      : flags(flags_), viewportCount(static_cast<uint32_t>(viewports_.size())),
+        pViewports(viewports_.data()),
+        scissorCount(static_cast<uint32_t>(scissors_.size())),
+        pScissors(scissors_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineViewportStateCreateInfo &operator=(
+      PipelineViewportStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineViewportStateCreateInfo &
+  operator=(VkPipelineViewportStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineViewportStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineViewportStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineViewportStateCreateInfo &
+  setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT {
+    viewportCount = viewportCount_;
+    return *this;
+  }
+
+  PipelineViewportStateCreateInfo &setPViewports(
+      const VULKAN_HPP_NAMESPACE::Viewport *pViewports_) VULKAN_HPP_NOEXCEPT {
+    pViewports = pViewports_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportStateCreateInfo &
+  setViewports(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+               const VULKAN_HPP_NAMESPACE::Viewport> const &viewports_)
+      VULKAN_HPP_NOEXCEPT {
+    viewportCount = static_cast<uint32_t>(viewports_.size());
+    pViewports = viewports_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  PipelineViewportStateCreateInfo &
+  setScissorCount(uint32_t scissorCount_) VULKAN_HPP_NOEXCEPT {
+    scissorCount = scissorCount_;
+    return *this;
+  }
+
+  PipelineViewportStateCreateInfo &setPScissors(
+      const VULKAN_HPP_NAMESPACE::Rect2D *pScissors_) VULKAN_HPP_NOEXCEPT {
+    pScissors = pScissors_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportStateCreateInfo &
+  setScissors(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+              const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors_)
+      VULKAN_HPP_NOEXCEPT {
+    scissorCount = static_cast<uint32_t>(scissors_.size());
+    pScissors = scissors_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPipelineViewportStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineViewportStateCreateInfo *>(this);
+  }
+
+  operator VkPipelineViewportStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineViewportStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineViewportStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineViewportStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (viewportCount == rhs.viewportCount) &&
+           (pViewports == rhs.pViewports) &&
+           (scissorCount == rhs.scissorCount) && (pScissors == rhs.pScissors);
+  }
+
+  bool operator!=(PipelineViewportStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineViewportStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags = {};
+  uint32_t viewportCount = {};
+  const VULKAN_HPP_NAMESPACE::Viewport *pViewports = {};
+  uint32_t scissorCount = {};
+  const VULKAN_HPP_NAMESPACE::Rect2D *pScissors = {};
+};
+static_assert(sizeof(PipelineViewportStateCreateInfo) ==
+                  sizeof(VkPipelineViewportStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineViewportStateCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePipelineViewportStateCreateInfo> {
+  using Type = PipelineViewportStateCreateInfo;
+};
+
+struct PipelineRasterizationStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineRasterizationStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable_ = {},
+      VULKAN_HPP_NAMESPACE::PolygonMode polygonMode_ =
+          VULKAN_HPP_NAMESPACE::PolygonMode::eFill,
+      VULKAN_HPP_NAMESPACE::CullModeFlags cullMode_ = {},
+      VULKAN_HPP_NAMESPACE::FrontFace frontFace_ =
+          VULKAN_HPP_NAMESPACE::FrontFace::eCounterClockwise,
+      VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable_ = {},
+      float depthBiasConstantFactor_ = {}, float depthBiasClamp_ = {},
+      float depthBiasSlopeFactor_ = {},
+      float lineWidth_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        depthClampEnable(depthClampEnable_),
+        rasterizerDiscardEnable(rasterizerDiscardEnable_),
+        polygonMode(polygonMode_),
+        cullMode(cullMode_),
+        frontFace(frontFace_),
+        depthBiasEnable(depthBiasEnable_),
+        depthBiasConstantFactor(depthBiasConstantFactor_),
+        depthBiasClamp(depthBiasClamp_),
+        depthBiasSlopeFactor(depthBiasSlopeFactor_),
+        lineWidth(lineWidth_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationStateCreateInfo(
+      PipelineRasterizationStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineRasterizationStateCreateInfo(
+      VkPipelineRasterizationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineRasterizationStateCreateInfo(
+            *reinterpret_cast<PipelineRasterizationStateCreateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo &
+  operator=(PipelineRasterizationStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineRasterizationStateCreateInfo &operator=(
+      VkPipelineRasterizationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &setDepthClampEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable_) VULKAN_HPP_NOEXCEPT {
+    depthClampEnable = depthClampEnable_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &setRasterizerDiscardEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable_)
+      VULKAN_HPP_NOEXCEPT {
+    rasterizerDiscardEnable = rasterizerDiscardEnable_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &setPolygonMode(
+      VULKAN_HPP_NAMESPACE::PolygonMode polygonMode_) VULKAN_HPP_NOEXCEPT {
+    polygonMode = polygonMode_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &setCullMode(
+      VULKAN_HPP_NAMESPACE::CullModeFlags cullMode_) VULKAN_HPP_NOEXCEPT {
+    cullMode = cullMode_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &
+  setFrontFace(VULKAN_HPP_NAMESPACE::FrontFace frontFace_) VULKAN_HPP_NOEXCEPT {
+    frontFace = frontFace_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &setDepthBiasEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable_) VULKAN_HPP_NOEXCEPT {
+    depthBiasEnable = depthBiasEnable_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &setDepthBiasConstantFactor(
+      float depthBiasConstantFactor_) VULKAN_HPP_NOEXCEPT {
+    depthBiasConstantFactor = depthBiasConstantFactor_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &
+  setDepthBiasClamp(float depthBiasClamp_) VULKAN_HPP_NOEXCEPT {
+    depthBiasClamp = depthBiasClamp_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &
+  setDepthBiasSlopeFactor(float depthBiasSlopeFactor_) VULKAN_HPP_NOEXCEPT {
+    depthBiasSlopeFactor = depthBiasSlopeFactor_;
+    return *this;
+  }
+
+  PipelineRasterizationStateCreateInfo &
+  setLineWidth(float lineWidth_) VULKAN_HPP_NOEXCEPT {
+    lineWidth = lineWidth_;
+    return *this;
+  }
+
+  operator VkPipelineRasterizationStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineRasterizationStateCreateInfo *>(
+        this);
+  }
+
+  operator VkPipelineRasterizationStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineRasterizationStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PipelineRasterizationStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineRasterizationStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (depthClampEnable == rhs.depthClampEnable) &&
+           (rasterizerDiscardEnable == rhs.rasterizerDiscardEnable) &&
+           (polygonMode == rhs.polygonMode) && (cullMode == rhs.cullMode) &&
+           (frontFace == rhs.frontFace) &&
+           (depthBiasEnable == rhs.depthBiasEnable) &&
+           (depthBiasConstantFactor == rhs.depthBiasConstantFactor) &&
+           (depthBiasClamp == rhs.depthBiasClamp) &&
+           (depthBiasSlopeFactor == rhs.depthBiasSlopeFactor) &&
+           (lineWidth == rhs.lineWidth);
+  }
+
+  bool operator!=(PipelineRasterizationStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineRasterizationStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable = {};
+  VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable = {};
+  VULKAN_HPP_NAMESPACE::PolygonMode polygonMode =
+      VULKAN_HPP_NAMESPACE::PolygonMode::eFill;
+  VULKAN_HPP_NAMESPACE::CullModeFlags cullMode = {};
+  VULKAN_HPP_NAMESPACE::FrontFace frontFace =
+      VULKAN_HPP_NAMESPACE::FrontFace::eCounterClockwise;
+  VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable = {};
+  float depthBiasConstantFactor = {};
+  float depthBiasClamp = {};
+  float depthBiasSlopeFactor = {};
+  float lineWidth = {};
+};
+static_assert(sizeof(PipelineRasterizationStateCreateInfo) ==
+                  sizeof(VkPipelineRasterizationStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineRasterizationStateCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineRasterizationStateCreateInfo> {
+  using Type = PipelineRasterizationStateCreateInfo;
+};
+
+struct PipelineMultisampleStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineMultisampleStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineMultisampleStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_ =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable_ = {},
+      float minSampleShading_ = {},
+      const VULKAN_HPP_NAMESPACE::SampleMask *pSampleMask_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        rasterizationSamples(rasterizationSamples_),
+        sampleShadingEnable(sampleShadingEnable_),
+        minSampleShading(minSampleShading_),
+        pSampleMask(pSampleMask_),
+        alphaToCoverageEnable(alphaToCoverageEnable_),
+        alphaToOneEnable(alphaToOneEnable_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineMultisampleStateCreateInfo(
+      PipelineMultisampleStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineMultisampleStateCreateInfo(
+      VkPipelineMultisampleStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineMultisampleStateCreateInfo(
+            *reinterpret_cast<PipelineMultisampleStateCreateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo &
+  operator=(PipelineMultisampleStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineMultisampleStateCreateInfo &operator=(
+      VkPipelineMultisampleStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &setRasterizationSamples(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_)
+      VULKAN_HPP_NOEXCEPT {
+    rasterizationSamples = rasterizationSamples_;
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &setSampleShadingEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable_) VULKAN_HPP_NOEXCEPT {
+    sampleShadingEnable = sampleShadingEnable_;
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &
+  setMinSampleShading(float minSampleShading_) VULKAN_HPP_NOEXCEPT {
+    minSampleShading = minSampleShading_;
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &
+  setPSampleMask(const VULKAN_HPP_NAMESPACE::SampleMask *pSampleMask_)
+      VULKAN_HPP_NOEXCEPT {
+    pSampleMask = pSampleMask_;
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &setAlphaToCoverageEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable_) VULKAN_HPP_NOEXCEPT {
+    alphaToCoverageEnable = alphaToCoverageEnable_;
+    return *this;
+  }
+
+  PipelineMultisampleStateCreateInfo &setAlphaToOneEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable_) VULKAN_HPP_NOEXCEPT {
+    alphaToOneEnable = alphaToOneEnable_;
+    return *this;
+  }
+
+  operator VkPipelineMultisampleStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineMultisampleStateCreateInfo *>(
+        this);
+  }
+
+  operator VkPipelineMultisampleStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineMultisampleStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineMultisampleStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineMultisampleStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (rasterizationSamples == rhs.rasterizationSamples) &&
+           (sampleShadingEnable == rhs.sampleShadingEnable) &&
+           (minSampleShading == rhs.minSampleShading) &&
+           (pSampleMask == rhs.pSampleMask) &&
+           (alphaToCoverageEnable == rhs.alphaToCoverageEnable) &&
+           (alphaToOneEnable == rhs.alphaToOneEnable);
+  }
+
+  bool operator!=(PipelineMultisampleStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineMultisampleStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples =
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable = {};
+  float minSampleShading = {};
+  const VULKAN_HPP_NAMESPACE::SampleMask *pSampleMask = {};
+  VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable = {};
+  VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable = {};
+};
+static_assert(sizeof(PipelineMultisampleStateCreateInfo) ==
+                  sizeof(VkPipelineMultisampleStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineMultisampleStateCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineMultisampleStateCreateInfo> {
+  using Type = PipelineMultisampleStateCreateInfo;
+};
+
+struct StencilOpState {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  StencilOpState(VULKAN_HPP_NAMESPACE::StencilOp failOp_ =
+                     VULKAN_HPP_NAMESPACE::StencilOp::eKeep,
+                 VULKAN_HPP_NAMESPACE::StencilOp passOp_ =
+                     VULKAN_HPP_NAMESPACE::StencilOp::eKeep,
+                 VULKAN_HPP_NAMESPACE::StencilOp depthFailOp_ =
+                     VULKAN_HPP_NAMESPACE::StencilOp::eKeep,
+                 VULKAN_HPP_NAMESPACE::CompareOp compareOp_ =
+                     VULKAN_HPP_NAMESPACE::CompareOp::eNever,
+                 uint32_t compareMask_ = {}, uint32_t writeMask_ = {},
+                 uint32_t reference_ = {}) VULKAN_HPP_NOEXCEPT
+      : failOp(failOp_),
+        passOp(passOp_),
+        depthFailOp(depthFailOp_),
+        compareOp(compareOp_),
+        compareMask(compareMask_),
+        writeMask(writeMask_),
+        reference(reference_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  StencilOpState(StencilOpState const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  StencilOpState(VkStencilOpState const &rhs) VULKAN_HPP_NOEXCEPT
+      : StencilOpState(*reinterpret_cast<StencilOpState const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 StencilOpState &
+  operator=(StencilOpState const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  StencilOpState &operator=(VkStencilOpState const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::StencilOpState const *>(&rhs);
+    return *this;
+  }
+
+  StencilOpState &
+  setFailOp(VULKAN_HPP_NAMESPACE::StencilOp failOp_) VULKAN_HPP_NOEXCEPT {
+    failOp = failOp_;
+    return *this;
+  }
+
+  StencilOpState &
+  setPassOp(VULKAN_HPP_NAMESPACE::StencilOp passOp_) VULKAN_HPP_NOEXCEPT {
+    passOp = passOp_;
+    return *this;
+  }
+
+  StencilOpState &setDepthFailOp(VULKAN_HPP_NAMESPACE::StencilOp depthFailOp_)
+      VULKAN_HPP_NOEXCEPT {
+    depthFailOp = depthFailOp_;
+    return *this;
+  }
+
+  StencilOpState &
+  setCompareOp(VULKAN_HPP_NAMESPACE::CompareOp compareOp_) VULKAN_HPP_NOEXCEPT {
+    compareOp = compareOp_;
+    return *this;
+  }
+
+  StencilOpState &setCompareMask(uint32_t compareMask_) VULKAN_HPP_NOEXCEPT {
+    compareMask = compareMask_;
+    return *this;
+  }
+
+  StencilOpState &setWriteMask(uint32_t writeMask_) VULKAN_HPP_NOEXCEPT {
+    writeMask = writeMask_;
+    return *this;
+  }
+
+  StencilOpState &setReference(uint32_t reference_) VULKAN_HPP_NOEXCEPT {
+    reference = reference_;
+    return *this;
+  }
+
+  operator VkStencilOpState const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkStencilOpState *>(this);
+  }
+
+  operator VkStencilOpState &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkStencilOpState *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(StencilOpState const &) const = default;
+#else
+  bool operator==(StencilOpState const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (failOp == rhs.failOp) && (passOp == rhs.passOp) &&
+           (depthFailOp == rhs.depthFailOp) && (compareOp == rhs.compareOp) &&
+           (compareMask == rhs.compareMask) && (writeMask == rhs.writeMask) &&
+           (reference == rhs.reference);
+  }
+
+  bool operator!=(StencilOpState const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StencilOp failOp =
+      VULKAN_HPP_NAMESPACE::StencilOp::eKeep;
+  VULKAN_HPP_NAMESPACE::StencilOp passOp =
+      VULKAN_HPP_NAMESPACE::StencilOp::eKeep;
+  VULKAN_HPP_NAMESPACE::StencilOp depthFailOp =
+      VULKAN_HPP_NAMESPACE::StencilOp::eKeep;
+  VULKAN_HPP_NAMESPACE::CompareOp compareOp =
+      VULKAN_HPP_NAMESPACE::CompareOp::eNever;
+  uint32_t compareMask = {};
+  uint32_t writeMask = {};
+  uint32_t reference = {};
+};
+static_assert(sizeof(StencilOpState) == sizeof(VkStencilOpState),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<StencilOpState>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PipelineDepthStencilStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineDepthStencilStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable_ = {},
+      VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp_ =
+          VULKAN_HPP_NAMESPACE::CompareOp::eNever,
+      VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable_ = {},
+      VULKAN_HPP_NAMESPACE::StencilOpState front_ = {},
+      VULKAN_HPP_NAMESPACE::StencilOpState back_ = {},
+      float minDepthBounds_ = {},
+      float maxDepthBounds_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        depthTestEnable(depthTestEnable_),
+        depthWriteEnable(depthWriteEnable_),
+        depthCompareOp(depthCompareOp_),
+        depthBoundsTestEnable(depthBoundsTestEnable_),
+        stencilTestEnable(stencilTestEnable_),
+        front(front_),
+        back(back_),
+        minDepthBounds(minDepthBounds_),
+        maxDepthBounds(maxDepthBounds_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateInfo(
+      PipelineDepthStencilStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineDepthStencilStateCreateInfo(
+      VkPipelineDepthStencilStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineDepthStencilStateCreateInfo(
+            *reinterpret_cast<PipelineDepthStencilStateCreateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo &
+  operator=(PipelineDepthStencilStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineDepthStencilStateCreateInfo &operator=(
+      VkPipelineDepthStencilStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &setDepthTestEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable_) VULKAN_HPP_NOEXCEPT {
+    depthTestEnable = depthTestEnable_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &setDepthWriteEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable_) VULKAN_HPP_NOEXCEPT {
+    depthWriteEnable = depthWriteEnable_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &setDepthCompareOp(
+      VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp_) VULKAN_HPP_NOEXCEPT {
+    depthCompareOp = depthCompareOp_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &setDepthBoundsTestEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable_) VULKAN_HPP_NOEXCEPT {
+    depthBoundsTestEnable = depthBoundsTestEnable_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &setStencilTestEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable_) VULKAN_HPP_NOEXCEPT {
+    stencilTestEnable = stencilTestEnable_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &setFront(
+      VULKAN_HPP_NAMESPACE::StencilOpState const &front_) VULKAN_HPP_NOEXCEPT {
+    front = front_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &setBack(
+      VULKAN_HPP_NAMESPACE::StencilOpState const &back_) VULKAN_HPP_NOEXCEPT {
+    back = back_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &
+  setMinDepthBounds(float minDepthBounds_) VULKAN_HPP_NOEXCEPT {
+    minDepthBounds = minDepthBounds_;
+    return *this;
+  }
+
+  PipelineDepthStencilStateCreateInfo &
+  setMaxDepthBounds(float maxDepthBounds_) VULKAN_HPP_NOEXCEPT {
+    maxDepthBounds = maxDepthBounds_;
+    return *this;
+  }
+
+  operator VkPipelineDepthStencilStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineDepthStencilStateCreateInfo *>(
+        this);
+  }
+
+  operator VkPipelineDepthStencilStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineDepthStencilStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineDepthStencilStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineDepthStencilStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (depthTestEnable == rhs.depthTestEnable) &&
+           (depthWriteEnable == rhs.depthWriteEnable) &&
+           (depthCompareOp == rhs.depthCompareOp) &&
+           (depthBoundsTestEnable == rhs.depthBoundsTestEnable) &&
+           (stencilTestEnable == rhs.stencilTestEnable) &&
+           (front == rhs.front) && (back == rhs.back) &&
+           (minDepthBounds == rhs.minDepthBounds) &&
+           (maxDepthBounds == rhs.maxDepthBounds);
+  }
+
+  bool operator!=(PipelineDepthStencilStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineDepthStencilStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable = {};
+  VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp =
+      VULKAN_HPP_NAMESPACE::CompareOp::eNever;
+  VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable = {};
+  VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable = {};
+  VULKAN_HPP_NAMESPACE::StencilOpState front = {};
+  VULKAN_HPP_NAMESPACE::StencilOpState back = {};
+  float minDepthBounds = {};
+  float maxDepthBounds = {};
+};
+static_assert(sizeof(PipelineDepthStencilStateCreateInfo) ==
+                  sizeof(VkPipelineDepthStencilStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineDepthStencilStateCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineDepthStencilStateCreateInfo> {
+  using Type = PipelineDepthStencilStateCreateInfo;
+};
+
+struct PipelineColorBlendAttachmentState {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineColorBlendAttachmentState(
+      VULKAN_HPP_NAMESPACE::Bool32 blendEnable_ = {},
+      VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor_ =
+          VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
+      VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor_ =
+          VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
+      VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp_ =
+          VULKAN_HPP_NAMESPACE::BlendOp::eAdd,
+      VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor_ =
+          VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
+      VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor_ =
+          VULKAN_HPP_NAMESPACE::BlendFactor::eZero,
+      VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp_ =
+          VULKAN_HPP_NAMESPACE::BlendOp::eAdd,
+      VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask_ = {})
+      VULKAN_HPP_NOEXCEPT : blendEnable(blendEnable_),
+                            srcColorBlendFactor(srcColorBlendFactor_),
+                            dstColorBlendFactor(dstColorBlendFactor_),
+                            colorBlendOp(colorBlendOp_),
+                            srcAlphaBlendFactor(srcAlphaBlendFactor_),
+                            dstAlphaBlendFactor(dstAlphaBlendFactor_),
+                            alphaBlendOp(alphaBlendOp_),
+                            colorWriteMask(colorWriteMask_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineColorBlendAttachmentState(
+      PipelineColorBlendAttachmentState const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineColorBlendAttachmentState(
+      VkPipelineColorBlendAttachmentState const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineColorBlendAttachmentState(
+            *reinterpret_cast<PipelineColorBlendAttachmentState const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState &
+  operator=(PipelineColorBlendAttachmentState const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineColorBlendAttachmentState &operator=(
+      VkPipelineColorBlendAttachmentState const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState const *>(&rhs);
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &setBlendEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 blendEnable_) VULKAN_HPP_NOEXCEPT {
+    blendEnable = blendEnable_;
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &
+  setSrcColorBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor_)
+      VULKAN_HPP_NOEXCEPT {
+    srcColorBlendFactor = srcColorBlendFactor_;
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &
+  setDstColorBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor_)
+      VULKAN_HPP_NOEXCEPT {
+    dstColorBlendFactor = dstColorBlendFactor_;
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &setColorBlendOp(
+      VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp_) VULKAN_HPP_NOEXCEPT {
+    colorBlendOp = colorBlendOp_;
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &
+  setSrcAlphaBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor_)
+      VULKAN_HPP_NOEXCEPT {
+    srcAlphaBlendFactor = srcAlphaBlendFactor_;
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &
+  setDstAlphaBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor_)
+      VULKAN_HPP_NOEXCEPT {
+    dstAlphaBlendFactor = dstAlphaBlendFactor_;
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &setAlphaBlendOp(
+      VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp_) VULKAN_HPP_NOEXCEPT {
+    alphaBlendOp = alphaBlendOp_;
+    return *this;
+  }
+
+  PipelineColorBlendAttachmentState &
+  setColorWriteMask(VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask_)
+      VULKAN_HPP_NOEXCEPT {
+    colorWriteMask = colorWriteMask_;
+    return *this;
+  }
+
+  operator VkPipelineColorBlendAttachmentState const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineColorBlendAttachmentState *>(this);
+  }
+
+  operator VkPipelineColorBlendAttachmentState &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineColorBlendAttachmentState *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineColorBlendAttachmentState const &) const = default;
+#else
+  bool operator==(PipelineColorBlendAttachmentState const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (blendEnable == rhs.blendEnable) &&
+           (srcColorBlendFactor == rhs.srcColorBlendFactor) &&
+           (dstColorBlendFactor == rhs.dstColorBlendFactor) &&
+           (colorBlendOp == rhs.colorBlendOp) &&
+           (srcAlphaBlendFactor == rhs.srcAlphaBlendFactor) &&
+           (dstAlphaBlendFactor == rhs.dstAlphaBlendFactor) &&
+           (alphaBlendOp == rhs.alphaBlendOp) &&
+           (colorWriteMask == rhs.colorWriteMask);
+  }
+
+  bool operator!=(PipelineColorBlendAttachmentState const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Bool32 blendEnable = {};
+  VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor =
+      VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
+  VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor =
+      VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
+  VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp =
+      VULKAN_HPP_NAMESPACE::BlendOp::eAdd;
+  VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor =
+      VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
+  VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor =
+      VULKAN_HPP_NAMESPACE::BlendFactor::eZero;
+  VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp =
+      VULKAN_HPP_NAMESPACE::BlendOp::eAdd;
+  VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask = {};
+};
+static_assert(sizeof(PipelineColorBlendAttachmentState) ==
+                  sizeof(VkPipelineColorBlendAttachmentState),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineColorBlendAttachmentState>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PipelineColorBlendStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineColorBlendStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_ = {},
+      VULKAN_HPP_NAMESPACE::LogicOp logicOp_ =
+          VULKAN_HPP_NAMESPACE::LogicOp::eClear,
+      uint32_t attachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState
+          *pAttachments_ = {},
+      std::array<float, 4> const &blendConstants_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        logicOpEnable(logicOpEnable_),
+        logicOp(logicOp_),
+        attachmentCount(attachmentCount_),
+        pAttachments(pAttachments_),
+        blendConstants(blendConstants_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo(
+      PipelineColorBlendStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineColorBlendStateCreateInfo(
+      VkPipelineColorBlendStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineColorBlendStateCreateInfo(
+            *reinterpret_cast<PipelineColorBlendStateCreateInfo const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineColorBlendStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_,
+      VULKAN_HPP_NAMESPACE::LogicOp logicOp_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState> const
+          &attachments_,
+      std::array<float, 4> const &blendConstants_ = {})
+      : flags(flags_), logicOpEnable(logicOpEnable_), logicOp(logicOp_),
+        attachmentCount(static_cast<uint32_t>(attachments_.size())),
+        pAttachments(attachments_.data()), blendConstants(blendConstants_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo &
+  operator=(PipelineColorBlendStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineColorBlendStateCreateInfo &operator=(
+      VkPipelineColorBlendStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineColorBlendStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineColorBlendStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineColorBlendStateCreateInfo &setLogicOpEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_) VULKAN_HPP_NOEXCEPT {
+    logicOpEnable = logicOpEnable_;
+    return *this;
+  }
+
+  PipelineColorBlendStateCreateInfo &
+  setLogicOp(VULKAN_HPP_NAMESPACE::LogicOp logicOp_) VULKAN_HPP_NOEXCEPT {
+    logicOp = logicOp_;
+    return *this;
+  }
+
+  PipelineColorBlendStateCreateInfo &
+  setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = attachmentCount_;
+    return *this;
+  }
+
+  PipelineColorBlendStateCreateInfo &
+  setPAttachments(const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState
+                      *pAttachments_) VULKAN_HPP_NOEXCEPT {
+    pAttachments = pAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineColorBlendStateCreateInfo &setAttachments(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState> const
+          &attachments_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = static_cast<uint32_t>(attachments_.size());
+    pAttachments = attachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  PipelineColorBlendStateCreateInfo &
+  setBlendConstants(std::array<float, 4> blendConstants_) VULKAN_HPP_NOEXCEPT {
+    blendConstants = blendConstants_;
+    return *this;
+  }
+
+  operator VkPipelineColorBlendStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineColorBlendStateCreateInfo *>(this);
+  }
+
+  operator VkPipelineColorBlendStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineColorBlendStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineColorBlendStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineColorBlendStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (logicOpEnable == rhs.logicOpEnable) &&
+           (logicOp == rhs.logicOp) &&
+           (attachmentCount == rhs.attachmentCount) &&
+           (pAttachments == rhs.pAttachments) &&
+           (blendConstants == rhs.blendConstants);
+  }
+
+  bool operator!=(PipelineColorBlendStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineColorBlendStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable = {};
+  VULKAN_HPP_NAMESPACE::LogicOp logicOp = VULKAN_HPP_NAMESPACE::LogicOp::eClear;
+  uint32_t attachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState *pAttachments =
+      {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> blendConstants = {};
+};
+static_assert(sizeof(PipelineColorBlendStateCreateInfo) ==
+                  sizeof(VkPipelineColorBlendStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineColorBlendStateCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineColorBlendStateCreateInfo> {
+  using Type = PipelineColorBlendStateCreateInfo;
+};
+
+struct PipelineDynamicStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineDynamicStateCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineDynamicStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_ = {},
+      uint32_t dynamicStateCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DynamicState *pDynamicStates_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            dynamicStateCount(dynamicStateCount_),
+                            pDynamicStates(pDynamicStates_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineDynamicStateCreateInfo(
+      PipelineDynamicStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineDynamicStateCreateInfo(VkPipelineDynamicStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineDynamicStateCreateInfo(
+            *reinterpret_cast<PipelineDynamicStateCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineDynamicStateCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DynamicState> const &dynamicStates_)
+      : flags(flags_),
+        dynamicStateCount(static_cast<uint32_t>(dynamicStates_.size())),
+        pDynamicStates(dynamicStates_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineDynamicStateCreateInfo &operator=(
+      PipelineDynamicStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineDynamicStateCreateInfo &
+  operator=(VkPipelineDynamicStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineDynamicStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineDynamicStateCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineDynamicStateCreateInfo &
+  setDynamicStateCount(uint32_t dynamicStateCount_) VULKAN_HPP_NOEXCEPT {
+    dynamicStateCount = dynamicStateCount_;
+    return *this;
+  }
+
+  PipelineDynamicStateCreateInfo &
+  setPDynamicStates(const VULKAN_HPP_NAMESPACE::DynamicState *pDynamicStates_)
+      VULKAN_HPP_NOEXCEPT {
+    pDynamicStates = pDynamicStates_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineDynamicStateCreateInfo &setDynamicStates(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DynamicState> const &dynamicStates_)
+      VULKAN_HPP_NOEXCEPT {
+    dynamicStateCount = static_cast<uint32_t>(dynamicStates_.size());
+    pDynamicStates = dynamicStates_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPipelineDynamicStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineDynamicStateCreateInfo *>(this);
+  }
+
+  operator VkPipelineDynamicStateCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineDynamicStateCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineDynamicStateCreateInfo const &) const = default;
+#else
+  bool operator==(PipelineDynamicStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (dynamicStateCount == rhs.dynamicStateCount) &&
+           (pDynamicStates == rhs.pDynamicStates);
+  }
+
+  bool operator!=(PipelineDynamicStateCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineDynamicStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags = {};
+  uint32_t dynamicStateCount = {};
+  const VULKAN_HPP_NAMESPACE::DynamicState *pDynamicStates = {};
+};
+static_assert(sizeof(PipelineDynamicStateCreateInfo) ==
+                  sizeof(VkPipelineDynamicStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineDynamicStateCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePipelineDynamicStateCreateInfo> {
+  using Type = PipelineDynamicStateCreateInfo;
+};
+
+struct GraphicsPipelineCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGraphicsPipelineCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {},
+      uint32_t stageCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+          *pVertexInputState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo
+          *pInputAssemblyState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+          *pTessellationState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo
+          *pViewportState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo
+          *pRasterizationState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo
+          *pMultisampleState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo
+          *pDepthStencilState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo
+          *pColorBlendState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo
+          *pDynamicState_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout_ = {},
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {}, uint32_t subpass_ = {},
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
+      int32_t basePipelineIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        stageCount(stageCount_),
+        pStages(pStages_),
+        pVertexInputState(pVertexInputState_),
+        pInputAssemblyState(pInputAssemblyState_),
+        pTessellationState(pTessellationState_),
+        pViewportState(pViewportState_),
+        pRasterizationState(pRasterizationState_),
+        pMultisampleState(pMultisampleState_),
+        pDepthStencilState(pDepthStencilState_),
+        pColorBlendState(pColorBlendState_),
+        pDynamicState(pDynamicState_),
+        layout(layout_),
+        renderPass(renderPass_),
+        subpass(subpass_),
+        basePipelineHandle(basePipelineHandle_),
+        basePipelineIndex(basePipelineIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo(
+      GraphicsPipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  GraphicsPipelineCreateInfo(VkGraphicsPipelineCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : GraphicsPipelineCreateInfo(
+            *reinterpret_cast<GraphicsPipelineCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GraphicsPipelineCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+          &stages_,
+      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+          *pVertexInputState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo
+          *pInputAssemblyState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+          *pTessellationState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo
+          *pViewportState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo
+          *pRasterizationState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo
+          *pMultisampleState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo
+          *pDepthStencilState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo
+          *pColorBlendState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo
+          *pDynamicState_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout_ = {},
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {}, uint32_t subpass_ = {},
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
+      int32_t basePipelineIndex_ = {})
+      : flags(flags_), stageCount(static_cast<uint32_t>(stages_.size())),
+        pStages(stages_.data()), pVertexInputState(pVertexInputState_),
+        pInputAssemblyState(pInputAssemblyState_),
+        pTessellationState(pTessellationState_),
+        pViewportState(pViewportState_),
+        pRasterizationState(pRasterizationState_),
+        pMultisampleState(pMultisampleState_),
+        pDepthStencilState(pDepthStencilState_),
+        pColorBlendState(pColorBlendState_), pDynamicState(pDynamicState_),
+        layout(layout_), renderPass(renderPass_), subpass(subpass_),
+        basePipelineHandle(basePipelineHandle_),
+        basePipelineIndex(basePipelineIndex_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo &operator=(
+      GraphicsPipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  GraphicsPipelineCreateInfo &
+  operator=(VkGraphicsPipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &
+  setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT {
+    stageCount = stageCount_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPStages(
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_)
+      VULKAN_HPP_NOEXCEPT {
+    pStages = pStages_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GraphicsPipelineCreateInfo &
+  setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+            const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+                &stages_) VULKAN_HPP_NOEXCEPT {
+    stageCount = static_cast<uint32_t>(stages_.size());
+    pStages = stages_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  GraphicsPipelineCreateInfo &setPVertexInputState(
+      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+          *pVertexInputState_) VULKAN_HPP_NOEXCEPT {
+    pVertexInputState = pVertexInputState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPInputAssemblyState(
+      const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo
+          *pInputAssemblyState_) VULKAN_HPP_NOEXCEPT {
+    pInputAssemblyState = pInputAssemblyState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPTessellationState(
+      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+          *pTessellationState_) VULKAN_HPP_NOEXCEPT {
+    pTessellationState = pTessellationState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &
+  setPViewportState(const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo
+                        *pViewportState_) VULKAN_HPP_NOEXCEPT {
+    pViewportState = pViewportState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPRasterizationState(
+      const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo
+          *pRasterizationState_) VULKAN_HPP_NOEXCEPT {
+    pRasterizationState = pRasterizationState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPMultisampleState(
+      const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo
+          *pMultisampleState_) VULKAN_HPP_NOEXCEPT {
+    pMultisampleState = pMultisampleState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPDepthStencilState(
+      const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo
+          *pDepthStencilState_) VULKAN_HPP_NOEXCEPT {
+    pDepthStencilState = pDepthStencilState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setPColorBlendState(
+      const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo
+          *pColorBlendState_) VULKAN_HPP_NOEXCEPT {
+    pColorBlendState = pColorBlendState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &
+  setPDynamicState(const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo
+                       *pDynamicState_) VULKAN_HPP_NOEXCEPT {
+    pDynamicState = pDynamicState_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &
+  setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT {
+    layout = layout_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setRenderPass(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT {
+    renderPass = renderPass_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &
+  setSubpass(uint32_t subpass_) VULKAN_HPP_NOEXCEPT {
+    subpass = subpass_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &setBasePipelineHandle(
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT {
+    basePipelineHandle = basePipelineHandle_;
+    return *this;
+  }
+
+  GraphicsPipelineCreateInfo &
+  setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT {
+    basePipelineIndex = basePipelineIndex_;
+    return *this;
+  }
+
+  operator VkGraphicsPipelineCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(this);
+  }
+
+  operator VkGraphicsPipelineCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGraphicsPipelineCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GraphicsPipelineCreateInfo const &) const = default;
+#else
+  bool
+  operator==(GraphicsPipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (stageCount == rhs.stageCount) &&
+           (pStages == rhs.pStages) &&
+           (pVertexInputState == rhs.pVertexInputState) &&
+           (pInputAssemblyState == rhs.pInputAssemblyState) &&
+           (pTessellationState == rhs.pTessellationState) &&
+           (pViewportState == rhs.pViewportState) &&
+           (pRasterizationState == rhs.pRasterizationState) &&
+           (pMultisampleState == rhs.pMultisampleState) &&
+           (pDepthStencilState == rhs.pDepthStencilState) &&
+           (pColorBlendState == rhs.pColorBlendState) &&
+           (pDynamicState == rhs.pDynamicState) && (layout == rhs.layout) &&
+           (renderPass == rhs.renderPass) && (subpass == rhs.subpass) &&
+           (basePipelineHandle == rhs.basePipelineHandle) &&
+           (basePipelineIndex == rhs.basePipelineIndex);
+  }
+
+  bool
+  operator!=(GraphicsPipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eGraphicsPipelineCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags = {};
+  uint32_t stageCount = {};
+  const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages = {};
+  const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+      *pVertexInputState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo
+      *pInputAssemblyState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+      *pTessellationState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo *pViewportState =
+      {};
+  const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo
+      *pRasterizationState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo
+      *pMultisampleState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo
+      *pDepthStencilState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo
+      *pColorBlendState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState =
+      {};
+  VULKAN_HPP_NAMESPACE::PipelineLayout layout = {};
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass = {};
+  uint32_t subpass = {};
+  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle = {};
+  int32_t basePipelineIndex = {};
+};
+static_assert(sizeof(GraphicsPipelineCreateInfo) ==
+                  sizeof(VkGraphicsPipelineCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<GraphicsPipelineCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eGraphicsPipelineCreateInfo> {
+  using Type = GraphicsPipelineCreateInfo;
+};
+
+struct ImageCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageCreateInfo(
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::ImageType imageType_ =
+          VULKAN_HPP_NAMESPACE::ImageType::e1D,
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::Extent3D extent_ = {}, uint32_t mipLevels_ = {},
+      uint32_t arrayLayers_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling_ =
+          VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ = {},
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_ =
+          VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
+      uint32_t queueFamilyIndexCount_ = {},
+      const uint32_t *pQueueFamilyIndices_ = {},
+      VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        imageType(imageType_),
+        format(format_),
+        extent(extent_),
+        mipLevels(mipLevels_),
+        arrayLayers(arrayLayers_),
+        samples(samples_),
+        tiling(tiling_),
+        usage(usage_),
+        sharingMode(sharingMode_),
+        queueFamilyIndexCount(queueFamilyIndexCount_),
+        pQueueFamilyIndices(pQueueFamilyIndices_),
+        initialLayout(initialLayout_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ImageCreateInfo(ImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageCreateInfo(VkImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageCreateInfo(*reinterpret_cast<ImageCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageCreateInfo(
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ImageType imageType_,
+      VULKAN_HPP_NAMESPACE::Format format_,
+      VULKAN_HPP_NAMESPACE::Extent3D extent_, uint32_t mipLevels_,
+      uint32_t arrayLayers_, VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling_,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_,
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_,
+      VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_ =
+          VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined)
+      : flags(flags_), imageType(imageType_), format(format_), extent(extent_),
+        mipLevels(mipLevels_), arrayLayers(arrayLayers_), samples(samples_),
+        tiling(tiling_), usage(usage_), sharingMode(sharingMode_),
+        queueFamilyIndexCount(
+            static_cast<uint32_t>(queueFamilyIndices_.size())),
+        pQueueFamilyIndices(queueFamilyIndices_.data()),
+        initialLayout(initialLayout_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo &
+  operator=(ImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageCreateInfo &operator=(VkImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ImageCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ImageCreateInfo &
+  setImageType(VULKAN_HPP_NAMESPACE::ImageType imageType_) VULKAN_HPP_NOEXCEPT {
+    imageType = imageType_;
+    return *this;
+  }
+
+  ImageCreateInfo &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
+
+  ImageCreateInfo &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
+
+  ImageCreateInfo &setMipLevels(uint32_t mipLevels_) VULKAN_HPP_NOEXCEPT {
+    mipLevels = mipLevels_;
+    return *this;
+  }
+
+  ImageCreateInfo &setArrayLayers(uint32_t arrayLayers_) VULKAN_HPP_NOEXCEPT {
+    arrayLayers = arrayLayers_;
+    return *this;
+  }
+
+  ImageCreateInfo &setSamples(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT {
+    samples = samples_;
+    return *this;
+  }
+
+  ImageCreateInfo &
+  setTiling(VULKAN_HPP_NAMESPACE::ImageTiling tiling_) VULKAN_HPP_NOEXCEPT {
+    tiling = tiling_;
+    return *this;
+  }
+
+  ImageCreateInfo &
+  setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT {
+    usage = usage_;
+    return *this;
+  }
+
+  ImageCreateInfo &setSharingMode(
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_) VULKAN_HPP_NOEXCEPT {
+    sharingMode = sharingMode_;
+    return *this;
+  }
+
+  ImageCreateInfo &setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_)
+      VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = queueFamilyIndexCount_;
+    return *this;
+  }
+
+  ImageCreateInfo &setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_)
+      VULKAN_HPP_NOEXCEPT {
+    pQueueFamilyIndices = pQueueFamilyIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageCreateInfo &setQueueFamilyIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = static_cast<uint32_t>(queueFamilyIndices_.size());
+    pQueueFamilyIndices = queueFamilyIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  ImageCreateInfo &setInitialLayout(
+      VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_) VULKAN_HPP_NOEXCEPT {
+    initialLayout = initialLayout_;
+    return *this;
+  }
+
+  operator VkImageCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageCreateInfo *>(this);
+  }
+
+  operator VkImageCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageCreateInfo const &) const = default;
+#else
+  bool operator==(ImageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (imageType == rhs.imageType) &&
+           (format == rhs.format) && (extent == rhs.extent) &&
+           (mipLevels == rhs.mipLevels) && (arrayLayers == rhs.arrayLayers) &&
+           (samples == rhs.samples) && (tiling == rhs.tiling) &&
+           (usage == rhs.usage) && (sharingMode == rhs.sharingMode) &&
+           (queueFamilyIndexCount == rhs.queueFamilyIndexCount) &&
+           (pQueueFamilyIndices == rhs.pQueueFamilyIndices) &&
+           (initialLayout == rhs.initialLayout);
+  }
+
+  bool operator!=(ImageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ImageType imageType =
+      VULKAN_HPP_NAMESPACE::ImageType::e1D;
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::Extent3D extent = {};
+  uint32_t mipLevels = {};
+  uint32_t arrayLayers = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples =
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::ImageTiling tiling =
+      VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal;
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags usage = {};
+  VULKAN_HPP_NAMESPACE::SharingMode sharingMode =
+      VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
+  uint32_t queueFamilyIndexCount = {};
+  const uint32_t *pQueueFamilyIndices = {};
+  VULKAN_HPP_NAMESPACE::ImageLayout initialLayout =
+      VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
+};
+static_assert(sizeof(ImageCreateInfo) == sizeof(VkImageCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eImageCreateInfo> {
+  using Type = ImageCreateInfo;
+};
+
+struct ImageViewCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageViewCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageViewCreateInfo(
+      VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Image image_ = {},
+      VULKAN_HPP_NAMESPACE::ImageViewType viewType_ =
+          VULKAN_HPP_NAMESPACE::ImageViewType::e1D,
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::ComponentMapping components_ = {},
+      VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            image(image_),
+                            viewType(viewType_),
+                            format(format_),
+                            components(components_),
+                            subresourceRange(subresourceRange_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageViewCreateInfo(ImageViewCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewCreateInfo(VkImageViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageViewCreateInfo(
+            *reinterpret_cast<ImageViewCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo &
+  operator=(ImageViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewCreateInfo &
+  operator=(VkImageViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  ImageViewCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageViewCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ImageViewCreateInfo &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  ImageViewCreateInfo &setViewType(
+      VULKAN_HPP_NAMESPACE::ImageViewType viewType_) VULKAN_HPP_NOEXCEPT {
+    viewType = viewType_;
+    return *this;
+  }
+
+  ImageViewCreateInfo &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
+
+  ImageViewCreateInfo &
+  setComponents(VULKAN_HPP_NAMESPACE::ComponentMapping const &components_)
+      VULKAN_HPP_NOEXCEPT {
+    components = components_;
+    return *this;
+  }
+
+  ImageViewCreateInfo &setSubresourceRange(
+      VULKAN_HPP_NAMESPACE::ImageSubresourceRange const &subresourceRange_)
+      VULKAN_HPP_NOEXCEPT {
+    subresourceRange = subresourceRange_;
+    return *this;
+  }
+
+  operator VkImageViewCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageViewCreateInfo *>(this);
+  }
+
+  operator VkImageViewCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageViewCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageViewCreateInfo const &) const = default;
+#else
+  bool operator==(ImageViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (image == rhs.image) &&
+           (viewType == rhs.viewType) && (format == rhs.format) &&
+           (components == rhs.components) &&
+           (subresourceRange == rhs.subresourceRange);
+  }
+
+  bool operator!=(ImageViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageViewCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  VULKAN_HPP_NAMESPACE::ImageViewType viewType =
+      VULKAN_HPP_NAMESPACE::ImageViewType::e1D;
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::ComponentMapping components = {};
+  VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange = {};
+};
+static_assert(sizeof(ImageViewCreateInfo) == sizeof(VkImageViewCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageViewCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eImageViewCreateInfo> {
+  using Type = ImageViewCreateInfo;
+};
+
+struct IndirectCommandsLayoutTokenNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eIndirectCommandsLayoutTokenNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutTokenNV(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_ =
+          VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV::eShaderGroup,
+      uint32_t stream_ = {}, uint32_t offset_ = {},
+      uint32_t vertexBindingUnit_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_ = {},
+      uint32_t pushconstantOffset_ = {}, uint32_t pushconstantSize_ = {},
+      VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_ = {},
+      uint32_t indexTypeCount_ = {},
+      const VULKAN_HPP_NAMESPACE::IndexType *pIndexTypes_ = {},
+      const uint32_t *pIndexTypeValues_ = {}) VULKAN_HPP_NOEXCEPT
+      : tokenType(tokenType_),
+        stream(stream_),
+        offset(offset_),
+        vertexBindingUnit(vertexBindingUnit_),
+        vertexDynamicStride(vertexDynamicStride_),
+        pushconstantPipelineLayout(pushconstantPipelineLayout_),
+        pushconstantShaderStageFlags(pushconstantShaderStageFlags_),
+        pushconstantOffset(pushconstantOffset_),
+        pushconstantSize(pushconstantSize_),
+        indirectStateFlags(indirectStateFlags_),
+        indexTypeCount(indexTypeCount_),
+        pIndexTypes(pIndexTypes_),
+        pIndexTypeValues(pIndexTypeValues_) {}
+
+  VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutTokenNV(
+      IndirectCommandsLayoutTokenNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  IndirectCommandsLayoutTokenNV(VkIndirectCommandsLayoutTokenNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : IndirectCommandsLayoutTokenNV(
+            *reinterpret_cast<IndirectCommandsLayoutTokenNV const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  IndirectCommandsLayoutTokenNV(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_,
+      uint32_t stream_, uint32_t offset_, uint32_t vertexBindingUnit_,
+      VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_,
+      VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_,
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_,
+      uint32_t pushconstantOffset_, uint32_t pushconstantSize_,
+      VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::IndexType> const &indexTypes_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &indexTypeValues_ = {})
+      : tokenType(tokenType_), stream(stream_), offset(offset_),
+        vertexBindingUnit(vertexBindingUnit_),
+        vertexDynamicStride(vertexDynamicStride_),
+        pushconstantPipelineLayout(pushconstantPipelineLayout_),
+        pushconstantShaderStageFlags(pushconstantShaderStageFlags_),
+        pushconstantOffset(pushconstantOffset_),
+        pushconstantSize(pushconstantSize_),
+        indirectStateFlags(indirectStateFlags_),
+        indexTypeCount(static_cast<uint32_t>(indexTypes_.size())),
+        pIndexTypes(indexTypes_.data()),
+        pIndexTypeValues(indexTypeValues_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(indexTypes_.size() == indexTypeValues_.size());
+#else
+    if (indexTypes_.size() != indexTypeValues_.size()) {
+      throw LogicError(
+          VULKAN_HPP_NAMESPACE_STRING
+          "::IndirectCommandsLayoutTokenNV::IndirectCommandsLayoutTokenNV: "
+          "indexTypes_.size() != indexTypeValues_.size()");
     }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PerformanceValueDataINTEL( uint32_t value32_ = {} ) : value32( value32_ ) {}
+  VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV &operator=(
+      IndirectCommandsLayoutTokenNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PerformanceValueDataINTEL( uint64_t value64_ ) : value64( value64_ ) {}
+  IndirectCommandsLayoutTokenNV &
+  operator=(VkIndirectCommandsLayoutTokenNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV const *>(&rhs);
+    return *this;
+  }
 
-    PerformanceValueDataINTEL( float valueFloat_ ) : valueFloat( valueFloat_ ) {}
+  IndirectCommandsLayoutTokenNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PerformanceValueDataINTEL( const char * valueString_ ) : valueString( valueString_ ) {}
+  IndirectCommandsLayoutTokenNV &
+  setTokenType(VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_)
+      VULKAN_HPP_NOEXCEPT {
+    tokenType = tokenType_;
+    return *this;
+  }
 
-    PerformanceValueDataINTEL & setValue32( uint32_t value32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      value32 = value32_;
-      return *this;
+  IndirectCommandsLayoutTokenNV &
+  setStream(uint32_t stream_) VULKAN_HPP_NOEXCEPT {
+    stream = stream_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &
+  setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &
+  setVertexBindingUnit(uint32_t vertexBindingUnit_) VULKAN_HPP_NOEXCEPT {
+    vertexBindingUnit = vertexBindingUnit_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &setVertexDynamicStride(
+      VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_) VULKAN_HPP_NOEXCEPT {
+    vertexDynamicStride = vertexDynamicStride_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &setPushconstantPipelineLayout(
+      VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    pushconstantPipelineLayout = pushconstantPipelineLayout_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &setPushconstantShaderStageFlags(
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_)
+      VULKAN_HPP_NOEXCEPT {
+    pushconstantShaderStageFlags = pushconstantShaderStageFlags_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &
+  setPushconstantOffset(uint32_t pushconstantOffset_) VULKAN_HPP_NOEXCEPT {
+    pushconstantOffset = pushconstantOffset_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &
+  setPushconstantSize(uint32_t pushconstantSize_) VULKAN_HPP_NOEXCEPT {
+    pushconstantSize = pushconstantSize_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &setIndirectStateFlags(
+      VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_)
+      VULKAN_HPP_NOEXCEPT {
+    indirectStateFlags = indirectStateFlags_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &
+  setIndexTypeCount(uint32_t indexTypeCount_) VULKAN_HPP_NOEXCEPT {
+    indexTypeCount = indexTypeCount_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutTokenNV &setPIndexTypes(
+      const VULKAN_HPP_NAMESPACE::IndexType *pIndexTypes_) VULKAN_HPP_NOEXCEPT {
+    pIndexTypes = pIndexTypes_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  IndirectCommandsLayoutTokenNV &
+  setIndexTypes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                const VULKAN_HPP_NAMESPACE::IndexType> const &indexTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    indexTypeCount = static_cast<uint32_t>(indexTypes_.size());
+    pIndexTypes = indexTypes_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  IndirectCommandsLayoutTokenNV &
+  setPIndexTypeValues(const uint32_t *pIndexTypeValues_) VULKAN_HPP_NOEXCEPT {
+    pIndexTypeValues = pIndexTypeValues_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  IndirectCommandsLayoutTokenNV &setIndexTypeValues(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &indexTypeValues_) VULKAN_HPP_NOEXCEPT {
+    indexTypeCount = static_cast<uint32_t>(indexTypeValues_.size());
+    pIndexTypeValues = indexTypeValues_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkIndirectCommandsLayoutTokenNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkIndirectCommandsLayoutTokenNV *>(this);
+  }
+
+  operator VkIndirectCommandsLayoutTokenNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkIndirectCommandsLayoutTokenNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(IndirectCommandsLayoutTokenNV const &) const = default;
+#else
+  bool operator==(IndirectCommandsLayoutTokenNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (tokenType == rhs.tokenType) && (stream == rhs.stream) &&
+           (offset == rhs.offset) &&
+           (vertexBindingUnit == rhs.vertexBindingUnit) &&
+           (vertexDynamicStride == rhs.vertexDynamicStride) &&
+           (pushconstantPipelineLayout == rhs.pushconstantPipelineLayout) &&
+           (pushconstantShaderStageFlags == rhs.pushconstantShaderStageFlags) &&
+           (pushconstantOffset == rhs.pushconstantOffset) &&
+           (pushconstantSize == rhs.pushconstantSize) &&
+           (indirectStateFlags == rhs.indirectStateFlags) &&
+           (indexTypeCount == rhs.indexTypeCount) &&
+           (pIndexTypes == rhs.pIndexTypes) &&
+           (pIndexTypeValues == rhs.pIndexTypeValues);
+  }
+
+  bool operator!=(IndirectCommandsLayoutTokenNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eIndirectCommandsLayoutTokenNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType =
+      VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV::eShaderGroup;
+  uint32_t stream = {};
+  uint32_t offset = {};
+  uint32_t vertexBindingUnit = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride = {};
+  VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags = {};
+  uint32_t pushconstantOffset = {};
+  uint32_t pushconstantSize = {};
+  VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags = {};
+  uint32_t indexTypeCount = {};
+  const VULKAN_HPP_NAMESPACE::IndexType *pIndexTypes = {};
+  const uint32_t *pIndexTypeValues = {};
+};
+static_assert(sizeof(IndirectCommandsLayoutTokenNV) ==
+                  sizeof(VkIndirectCommandsLayoutTokenNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<IndirectCommandsLayoutTokenNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eIndirectCommandsLayoutTokenNV> {
+  using Type = IndirectCommandsLayoutTokenNV;
+};
+
+struct IndirectCommandsLayoutCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eIndirectCommandsLayoutCreateInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ =
+          VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
+      uint32_t tokenCount_ = {},
+      const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV *pTokens_ = {},
+      uint32_t streamCount_ = {},
+      const uint32_t *pStreamStrides_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        pipelineBindPoint(pipelineBindPoint_),
+        tokenCount(tokenCount_),
+        pTokens(pTokens_),
+        streamCount(streamCount_),
+        pStreamStrides(pStreamStrides_) {}
+
+  VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutCreateInfoNV(
+      IndirectCommandsLayoutCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  IndirectCommandsLayoutCreateInfoNV(
+      VkIndirectCommandsLayoutCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : IndirectCommandsLayoutCreateInfoNV(
+            *reinterpret_cast<IndirectCommandsLayoutCreateInfoNV const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  IndirectCommandsLayoutCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_,
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV> const
+          &tokens_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &streamStrides_ = {})
+      : flags(flags_), pipelineBindPoint(pipelineBindPoint_),
+        tokenCount(static_cast<uint32_t>(tokens_.size())),
+        pTokens(tokens_.data()),
+        streamCount(static_cast<uint32_t>(streamStrides_.size())),
+        pStreamStrides(streamStrides_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV &
+  operator=(IndirectCommandsLayoutCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  IndirectCommandsLayoutCreateInfoNV &operator=(
+      VkIndirectCommandsLayoutCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  IndirectCommandsLayoutCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutCreateInfoNV &
+  setFlags(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutCreateInfoNV &setPipelineBindPoint(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineBindPoint = pipelineBindPoint_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutCreateInfoNV &
+  setTokenCount(uint32_t tokenCount_) VULKAN_HPP_NOEXCEPT {
+    tokenCount = tokenCount_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutCreateInfoNV &setPTokens(
+      const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV *pTokens_)
+      VULKAN_HPP_NOEXCEPT {
+    pTokens = pTokens_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  IndirectCommandsLayoutCreateInfoNV &
+  setTokens(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+            const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV> const
+                &tokens_) VULKAN_HPP_NOEXCEPT {
+    tokenCount = static_cast<uint32_t>(tokens_.size());
+    pTokens = tokens_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  IndirectCommandsLayoutCreateInfoNV &
+  setStreamCount(uint32_t streamCount_) VULKAN_HPP_NOEXCEPT {
+    streamCount = streamCount_;
+    return *this;
+  }
+
+  IndirectCommandsLayoutCreateInfoNV &
+  setPStreamStrides(const uint32_t *pStreamStrides_) VULKAN_HPP_NOEXCEPT {
+    pStreamStrides = pStreamStrides_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  IndirectCommandsLayoutCreateInfoNV &setStreamStrides(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &streamStrides_) VULKAN_HPP_NOEXCEPT {
+    streamCount = static_cast<uint32_t>(streamStrides_.size());
+    pStreamStrides = streamStrides_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkIndirectCommandsLayoutCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>(
+        this);
+  }
+
+  operator VkIndirectCommandsLayoutCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkIndirectCommandsLayoutCreateInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(IndirectCommandsLayoutCreateInfoNV const &) const = default;
+#else
+  bool operator==(IndirectCommandsLayoutCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (pipelineBindPoint == rhs.pipelineBindPoint) &&
+           (tokenCount == rhs.tokenCount) && (pTokens == rhs.pTokens) &&
+           (streamCount == rhs.streamCount) &&
+           (pStreamStrides == rhs.pStreamStrides);
+  }
+
+  bool operator!=(IndirectCommandsLayoutCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eIndirectCommandsLayoutCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags = {};
+  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint =
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
+  uint32_t tokenCount = {};
+  const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV *pTokens = {};
+  uint32_t streamCount = {};
+  const uint32_t *pStreamStrides = {};
+};
+static_assert(sizeof(IndirectCommandsLayoutCreateInfoNV) ==
+                  sizeof(VkIndirectCommandsLayoutCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<IndirectCommandsLayoutCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eIndirectCommandsLayoutCreateInfoNV> {
+  using Type = IndirectCommandsLayoutCreateInfoNV;
+};
+
+struct PipelineCacheCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineCacheCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineCacheCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_ = {},
+      size_t initialDataSize_ = {},
+      const void *pInitialData_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        initialDataSize(initialDataSize_),
+        pInitialData(pInitialData_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineCacheCreateInfo(
+      PipelineCacheCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineCacheCreateInfo(VkPipelineCacheCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineCacheCreateInfo(
+            *reinterpret_cast<PipelineCacheCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  PipelineCacheCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const
+          &initialData_)
+      : flags(flags_), initialDataSize(initialData_.size() * sizeof(T)),
+        pInitialData(initialData_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineCacheCreateInfo &
+  operator=(PipelineCacheCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineCacheCreateInfo &
+  operator=(VkPipelineCacheCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineCacheCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineCacheCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineCacheCreateInfo &
+  setInitialDataSize(size_t initialDataSize_) VULKAN_HPP_NOEXCEPT {
+    initialDataSize = initialDataSize_;
+    return *this;
+  }
+
+  PipelineCacheCreateInfo &
+  setPInitialData(const void *pInitialData_) VULKAN_HPP_NOEXCEPT {
+    pInitialData = pInitialData_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  PipelineCacheCreateInfo &
+  setInitialData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const
+                     &initialData_) VULKAN_HPP_NOEXCEPT {
+    initialDataSize = initialData_.size() * sizeof(T);
+    pInitialData = initialData_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPipelineCacheCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineCacheCreateInfo *>(this);
+  }
+
+  operator VkPipelineCacheCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineCacheCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineCacheCreateInfo const &) const = default;
+#else
+  bool
+  operator==(PipelineCacheCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (initialDataSize == rhs.initialDataSize) &&
+           (pInitialData == rhs.pInitialData);
+  }
+
+  bool
+  operator!=(PipelineCacheCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineCacheCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags = {};
+  size_t initialDataSize = {};
+  const void *pInitialData = {};
+};
+static_assert(sizeof(PipelineCacheCreateInfo) ==
+                  sizeof(VkPipelineCacheCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineCacheCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePipelineCacheCreateInfo> {
+  using Type = PipelineCacheCreateInfo;
+};
+
+struct PushConstantRange {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  PushConstantRange(VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_ = {},
+                    uint32_t offset_ = {},
+                    uint32_t size_ = {}) VULKAN_HPP_NOEXCEPT
+      : stageFlags(stageFlags_),
+        offset(offset_),
+        size(size_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  PushConstantRange(PushConstantRange const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PushConstantRange(VkPushConstantRange const &rhs) VULKAN_HPP_NOEXCEPT
+      : PushConstantRange(*reinterpret_cast<PushConstantRange const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PushConstantRange &
+  operator=(PushConstantRange const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PushConstantRange &
+  operator=(VkPushConstantRange const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PushConstantRange const *>(
+        &rhs);
+    return *this;
+  }
+
+  PushConstantRange &setStageFlags(
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_) VULKAN_HPP_NOEXCEPT {
+    stageFlags = stageFlags_;
+    return *this;
+  }
+
+  PushConstantRange &setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  PushConstantRange &setSize(uint32_t size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  operator VkPushConstantRange const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPushConstantRange *>(this);
+  }
+
+  operator VkPushConstantRange &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPushConstantRange *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PushConstantRange const &) const = default;
+#else
+  bool operator==(PushConstantRange const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (stageFlags == rhs.stageFlags) && (offset == rhs.offset) &&
+           (size == rhs.size);
+  }
+
+  bool operator!=(PushConstantRange const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags = {};
+  uint32_t offset = {};
+  uint32_t size = {};
+};
+static_assert(sizeof(PushConstantRange) == sizeof(VkPushConstantRange),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PushConstantRange>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PipelineLayoutCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineLayoutCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineLayoutCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_ = {},
+      uint32_t setLayoutCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_ = {},
+      uint32_t pushConstantRangeCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PushConstantRange *pPushConstantRanges_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            setLayoutCount(setLayoutCount_),
+                            pSetLayouts(pSetLayouts_),
+                            pushConstantRangeCount(pushConstantRangeCount_),
+                            pPushConstantRanges(pPushConstantRanges_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineLayoutCreateInfo(
+      PipelineLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineLayoutCreateInfo(VkPipelineLayoutCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineLayoutCreateInfo(
+            *reinterpret_cast<PipelineLayoutCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineLayoutCreateInfo(
+      VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &setLayouts_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PushConstantRange> const
+          &pushConstantRanges_ = {})
+      : flags(flags_),
+        setLayoutCount(static_cast<uint32_t>(setLayouts_.size())),
+        pSetLayouts(setLayouts_.data()),
+        pushConstantRangeCount(
+            static_cast<uint32_t>(pushConstantRanges_.size())),
+        pPushConstantRanges(pushConstantRanges_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineLayoutCreateInfo &
+  operator=(PipelineLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineLayoutCreateInfo &
+  operator=(VkPipelineLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  PipelineLayoutCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineLayoutCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineLayoutCreateInfo &
+  setSetLayoutCount(uint32_t setLayoutCount_) VULKAN_HPP_NOEXCEPT {
+    setLayoutCount = setLayoutCount_;
+    return *this;
+  }
+
+  PipelineLayoutCreateInfo &
+  setPSetLayouts(const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    pSetLayouts = pSetLayouts_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineLayoutCreateInfo &setSetLayouts(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &setLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    setLayoutCount = static_cast<uint32_t>(setLayouts_.size());
+    pSetLayouts = setLayouts_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  PipelineLayoutCreateInfo &setPushConstantRangeCount(
+      uint32_t pushConstantRangeCount_) VULKAN_HPP_NOEXCEPT {
+    pushConstantRangeCount = pushConstantRangeCount_;
+    return *this;
+  }
+
+  PipelineLayoutCreateInfo &setPPushConstantRanges(
+      const VULKAN_HPP_NAMESPACE::PushConstantRange *pPushConstantRanges_)
+      VULKAN_HPP_NOEXCEPT {
+    pPushConstantRanges = pPushConstantRanges_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineLayoutCreateInfo &
+  setPushConstantRanges(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                        const VULKAN_HPP_NAMESPACE::PushConstantRange> const
+                            &pushConstantRanges_) VULKAN_HPP_NOEXCEPT {
+    pushConstantRangeCount = static_cast<uint32_t>(pushConstantRanges_.size());
+    pPushConstantRanges = pushConstantRanges_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPipelineLayoutCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineLayoutCreateInfo *>(this);
+  }
+
+  operator VkPipelineLayoutCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineLayoutCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineLayoutCreateInfo const &) const = default;
+#else
+  bool
+  operator==(PipelineLayoutCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (setLayoutCount == rhs.setLayoutCount) &&
+           (pSetLayouts == rhs.pSetLayouts) &&
+           (pushConstantRangeCount == rhs.pushConstantRangeCount) &&
+           (pPushConstantRanges == rhs.pPushConstantRanges);
+  }
+
+  bool
+  operator!=(PipelineLayoutCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineLayoutCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags = {};
+  uint32_t setLayoutCount = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts = {};
+  uint32_t pushConstantRangeCount = {};
+  const VULKAN_HPP_NAMESPACE::PushConstantRange *pPushConstantRanges = {};
+};
+static_assert(sizeof(PipelineLayoutCreateInfo) ==
+                  sizeof(VkPipelineLayoutCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineLayoutCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePipelineLayoutCreateInfo> {
+  using Type = PipelineLayoutCreateInfo;
+};
+
+struct PrivateDataSlotCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePrivateDataSlotCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PrivateDataSlotCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlagsEXT flags_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR PrivateDataSlotCreateInfoEXT(
+      PrivateDataSlotCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PrivateDataSlotCreateInfoEXT(VkPrivateDataSlotCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PrivateDataSlotCreateInfoEXT(
+            *reinterpret_cast<PrivateDataSlotCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PrivateDataSlotCreateInfoEXT &operator=(
+      PrivateDataSlotCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PrivateDataSlotCreateInfoEXT &
+  operator=(VkPrivateDataSlotCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  PrivateDataSlotCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PrivateDataSlotCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkPrivateDataSlotCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>(this);
+  }
+
+  operator VkPrivateDataSlotCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPrivateDataSlotCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PrivateDataSlotCreateInfoEXT const &) const = default;
+#else
+  bool operator==(PrivateDataSlotCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (flags == rhs.flags);
+  }
+
+  bool operator!=(PrivateDataSlotCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePrivateDataSlotCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlagsEXT flags = {};
+};
+static_assert(sizeof(PrivateDataSlotCreateInfoEXT) ==
+                  sizeof(VkPrivateDataSlotCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PrivateDataSlotCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePrivateDataSlotCreateInfoEXT> {
+  using Type = PrivateDataSlotCreateInfoEXT;
+};
+
+class PrivateDataSlotEXT {
+public:
+  using CType = VkPrivateDataSlotEXT;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlotEXT;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
+
+public:
+  VULKAN_HPP_CONSTEXPR PrivateDataSlotEXT() = default;
+  VULKAN_HPP_CONSTEXPR PrivateDataSlotEXT(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT PrivateDataSlotEXT(
+      VkPrivateDataSlotEXT privateDataSlotEXT) VULKAN_HPP_NOEXCEPT
+      : m_privateDataSlotEXT(privateDataSlotEXT) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  PrivateDataSlotEXT &
+  operator=(VkPrivateDataSlotEXT privateDataSlotEXT) VULKAN_HPP_NOEXCEPT {
+    m_privateDataSlotEXT = privateDataSlotEXT;
+    return *this;
+  }
+#endif
+
+  PrivateDataSlotEXT &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_privateDataSlotEXT = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PrivateDataSlotEXT const &) const = default;
+#else
+  bool operator==(PrivateDataSlotEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_privateDataSlotEXT == rhs.m_privateDataSlotEXT;
+  }
+
+  bool operator!=(PrivateDataSlotEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_privateDataSlotEXT != rhs.m_privateDataSlotEXT;
+  }
+
+  bool operator<(PrivateDataSlotEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_privateDataSlotEXT < rhs.m_privateDataSlotEXT;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkPrivateDataSlotEXT() const VULKAN_HPP_NOEXCEPT {
+    return m_privateDataSlotEXT;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_privateDataSlotEXT != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_privateDataSlotEXT == VK_NULL_HANDLE;
+  }
+
+private:
+  VkPrivateDataSlotEXT m_privateDataSlotEXT = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT) ==
+                  sizeof(VkPrivateDataSlotEXT),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::ePrivateDataSlotEXT> {
+  using type = VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlotEXT> {
+  using Type = VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct QueryPoolCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eQueryPoolCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  QueryPoolCreateInfo(VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags flags_ = {},
+                      VULKAN_HPP_NAMESPACE::QueryType queryType_ =
+                          VULKAN_HPP_NAMESPACE::QueryType::eOcclusion,
+                      uint32_t queryCount_ = {},
+                      VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags
+                          pipelineStatistics_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        queryType(queryType_),
+        queryCount(queryCount_),
+        pipelineStatistics(pipelineStatistics_) {}
+
+  VULKAN_HPP_CONSTEXPR QueryPoolCreateInfo(QueryPoolCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  QueryPoolCreateInfo(VkQueryPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : QueryPoolCreateInfo(
+            *reinterpret_cast<QueryPoolCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 QueryPoolCreateInfo &
+  operator=(QueryPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  QueryPoolCreateInfo &
+  operator=(VkQueryPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  QueryPoolCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  QueryPoolCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  QueryPoolCreateInfo &
+  setQueryType(VULKAN_HPP_NAMESPACE::QueryType queryType_) VULKAN_HPP_NOEXCEPT {
+    queryType = queryType_;
+    return *this;
+  }
+
+  QueryPoolCreateInfo &setQueryCount(uint32_t queryCount_) VULKAN_HPP_NOEXCEPT {
+    queryCount = queryCount_;
+    return *this;
+  }
+
+  QueryPoolCreateInfo &setPipelineStatistics(
+      VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineStatistics = pipelineStatistics_;
+    return *this;
+  }
+
+  operator VkQueryPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkQueryPoolCreateInfo *>(this);
+  }
+
+  operator VkQueryPoolCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkQueryPoolCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(QueryPoolCreateInfo const &) const = default;
+#else
+  bool operator==(QueryPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (queryType == rhs.queryType) &&
+           (queryCount == rhs.queryCount) &&
+           (pipelineStatistics == rhs.pipelineStatistics);
+  }
+
+  bool operator!=(QueryPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eQueryPoolCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::QueryType queryType =
+      VULKAN_HPP_NAMESPACE::QueryType::eOcclusion;
+  uint32_t queryCount = {};
+  VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics = {};
+};
+static_assert(sizeof(QueryPoolCreateInfo) == sizeof(VkQueryPoolCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<QueryPoolCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eQueryPoolCreateInfo> {
+  using Type = QueryPoolCreateInfo;
+};
+
+struct RayTracingShaderGroupCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRayTracingShaderGroupCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_ =
+          VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral,
+      uint32_t generalShader_ = {}, uint32_t closestHitShader_ = {},
+      uint32_t anyHitShader_ = {}, uint32_t intersectionShader_ = {},
+      const void *pShaderGroupCaptureReplayHandle_ = {}) VULKAN_HPP_NOEXCEPT
+      : type(type_),
+        generalShader(generalShader_),
+        closestHitShader(closestHitShader_),
+        anyHitShader(anyHitShader_),
+        intersectionShader(intersectionShader_),
+        pShaderGroupCaptureReplayHandle(pShaderGroupCaptureReplayHandle_) {}
+
+  VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoKHR(
+      RayTracingShaderGroupCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingShaderGroupCreateInfoKHR(
+      VkRayTracingShaderGroupCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : RayTracingShaderGroupCreateInfoKHR(
+            *reinterpret_cast<RayTracingShaderGroupCreateInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR &
+  operator=(RayTracingShaderGroupCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingShaderGroupCreateInfoKHR &operator=(
+      VkRayTracingShaderGroupCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoKHR &
+  setType(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoKHR &
+  setGeneralShader(uint32_t generalShader_) VULKAN_HPP_NOEXCEPT {
+    generalShader = generalShader_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoKHR &
+  setClosestHitShader(uint32_t closestHitShader_) VULKAN_HPP_NOEXCEPT {
+    closestHitShader = closestHitShader_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoKHR &
+  setAnyHitShader(uint32_t anyHitShader_) VULKAN_HPP_NOEXCEPT {
+    anyHitShader = anyHitShader_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoKHR &
+  setIntersectionShader(uint32_t intersectionShader_) VULKAN_HPP_NOEXCEPT {
+    intersectionShader = intersectionShader_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoKHR &setPShaderGroupCaptureReplayHandle(
+      const void *pShaderGroupCaptureReplayHandle_) VULKAN_HPP_NOEXCEPT {
+    pShaderGroupCaptureReplayHandle = pShaderGroupCaptureReplayHandle_;
+    return *this;
+  }
+
+  operator VkRayTracingShaderGroupCreateInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRayTracingShaderGroupCreateInfoKHR *>(
+        this);
+  }
+
+  operator VkRayTracingShaderGroupCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRayTracingShaderGroupCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RayTracingShaderGroupCreateInfoKHR const &) const = default;
+#else
+  bool operator==(RayTracingShaderGroupCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (type == rhs.type) &&
+           (generalShader == rhs.generalShader) &&
+           (closestHitShader == rhs.closestHitShader) &&
+           (anyHitShader == rhs.anyHitShader) &&
+           (intersectionShader == rhs.intersectionShader) &&
+           (pShaderGroupCaptureReplayHandle ==
+            rhs.pShaderGroupCaptureReplayHandle);
+  }
+
+  bool operator!=(RayTracingShaderGroupCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRayTracingShaderGroupCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type =
+      VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral;
+  uint32_t generalShader = {};
+  uint32_t closestHitShader = {};
+  uint32_t anyHitShader = {};
+  uint32_t intersectionShader = {};
+  const void *pShaderGroupCaptureReplayHandle = {};
+};
+static_assert(sizeof(RayTracingShaderGroupCreateInfoKHR) ==
+                  sizeof(VkRayTracingShaderGroupCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<RayTracingShaderGroupCreateInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eRayTracingShaderGroupCreateInfoKHR> {
+  using Type = RayTracingShaderGroupCreateInfoKHR;
+};
+
+struct PipelineLibraryCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineLibraryCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineLibraryCreateInfoKHR(
+      uint32_t libraryCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Pipeline *pLibraries_ = {})
+      VULKAN_HPP_NOEXCEPT : libraryCount(libraryCount_),
+                            pLibraries(pLibraries_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineLibraryCreateInfoKHR(
+      PipelineLibraryCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineLibraryCreateInfoKHR(VkPipelineLibraryCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineLibraryCreateInfoKHR(
+            *reinterpret_cast<PipelineLibraryCreateInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineLibraryCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Pipeline> const &libraries_)
+      : libraryCount(static_cast<uint32_t>(libraries_.size())),
+        pLibraries(libraries_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineLibraryCreateInfoKHR &operator=(
+      PipelineLibraryCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineLibraryCreateInfoKHR &
+  operator=(VkPipelineLibraryCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  PipelineLibraryCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineLibraryCreateInfoKHR &
+  setLibraryCount(uint32_t libraryCount_) VULKAN_HPP_NOEXCEPT {
+    libraryCount = libraryCount_;
+    return *this;
+  }
+
+  PipelineLibraryCreateInfoKHR &setPLibraries(
+      const VULKAN_HPP_NAMESPACE::Pipeline *pLibraries_) VULKAN_HPP_NOEXCEPT {
+    pLibraries = pLibraries_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineLibraryCreateInfoKHR &
+  setLibraries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+               const VULKAN_HPP_NAMESPACE::Pipeline> const &libraries_)
+      VULKAN_HPP_NOEXCEPT {
+    libraryCount = static_cast<uint32_t>(libraries_.size());
+    pLibraries = libraries_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPipelineLibraryCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineLibraryCreateInfoKHR *>(this);
+  }
+
+  operator VkPipelineLibraryCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineLibraryCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineLibraryCreateInfoKHR const &) const = default;
+#else
+  bool operator==(PipelineLibraryCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (libraryCount == rhs.libraryCount) && (pLibraries == rhs.pLibraries);
+  }
+
+  bool operator!=(PipelineLibraryCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineLibraryCreateInfoKHR;
+  const void *pNext = {};
+  uint32_t libraryCount = {};
+  const VULKAN_HPP_NAMESPACE::Pipeline *pLibraries = {};
+};
+static_assert(sizeof(PipelineLibraryCreateInfoKHR) ==
+                  sizeof(VkPipelineLibraryCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineLibraryCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePipelineLibraryCreateInfoKHR> {
+  using Type = PipelineLibraryCreateInfoKHR;
+};
+
+struct RayTracingPipelineInterfaceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRayTracingPipelineInterfaceCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RayTracingPipelineInterfaceCreateInfoKHR(
+      uint32_t maxPipelineRayPayloadSize_ = {},
+      uint32_t maxPipelineRayHitAttributeSize_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxPipelineRayPayloadSize(maxPipelineRayPayloadSize_),
+        maxPipelineRayHitAttributeSize(maxPipelineRayHitAttributeSize_) {}
+
+  VULKAN_HPP_CONSTEXPR RayTracingPipelineInterfaceCreateInfoKHR(
+      RayTracingPipelineInterfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingPipelineInterfaceCreateInfoKHR(
+      VkRayTracingPipelineInterfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : RayTracingPipelineInterfaceCreateInfoKHR(
+            *reinterpret_cast<RayTracingPipelineInterfaceCreateInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineInterfaceCreateInfoKHR &
+  operator=(RayTracingPipelineInterfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingPipelineInterfaceCreateInfoKHR &
+  operator=(VkRayTracingPipelineInterfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  RayTracingPipelineInterfaceCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  RayTracingPipelineInterfaceCreateInfoKHR &setMaxPipelineRayPayloadSize(
+      uint32_t maxPipelineRayPayloadSize_) VULKAN_HPP_NOEXCEPT {
+    maxPipelineRayPayloadSize = maxPipelineRayPayloadSize_;
+    return *this;
+  }
+
+  RayTracingPipelineInterfaceCreateInfoKHR &setMaxPipelineRayHitAttributeSize(
+      uint32_t maxPipelineRayHitAttributeSize_) VULKAN_HPP_NOEXCEPT {
+    maxPipelineRayHitAttributeSize = maxPipelineRayHitAttributeSize_;
+    return *this;
+  }
+
+  operator VkRayTracingPipelineInterfaceCreateInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkRayTracingPipelineInterfaceCreateInfoKHR *>(this);
+  }
+
+  operator VkRayTracingPipelineInterfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRayTracingPipelineInterfaceCreateInfoKHR *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(RayTracingPipelineInterfaceCreateInfoKHR const &) const = default;
+#else
+  bool operator==(RayTracingPipelineInterfaceCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxPipelineRayPayloadSize == rhs.maxPipelineRayPayloadSize) &&
+           (maxPipelineRayHitAttributeSize ==
+            rhs.maxPipelineRayHitAttributeSize);
+  }
+
+  bool operator!=(RayTracingPipelineInterfaceCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRayTracingPipelineInterfaceCreateInfoKHR;
+  const void *pNext = {};
+  uint32_t maxPipelineRayPayloadSize = {};
+  uint32_t maxPipelineRayHitAttributeSize = {};
+};
+static_assert(sizeof(RayTracingPipelineInterfaceCreateInfoKHR) ==
+                  sizeof(VkRayTracingPipelineInterfaceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<RayTracingPipelineInterfaceCreateInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eRayTracingPipelineInterfaceCreateInfoKHR> {
+  using Type = RayTracingPipelineInterfaceCreateInfoKHR;
+};
+
+struct RayTracingPipelineCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRayTracingPipelineCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {},
+      uint32_t stageCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_ = {},
+      uint32_t groupCount_ = {},
+      const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR *pGroups_ =
+          {},
+      uint32_t maxPipelineRayRecursionDepth_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR *pLibraryInfo_ =
+          {},
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR
+          *pLibraryInterface_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo
+          *pDynamicState_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout_ = {},
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
+      int32_t basePipelineIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        stageCount(stageCount_),
+        pStages(pStages_),
+        groupCount(groupCount_),
+        pGroups(pGroups_),
+        maxPipelineRayRecursionDepth(maxPipelineRayRecursionDepth_),
+        pLibraryInfo(pLibraryInfo_),
+        pLibraryInterface(pLibraryInterface_),
+        pDynamicState(pDynamicState_),
+        layout(layout_),
+        basePipelineHandle(basePipelineHandle_),
+        basePipelineIndex(basePipelineIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoKHR(
+      RayTracingPipelineCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingPipelineCreateInfoKHR(VkRayTracingPipelineCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : RayTracingPipelineCreateInfoKHR(
+            *reinterpret_cast<RayTracingPipelineCreateInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RayTracingPipelineCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+          &stages_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR> const
+          &groups_ = {},
+      uint32_t maxPipelineRayRecursionDepth_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR *pLibraryInfo_ =
+          {},
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR
+          *pLibraryInterface_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo
+          *pDynamicState_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout_ = {},
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
+      int32_t basePipelineIndex_ = {})
+      : flags(flags_), stageCount(static_cast<uint32_t>(stages_.size())),
+        pStages(stages_.data()),
+        groupCount(static_cast<uint32_t>(groups_.size())),
+        pGroups(groups_.data()),
+        maxPipelineRayRecursionDepth(maxPipelineRayRecursionDepth_),
+        pLibraryInfo(pLibraryInfo_), pLibraryInterface(pLibraryInterface_),
+        pDynamicState(pDynamicState_), layout(layout_),
+        basePipelineHandle(basePipelineHandle_),
+        basePipelineIndex(basePipelineIndex_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR &operator=(
+      RayTracingPipelineCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingPipelineCreateInfoKHR &
+  operator=(VkRayTracingPipelineCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &
+  setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT {
+    stageCount = stageCount_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &setPStages(
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_)
+      VULKAN_HPP_NOEXCEPT {
+    pStages = pStages_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RayTracingPipelineCreateInfoKHR &
+  setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+            const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+                &stages_) VULKAN_HPP_NOEXCEPT {
+    stageCount = static_cast<uint32_t>(stages_.size());
+    pStages = stages_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RayTracingPipelineCreateInfoKHR &
+  setGroupCount(uint32_t groupCount_) VULKAN_HPP_NOEXCEPT {
+    groupCount = groupCount_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &setPGroups(
+      const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR *pGroups_)
+      VULKAN_HPP_NOEXCEPT {
+    pGroups = pGroups_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RayTracingPipelineCreateInfoKHR &setGroups(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR> const
+          &groups_) VULKAN_HPP_NOEXCEPT {
+    groupCount = static_cast<uint32_t>(groups_.size());
+    pGroups = groups_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RayTracingPipelineCreateInfoKHR &setMaxPipelineRayRecursionDepth(
+      uint32_t maxPipelineRayRecursionDepth_) VULKAN_HPP_NOEXCEPT {
+    maxPipelineRayRecursionDepth = maxPipelineRayRecursionDepth_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &setPLibraryInfo(
+      const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR *pLibraryInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    pLibraryInfo = pLibraryInfo_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &setPLibraryInterface(
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR
+          *pLibraryInterface_) VULKAN_HPP_NOEXCEPT {
+    pLibraryInterface = pLibraryInterface_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &
+  setPDynamicState(const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo
+                       *pDynamicState_) VULKAN_HPP_NOEXCEPT {
+    pDynamicState = pDynamicState_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &
+  setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT {
+    layout = layout_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &setBasePipelineHandle(
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT {
+    basePipelineHandle = basePipelineHandle_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoKHR &
+  setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT {
+    basePipelineIndex = basePipelineIndex_;
+    return *this;
+  }
+
+  operator VkRayTracingPipelineCreateInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(this);
+  }
+
+  operator VkRayTracingPipelineCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRayTracingPipelineCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RayTracingPipelineCreateInfoKHR const &) const = default;
+#else
+  bool operator==(RayTracingPipelineCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (stageCount == rhs.stageCount) &&
+           (pStages == rhs.pStages) && (groupCount == rhs.groupCount) &&
+           (pGroups == rhs.pGroups) &&
+           (maxPipelineRayRecursionDepth == rhs.maxPipelineRayRecursionDepth) &&
+           (pLibraryInfo == rhs.pLibraryInfo) &&
+           (pLibraryInterface == rhs.pLibraryInterface) &&
+           (pDynamicState == rhs.pDynamicState) && (layout == rhs.layout) &&
+           (basePipelineHandle == rhs.basePipelineHandle) &&
+           (basePipelineIndex == rhs.basePipelineIndex);
+  }
+
+  bool operator!=(RayTracingPipelineCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRayTracingPipelineCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags = {};
+  uint32_t stageCount = {};
+  const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages = {};
+  uint32_t groupCount = {};
+  const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR *pGroups = {};
+  uint32_t maxPipelineRayRecursionDepth = {};
+  const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR *pLibraryInfo = {};
+  const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR
+      *pLibraryInterface = {};
+  const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState =
+      {};
+  VULKAN_HPP_NAMESPACE::PipelineLayout layout = {};
+  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle = {};
+  int32_t basePipelineIndex = {};
+};
+static_assert(sizeof(RayTracingPipelineCreateInfoKHR) ==
+                  sizeof(VkRayTracingPipelineCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RayTracingPipelineCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eRayTracingPipelineCreateInfoKHR> {
+  using Type = RayTracingPipelineCreateInfoKHR;
+};
+
+struct RayTracingShaderGroupCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRayTracingShaderGroupCreateInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_ =
+          VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral,
+      uint32_t generalShader_ = {}, uint32_t closestHitShader_ = {},
+      uint32_t anyHitShader_ = {},
+      uint32_t intersectionShader_ = {}) VULKAN_HPP_NOEXCEPT
+      : type(type_),
+        generalShader(generalShader_),
+        closestHitShader(closestHitShader_),
+        anyHitShader(anyHitShader_),
+        intersectionShader(intersectionShader_) {}
+
+  VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoNV(
+      RayTracingShaderGroupCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingShaderGroupCreateInfoNV(
+      VkRayTracingShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : RayTracingShaderGroupCreateInfoNV(
+            *reinterpret_cast<RayTracingShaderGroupCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoNV &
+  operator=(RayTracingShaderGroupCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingShaderGroupCreateInfoNV &operator=(
+      VkRayTracingShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoNV &
+  setType(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoNV &
+  setGeneralShader(uint32_t generalShader_) VULKAN_HPP_NOEXCEPT {
+    generalShader = generalShader_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoNV &
+  setClosestHitShader(uint32_t closestHitShader_) VULKAN_HPP_NOEXCEPT {
+    closestHitShader = closestHitShader_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoNV &
+  setAnyHitShader(uint32_t anyHitShader_) VULKAN_HPP_NOEXCEPT {
+    anyHitShader = anyHitShader_;
+    return *this;
+  }
+
+  RayTracingShaderGroupCreateInfoNV &
+  setIntersectionShader(uint32_t intersectionShader_) VULKAN_HPP_NOEXCEPT {
+    intersectionShader = intersectionShader_;
+    return *this;
+  }
+
+  operator VkRayTracingShaderGroupCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRayTracingShaderGroupCreateInfoNV *>(this);
+  }
+
+  operator VkRayTracingShaderGroupCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRayTracingShaderGroupCreateInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RayTracingShaderGroupCreateInfoNV const &) const = default;
+#else
+  bool operator==(RayTracingShaderGroupCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (type == rhs.type) &&
+           (generalShader == rhs.generalShader) &&
+           (closestHitShader == rhs.closestHitShader) &&
+           (anyHitShader == rhs.anyHitShader) &&
+           (intersectionShader == rhs.intersectionShader);
+  }
+
+  bool operator!=(RayTracingShaderGroupCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRayTracingShaderGroupCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type =
+      VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral;
+  uint32_t generalShader = {};
+  uint32_t closestHitShader = {};
+  uint32_t anyHitShader = {};
+  uint32_t intersectionShader = {};
+};
+static_assert(sizeof(RayTracingShaderGroupCreateInfoNV) ==
+                  sizeof(VkRayTracingShaderGroupCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RayTracingShaderGroupCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eRayTracingShaderGroupCreateInfoNV> {
+  using Type = RayTracingShaderGroupCreateInfoNV;
+};
+
+struct RayTracingPipelineCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRayTracingPipelineCreateInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {},
+      uint32_t stageCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_ = {},
+      uint32_t groupCount_ = {},
+      const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV *pGroups_ =
+          {},
+      uint32_t maxRecursionDepth_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout_ = {},
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
+      int32_t basePipelineIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        stageCount(stageCount_),
+        pStages(pStages_),
+        groupCount(groupCount_),
+        pGroups(pGroups_),
+        maxRecursionDepth(maxRecursionDepth_),
+        layout(layout_),
+        basePipelineHandle(basePipelineHandle_),
+        basePipelineIndex(basePipelineIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoNV(
+      RayTracingPipelineCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingPipelineCreateInfoNV(VkRayTracingPipelineCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : RayTracingPipelineCreateInfoNV(
+            *reinterpret_cast<RayTracingPipelineCreateInfoNV const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RayTracingPipelineCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+          &stages_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV> const
+          &groups_ = {},
+      uint32_t maxRecursionDepth_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineLayout layout_ = {},
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
+      int32_t basePipelineIndex_ = {})
+      : flags(flags_), stageCount(static_cast<uint32_t>(stages_.size())),
+        pStages(stages_.data()),
+        groupCount(static_cast<uint32_t>(groups_.size())),
+        pGroups(groups_.data()), maxRecursionDepth(maxRecursionDepth_),
+        layout(layout_), basePipelineHandle(basePipelineHandle_),
+        basePipelineIndex(basePipelineIndex_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV &operator=(
+      RayTracingPipelineCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  RayTracingPipelineCreateInfoNV &
+  operator=(VkRayTracingPipelineCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &
+  setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT {
+    stageCount = stageCount_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &setPStages(
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_)
+      VULKAN_HPP_NOEXCEPT {
+    pStages = pStages_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RayTracingPipelineCreateInfoNV &
+  setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+            const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+                &stages_) VULKAN_HPP_NOEXCEPT {
+    stageCount = static_cast<uint32_t>(stages_.size());
+    pStages = stages_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RayTracingPipelineCreateInfoNV &
+  setGroupCount(uint32_t groupCount_) VULKAN_HPP_NOEXCEPT {
+    groupCount = groupCount_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &setPGroups(
+      const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV *pGroups_)
+      VULKAN_HPP_NOEXCEPT {
+    pGroups = pGroups_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RayTracingPipelineCreateInfoNV &
+  setGroups(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+            const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV> const
+                &groups_) VULKAN_HPP_NOEXCEPT {
+    groupCount = static_cast<uint32_t>(groups_.size());
+    pGroups = groups_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RayTracingPipelineCreateInfoNV &
+  setMaxRecursionDepth(uint32_t maxRecursionDepth_) VULKAN_HPP_NOEXCEPT {
+    maxRecursionDepth = maxRecursionDepth_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &
+  setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT {
+    layout = layout_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &setBasePipelineHandle(
+      VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT {
+    basePipelineHandle = basePipelineHandle_;
+    return *this;
+  }
+
+  RayTracingPipelineCreateInfoNV &
+  setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT {
+    basePipelineIndex = basePipelineIndex_;
+    return *this;
+  }
+
+  operator VkRayTracingPipelineCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(this);
+  }
+
+  operator VkRayTracingPipelineCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRayTracingPipelineCreateInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RayTracingPipelineCreateInfoNV const &) const = default;
+#else
+  bool operator==(RayTracingPipelineCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (stageCount == rhs.stageCount) &&
+           (pStages == rhs.pStages) && (groupCount == rhs.groupCount) &&
+           (pGroups == rhs.pGroups) &&
+           (maxRecursionDepth == rhs.maxRecursionDepth) &&
+           (layout == rhs.layout) &&
+           (basePipelineHandle == rhs.basePipelineHandle) &&
+           (basePipelineIndex == rhs.basePipelineIndex);
+  }
+
+  bool operator!=(RayTracingPipelineCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRayTracingPipelineCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags = {};
+  uint32_t stageCount = {};
+  const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages = {};
+  uint32_t groupCount = {};
+  const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV *pGroups = {};
+  uint32_t maxRecursionDepth = {};
+  VULKAN_HPP_NAMESPACE::PipelineLayout layout = {};
+  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle = {};
+  int32_t basePipelineIndex = {};
+};
+static_assert(sizeof(RayTracingPipelineCreateInfoNV) ==
+                  sizeof(VkRayTracingPipelineCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RayTracingPipelineCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eRayTracingPipelineCreateInfoNV> {
+  using Type = RayTracingPipelineCreateInfoNV;
+};
+
+struct SubpassDescription {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubpassDescription(
+      VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ =
+          VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
+      uint32_t inputAttachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference *pInputAttachments_ = {},
+      uint32_t colorAttachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference *pColorAttachments_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference *pResolveAttachments_ =
+          {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference
+          *pDepthStencilAttachment_ = {},
+      uint32_t preserveAttachmentCount_ = {},
+      const uint32_t *pPreserveAttachments_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        pipelineBindPoint(pipelineBindPoint_),
+        inputAttachmentCount(inputAttachmentCount_),
+        pInputAttachments(pInputAttachments_),
+        colorAttachmentCount(colorAttachmentCount_),
+        pColorAttachments(pColorAttachments_),
+        pResolveAttachments(pResolveAttachments_),
+        pDepthStencilAttachment(pDepthStencilAttachment_),
+        preserveAttachmentCount(preserveAttachmentCount_),
+        pPreserveAttachments(pPreserveAttachments_) {}
+
+  VULKAN_HPP_CONSTEXPR SubpassDescription(SubpassDescription const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassDescription(VkSubpassDescription const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubpassDescription(
+            *reinterpret_cast<SubpassDescription const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_,
+                     VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_,
+                     VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                         const VULKAN_HPP_NAMESPACE::AttachmentReference> const
+                         &inputAttachments_,
+                     VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                         const VULKAN_HPP_NAMESPACE::AttachmentReference> const
+                         &colorAttachments_ = {},
+                     VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                         const VULKAN_HPP_NAMESPACE::AttachmentReference> const
+                         &resolveAttachments_ = {},
+                     const VULKAN_HPP_NAMESPACE::AttachmentReference
+                         *pDepthStencilAttachment_ = {},
+                     VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                         const uint32_t> const &preserveAttachments_ = {})
+      : flags(flags_), pipelineBindPoint(pipelineBindPoint_),
+        inputAttachmentCount(static_cast<uint32_t>(inputAttachments_.size())),
+        pInputAttachments(inputAttachments_.data()),
+        colorAttachmentCount(static_cast<uint32_t>(colorAttachments_.size())),
+        pColorAttachments(colorAttachments_.data()),
+        pResolveAttachments(resolveAttachments_.data()),
+        pDepthStencilAttachment(pDepthStencilAttachment_),
+        preserveAttachmentCount(
+            static_cast<uint32_t>(preserveAttachments_.size())),
+        pPreserveAttachments(preserveAttachments_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(resolveAttachments_.empty() ||
+                      (colorAttachments_.size() == resolveAttachments_.size()));
+#else
+    if (!resolveAttachments_.empty() &&
+        (colorAttachments_.size() != resolveAttachments_.size())) {
+      throw LogicError(
+          VULKAN_HPP_NAMESPACE_STRING
+          "::SubpassDescription::SubpassDescription: "
+          "!resolveAttachments_.empty() && ( colorAttachments_.size() != "
+          "resolveAttachments_.size() )");
     }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PerformanceValueDataINTEL & setValue64( uint64_t value64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      value64 = value64_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SubpassDescription &
+  operator=(SubpassDescription const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PerformanceValueDataINTEL & setValueFloat( float valueFloat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      valueFloat = valueFloat_;
-      return *this;
-    }
+  SubpassDescription &
+  operator=(VkSubpassDescription const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescription const *>(
+        &rhs);
+    return *this;
+  }
 
-    PerformanceValueDataINTEL & setValueBool( VULKAN_HPP_NAMESPACE::Bool32 valueBool_ ) VULKAN_HPP_NOEXCEPT
-    {
-      valueBool = valueBool_;
-      return *this;
-    }
+  SubpassDescription &
+  setFlags(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PerformanceValueDataINTEL & setValueString( const char * valueString_ ) VULKAN_HPP_NOEXCEPT
-    {
-      valueString = valueString_;
-      return *this;
-    }
+  SubpassDescription &setPipelineBindPoint(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineBindPoint = pipelineBindPoint_;
+    return *this;
+  }
 
-    VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL &
-      operator=( VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL ) );
-      return *this;
-    }
+  SubpassDescription &
+  setInputAttachmentCount(uint32_t inputAttachmentCount_) VULKAN_HPP_NOEXCEPT {
+    inputAttachmentCount = inputAttachmentCount_;
+    return *this;
+  }
 
-    operator VkPerformanceValueDataINTEL const &() const
-    {
-      return *reinterpret_cast<const VkPerformanceValueDataINTEL *>( this );
-    }
+  SubpassDescription &setPInputAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference *pInputAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pInputAttachments = pInputAttachments_;
+    return *this;
+  }
 
-    operator VkPerformanceValueDataINTEL &()
-    {
-      return *reinterpret_cast<VkPerformanceValueDataINTEL *>( this );
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription &
+  setInputAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                      const VULKAN_HPP_NAMESPACE::AttachmentReference> const
+                          &inputAttachments_) VULKAN_HPP_NOEXCEPT {
+    inputAttachmentCount = static_cast<uint32_t>(inputAttachments_.size());
+    pInputAttachments = inputAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubpassDescription &
+  setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT {
+    colorAttachmentCount = colorAttachmentCount_;
+    return *this;
+  }
+
+  SubpassDescription &setPColorAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference *pColorAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pColorAttachments = pColorAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription &
+  setColorAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                      const VULKAN_HPP_NAMESPACE::AttachmentReference> const
+                          &colorAttachments_) VULKAN_HPP_NOEXCEPT {
+    colorAttachmentCount = static_cast<uint32_t>(colorAttachments_.size());
+    pColorAttachments = colorAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubpassDescription &setPResolveAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference *pResolveAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pResolveAttachments = pResolveAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription &
+  setResolveAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                        const VULKAN_HPP_NAMESPACE::AttachmentReference> const
+                            &resolveAttachments_) VULKAN_HPP_NOEXCEPT {
+    colorAttachmentCount = static_cast<uint32_t>(resolveAttachments_.size());
+    pResolveAttachments = resolveAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubpassDescription &setPDepthStencilAttachment(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference *pDepthStencilAttachment_)
+      VULKAN_HPP_NOEXCEPT {
+    pDepthStencilAttachment = pDepthStencilAttachment_;
+    return *this;
+  }
+
+  SubpassDescription &setPreserveAttachmentCount(
+      uint32_t preserveAttachmentCount_) VULKAN_HPP_NOEXCEPT {
+    preserveAttachmentCount = preserveAttachmentCount_;
+    return *this;
+  }
+
+  SubpassDescription &setPPreserveAttachments(
+      const uint32_t *pPreserveAttachments_) VULKAN_HPP_NOEXCEPT {
+    pPreserveAttachments = pPreserveAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription &setPreserveAttachments(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &preserveAttachments_) VULKAN_HPP_NOEXCEPT {
+    preserveAttachmentCount =
+        static_cast<uint32_t>(preserveAttachments_.size());
+    pPreserveAttachments = preserveAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSubpassDescription const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassDescription *>(this);
+  }
+
+  operator VkSubpassDescription &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassDescription *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubpassDescription const &) const = default;
+#else
+  bool operator==(SubpassDescription const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (flags == rhs.flags) &&
+           (pipelineBindPoint == rhs.pipelineBindPoint) &&
+           (inputAttachmentCount == rhs.inputAttachmentCount) &&
+           (pInputAttachments == rhs.pInputAttachments) &&
+           (colorAttachmentCount == rhs.colorAttachmentCount) &&
+           (pColorAttachments == rhs.pColorAttachments) &&
+           (pResolveAttachments == rhs.pResolveAttachments) &&
+           (pDepthStencilAttachment == rhs.pDepthStencilAttachment) &&
+           (preserveAttachmentCount == rhs.preserveAttachmentCount) &&
+           (pPreserveAttachments == rhs.pPreserveAttachments);
+  }
+
+  bool operator!=(SubpassDescription const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags = {};
+  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint =
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
+  uint32_t inputAttachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference *pInputAttachments = {};
+  uint32_t colorAttachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference *pColorAttachments = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference *pResolveAttachments = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference *pDepthStencilAttachment = {};
+  uint32_t preserveAttachmentCount = {};
+  const uint32_t *pPreserveAttachments = {};
+};
+static_assert(sizeof(SubpassDescription) == sizeof(VkSubpassDescription),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubpassDescription>::value,
+              "struct wrapper is not a standard layout!");
+
+struct SubpassDependency {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SubpassDependency(uint32_t srcSubpass_ = {}, uint32_t dstSubpass_ = {},
+                    VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_ = {},
+                    VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_ = {},
+                    VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
+                    VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
+                    VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_ = {})
+      VULKAN_HPP_NOEXCEPT : srcSubpass(srcSubpass_),
+                            dstSubpass(dstSubpass_),
+                            srcStageMask(srcStageMask_),
+                            dstStageMask(dstStageMask_),
+                            srcAccessMask(srcAccessMask_),
+                            dstAccessMask(dstAccessMask_),
+                            dependencyFlags(dependencyFlags_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SubpassDependency(SubpassDependency const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassDependency(VkSubpassDependency const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubpassDependency(*reinterpret_cast<SubpassDependency const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SubpassDependency &
+  operator=(SubpassDependency const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassDependency &
+  operator=(VkSubpassDependency const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDependency const *>(
+        &rhs);
+    return *this;
+  }
+
+  SubpassDependency &setSrcSubpass(uint32_t srcSubpass_) VULKAN_HPP_NOEXCEPT {
+    srcSubpass = srcSubpass_;
+    return *this;
+  }
+
+  SubpassDependency &setDstSubpass(uint32_t dstSubpass_) VULKAN_HPP_NOEXCEPT {
+    dstSubpass = dstSubpass_;
+    return *this;
+  }
+
+  SubpassDependency &
+  setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcStageMask = srcStageMask_;
+    return *this;
+  }
+
+  SubpassDependency &
+  setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstStageMask = dstStageMask_;
+    return *this;
+  }
+
+  SubpassDependency &setSrcAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
+
+  SubpassDependency &setDstAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
+
+  SubpassDependency &
+  setDependencyFlags(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_)
+      VULKAN_HPP_NOEXCEPT {
+    dependencyFlags = dependencyFlags_;
+    return *this;
+  }
+
+  operator VkSubpassDependency const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassDependency *>(this);
+  }
+
+  operator VkSubpassDependency &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassDependency *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubpassDependency const &) const = default;
+#else
+  bool operator==(SubpassDependency const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (srcSubpass == rhs.srcSubpass) && (dstSubpass == rhs.dstSubpass) &&
+           (srcStageMask == rhs.srcStageMask) &&
+           (dstStageMask == rhs.dstStageMask) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstAccessMask == rhs.dstAccessMask) &&
+           (dependencyFlags == rhs.dependencyFlags);
+  }
+
+  bool operator!=(SubpassDependency const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t srcSubpass = {};
+  uint32_t dstSubpass = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask = {};
+  VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags = {};
+};
+static_assert(sizeof(SubpassDependency) == sizeof(VkSubpassDependency),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubpassDependency>::value,
+              "struct wrapper is not a standard layout!");
+
+struct RenderPassCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRenderPassCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassCreateInfo(
+      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_ = {},
+      uint32_t attachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentDescription *pAttachments_ = {},
+      uint32_t subpassCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SubpassDescription *pSubpasses_ = {},
+      uint32_t dependencyCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SubpassDependency *pDependencies_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            attachmentCount(attachmentCount_),
+                            pAttachments(pAttachments_),
+                            subpassCount(subpassCount_),
+                            pSubpasses(pSubpasses_),
+                            dependencyCount(dependencyCount_),
+                            pDependencies(pDependencies_) {}
+
+  VULKAN_HPP_CONSTEXPR RenderPassCreateInfo(RenderPassCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RenderPassCreateInfo(VkRenderPassCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : RenderPassCreateInfo(
+            *reinterpret_cast<RenderPassCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo(
+      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AttachmentDescription> const
+          &attachments_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDescription> const &subpasses_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDependency> const &dependencies_ =
+          {})
+      : flags(flags_),
+        attachmentCount(static_cast<uint32_t>(attachments_.size())),
+        pAttachments(attachments_.data()),
+        subpassCount(static_cast<uint32_t>(subpasses_.size())),
+        pSubpasses(subpasses_.data()),
+        dependencyCount(static_cast<uint32_t>(dependencies_.size())),
+        pDependencies(dependencies_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo &
+  operator=(RenderPassCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  RenderPassCreateInfo &
+  operator=(VkRenderPassCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  RenderPassCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  RenderPassCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  RenderPassCreateInfo &
+  setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = attachmentCount_;
+    return *this;
+  }
+
+  RenderPassCreateInfo &setPAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentDescription *pAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pAttachments = pAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo &
+  setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::AttachmentDescription> const
+                     &attachments_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = static_cast<uint32_t>(attachments_.size());
+    pAttachments = attachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RenderPassCreateInfo &
+  setSubpassCount(uint32_t subpassCount_) VULKAN_HPP_NOEXCEPT {
+    subpassCount = subpassCount_;
+    return *this;
+  }
+
+  RenderPassCreateInfo &
+  setPSubpasses(const VULKAN_HPP_NAMESPACE::SubpassDescription *pSubpasses_)
+      VULKAN_HPP_NOEXCEPT {
+    pSubpasses = pSubpasses_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo &setSubpasses(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDescription> const &subpasses_)
+      VULKAN_HPP_NOEXCEPT {
+    subpassCount = static_cast<uint32_t>(subpasses_.size());
+    pSubpasses = subpasses_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RenderPassCreateInfo &
+  setDependencyCount(uint32_t dependencyCount_) VULKAN_HPP_NOEXCEPT {
+    dependencyCount = dependencyCount_;
+    return *this;
+  }
+
+  RenderPassCreateInfo &setPDependencies(
+      const VULKAN_HPP_NAMESPACE::SubpassDependency *pDependencies_)
+      VULKAN_HPP_NOEXCEPT {
+    pDependencies = pDependencies_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo &setDependencies(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDependency> const &dependencies_)
+      VULKAN_HPP_NOEXCEPT {
+    dependencyCount = static_cast<uint32_t>(dependencies_.size());
+    pDependencies = dependencies_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkRenderPassCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRenderPassCreateInfo *>(this);
+  }
+
+  operator VkRenderPassCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassCreateInfo const &) const = default;
+#else
+  bool operator==(RenderPassCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (attachmentCount == rhs.attachmentCount) &&
+           (pAttachments == rhs.pAttachments) &&
+           (subpassCount == rhs.subpassCount) &&
+           (pSubpasses == rhs.pSubpasses) &&
+           (dependencyCount == rhs.dependencyCount) &&
+           (pDependencies == rhs.pDependencies);
+  }
+
+  bool operator!=(RenderPassCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags = {};
+  uint32_t attachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentDescription *pAttachments = {};
+  uint32_t subpassCount = {};
+  const VULKAN_HPP_NAMESPACE::SubpassDescription *pSubpasses = {};
+  uint32_t dependencyCount = {};
+  const VULKAN_HPP_NAMESPACE::SubpassDependency *pDependencies = {};
+};
+static_assert(sizeof(RenderPassCreateInfo) == sizeof(VkRenderPassCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RenderPassCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eRenderPassCreateInfo> {
+  using Type = RenderPassCreateInfo;
+};
+
+struct SubpassDescription2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSubpassDescription2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubpassDescription2(
+      VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ =
+          VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
+      uint32_t viewMask_ = {}, uint32_t inputAttachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pInputAttachments_ = {},
+      uint32_t colorAttachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pColorAttachments_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pResolveAttachments_ =
+          {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2
+          *pDepthStencilAttachment_ = {},
+      uint32_t preserveAttachmentCount_ = {},
+      const uint32_t *pPreserveAttachments_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        pipelineBindPoint(pipelineBindPoint_),
+        viewMask(viewMask_),
+        inputAttachmentCount(inputAttachmentCount_),
+        pInputAttachments(pInputAttachments_),
+        colorAttachmentCount(colorAttachmentCount_),
+        pColorAttachments(pColorAttachments_),
+        pResolveAttachments(pResolveAttachments_),
+        pDepthStencilAttachment(pDepthStencilAttachment_),
+        preserveAttachmentCount(preserveAttachmentCount_),
+        pPreserveAttachments(pPreserveAttachments_) {}
+
+  VULKAN_HPP_CONSTEXPR SubpassDescription2(SubpassDescription2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassDescription2(VkSubpassDescription2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubpassDescription2(
+            *reinterpret_cast<SubpassDescription2 const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription2(
+      VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_,
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_,
+      uint32_t viewMask_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AttachmentReference2> const
+          &inputAttachments_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AttachmentReference2> const
+          &colorAttachments_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AttachmentReference2> const
+          &resolveAttachments_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2
+          *pDepthStencilAttachment_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &preserveAttachments_ = {})
+      : flags(flags_), pipelineBindPoint(pipelineBindPoint_),
+        viewMask(viewMask_),
+        inputAttachmentCount(static_cast<uint32_t>(inputAttachments_.size())),
+        pInputAttachments(inputAttachments_.data()),
+        colorAttachmentCount(static_cast<uint32_t>(colorAttachments_.size())),
+        pColorAttachments(colorAttachments_.data()),
+        pResolveAttachments(resolveAttachments_.data()),
+        pDepthStencilAttachment(pDepthStencilAttachment_),
+        preserveAttachmentCount(
+            static_cast<uint32_t>(preserveAttachments_.size())),
+        pPreserveAttachments(preserveAttachments_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(resolveAttachments_.empty() ||
+                      (colorAttachments_.size() == resolveAttachments_.size()));
+#else
+    if (!resolveAttachments_.empty() &&
+        (colorAttachments_.size() != resolveAttachments_.size())) {
+      throw LogicError(
+          VULKAN_HPP_NAMESPACE_STRING
+          "::SubpassDescription2::SubpassDescription2: "
+          "!resolveAttachments_.empty() && ( colorAttachments_.size() != "
+          "resolveAttachments_.size() )");
     }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 &
+  operator=(SubpassDescription2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassDescription2 &
+  operator=(VkSubpassDescription2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescription2 const *>(
+            &rhs);
+    return *this;
+  }
+
+  SubpassDescription2 &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SubpassDescription2 &
+  setFlags(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  SubpassDescription2 &setPipelineBindPoint(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineBindPoint = pipelineBindPoint_;
+    return *this;
+  }
+
+  SubpassDescription2 &setViewMask(uint32_t viewMask_) VULKAN_HPP_NOEXCEPT {
+    viewMask = viewMask_;
+    return *this;
+  }
+
+  SubpassDescription2 &
+  setInputAttachmentCount(uint32_t inputAttachmentCount_) VULKAN_HPP_NOEXCEPT {
+    inputAttachmentCount = inputAttachmentCount_;
+    return *this;
+  }
+
+  SubpassDescription2 &setPInputAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pInputAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pInputAttachments = pInputAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription2 &
+  setInputAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                      const VULKAN_HPP_NAMESPACE::AttachmentReference2> const
+                          &inputAttachments_) VULKAN_HPP_NOEXCEPT {
+    inputAttachmentCount = static_cast<uint32_t>(inputAttachments_.size());
+    pInputAttachments = inputAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubpassDescription2 &
+  setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT {
+    colorAttachmentCount = colorAttachmentCount_;
+    return *this;
+  }
+
+  SubpassDescription2 &setPColorAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pColorAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pColorAttachments = pColorAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription2 &
+  setColorAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                      const VULKAN_HPP_NAMESPACE::AttachmentReference2> const
+                          &colorAttachments_) VULKAN_HPP_NOEXCEPT {
+    colorAttachmentCount = static_cast<uint32_t>(colorAttachments_.size());
+    pColorAttachments = colorAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubpassDescription2 &setPResolveAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pResolveAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pResolveAttachments = pResolveAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription2 &
+  setResolveAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                        const VULKAN_HPP_NAMESPACE::AttachmentReference2> const
+                            &resolveAttachments_) VULKAN_HPP_NOEXCEPT {
+    colorAttachmentCount = static_cast<uint32_t>(resolveAttachments_.size());
+    pResolveAttachments = resolveAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubpassDescription2 &
+  setPDepthStencilAttachment(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *
+                                 pDepthStencilAttachment_) VULKAN_HPP_NOEXCEPT {
+    pDepthStencilAttachment = pDepthStencilAttachment_;
+    return *this;
+  }
+
+  SubpassDescription2 &setPreserveAttachmentCount(
+      uint32_t preserveAttachmentCount_) VULKAN_HPP_NOEXCEPT {
+    preserveAttachmentCount = preserveAttachmentCount_;
+    return *this;
+  }
+
+  SubpassDescription2 &setPPreserveAttachments(
+      const uint32_t *pPreserveAttachments_) VULKAN_HPP_NOEXCEPT {
+    pPreserveAttachments = pPreserveAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubpassDescription2 &setPreserveAttachments(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &preserveAttachments_) VULKAN_HPP_NOEXCEPT {
+    preserveAttachmentCount =
+        static_cast<uint32_t>(preserveAttachments_.size());
+    pPreserveAttachments = preserveAttachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSubpassDescription2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassDescription2 *>(this);
+  }
+
+  operator VkSubpassDescription2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassDescription2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubpassDescription2 const &) const = default;
+#else
+  bool operator==(SubpassDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (pipelineBindPoint == rhs.pipelineBindPoint) &&
+           (viewMask == rhs.viewMask) &&
+           (inputAttachmentCount == rhs.inputAttachmentCount) &&
+           (pInputAttachments == rhs.pInputAttachments) &&
+           (colorAttachmentCount == rhs.colorAttachmentCount) &&
+           (pColorAttachments == rhs.pColorAttachments) &&
+           (pResolveAttachments == rhs.pResolveAttachments) &&
+           (pDepthStencilAttachment == rhs.pDepthStencilAttachment) &&
+           (preserveAttachmentCount == rhs.preserveAttachmentCount) &&
+           (pPreserveAttachments == rhs.pPreserveAttachments);
+  }
+
+  bool operator!=(SubpassDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSubpassDescription2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags = {};
+  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint =
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
+  uint32_t viewMask = {};
+  uint32_t inputAttachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pInputAttachments = {};
+  uint32_t colorAttachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pColorAttachments = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pResolveAttachments = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pDepthStencilAttachment =
+      {};
+  uint32_t preserveAttachmentCount = {};
+  const uint32_t *pPreserveAttachments = {};
+};
+static_assert(sizeof(SubpassDescription2) == sizeof(VkSubpassDescription2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubpassDescription2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSubpassDescription2> {
+  using Type = SubpassDescription2;
+};
+using SubpassDescription2KHR = SubpassDescription2;
+
+struct SubpassDependency2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSubpassDependency2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubpassDependency2(
+      uint32_t srcSubpass_ = {}, uint32_t dstSubpass_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
+      VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_ = {},
+      int32_t viewOffset_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcSubpass(srcSubpass_),
+        dstSubpass(dstSubpass_),
+        srcStageMask(srcStageMask_),
+        dstStageMask(dstStageMask_),
+        srcAccessMask(srcAccessMask_),
+        dstAccessMask(dstAccessMask_),
+        dependencyFlags(dependencyFlags_),
+        viewOffset(viewOffset_) {}
+
+  VULKAN_HPP_CONSTEXPR SubpassDependency2(SubpassDependency2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassDependency2(VkSubpassDependency2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubpassDependency2(
+            *reinterpret_cast<SubpassDependency2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 &
+  operator=(SubpassDependency2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubpassDependency2 &
+  operator=(VkSubpassDependency2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDependency2 const *>(
+        &rhs);
+    return *this;
+  }
+
+  SubpassDependency2 &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SubpassDependency2 &setSrcSubpass(uint32_t srcSubpass_) VULKAN_HPP_NOEXCEPT {
+    srcSubpass = srcSubpass_;
+    return *this;
+  }
+
+  SubpassDependency2 &setDstSubpass(uint32_t dstSubpass_) VULKAN_HPP_NOEXCEPT {
+    dstSubpass = dstSubpass_;
+    return *this;
+  }
+
+  SubpassDependency2 &
+  setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    srcStageMask = srcStageMask_;
+    return *this;
+  }
+
+  SubpassDependency2 &
+  setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    dstStageMask = dstStageMask_;
+    return *this;
+  }
+
+  SubpassDependency2 &setSrcAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT {
+    srcAccessMask = srcAccessMask_;
+    return *this;
+  }
+
+  SubpassDependency2 &setDstAccessMask(
+      VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT {
+    dstAccessMask = dstAccessMask_;
+    return *this;
+  }
+
+  SubpassDependency2 &
+  setDependencyFlags(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_)
+      VULKAN_HPP_NOEXCEPT {
+    dependencyFlags = dependencyFlags_;
+    return *this;
+  }
+
+  SubpassDependency2 &setViewOffset(int32_t viewOffset_) VULKAN_HPP_NOEXCEPT {
+    viewOffset = viewOffset_;
+    return *this;
+  }
+
+  operator VkSubpassDependency2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassDependency2 *>(this);
+  }
+
+  operator VkSubpassDependency2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassDependency2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubpassDependency2 const &) const = default;
+#else
+  bool operator==(SubpassDependency2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcSubpass == rhs.srcSubpass) && (dstSubpass == rhs.dstSubpass) &&
+           (srcStageMask == rhs.srcStageMask) &&
+           (dstStageMask == rhs.dstStageMask) &&
+           (srcAccessMask == rhs.srcAccessMask) &&
+           (dstAccessMask == rhs.dstAccessMask) &&
+           (dependencyFlags == rhs.dependencyFlags) &&
+           (viewOffset == rhs.viewOffset);
+  }
+
+  bool operator!=(SubpassDependency2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSubpassDependency2;
+  const void *pNext = {};
+  uint32_t srcSubpass = {};
+  uint32_t dstSubpass = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask = {};
+  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask = {};
+  VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags = {};
+  int32_t viewOffset = {};
+};
+static_assert(sizeof(SubpassDependency2) == sizeof(VkSubpassDependency2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubpassDependency2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSubpassDependency2> {
+  using Type = SubpassDependency2;
+};
+using SubpassDependency2KHR = SubpassDependency2;
+
+struct RenderPassCreateInfo2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRenderPassCreateInfo2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassCreateInfo2(
+      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_ = {},
+      uint32_t attachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentDescription2 *pAttachments_ = {},
+      uint32_t subpassCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SubpassDescription2 *pSubpasses_ = {},
+      uint32_t dependencyCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SubpassDependency2 *pDependencies_ = {},
+      uint32_t correlatedViewMaskCount_ = {},
+      const uint32_t *pCorrelatedViewMasks_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        attachmentCount(attachmentCount_),
+        pAttachments(pAttachments_),
+        subpassCount(subpassCount_),
+        pSubpasses(pSubpasses_),
+        dependencyCount(dependencyCount_),
+        pDependencies(pDependencies_),
+        correlatedViewMaskCount(correlatedViewMaskCount_),
+        pCorrelatedViewMasks(pCorrelatedViewMasks_) {}
+
+  VULKAN_HPP_CONSTEXPR RenderPassCreateInfo2(RenderPassCreateInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RenderPassCreateInfo2(VkRenderPassCreateInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : RenderPassCreateInfo2(
+            *reinterpret_cast<RenderPassCreateInfo2 const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo2(
+      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AttachmentDescription2> const
+          &attachments_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDescription2> const &subpasses_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDependency2> const &dependencies_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &correlatedViewMasks_ = {})
+      : flags(flags_),
+        attachmentCount(static_cast<uint32_t>(attachments_.size())),
+        pAttachments(attachments_.data()),
+        subpassCount(static_cast<uint32_t>(subpasses_.size())),
+        pSubpasses(subpasses_.data()),
+        dependencyCount(static_cast<uint32_t>(dependencies_.size())),
+        pDependencies(dependencies_.data()),
+        correlatedViewMaskCount(
+            static_cast<uint32_t>(correlatedViewMasks_.size())),
+        pCorrelatedViewMasks(correlatedViewMasks_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 &
+  operator=(RenderPassCreateInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  RenderPassCreateInfo2 &
+  operator=(VkRenderPassCreateInfo2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const *>(
+            &rhs);
+    return *this;
+  }
+
+  RenderPassCreateInfo2 &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  RenderPassCreateInfo2 &setFlags(
+      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  RenderPassCreateInfo2 &
+  setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = attachmentCount_;
+    return *this;
+  }
+
+  RenderPassCreateInfo2 &setPAttachments(
+      const VULKAN_HPP_NAMESPACE::AttachmentDescription2 *pAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pAttachments = pAttachments_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo2 &
+  setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::AttachmentDescription2> const
+                     &attachments_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = static_cast<uint32_t>(attachments_.size());
+    pAttachments = attachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RenderPassCreateInfo2 &
+  setSubpassCount(uint32_t subpassCount_) VULKAN_HPP_NOEXCEPT {
+    subpassCount = subpassCount_;
+    return *this;
+  }
+
+  RenderPassCreateInfo2 &
+  setPSubpasses(const VULKAN_HPP_NAMESPACE::SubpassDescription2 *pSubpasses_)
+      VULKAN_HPP_NOEXCEPT {
+    pSubpasses = pSubpasses_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo2 &setSubpasses(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDescription2> const &subpasses_)
+      VULKAN_HPP_NOEXCEPT {
+    subpassCount = static_cast<uint32_t>(subpasses_.size());
+    pSubpasses = subpasses_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RenderPassCreateInfo2 &
+  setDependencyCount(uint32_t dependencyCount_) VULKAN_HPP_NOEXCEPT {
+    dependencyCount = dependencyCount_;
+    return *this;
+  }
+
+  RenderPassCreateInfo2 &setPDependencies(
+      const VULKAN_HPP_NAMESPACE::SubpassDependency2 *pDependencies_)
+      VULKAN_HPP_NOEXCEPT {
+    pDependencies = pDependencies_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo2 &setDependencies(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassDependency2> const &dependencies_)
+      VULKAN_HPP_NOEXCEPT {
+    dependencyCount = static_cast<uint32_t>(dependencies_.size());
+    pDependencies = dependencies_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  RenderPassCreateInfo2 &setCorrelatedViewMaskCount(
+      uint32_t correlatedViewMaskCount_) VULKAN_HPP_NOEXCEPT {
+    correlatedViewMaskCount = correlatedViewMaskCount_;
+    return *this;
+  }
+
+  RenderPassCreateInfo2 &setPCorrelatedViewMasks(
+      const uint32_t *pCorrelatedViewMasks_) VULKAN_HPP_NOEXCEPT {
+    pCorrelatedViewMasks = pCorrelatedViewMasks_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassCreateInfo2 &setCorrelatedViewMasks(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &correlatedViewMasks_) VULKAN_HPP_NOEXCEPT {
+    correlatedViewMaskCount =
+        static_cast<uint32_t>(correlatedViewMasks_.size());
+    pCorrelatedViewMasks = correlatedViewMasks_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkRenderPassCreateInfo2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRenderPassCreateInfo2 *>(this);
+  }
+
+  operator VkRenderPassCreateInfo2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassCreateInfo2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassCreateInfo2 const &) const = default;
+#else
+  bool operator==(RenderPassCreateInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (attachmentCount == rhs.attachmentCount) &&
+           (pAttachments == rhs.pAttachments) &&
+           (subpassCount == rhs.subpassCount) &&
+           (pSubpasses == rhs.pSubpasses) &&
+           (dependencyCount == rhs.dependencyCount) &&
+           (pDependencies == rhs.pDependencies) &&
+           (correlatedViewMaskCount == rhs.correlatedViewMaskCount) &&
+           (pCorrelatedViewMasks == rhs.pCorrelatedViewMasks);
+  }
+
+  bool operator!=(RenderPassCreateInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassCreateInfo2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags = {};
+  uint32_t attachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentDescription2 *pAttachments = {};
+  uint32_t subpassCount = {};
+  const VULKAN_HPP_NAMESPACE::SubpassDescription2 *pSubpasses = {};
+  uint32_t dependencyCount = {};
+  const VULKAN_HPP_NAMESPACE::SubpassDependency2 *pDependencies = {};
+  uint32_t correlatedViewMaskCount = {};
+  const uint32_t *pCorrelatedViewMasks = {};
+};
+static_assert(sizeof(RenderPassCreateInfo2) == sizeof(VkRenderPassCreateInfo2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RenderPassCreateInfo2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eRenderPassCreateInfo2> {
+  using Type = RenderPassCreateInfo2;
+};
+using RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
+
+struct SamplerCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSamplerCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SamplerCreateInfo(
+      VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::Filter magFilter_ =
+          VULKAN_HPP_NAMESPACE::Filter::eNearest,
+      VULKAN_HPP_NAMESPACE::Filter minFilter_ =
+          VULKAN_HPP_NAMESPACE::Filter::eNearest,
+      VULKAN_HPP_NAMESPACE::SamplerMipmapMode mipmapMode_ =
+          VULKAN_HPP_NAMESPACE::SamplerMipmapMode::eNearest,
+      VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeU_ =
+          VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat,
+      VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeV_ =
+          VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat,
+      VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeW_ =
+          VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat,
+      float mipLodBias_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable_ = {},
+      float maxAnisotropy_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 compareEnable_ = {},
+      VULKAN_HPP_NAMESPACE::CompareOp compareOp_ =
+          VULKAN_HPP_NAMESPACE::CompareOp::eNever,
+      float minLod_ = {}, float maxLod_ = {},
+      VULKAN_HPP_NAMESPACE::BorderColor borderColor_ =
+          VULKAN_HPP_NAMESPACE::BorderColor::eFloatTransparentBlack,
+      VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            magFilter(magFilter_),
+                            minFilter(minFilter_),
+                            mipmapMode(mipmapMode_),
+                            addressModeU(addressModeU_),
+                            addressModeV(addressModeV_),
+                            addressModeW(addressModeW_),
+                            mipLodBias(mipLodBias_),
+                            anisotropyEnable(anisotropyEnable_),
+                            maxAnisotropy(maxAnisotropy_),
+                            compareEnable(compareEnable_),
+                            compareOp(compareOp_),
+                            minLod(minLod_),
+                            maxLod(maxLod_),
+                            borderColor(borderColor_),
+                            unnormalizedCoordinates(unnormalizedCoordinates_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SamplerCreateInfo(SamplerCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SamplerCreateInfo(VkSamplerCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SamplerCreateInfo(*reinterpret_cast<SamplerCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo &
+  operator=(SamplerCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SamplerCreateInfo &
+  operator=(VkSamplerCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerCreateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  SamplerCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setFlags(VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  SamplerCreateInfo &
+  setMagFilter(VULKAN_HPP_NAMESPACE::Filter magFilter_) VULKAN_HPP_NOEXCEPT {
+    magFilter = magFilter_;
+    return *this;
+  }
+
+  SamplerCreateInfo &
+  setMinFilter(VULKAN_HPP_NAMESPACE::Filter minFilter_) VULKAN_HPP_NOEXCEPT {
+    minFilter = minFilter_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setMipmapMode(
+      VULKAN_HPP_NAMESPACE::SamplerMipmapMode mipmapMode_) VULKAN_HPP_NOEXCEPT {
+    mipmapMode = mipmapMode_;
+    return *this;
+  }
+
+  SamplerCreateInfo &
+  setAddressModeU(VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeU_)
+      VULKAN_HPP_NOEXCEPT {
+    addressModeU = addressModeU_;
+    return *this;
+  }
+
+  SamplerCreateInfo &
+  setAddressModeV(VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeV_)
+      VULKAN_HPP_NOEXCEPT {
+    addressModeV = addressModeV_;
+    return *this;
+  }
+
+  SamplerCreateInfo &
+  setAddressModeW(VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeW_)
+      VULKAN_HPP_NOEXCEPT {
+    addressModeW = addressModeW_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setMipLodBias(float mipLodBias_) VULKAN_HPP_NOEXCEPT {
+    mipLodBias = mipLodBias_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setAnisotropyEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable_) VULKAN_HPP_NOEXCEPT {
+    anisotropyEnable = anisotropyEnable_;
+    return *this;
+  }
+
+  SamplerCreateInfo &
+  setMaxAnisotropy(float maxAnisotropy_) VULKAN_HPP_NOEXCEPT {
+    maxAnisotropy = maxAnisotropy_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setCompareEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 compareEnable_) VULKAN_HPP_NOEXCEPT {
+    compareEnable = compareEnable_;
+    return *this;
+  }
+
+  SamplerCreateInfo &
+  setCompareOp(VULKAN_HPP_NAMESPACE::CompareOp compareOp_) VULKAN_HPP_NOEXCEPT {
+    compareOp = compareOp_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setMinLod(float minLod_) VULKAN_HPP_NOEXCEPT {
+    minLod = minLod_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setMaxLod(float maxLod_) VULKAN_HPP_NOEXCEPT {
+    maxLod = maxLod_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setBorderColor(
+      VULKAN_HPP_NAMESPACE::BorderColor borderColor_) VULKAN_HPP_NOEXCEPT {
+    borderColor = borderColor_;
+    return *this;
+  }
+
+  SamplerCreateInfo &setUnnormalizedCoordinates(
+      VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates_)
+      VULKAN_HPP_NOEXCEPT {
+    unnormalizedCoordinates = unnormalizedCoordinates_;
+    return *this;
+  }
+
+  operator VkSamplerCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSamplerCreateInfo *>(this);
+  }
+
+  operator VkSamplerCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSamplerCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SamplerCreateInfo const &) const = default;
+#else
+  bool operator==(SamplerCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (magFilter == rhs.magFilter) &&
+           (minFilter == rhs.minFilter) && (mipmapMode == rhs.mipmapMode) &&
+           (addressModeU == rhs.addressModeU) &&
+           (addressModeV == rhs.addressModeV) &&
+           (addressModeW == rhs.addressModeW) &&
+           (mipLodBias == rhs.mipLodBias) &&
+           (anisotropyEnable == rhs.anisotropyEnable) &&
+           (maxAnisotropy == rhs.maxAnisotropy) &&
+           (compareEnable == rhs.compareEnable) &&
+           (compareOp == rhs.compareOp) && (minLod == rhs.minLod) &&
+           (maxLod == rhs.maxLod) && (borderColor == rhs.borderColor) &&
+           (unnormalizedCoordinates == rhs.unnormalizedCoordinates);
+  }
+
+  bool operator!=(SamplerCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::Filter magFilter =
+      VULKAN_HPP_NAMESPACE::Filter::eNearest;
+  VULKAN_HPP_NAMESPACE::Filter minFilter =
+      VULKAN_HPP_NAMESPACE::Filter::eNearest;
+  VULKAN_HPP_NAMESPACE::SamplerMipmapMode mipmapMode =
+      VULKAN_HPP_NAMESPACE::SamplerMipmapMode::eNearest;
+  VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeU =
+      VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat;
+  VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeV =
+      VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat;
+  VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeW =
+      VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat;
+  float mipLodBias = {};
+  VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable = {};
+  float maxAnisotropy = {};
+  VULKAN_HPP_NAMESPACE::Bool32 compareEnable = {};
+  VULKAN_HPP_NAMESPACE::CompareOp compareOp =
+      VULKAN_HPP_NAMESPACE::CompareOp::eNever;
+  float minLod = {};
+  float maxLod = {};
+  VULKAN_HPP_NAMESPACE::BorderColor borderColor =
+      VULKAN_HPP_NAMESPACE::BorderColor::eFloatTransparentBlack;
+  VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates = {};
+};
+static_assert(sizeof(SamplerCreateInfo) == sizeof(VkSamplerCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SamplerCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSamplerCreateInfo> {
+  using Type = SamplerCreateInfo;
+};
+
+struct SamplerYcbcrConversionCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSamplerYcbcrConversionCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionCreateInfo(
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel_ =
+          VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion::eRgbIdentity,
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange_ =
+          VULKAN_HPP_NAMESPACE::SamplerYcbcrRange::eItuFull,
+      VULKAN_HPP_NAMESPACE::ComponentMapping components_ = {},
+      VULKAN_HPP_NAMESPACE::ChromaLocation xChromaOffset_ =
+          VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven,
+      VULKAN_HPP_NAMESPACE::ChromaLocation yChromaOffset_ =
+          VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven,
+      VULKAN_HPP_NAMESPACE::Filter chromaFilter_ =
+          VULKAN_HPP_NAMESPACE::Filter::eNearest,
+      VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : format(format_),
+        ycbcrModel(ycbcrModel_),
+        ycbcrRange(ycbcrRange_),
+        components(components_),
+        xChromaOffset(xChromaOffset_),
+        yChromaOffset(yChromaOffset_),
+        chromaFilter(chromaFilter_),
+        forceExplicitReconstruction(forceExplicitReconstruction_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SamplerYcbcrConversionCreateInfo(SamplerYcbcrConversionCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SamplerYcbcrConversionCreateInfo(
+      VkSamplerYcbcrConversionCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SamplerYcbcrConversionCreateInfo(
+            *reinterpret_cast<SamplerYcbcrConversionCreateInfo const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo &
+  operator=(SamplerYcbcrConversionCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SamplerYcbcrConversionCreateInfo &
+  operator=(VkSamplerYcbcrConversionCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &
+  setYcbcrModel(VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel_)
+      VULKAN_HPP_NOEXCEPT {
+    ycbcrModel = ycbcrModel_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &setYcbcrRange(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange_) VULKAN_HPP_NOEXCEPT {
+    ycbcrRange = ycbcrRange_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &
+  setComponents(VULKAN_HPP_NAMESPACE::ComponentMapping const &components_)
+      VULKAN_HPP_NOEXCEPT {
+    components = components_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &setXChromaOffset(
+      VULKAN_HPP_NAMESPACE::ChromaLocation xChromaOffset_) VULKAN_HPP_NOEXCEPT {
+    xChromaOffset = xChromaOffset_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &setYChromaOffset(
+      VULKAN_HPP_NAMESPACE::ChromaLocation yChromaOffset_) VULKAN_HPP_NOEXCEPT {
+    yChromaOffset = yChromaOffset_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &setChromaFilter(
+      VULKAN_HPP_NAMESPACE::Filter chromaFilter_) VULKAN_HPP_NOEXCEPT {
+    chromaFilter = chromaFilter_;
+    return *this;
+  }
+
+  SamplerYcbcrConversionCreateInfo &setForceExplicitReconstruction(
+      VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction_)
+      VULKAN_HPP_NOEXCEPT {
+    forceExplicitReconstruction = forceExplicitReconstruction_;
+    return *this;
+  }
+
+  operator VkSamplerYcbcrConversionCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(this);
+  }
+
+  operator VkSamplerYcbcrConversionCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSamplerYcbcrConversionCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SamplerYcbcrConversionCreateInfo const &) const = default;
+#else
+  bool operator==(SamplerYcbcrConversionCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (format == rhs.format) && (ycbcrModel == rhs.ycbcrModel) &&
+           (ycbcrRange == rhs.ycbcrRange) && (components == rhs.components) &&
+           (xChromaOffset == rhs.xChromaOffset) &&
+           (yChromaOffset == rhs.yChromaOffset) &&
+           (chromaFilter == rhs.chromaFilter) &&
+           (forceExplicitReconstruction == rhs.forceExplicitReconstruction);
+  }
+
+  bool operator!=(SamplerYcbcrConversionCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSamplerYcbcrConversionCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel =
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion::eRgbIdentity;
+  VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange =
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrRange::eItuFull;
+  VULKAN_HPP_NAMESPACE::ComponentMapping components = {};
+  VULKAN_HPP_NAMESPACE::ChromaLocation xChromaOffset =
+      VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven;
+  VULKAN_HPP_NAMESPACE::ChromaLocation yChromaOffset =
+      VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven;
+  VULKAN_HPP_NAMESPACE::Filter chromaFilter =
+      VULKAN_HPP_NAMESPACE::Filter::eNearest;
+  VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction = {};
+};
+static_assert(sizeof(SamplerYcbcrConversionCreateInfo) ==
+                  sizeof(VkSamplerYcbcrConversionCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SamplerYcbcrConversionCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eSamplerYcbcrConversionCreateInfo> {
+  using Type = SamplerYcbcrConversionCreateInfo;
+};
+using SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
+
+class SamplerYcbcrConversion {
+public:
+  using CType = VkSamplerYcbcrConversion;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::
+              eSamplerYcbcrConversion;
+
+public:
+  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion() = default;
+  VULKAN_HPP_CONSTEXPR
+  SamplerYcbcrConversion(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT SamplerYcbcrConversion(
+      VkSamplerYcbcrConversion samplerYcbcrConversion) VULKAN_HPP_NOEXCEPT
+      : m_samplerYcbcrConversion(samplerYcbcrConversion) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  SamplerYcbcrConversion &operator=(
+      VkSamplerYcbcrConversion samplerYcbcrConversion) VULKAN_HPP_NOEXCEPT {
+    m_samplerYcbcrConversion = samplerYcbcrConversion;
+    return *this;
+  }
+#endif
+
+  SamplerYcbcrConversion &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_samplerYcbcrConversion = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SamplerYcbcrConversion const &) const = default;
+#else
+  bool operator==(SamplerYcbcrConversion const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_samplerYcbcrConversion == rhs.m_samplerYcbcrConversion;
+  }
+
+  bool operator!=(SamplerYcbcrConversion const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_samplerYcbcrConversion != rhs.m_samplerYcbcrConversion;
+  }
+
+  bool operator<(SamplerYcbcrConversion const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_samplerYcbcrConversion < rhs.m_samplerYcbcrConversion;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkSamplerYcbcrConversion() const VULKAN_HPP_NOEXCEPT {
+    return m_samplerYcbcrConversion;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_samplerYcbcrConversion != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_samplerYcbcrConversion == VK_NULL_HANDLE;
+  }
+
+private:
+  VkSamplerYcbcrConversion m_samplerYcbcrConversion = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion) ==
+                  sizeof(VkSamplerYcbcrConversion),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eSamplerYcbcrConversion> {
+  using type = VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion> {
+  using Type = VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSamplerYcbcrConversion> {
+  using Type = VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+using SamplerYcbcrConversionKHR = SamplerYcbcrConversion;
+
+struct SemaphoreCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SemaphoreCreateInfo(VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR SemaphoreCreateInfo(SemaphoreCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreCreateInfo(VkSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SemaphoreCreateInfo(
+            *reinterpret_cast<SemaphoreCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreCreateInfo &
+  operator=(SemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreCreateInfo &
+  operator=(VkSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  SemaphoreCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SemaphoreCreateInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkSemaphoreCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreCreateInfo *>(this);
+  }
+
+  operator VkSemaphoreCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreCreateInfo const &) const = default;
+#else
+  bool operator==(SemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (flags == rhs.flags);
+  }
+
+  bool operator!=(SemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSemaphoreCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags = {};
+};
+static_assert(sizeof(SemaphoreCreateInfo) == sizeof(VkSemaphoreCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SemaphoreCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSemaphoreCreateInfo> {
+  using Type = SemaphoreCreateInfo;
+};
+
+struct ShaderModuleCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eShaderModuleCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ShaderModuleCreateInfo(
+      VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_ = {},
+      size_t codeSize_ = {}, const uint32_t *pCode_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        codeSize(codeSize_),
+        pCode(pCode_) {}
+
+  VULKAN_HPP_CONSTEXPR ShaderModuleCreateInfo(ShaderModuleCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ShaderModuleCreateInfo(VkShaderModuleCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ShaderModuleCreateInfo(
+            *reinterpret_cast<ShaderModuleCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ShaderModuleCreateInfo(
+      VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &code_)
+      : flags(flags_), codeSize(code_.size() * 4), pCode(code_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ShaderModuleCreateInfo &
+  operator=(ShaderModuleCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ShaderModuleCreateInfo &
+  operator=(VkShaderModuleCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  ShaderModuleCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ShaderModuleCreateInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ShaderModuleCreateInfo &setCodeSize(size_t codeSize_) VULKAN_HPP_NOEXCEPT {
+    codeSize = codeSize_;
+    return *this;
+  }
+
+  ShaderModuleCreateInfo &setPCode(const uint32_t *pCode_) VULKAN_HPP_NOEXCEPT {
+    pCode = pCode_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ShaderModuleCreateInfo &
+  setCode(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+              &code_) VULKAN_HPP_NOEXCEPT {
+    codeSize = code_.size() * 4;
+    pCode = code_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkShaderModuleCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkShaderModuleCreateInfo *>(this);
+  }
+
+  operator VkShaderModuleCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkShaderModuleCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ShaderModuleCreateInfo const &) const = default;
+#else
+  bool operator==(ShaderModuleCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (codeSize == rhs.codeSize) &&
+           (pCode == rhs.pCode);
+  }
+
+  bool operator!=(ShaderModuleCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eShaderModuleCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags = {};
+  size_t codeSize = {};
+  const uint32_t *pCode = {};
+};
+static_assert(sizeof(ShaderModuleCreateInfo) ==
+                  sizeof(VkShaderModuleCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ShaderModuleCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eShaderModuleCreateInfo> {
+  using Type = ShaderModuleCreateInfo;
+};
+
+class SurfaceKHR {
+public:
+  using CType = VkSurfaceKHR;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSurfaceKHR;
+
+public:
+  VULKAN_HPP_CONSTEXPR SurfaceKHR() = default;
+  VULKAN_HPP_CONSTEXPR SurfaceKHR(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  SurfaceKHR(VkSurfaceKHR surfaceKHR) VULKAN_HPP_NOEXCEPT
+      : m_surfaceKHR(surfaceKHR) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  SurfaceKHR &operator=(VkSurfaceKHR surfaceKHR) VULKAN_HPP_NOEXCEPT {
+    m_surfaceKHR = surfaceKHR;
+    return *this;
+  }
+#endif
+
+  SurfaceKHR &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_surfaceKHR = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceKHR const &) const = default;
+#else
+  bool operator==(SurfaceKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_surfaceKHR == rhs.m_surfaceKHR;
+  }
+
+  bool operator!=(SurfaceKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_surfaceKHR != rhs.m_surfaceKHR;
+  }
+
+  bool operator<(SurfaceKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_surfaceKHR < rhs.m_surfaceKHR;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkSurfaceKHR() const VULKAN_HPP_NOEXCEPT {
+    return m_surfaceKHR;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_surfaceKHR != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_surfaceKHR == VK_NULL_HANDLE;
+  }
+
+private:
+  VkSurfaceKHR m_surfaceKHR = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::SurfaceKHR) == sizeof(VkSurfaceKHR),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eSurfaceKHR> {
+  using type = VULKAN_HPP_NAMESPACE::SurfaceKHR;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::SurfaceKHR;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSurfaceKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::SurfaceKHR;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::SurfaceKHR> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct SwapchainCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSwapchainCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SwapchainCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface_ = {},
+      uint32_t minImageCount_ = {},
+      VULKAN_HPP_NAMESPACE::Format imageFormat_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_ =
+          VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear,
+      VULKAN_HPP_NAMESPACE::Extent2D imageExtent_ = {},
+      uint32_t imageArrayLayers_ = {},
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ = {},
+      VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_ =
+          VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
+      uint32_t queueFamilyIndexCount_ = {},
+      const uint32_t *pQueueFamilyIndices_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_ =
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
+      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_ =
+          VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque,
+      VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_ =
+          VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate,
+      VULKAN_HPP_NAMESPACE::Bool32 clipped_ = {},
+      VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        surface(surface_),
+        minImageCount(minImageCount_),
+        imageFormat(imageFormat_),
+        imageColorSpace(imageColorSpace_),
+        imageExtent(imageExtent_),
+        imageArrayLayers(imageArrayLayers_),
+        imageUsage(imageUsage_),
+        imageSharingMode(imageSharingMode_),
+        queueFamilyIndexCount(queueFamilyIndexCount_),
+        pQueueFamilyIndices(pQueueFamilyIndices_),
+        preTransform(preTransform_),
+        compositeAlpha(compositeAlpha_),
+        presentMode(presentMode_),
+        clipped(clipped_),
+        oldSwapchain(oldSwapchain_) {}
+
+  VULKAN_HPP_CONSTEXPR SwapchainCreateInfoKHR(SwapchainCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SwapchainCreateInfoKHR(VkSwapchainCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SwapchainCreateInfoKHR(
+            *reinterpret_cast<SwapchainCreateInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SwapchainCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface_, uint32_t minImageCount_,
+      VULKAN_HPP_NAMESPACE::Format imageFormat_,
+      VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_,
+      VULKAN_HPP_NAMESPACE::Extent2D imageExtent_, uint32_t imageArrayLayers_,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_,
+      VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_,
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_ =
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
+      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_ =
+          VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque,
+      VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_ =
+          VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate,
+      VULKAN_HPP_NAMESPACE::Bool32 clipped_ = {},
+      VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_ = {})
+      : flags(flags_), surface(surface_), minImageCount(minImageCount_),
+        imageFormat(imageFormat_), imageColorSpace(imageColorSpace_),
+        imageExtent(imageExtent_), imageArrayLayers(imageArrayLayers_),
+        imageUsage(imageUsage_), imageSharingMode(imageSharingMode_),
+        queueFamilyIndexCount(
+            static_cast<uint32_t>(queueFamilyIndices_.size())),
+        pQueueFamilyIndices(queueFamilyIndices_.data()),
+        preTransform(preTransform_), compositeAlpha(compositeAlpha_),
+        presentMode(presentMode_), clipped(clipped_),
+        oldSwapchain(oldSwapchain_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR &
+  operator=(SwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SwapchainCreateInfoKHR &
+  operator=(VkSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &
+  setSurface(VULKAN_HPP_NAMESPACE::SurfaceKHR surface_) VULKAN_HPP_NOEXCEPT {
+    surface = surface_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &
+  setMinImageCount(uint32_t minImageCount_) VULKAN_HPP_NOEXCEPT {
+    minImageCount = minImageCount_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setImageFormat(
+      VULKAN_HPP_NAMESPACE::Format imageFormat_) VULKAN_HPP_NOEXCEPT {
+    imageFormat = imageFormat_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &
+  setImageColorSpace(VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_)
+      VULKAN_HPP_NOEXCEPT {
+    imageColorSpace = imageColorSpace_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setImageExtent(
+      VULKAN_HPP_NAMESPACE::Extent2D const &imageExtent_) VULKAN_HPP_NOEXCEPT {
+    imageExtent = imageExtent_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &
+  setImageArrayLayers(uint32_t imageArrayLayers_) VULKAN_HPP_NOEXCEPT {
+    imageArrayLayers = imageArrayLayers_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setImageUsage(
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_) VULKAN_HPP_NOEXCEPT {
+    imageUsage = imageUsage_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setImageSharingMode(
+      VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_) VULKAN_HPP_NOEXCEPT {
+    imageSharingMode = imageSharingMode_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setQueueFamilyIndexCount(
+      uint32_t queueFamilyIndexCount_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = queueFamilyIndexCount_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setPQueueFamilyIndices(
+      const uint32_t *pQueueFamilyIndices_) VULKAN_HPP_NOEXCEPT {
+    pQueueFamilyIndices = pQueueFamilyIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SwapchainCreateInfoKHR &setQueueFamilyIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = static_cast<uint32_t>(queueFamilyIndices_.size());
+    pQueueFamilyIndices = queueFamilyIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SwapchainCreateInfoKHR &setPreTransform(
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_)
+      VULKAN_HPP_NOEXCEPT {
+    preTransform = preTransform_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setCompositeAlpha(
+      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_)
+      VULKAN_HPP_NOEXCEPT {
+    compositeAlpha = compositeAlpha_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setPresentMode(
+      VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_) VULKAN_HPP_NOEXCEPT {
+    presentMode = presentMode_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &
+  setClipped(VULKAN_HPP_NAMESPACE::Bool32 clipped_) VULKAN_HPP_NOEXCEPT {
+    clipped = clipped_;
+    return *this;
+  }
+
+  SwapchainCreateInfoKHR &setOldSwapchain(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_) VULKAN_HPP_NOEXCEPT {
+    oldSwapchain = oldSwapchain_;
+    return *this;
+  }
+
+  operator VkSwapchainCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSwapchainCreateInfoKHR *>(this);
+  }
+
+  operator VkSwapchainCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSwapchainCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SwapchainCreateInfoKHR const &) const = default;
+#else
+  bool operator==(SwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (surface == rhs.surface) &&
+           (minImageCount == rhs.minImageCount) &&
+           (imageFormat == rhs.imageFormat) &&
+           (imageColorSpace == rhs.imageColorSpace) &&
+           (imageExtent == rhs.imageExtent) &&
+           (imageArrayLayers == rhs.imageArrayLayers) &&
+           (imageUsage == rhs.imageUsage) &&
+           (imageSharingMode == rhs.imageSharingMode) &&
+           (queueFamilyIndexCount == rhs.queueFamilyIndexCount) &&
+           (pQueueFamilyIndices == rhs.pQueueFamilyIndices) &&
+           (preTransform == rhs.preTransform) &&
+           (compositeAlpha == rhs.compositeAlpha) &&
+           (presentMode == rhs.presentMode) && (clipped == rhs.clipped) &&
+           (oldSwapchain == rhs.oldSwapchain);
+  }
+
+  bool operator!=(SwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSwapchainCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags = {};
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface = {};
+  uint32_t minImageCount = {};
+  VULKAN_HPP_NAMESPACE::Format imageFormat =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace =
+      VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear;
+  VULKAN_HPP_NAMESPACE::Extent2D imageExtent = {};
+  uint32_t imageArrayLayers = {};
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage = {};
+  VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode =
+      VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
+  uint32_t queueFamilyIndexCount = {};
+  const uint32_t *pQueueFamilyIndices = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform =
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
+  VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha =
+      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque;
+  VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode =
+      VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate;
+  VULKAN_HPP_NAMESPACE::Bool32 clipped = {};
+  VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain = {};
+};
+static_assert(sizeof(SwapchainCreateInfoKHR) ==
+                  sizeof(VkSwapchainCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SwapchainCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eSwapchainCreateInfoKHR> {
+  using Type = SwapchainCreateInfoKHR;
+};
+
+struct ValidationCacheCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eValidationCacheCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ValidationCacheCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_ = {},
+      size_t initialDataSize_ = {},
+      const void *pInitialData_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        initialDataSize(initialDataSize_),
+        pInitialData(pInitialData_) {}
+
+  VULKAN_HPP_CONSTEXPR ValidationCacheCreateInfoEXT(
+      ValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ValidationCacheCreateInfoEXT(VkValidationCacheCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ValidationCacheCreateInfoEXT(
+            *reinterpret_cast<ValidationCacheCreateInfoEXT const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  ValidationCacheCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const
+          &initialData_)
+      : flags(flags_), initialDataSize(initialData_.size() * sizeof(T)),
+        pInitialData(initialData_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ValidationCacheCreateInfoEXT &operator=(
+      ValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ValidationCacheCreateInfoEXT &
+  operator=(VkValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  ValidationCacheCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ValidationCacheCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ValidationCacheCreateInfoEXT &
+  setInitialDataSize(size_t initialDataSize_) VULKAN_HPP_NOEXCEPT {
+    initialDataSize = initialDataSize_;
+    return *this;
+  }
+
+  ValidationCacheCreateInfoEXT &
+  setPInitialData(const void *pInitialData_) VULKAN_HPP_NOEXCEPT {
+    pInitialData = pInitialData_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  ValidationCacheCreateInfoEXT &
+  setInitialData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const
+                     &initialData_) VULKAN_HPP_NOEXCEPT {
+    initialDataSize = initialData_.size() * sizeof(T);
+    pInitialData = initialData_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkValidationCacheCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkValidationCacheCreateInfoEXT *>(this);
+  }
+
+  operator VkValidationCacheCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkValidationCacheCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ValidationCacheCreateInfoEXT const &) const = default;
+#else
+  bool operator==(ValidationCacheCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (initialDataSize == rhs.initialDataSize) &&
+           (pInitialData == rhs.pInitialData);
+  }
+
+  bool operator!=(ValidationCacheCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eValidationCacheCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags = {};
+  size_t initialDataSize = {};
+  const void *pInitialData = {};
+};
+static_assert(sizeof(ValidationCacheCreateInfoEXT) ==
+                  sizeof(VkValidationCacheCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ValidationCacheCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eValidationCacheCreateInfoEXT> {
+  using Type = ValidationCacheCreateInfoEXT;
+};
+
+class ValidationCacheEXT {
+public:
+  using CType = VkValidationCacheEXT;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eValidationCacheEXT;
+
+public:
+  VULKAN_HPP_CONSTEXPR ValidationCacheEXT() = default;
+  VULKAN_HPP_CONSTEXPR ValidationCacheEXT(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT ValidationCacheEXT(
+      VkValidationCacheEXT validationCacheEXT) VULKAN_HPP_NOEXCEPT
+      : m_validationCacheEXT(validationCacheEXT) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  ValidationCacheEXT &
+  operator=(VkValidationCacheEXT validationCacheEXT) VULKAN_HPP_NOEXCEPT {
+    m_validationCacheEXT = validationCacheEXT;
+    return *this;
+  }
+#endif
+
+  ValidationCacheEXT &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_validationCacheEXT = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ValidationCacheEXT const &) const = default;
+#else
+  bool operator==(ValidationCacheEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_validationCacheEXT == rhs.m_validationCacheEXT;
+  }
+
+  bool operator!=(ValidationCacheEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_validationCacheEXT != rhs.m_validationCacheEXT;
+  }
+
+  bool operator<(ValidationCacheEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_validationCacheEXT < rhs.m_validationCacheEXT;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkValidationCacheEXT() const VULKAN_HPP_NOEXCEPT {
+    return m_validationCacheEXT;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_validationCacheEXT != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_validationCacheEXT == VK_NULL_HANDLE;
+  }
+
+private:
+  VkValidationCacheEXT m_validationCacheEXT = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::ValidationCacheEXT) ==
+                  sizeof(VkValidationCacheEXT),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eValidationCacheEXT> {
+  using type = VULKAN_HPP_NAMESPACE::ValidationCacheEXT;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT> {
+  using Type = VULKAN_HPP_NAMESPACE::ValidationCacheEXT;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eValidationCacheEXT> {
+  using Type = VULKAN_HPP_NAMESPACE::ValidationCacheEXT;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct DisplayPowerInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayPowerInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayPowerInfoEXT(
+      VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState_ =
+          VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT::eOff) VULKAN_HPP_NOEXCEPT
+      : powerState(powerState_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPowerInfoEXT(DisplayPowerInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPowerInfoEXT(VkDisplayPowerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DisplayPowerInfoEXT(
+            *reinterpret_cast<DisplayPowerInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPowerInfoEXT &
+  operator=(DisplayPowerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPowerInfoEXT &
+  operator=(VkDisplayPowerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT const *>(
+            &rhs);
+    return *this;
+  }
+
+  DisplayPowerInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DisplayPowerInfoEXT &
+  setPowerState(VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState_)
+      VULKAN_HPP_NOEXCEPT {
+    powerState = powerState_;
+    return *this;
+  }
+
+  operator VkDisplayPowerInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPowerInfoEXT *>(this);
+  }
+
+  operator VkDisplayPowerInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPowerInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPowerInfoEXT const &) const = default;
+#else
+  bool operator==(DisplayPowerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (powerState == rhs.powerState);
+  }
+
+  bool operator!=(DisplayPowerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayPowerInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState =
+      VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT::eOff;
+};
+static_assert(sizeof(DisplayPowerInfoEXT) == sizeof(VkDisplayPowerInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPowerInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eDisplayPowerInfoEXT> {
+  using Type = DisplayPowerInfoEXT;
+};
+
+struct MappedMemoryRange {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMappedMemoryRange;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MappedMemoryRange(
+      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
+  MappedMemoryRange(MappedMemoryRange const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MappedMemoryRange(VkMappedMemoryRange const &rhs) VULKAN_HPP_NOEXCEPT
+      : MappedMemoryRange(*reinterpret_cast<MappedMemoryRange const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MappedMemoryRange &
+  operator=(MappedMemoryRange const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MappedMemoryRange &
+  operator=(VkMappedMemoryRange const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MappedMemoryRange const *>(
+        &rhs);
+    return *this;
+  }
+
+  MappedMemoryRange &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MappedMemoryRange &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  MappedMemoryRange &
+  setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
+
+  MappedMemoryRange &
+  setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT {
+    size = size_;
+    return *this;
+  }
+
+  operator VkMappedMemoryRange const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMappedMemoryRange *>(this);
+  }
+
+  operator VkMappedMemoryRange &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMappedMemoryRange *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MappedMemoryRange const &) const = default;
+#else
+  bool operator==(MappedMemoryRange const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memory == rhs.memory) && (offset == rhs.offset) &&
+           (size == rhs.size);
+  }
+
+  bool operator!=(MappedMemoryRange const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMappedMemoryRange;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+};
+static_assert(sizeof(MappedMemoryRange) == sizeof(VkMappedMemoryRange),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MappedMemoryRange>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eMappedMemoryRange> {
+  using Type = MappedMemoryRange;
+};
+
+struct MemoryRequirements {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  MemoryRequirements(VULKAN_HPP_NAMESPACE::DeviceSize size_ = {},
+                     VULKAN_HPP_NAMESPACE::DeviceSize alignment_ = {},
+                     uint32_t memoryTypeBits_ = {}) VULKAN_HPP_NOEXCEPT
+      : size(size_),
+        alignment(alignment_),
+        memoryTypeBits(memoryTypeBits_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryRequirements(MemoryRequirements const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryRequirements(VkMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryRequirements(
+            *reinterpret_cast<MemoryRequirements const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryRequirements &
+  operator=(MemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryRequirements &
+  operator=(VkMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRequirements const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkMemoryRequirements const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryRequirements *>(this);
+  }
+
+  operator VkMemoryRequirements &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryRequirements *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryRequirements const &) const = default;
+#else
+  bool operator==(MemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (size == rhs.size) && (alignment == rhs.alignment) &&
+           (memoryTypeBits == rhs.memoryTypeBits);
+  }
+
+  bool operator!=(MemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize alignment = {};
+  uint32_t memoryTypeBits = {};
+};
+static_assert(sizeof(MemoryRequirements) == sizeof(VkMemoryRequirements),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryRequirements>::value,
+              "struct wrapper is not a standard layout!");
+
+struct MemoryRequirements2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryRequirements2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryRequirements2(
+      VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements_ = {})
+      VULKAN_HPP_NOEXCEPT : memoryRequirements(memoryRequirements_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryRequirements2(MemoryRequirements2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryRequirements2(VkMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryRequirements2(
+            *reinterpret_cast<MemoryRequirements2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryRequirements2 &
+  operator=(MemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryRequirements2 &
+  operator=(VkMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRequirements2 const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkMemoryRequirements2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryRequirements2 *>(this);
+  }
+
+  operator VkMemoryRequirements2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryRequirements2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryRequirements2 const &) const = default;
+#else
+  bool operator==(MemoryRequirements2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryRequirements == rhs.memoryRequirements);
+  }
+
+  bool operator!=(MemoryRequirements2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryRequirements2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements = {};
+};
+static_assert(sizeof(MemoryRequirements2) == sizeof(VkMemoryRequirements2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryRequirements2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eMemoryRequirements2> {
+  using Type = MemoryRequirements2;
+};
+using MemoryRequirements2KHR = MemoryRequirements2;
+
+struct DeviceGroupPresentCapabilitiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceGroupPresentCapabilitiesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR(
+      std::array<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> const &presentMask_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_ = {})
+      VULKAN_HPP_NOEXCEPT : presentMask(presentMask_),
+                            modes(modes_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR(
+      DeviceGroupPresentCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupPresentCapabilitiesKHR(
+      VkDeviceGroupPresentCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceGroupPresentCapabilitiesKHR(
+            *reinterpret_cast<DeviceGroupPresentCapabilitiesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR &
+  operator=(DeviceGroupPresentCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupPresentCapabilitiesKHR &operator=(
+      VkDeviceGroupPresentCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDeviceGroupPresentCapabilitiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupPresentCapabilitiesKHR *>(this);
+  }
+
+  operator VkDeviceGroupPresentCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupPresentCapabilitiesKHR const &) const = default;
+#else
+  bool operator==(DeviceGroupPresentCapabilitiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (presentMask == rhs.presentMask) && (modes == rhs.modes);
+  }
+
+  bool operator!=(DeviceGroupPresentCapabilitiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupPresentCapabilitiesKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, VK_MAX_DEVICE_GROUP_SIZE>
+      presentMask = {};
+  VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes = {};
+};
+static_assert(sizeof(DeviceGroupPresentCapabilitiesKHR) ==
+                  sizeof(VkDeviceGroupPresentCapabilitiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupPresentCapabilitiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceGroupPresentCapabilitiesKHR> {
+  using Type = DeviceGroupPresentCapabilitiesKHR;
+};
+
+struct PhysicalDeviceSurfaceInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceSurfaceInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSurfaceInfo2KHR(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface_ = {}) VULKAN_HPP_NOEXCEPT
+      : surface(surface_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSurfaceInfo2KHR(
+      PhysicalDeviceSurfaceInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSurfaceInfo2KHR(VkPhysicalDeviceSurfaceInfo2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSurfaceInfo2KHR(
+            *reinterpret_cast<PhysicalDeviceSurfaceInfo2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSurfaceInfo2KHR &operator=(
+      PhysicalDeviceSurfaceInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSurfaceInfo2KHR &
+  operator=(VkPhysicalDeviceSurfaceInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceSurfaceInfo2KHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceSurfaceInfo2KHR &
+  setSurface(VULKAN_HPP_NAMESPACE::SurfaceKHR surface_) VULKAN_HPP_NOEXCEPT {
+    surface = surface_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceSurfaceInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(this);
+  }
+
+  operator VkPhysicalDeviceSurfaceInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSurfaceInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSurfaceInfo2KHR const &) const = default;
+#else
+  bool operator==(PhysicalDeviceSurfaceInfo2KHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (surface == rhs.surface);
+  }
+
+  bool operator!=(PhysicalDeviceSurfaceInfo2KHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSurfaceInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface = {};
+};
+static_assert(sizeof(PhysicalDeviceSurfaceInfo2KHR) ==
+                  sizeof(VkPhysicalDeviceSurfaceInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceSurfaceInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceSurfaceInfo2KHR> {
+  using Type = PhysicalDeviceSurfaceInfo2KHR;
+};
+
+struct DeviceMemoryOpaqueCaptureAddressInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceMemoryOpaqueCaptureAddressInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceMemoryOpaqueCaptureAddressInfo(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}) VULKAN_HPP_NOEXCEPT
+      : memory(memory_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceMemoryOpaqueCaptureAddressInfo(
+      DeviceMemoryOpaqueCaptureAddressInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceMemoryOpaqueCaptureAddressInfo(
+      VkDeviceMemoryOpaqueCaptureAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceMemoryOpaqueCaptureAddressInfo(
+            *reinterpret_cast<DeviceMemoryOpaqueCaptureAddressInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOpaqueCaptureAddressInfo &
+  operator=(DeviceMemoryOpaqueCaptureAddressInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceMemoryOpaqueCaptureAddressInfo &operator=(
+      VkDeviceMemoryOpaqueCaptureAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  DeviceMemoryOpaqueCaptureAddressInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceMemoryOpaqueCaptureAddressInfo &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  operator VkDeviceMemoryOpaqueCaptureAddressInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>(
+        this);
+  }
+
+  operator VkDeviceMemoryOpaqueCaptureAddressInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceMemoryOpaqueCaptureAddressInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DeviceMemoryOpaqueCaptureAddressInfo const &) const = default;
+#else
+  bool operator==(DeviceMemoryOpaqueCaptureAddressInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memory == rhs.memory);
+  }
+
+  bool operator!=(DeviceMemoryOpaqueCaptureAddressInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceMemoryOpaqueCaptureAddressInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+};
+static_assert(sizeof(DeviceMemoryOpaqueCaptureAddressInfo) ==
+                  sizeof(VkDeviceMemoryOpaqueCaptureAddressInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DeviceMemoryOpaqueCaptureAddressInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceMemoryOpaqueCaptureAddressInfo> {
+  using Type = DeviceMemoryOpaqueCaptureAddressInfo;
+};
+using DeviceMemoryOpaqueCaptureAddressInfoKHR =
+    DeviceMemoryOpaqueCaptureAddressInfo;
+
+struct PresentInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePresentInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PresentInfoKHR(
+      uint32_t waitSemaphoreCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_ = {},
+      uint32_t swapchainCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains_ = {},
+      const uint32_t *pImageIndices_ = {},
+      VULKAN_HPP_NAMESPACE::Result *pResults_ = {}) VULKAN_HPP_NOEXCEPT
+      : waitSemaphoreCount(waitSemaphoreCount_),
+        pWaitSemaphores(pWaitSemaphores_),
+        swapchainCount(swapchainCount_),
+        pSwapchains(pSwapchains_),
+        pImageIndices(pImageIndices_),
+        pResults(pResults_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  PresentInfoKHR(PresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentInfoKHR(VkPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PresentInfoKHR(*reinterpret_cast<PresentInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentInfoKHR(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &waitSemaphores_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &swapchains_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &imageIndices_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          VULKAN_HPP_NAMESPACE::Result> const &results_ = {})
+      : waitSemaphoreCount(static_cast<uint32_t>(waitSemaphores_.size())),
+        pWaitSemaphores(waitSemaphores_.data()),
+        swapchainCount(static_cast<uint32_t>(swapchains_.size())),
+        pSwapchains(swapchains_.data()), pImageIndices(imageIndices_.data()),
+        pResults(results_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(swapchains_.size() == imageIndices_.size());
+    VULKAN_HPP_ASSERT(results_.empty() ||
+                      (swapchains_.size() == results_.size()));
+    VULKAN_HPP_ASSERT(results_.empty() ||
+                      (imageIndices_.size() == results_.size()));
+#else
+    if (swapchains_.size() != imageIndices_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::PresentInfoKHR::PresentInfoKHR: swapchains_.size() "
+                       "!= imageIndices_.size()");
+    }
+    if (!results_.empty() && (swapchains_.size() != results_.size())) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::PresentInfoKHR::PresentInfoKHR: !results_.empty() && "
+                       "( swapchains_.size() != results_.size() )");
+    }
+    if (!results_.empty() && (imageIndices_.size() != results_.size())) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::PresentInfoKHR::PresentInfoKHR: !results_.empty() && "
+                       "( imageIndices_.size() != results_.size() )");
+    }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR &
+  operator=(PresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentInfoKHR &operator=(VkPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  PresentInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PresentInfoKHR &
+  setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = waitSemaphoreCount_;
+    return *this;
+  }
+
+  PresentInfoKHR &
+  setPWaitSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    pWaitSemaphores = pWaitSemaphores_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentInfoKHR &setWaitSemaphores(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &waitSemaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = static_cast<uint32_t>(waitSemaphores_.size());
+    pWaitSemaphores = waitSemaphores_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  PresentInfoKHR &
+  setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT {
+    swapchainCount = swapchainCount_;
+    return *this;
+  }
+
+  PresentInfoKHR &
+  setPSwapchains(const VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains_)
+      VULKAN_HPP_NOEXCEPT {
+    pSwapchains = pSwapchains_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentInfoKHR &
+  setSwapchains(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &swapchains_)
+      VULKAN_HPP_NOEXCEPT {
+    swapchainCount = static_cast<uint32_t>(swapchains_.size());
+    pSwapchains = swapchains_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  PresentInfoKHR &
+  setPImageIndices(const uint32_t *pImageIndices_) VULKAN_HPP_NOEXCEPT {
+    pImageIndices = pImageIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentInfoKHR &setImageIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &imageIndices_) VULKAN_HPP_NOEXCEPT {
+    swapchainCount = static_cast<uint32_t>(imageIndices_.size());
+    pImageIndices = imageIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  PresentInfoKHR &
+  setPResults(VULKAN_HPP_NAMESPACE::Result *pResults_) VULKAN_HPP_NOEXCEPT {
+    pResults = pResults_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentInfoKHR &setResults(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                             VULKAN_HPP_NAMESPACE::Result> const &results_)
+      VULKAN_HPP_NOEXCEPT {
+    swapchainCount = static_cast<uint32_t>(results_.size());
+    pResults = results_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPresentInfoKHR *>(this);
+  }
+
+  operator VkPresentInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPresentInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PresentInfoKHR const &) const = default;
+#else
+  bool operator==(PresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (waitSemaphoreCount == rhs.waitSemaphoreCount) &&
+           (pWaitSemaphores == rhs.pWaitSemaphores) &&
+           (swapchainCount == rhs.swapchainCount) &&
+           (pSwapchains == rhs.pSwapchains) &&
+           (pImageIndices == rhs.pImageIndices) && (pResults == rhs.pResults);
+  }
+
+  bool operator!=(PresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePresentInfoKHR;
+  const void *pNext = {};
+  uint32_t waitSemaphoreCount = {};
+  const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores = {};
+  uint32_t swapchainCount = {};
+  const VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains = {};
+  const uint32_t *pImageIndices = {};
+  VULKAN_HPP_NAMESPACE::Result *pResults = {};
+};
+static_assert(sizeof(PresentInfoKHR) == sizeof(VkPresentInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PresentInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::ePresentInfoKHR> {
+  using Type = PresentInfoKHR;
+};
+
+struct SubmitInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSubmitInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubmitInfo(
+      uint32_t waitSemaphoreCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineStageFlags *pWaitDstStageMask_ = {},
+      uint32_t commandBufferCount_ = {},
+      const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers_ = {},
+      uint32_t signalSemaphoreCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores_ = {})
+      VULKAN_HPP_NOEXCEPT : waitSemaphoreCount(waitSemaphoreCount_),
+                            pWaitSemaphores(pWaitSemaphores_),
+                            pWaitDstStageMask(pWaitDstStageMask_),
+                            commandBufferCount(commandBufferCount_),
+                            pCommandBuffers(pCommandBuffers_),
+                            signalSemaphoreCount(signalSemaphoreCount_),
+                            pSignalSemaphores(pSignalSemaphores_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SubmitInfo(SubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubmitInfo(VkSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubmitInfo(*reinterpret_cast<SubmitInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &waitSemaphores_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PipelineStageFlags> const
+          &waitDstStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::CommandBuffer> const &commandBuffers_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &signalSemaphores_ = {})
+      : waitSemaphoreCount(static_cast<uint32_t>(waitSemaphores_.size())),
+        pWaitSemaphores(waitSemaphores_.data()),
+        pWaitDstStageMask(waitDstStageMask_.data()),
+        commandBufferCount(static_cast<uint32_t>(commandBuffers_.size())),
+        pCommandBuffers(commandBuffers_.data()),
+        signalSemaphoreCount(static_cast<uint32_t>(signalSemaphores_.size())),
+        pSignalSemaphores(signalSemaphores_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(waitSemaphores_.size() == waitDstStageMask_.size());
+#else
+    if (waitSemaphores_.size() != waitDstStageMask_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::SubmitInfo::SubmitInfo: waitSemaphores_.size() != "
+                       "waitDstStageMask_.size()");
+    }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SubmitInfo &
+  operator=(SubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubmitInfo &operator=(VkSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubmitInfo const *>(&rhs);
+    return *this;
+  }
+
+  SubmitInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SubmitInfo &
+  setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = waitSemaphoreCount_;
+    return *this;
+  }
+
+  SubmitInfo &
+  setPWaitSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    pWaitSemaphores = pWaitSemaphores_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo &setWaitSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                                const VULKAN_HPP_NAMESPACE::Semaphore> const
+                                    &waitSemaphores_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = static_cast<uint32_t>(waitSemaphores_.size());
+    pWaitSemaphores = waitSemaphores_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubmitInfo &setPWaitDstStageMask(
+      const VULKAN_HPP_NAMESPACE::PipelineStageFlags *pWaitDstStageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    pWaitDstStageMask = pWaitDstStageMask_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo &
+  setWaitDstStageMask(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                      const VULKAN_HPP_NAMESPACE::PipelineStageFlags> const
+                          &waitDstStageMask_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = static_cast<uint32_t>(waitDstStageMask_.size());
+    pWaitDstStageMask = waitDstStageMask_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubmitInfo &
+  setCommandBufferCount(uint32_t commandBufferCount_) VULKAN_HPP_NOEXCEPT {
+    commandBufferCount = commandBufferCount_;
+    return *this;
+  }
+
+  SubmitInfo &setPCommandBuffers(const VULKAN_HPP_NAMESPACE::CommandBuffer
+                                     *pCommandBuffers_) VULKAN_HPP_NOEXCEPT {
+    pCommandBuffers = pCommandBuffers_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo &setCommandBuffers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                                const VULKAN_HPP_NAMESPACE::CommandBuffer> const
+                                    &commandBuffers_) VULKAN_HPP_NOEXCEPT {
+    commandBufferCount = static_cast<uint32_t>(commandBuffers_.size());
+    pCommandBuffers = commandBuffers_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubmitInfo &
+  setSignalSemaphoreCount(uint32_t signalSemaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreCount = signalSemaphoreCount_;
+    return *this;
+  }
+
+  SubmitInfo &setPSignalSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *
+                                       pSignalSemaphores_) VULKAN_HPP_NOEXCEPT {
+    pSignalSemaphores = pSignalSemaphores_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo &setSignalSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                                  const VULKAN_HPP_NAMESPACE::Semaphore> const
+                                      &signalSemaphores_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreCount = static_cast<uint32_t>(signalSemaphores_.size());
+    pSignalSemaphores = signalSemaphores_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSubmitInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubmitInfo *>(this);
+  }
+
+  operator VkSubmitInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubmitInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubmitInfo const &) const = default;
+#else
+  bool operator==(SubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (waitSemaphoreCount == rhs.waitSemaphoreCount) &&
+           (pWaitSemaphores == rhs.pWaitSemaphores) &&
+           (pWaitDstStageMask == rhs.pWaitDstStageMask) &&
+           (commandBufferCount == rhs.commandBufferCount) &&
+           (pCommandBuffers == rhs.pCommandBuffers) &&
+           (signalSemaphoreCount == rhs.signalSemaphoreCount) &&
+           (pSignalSemaphores == rhs.pSignalSemaphores);
+  }
+
+  bool operator!=(SubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubmitInfo;
+  const void *pNext = {};
+  uint32_t waitSemaphoreCount = {};
+  const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores = {};
+  const VULKAN_HPP_NAMESPACE::PipelineStageFlags *pWaitDstStageMask = {};
+  uint32_t commandBufferCount = {};
+  const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers = {};
+  uint32_t signalSemaphoreCount = {};
+  const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores = {};
+};
+static_assert(sizeof(SubmitInfo) == sizeof(VkSubmitInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubmitInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSubmitInfo> {
+  using Type = SubmitInfo;
+};
+
+struct SemaphoreSubmitInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreSubmitInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SemaphoreSubmitInfoKHR(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {}, uint64_t value_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask_ = {},
+      uint32_t deviceIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : semaphore(semaphore_),
+        value(value_),
+        stageMask(stageMask_),
+        deviceIndex(deviceIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR SemaphoreSubmitInfoKHR(SemaphoreSubmitInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreSubmitInfoKHR(VkSemaphoreSubmitInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SemaphoreSubmitInfoKHR(
+            *reinterpret_cast<SemaphoreSubmitInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreSubmitInfoKHR &
+  operator=(SemaphoreSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreSubmitInfoKHR &
+  operator=(VkSemaphoreSubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  SemaphoreSubmitInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SemaphoreSubmitInfoKHR &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
+
+  SemaphoreSubmitInfoKHR &setValue(uint64_t value_) VULKAN_HPP_NOEXCEPT {
+    value = value_;
+    return *this;
+  }
+
+  SemaphoreSubmitInfoKHR &
+  setStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask_)
+      VULKAN_HPP_NOEXCEPT {
+    stageMask = stageMask_;
+    return *this;
+  }
+
+  SemaphoreSubmitInfoKHR &
+  setDeviceIndex(uint32_t deviceIndex_) VULKAN_HPP_NOEXCEPT {
+    deviceIndex = deviceIndex_;
+    return *this;
+  }
+
+  operator VkSemaphoreSubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreSubmitInfoKHR *>(this);
+  }
+
+  operator VkSemaphoreSubmitInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreSubmitInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreSubmitInfoKHR const &) const = default;
+#else
+  bool operator==(SemaphoreSubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (value == rhs.value) &&
+           (stageMask == rhs.stageMask) && (deviceIndex == rhs.deviceIndex);
+  }
+
+  bool operator!=(SemaphoreSubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSemaphoreSubmitInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  uint64_t value = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask = {};
+  uint32_t deviceIndex = {};
+};
+static_assert(sizeof(SemaphoreSubmitInfoKHR) ==
+                  sizeof(VkSemaphoreSubmitInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SemaphoreSubmitInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eSemaphoreSubmitInfoKHR> {
+  using Type = SemaphoreSubmitInfoKHR;
+};
+
+struct SubmitInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSubmitInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SubmitInfo2KHR(VULKAN_HPP_NAMESPACE::SubmitFlagsKHR flags_ = {},
+                 uint32_t waitSemaphoreInfoCount_ = {},
+                 const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR
+                     *pWaitSemaphoreInfos_ = {},
+                 uint32_t commandBufferInfoCount_ = {},
+                 const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR
+                     *pCommandBufferInfos_ = {},
+                 uint32_t signalSemaphoreInfoCount_ = {},
+                 const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR
+                     *pSignalSemaphoreInfos_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        waitSemaphoreInfoCount(waitSemaphoreInfoCount_),
+        pWaitSemaphoreInfos(pWaitSemaphoreInfos_),
+        commandBufferInfoCount(commandBufferInfoCount_),
+        pCommandBufferInfos(pCommandBufferInfos_),
+        signalSemaphoreInfoCount(signalSemaphoreInfoCount_),
+        pSignalSemaphoreInfos(pSignalSemaphoreInfos_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SubmitInfo2KHR(SubmitInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubmitInfo2KHR(VkSubmitInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubmitInfo2KHR(*reinterpret_cast<SubmitInfo2KHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo2KHR(
+      VULKAN_HPP_NAMESPACE::SubmitFlagsKHR flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR> const
+          &waitSemaphoreInfos_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR> const
+          &commandBufferInfos_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR> const
+          &signalSemaphoreInfos_ = {})
+      : flags(flags_), waitSemaphoreInfoCount(
+                           static_cast<uint32_t>(waitSemaphoreInfos_.size())),
+        pWaitSemaphoreInfos(waitSemaphoreInfos_.data()),
+        commandBufferInfoCount(
+            static_cast<uint32_t>(commandBufferInfos_.size())),
+        pCommandBufferInfos(commandBufferInfos_.data()),
+        signalSemaphoreInfoCount(
+            static_cast<uint32_t>(signalSemaphoreInfos_.size())),
+        pSignalSemaphoreInfos(signalSemaphoreInfos_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SubmitInfo2KHR &
+  operator=(SubmitInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubmitInfo2KHR &operator=(VkSubmitInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubmitInfo2KHR const *>(&rhs);
+    return *this;
+  }
+
+  SubmitInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SubmitInfo2KHR &
+  setFlags(VULKAN_HPP_NAMESPACE::SubmitFlagsKHR flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  SubmitInfo2KHR &setWaitSemaphoreInfoCount(uint32_t waitSemaphoreInfoCount_)
+      VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreInfoCount = waitSemaphoreInfoCount_;
+    return *this;
+  }
+
+  SubmitInfo2KHR &setPWaitSemaphoreInfos(
+      const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR *pWaitSemaphoreInfos_)
+      VULKAN_HPP_NOEXCEPT {
+    pWaitSemaphoreInfos = pWaitSemaphoreInfos_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo2KHR &setWaitSemaphoreInfos(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR> const
+          &waitSemaphoreInfos_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreInfoCount = static_cast<uint32_t>(waitSemaphoreInfos_.size());
+    pWaitSemaphoreInfos = waitSemaphoreInfos_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubmitInfo2KHR &setCommandBufferInfoCount(uint32_t commandBufferInfoCount_)
+      VULKAN_HPP_NOEXCEPT {
+    commandBufferInfoCount = commandBufferInfoCount_;
+    return *this;
+  }
+
+  SubmitInfo2KHR &
+  setPCommandBufferInfos(const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR
+                             *pCommandBufferInfos_) VULKAN_HPP_NOEXCEPT {
+    pCommandBufferInfos = pCommandBufferInfos_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo2KHR &setCommandBufferInfos(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR> const
+          &commandBufferInfos_) VULKAN_HPP_NOEXCEPT {
+    commandBufferInfoCount = static_cast<uint32_t>(commandBufferInfos_.size());
+    pCommandBufferInfos = commandBufferInfos_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SubmitInfo2KHR &setSignalSemaphoreInfoCount(
+      uint32_t signalSemaphoreInfoCount_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreInfoCount = signalSemaphoreInfoCount_;
+    return *this;
+  }
+
+  SubmitInfo2KHR &
+  setPSignalSemaphoreInfos(const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR
+                               *pSignalSemaphoreInfos_) VULKAN_HPP_NOEXCEPT {
+    pSignalSemaphoreInfos = pSignalSemaphoreInfos_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SubmitInfo2KHR &setSignalSemaphoreInfos(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR> const
+          &signalSemaphoreInfos_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreInfoCount =
+        static_cast<uint32_t>(signalSemaphoreInfos_.size());
+    pSignalSemaphoreInfos = signalSemaphoreInfos_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSubmitInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubmitInfo2KHR *>(this);
+  }
+
+  operator VkSubmitInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubmitInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubmitInfo2KHR const &) const = default;
+#else
+  bool operator==(SubmitInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (waitSemaphoreInfoCount == rhs.waitSemaphoreInfoCount) &&
+           (pWaitSemaphoreInfos == rhs.pWaitSemaphoreInfos) &&
+           (commandBufferInfoCount == rhs.commandBufferInfoCount) &&
+           (pCommandBufferInfos == rhs.pCommandBufferInfos) &&
+           (signalSemaphoreInfoCount == rhs.signalSemaphoreInfoCount) &&
+           (pSignalSemaphoreInfos == rhs.pSignalSemaphoreInfos);
+  }
+
+  bool operator!=(SubmitInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubmitInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SubmitFlagsKHR flags = {};
+  uint32_t waitSemaphoreInfoCount = {};
+  const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR *pWaitSemaphoreInfos = {};
+  uint32_t commandBufferInfoCount = {};
+  const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR *pCommandBufferInfos =
+      {};
+  uint32_t signalSemaphoreInfoCount = {};
+  const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR *pSignalSemaphoreInfos =
+      {};
+};
+static_assert(sizeof(SubmitInfo2KHR) == sizeof(VkSubmitInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubmitInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSubmitInfo2KHR> {
+  using Type = SubmitInfo2KHR;
+};
+
+class Queue {
+public:
+  using CType = VkQueue;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eQueue;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueue;
+
+public:
+  VULKAN_HPP_CONSTEXPR Queue() = default;
+  VULKAN_HPP_CONSTEXPR Queue(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Queue(VkQueue queue) VULKAN_HPP_NOEXCEPT
+      : m_queue(queue) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Queue &operator=(VkQueue queue) VULKAN_HPP_NOEXCEPT {
+    m_queue = queue;
+    return *this;
+  }
+#endif
+
+  Queue &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_queue = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Queue const &) const = default;
+#else
+  bool operator==(Queue const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_queue == rhs.m_queue;
+  }
+
+  bool operator!=(Queue const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_queue != rhs.m_queue;
+  }
+
+  bool operator<(Queue const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_queue < rhs.m_queue;
+  }
+#endif
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getCheckpointData2NV(
+      uint32_t *pCheckpointDataCount,
+      VULKAN_HPP_NAMESPACE::CheckpointData2NV *pCheckpointData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <
+      typename CheckpointData2NVAllocator = std::allocator<CheckpointData2NV>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      std::vector<CheckpointData2NV, CheckpointData2NVAllocator>
+      getCheckpointData2NV(
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename CheckpointData2NVAllocator = std::allocator<CheckpointData2NV>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = CheckpointData2NVAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, CheckpointData2NV>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD
+      std::vector<CheckpointData2NV, CheckpointData2NVAllocator>
+      getCheckpointData2NV(
+          CheckpointData2NVAllocator &checkpointData2NVAllocator,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getCheckpointDataNV(
+      uint32_t *pCheckpointDataCount,
+      VULKAN_HPP_NAMESPACE::CheckpointDataNV *pCheckpointData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <
+      typename CheckpointDataNVAllocator = std::allocator<CheckpointDataNV>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD std::vector<CheckpointDataNV, CheckpointDataNVAllocator>
+  getCheckpointDataNV(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename CheckpointDataNVAllocator = std::allocator<CheckpointDataNV>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = CheckpointDataNVAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, CheckpointDataNV>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD std::vector<CheckpointDataNV, CheckpointDataNVAllocator>
+  getCheckpointDataNV(CheckpointDataNVAllocator &checkpointDataNVAllocator,
+                      Dispatch const &d
+                          VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void beginDebugUtilsLabelEXT(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+      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 beginDebugUtilsLabelEXT(
+      const DebugUtilsLabelEXT &labelInfo,
+      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
+  bindSparse(uint32_t bindInfoCount,
+             const VULKAN_HPP_NAMESPACE::BindSparseInfo *pBindInfo,
+             VULKAN_HPP_NAMESPACE::Fence fence,
+             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
+  bindSparse(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const &bindInfo,
+      VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void endDebugUtilsLabelEXT(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void insertDebugUtilsLabelEXT(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+      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 insertDebugUtilsLabelEXT(
+      const DebugUtilsLabelEXT &labelInfo,
+      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
+  presentKHR(const VULKAN_HPP_NAMESPACE::PresentInfoKHR *pPresentInfo,
+             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 Result
+  presentKHR(const PresentInfoKHR &presentInfo,
+             Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result setPerformanceConfigurationINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  setPerformanceConfigurationINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+      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
+  submit(uint32_t submitCount, const VULKAN_HPP_NAMESPACE::SubmitInfo *pSubmits,
+         VULKAN_HPP_NAMESPACE::Fence fence,
+         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
+  submit(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const &submits,
+         VULKAN_HPP_NAMESPACE::Fence fence
+             VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+         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
+  submit2KHR(uint32_t submitCount,
+             const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR *pSubmits,
+             VULKAN_HPP_NAMESPACE::Fence fence,
+             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
+  submit2KHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR> const &submits,
+      VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  waitIdle(Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  waitIdle(Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkQueue() const VULKAN_HPP_NOEXCEPT {
+    return m_queue;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_queue != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_queue == VK_NULL_HANDLE;
+  }
+
+private:
+  VkQueue m_queue = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Queue) == sizeof(VkQueue),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eQueue> {
+  using type = VULKAN_HPP_NAMESPACE::Queue;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eQueue> {
+  using Type = VULKAN_HPP_NAMESPACE::Queue;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueue> {
+  using Type = VULKAN_HPP_NAMESPACE::Queue;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Queue> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct DeviceQueueInfo2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceQueueInfo2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DeviceQueueInfo2(VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_ = {},
+                   uint32_t queueFamilyIndex_ = {},
+                   uint32_t queueIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        queueFamilyIndex(queueFamilyIndex_),
+        queueIndex(queueIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  DeviceQueueInfo2(DeviceQueueInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceQueueInfo2(VkDeviceQueueInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceQueueInfo2(*reinterpret_cast<DeviceQueueInfo2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 &
+  operator=(DeviceQueueInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceQueueInfo2 &
+  operator=(VkDeviceQueueInfo2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const *>(&rhs);
+    return *this;
+  }
+
+  DeviceQueueInfo2 &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceQueueInfo2 &setFlags(
+      VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  DeviceQueueInfo2 &
+  setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndex = queueFamilyIndex_;
+    return *this;
+  }
+
+  DeviceQueueInfo2 &setQueueIndex(uint32_t queueIndex_) VULKAN_HPP_NOEXCEPT {
+    queueIndex = queueIndex_;
+    return *this;
+  }
+
+  operator VkDeviceQueueInfo2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceQueueInfo2 *>(this);
+  }
+
+  operator VkDeviceQueueInfo2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceQueueInfo2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceQueueInfo2 const &) const = default;
+#else
+  bool operator==(DeviceQueueInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (queueFamilyIndex == rhs.queueFamilyIndex) &&
+           (queueIndex == rhs.queueIndex);
+  }
+
+  bool operator!=(DeviceQueueInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceQueueInfo2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags = {};
+  uint32_t queueFamilyIndex = {};
+  uint32_t queueIndex = {};
+};
+static_assert(sizeof(DeviceQueueInfo2) == sizeof(VkDeviceQueueInfo2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceQueueInfo2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eDeviceQueueInfo2> {
+  using Type = DeviceQueueInfo2;
+};
+
+struct FenceGetFdInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFenceGetFdInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FenceGetFdInfoKHR(
+      VULKAN_HPP_NAMESPACE::Fence fence_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : fence(fence_),
+                            handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  FenceGetFdInfoKHR(FenceGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FenceGetFdInfoKHR(VkFenceGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : FenceGetFdInfoKHR(*reinterpret_cast<FenceGetFdInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FenceGetFdInfoKHR &
+  operator=(FenceGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FenceGetFdInfoKHR &
+  operator=(VkFenceGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  FenceGetFdInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  FenceGetFdInfoKHR &
+  setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT {
+    fence = fence_;
+    return *this;
+  }
+
+  FenceGetFdInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkFenceGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFenceGetFdInfoKHR *>(this);
+  }
+
+  operator VkFenceGetFdInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFenceGetFdInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FenceGetFdInfoKHR const &) const = default;
+#else
+  bool operator==(FenceGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fence == rhs.fence) && (handleType == rhs.handleType);
+  }
+
+  bool operator!=(FenceGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFenceGetFdInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Fence fence = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(FenceGetFdInfoKHR) == sizeof(VkFenceGetFdInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FenceGetFdInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eFenceGetFdInfoKHR> {
+  using Type = FenceGetFdInfoKHR;
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct FenceGetWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFenceGetWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR(
+      VULKAN_HPP_NAMESPACE::Fence fence_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : fence(fence_),
+                            handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR(
+      FenceGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FenceGetWin32HandleInfoKHR(VkFenceGetWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : FenceGetWin32HandleInfoKHR(
+            *reinterpret_cast<FenceGetWin32HandleInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FenceGetWin32HandleInfoKHR &operator=(
+      FenceGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FenceGetWin32HandleInfoKHR &
+  operator=(VkFenceGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  FenceGetWin32HandleInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  FenceGetWin32HandleInfoKHR &
+  setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT {
+    fence = fence_;
+    return *this;
+  }
+
+  FenceGetWin32HandleInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkFenceGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkFenceGetWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFenceGetWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FenceGetWin32HandleInfoKHR const &) const = default;
+#else
+  bool
+  operator==(FenceGetWin32HandleInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fence == rhs.fence) && (handleType == rhs.handleType);
+  }
+
+  bool
+  operator!=(FenceGetWin32HandleInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eFenceGetWin32HandleInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Fence fence = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(FenceGetWin32HandleInfoKHR) ==
+                  sizeof(VkFenceGetWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FenceGetWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eFenceGetWin32HandleInfoKHR> {
+  using Type = FenceGetWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+struct GeneratedCommandsMemoryRequirementsInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGeneratedCommandsMemoryRequirementsInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR GeneratedCommandsMemoryRequirementsInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ =
+          VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {},
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_ =
+          {},
+      uint32_t maxSequencesCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : pipelineBindPoint(pipelineBindPoint_),
+        pipeline(pipeline_),
+        indirectCommandsLayout(indirectCommandsLayout_),
+        maxSequencesCount(maxSequencesCount_) {}
+
+  VULKAN_HPP_CONSTEXPR GeneratedCommandsMemoryRequirementsInfoNV(
+      GeneratedCommandsMemoryRequirementsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  GeneratedCommandsMemoryRequirementsInfoNV(
+      VkGeneratedCommandsMemoryRequirementsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : GeneratedCommandsMemoryRequirementsInfoNV(
+            *reinterpret_cast<
+                GeneratedCommandsMemoryRequirementsInfoNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoNV &
+  operator=(GeneratedCommandsMemoryRequirementsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  GeneratedCommandsMemoryRequirementsInfoNV &
+  operator=(VkGeneratedCommandsMemoryRequirementsInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV const
+            *>(&rhs);
+    return *this;
+  }
+
+  GeneratedCommandsMemoryRequirementsInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  GeneratedCommandsMemoryRequirementsInfoNV &setPipelineBindPoint(
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineBindPoint = pipelineBindPoint_;
+    return *this;
+  }
+
+  GeneratedCommandsMemoryRequirementsInfoNV &
+  setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT {
+    pipeline = pipeline_;
+    return *this;
+  }
+
+  GeneratedCommandsMemoryRequirementsInfoNV &setIndirectCommandsLayout(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    indirectCommandsLayout = indirectCommandsLayout_;
+    return *this;
+  }
+
+  GeneratedCommandsMemoryRequirementsInfoNV &
+  setMaxSequencesCount(uint32_t maxSequencesCount_) VULKAN_HPP_NOEXCEPT {
+    maxSequencesCount = maxSequencesCount_;
+    return *this;
+  }
+
+  operator VkGeneratedCommandsMemoryRequirementsInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkGeneratedCommandsMemoryRequirementsInfoNV *>(this);
+  }
+
+  operator VkGeneratedCommandsMemoryRequirementsInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGeneratedCommandsMemoryRequirementsInfoNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GeneratedCommandsMemoryRequirementsInfoNV const &) const =
+      default;
+#else
+  bool operator==(GeneratedCommandsMemoryRequirementsInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pipelineBindPoint == rhs.pipelineBindPoint) &&
+           (pipeline == rhs.pipeline) &&
+           (indirectCommandsLayout == rhs.indirectCommandsLayout) &&
+           (maxSequencesCount == rhs.maxSequencesCount);
+  }
+
+  bool operator!=(GeneratedCommandsMemoryRequirementsInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eGeneratedCommandsMemoryRequirementsInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint =
+      VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
+  VULKAN_HPP_NAMESPACE::Pipeline pipeline = {};
+  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout = {};
+  uint32_t maxSequencesCount = {};
+};
+static_assert(sizeof(GeneratedCommandsMemoryRequirementsInfoNV) ==
+                  sizeof(VkGeneratedCommandsMemoryRequirementsInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<GeneratedCommandsMemoryRequirementsInfoNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eGeneratedCommandsMemoryRequirementsInfoNV> {
+  using Type = GeneratedCommandsMemoryRequirementsInfoNV;
+};
+
+struct ImageDrmFormatModifierPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageDrmFormatModifierPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierPropertiesEXT(
+      uint64_t drmFormatModifier_ = {}) VULKAN_HPP_NOEXCEPT
+      : drmFormatModifier(drmFormatModifier_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierPropertiesEXT(
+      ImageDrmFormatModifierPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageDrmFormatModifierPropertiesEXT(
+      VkImageDrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageDrmFormatModifierPropertiesEXT(
+            *reinterpret_cast<ImageDrmFormatModifierPropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierPropertiesEXT &
+  operator=(ImageDrmFormatModifierPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageDrmFormatModifierPropertiesEXT &operator=(
+      VkImageDrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkImageDrmFormatModifierPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageDrmFormatModifierPropertiesEXT *>(
+        this);
+  }
+
+  operator VkImageDrmFormatModifierPropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageDrmFormatModifierPropertiesEXT const &) const = default;
+#else
+  bool operator==(ImageDrmFormatModifierPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (drmFormatModifier == rhs.drmFormatModifier);
+  }
+
+  bool operator!=(ImageDrmFormatModifierPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageDrmFormatModifierPropertiesEXT;
+  void *pNext = {};
+  uint64_t drmFormatModifier = {};
+};
+static_assert(sizeof(ImageDrmFormatModifierPropertiesEXT) ==
+                  sizeof(VkImageDrmFormatModifierPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImageDrmFormatModifierPropertiesEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImageDrmFormatModifierPropertiesEXT> {
+  using Type = ImageDrmFormatModifierPropertiesEXT;
+};
+
+struct ImageMemoryRequirementsInfo2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageMemoryRequirementsInfo2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageMemoryRequirementsInfo2(
+      VULKAN_HPP_NAMESPACE::Image image_ = {}) VULKAN_HPP_NOEXCEPT
+      : image(image_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageMemoryRequirementsInfo2(
+      ImageMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageMemoryRequirementsInfo2(VkImageMemoryRequirementsInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageMemoryRequirementsInfo2(
+            *reinterpret_cast<ImageMemoryRequirementsInfo2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageMemoryRequirementsInfo2 &operator=(
+      ImageMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageMemoryRequirementsInfo2 &
+  operator=(VkImageMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 const *>(&rhs);
+    return *this;
+  }
+
+  ImageMemoryRequirementsInfo2 &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageMemoryRequirementsInfo2 &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  operator VkImageMemoryRequirementsInfo2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(this);
+  }
+
+  operator VkImageMemoryRequirementsInfo2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageMemoryRequirementsInfo2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageMemoryRequirementsInfo2 const &) const = default;
+#else
+  bool operator==(ImageMemoryRequirementsInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (image == rhs.image);
+  }
+
+  bool operator!=(ImageMemoryRequirementsInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageMemoryRequirementsInfo2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+};
+static_assert(sizeof(ImageMemoryRequirementsInfo2) ==
+                  sizeof(VkImageMemoryRequirementsInfo2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageMemoryRequirementsInfo2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageMemoryRequirementsInfo2> {
+  using Type = ImageMemoryRequirementsInfo2;
+};
+using ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
+
+struct SparseImageFormatProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D imageGranularity_ = {},
+      VULKAN_HPP_NAMESPACE::SparseImageFormatFlags flags_ = {})
+      VULKAN_HPP_NOEXCEPT : aspectMask(aspectMask_),
+                            imageGranularity(imageGranularity_),
+                            flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR SparseImageFormatProperties(
+      SparseImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageFormatProperties(VkSparseImageFormatProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SparseImageFormatProperties(
+            *reinterpret_cast<SparseImageFormatProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SparseImageFormatProperties &operator=(
+      SparseImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageFormatProperties &
+  operator=(VkSparseImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SparseImageFormatProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkSparseImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseImageFormatProperties *>(this);
+  }
+
+  operator VkSparseImageFormatProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseImageFormatProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseImageFormatProperties const &) const = default;
+#else
+  bool
+  operator==(SparseImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (aspectMask == rhs.aspectMask) &&
+           (imageGranularity == rhs.imageGranularity) && (flags == rhs.flags);
+  }
+
+  bool
+  operator!=(SparseImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
+  VULKAN_HPP_NAMESPACE::Extent3D imageGranularity = {};
+  VULKAN_HPP_NAMESPACE::SparseImageFormatFlags flags = {};
+};
+static_assert(sizeof(SparseImageFormatProperties) ==
+                  sizeof(VkSparseImageFormatProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseImageFormatProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct SparseImageMemoryRequirements {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements(
+      VULKAN_HPP_NAMESPACE::SparseImageFormatProperties formatProperties_ = {},
+      uint32_t imageMipTailFirstLod_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailSize_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailOffset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailStride_ = {})
+      VULKAN_HPP_NOEXCEPT : formatProperties(formatProperties_),
+                            imageMipTailFirstLod(imageMipTailFirstLod_),
+                            imageMipTailSize(imageMipTailSize_),
+                            imageMipTailOffset(imageMipTailOffset_),
+                            imageMipTailStride(imageMipTailStride_) {}
+
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements(
+      SparseImageMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageMemoryRequirements(VkSparseImageMemoryRequirements const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SparseImageMemoryRequirements(
+            *reinterpret_cast<SparseImageMemoryRequirements const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryRequirements &operator=(
+      SparseImageMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageMemoryRequirements &
+  operator=(VkSparseImageMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements const *>(&rhs);
+    return *this;
+  }
+
+  operator VkSparseImageMemoryRequirements const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseImageMemoryRequirements *>(this);
+  }
+
+  operator VkSparseImageMemoryRequirements &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseImageMemoryRequirements *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseImageMemoryRequirements const &) const = default;
+#else
+  bool operator==(SparseImageMemoryRequirements const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (formatProperties == rhs.formatProperties) &&
+           (imageMipTailFirstLod == rhs.imageMipTailFirstLod) &&
+           (imageMipTailSize == rhs.imageMipTailSize) &&
+           (imageMipTailOffset == rhs.imageMipTailOffset) &&
+           (imageMipTailStride == rhs.imageMipTailStride);
+  }
+
+  bool operator!=(SparseImageMemoryRequirements const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::SparseImageFormatProperties formatProperties = {};
+  uint32_t imageMipTailFirstLod = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailSize = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailOffset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailStride = {};
+};
+static_assert(sizeof(SparseImageMemoryRequirements) ==
+                  sizeof(VkSparseImageMemoryRequirements),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseImageMemoryRequirements>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ImageSparseMemoryRequirementsInfo2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageSparseMemoryRequirementsInfo2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageSparseMemoryRequirementsInfo2(
+      VULKAN_HPP_NAMESPACE::Image image_ = {}) VULKAN_HPP_NOEXCEPT
+      : image(image_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageSparseMemoryRequirementsInfo2(
+      ImageSparseMemoryRequirementsInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageSparseMemoryRequirementsInfo2(
+      VkImageSparseMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageSparseMemoryRequirementsInfo2(
+            *reinterpret_cast<ImageSparseMemoryRequirementsInfo2 const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageSparseMemoryRequirementsInfo2 &
+  operator=(ImageSparseMemoryRequirementsInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageSparseMemoryRequirementsInfo2 &operator=(
+      VkImageSparseMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 const *>(&rhs);
+    return *this;
+  }
+
+  ImageSparseMemoryRequirementsInfo2 &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageSparseMemoryRequirementsInfo2 &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  operator VkImageSparseMemoryRequirementsInfo2 const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(
+        this);
+  }
+
+  operator VkImageSparseMemoryRequirementsInfo2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageSparseMemoryRequirementsInfo2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageSparseMemoryRequirementsInfo2 const &) const = default;
+#else
+  bool operator==(ImageSparseMemoryRequirementsInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (image == rhs.image);
+  }
+
+  bool operator!=(ImageSparseMemoryRequirementsInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageSparseMemoryRequirementsInfo2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+};
+static_assert(sizeof(ImageSparseMemoryRequirementsInfo2) ==
+                  sizeof(VkImageSparseMemoryRequirementsInfo2),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImageSparseMemoryRequirementsInfo2>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImageSparseMemoryRequirementsInfo2> {
+  using Type = ImageSparseMemoryRequirementsInfo2;
+};
+using ImageSparseMemoryRequirementsInfo2KHR =
+    ImageSparseMemoryRequirementsInfo2;
+
+struct SparseImageMemoryRequirements2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSparseImageMemoryRequirements2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements2(
+      VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements memoryRequirements_ =
+          {}) VULKAN_HPP_NOEXCEPT : memoryRequirements(memoryRequirements_) {}
+
+  VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements2(
+      SparseImageMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageMemoryRequirements2(VkSparseImageMemoryRequirements2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SparseImageMemoryRequirements2(
+            *reinterpret_cast<SparseImageMemoryRequirements2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryRequirements2 &operator=(
+      SparseImageMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageMemoryRequirements2 &
+  operator=(VkSparseImageMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 const *>(&rhs);
+    return *this;
+  }
+
+  operator VkSparseImageMemoryRequirements2 const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseImageMemoryRequirements2 *>(this);
+  }
+
+  operator VkSparseImageMemoryRequirements2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseImageMemoryRequirements2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseImageMemoryRequirements2 const &) const = default;
+#else
+  bool operator==(SparseImageMemoryRequirements2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryRequirements == rhs.memoryRequirements);
+  }
+
+  bool operator!=(SparseImageMemoryRequirements2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSparseImageMemoryRequirements2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements memoryRequirements = {};
+};
+static_assert(sizeof(SparseImageMemoryRequirements2) ==
+                  sizeof(VkSparseImageMemoryRequirements2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseImageMemoryRequirements2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eSparseImageMemoryRequirements2> {
+  using Type = SparseImageMemoryRequirements2;
+};
+using SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
+
+struct SubresourceLayout {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubresourceLayout(
+      VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize rowPitch_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize arrayPitch_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize depthPitch_ = {}) VULKAN_HPP_NOEXCEPT
+      : offset(offset_),
+        size(size_),
+        rowPitch(rowPitch_),
+        arrayPitch(arrayPitch_),
+        depthPitch(depthPitch_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SubresourceLayout(SubresourceLayout const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubresourceLayout(VkSubresourceLayout const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubresourceLayout(*reinterpret_cast<SubresourceLayout const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SubresourceLayout &
+  operator=(SubresourceLayout const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SubresourceLayout &
+  operator=(VkSubresourceLayout const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubresourceLayout const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkSubresourceLayout const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubresourceLayout *>(this);
+  }
+
+  operator VkSubresourceLayout &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubresourceLayout *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubresourceLayout const &) const = default;
+#else
+  bool operator==(SubresourceLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (offset == rhs.offset) && (size == rhs.size) &&
+           (rowPitch == rhs.rowPitch) && (arrayPitch == rhs.arrayPitch) &&
+           (depthPitch == rhs.depthPitch);
+  }
+
+  bool operator!=(SubresourceLayout const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize rowPitch = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize arrayPitch = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize depthPitch = {};
+};
+static_assert(sizeof(SubresourceLayout) == sizeof(VkSubresourceLayout),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubresourceLayout>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ImageViewAddressPropertiesNVX {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageViewAddressPropertiesNVX;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageViewAddressPropertiesNVX(
+      VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}) VULKAN_HPP_NOEXCEPT
+      : deviceAddress(deviceAddress_),
+        size(size_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageViewAddressPropertiesNVX(
+      ImageViewAddressPropertiesNVX const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewAddressPropertiesNVX(VkImageViewAddressPropertiesNVX const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageViewAddressPropertiesNVX(
+            *reinterpret_cast<ImageViewAddressPropertiesNVX const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageViewAddressPropertiesNVX &operator=(
+      ImageViewAddressPropertiesNVX const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewAddressPropertiesNVX &
+  operator=(VkImageViewAddressPropertiesNVX const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX const *>(&rhs);
+    return *this;
+  }
+
+  operator VkImageViewAddressPropertiesNVX const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageViewAddressPropertiesNVX *>(this);
+  }
+
+  operator VkImageViewAddressPropertiesNVX &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageViewAddressPropertiesNVX *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageViewAddressPropertiesNVX const &) const = default;
+#else
+  bool operator==(ImageViewAddressPropertiesNVX const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceAddress == rhs.deviceAddress) && (size == rhs.size);
+  }
+
+  bool operator!=(ImageViewAddressPropertiesNVX const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageViewAddressPropertiesNVX;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+};
+static_assert(sizeof(ImageViewAddressPropertiesNVX) ==
+                  sizeof(VkImageViewAddressPropertiesNVX),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageViewAddressPropertiesNVX>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageViewAddressPropertiesNVX> {
+  using Type = ImageViewAddressPropertiesNVX;
+};
+
+struct ImageViewHandleInfoNVX {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageViewHandleInfoNVX;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageViewHandleInfoNVX(
+      VULKAN_HPP_NAMESPACE::ImageView imageView_ = {},
+      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ =
+          VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
+      VULKAN_HPP_NAMESPACE::Sampler sampler_ = {}) VULKAN_HPP_NOEXCEPT
+      : imageView(imageView_),
+        descriptorType(descriptorType_),
+        sampler(sampler_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageViewHandleInfoNVX(ImageViewHandleInfoNVX const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewHandleInfoNVX(VkImageViewHandleInfoNVX const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageViewHandleInfoNVX(
+            *reinterpret_cast<ImageViewHandleInfoNVX const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageViewHandleInfoNVX &
+  operator=(ImageViewHandleInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewHandleInfoNVX &
+  operator=(VkImageViewHandleInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX const *>(
+            &rhs);
+    return *this;
+  }
+
+  ImageViewHandleInfoNVX &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageViewHandleInfoNVX &
+  setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT {
+    imageView = imageView_;
+    return *this;
+  }
+
+  ImageViewHandleInfoNVX &
+  setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorType = descriptorType_;
+    return *this;
+  }
+
+  ImageViewHandleInfoNVX &
+  setSampler(VULKAN_HPP_NAMESPACE::Sampler sampler_) VULKAN_HPP_NOEXCEPT {
+    sampler = sampler_;
+    return *this;
+  }
+
+  operator VkImageViewHandleInfoNVX const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageViewHandleInfoNVX *>(this);
+  }
+
+  operator VkImageViewHandleInfoNVX &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageViewHandleInfoNVX *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageViewHandleInfoNVX const &) const = default;
+#else
+  bool operator==(ImageViewHandleInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (imageView == rhs.imageView) &&
+           (descriptorType == rhs.descriptorType) && (sampler == rhs.sampler);
+  }
+
+  bool operator!=(ImageViewHandleInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageViewHandleInfoNVX;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageView imageView = {};
+  VULKAN_HPP_NAMESPACE::DescriptorType descriptorType =
+      VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
+  VULKAN_HPP_NAMESPACE::Sampler sampler = {};
+};
+static_assert(sizeof(ImageViewHandleInfoNVX) ==
+                  sizeof(VkImageViewHandleInfoNVX),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageViewHandleInfoNVX>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageViewHandleInfoNVX> {
+  using Type = ImageViewHandleInfoNVX;
+};
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+struct MemoryGetAndroidHardwareBufferInfoANDROID {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryGetAndroidHardwareBufferInfoANDROID(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}) VULKAN_HPP_NOEXCEPT
+      : memory(memory_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryGetAndroidHardwareBufferInfoANDROID(
+      MemoryGetAndroidHardwareBufferInfoANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetAndroidHardwareBufferInfoANDROID(
+      VkMemoryGetAndroidHardwareBufferInfoANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryGetAndroidHardwareBufferInfoANDROID(
+            *reinterpret_cast<
+                MemoryGetAndroidHardwareBufferInfoANDROID const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryGetAndroidHardwareBufferInfoANDROID &
+  operator=(MemoryGetAndroidHardwareBufferInfoANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetAndroidHardwareBufferInfoANDROID &
+  operator=(VkMemoryGetAndroidHardwareBufferInfoANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID const
+            *>(&rhs);
+    return *this;
+  }
+
+  MemoryGetAndroidHardwareBufferInfoANDROID &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryGetAndroidHardwareBufferInfoANDROID &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  operator VkMemoryGetAndroidHardwareBufferInfoANDROID const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkMemoryGetAndroidHardwareBufferInfoANDROID *>(this);
+  }
+
+  operator VkMemoryGetAndroidHardwareBufferInfoANDROID &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryGetAndroidHardwareBufferInfoANDROID *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryGetAndroidHardwareBufferInfoANDROID const &) const =
+      default;
+#else
+  bool operator==(MemoryGetAndroidHardwareBufferInfoANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memory == rhs.memory);
+  }
+
+  bool operator!=(MemoryGetAndroidHardwareBufferInfoANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+};
+static_assert(sizeof(MemoryGetAndroidHardwareBufferInfoANDROID) ==
+                  sizeof(VkMemoryGetAndroidHardwareBufferInfoANDROID),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<MemoryGetAndroidHardwareBufferInfoANDROID>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID> {
+  using Type = MemoryGetAndroidHardwareBufferInfoANDROID;
+};
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+struct MemoryGetFdInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryGetFdInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryGetFdInfoKHR(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : memory(memory_),
+                            handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryGetFdInfoKHR(MemoryGetFdInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetFdInfoKHR(VkMemoryGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryGetFdInfoKHR(
+            *reinterpret_cast<MemoryGetFdInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryGetFdInfoKHR &
+  operator=(MemoryGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetFdInfoKHR &
+  operator=(VkMemoryGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  MemoryGetFdInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryGetFdInfoKHR &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  MemoryGetFdInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkMemoryGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryGetFdInfoKHR *>(this);
+  }
+
+  operator VkMemoryGetFdInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryGetFdInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryGetFdInfoKHR const &) const = default;
+#else
+  bool operator==(MemoryGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memory == rhs.memory) && (handleType == rhs.handleType);
+  }
+
+  bool operator!=(MemoryGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryGetFdInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(MemoryGetFdInfoKHR) == sizeof(VkMemoryGetFdInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryGetFdInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eMemoryGetFdInfoKHR> {
+  using Type = MemoryGetFdInfoKHR;
+};
+
+struct MemoryFdPropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryFdPropertiesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  MemoryFdPropertiesKHR(uint32_t memoryTypeBits_ = {}) VULKAN_HPP_NOEXCEPT
+      : memoryTypeBits(memoryTypeBits_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryFdPropertiesKHR(MemoryFdPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryFdPropertiesKHR(VkMemoryFdPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryFdPropertiesKHR(
+            *reinterpret_cast<MemoryFdPropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryFdPropertiesKHR &
+  operator=(MemoryFdPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryFdPropertiesKHR &
+  operator=(VkMemoryFdPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkMemoryFdPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryFdPropertiesKHR *>(this);
+  }
+
+  operator VkMemoryFdPropertiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryFdPropertiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryFdPropertiesKHR const &) const = default;
+#else
+  bool operator==(MemoryFdPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryTypeBits == rhs.memoryTypeBits);
+  }
+
+  bool operator!=(MemoryFdPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryFdPropertiesKHR;
+  void *pNext = {};
+  uint32_t memoryTypeBits = {};
+};
+static_assert(sizeof(MemoryFdPropertiesKHR) == sizeof(VkMemoryFdPropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryFdPropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryFdPropertiesKHR> {
+  using Type = MemoryFdPropertiesKHR;
+};
+
+struct MemoryHostPointerPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryHostPointerPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryHostPointerPropertiesEXT(
+      uint32_t memoryTypeBits_ = {}) VULKAN_HPP_NOEXCEPT
+      : memoryTypeBits(memoryTypeBits_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryHostPointerPropertiesEXT(
+      MemoryHostPointerPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryHostPointerPropertiesEXT(VkMemoryHostPointerPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryHostPointerPropertiesEXT(
+            *reinterpret_cast<MemoryHostPointerPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryHostPointerPropertiesEXT &operator=(
+      MemoryHostPointerPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryHostPointerPropertiesEXT &
+  operator=(VkMemoryHostPointerPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkMemoryHostPointerPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryHostPointerPropertiesEXT *>(this);
+  }
+
+  operator VkMemoryHostPointerPropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryHostPointerPropertiesEXT const &) const = default;
+#else
+  bool operator==(MemoryHostPointerPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryTypeBits == rhs.memoryTypeBits);
+  }
+
+  bool operator!=(MemoryHostPointerPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryHostPointerPropertiesEXT;
+  void *pNext = {};
+  uint32_t memoryTypeBits = {};
+};
+static_assert(sizeof(MemoryHostPointerPropertiesEXT) ==
+                  sizeof(VkMemoryHostPointerPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryHostPointerPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryHostPointerPropertiesEXT> {
+  using Type = MemoryHostPointerPropertiesEXT;
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct MemoryGetWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryGetWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryGetWin32HandleInfoKHR(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : memory(memory_),
+                            handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryGetWin32HandleInfoKHR(
+      MemoryGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetWin32HandleInfoKHR(VkMemoryGetWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryGetWin32HandleInfoKHR(
+            *reinterpret_cast<MemoryGetWin32HandleInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryGetWin32HandleInfoKHR &operator=(
+      MemoryGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetWin32HandleInfoKHR &
+  operator=(VkMemoryGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  MemoryGetWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryGetWin32HandleInfoKHR &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  MemoryGetWin32HandleInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkMemoryGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkMemoryGetWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryGetWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryGetWin32HandleInfoKHR const &) const = default;
+#else
+  bool
+  operator==(MemoryGetWin32HandleInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memory == rhs.memory) && (handleType == rhs.handleType);
+  }
+
+  bool
+  operator!=(MemoryGetWin32HandleInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryGetWin32HandleInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(MemoryGetWin32HandleInfoKHR) ==
+                  sizeof(VkMemoryGetWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryGetWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryGetWin32HandleInfoKHR> {
+  using Type = MemoryGetWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct MemoryWin32HandlePropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryWin32HandlePropertiesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryWin32HandlePropertiesKHR(
+      uint32_t memoryTypeBits_ = {}) VULKAN_HPP_NOEXCEPT
+      : memoryTypeBits(memoryTypeBits_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryWin32HandlePropertiesKHR(
+      MemoryWin32HandlePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryWin32HandlePropertiesKHR(VkMemoryWin32HandlePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryWin32HandlePropertiesKHR(
+            *reinterpret_cast<MemoryWin32HandlePropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryWin32HandlePropertiesKHR &operator=(
+      MemoryWin32HandlePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryWin32HandlePropertiesKHR &
+  operator=(VkMemoryWin32HandlePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkMemoryWin32HandlePropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryWin32HandlePropertiesKHR *>(this);
+  }
+
+  operator VkMemoryWin32HandlePropertiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryWin32HandlePropertiesKHR const &) const = default;
+#else
+  bool operator==(MemoryWin32HandlePropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryTypeBits == rhs.memoryTypeBits);
+  }
+
+  bool operator!=(MemoryWin32HandlePropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryWin32HandlePropertiesKHR;
+  void *pNext = {};
+  uint32_t memoryTypeBits = {};
+};
+static_assert(sizeof(MemoryWin32HandlePropertiesKHR) ==
+                  sizeof(VkMemoryWin32HandlePropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryWin32HandlePropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryWin32HandlePropertiesKHR> {
+  using Type = MemoryWin32HandlePropertiesKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct MemoryGetZirconHandleInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryGetZirconHandleInfoFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryGetZirconHandleInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : memory(memory_),
+                            handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  MemoryGetZirconHandleInfoFUCHSIA(MemoryGetZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetZirconHandleInfoFUCHSIA(
+      VkMemoryGetZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryGetZirconHandleInfoFUCHSIA(
+            *reinterpret_cast<MemoryGetZirconHandleInfoFUCHSIA const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryGetZirconHandleInfoFUCHSIA &
+  operator=(MemoryGetZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryGetZirconHandleInfoFUCHSIA &
+  operator=(VkMemoryGetZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA const *>(&rhs);
+    return *this;
+  }
+
+  MemoryGetZirconHandleInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryGetZirconHandleInfoFUCHSIA &
+  setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT {
+    memory = memory_;
+    return *this;
+  }
+
+  MemoryGetZirconHandleInfoFUCHSIA &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkMemoryGetZirconHandleInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>(this);
+  }
+
+  operator VkMemoryGetZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryGetZirconHandleInfoFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryGetZirconHandleInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(MemoryGetZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memory == rhs.memory) && (handleType == rhs.handleType);
+  }
+
+  bool operator!=(MemoryGetZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryGetZirconHandleInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(MemoryGetZirconHandleInfoFUCHSIA) ==
+                  sizeof(VkMemoryGetZirconHandleInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryGetZirconHandleInfoFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eMemoryGetZirconHandleInfoFUCHSIA> {
+  using Type = MemoryGetZirconHandleInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct MemoryZirconHandlePropertiesFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryZirconHandlePropertiesFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryZirconHandlePropertiesFUCHSIA(
+      uint32_t memoryTypeBits_ = {}) VULKAN_HPP_NOEXCEPT
+      : memoryTypeBits(memoryTypeBits_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryZirconHandlePropertiesFUCHSIA(
+      MemoryZirconHandlePropertiesFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryZirconHandlePropertiesFUCHSIA(
+      VkMemoryZirconHandlePropertiesFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryZirconHandlePropertiesFUCHSIA(
+            *reinterpret_cast<MemoryZirconHandlePropertiesFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryZirconHandlePropertiesFUCHSIA &
+  operator=(MemoryZirconHandlePropertiesFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryZirconHandlePropertiesFUCHSIA &operator=(
+      VkMemoryZirconHandlePropertiesFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkMemoryZirconHandlePropertiesFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryZirconHandlePropertiesFUCHSIA *>(
+        this);
+  }
+
+  operator VkMemoryZirconHandlePropertiesFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryZirconHandlePropertiesFUCHSIA const &) const = default;
+#else
+  bool operator==(MemoryZirconHandlePropertiesFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryTypeBits == rhs.memoryTypeBits);
+  }
+
+  bool operator!=(MemoryZirconHandlePropertiesFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryZirconHandlePropertiesFUCHSIA;
+  void *pNext = {};
+  uint32_t memoryTypeBits = {};
+};
+static_assert(sizeof(MemoryZirconHandlePropertiesFUCHSIA) ==
+                  sizeof(VkMemoryZirconHandlePropertiesFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<MemoryZirconHandlePropertiesFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eMemoryZirconHandlePropertiesFUCHSIA> {
+  using Type = MemoryZirconHandlePropertiesFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct PastPresentationTimingGOOGLE {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PastPresentationTimingGOOGLE(
+      uint32_t presentID_ = {}, uint64_t desiredPresentTime_ = {},
+      uint64_t actualPresentTime_ = {}, uint64_t earliestPresentTime_ = {},
+      uint64_t presentMargin_ = {}) VULKAN_HPP_NOEXCEPT
+      : presentID(presentID_),
+        desiredPresentTime(desiredPresentTime_),
+        actualPresentTime(actualPresentTime_),
+        earliestPresentTime(earliestPresentTime_),
+        presentMargin(presentMargin_) {}
+
+  VULKAN_HPP_CONSTEXPR PastPresentationTimingGOOGLE(
+      PastPresentationTimingGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PastPresentationTimingGOOGLE(VkPastPresentationTimingGOOGLE const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PastPresentationTimingGOOGLE(
+            *reinterpret_cast<PastPresentationTimingGOOGLE const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PastPresentationTimingGOOGLE &operator=(
+      PastPresentationTimingGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PastPresentationTimingGOOGLE &
+  operator=(VkPastPresentationTimingGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPastPresentationTimingGOOGLE const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPastPresentationTimingGOOGLE *>(this);
+  }
+
+  operator VkPastPresentationTimingGOOGLE &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPastPresentationTimingGOOGLE *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PastPresentationTimingGOOGLE const &) const = default;
+#else
+  bool operator==(PastPresentationTimingGOOGLE const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (presentID == rhs.presentID) &&
+           (desiredPresentTime == rhs.desiredPresentTime) &&
+           (actualPresentTime == rhs.actualPresentTime) &&
+           (earliestPresentTime == rhs.earliestPresentTime) &&
+           (presentMargin == rhs.presentMargin);
+  }
+
+  bool operator!=(PastPresentationTimingGOOGLE const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t presentID = {};
+  uint64_t desiredPresentTime = {};
+  uint64_t actualPresentTime = {};
+  uint64_t earliestPresentTime = {};
+  uint64_t presentMargin = {};
+};
+static_assert(sizeof(PastPresentationTimingGOOGLE) ==
+                  sizeof(VkPastPresentationTimingGOOGLE),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PastPresentationTimingGOOGLE>::value,
+              "struct wrapper is not a standard layout!");
+
+union PerformanceValueDataINTEL {
+  PerformanceValueDataINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL));
+  }
+
+  PerformanceValueDataINTEL(uint32_t value32_ = {}) : value32(value32_) {}
+
+  PerformanceValueDataINTEL(uint64_t value64_) : value64(value64_) {}
+
+  PerformanceValueDataINTEL(float valueFloat_) : valueFloat(valueFloat_) {}
+
+  PerformanceValueDataINTEL(const char *valueString_)
+      : valueString(valueString_) {}
+
+  PerformanceValueDataINTEL &setValue32(uint32_t value32_) VULKAN_HPP_NOEXCEPT {
+    value32 = value32_;
+    return *this;
+  }
+
+  PerformanceValueDataINTEL &setValue64(uint64_t value64_) VULKAN_HPP_NOEXCEPT {
+    value64 = value64_;
+    return *this;
+  }
+
+  PerformanceValueDataINTEL &
+  setValueFloat(float valueFloat_) VULKAN_HPP_NOEXCEPT {
+    valueFloat = valueFloat_;
+    return *this;
+  }
+
+  PerformanceValueDataINTEL &
+  setValueBool(VULKAN_HPP_NAMESPACE::Bool32 valueBool_) VULKAN_HPP_NOEXCEPT {
+    valueBool = valueBool_;
+    return *this;
+  }
+
+  PerformanceValueDataINTEL &
+  setValueString(const char *valueString_) VULKAN_HPP_NOEXCEPT {
+    valueString = valueString_;
+    return *this;
+  }
+
+  VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL &
+  operator=(VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL));
+    return *this;
+  }
+
+  operator VkPerformanceValueDataINTEL const &() const {
+    return *reinterpret_cast<const VkPerformanceValueDataINTEL *>(this);
+  }
+
+  operator VkPerformanceValueDataINTEL &() {
+    return *reinterpret_cast<VkPerformanceValueDataINTEL *>(this);
+  }
 
 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-    uint32_t                     value32;
-    uint64_t                     value64;
-    float                        valueFloat;
-    VULKAN_HPP_NAMESPACE::Bool32 valueBool;
-    const char *                 valueString;
+  uint32_t value32;
+  uint64_t value64;
+  float valueFloat;
+  VULKAN_HPP_NAMESPACE::Bool32 valueBool;
+  const char *valueString;
 #else
-    uint32_t     value32;
-    uint64_t     value64;
-    float        valueFloat;
-    VkBool32     valueBool;
-    const char * valueString;
+  uint32_t value32;
+  uint64_t value64;
+  float valueFloat;
+  VkBool32 valueBool;
+  const char *valueString;
 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
-  };
+};
 
-  struct PerformanceValueINTEL
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    PerformanceValueINTEL(
-      VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type_ = VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL::eUint32,
-      VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL data_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , data( data_ )
-    {}
+struct PerformanceValueINTEL {
 
-    PerformanceValueINTEL( VkPerformanceValueINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  PerformanceValueINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type_ =
+          VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL::eUint32,
+      VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL data_ = {})
+      VULKAN_HPP_NOEXCEPT : type(type_),
+                            data(data_) {}
 
-    PerformanceValueINTEL & operator=( VkPerformanceValueINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL const *>( &rhs );
-      return *this;
-    }
+  PerformanceValueINTEL(PerformanceValueINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PerformanceValueINTEL & setType( VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
+  PerformanceValueINTEL(VkPerformanceValueINTEL const &rhs) VULKAN_HPP_NOEXCEPT
+      : PerformanceValueINTEL(
+            *reinterpret_cast<PerformanceValueINTEL const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PerformanceValueINTEL & setData( VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const & data_ ) VULKAN_HPP_NOEXCEPT
-    {
-      data = data_;
-      return *this;
-    }
+  PerformanceValueINTEL &
+  operator=(PerformanceValueINTEL const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPerformanceValueINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPerformanceValueINTEL *>( this );
-    }
+  PerformanceValueINTEL &
+  operator=(VkPerformanceValueINTEL const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL const *>(
+            &rhs);
+    return *this;
+  }
 
-    operator VkPerformanceValueINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPerformanceValueINTEL *>( this );
-    }
+  PerformanceValueINTEL &
+  setType(VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type_)
+      VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
 
-  public:
-    VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type = VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL::eUint32;
-    VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL data = {};
-  };
-  static_assert( sizeof( PerformanceValueINTEL ) == sizeof( VkPerformanceValueINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PerformanceValueINTEL>::value, "struct wrapper is not a standard layout!" );
+  PerformanceValueINTEL &
+  setData(VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const &data_)
+      VULKAN_HPP_NOEXCEPT {
+    data = data_;
+    return *this;
+  }
 
-  struct PhysicalDevice16BitStorageFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDevice16BitStorageFeatures;
+  operator VkPerformanceValueINTEL const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPerformanceValueINTEL *>(this);
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDevice16BitStorageFeatures( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_           = {},
-                                        VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ = {},
-                                        VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_              = {},
-                                        VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_ = {} ) VULKAN_HPP_NOEXCEPT
-      : storageBuffer16BitAccess( storageBuffer16BitAccess_ )
-      , uniformAndStorageBuffer16BitAccess( uniformAndStorageBuffer16BitAccess_ )
-      , storagePushConstant16( storagePushConstant16_ )
-      , storageInputOutput16( storageInputOutput16_ )
-    {}
+  operator VkPerformanceValueINTEL &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceValueINTEL *>(this);
+  }
 
-    PhysicalDevice16BitStorageFeatures( VkPhysicalDevice16BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+public:
+  VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type =
+      VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL::eUint32;
+  VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL data = {};
+};
+static_assert(sizeof(PerformanceValueINTEL) == sizeof(VkPerformanceValueINTEL),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PerformanceValueINTEL>::value,
+              "struct wrapper is not a standard layout!");
 
-    PhysicalDevice16BitStorageFeatures &
-      operator=( VkPhysicalDevice16BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures const *>( &rhs );
-      return *this;
-    }
+struct PipelineExecutableInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineExecutableInfoKHR;
 
-    PhysicalDevice16BitStorageFeatures & operator=( PhysicalDevice16BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                              = rhs.pNext;
-      storageBuffer16BitAccess           = rhs.storageBuffer16BitAccess;
-      uniformAndStorageBuffer16BitAccess = rhs.uniformAndStorageBuffer16BitAccess;
-      storagePushConstant16              = rhs.storagePushConstant16;
-      storageInputOutput16               = rhs.storageInputOutput16;
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  PipelineExecutableInfoKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {},
+                            uint32_t executableIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : pipeline(pipeline_),
+        executableIndex(executableIndex_) {}
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PipelineExecutableInfoKHR(
+      PipelineExecutableInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevice16BitStorageFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDevice16BitStorageFeatures &
-      setStorageBuffer16BitAccess( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storageBuffer16BitAccess = storageBuffer16BitAccess_;
-      return *this;
-    }
-
-    PhysicalDevice16BitStorageFeatures & setUniformAndStorageBuffer16BitAccess(
-      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess_;
-      return *this;
-    }
-
-    PhysicalDevice16BitStorageFeatures &
-      setStoragePushConstant16( VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storagePushConstant16 = storagePushConstant16_;
-      return *this;
-    }
-
-    PhysicalDevice16BitStorageFeatures &
-      setStorageInputOutput16( VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storageInputOutput16 = storageInputOutput16_;
-      return *this;
-    }
-
-    operator VkPhysicalDevice16BitStorageFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>( this );
-    }
-
-    operator VkPhysicalDevice16BitStorageFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevice16BitStorageFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevice16BitStorageFeatures const & ) const = default;
-#else
-    bool         operator==( PhysicalDevice16BitStorageFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( storageBuffer16BitAccess == rhs.storageBuffer16BitAccess ) &&
-             ( uniformAndStorageBuffer16BitAccess == rhs.uniformAndStorageBuffer16BitAccess ) &&
-             ( storagePushConstant16 == rhs.storagePushConstant16 ) &&
-             ( storageInputOutput16 == rhs.storageInputOutput16 );
-    }
-
-    bool operator!=( PhysicalDevice16BitStorageFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevice16BitStorageFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storageBuffer16BitAccess           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              uniformAndStorageBuffer16BitAccess = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storagePushConstant16              = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storageInputOutput16               = {};
-  };
-  static_assert( sizeof( PhysicalDevice16BitStorageFeatures ) == sizeof( VkPhysicalDevice16BitStorageFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevice16BitStorageFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevice16BitStorageFeatures>
-  {
-    using Type = PhysicalDevice16BitStorageFeatures;
-  };
-
-  struct PhysicalDevice8BitStorageFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDevice8BitStorageFeatures;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDevice8BitStorageFeatures( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_           = {},
-                                       VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_ = {},
-                                       VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_ = {} ) VULKAN_HPP_NOEXCEPT
-      : storageBuffer8BitAccess( storageBuffer8BitAccess_ )
-      , uniformAndStorageBuffer8BitAccess( uniformAndStorageBuffer8BitAccess_ )
-      , storagePushConstant8( storagePushConstant8_ )
-    {}
-
-    PhysicalDevice8BitStorageFeatures( VkPhysicalDevice8BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDevice8BitStorageFeatures & operator=( VkPhysicalDevice8BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDevice8BitStorageFeatures & operator=( PhysicalDevice8BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                             = rhs.pNext;
-      storageBuffer8BitAccess           = rhs.storageBuffer8BitAccess;
-      uniformAndStorageBuffer8BitAccess = rhs.uniformAndStorageBuffer8BitAccess;
-      storagePushConstant8              = rhs.storagePushConstant8;
-
-      return *this;
-    }
-
-    PhysicalDevice8BitStorageFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDevice8BitStorageFeatures &
-      setStorageBuffer8BitAccess( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storageBuffer8BitAccess = storageBuffer8BitAccess_;
-      return *this;
-    }
-
-    PhysicalDevice8BitStorageFeatures & setUniformAndStorageBuffer8BitAccess(
-      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess_;
-      return *this;
-    }
-
-    PhysicalDevice8BitStorageFeatures &
-      setStoragePushConstant8( VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storagePushConstant8 = storagePushConstant8_;
-      return *this;
-    }
-
-    operator VkPhysicalDevice8BitStorageFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures *>( this );
-    }
-
-    operator VkPhysicalDevice8BitStorageFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevice8BitStorageFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevice8BitStorageFeatures const & ) const = default;
-#else
-    bool operator==( PhysicalDevice8BitStorageFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( storageBuffer8BitAccess == rhs.storageBuffer8BitAccess ) &&
-             ( uniformAndStorageBuffer8BitAccess == rhs.uniformAndStorageBuffer8BitAccess ) &&
-             ( storagePushConstant8 == rhs.storagePushConstant8 );
-    }
-
-    bool operator!=( PhysicalDevice8BitStorageFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevice8BitStorageFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storageBuffer8BitAccess           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              uniformAndStorageBuffer8BitAccess = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storagePushConstant8              = {};
-  };
-  static_assert( sizeof( PhysicalDevice8BitStorageFeatures ) == sizeof( VkPhysicalDevice8BitStorageFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevice8BitStorageFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevice8BitStorageFeatures>
-  {
-    using Type = PhysicalDevice8BitStorageFeatures;
-  };
-
-  struct PhysicalDeviceASTCDecodeFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceASTCDecodeFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent_ = {} ) VULKAN_HPP_NOEXCEPT
-      : decodeModeSharedExponent( decodeModeSharedExponent_ )
-    {}
-
-    PhysicalDeviceASTCDecodeFeaturesEXT( VkPhysicalDeviceASTCDecodeFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceASTCDecodeFeaturesEXT &
-      operator=( VkPhysicalDeviceASTCDecodeFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceASTCDecodeFeaturesEXT &
-      operator=( PhysicalDeviceASTCDecodeFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      decodeModeSharedExponent = rhs.decodeModeSharedExponent;
-
-      return *this;
-    }
-
-    PhysicalDeviceASTCDecodeFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceASTCDecodeFeaturesEXT &
-      setDecodeModeSharedExponent( VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      decodeModeSharedExponent = decodeModeSharedExponent_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceASTCDecodeFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT *>( this );
-    }
-
-    operator VkPhysicalDeviceASTCDecodeFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceASTCDecodeFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceASTCDecodeFeaturesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceASTCDecodeFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( decodeModeSharedExponent == rhs.decodeModeSharedExponent );
-    }
-
-    bool operator!=( PhysicalDeviceASTCDecodeFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              decodeModeSharedExponent = {};
-  };
-  static_assert( sizeof( PhysicalDeviceASTCDecodeFeaturesEXT ) == sizeof( VkPhysicalDeviceASTCDecodeFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceASTCDecodeFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT>
-  {
-    using Type = PhysicalDeviceASTCDecodeFeaturesEXT;
-  };
-
-  struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations_ = {} ) VULKAN_HPP_NOEXCEPT
-      : advancedBlendCoherentOperations( advancedBlendCoherentOperations_ )
-    {}
-
-    PhysicalDeviceBlendOperationAdvancedFeaturesEXT( VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const & rhs )
+  PipelineExecutableInfoKHR(VkPipelineExecutableInfoKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineExecutableInfoKHR(
+            *reinterpret_cast<PipelineExecutableInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceBlendOperationAdvancedFeaturesEXT &
-      operator=( VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInfoKHR &
+  operator=(PipelineExecutableInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceBlendOperationAdvancedFeaturesEXT &
-      operator=( PhysicalDeviceBlendOperationAdvancedFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                           = rhs.pNext;
-      advancedBlendCoherentOperations = rhs.advancedBlendCoherentOperations;
+  PipelineExecutableInfoKHR &
+  operator=(VkPipelineExecutableInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineExecutableInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceBlendOperationAdvancedFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineExecutableInfoKHR &
+  setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT {
+    pipeline = pipeline_;
+    return *this;
+  }
 
-    PhysicalDeviceBlendOperationAdvancedFeaturesEXT & setAdvancedBlendCoherentOperations(
-      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      advancedBlendCoherentOperations = advancedBlendCoherentOperations_;
-      return *this;
-    }
+  PipelineExecutableInfoKHR &
+  setExecutableIndex(uint32_t executableIndex_) VULKAN_HPP_NOEXCEPT {
+    executableIndex = executableIndex_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>( this );
-    }
+  operator VkPipelineExecutableInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineExecutableInfoKHR *>(this);
+  }
 
-    operator VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>( this );
-    }
+  operator VkPipelineExecutableInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineExecutableInfoKHR *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceBlendOperationAdvancedFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineExecutableInfoKHR const &) const = default;
 #else
-    bool operator==( PhysicalDeviceBlendOperationAdvancedFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( advancedBlendCoherentOperations == rhs.advancedBlendCoherentOperations );
-    }
+  bool
+  operator==(PipelineExecutableInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pipeline == rhs.pipeline) &&
+           (executableIndex == rhs.executableIndex);
+  }
 
-    bool operator!=( PhysicalDeviceBlendOperationAdvancedFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(PipelineExecutableInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              advancedBlendCoherentOperations = {};
-  };
-  static_assert( sizeof( PhysicalDeviceBlendOperationAdvancedFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceBlendOperationAdvancedFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineExecutableInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Pipeline pipeline = {};
+  uint32_t executableIndex = {};
+};
+static_assert(sizeof(PipelineExecutableInfoKHR) ==
+                  sizeof(VkPipelineExecutableInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineExecutableInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT>
-  {
-    using Type = PhysicalDeviceBlendOperationAdvancedFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePipelineExecutableInfoKHR> {
+  using Type = PipelineExecutableInfoKHR;
+};
 
-  struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT;
+struct PipelineExecutableInternalRepresentationKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineExecutableInternalRepresentationKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedPropertiesEXT(
-      uint32_t                     advancedBlendMaxColorAttachments_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendIndependentBlend_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedSrcColor_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedDstColor_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCorrelatedOverlap_        = {},
-      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendAllOperations_            = {} ) VULKAN_HPP_NOEXCEPT
-      : advancedBlendMaxColorAttachments( advancedBlendMaxColorAttachments_ )
-      , advancedBlendIndependentBlend( advancedBlendIndependentBlend_ )
-      , advancedBlendNonPremultipliedSrcColor( advancedBlendNonPremultipliedSrcColor_ )
-      , advancedBlendNonPremultipliedDstColor( advancedBlendNonPremultipliedDstColor_ )
-      , advancedBlendCorrelatedOverlap( advancedBlendCorrelatedOverlap_ )
-      , advancedBlendAllOperations( advancedBlendAllOperations_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInternalRepresentationKHR(
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &name_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &description_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 isText_ = {}, size_t dataSize_ = {},
+      void *pData_ = {}) VULKAN_HPP_NOEXCEPT : name(name_),
+                                               description(description_),
+                                               isText(isText_),
+                                               dataSize(dataSize_),
+                                               pData(pData_) {}
 
-    PhysicalDeviceBlendOperationAdvancedPropertiesEXT( VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInternalRepresentationKHR(
+      PipelineExecutableInternalRepresentationKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineExecutableInternalRepresentationKHR(
+      VkPipelineExecutableInternalRepresentationKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineExecutableInternalRepresentationKHR(
+            *reinterpret_cast<
+                PipelineExecutableInternalRepresentationKHR const *>(&rhs)) {}
 
-    PhysicalDeviceBlendOperationAdvancedPropertiesEXT &
-      operator=( VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  PipelineExecutableInternalRepresentationKHR(
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &name_,
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &description_,
+      VULKAN_HPP_NAMESPACE::Bool32 isText_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<T> const &data_)
+      : name(name_), description(description_), isText(isText_),
+        dataSize(data_.size() * sizeof(T)), pData(data_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceBlendOperationAdvancedPropertiesEXT &
-      operator=( PhysicalDeviceBlendOperationAdvancedPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                 = rhs.pNext;
-      advancedBlendMaxColorAttachments      = rhs.advancedBlendMaxColorAttachments;
-      advancedBlendIndependentBlend         = rhs.advancedBlendIndependentBlend;
-      advancedBlendNonPremultipliedSrcColor = rhs.advancedBlendNonPremultipliedSrcColor;
-      advancedBlendNonPremultipliedDstColor = rhs.advancedBlendNonPremultipliedDstColor;
-      advancedBlendCorrelatedOverlap        = rhs.advancedBlendCorrelatedOverlap;
-      advancedBlendAllOperations            = rhs.advancedBlendAllOperations;
+  VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInternalRepresentationKHR &
+  operator=(PipelineExecutableInternalRepresentationKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PipelineExecutableInternalRepresentationKHR &
+  operator=(VkPipelineExecutableInternalRepresentationKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>( this );
-    }
+  operator VkPipelineExecutableInternalRepresentationKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineExecutableInternalRepresentationKHR *>(this);
+  }
 
-    operator VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>( this );
-    }
+  operator VkPipelineExecutableInternalRepresentationKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>(
+        this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceBlendOperationAdvancedPropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineExecutableInternalRepresentationKHR const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceBlendOperationAdvancedPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( advancedBlendMaxColorAttachments == rhs.advancedBlendMaxColorAttachments ) &&
-             ( advancedBlendIndependentBlend == rhs.advancedBlendIndependentBlend ) &&
-             ( advancedBlendNonPremultipliedSrcColor == rhs.advancedBlendNonPremultipliedSrcColor ) &&
-             ( advancedBlendNonPremultipliedDstColor == rhs.advancedBlendNonPremultipliedDstColor ) &&
-             ( advancedBlendCorrelatedOverlap == rhs.advancedBlendCorrelatedOverlap ) &&
-             ( advancedBlendAllOperations == rhs.advancedBlendAllOperations );
-    }
+  bool operator==(PipelineExecutableInternalRepresentationKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (name == rhs.name) &&
+           (description == rhs.description) && (isText == rhs.isText) &&
+           (dataSize == rhs.dataSize) && (pData == rhs.pData);
+  }
 
-    bool operator!=( PhysicalDeviceBlendOperationAdvancedPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineExecutableInternalRepresentationKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  advancedBlendMaxColorAttachments      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              advancedBlendIndependentBlend         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              advancedBlendNonPremultipliedSrcColor = {};
-    VULKAN_HPP_NAMESPACE::Bool32              advancedBlendNonPremultipliedDstColor = {};
-    VULKAN_HPP_NAMESPACE::Bool32              advancedBlendCorrelatedOverlap        = {};
-    VULKAN_HPP_NAMESPACE::Bool32              advancedBlendAllOperations            = {};
-  };
-  static_assert( sizeof( PhysicalDeviceBlendOperationAdvancedPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceBlendOperationAdvancedPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineExecutableInternalRepresentationKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>
+      description = {};
+  VULKAN_HPP_NAMESPACE::Bool32 isText = {};
+  size_t dataSize = {};
+  void *pData = {};
+};
+static_assert(sizeof(PipelineExecutableInternalRepresentationKHR) ==
+                  sizeof(VkPipelineExecutableInternalRepresentationKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineExecutableInternalRepresentationKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT>
-  {
-    using Type = PhysicalDeviceBlendOperationAdvancedPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineExecutableInternalRepresentationKHR> {
+  using Type = PipelineExecutableInternalRepresentationKHR;
+};
 
-  struct PhysicalDeviceBufferDeviceAddressFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceBufferDeviceAddressFeatures;
+struct PipelineInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineInfoKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_              = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_   = {} ) VULKAN_HPP_NOEXCEPT
-      : bufferDeviceAddress( bufferDeviceAddress_ )
-      , bufferDeviceAddressCaptureReplay( bufferDeviceAddressCaptureReplay_ )
-      , bufferDeviceAddressMultiDevice( bufferDeviceAddressMultiDevice_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineInfoKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {}) VULKAN_HPP_NOEXCEPT
+      : pipeline(pipeline_) {}
 
-    PhysicalDeviceBufferDeviceAddressFeatures( VkPhysicalDeviceBufferDeviceAddressFeatures const & rhs )
+  VULKAN_HPP_CONSTEXPR
+  PipelineInfoKHR(PipelineInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineInfoKHR(VkPipelineInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineInfoKHR(*reinterpret_cast<PipelineInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineInfoKHR &
+  operator=(PipelineInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineInfoKHR &operator=(VkPipelineInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  PipelineInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineInfoKHR &
+  setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT {
+    pipeline = pipeline_;
+    return *this;
+  }
+
+  operator VkPipelineInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineInfoKHR *>(this);
+  }
+
+  operator VkPipelineInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineInfoKHR const &) const = default;
+#else
+  bool operator==(PipelineInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pipeline == rhs.pipeline);
+  }
+
+  bool operator!=(PipelineInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Pipeline pipeline = {};
+};
+static_assert(sizeof(PipelineInfoKHR) == sizeof(VkPipelineInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::ePipelineInfoKHR> {
+  using Type = PipelineInfoKHR;
+};
+
+struct PipelineExecutablePropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineExecutablePropertiesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PipelineExecutablePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags stages_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &name_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &description_ = {},
+      uint32_t subgroupSize_ = {}) VULKAN_HPP_NOEXCEPT
+      : stages(stages_),
+        name(name_),
+        description(description_),
+        subgroupSize(subgroupSize_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineExecutablePropertiesKHR(
+      PipelineExecutablePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineExecutablePropertiesKHR(VkPipelineExecutablePropertiesKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineExecutablePropertiesKHR(
+            *reinterpret_cast<PipelineExecutablePropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceBufferDeviceAddressFeatures &
-      operator=( VkPhysicalDeviceBufferDeviceAddressFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineExecutablePropertiesKHR &operator=(
+      PipelineExecutablePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceBufferDeviceAddressFeatures &
-      operator=( PhysicalDeviceBufferDeviceAddressFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      bufferDeviceAddress              = rhs.bufferDeviceAddress;
-      bufferDeviceAddressCaptureReplay = rhs.bufferDeviceAddressCaptureReplay;
-      bufferDeviceAddressMultiDevice   = rhs.bufferDeviceAddressMultiDevice;
+  PipelineExecutablePropertiesKHR &
+  operator=(VkPipelineExecutablePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPipelineExecutablePropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineExecutablePropertiesKHR *>(this);
+  }
 
-    PhysicalDeviceBufferDeviceAddressFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkPipelineExecutablePropertiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineExecutablePropertiesKHR *>(this);
+  }
 
-    PhysicalDeviceBufferDeviceAddressFeatures &
-      setBufferDeviceAddress( VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddress = bufferDeviceAddress_;
-      return *this;
-    }
-
-    PhysicalDeviceBufferDeviceAddressFeatures & setBufferDeviceAddressCaptureReplay(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
-      return *this;
-    }
-
-    PhysicalDeviceBufferDeviceAddressFeatures & setBufferDeviceAddressMultiDevice(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceBufferDeviceAddressFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures *>( this );
-    }
-
-    operator VkPhysicalDeviceBufferDeviceAddressFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceBufferDeviceAddressFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineExecutablePropertiesKHR const &) const = default;
 #else
-    bool operator==( PhysicalDeviceBufferDeviceAddressFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bufferDeviceAddress == rhs.bufferDeviceAddress ) &&
-             ( bufferDeviceAddressCaptureReplay == rhs.bufferDeviceAddressCaptureReplay ) &&
-             ( bufferDeviceAddressMultiDevice == rhs.bufferDeviceAddressMultiDevice );
-    }
+  bool operator==(PipelineExecutablePropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (stages == rhs.stages) && (name == rhs.name) &&
+           (description == rhs.description) &&
+           (subgroupSize == rhs.subgroupSize);
+  }
 
-    bool operator!=( PhysicalDeviceBufferDeviceAddressFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineExecutablePropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBufferDeviceAddressFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddress              = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddressCaptureReplay = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddressMultiDevice   = {};
-  };
-  static_assert( sizeof( PhysicalDeviceBufferDeviceAddressFeatures ) ==
-                   sizeof( VkPhysicalDeviceBufferDeviceAddressFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceBufferDeviceAddressFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineExecutablePropertiesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags stages = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>
+      description = {};
+  uint32_t subgroupSize = {};
+};
+static_assert(sizeof(PipelineExecutablePropertiesKHR) ==
+                  sizeof(VkPipelineExecutablePropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineExecutablePropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceBufferDeviceAddressFeatures>
-  {
-    using Type = PhysicalDeviceBufferDeviceAddressFeatures;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePipelineExecutablePropertiesKHR> {
+  using Type = PipelineExecutablePropertiesKHR;
+};
 
-  struct PhysicalDeviceBufferDeviceAddressFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT;
+union PipelineExecutableStatisticValueKHR {
+  PipelineExecutableStatisticValueKHR(
+      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR));
+  }
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_              = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_   = {} ) VULKAN_HPP_NOEXCEPT
-      : bufferDeviceAddress( bufferDeviceAddress_ )
-      , bufferDeviceAddressCaptureReplay( bufferDeviceAddressCaptureReplay_ )
-      , bufferDeviceAddressMultiDevice( bufferDeviceAddressMultiDevice_ )
-    {}
+  PipelineExecutableStatisticValueKHR(VULKAN_HPP_NAMESPACE::Bool32 b32_ = {})
+      : b32(b32_) {}
 
-    PhysicalDeviceBufferDeviceAddressFeaturesEXT( VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const & rhs )
+  PipelineExecutableStatisticValueKHR(int64_t i64_) : i64(i64_) {}
+
+  PipelineExecutableStatisticValueKHR(uint64_t u64_) : u64(u64_) {}
+
+  PipelineExecutableStatisticValueKHR(double f64_) : f64(f64_) {}
+
+  PipelineExecutableStatisticValueKHR &
+  setB32(VULKAN_HPP_NAMESPACE::Bool32 b32_) VULKAN_HPP_NOEXCEPT {
+    b32 = b32_;
+    return *this;
+  }
+
+  PipelineExecutableStatisticValueKHR &
+  setI64(int64_t i64_) VULKAN_HPP_NOEXCEPT {
+    i64 = i64_;
+    return *this;
+  }
+
+  PipelineExecutableStatisticValueKHR &
+  setU64(uint64_t u64_) VULKAN_HPP_NOEXCEPT {
+    u64 = u64_;
+    return *this;
+  }
+
+  PipelineExecutableStatisticValueKHR &setF64(double f64_) VULKAN_HPP_NOEXCEPT {
+    f64 = f64_;
+    return *this;
+  }
+
+  VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR &operator=(
+      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR));
+    return *this;
+  }
+
+  operator VkPipelineExecutableStatisticValueKHR const &() const {
+    return *reinterpret_cast<const VkPipelineExecutableStatisticValueKHR *>(
+        this);
+  }
+
+  operator VkPipelineExecutableStatisticValueKHR &() {
+    return *reinterpret_cast<VkPipelineExecutableStatisticValueKHR *>(this);
+  }
+
+#ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+  VULKAN_HPP_NAMESPACE::Bool32 b32;
+  int64_t i64;
+  uint64_t u64;
+  double f64;
+#else
+  VkBool32 b32;
+  int64_t i64;
+  uint64_t u64;
+  double f64;
+#endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
+};
+
+struct PipelineExecutableStatisticKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineExecutableStatisticKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  PipelineExecutableStatisticKHR(
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &name_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &description_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR format_ =
+          VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR::eBool32,
+      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR value_ = {})
+      VULKAN_HPP_NOEXCEPT : name(name_),
+                            description(description_),
+                            format(format_),
+                            value(value_) {}
+
+  PipelineExecutableStatisticKHR(PipelineExecutableStatisticKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineExecutableStatisticKHR(VkPipelineExecutableStatisticKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineExecutableStatisticKHR(
+            *reinterpret_cast<PipelineExecutableStatisticKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceBufferDeviceAddressFeaturesEXT &
-      operator=( VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PipelineExecutableStatisticKHR &operator=(
+      PipelineExecutableStatisticKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceBufferDeviceAddressFeaturesEXT &
-      operator=( PhysicalDeviceBufferDeviceAddressFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      bufferDeviceAddress              = rhs.bufferDeviceAddress;
-      bufferDeviceAddressCaptureReplay = rhs.bufferDeviceAddressCaptureReplay;
-      bufferDeviceAddressMultiDevice   = rhs.bufferDeviceAddressMultiDevice;
+  PipelineExecutableStatisticKHR &
+  operator=(VkPipelineExecutableStatisticKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPipelineExecutableStatisticKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineExecutableStatisticKHR *>(this);
+  }
 
-    PhysicalDeviceBufferDeviceAddressFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkPipelineExecutableStatisticKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineExecutableStatisticKHR *>(this);
+  }
 
-    PhysicalDeviceBufferDeviceAddressFeaturesEXT &
-      setBufferDeviceAddress( VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddress = bufferDeviceAddress_;
-      return *this;
-    }
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineExecutableStatisticKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>
+      description = {};
+  VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR format =
+      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR::eBool32;
+  VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR value = {};
+};
+static_assert(sizeof(PipelineExecutableStatisticKHR) ==
+                  sizeof(VkPipelineExecutableStatisticKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineExecutableStatisticKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-    PhysicalDeviceBufferDeviceAddressFeaturesEXT & setBufferDeviceAddressCaptureReplay(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
-      return *this;
-    }
+template <>
+struct CppType<StructureType, StructureType::ePipelineExecutableStatisticKHR> {
+  using Type = PipelineExecutableStatisticKHR;
+};
 
-    PhysicalDeviceBufferDeviceAddressFeaturesEXT & setBufferDeviceAddressMultiDevice(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
-      return *this;
-    }
+struct RefreshCycleDurationGOOGLE {
 
-    operator VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>( this );
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  RefreshCycleDurationGOOGLE(uint64_t refreshDuration_ = {}) VULKAN_HPP_NOEXCEPT
+      : refreshDuration(refreshDuration_) {}
 
-    operator VkPhysicalDeviceBufferDeviceAddressFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR RefreshCycleDurationGOOGLE(
+      RefreshCycleDurationGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceBufferDeviceAddressFeaturesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceBufferDeviceAddressFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bufferDeviceAddress == rhs.bufferDeviceAddress ) &&
-             ( bufferDeviceAddressCaptureReplay == rhs.bufferDeviceAddressCaptureReplay ) &&
-             ( bufferDeviceAddressMultiDevice == rhs.bufferDeviceAddressMultiDevice );
-    }
-
-    bool operator!=( PhysicalDeviceBufferDeviceAddressFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddress              = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddressCaptureReplay = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddressMultiDevice   = {};
-  };
-  static_assert( sizeof( PhysicalDeviceBufferDeviceAddressFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceBufferDeviceAddressFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceBufferDeviceAddressFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT>
-  {
-    using Type = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
-  };
-
-  struct PhysicalDeviceCoherentMemoryFeaturesAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceCoherentMemoryFeaturesAMD(
-      VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory_ = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceCoherentMemory( deviceCoherentMemory_ )
-    {}
-
-    PhysicalDeviceCoherentMemoryFeaturesAMD( VkPhysicalDeviceCoherentMemoryFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceCoherentMemoryFeaturesAMD &
-      operator=( VkPhysicalDeviceCoherentMemoryFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceCoherentMemoryFeaturesAMD &
-      operator=( PhysicalDeviceCoherentMemoryFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      deviceCoherentMemory = rhs.deviceCoherentMemory;
-
-      return *this;
-    }
-
-    PhysicalDeviceCoherentMemoryFeaturesAMD & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceCoherentMemoryFeaturesAMD &
-      setDeviceCoherentMemory( VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceCoherentMemory = deviceCoherentMemory_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceCoherentMemoryFeaturesAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD *>( this );
-    }
-
-    operator VkPhysicalDeviceCoherentMemoryFeaturesAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceCoherentMemoryFeaturesAMD *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceCoherentMemoryFeaturesAMD const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceCoherentMemoryFeaturesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceCoherentMemory == rhs.deviceCoherentMemory );
-    }
-
-    bool operator!=( PhysicalDeviceCoherentMemoryFeaturesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              deviceCoherentMemory = {};
-  };
-  static_assert( sizeof( PhysicalDeviceCoherentMemoryFeaturesAMD ) ==
-                   sizeof( VkPhysicalDeviceCoherentMemoryFeaturesAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceCoherentMemoryFeaturesAMD>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD>
-  {
-    using Type = PhysicalDeviceCoherentMemoryFeaturesAMD;
-  };
-
-  struct PhysicalDeviceComputeShaderDerivativesFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceComputeShaderDerivativesFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads_  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear_ = {} ) VULKAN_HPP_NOEXCEPT
-      : computeDerivativeGroupQuads( computeDerivativeGroupQuads_ )
-      , computeDerivativeGroupLinear( computeDerivativeGroupLinear_ )
-    {}
-
-    PhysicalDeviceComputeShaderDerivativesFeaturesNV( VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const & rhs )
+  RefreshCycleDurationGOOGLE(VkRefreshCycleDurationGOOGLE const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : RefreshCycleDurationGOOGLE(
+            *reinterpret_cast<RefreshCycleDurationGOOGLE const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceComputeShaderDerivativesFeaturesNV &
-      operator=( VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 RefreshCycleDurationGOOGLE &operator=(
+      RefreshCycleDurationGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceComputeShaderDerivativesFeaturesNV &
-      operator=( PhysicalDeviceComputeShaderDerivativesFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      computeDerivativeGroupQuads  = rhs.computeDerivativeGroupQuads;
-      computeDerivativeGroupLinear = rhs.computeDerivativeGroupLinear;
+  RefreshCycleDurationGOOGLE &
+  operator=(VkRefreshCycleDurationGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkRefreshCycleDurationGOOGLE const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRefreshCycleDurationGOOGLE *>(this);
+  }
 
-    PhysicalDeviceComputeShaderDerivativesFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkRefreshCycleDurationGOOGLE &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRefreshCycleDurationGOOGLE *>(this);
+  }
 
-    PhysicalDeviceComputeShaderDerivativesFeaturesNV &
-      setComputeDerivativeGroupQuads( VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads_ ) VULKAN_HPP_NOEXCEPT
-    {
-      computeDerivativeGroupQuads = computeDerivativeGroupQuads_;
-      return *this;
-    }
-
-    PhysicalDeviceComputeShaderDerivativesFeaturesNV &
-      setComputeDerivativeGroupLinear( VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear_ ) VULKAN_HPP_NOEXCEPT
-    {
-      computeDerivativeGroupLinear = computeDerivativeGroupLinear_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceComputeShaderDerivativesFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceComputeShaderDerivativesFeaturesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RefreshCycleDurationGOOGLE const &) const = default;
 #else
-    bool operator==( PhysicalDeviceComputeShaderDerivativesFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( computeDerivativeGroupQuads == rhs.computeDerivativeGroupQuads ) &&
-             ( computeDerivativeGroupLinear == rhs.computeDerivativeGroupLinear );
-    }
+  bool
+  operator==(RefreshCycleDurationGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (refreshDuration == rhs.refreshDuration);
+  }
 
-    bool operator!=( PhysicalDeviceComputeShaderDerivativesFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(RefreshCycleDurationGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              computeDerivativeGroupQuads  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              computeDerivativeGroupLinear = {};
-  };
-  static_assert( sizeof( PhysicalDeviceComputeShaderDerivativesFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceComputeShaderDerivativesFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceComputeShaderDerivativesFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint64_t refreshDuration = {};
+};
+static_assert(sizeof(RefreshCycleDurationGOOGLE) ==
+                  sizeof(VkRefreshCycleDurationGOOGLE),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RefreshCycleDurationGOOGLE>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV>
-  {
-    using Type = PhysicalDeviceComputeShaderDerivativesFeaturesNV;
-  };
+struct SemaphoreGetFdInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreGetFdInfoKHR;
 
-  struct PhysicalDeviceConditionalRenderingFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT;
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SemaphoreGetFdInfoKHR(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : semaphore(semaphore_),
+                            handleType(handleType_) {}
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceConditionalRenderingFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering_ = {} ) VULKAN_HPP_NOEXCEPT
-      : conditionalRendering( conditionalRendering_ )
-      , inheritedConditionalRendering( inheritedConditionalRendering_ )
-    {}
+  VULKAN_HPP_CONSTEXPR SemaphoreGetFdInfoKHR(SemaphoreGetFdInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceConditionalRenderingFeaturesEXT( VkPhysicalDeviceConditionalRenderingFeaturesEXT const & rhs )
+  SemaphoreGetFdInfoKHR(VkSemaphoreGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : SemaphoreGetFdInfoKHR(
+            *reinterpret_cast<SemaphoreGetFdInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetFdInfoKHR &
+  operator=(SemaphoreGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreGetFdInfoKHR &
+  operator=(VkSemaphoreGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  SemaphoreGetFdInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SemaphoreGetFdInfoKHR &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
+
+  SemaphoreGetFdInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkSemaphoreGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>(this);
+  }
+
+  operator VkSemaphoreGetFdInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreGetFdInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreGetFdInfoKHR const &) const = default;
+#else
+  bool operator==(SemaphoreGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (handleType == rhs.handleType);
+  }
+
+  bool operator!=(SemaphoreGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSemaphoreGetFdInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(SemaphoreGetFdInfoKHR) == sizeof(VkSemaphoreGetFdInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SemaphoreGetFdInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eSemaphoreGetFdInfoKHR> {
+  using Type = SemaphoreGetFdInfoKHR;
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct SemaphoreGetWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreGetWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SemaphoreGetWin32HandleInfoKHR(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : semaphore(semaphore_),
+                            handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR SemaphoreGetWin32HandleInfoKHR(
+      SemaphoreGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreGetWin32HandleInfoKHR(VkSemaphoreGetWin32HandleInfoKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : SemaphoreGetWin32HandleInfoKHR(
+            *reinterpret_cast<SemaphoreGetWin32HandleInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceConditionalRenderingFeaturesEXT &
-      operator=( VkPhysicalDeviceConditionalRenderingFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetWin32HandleInfoKHR &operator=(
+      SemaphoreGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceConditionalRenderingFeaturesEXT &
-      operator=( PhysicalDeviceConditionalRenderingFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      conditionalRendering          = rhs.conditionalRendering;
-      inheritedConditionalRendering = rhs.inheritedConditionalRendering;
+  SemaphoreGetWin32HandleInfoKHR &
+  operator=(VkSemaphoreGetWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  SemaphoreGetWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceConditionalRenderingFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SemaphoreGetWin32HandleInfoKHR &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
 
-    PhysicalDeviceConditionalRenderingFeaturesEXT &
-      setConditionalRendering( VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering_ ) VULKAN_HPP_NOEXCEPT
-    {
-      conditionalRendering = conditionalRendering_;
-      return *this;
-    }
+  SemaphoreGetWin32HandleInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
 
-    PhysicalDeviceConditionalRenderingFeaturesEXT & setInheritedConditionalRendering(
-      VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inheritedConditionalRendering = inheritedConditionalRendering_;
-      return *this;
-    }
+  operator VkSemaphoreGetWin32HandleInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>(this);
+  }
 
-    operator VkPhysicalDeviceConditionalRenderingFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT *>( this );
-    }
+  operator VkSemaphoreGetWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreGetWin32HandleInfoKHR *>(this);
+  }
 
-    operator VkPhysicalDeviceConditionalRenderingFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceConditionalRenderingFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreGetWin32HandleInfoKHR const &) const = default;
 #else
-    bool operator==( PhysicalDeviceConditionalRenderingFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( conditionalRendering == rhs.conditionalRendering ) &&
-             ( inheritedConditionalRendering == rhs.inheritedConditionalRendering );
-    }
+  bool operator==(SemaphoreGetWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (handleType == rhs.handleType);
+  }
 
-    bool operator!=( PhysicalDeviceConditionalRenderingFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SemaphoreGetWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              conditionalRendering          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              inheritedConditionalRendering = {};
-  };
-  static_assert( sizeof( PhysicalDeviceConditionalRenderingFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceConditionalRenderingFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceConditionalRenderingFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSemaphoreGetWin32HandleInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(SemaphoreGetWin32HandleInfoKHR) ==
+                  sizeof(VkSemaphoreGetWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SemaphoreGetWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT>
-  {
-    using Type = PhysicalDeviceConditionalRenderingFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eSemaphoreGetWin32HandleInfoKHR> {
+  using Type = SemaphoreGetWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  struct PhysicalDeviceConservativeRasterizationPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct SemaphoreGetZirconHandleInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceConservativeRasterizationPropertiesEXT(
-      float                        primitiveOverestimationSize_                 = {},
-      float                        maxExtraPrimitiveOverestimationSize_         = {},
-      float                        extraPrimitiveOverestimationSizeGranularity_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 primitiveUnderestimation_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 conservativePointAndLineRasterization_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 degenerateTrianglesRasterized_               = {},
-      VULKAN_HPP_NAMESPACE::Bool32 degenerateLinesRasterized_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 fullyCoveredFragmentShaderInputVariable_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 conservativeRasterizationPostDepthCoverage_  = {} ) VULKAN_HPP_NOEXCEPT
-      : primitiveOverestimationSize( primitiveOverestimationSize_ )
-      , maxExtraPrimitiveOverestimationSize( maxExtraPrimitiveOverestimationSize_ )
-      , extraPrimitiveOverestimationSizeGranularity( extraPrimitiveOverestimationSizeGranularity_ )
-      , primitiveUnderestimation( primitiveUnderestimation_ )
-      , conservativePointAndLineRasterization( conservativePointAndLineRasterization_ )
-      , degenerateTrianglesRasterized( degenerateTrianglesRasterized_ )
-      , degenerateLinesRasterized( degenerateLinesRasterized_ )
-      , fullyCoveredFragmentShaderInputVariable( fullyCoveredFragmentShaderInputVariable_ )
-      , conservativeRasterizationPostDepthCoverage( conservativeRasterizationPostDepthCoverage_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SemaphoreGetZirconHandleInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : semaphore(semaphore_),
+                            handleType(handleType_) {}
 
-    PhysicalDeviceConservativeRasterizationPropertiesEXT(
-      VkPhysicalDeviceConservativeRasterizationPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SemaphoreGetZirconHandleInfoFUCHSIA(
+      SemaphoreGetZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceConservativeRasterizationPropertiesEXT &
-      operator=( VkPhysicalDeviceConservativeRasterizationPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  SemaphoreGetZirconHandleInfoFUCHSIA(
+      VkSemaphoreGetZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : SemaphoreGetZirconHandleInfoFUCHSIA(
+            *reinterpret_cast<SemaphoreGetZirconHandleInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceConservativeRasterizationPropertiesEXT &
-      operator=( PhysicalDeviceConservativeRasterizationPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                       = rhs.pNext;
-      primitiveOverestimationSize                 = rhs.primitiveOverestimationSize;
-      maxExtraPrimitiveOverestimationSize         = rhs.maxExtraPrimitiveOverestimationSize;
-      extraPrimitiveOverestimationSizeGranularity = rhs.extraPrimitiveOverestimationSizeGranularity;
-      primitiveUnderestimation                    = rhs.primitiveUnderestimation;
-      conservativePointAndLineRasterization       = rhs.conservativePointAndLineRasterization;
-      degenerateTrianglesRasterized               = rhs.degenerateTrianglesRasterized;
-      degenerateLinesRasterized                   = rhs.degenerateLinesRasterized;
-      fullyCoveredFragmentShaderInputVariable     = rhs.fullyCoveredFragmentShaderInputVariable;
-      conservativeRasterizationPostDepthCoverage  = rhs.conservativeRasterizationPostDepthCoverage;
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetZirconHandleInfoFUCHSIA &
+  operator=(SemaphoreGetZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SemaphoreGetZirconHandleInfoFUCHSIA &operator=(
+      VkSemaphoreGetZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>( this );
-    }
+  SemaphoreGetZirconHandleInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceConservativeRasterizationPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>( this );
-    }
+  SemaphoreGetZirconHandleInfoFUCHSIA &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceConservativeRasterizationPropertiesEXT const & ) const = default;
+  SemaphoreGetZirconHandleInfoFUCHSIA &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkSemaphoreGetZirconHandleInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>(
+        this);
+  }
+
+  operator VkSemaphoreGetZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreGetZirconHandleInfoFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreGetZirconHandleInfoFUCHSIA const &) const = default;
 #else
-    bool operator==( PhysicalDeviceConservativeRasterizationPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( primitiveOverestimationSize == rhs.primitiveOverestimationSize ) &&
-             ( maxExtraPrimitiveOverestimationSize == rhs.maxExtraPrimitiveOverestimationSize ) &&
-             ( extraPrimitiveOverestimationSizeGranularity == rhs.extraPrimitiveOverestimationSizeGranularity ) &&
-             ( primitiveUnderestimation == rhs.primitiveUnderestimation ) &&
-             ( conservativePointAndLineRasterization == rhs.conservativePointAndLineRasterization ) &&
-             ( degenerateTrianglesRasterized == rhs.degenerateTrianglesRasterized ) &&
-             ( degenerateLinesRasterized == rhs.degenerateLinesRasterized ) &&
-             ( fullyCoveredFragmentShaderInputVariable == rhs.fullyCoveredFragmentShaderInputVariable ) &&
-             ( conservativeRasterizationPostDepthCoverage == rhs.conservativeRasterizationPostDepthCoverage );
-    }
+  bool operator==(SemaphoreGetZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (handleType == rhs.handleType);
+  }
 
-    bool operator!=( PhysicalDeviceConservativeRasterizationPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SemaphoreGetZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
-      StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT;
-    void *                       pNext                                       = {};
-    float                        primitiveOverestimationSize                 = {};
-    float                        maxExtraPrimitiveOverestimationSize         = {};
-    float                        extraPrimitiveOverestimationSizeGranularity = {};
-    VULKAN_HPP_NAMESPACE::Bool32 primitiveUnderestimation                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32 conservativePointAndLineRasterization       = {};
-    VULKAN_HPP_NAMESPACE::Bool32 degenerateTrianglesRasterized               = {};
-    VULKAN_HPP_NAMESPACE::Bool32 degenerateLinesRasterized                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32 fullyCoveredFragmentShaderInputVariable     = {};
-    VULKAN_HPP_NAMESPACE::Bool32 conservativeRasterizationPostDepthCoverage  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceConservativeRasterizationPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceConservativeRasterizationPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceConservativeRasterizationPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(SemaphoreGetZirconHandleInfoFUCHSIA) ==
+                  sizeof(VkSemaphoreGetZirconHandleInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SemaphoreGetZirconHandleInfoFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT>
-  {
-    using Type = PhysicalDeviceConservativeRasterizationPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA> {
+  using Type = SemaphoreGetZirconHandleInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  struct PhysicalDeviceCooperativeMatrixFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV;
+struct ImportFenceFdInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportFenceFdInfoKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess_ = {} ) VULKAN_HPP_NOEXCEPT
-      : cooperativeMatrix( cooperativeMatrix_ )
-      , cooperativeMatrixRobustBufferAccess( cooperativeMatrixRobustBufferAccess_ )
-    {}
-
-    PhysicalDeviceCooperativeMatrixFeaturesNV( VkPhysicalDeviceCooperativeMatrixFeaturesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceCooperativeMatrixFeaturesNV &
-      operator=( VkPhysicalDeviceCooperativeMatrixFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceCooperativeMatrixFeaturesNV &
-      operator=( PhysicalDeviceCooperativeMatrixFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                               = rhs.pNext;
-      cooperativeMatrix                   = rhs.cooperativeMatrix;
-      cooperativeMatrixRobustBufferAccess = rhs.cooperativeMatrixRobustBufferAccess;
-
-      return *this;
-    }
-
-    PhysicalDeviceCooperativeMatrixFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceCooperativeMatrixFeaturesNV &
-      setCooperativeMatrix( VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix_ ) VULKAN_HPP_NOEXCEPT
-    {
-      cooperativeMatrix = cooperativeMatrix_;
-      return *this;
-    }
-
-    PhysicalDeviceCooperativeMatrixFeaturesNV & setCooperativeMatrixRobustBufferAccess(
-      VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      cooperativeMatrixRobustBufferAccess = cooperativeMatrixRobustBufferAccess_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceCooperativeMatrixFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceCooperativeMatrixFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceCooperativeMatrixFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceCooperativeMatrixFeaturesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceCooperativeMatrixFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( cooperativeMatrix == rhs.cooperativeMatrix ) &&
-             ( cooperativeMatrixRobustBufferAccess == rhs.cooperativeMatrixRobustBufferAccess );
-    }
-
-    bool operator!=( PhysicalDeviceCooperativeMatrixFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              cooperativeMatrix                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              cooperativeMatrixRobustBufferAccess = {};
-  };
-  static_assert( sizeof( PhysicalDeviceCooperativeMatrixFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceCooperativeMatrixFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceCooperativeMatrixFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV>
-  {
-    using Type = PhysicalDeviceCooperativeMatrixFeaturesNV;
-  };
-
-  struct PhysicalDeviceCooperativeMatrixPropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixPropertiesNV(
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags cooperativeMatrixSupportedStages_ = {} ) VULKAN_HPP_NOEXCEPT
-      : cooperativeMatrixSupportedStages( cooperativeMatrixSupportedStages_ )
-    {}
-
-    PhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDeviceCooperativeMatrixPropertiesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceCooperativeMatrixPropertiesNV &
-      operator=( VkPhysicalDeviceCooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceCooperativeMatrixPropertiesNV &
-      operator=( PhysicalDeviceCooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      cooperativeMatrixSupportedStages = rhs.cooperativeMatrixSupportedStages;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceCooperativeMatrixPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceCooperativeMatrixPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceCooperativeMatrixPropertiesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceCooperativeMatrixPropertiesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceCooperativeMatrixPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( cooperativeMatrixSupportedStages == rhs.cooperativeMatrixSupportedStages );
-    }
-
-    bool operator!=( PhysicalDeviceCooperativeMatrixPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags    cooperativeMatrixSupportedStages = {};
-  };
-  static_assert( sizeof( PhysicalDeviceCooperativeMatrixPropertiesNV ) ==
-                   sizeof( VkPhysicalDeviceCooperativeMatrixPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceCooperativeMatrixPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV>
-  {
-    using Type = PhysicalDeviceCooperativeMatrixPropertiesNV;
-  };
-
-  struct PhysicalDeviceCornerSampledImageFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceCornerSampledImageFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage_ = {} ) VULKAN_HPP_NOEXCEPT
-      : cornerSampledImage( cornerSampledImage_ )
-    {}
-
-    PhysicalDeviceCornerSampledImageFeaturesNV( VkPhysicalDeviceCornerSampledImageFeaturesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceCornerSampledImageFeaturesNV &
-      operator=( VkPhysicalDeviceCornerSampledImageFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceCornerSampledImageFeaturesNV &
-      operator=( PhysicalDeviceCornerSampledImageFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      cornerSampledImage = rhs.cornerSampledImage;
-
-      return *this;
-    }
-
-    PhysicalDeviceCornerSampledImageFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceCornerSampledImageFeaturesNV &
-      setCornerSampledImage( VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      cornerSampledImage = cornerSampledImage_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceCornerSampledImageFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceCornerSampledImageFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceCornerSampledImageFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceCornerSampledImageFeaturesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceCornerSampledImageFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( cornerSampledImage == rhs.cornerSampledImage );
-    }
-
-    bool operator!=( PhysicalDeviceCornerSampledImageFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              cornerSampledImage = {};
-  };
-  static_assert( sizeof( PhysicalDeviceCornerSampledImageFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceCornerSampledImageFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceCornerSampledImageFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV>
-  {
-    using Type = PhysicalDeviceCornerSampledImageFeaturesNV;
-  };
-
-  struct PhysicalDeviceCoverageReductionModeFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceCoverageReductionModeFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode_ = {} ) VULKAN_HPP_NOEXCEPT
-      : coverageReductionMode( coverageReductionMode_ )
-    {}
-
-    PhysicalDeviceCoverageReductionModeFeaturesNV( VkPhysicalDeviceCoverageReductionModeFeaturesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceCoverageReductionModeFeaturesNV &
-      operator=( VkPhysicalDeviceCoverageReductionModeFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceCoverageReductionModeFeaturesNV &
-      operator=( PhysicalDeviceCoverageReductionModeFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      coverageReductionMode = rhs.coverageReductionMode;
-
-      return *this;
-    }
-
-    PhysicalDeviceCoverageReductionModeFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceCoverageReductionModeFeaturesNV &
-      setCoverageReductionMode( VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageReductionMode = coverageReductionMode_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceCoverageReductionModeFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceCoverageReductionModeFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceCoverageReductionModeFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceCoverageReductionModeFeaturesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceCoverageReductionModeFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( coverageReductionMode == rhs.coverageReductionMode );
-    }
-
-    bool operator!=( PhysicalDeviceCoverageReductionModeFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              coverageReductionMode = {};
-  };
-  static_assert( sizeof( PhysicalDeviceCoverageReductionModeFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceCoverageReductionModeFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceCoverageReductionModeFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV>
-  {
-    using Type = PhysicalDeviceCoverageReductionModeFeaturesNV;
-  };
-
-  struct PhysicalDeviceCustomBorderColorFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 customBorderColors_             = {},
-      VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat_ = {} ) VULKAN_HPP_NOEXCEPT
-      : customBorderColors( customBorderColors_ )
-      , customBorderColorWithoutFormat( customBorderColorWithoutFormat_ )
-    {}
-
-    PhysicalDeviceCustomBorderColorFeaturesEXT( VkPhysicalDeviceCustomBorderColorFeaturesEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceCustomBorderColorFeaturesEXT &
-      operator=( VkPhysicalDeviceCustomBorderColorFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceCustomBorderColorFeaturesEXT &
-      operator=( PhysicalDeviceCustomBorderColorFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                          = rhs.pNext;
-      customBorderColors             = rhs.customBorderColors;
-      customBorderColorWithoutFormat = rhs.customBorderColorWithoutFormat;
-
-      return *this;
-    }
-
-    PhysicalDeviceCustomBorderColorFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceCustomBorderColorFeaturesEXT &
-      setCustomBorderColors( VULKAN_HPP_NAMESPACE::Bool32 customBorderColors_ ) VULKAN_HPP_NOEXCEPT
-    {
-      customBorderColors = customBorderColors_;
-      return *this;
-    }
-
-    PhysicalDeviceCustomBorderColorFeaturesEXT & setCustomBorderColorWithoutFormat(
-      VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      customBorderColorWithoutFormat = customBorderColorWithoutFormat_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceCustomBorderColorFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT *>( this );
-    }
-
-    operator VkPhysicalDeviceCustomBorderColorFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceCustomBorderColorFeaturesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceCustomBorderColorFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( customBorderColors == rhs.customBorderColors ) &&
-             ( customBorderColorWithoutFormat == rhs.customBorderColorWithoutFormat );
-    }
-
-    bool operator!=( PhysicalDeviceCustomBorderColorFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              customBorderColors             = {};
-    VULKAN_HPP_NAMESPACE::Bool32              customBorderColorWithoutFormat = {};
-  };
-  static_assert( sizeof( PhysicalDeviceCustomBorderColorFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceCustomBorderColorFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceCustomBorderColorFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT>
-  {
-    using Type = PhysicalDeviceCustomBorderColorFeaturesEXT;
-  };
-
-  struct PhysicalDeviceCustomBorderColorPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceCustomBorderColorPropertiesEXT( uint32_t maxCustomBorderColorSamplers_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxCustomBorderColorSamplers( maxCustomBorderColorSamplers_ )
-    {}
-
-    PhysicalDeviceCustomBorderColorPropertiesEXT( VkPhysicalDeviceCustomBorderColorPropertiesEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceCustomBorderColorPropertiesEXT &
-      operator=( VkPhysicalDeviceCustomBorderColorPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceCustomBorderColorPropertiesEXT &
-      operator=( PhysicalDeviceCustomBorderColorPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      maxCustomBorderColorSamplers = rhs.maxCustomBorderColorSamplers;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceCustomBorderColorPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT *>( this );
-    }
-
-    operator VkPhysicalDeviceCustomBorderColorPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceCustomBorderColorPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceCustomBorderColorPropertiesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceCustomBorderColorPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxCustomBorderColorSamplers == rhs.maxCustomBorderColorSamplers );
-    }
-
-    bool operator!=( PhysicalDeviceCustomBorderColorPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  maxCustomBorderColorSamplers = {};
-  };
-  static_assert( sizeof( PhysicalDeviceCustomBorderColorPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceCustomBorderColorPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceCustomBorderColorPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT>
-  {
-    using Type = PhysicalDeviceCustomBorderColorPropertiesEXT;
-  };
-
-  struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing_ = {} ) VULKAN_HPP_NOEXCEPT
-      : dedicatedAllocationImageAliasing( dedicatedAllocationImageAliasing_ )
-    {}
-
-    PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
-      VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &
-      operator=( VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const *>(
-        &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &
-      operator=( PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      dedicatedAllocationImageAliasing = rhs.dedicatedAllocationImageAliasing;
-
-      return *this;
-    }
-
-    PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV & setDedicatedAllocationImageAliasing(
-      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dedicatedAllocationImageAliasing = dedicatedAllocationImageAliasing_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( dedicatedAllocationImageAliasing == rhs.dedicatedAllocationImageAliasing );
-    }
-
-    bool operator!=( PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
-      StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
-    void *                       pNext                            = {};
-    VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>
-  {
-    using Type = PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
-  };
-
-  struct PhysicalDeviceDepthClipEnableFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceDepthClipEnableFeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_ = {} ) VULKAN_HPP_NOEXCEPT
-      : depthClipEnable( depthClipEnable_ )
-    {}
-
-    PhysicalDeviceDepthClipEnableFeaturesEXT( VkPhysicalDeviceDepthClipEnableFeaturesEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDepthClipEnableFeaturesEXT &
-      operator=( VkPhysicalDeviceDepthClipEnableFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDepthClipEnableFeaturesEXT &
-      operator=( PhysicalDeviceDepthClipEnableFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      depthClipEnable = rhs.depthClipEnable;
-
-      return *this;
-    }
-
-    PhysicalDeviceDepthClipEnableFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceDepthClipEnableFeaturesEXT &
-      setDepthClipEnable( VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthClipEnable = depthClipEnable_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDepthClipEnableFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT *>( this );
-    }
-
-    operator VkPhysicalDeviceDepthClipEnableFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDepthClipEnableFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDepthClipEnableFeaturesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDepthClipEnableFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( depthClipEnable == rhs.depthClipEnable );
-    }
-
-    bool operator!=( PhysicalDeviceDepthClipEnableFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              depthClipEnable = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDepthClipEnableFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceDepthClipEnableFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDepthClipEnableFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT>
-  {
-    using Type = PhysicalDeviceDepthClipEnableFeaturesEXT;
-  };
-
-  struct PhysicalDeviceDepthStencilResolveProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDepthStencilResolveProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthStencilResolveProperties(
-      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes_   = {},
-      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32           independentResolveNone_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32           independentResolve_           = {} ) VULKAN_HPP_NOEXCEPT
-      : supportedDepthResolveModes( supportedDepthResolveModes_ )
-      , supportedStencilResolveModes( supportedStencilResolveModes_ )
-      , independentResolveNone( independentResolveNone_ )
-      , independentResolve( independentResolve_ )
-    {}
-
-    PhysicalDeviceDepthStencilResolveProperties( VkPhysicalDeviceDepthStencilResolveProperties const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDepthStencilResolveProperties &
-      operator=( VkPhysicalDeviceDepthStencilResolveProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDepthStencilResolveProperties &
-      operator=( PhysicalDeviceDepthStencilResolveProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      supportedDepthResolveModes   = rhs.supportedDepthResolveModes;
-      supportedStencilResolveModes = rhs.supportedStencilResolveModes;
-      independentResolveNone       = rhs.independentResolveNone;
-      independentResolve           = rhs.independentResolve;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDepthStencilResolveProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties *>( this );
-    }
-
-    operator VkPhysicalDeviceDepthStencilResolveProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDepthStencilResolveProperties const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDepthStencilResolveProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( supportedDepthResolveModes == rhs.supportedDepthResolveModes ) &&
-             ( supportedStencilResolveModes == rhs.supportedStencilResolveModes ) &&
-             ( independentResolveNone == rhs.independentResolveNone ) &&
-             ( independentResolve == rhs.independentResolve );
-    }
-
-    bool operator!=( PhysicalDeviceDepthStencilResolveProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDepthStencilResolveProperties;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ResolveModeFlags    supportedDepthResolveModes   = {};
-    VULKAN_HPP_NAMESPACE::ResolveModeFlags    supportedStencilResolveModes = {};
-    VULKAN_HPP_NAMESPACE::Bool32              independentResolveNone       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              independentResolve           = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDepthStencilResolveProperties ) ==
-                   sizeof( VkPhysicalDeviceDepthStencilResolveProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDepthStencilResolveProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDepthStencilResolveProperties>
-  {
-    using Type = PhysicalDeviceDepthStencilResolveProperties;
-  };
-
-  struct PhysicalDeviceDescriptorIndexingFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDescriptorIndexingFeatures;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_                             = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderInputAttachmentArrayDynamicIndexing( shaderInputAttachmentArrayDynamicIndexing_ )
-      , shaderUniformTexelBufferArrayDynamicIndexing( shaderUniformTexelBufferArrayDynamicIndexing_ )
-      , shaderStorageTexelBufferArrayDynamicIndexing( shaderStorageTexelBufferArrayDynamicIndexing_ )
-      , shaderUniformBufferArrayNonUniformIndexing( shaderUniformBufferArrayNonUniformIndexing_ )
-      , shaderSampledImageArrayNonUniformIndexing( shaderSampledImageArrayNonUniformIndexing_ )
-      , shaderStorageBufferArrayNonUniformIndexing( shaderStorageBufferArrayNonUniformIndexing_ )
-      , shaderStorageImageArrayNonUniformIndexing( shaderStorageImageArrayNonUniformIndexing_ )
-      , shaderInputAttachmentArrayNonUniformIndexing( shaderInputAttachmentArrayNonUniformIndexing_ )
-      , shaderUniformTexelBufferArrayNonUniformIndexing( shaderUniformTexelBufferArrayNonUniformIndexing_ )
-      , shaderStorageTexelBufferArrayNonUniformIndexing( shaderStorageTexelBufferArrayNonUniformIndexing_ )
-      , descriptorBindingUniformBufferUpdateAfterBind( descriptorBindingUniformBufferUpdateAfterBind_ )
-      , descriptorBindingSampledImageUpdateAfterBind( descriptorBindingSampledImageUpdateAfterBind_ )
-      , descriptorBindingStorageImageUpdateAfterBind( descriptorBindingStorageImageUpdateAfterBind_ )
-      , descriptorBindingStorageBufferUpdateAfterBind( descriptorBindingStorageBufferUpdateAfterBind_ )
-      , descriptorBindingUniformTexelBufferUpdateAfterBind( descriptorBindingUniformTexelBufferUpdateAfterBind_ )
-      , descriptorBindingStorageTexelBufferUpdateAfterBind( descriptorBindingStorageTexelBufferUpdateAfterBind_ )
-      , descriptorBindingUpdateUnusedWhilePending( descriptorBindingUpdateUnusedWhilePending_ )
-      , descriptorBindingPartiallyBound( descriptorBindingPartiallyBound_ )
-      , descriptorBindingVariableDescriptorCount( descriptorBindingVariableDescriptorCount_ )
-      , runtimeDescriptorArray( runtimeDescriptorArray_ )
-    {}
-
-    PhysicalDeviceDescriptorIndexingFeatures( VkPhysicalDeviceDescriptorIndexingFeatures const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDescriptorIndexingFeatures &
-      operator=( VkPhysicalDeviceDescriptorIndexingFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures &
-      operator=( PhysicalDeviceDescriptorIndexingFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                              = rhs.pNext;
-      shaderInputAttachmentArrayDynamicIndexing          = rhs.shaderInputAttachmentArrayDynamicIndexing;
-      shaderUniformTexelBufferArrayDynamicIndexing       = rhs.shaderUniformTexelBufferArrayDynamicIndexing;
-      shaderStorageTexelBufferArrayDynamicIndexing       = rhs.shaderStorageTexelBufferArrayDynamicIndexing;
-      shaderUniformBufferArrayNonUniformIndexing         = rhs.shaderUniformBufferArrayNonUniformIndexing;
-      shaderSampledImageArrayNonUniformIndexing          = rhs.shaderSampledImageArrayNonUniformIndexing;
-      shaderStorageBufferArrayNonUniformIndexing         = rhs.shaderStorageBufferArrayNonUniformIndexing;
-      shaderStorageImageArrayNonUniformIndexing          = rhs.shaderStorageImageArrayNonUniformIndexing;
-      shaderInputAttachmentArrayNonUniformIndexing       = rhs.shaderInputAttachmentArrayNonUniformIndexing;
-      shaderUniformTexelBufferArrayNonUniformIndexing    = rhs.shaderUniformTexelBufferArrayNonUniformIndexing;
-      shaderStorageTexelBufferArrayNonUniformIndexing    = rhs.shaderStorageTexelBufferArrayNonUniformIndexing;
-      descriptorBindingUniformBufferUpdateAfterBind      = rhs.descriptorBindingUniformBufferUpdateAfterBind;
-      descriptorBindingSampledImageUpdateAfterBind       = rhs.descriptorBindingSampledImageUpdateAfterBind;
-      descriptorBindingStorageImageUpdateAfterBind       = rhs.descriptorBindingStorageImageUpdateAfterBind;
-      descriptorBindingStorageBufferUpdateAfterBind      = rhs.descriptorBindingStorageBufferUpdateAfterBind;
-      descriptorBindingUniformTexelBufferUpdateAfterBind = rhs.descriptorBindingUniformTexelBufferUpdateAfterBind;
-      descriptorBindingStorageTexelBufferUpdateAfterBind = rhs.descriptorBindingStorageTexelBufferUpdateAfterBind;
-      descriptorBindingUpdateUnusedWhilePending          = rhs.descriptorBindingUpdateUnusedWhilePending;
-      descriptorBindingPartiallyBound                    = rhs.descriptorBindingPartiallyBound;
-      descriptorBindingVariableDescriptorCount           = rhs.descriptorBindingVariableDescriptorCount;
-      runtimeDescriptorArray                             = rhs.runtimeDescriptorArray;
-
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderInputAttachmentArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderUniformTexelBufferArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageTexelBufferArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderUniformBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderSampledImageArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageImageArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderInputAttachmentArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderUniformTexelBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageTexelBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingUniformBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingSampledImageUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingStorageImageUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingStorageBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingUniformTexelBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingStorageTexelBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingUpdateUnusedWhilePending(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingPartiallyBound(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingPartiallyBound = descriptorBindingPartiallyBound_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingVariableDescriptorCount(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount_;
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingFeatures &
-      setRuntimeDescriptorArray( VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_ ) VULKAN_HPP_NOEXCEPT
-    {
-      runtimeDescriptorArray = runtimeDescriptorArray_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDescriptorIndexingFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures *>( this );
-    }
-
-    operator VkPhysicalDeviceDescriptorIndexingFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDescriptorIndexingFeatures const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDescriptorIndexingFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderInputAttachmentArrayDynamicIndexing == rhs.shaderInputAttachmentArrayDynamicIndexing ) &&
-             ( shaderUniformTexelBufferArrayDynamicIndexing == rhs.shaderUniformTexelBufferArrayDynamicIndexing ) &&
-             ( shaderStorageTexelBufferArrayDynamicIndexing == rhs.shaderStorageTexelBufferArrayDynamicIndexing ) &&
-             ( shaderUniformBufferArrayNonUniformIndexing == rhs.shaderUniformBufferArrayNonUniformIndexing ) &&
-             ( shaderSampledImageArrayNonUniformIndexing == rhs.shaderSampledImageArrayNonUniformIndexing ) &&
-             ( shaderStorageBufferArrayNonUniformIndexing == rhs.shaderStorageBufferArrayNonUniformIndexing ) &&
-             ( shaderStorageImageArrayNonUniformIndexing == rhs.shaderStorageImageArrayNonUniformIndexing ) &&
-             ( shaderInputAttachmentArrayNonUniformIndexing == rhs.shaderInputAttachmentArrayNonUniformIndexing ) &&
-             ( shaderUniformTexelBufferArrayNonUniformIndexing ==
-               rhs.shaderUniformTexelBufferArrayNonUniformIndexing ) &&
-             ( shaderStorageTexelBufferArrayNonUniformIndexing ==
-               rhs.shaderStorageTexelBufferArrayNonUniformIndexing ) &&
-             ( descriptorBindingUniformBufferUpdateAfterBind == rhs.descriptorBindingUniformBufferUpdateAfterBind ) &&
-             ( descriptorBindingSampledImageUpdateAfterBind == rhs.descriptorBindingSampledImageUpdateAfterBind ) &&
-             ( descriptorBindingStorageImageUpdateAfterBind == rhs.descriptorBindingStorageImageUpdateAfterBind ) &&
-             ( descriptorBindingStorageBufferUpdateAfterBind == rhs.descriptorBindingStorageBufferUpdateAfterBind ) &&
-             ( descriptorBindingUniformTexelBufferUpdateAfterBind ==
-               rhs.descriptorBindingUniformTexelBufferUpdateAfterBind ) &&
-             ( descriptorBindingStorageTexelBufferUpdateAfterBind ==
-               rhs.descriptorBindingStorageTexelBufferUpdateAfterBind ) &&
-             ( descriptorBindingUpdateUnusedWhilePending == rhs.descriptorBindingUpdateUnusedWhilePending ) &&
-             ( descriptorBindingPartiallyBound == rhs.descriptorBindingPartiallyBound ) &&
-             ( descriptorBindingVariableDescriptorCount == rhs.descriptorBindingVariableDescriptorCount ) &&
-             ( runtimeDescriptorArray == rhs.runtimeDescriptorArray );
-    }
-
-    bool operator!=( PhysicalDeviceDescriptorIndexingFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorIndexingFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderInputAttachmentArrayDynamicIndexing          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderUniformTexelBufferArrayDynamicIndexing       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageTexelBufferArrayDynamicIndexing       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderUniformBufferArrayNonUniformIndexing         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSampledImageArrayNonUniformIndexing          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageBufferArrayNonUniformIndexing         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageImageArrayNonUniformIndexing          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderInputAttachmentArrayNonUniformIndexing       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderUniformTexelBufferArrayNonUniformIndexing    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageTexelBufferArrayNonUniformIndexing    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingUniformBufferUpdateAfterBind      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingSampledImageUpdateAfterBind       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingStorageImageUpdateAfterBind       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingStorageBufferUpdateAfterBind      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingUniformTexelBufferUpdateAfterBind = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingStorageTexelBufferUpdateAfterBind = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingUpdateUnusedWhilePending          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingPartiallyBound                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingVariableDescriptorCount           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              runtimeDescriptorArray                             = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDescriptorIndexingFeatures ) ==
-                   sizeof( VkPhysicalDeviceDescriptorIndexingFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDescriptorIndexingFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDescriptorIndexingFeatures>
-  {
-    using Type = PhysicalDeviceDescriptorIndexingFeatures;
-  };
-
-  struct PhysicalDeviceDescriptorIndexingProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDescriptorIndexingProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingProperties(
-      uint32_t                     maxUpdateAfterBindDescriptorsInAllPools_              = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexingNative_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexingNative_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexingNative_   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod_                             = {},
-      uint32_t                     maxPerStageDescriptorUpdateAfterBindSamplers_         = {},
-      uint32_t                     maxPerStageDescriptorUpdateAfterBindUniformBuffers_   = {},
-      uint32_t                     maxPerStageDescriptorUpdateAfterBindStorageBuffers_   = {},
-      uint32_t                     maxPerStageDescriptorUpdateAfterBindSampledImages_    = {},
-      uint32_t                     maxPerStageDescriptorUpdateAfterBindStorageImages_    = {},
-      uint32_t                     maxPerStageDescriptorUpdateAfterBindInputAttachments_ = {},
-      uint32_t                     maxPerStageUpdateAfterBindResources_                  = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindSamplers_              = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindUniformBuffers_        = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindStorageBuffers_        = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindSampledImages_         = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindStorageImages_         = {},
-      uint32_t                     maxDescriptorSetUpdateAfterBindInputAttachments_      = {} ) VULKAN_HPP_NOEXCEPT
-      : maxUpdateAfterBindDescriptorsInAllPools( maxUpdateAfterBindDescriptorsInAllPools_ )
-      , shaderUniformBufferArrayNonUniformIndexingNative( shaderUniformBufferArrayNonUniformIndexingNative_ )
-      , shaderSampledImageArrayNonUniformIndexingNative( shaderSampledImageArrayNonUniformIndexingNative_ )
-      , shaderStorageBufferArrayNonUniformIndexingNative( shaderStorageBufferArrayNonUniformIndexingNative_ )
-      , shaderStorageImageArrayNonUniformIndexingNative( shaderStorageImageArrayNonUniformIndexingNative_ )
-      , shaderInputAttachmentArrayNonUniformIndexingNative( shaderInputAttachmentArrayNonUniformIndexingNative_ )
-      , robustBufferAccessUpdateAfterBind( robustBufferAccessUpdateAfterBind_ )
-      , quadDivergentImplicitLod( quadDivergentImplicitLod_ )
-      , maxPerStageDescriptorUpdateAfterBindSamplers( maxPerStageDescriptorUpdateAfterBindSamplers_ )
-      , maxPerStageDescriptorUpdateAfterBindUniformBuffers( maxPerStageDescriptorUpdateAfterBindUniformBuffers_ )
-      , maxPerStageDescriptorUpdateAfterBindStorageBuffers( maxPerStageDescriptorUpdateAfterBindStorageBuffers_ )
-      , maxPerStageDescriptorUpdateAfterBindSampledImages( maxPerStageDescriptorUpdateAfterBindSampledImages_ )
-      , maxPerStageDescriptorUpdateAfterBindStorageImages( maxPerStageDescriptorUpdateAfterBindStorageImages_ )
-      , maxPerStageDescriptorUpdateAfterBindInputAttachments( maxPerStageDescriptorUpdateAfterBindInputAttachments_ )
-      , maxPerStageUpdateAfterBindResources( maxPerStageUpdateAfterBindResources_ )
-      , maxDescriptorSetUpdateAfterBindSamplers( maxDescriptorSetUpdateAfterBindSamplers_ )
-      , maxDescriptorSetUpdateAfterBindUniformBuffers( maxDescriptorSetUpdateAfterBindUniformBuffers_ )
-      , maxDescriptorSetUpdateAfterBindUniformBuffersDynamic( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ )
-      , maxDescriptorSetUpdateAfterBindStorageBuffers( maxDescriptorSetUpdateAfterBindStorageBuffers_ )
-      , maxDescriptorSetUpdateAfterBindStorageBuffersDynamic( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ )
-      , maxDescriptorSetUpdateAfterBindSampledImages( maxDescriptorSetUpdateAfterBindSampledImages_ )
-      , maxDescriptorSetUpdateAfterBindStorageImages( maxDescriptorSetUpdateAfterBindStorageImages_ )
-      , maxDescriptorSetUpdateAfterBindInputAttachments( maxDescriptorSetUpdateAfterBindInputAttachments_ )
-    {}
-
-    PhysicalDeviceDescriptorIndexingProperties( VkPhysicalDeviceDescriptorIndexingProperties const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDescriptorIndexingProperties &
-      operator=( VkPhysicalDeviceDescriptorIndexingProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDescriptorIndexingProperties &
-      operator=( PhysicalDeviceDescriptorIndexingProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                                = rhs.pNext;
-      maxUpdateAfterBindDescriptorsInAllPools              = rhs.maxUpdateAfterBindDescriptorsInAllPools;
-      shaderUniformBufferArrayNonUniformIndexingNative     = rhs.shaderUniformBufferArrayNonUniformIndexingNative;
-      shaderSampledImageArrayNonUniformIndexingNative      = rhs.shaderSampledImageArrayNonUniformIndexingNative;
-      shaderStorageBufferArrayNonUniformIndexingNative     = rhs.shaderStorageBufferArrayNonUniformIndexingNative;
-      shaderStorageImageArrayNonUniformIndexingNative      = rhs.shaderStorageImageArrayNonUniformIndexingNative;
-      shaderInputAttachmentArrayNonUniformIndexingNative   = rhs.shaderInputAttachmentArrayNonUniformIndexingNative;
-      robustBufferAccessUpdateAfterBind                    = rhs.robustBufferAccessUpdateAfterBind;
-      quadDivergentImplicitLod                             = rhs.quadDivergentImplicitLod;
-      maxPerStageDescriptorUpdateAfterBindSamplers         = rhs.maxPerStageDescriptorUpdateAfterBindSamplers;
-      maxPerStageDescriptorUpdateAfterBindUniformBuffers   = rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers;
-      maxPerStageDescriptorUpdateAfterBindStorageBuffers   = rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers;
-      maxPerStageDescriptorUpdateAfterBindSampledImages    = rhs.maxPerStageDescriptorUpdateAfterBindSampledImages;
-      maxPerStageDescriptorUpdateAfterBindStorageImages    = rhs.maxPerStageDescriptorUpdateAfterBindStorageImages;
-      maxPerStageDescriptorUpdateAfterBindInputAttachments = rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments;
-      maxPerStageUpdateAfterBindResources                  = rhs.maxPerStageUpdateAfterBindResources;
-      maxDescriptorSetUpdateAfterBindSamplers              = rhs.maxDescriptorSetUpdateAfterBindSamplers;
-      maxDescriptorSetUpdateAfterBindUniformBuffers        = rhs.maxDescriptorSetUpdateAfterBindUniformBuffers;
-      maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
-      maxDescriptorSetUpdateAfterBindStorageBuffers        = rhs.maxDescriptorSetUpdateAfterBindStorageBuffers;
-      maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
-      maxDescriptorSetUpdateAfterBindSampledImages         = rhs.maxDescriptorSetUpdateAfterBindSampledImages;
-      maxDescriptorSetUpdateAfterBindStorageImages         = rhs.maxDescriptorSetUpdateAfterBindStorageImages;
-      maxDescriptorSetUpdateAfterBindInputAttachments      = rhs.maxDescriptorSetUpdateAfterBindInputAttachments;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDescriptorIndexingProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties *>( this );
-    }
-
-    operator VkPhysicalDeviceDescriptorIndexingProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDescriptorIndexingProperties const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDescriptorIndexingProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxUpdateAfterBindDescriptorsInAllPools == rhs.maxUpdateAfterBindDescriptorsInAllPools ) &&
-             ( shaderUniformBufferArrayNonUniformIndexingNative ==
-               rhs.shaderUniformBufferArrayNonUniformIndexingNative ) &&
-             ( shaderSampledImageArrayNonUniformIndexingNative ==
-               rhs.shaderSampledImageArrayNonUniformIndexingNative ) &&
-             ( shaderStorageBufferArrayNonUniformIndexingNative ==
-               rhs.shaderStorageBufferArrayNonUniformIndexingNative ) &&
-             ( shaderStorageImageArrayNonUniformIndexingNative ==
-               rhs.shaderStorageImageArrayNonUniformIndexingNative ) &&
-             ( shaderInputAttachmentArrayNonUniformIndexingNative ==
-               rhs.shaderInputAttachmentArrayNonUniformIndexingNative ) &&
-             ( robustBufferAccessUpdateAfterBind == rhs.robustBufferAccessUpdateAfterBind ) &&
-             ( quadDivergentImplicitLod == rhs.quadDivergentImplicitLod ) &&
-             ( maxPerStageDescriptorUpdateAfterBindSamplers == rhs.maxPerStageDescriptorUpdateAfterBindSamplers ) &&
-             ( maxPerStageDescriptorUpdateAfterBindUniformBuffers ==
-               rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers ) &&
-             ( maxPerStageDescriptorUpdateAfterBindStorageBuffers ==
-               rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers ) &&
-             ( maxPerStageDescriptorUpdateAfterBindSampledImages ==
-               rhs.maxPerStageDescriptorUpdateAfterBindSampledImages ) &&
-             ( maxPerStageDescriptorUpdateAfterBindStorageImages ==
-               rhs.maxPerStageDescriptorUpdateAfterBindStorageImages ) &&
-             ( maxPerStageDescriptorUpdateAfterBindInputAttachments ==
-               rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments ) &&
-             ( maxPerStageUpdateAfterBindResources == rhs.maxPerStageUpdateAfterBindResources ) &&
-             ( maxDescriptorSetUpdateAfterBindSamplers == rhs.maxDescriptorSetUpdateAfterBindSamplers ) &&
-             ( maxDescriptorSetUpdateAfterBindUniformBuffers == rhs.maxDescriptorSetUpdateAfterBindUniformBuffers ) &&
-             ( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ==
-               rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ) &&
-             ( maxDescriptorSetUpdateAfterBindStorageBuffers == rhs.maxDescriptorSetUpdateAfterBindStorageBuffers ) &&
-             ( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ==
-               rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ) &&
-             ( maxDescriptorSetUpdateAfterBindSampledImages == rhs.maxDescriptorSetUpdateAfterBindSampledImages ) &&
-             ( maxDescriptorSetUpdateAfterBindStorageImages == rhs.maxDescriptorSetUpdateAfterBindStorageImages ) &&
-             ( maxDescriptorSetUpdateAfterBindInputAttachments == rhs.maxDescriptorSetUpdateAfterBindInputAttachments );
-    }
-
-    bool operator!=( PhysicalDeviceDescriptorIndexingProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorIndexingProperties;
-    void *                                    pNext = {};
-    uint32_t                                  maxUpdateAfterBindDescriptorsInAllPools              = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderUniformBufferArrayNonUniformIndexingNative     = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSampledImageArrayNonUniformIndexingNative      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageBufferArrayNonUniformIndexingNative     = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageImageArrayNonUniformIndexingNative      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderInputAttachmentArrayNonUniformIndexingNative   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              robustBufferAccessUpdateAfterBind                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              quadDivergentImplicitLod                             = {};
-    uint32_t                                  maxPerStageDescriptorUpdateAfterBindSamplers         = {};
-    uint32_t                                  maxPerStageDescriptorUpdateAfterBindUniformBuffers   = {};
-    uint32_t                                  maxPerStageDescriptorUpdateAfterBindStorageBuffers   = {};
-    uint32_t                                  maxPerStageDescriptorUpdateAfterBindSampledImages    = {};
-    uint32_t                                  maxPerStageDescriptorUpdateAfterBindStorageImages    = {};
-    uint32_t                                  maxPerStageDescriptorUpdateAfterBindInputAttachments = {};
-    uint32_t                                  maxPerStageUpdateAfterBindResources                  = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindSamplers              = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindUniformBuffers        = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindStorageBuffers        = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindSampledImages         = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindStorageImages         = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindInputAttachments      = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDescriptorIndexingProperties ) ==
-                   sizeof( VkPhysicalDeviceDescriptorIndexingProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDescriptorIndexingProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDescriptorIndexingProperties>
-  {
-    using Type = PhysicalDeviceDescriptorIndexingProperties;
-  };
-
-  struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands_ = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceGeneratedCommands( deviceGeneratedCommands_ )
-    {}
-
-    PhysicalDeviceDeviceGeneratedCommandsFeaturesNV( VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDeviceGeneratedCommandsFeaturesNV &
-      operator=( VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDeviceGeneratedCommandsFeaturesNV &
-      operator=( PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      deviceGeneratedCommands = rhs.deviceGeneratedCommands;
-
-      return *this;
-    }
-
-    PhysicalDeviceDeviceGeneratedCommandsFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceDeviceGeneratedCommandsFeaturesNV &
-      setDeviceGeneratedCommands( VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands_ ) VULKAN_HPP_NOEXCEPT
-    {
-      deviceGeneratedCommands = deviceGeneratedCommands_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( deviceGeneratedCommands == rhs.deviceGeneratedCommands );
-    }
-
-    bool operator!=( PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              deviceGeneratedCommands = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDeviceGeneratedCommandsFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV>
-  {
-    using Type = PhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
-  };
-
-  struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
-      uint32_t maxGraphicsShaderGroupCount_              = {},
-      uint32_t maxIndirectSequenceCount_                 = {},
-      uint32_t maxIndirectCommandsTokenCount_            = {},
-      uint32_t maxIndirectCommandsStreamCount_           = {},
-      uint32_t maxIndirectCommandsTokenOffset_           = {},
-      uint32_t maxIndirectCommandsStreamStride_          = {},
-      uint32_t minSequencesCountBufferOffsetAlignment_   = {},
-      uint32_t minSequencesIndexBufferOffsetAlignment_   = {},
-      uint32_t minIndirectCommandsBufferOffsetAlignment_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxGraphicsShaderGroupCount( maxGraphicsShaderGroupCount_ )
-      , maxIndirectSequenceCount( maxIndirectSequenceCount_ )
-      , maxIndirectCommandsTokenCount( maxIndirectCommandsTokenCount_ )
-      , maxIndirectCommandsStreamCount( maxIndirectCommandsStreamCount_ )
-      , maxIndirectCommandsTokenOffset( maxIndirectCommandsTokenOffset_ )
-      , maxIndirectCommandsStreamStride( maxIndirectCommandsStreamStride_ )
-      , minSequencesCountBufferOffsetAlignment( minSequencesCountBufferOffsetAlignment_ )
-      , minSequencesIndexBufferOffsetAlignment( minSequencesIndexBufferOffsetAlignment_ )
-      , minIndirectCommandsBufferOffsetAlignment( minIndirectCommandsBufferOffsetAlignment_ )
-    {}
-
-    PhysicalDeviceDeviceGeneratedCommandsPropertiesNV( VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDeviceGeneratedCommandsPropertiesNV &
-      operator=( VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDeviceGeneratedCommandsPropertiesNV &
-      operator=( PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                    = rhs.pNext;
-      maxGraphicsShaderGroupCount              = rhs.maxGraphicsShaderGroupCount;
-      maxIndirectSequenceCount                 = rhs.maxIndirectSequenceCount;
-      maxIndirectCommandsTokenCount            = rhs.maxIndirectCommandsTokenCount;
-      maxIndirectCommandsStreamCount           = rhs.maxIndirectCommandsStreamCount;
-      maxIndirectCommandsTokenOffset           = rhs.maxIndirectCommandsTokenOffset;
-      maxIndirectCommandsStreamStride          = rhs.maxIndirectCommandsStreamStride;
-      minSequencesCountBufferOffsetAlignment   = rhs.minSequencesCountBufferOffsetAlignment;
-      minSequencesIndexBufferOffsetAlignment   = rhs.minSequencesIndexBufferOffsetAlignment;
-      minIndirectCommandsBufferOffsetAlignment = rhs.minIndirectCommandsBufferOffsetAlignment;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxGraphicsShaderGroupCount == rhs.maxGraphicsShaderGroupCount ) &&
-             ( maxIndirectSequenceCount == rhs.maxIndirectSequenceCount ) &&
-             ( maxIndirectCommandsTokenCount == rhs.maxIndirectCommandsTokenCount ) &&
-             ( maxIndirectCommandsStreamCount == rhs.maxIndirectCommandsStreamCount ) &&
-             ( maxIndirectCommandsTokenOffset == rhs.maxIndirectCommandsTokenOffset ) &&
-             ( maxIndirectCommandsStreamStride == rhs.maxIndirectCommandsStreamStride ) &&
-             ( minSequencesCountBufferOffsetAlignment == rhs.minSequencesCountBufferOffsetAlignment ) &&
-             ( minSequencesIndexBufferOffsetAlignment == rhs.minSequencesIndexBufferOffsetAlignment ) &&
-             ( minIndirectCommandsBufferOffsetAlignment == rhs.minIndirectCommandsBufferOffsetAlignment );
-    }
-
-    bool operator!=( PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
-    void *                                    pNext = {};
-    uint32_t                                  maxGraphicsShaderGroupCount              = {};
-    uint32_t                                  maxIndirectSequenceCount                 = {};
-    uint32_t                                  maxIndirectCommandsTokenCount            = {};
-    uint32_t                                  maxIndirectCommandsStreamCount           = {};
-    uint32_t                                  maxIndirectCommandsTokenOffset           = {};
-    uint32_t                                  maxIndirectCommandsStreamStride          = {};
-    uint32_t                                  minSequencesCountBufferOffsetAlignment   = {};
-    uint32_t                                  minSequencesIndexBufferOffsetAlignment   = {};
-    uint32_t                                  minIndirectCommandsBufferOffsetAlignment = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDeviceGeneratedCommandsPropertiesNV ) ==
-                   sizeof( VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV>
-  {
-    using Type = PhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
-  };
-
-  struct PhysicalDeviceDiagnosticsConfigFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceDiagnosticsConfigFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig_ = {} ) VULKAN_HPP_NOEXCEPT
-      : diagnosticsConfig( diagnosticsConfig_ )
-    {}
-
-    PhysicalDeviceDiagnosticsConfigFeaturesNV( VkPhysicalDeviceDiagnosticsConfigFeaturesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDiagnosticsConfigFeaturesNV &
-      operator=( VkPhysicalDeviceDiagnosticsConfigFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDiagnosticsConfigFeaturesNV &
-      operator=( PhysicalDeviceDiagnosticsConfigFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      diagnosticsConfig = rhs.diagnosticsConfig;
-
-      return *this;
-    }
-
-    PhysicalDeviceDiagnosticsConfigFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceDiagnosticsConfigFeaturesNV &
-      setDiagnosticsConfig( VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig_ ) VULKAN_HPP_NOEXCEPT
-    {
-      diagnosticsConfig = diagnosticsConfig_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDiagnosticsConfigFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDiagnosticsConfigFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceDiagnosticsConfigFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDiagnosticsConfigFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDiagnosticsConfigFeaturesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDiagnosticsConfigFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( diagnosticsConfig == rhs.diagnosticsConfig );
-    }
-
-    bool operator!=( PhysicalDeviceDiagnosticsConfigFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              diagnosticsConfig = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDiagnosticsConfigFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceDiagnosticsConfigFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDiagnosticsConfigFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV>
-  {
-    using Type = PhysicalDeviceDiagnosticsConfigFeaturesNV;
-  };
-
-  struct PhysicalDeviceDiscardRectanglePropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceDiscardRectanglePropertiesEXT( uint32_t maxDiscardRectangles_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxDiscardRectangles( maxDiscardRectangles_ )
-    {}
-
-    PhysicalDeviceDiscardRectanglePropertiesEXT( VkPhysicalDeviceDiscardRectanglePropertiesEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDiscardRectanglePropertiesEXT &
-      operator=( VkPhysicalDeviceDiscardRectanglePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDiscardRectanglePropertiesEXT &
-      operator=( PhysicalDeviceDiscardRectanglePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      maxDiscardRectangles = rhs.maxDiscardRectangles;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDiscardRectanglePropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT *>( this );
-    }
-
-    operator VkPhysicalDeviceDiscardRectanglePropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDiscardRectanglePropertiesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDiscardRectanglePropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxDiscardRectangles == rhs.maxDiscardRectangles );
-    }
-
-    bool operator!=( PhysicalDeviceDiscardRectanglePropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  maxDiscardRectangles = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDiscardRectanglePropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceDiscardRectanglePropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDiscardRectanglePropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT>
-  {
-    using Type = PhysicalDeviceDiscardRectanglePropertiesEXT;
-  };
-
-  struct PhysicalDeviceDriverProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceDriverProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDriverProperties(
-      VULKAN_HPP_NAMESPACE::DriverId                    driverID_   = VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary,
-      std::array<char, VK_MAX_DRIVER_NAME_SIZE> const & driverName_ = {},
-      std::array<char, VK_MAX_DRIVER_INFO_SIZE> const & driverInfo_ = {},
-      VULKAN_HPP_NAMESPACE::ConformanceVersion          conformanceVersion_ = {} ) VULKAN_HPP_NOEXCEPT
-      : driverID( driverID_ )
-      , driverName( driverName_ )
-      , driverInfo( driverInfo_ )
-      , conformanceVersion( conformanceVersion_ )
-    {}
-
-    PhysicalDeviceDriverProperties( VkPhysicalDeviceDriverProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceDriverProperties & operator=( VkPhysicalDeviceDriverProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceDriverProperties & operator=( PhysicalDeviceDriverProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      driverID           = rhs.driverID;
-      driverName         = rhs.driverName;
-      driverInfo         = rhs.driverInfo;
-      conformanceVersion = rhs.conformanceVersion;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceDriverProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceDriverProperties *>( this );
-    }
-
-    operator VkPhysicalDeviceDriverProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceDriverProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceDriverProperties const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceDriverProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( driverID == rhs.driverID ) &&
-             ( driverName == rhs.driverName ) && ( driverInfo == rhs.driverInfo ) &&
-             ( conformanceVersion == rhs.conformanceVersion );
-    }
-
-    bool operator!=( PhysicalDeviceDriverProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::ePhysicalDeviceDriverProperties;
-    void *                                    pNext    = {};
-    VULKAN_HPP_NAMESPACE::DriverId            driverID = VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary;
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_NAME_SIZE> driverName         = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_INFO_SIZE> driverInfo         = {};
-    VULKAN_HPP_NAMESPACE::ConformanceVersion                            conformanceVersion = {};
-  };
-  static_assert( sizeof( PhysicalDeviceDriverProperties ) == sizeof( VkPhysicalDeviceDriverProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceDriverProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceDriverProperties>
-  {
-    using Type = PhysicalDeviceDriverProperties;
-  };
-
-  struct PhysicalDeviceExclusiveScissorFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceExclusiveScissorFeaturesNV( VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor_ = {} )
-      VULKAN_HPP_NOEXCEPT : exclusiveScissor( exclusiveScissor_ )
-    {}
-
-    PhysicalDeviceExclusiveScissorFeaturesNV( VkPhysicalDeviceExclusiveScissorFeaturesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceExclusiveScissorFeaturesNV &
-      operator=( VkPhysicalDeviceExclusiveScissorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceExclusiveScissorFeaturesNV &
-      operator=( PhysicalDeviceExclusiveScissorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      exclusiveScissor = rhs.exclusiveScissor;
-
-      return *this;
-    }
-
-    PhysicalDeviceExclusiveScissorFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceExclusiveScissorFeaturesNV &
-      setExclusiveScissor( VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      exclusiveScissor = exclusiveScissor_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceExclusiveScissorFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV *>( this );
-    }
-
-    operator VkPhysicalDeviceExclusiveScissorFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceExclusiveScissorFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceExclusiveScissorFeaturesNV const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceExclusiveScissorFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( exclusiveScissor == rhs.exclusiveScissor );
-    }
-
-    bool operator!=( PhysicalDeviceExclusiveScissorFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              exclusiveScissor = {};
-  };
-  static_assert( sizeof( PhysicalDeviceExclusiveScissorFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceExclusiveScissorFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceExclusiveScissorFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV>
-  {
-    using Type = PhysicalDeviceExclusiveScissorFeaturesNV;
-  };
-
-  struct PhysicalDeviceExtendedDynamicStateFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedDynamicStateFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState_ = {} ) VULKAN_HPP_NOEXCEPT
-      : extendedDynamicState( extendedDynamicState_ )
-    {}
-
-    PhysicalDeviceExtendedDynamicStateFeaturesEXT( VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceExtendedDynamicStateFeaturesEXT &
-      operator=( VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceExtendedDynamicStateFeaturesEXT &
-      operator=( PhysicalDeviceExtendedDynamicStateFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      extendedDynamicState = rhs.extendedDynamicState;
-
-      return *this;
-    }
-
-    PhysicalDeviceExtendedDynamicStateFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceExtendedDynamicStateFeaturesEXT &
-      setExtendedDynamicState( VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extendedDynamicState = extendedDynamicState_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *>( this );
-    }
-
-    operator VkPhysicalDeviceExtendedDynamicStateFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceExtendedDynamicStateFeaturesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceExtendedDynamicStateFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( extendedDynamicState == rhs.extendedDynamicState );
-    }
-
-    bool operator!=( PhysicalDeviceExtendedDynamicStateFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              extendedDynamicState = {};
-  };
-  static_assert( sizeof( PhysicalDeviceExtendedDynamicStateFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceExtendedDynamicStateFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceExtendedDynamicStateFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT>
-  {
-    using Type = PhysicalDeviceExtendedDynamicStateFeaturesEXT;
-  };
-
-  struct PhysicalDeviceExternalBufferInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalBufferInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalBufferInfo(
-      VULKAN_HPP_NAMESPACE::BufferCreateFlags                flags_ = {},
-      VULKAN_HPP_NAMESPACE::BufferUsageFlags                 usage_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , usage( usage_ )
-      , handleType( handleType_ )
-    {}
-
-    PhysicalDeviceExternalBufferInfo( VkPhysicalDeviceExternalBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceExternalBufferInfo & operator=( VkPhysicalDeviceExternalBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceExternalBufferInfo & operator=( PhysicalDeviceExternalBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      flags      = rhs.flags;
-      usage      = rhs.usage;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    PhysicalDeviceExternalBufferInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceExternalBufferInfo & setFlags( VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PhysicalDeviceExternalBufferInfo & setUsage( VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      usage = usage_;
-      return *this;
-    }
-
-    PhysicalDeviceExternalBufferInfo &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceExternalBufferInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( this );
-    }
-
-    operator VkPhysicalDeviceExternalBufferInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceExternalBufferInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceExternalBufferInfo const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceExternalBufferInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( usage == rhs.usage ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( PhysicalDeviceExternalBufferInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType              sType = StructureType::ePhysicalDeviceExternalBufferInfo;
-    const void *                                           pNext = {};
-    VULKAN_HPP_NAMESPACE::BufferCreateFlags                flags = {};
-    VULKAN_HPP_NAMESPACE::BufferUsageFlags                 usage = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( PhysicalDeviceExternalBufferInfo ) == sizeof( VkPhysicalDeviceExternalBufferInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceExternalBufferInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceExternalBufferInfo>
-  {
-    using Type = PhysicalDeviceExternalBufferInfo;
-  };
-
-  struct PhysicalDeviceExternalFenceInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceExternalFenceInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalFenceInfo(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportFenceFdInfoKHR(
+      VULKAN_HPP_NAMESPACE::Fence fence_ = {},
+      VULKAN_HPP_NAMESPACE::FenceImportFlags flags_ = {},
       VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-    {}
+          VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd,
+      int fd_ = {}) VULKAN_HPP_NOEXCEPT : fence(fence_),
+                                          flags(flags_),
+                                          handleType(handleType_),
+                                          fd(fd_) {}
 
-    PhysicalDeviceExternalFenceInfo( VkPhysicalDeviceExternalFenceInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR ImportFenceFdInfoKHR(ImportFenceFdInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceExternalFenceInfo & operator=( VkPhysicalDeviceExternalFenceInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo const *>( &rhs );
-      return *this;
-    }
+  ImportFenceFdInfoKHR(VkImportFenceFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImportFenceFdInfoKHR(
+            *reinterpret_cast<ImportFenceFdInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceExternalFenceInfo & operator=( PhysicalDeviceExternalFenceInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      handleType = rhs.handleType;
+  VULKAN_HPP_CONSTEXPR_14 ImportFenceFdInfoKHR &
+  operator=(ImportFenceFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  ImportFenceFdInfoKHR &
+  operator=(VkImportFenceFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR const *>(
+            &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceExternalFenceInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  ImportFenceFdInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceExternalFenceInfo &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
+  ImportFenceFdInfoKHR &
+  setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT {
+    fence = fence_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceExternalFenceInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( this );
-    }
+  ImportFenceFdInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::FenceImportFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceExternalFenceInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceExternalFenceInfo *>( this );
-    }
+  ImportFenceFdInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceExternalFenceInfo const & ) const = default;
+  ImportFenceFdInfoKHR &setFd(int fd_) VULKAN_HPP_NOEXCEPT {
+    fd = fd_;
+    return *this;
+  }
+
+  operator VkImportFenceFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportFenceFdInfoKHR *>(this);
+  }
+
+  operator VkImportFenceFdInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportFenceFdInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportFenceFdInfoKHR const &) const = default;
 #else
-    bool operator==( PhysicalDeviceExternalFenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType );
-    }
+  bool operator==(ImportFenceFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fence == rhs.fence) && (flags == rhs.flags) &&
+           (handleType == rhs.handleType) && (fd == rhs.fd);
+  }
 
-    bool operator!=( PhysicalDeviceExternalFenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ImportFenceFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::ePhysicalDeviceExternalFenceInfo;
-    const void *                                          pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportFenceFdInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Fence fence = {};
+  VULKAN_HPP_NAMESPACE::FenceImportFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
       VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( PhysicalDeviceExternalFenceInfo ) == sizeof( VkPhysicalDeviceExternalFenceInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceExternalFenceInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+  int fd = {};
+};
+static_assert(sizeof(ImportFenceFdInfoKHR) == sizeof(VkImportFenceFdInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportFenceFdInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceExternalFenceInfo>
-  {
-    using Type = PhysicalDeviceExternalFenceInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eImportFenceFdInfoKHR> {
+  using Type = ImportFenceFdInfoKHR;
+};
 
-  struct PhysicalDeviceExternalImageFormatInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceExternalImageFormatInfo;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ImportFenceWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportFenceWin32HandleInfoKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalImageFormatInfo(
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportFenceWin32HandleInfoKHR(
+      VULKAN_HPP_NAMESPACE::Fence fence_ = {},
+      VULKAN_HPP_NAMESPACE::FenceImportFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd,
+      HANDLE handle_ = {}, LPCWSTR name_ = {}) VULKAN_HPP_NOEXCEPT
+      : fence(fence_),
+        flags(flags_),
+        handleType(handleType_),
+        handle(handle_),
+        name(name_) {}
 
-    PhysicalDeviceExternalImageFormatInfo( VkPhysicalDeviceExternalImageFormatInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR ImportFenceWin32HandleInfoKHR(
+      ImportFenceWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceExternalImageFormatInfo &
-      operator=( VkPhysicalDeviceExternalImageFormatInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceExternalImageFormatInfo &
-      operator=( PhysicalDeviceExternalImageFormatInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    PhysicalDeviceExternalImageFormatInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceExternalImageFormatInfo &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceExternalImageFormatInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo *>( this );
-    }
-
-    operator VkPhysicalDeviceExternalImageFormatInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceExternalImageFormatInfo const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceExternalImageFormatInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( PhysicalDeviceExternalImageFormatInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalImageFormatInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( PhysicalDeviceExternalImageFormatInfo ) == sizeof( VkPhysicalDeviceExternalImageFormatInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceExternalImageFormatInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceExternalImageFormatInfo>
-  {
-    using Type = PhysicalDeviceExternalImageFormatInfo;
-  };
-
-  struct PhysicalDeviceExternalMemoryHostPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalMemoryHostPropertiesEXT(
-      VULKAN_HPP_NAMESPACE::DeviceSize minImportedHostPointerAlignment_ = {} ) VULKAN_HPP_NOEXCEPT
-      : minImportedHostPointerAlignment( minImportedHostPointerAlignment_ )
-    {}
-
-    PhysicalDeviceExternalMemoryHostPropertiesEXT( VkPhysicalDeviceExternalMemoryHostPropertiesEXT const & rhs )
+  ImportFenceWin32HandleInfoKHR(VkImportFenceWin32HandleInfoKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : ImportFenceWin32HandleInfoKHR(
+            *reinterpret_cast<ImportFenceWin32HandleInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceExternalMemoryHostPropertiesEXT &
-      operator=( VkPhysicalDeviceExternalMemoryHostPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ImportFenceWin32HandleInfoKHR &operator=(
+      ImportFenceWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceExternalMemoryHostPropertiesEXT &
-      operator=( PhysicalDeviceExternalMemoryHostPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                           = rhs.pNext;
-      minImportedHostPointerAlignment = rhs.minImportedHostPointerAlignment;
+  ImportFenceWin32HandleInfoKHR &
+  operator=(VkImportFenceWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  ImportFenceWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>( this );
-    }
+  ImportFenceWin32HandleInfoKHR &
+  setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT {
+    fence = fence_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceExternalMemoryHostPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>( this );
-    }
+  ImportFenceWin32HandleInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::FenceImportFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceExternalMemoryHostPropertiesEXT const & ) const = default;
+  ImportFenceWin32HandleInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportFenceWin32HandleInfoKHR &setHandle(HANDLE handle_) VULKAN_HPP_NOEXCEPT {
+    handle = handle_;
+    return *this;
+  }
+
+  ImportFenceWin32HandleInfoKHR &setName(LPCWSTR name_) VULKAN_HPP_NOEXCEPT {
+    name = name_;
+    return *this;
+  }
+
+  operator VkImportFenceWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkImportFenceWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportFenceWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportFenceWin32HandleInfoKHR const &) const = default;
 #else
-    bool operator==( PhysicalDeviceExternalMemoryHostPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( minImportedHostPointerAlignment == rhs.minImportedHostPointerAlignment );
-    }
+  bool operator==(ImportFenceWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fence == rhs.fence) && (flags == rhs.flags) &&
+           (handleType == rhs.handleType) && (handle == rhs.handle) &&
+           (name == rhs.name);
+  }
 
-    bool operator!=( PhysicalDeviceExternalMemoryHostPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ImportFenceWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          minImportedHostPointerAlignment = {};
-  };
-  static_assert( sizeof( PhysicalDeviceExternalMemoryHostPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceExternalMemoryHostPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceExternalMemoryHostPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportFenceWin32HandleInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Fence fence = {};
+  VULKAN_HPP_NAMESPACE::FenceImportFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
+  HANDLE handle = {};
+  LPCWSTR name = {};
+};
+static_assert(sizeof(ImportFenceWin32HandleInfoKHR) ==
+                  sizeof(VkImportFenceWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportFenceWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT>
-  {
-    using Type = PhysicalDeviceExternalMemoryHostPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eImportFenceWin32HandleInfoKHR> {
+  using Type = ImportFenceWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  struct PhysicalDeviceExternalSemaphoreInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct ImportSemaphoreFdInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportSemaphoreFdInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportSemaphoreFdInfoKHR(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+      VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd,
+      int fd_ = {}) VULKAN_HPP_NOEXCEPT : semaphore(semaphore_),
+                                          flags(flags_),
+                                          handleType(handleType_),
+                                          fd(fd_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportSemaphoreFdInfoKHR(
+      ImportSemaphoreFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportSemaphoreFdInfoKHR(VkImportSemaphoreFdInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImportSemaphoreFdInfoKHR(
+            *reinterpret_cast<ImportSemaphoreFdInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreFdInfoKHR &
+  operator=(ImportSemaphoreFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportSemaphoreFdInfoKHR &
+  operator=(VkImportSemaphoreFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  ImportSemaphoreFdInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportSemaphoreFdInfoKHR &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
+
+  ImportSemaphoreFdInfoKHR &setFlags(
+      VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ImportSemaphoreFdInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportSemaphoreFdInfoKHR &setFd(int fd_) VULKAN_HPP_NOEXCEPT {
+    fd = fd_;
+    return *this;
+  }
+
+  operator VkImportSemaphoreFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>(this);
+  }
+
+  operator VkImportSemaphoreFdInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportSemaphoreFdInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportSemaphoreFdInfoKHR const &) const = default;
+#else
+  bool
+  operator==(ImportSemaphoreFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (flags == rhs.flags) &&
+           (handleType == rhs.handleType) && (fd == rhs.fd);
+  }
+
+  bool
+  operator!=(ImportSemaphoreFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportSemaphoreFdInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
+  int fd = {};
+};
+static_assert(sizeof(ImportSemaphoreFdInfoKHR) ==
+                  sizeof(VkImportSemaphoreFdInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportSemaphoreFdInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImportSemaphoreFdInfoKHR> {
+  using Type = ImportSemaphoreFdInfoKHR;
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ImportSemaphoreWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportSemaphoreWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportSemaphoreWin32HandleInfoKHR(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+      VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd,
+      HANDLE handle_ = {}, LPCWSTR name_ = {}) VULKAN_HPP_NOEXCEPT
+      : semaphore(semaphore_),
+        flags(flags_),
+        handleType(handleType_),
+        handle(handle_),
+        name(name_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportSemaphoreWin32HandleInfoKHR(
+      ImportSemaphoreWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportSemaphoreWin32HandleInfoKHR(
+      VkImportSemaphoreWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImportSemaphoreWin32HandleInfoKHR(
+            *reinterpret_cast<ImportSemaphoreWin32HandleInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreWin32HandleInfoKHR &
+  operator=(ImportSemaphoreWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportSemaphoreWin32HandleInfoKHR &operator=(
+      VkImportSemaphoreWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  ImportSemaphoreWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportSemaphoreWin32HandleInfoKHR &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
+
+  ImportSemaphoreWin32HandleInfoKHR &setFlags(
+      VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ImportSemaphoreWin32HandleInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportSemaphoreWin32HandleInfoKHR &
+  setHandle(HANDLE handle_) VULKAN_HPP_NOEXCEPT {
+    handle = handle_;
+    return *this;
+  }
+
+  ImportSemaphoreWin32HandleInfoKHR &
+  setName(LPCWSTR name_) VULKAN_HPP_NOEXCEPT {
+    name = name_;
+    return *this;
+  }
+
+  operator VkImportSemaphoreWin32HandleInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkImportSemaphoreWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportSemaphoreWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportSemaphoreWin32HandleInfoKHR const &) const = default;
+#else
+  bool operator==(ImportSemaphoreWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (flags == rhs.flags) &&
+           (handleType == rhs.handleType) && (handle == rhs.handle) &&
+           (name == rhs.name);
+  }
+
+  bool operator!=(ImportSemaphoreWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportSemaphoreWin32HandleInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
+  HANDLE handle = {};
+  LPCWSTR name = {};
+};
+static_assert(sizeof(ImportSemaphoreWin32HandleInfoKHR) ==
+                  sizeof(VkImportSemaphoreWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportSemaphoreWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImportSemaphoreWin32HandleInfoKHR> {
+  using Type = ImportSemaphoreWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct ImportSemaphoreZirconHandleInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportSemaphoreZirconHandleInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+      VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd,
+      zx_handle_t zirconHandle_ = {}) VULKAN_HPP_NOEXCEPT
+      : semaphore(semaphore_),
+        flags(flags_),
+        handleType(handleType_),
+        zirconHandle(zirconHandle_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportSemaphoreZirconHandleInfoFUCHSIA(
+      ImportSemaphoreZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportSemaphoreZirconHandleInfoFUCHSIA(
+      VkImportSemaphoreZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImportSemaphoreZirconHandleInfoFUCHSIA(
+            *reinterpret_cast<ImportSemaphoreZirconHandleInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreZirconHandleInfoFUCHSIA &
+  operator=(ImportSemaphoreZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportSemaphoreZirconHandleInfoFUCHSIA &operator=(
+      VkImportSemaphoreZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA const *>(
+        &rhs);
+    return *this;
+  }
+
+  ImportSemaphoreZirconHandleInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportSemaphoreZirconHandleInfoFUCHSIA &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
+
+  ImportSemaphoreZirconHandleInfoFUCHSIA &setFlags(
+      VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ImportSemaphoreZirconHandleInfoFUCHSIA &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportSemaphoreZirconHandleInfoFUCHSIA &
+  setZirconHandle(zx_handle_t zirconHandle_) VULKAN_HPP_NOEXCEPT {
+    zirconHandle = zirconHandle_;
+    return *this;
+  }
+
+  operator VkImportSemaphoreZirconHandleInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>(
+        this);
+  }
+
+  operator VkImportSemaphoreZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportSemaphoreZirconHandleInfoFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(ImportSemaphoreZirconHandleInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(ImportSemaphoreZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (flags == rhs.flags) &&
+           (handleType == rhs.handleType) &&
+           (memcmp(&zirconHandle, &rhs.zirconHandle, sizeof(zx_handle_t)) == 0);
+  }
+
+  bool operator!=(ImportSemaphoreZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
+  zx_handle_t zirconHandle = {};
+};
+static_assert(sizeof(ImportSemaphoreZirconHandleInfoFUCHSIA) ==
+                  sizeof(VkImportSemaphoreZirconHandleInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImportSemaphoreZirconHandleInfoFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA> {
+  using Type = ImportSemaphoreZirconHandleInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct InitializePerformanceApiInfoINTEL {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eInitializePerformanceApiInfoINTEL;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  InitializePerformanceApiInfoINTEL(void *pUserData_ = {}) VULKAN_HPP_NOEXCEPT
+      : pUserData(pUserData_) {}
+
+  VULKAN_HPP_CONSTEXPR InitializePerformanceApiInfoINTEL(
+      InitializePerformanceApiInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  InitializePerformanceApiInfoINTEL(
+      VkInitializePerformanceApiInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
+      : InitializePerformanceApiInfoINTEL(
+            *reinterpret_cast<InitializePerformanceApiInfoINTEL const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 InitializePerformanceApiInfoINTEL &
+  operator=(InitializePerformanceApiInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  InitializePerformanceApiInfoINTEL &operator=(
+      VkInitializePerformanceApiInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL const *>(&rhs);
+    return *this;
+  }
+
+  InitializePerformanceApiInfoINTEL &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  InitializePerformanceApiInfoINTEL &
+  setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT {
+    pUserData = pUserData_;
+    return *this;
+  }
+
+  operator VkInitializePerformanceApiInfoINTEL const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>(this);
+  }
+
+  operator VkInitializePerformanceApiInfoINTEL &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkInitializePerformanceApiInfoINTEL *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(InitializePerformanceApiInfoINTEL const &) const = default;
+#else
+  bool operator==(InitializePerformanceApiInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pUserData == rhs.pUserData);
+  }
+
+  bool operator!=(InitializePerformanceApiInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eInitializePerformanceApiInfoINTEL;
+  const void *pNext = {};
+  void *pUserData = {};
+};
+static_assert(sizeof(InitializePerformanceApiInfoINTEL) ==
+                  sizeof(VkInitializePerformanceApiInfoINTEL),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<InitializePerformanceApiInfoINTEL>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eInitializePerformanceApiInfoINTEL> {
+  using Type = InitializePerformanceApiInfoINTEL;
+};
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct MemoryRangeFUCHSIA {
+  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*/
+
+  VULKAN_HPP_CONSTEXPR_14 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;
+  }
+
+  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;
+  }
+
+  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 = {};
+};
+static_assert(sizeof(MemoryRangeFUCHSIA) == sizeof(VkMemoryRangeFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryRangeFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eMemoryRangeFUCHSIA> {
+  using Type = MemoryRangeFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct MemoryOpResultFUCHSIA {
+  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*/
+
+  VULKAN_HPP_CONSTEXPR_14 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 = {};
+};
+static_assert(sizeof(MemoryOpResultFUCHSIA) == sizeof(VkMemoryOpResultFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryOpResultFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryOpResultFUCHSIA> {
+  using Type = MemoryOpResultFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct DisplayEventInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayEventInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayEventInfoEXT(
+      VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent_ =
+          VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT::eFirstPixelOut)
+      VULKAN_HPP_NOEXCEPT : displayEvent(displayEvent_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayEventInfoEXT(DisplayEventInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayEventInfoEXT(VkDisplayEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DisplayEventInfoEXT(
+            *reinterpret_cast<DisplayEventInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayEventInfoEXT &
+  operator=(DisplayEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayEventInfoEXT &
+  operator=(VkDisplayEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const *>(
+            &rhs);
+    return *this;
+  }
+
+  DisplayEventInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DisplayEventInfoEXT &
+  setDisplayEvent(VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent_)
+      VULKAN_HPP_NOEXCEPT {
+    displayEvent = displayEvent_;
+    return *this;
+  }
+
+  operator VkDisplayEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayEventInfoEXT *>(this);
+  }
+
+  operator VkDisplayEventInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayEventInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayEventInfoEXT const &) const = default;
+#else
+  bool operator==(DisplayEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (displayEvent == rhs.displayEvent);
+  }
+
+  bool operator!=(DisplayEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayEventInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent =
+      VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT::eFirstPixelOut;
+};
+static_assert(sizeof(DisplayEventInfoEXT) == sizeof(VkDisplayEventInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayEventInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eDisplayEventInfoEXT> {
+  using Type = DisplayEventInfoEXT;
+};
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct ImageFormatConstraintsInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageFormatConstraintsInfoFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageFormatConstraintsInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ = {},
+      VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags_ = {},
+      uint64_t sysmemFormat_ = {}, uint32_t colorSpaceCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA *pColorSpaces_ = {})
+      VULKAN_HPP_NOEXCEPT : requiredFormatFeatures(requiredFormatFeatures_),
+                            flags(flags_),
+                            sysmemFormat(sysmemFormat_),
+                            colorSpaceCount(colorSpaceCount_),
+                            pColorSpaces(pColorSpaces_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageFormatConstraintsInfoFUCHSIA(
+      ImageFormatConstraintsInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatConstraintsInfoFUCHSIA(
+      VkImageFormatConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageFormatConstraintsInfoFUCHSIA(
+            *reinterpret_cast<ImageFormatConstraintsInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA &
+  operator=(ImageFormatConstraintsInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatConstraintsInfoFUCHSIA &operator=(
+      VkImageFormatConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA const *>(&rhs);
+    return *this;
+  }
+
+  ImageFormatConstraintsInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageFormatConstraintsInfoFUCHSIA &setRequiredFormatFeatures(
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_)
+      VULKAN_HPP_NOEXCEPT {
+    requiredFormatFeatures = requiredFormatFeatures_;
+    return *this;
+  }
+
+  ImageFormatConstraintsInfoFUCHSIA &
+  setFlags(VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ImageFormatConstraintsInfoFUCHSIA &
+  setSysmemFormat(uint64_t sysmemFormat_) VULKAN_HPP_NOEXCEPT {
+    sysmemFormat = sysmemFormat_;
+    return *this;
+  }
+
+  ImageFormatConstraintsInfoFUCHSIA &
+  setColorSpaceCount(uint32_t colorSpaceCount_) VULKAN_HPP_NOEXCEPT {
+    colorSpaceCount = colorSpaceCount_;
+    return *this;
+  }
+
+  ImageFormatConstraintsInfoFUCHSIA &setPColorSpaces(
+      const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA *pColorSpaces_)
+      VULKAN_HPP_NOEXCEPT {
+    pColorSpaces = pColorSpaces_;
+    return *this;
+  }
+
+  operator VkImageFormatConstraintsInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageFormatConstraintsInfoFUCHSIA *>(this);
+  }
+
+  operator VkImageFormatConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageFormatConstraintsInfoFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageFormatConstraintsInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(ImageFormatConstraintsInfoFUCHSIA 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!=(ImageFormatConstraintsInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageFormatConstraintsInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures = {};
+  VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags = {};
+  uint64_t sysmemFormat = {};
+  uint32_t colorSpaceCount = {};
+  const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA *pColorSpaces = {};
+};
+static_assert(sizeof(ImageFormatConstraintsInfoFUCHSIA) ==
+                  sizeof(VkImageFormatConstraintsInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageFormatConstraintsInfoFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImageFormatConstraintsInfoFUCHSIA> {
+  using Type = ImageFormatConstraintsInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct ImageConstraintsInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageConstraintsInfoFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFUCHSIA(
+      uint32_t createInfoCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pCreateInfos_ = {},
+      const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA
+          *pFormatConstraints_ = {},
+      uint32_t minBufferCount_ = {}, uint32_t maxBufferCount_ = {},
+      uint32_t minBufferCountForCamping_ = {},
+      uint32_t minBufferCountForDedicatedSlack_ = {},
+      uint32_t minBufferCountForSharedSlack_ = {},
+      VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA 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 ImageConstraintsInfoFUCHSIA(
+      ImageConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageConstraintsInfoFUCHSIA(VkImageConstraintsInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageConstraintsInfoFUCHSIA(
+            *reinterpret_cast<ImageConstraintsInfoFUCHSIA const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageConstraintsInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageCreateInfo> const &createInfos_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA> const
+          &formatConstraints_ = {},
+      uint32_t minBufferCount_ = {}, uint32_t maxBufferCount_ = {},
+      uint32_t minBufferCountForCamping_ = {},
+      uint32_t minBufferCountForDedicatedSlack_ = {},
+      uint32_t minBufferCountForSharedSlack_ = {},
+      VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA 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
+          "::ImageConstraintsInfoFUCHSIA::ImageConstraintsInfoFUCHSIA: "
+          "!formatConstraints_.empty() && ( createInfos_.size() != "
+          "formatConstraints_.size() )");
+    }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageConstraintsInfoFUCHSIA &operator=(
+      ImageConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageConstraintsInfoFUCHSIA &
+  operator=(VkImageConstraintsInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA const *>(&rhs);
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &
+  setCreateInfoCount(uint32_t createInfoCount_) VULKAN_HPP_NOEXCEPT {
+    createInfoCount = createInfoCount_;
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &
+  setPCreateInfos(const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pCreateInfos_)
+      VULKAN_HPP_NOEXCEPT {
+    pCreateInfos = pCreateInfos_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageConstraintsInfoFUCHSIA &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*/
+
+  ImageConstraintsInfoFUCHSIA &setPFormatConstraints(
+      const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA
+          *pFormatConstraints_) VULKAN_HPP_NOEXCEPT {
+    pFormatConstraints = pFormatConstraints_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageConstraintsInfoFUCHSIA &setFormatConstraints(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA> const
+          &formatConstraints_) VULKAN_HPP_NOEXCEPT {
+    createInfoCount = static_cast<uint32_t>(formatConstraints_.size());
+    pFormatConstraints = formatConstraints_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  ImageConstraintsInfoFUCHSIA &
+  setMinBufferCount(uint32_t minBufferCount_) VULKAN_HPP_NOEXCEPT {
+    minBufferCount = minBufferCount_;
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &
+  setMaxBufferCount(uint32_t maxBufferCount_) VULKAN_HPP_NOEXCEPT {
+    maxBufferCount = maxBufferCount_;
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &setMinBufferCountForCamping(
+      uint32_t minBufferCountForCamping_) VULKAN_HPP_NOEXCEPT {
+    minBufferCountForCamping = minBufferCountForCamping_;
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &setMinBufferCountForDedicatedSlack(
+      uint32_t minBufferCountForDedicatedSlack_) VULKAN_HPP_NOEXCEPT {
+    minBufferCountForDedicatedSlack = minBufferCountForDedicatedSlack_;
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &setMinBufferCountForSharedSlack(
+      uint32_t minBufferCountForSharedSlack_) VULKAN_HPP_NOEXCEPT {
+    minBufferCountForSharedSlack = minBufferCountForSharedSlack_;
+    return *this;
+  }
+
+  ImageConstraintsInfoFUCHSIA &
+  setFlags(VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkImageConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>(this);
+  }
+
+  operator VkImageConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageConstraintsInfoFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageConstraintsInfoFUCHSIA const &) const = default;
+#else
+  bool
+  operator==(ImageConstraintsInfoFUCHSIA 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!=(ImageConstraintsInfoFUCHSIA const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageConstraintsInfoFUCHSIA;
+  const void *pNext = {};
+  uint32_t createInfoCount = {};
+  const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pCreateInfos = {};
+  const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA
+      *pFormatConstraints = {};
+  uint32_t minBufferCount = {};
+  uint32_t maxBufferCount = {};
+  uint32_t minBufferCountForCamping = {};
+  uint32_t minBufferCountForDedicatedSlack = {};
+  uint32_t minBufferCountForSharedSlack = {};
+  VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA flags = {};
+};
+static_assert(sizeof(ImageConstraintsInfoFUCHSIA) ==
+                  sizeof(VkImageConstraintsInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageConstraintsInfoFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageConstraintsInfoFUCHSIA> {
+  using Type = ImageConstraintsInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct XYColorEXT {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR XYColorEXT(float x_ = {},
+                                  float y_ = {}) VULKAN_HPP_NOEXCEPT : x(x_),
+                                                                       y(y_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  XYColorEXT(XYColorEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  XYColorEXT(VkXYColorEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : XYColorEXT(*reinterpret_cast<XYColorEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 XYColorEXT &
+  operator=(XYColorEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  XYColorEXT &operator=(VkXYColorEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::XYColorEXT const *>(&rhs);
+    return *this;
+  }
+
+  XYColorEXT &setX(float x_) VULKAN_HPP_NOEXCEPT {
+    x = x_;
+    return *this;
+  }
+
+  XYColorEXT &setY(float y_) VULKAN_HPP_NOEXCEPT {
+    y = y_;
+    return *this;
+  }
+
+  operator VkXYColorEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkXYColorEXT *>(this);
+  }
+
+  operator VkXYColorEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkXYColorEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(XYColorEXT const &) const = default;
+#else
+  bool operator==(XYColorEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (x == rhs.x) && (y == rhs.y);
+  }
+
+  bool operator!=(XYColorEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  float x = {};
+  float y = {};
+};
+static_assert(sizeof(XYColorEXT) == sizeof(VkXYColorEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<XYColorEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+struct HdrMetadataEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eHdrMetadataEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  HdrMetadataEXT(VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryRed_ = {},
+                 VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryGreen_ = {},
+                 VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryBlue_ = {},
+                 VULKAN_HPP_NAMESPACE::XYColorEXT whitePoint_ = {},
+                 float maxLuminance_ = {}, float minLuminance_ = {},
+                 float maxContentLightLevel_ = {},
+                 float maxFrameAverageLightLevel_ = {}) VULKAN_HPP_NOEXCEPT
+      : displayPrimaryRed(displayPrimaryRed_),
+        displayPrimaryGreen(displayPrimaryGreen_),
+        displayPrimaryBlue(displayPrimaryBlue_),
+        whitePoint(whitePoint_),
+        maxLuminance(maxLuminance_),
+        minLuminance(minLuminance_),
+        maxContentLightLevel(maxContentLightLevel_),
+        maxFrameAverageLightLevel(maxFrameAverageLightLevel_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  HdrMetadataEXT(HdrMetadataEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  HdrMetadataEXT(VkHdrMetadataEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : HdrMetadataEXT(*reinterpret_cast<HdrMetadataEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT &
+  operator=(HdrMetadataEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  HdrMetadataEXT &operator=(VkHdrMetadataEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::HdrMetadataEXT const *>(&rhs);
+    return *this;
+  }
+
+  HdrMetadataEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  HdrMetadataEXT &setDisplayPrimaryRed(
+      VULKAN_HPP_NAMESPACE::XYColorEXT const &displayPrimaryRed_)
+      VULKAN_HPP_NOEXCEPT {
+    displayPrimaryRed = displayPrimaryRed_;
+    return *this;
+  }
+
+  HdrMetadataEXT &setDisplayPrimaryGreen(
+      VULKAN_HPP_NAMESPACE::XYColorEXT const &displayPrimaryGreen_)
+      VULKAN_HPP_NOEXCEPT {
+    displayPrimaryGreen = displayPrimaryGreen_;
+    return *this;
+  }
+
+  HdrMetadataEXT &setDisplayPrimaryBlue(
+      VULKAN_HPP_NAMESPACE::XYColorEXT const &displayPrimaryBlue_)
+      VULKAN_HPP_NOEXCEPT {
+    displayPrimaryBlue = displayPrimaryBlue_;
+    return *this;
+  }
+
+  HdrMetadataEXT &setWhitePoint(
+      VULKAN_HPP_NAMESPACE::XYColorEXT const &whitePoint_) VULKAN_HPP_NOEXCEPT {
+    whitePoint = whitePoint_;
+    return *this;
+  }
+
+  HdrMetadataEXT &setMaxLuminance(float maxLuminance_) VULKAN_HPP_NOEXCEPT {
+    maxLuminance = maxLuminance_;
+    return *this;
+  }
+
+  HdrMetadataEXT &setMinLuminance(float minLuminance_) VULKAN_HPP_NOEXCEPT {
+    minLuminance = minLuminance_;
+    return *this;
+  }
+
+  HdrMetadataEXT &
+  setMaxContentLightLevel(float maxContentLightLevel_) VULKAN_HPP_NOEXCEPT {
+    maxContentLightLevel = maxContentLightLevel_;
+    return *this;
+  }
+
+  HdrMetadataEXT &setMaxFrameAverageLightLevel(float maxFrameAverageLightLevel_)
+      VULKAN_HPP_NOEXCEPT {
+    maxFrameAverageLightLevel = maxFrameAverageLightLevel_;
+    return *this;
+  }
+
+  operator VkHdrMetadataEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkHdrMetadataEXT *>(this);
+  }
+
+  operator VkHdrMetadataEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkHdrMetadataEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(HdrMetadataEXT const &) const = default;
+#else
+  bool operator==(HdrMetadataEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (displayPrimaryRed == rhs.displayPrimaryRed) &&
+           (displayPrimaryGreen == rhs.displayPrimaryGreen) &&
+           (displayPrimaryBlue == rhs.displayPrimaryBlue) &&
+           (whitePoint == rhs.whitePoint) &&
+           (maxLuminance == rhs.maxLuminance) &&
+           (minLuminance == rhs.minLuminance) &&
+           (maxContentLightLevel == rhs.maxContentLightLevel) &&
+           (maxFrameAverageLightLevel == rhs.maxFrameAverageLightLevel);
+  }
+
+  bool operator!=(HdrMetadataEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eHdrMetadataEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryRed = {};
+  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryGreen = {};
+  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryBlue = {};
+  VULKAN_HPP_NAMESPACE::XYColorEXT whitePoint = {};
+  float maxLuminance = {};
+  float minLuminance = {};
+  float maxContentLightLevel = {};
+  float maxFrameAverageLightLevel = {};
+};
+static_assert(sizeof(HdrMetadataEXT) == sizeof(VkHdrMetadataEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<HdrMetadataEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eHdrMetadataEXT> {
+  using Type = HdrMetadataEXT;
+};
+
+struct SemaphoreSignalInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreSignalInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SemaphoreSignalInfo(VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
+                      uint64_t value_ = {}) VULKAN_HPP_NOEXCEPT
+      : semaphore(semaphore_),
+        value(value_) {}
+
+  VULKAN_HPP_CONSTEXPR SemaphoreSignalInfo(SemaphoreSignalInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreSignalInfo(VkSemaphoreSignalInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SemaphoreSignalInfo(
+            *reinterpret_cast<SemaphoreSignalInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreSignalInfo &
+  operator=(SemaphoreSignalInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreSignalInfo &
+  operator=(VkSemaphoreSignalInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  SemaphoreSignalInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SemaphoreSignalInfo &
+  setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT {
+    semaphore = semaphore_;
+    return *this;
+  }
+
+  SemaphoreSignalInfo &setValue(uint64_t value_) VULKAN_HPP_NOEXCEPT {
+    value = value_;
+    return *this;
+  }
+
+  operator VkSemaphoreSignalInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreSignalInfo *>(this);
+  }
+
+  operator VkSemaphoreSignalInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreSignalInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreSignalInfo const &) const = default;
+#else
+  bool operator==(SemaphoreSignalInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphore == rhs.semaphore) && (value == rhs.value);
+  }
+
+  bool operator!=(SemaphoreSignalInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSemaphoreSignalInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
+  uint64_t value = {};
+};
+static_assert(sizeof(SemaphoreSignalInfo) == sizeof(VkSemaphoreSignalInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SemaphoreSignalInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSemaphoreSignalInfo> {
+  using Type = SemaphoreSignalInfo;
+};
+using SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
+
+struct SemaphoreWaitInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreWaitInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SemaphoreWaitInfo(VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_ = {},
+                    uint32_t semaphoreCount_ = {},
+                    const VULKAN_HPP_NAMESPACE::Semaphore *pSemaphores_ = {},
+                    const uint64_t *pValues_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        semaphoreCount(semaphoreCount_),
+        pSemaphores(pSemaphores_),
+        pValues(pValues_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SemaphoreWaitInfo(SemaphoreWaitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreWaitInfo(VkSemaphoreWaitInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : SemaphoreWaitInfo(*reinterpret_cast<SemaphoreWaitInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SemaphoreWaitInfo(
+      VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Semaphore> const &semaphores_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &values_ = {})
+      : flags(flags_),
+        semaphoreCount(static_cast<uint32_t>(semaphores_.size())),
+        pSemaphores(semaphores_.data()), pValues(values_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(semaphores_.size() == values_.size());
+#else
+    if (semaphores_.size() != values_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::SemaphoreWaitInfo::SemaphoreWaitInfo: "
+                       "semaphores_.size() != values_.size()");
+    }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreWaitInfo &
+  operator=(SemaphoreWaitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SemaphoreWaitInfo &
+  operator=(VkSemaphoreWaitInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  SemaphoreWaitInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SemaphoreWaitInfo &setFlags(VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  SemaphoreWaitInfo &
+  setSemaphoreCount(uint32_t semaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    semaphoreCount = semaphoreCount_;
+    return *this;
+  }
+
+  SemaphoreWaitInfo &setPSemaphores(
+      const VULKAN_HPP_NAMESPACE::Semaphore *pSemaphores_) VULKAN_HPP_NOEXCEPT {
+    pSemaphores = pSemaphores_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SemaphoreWaitInfo &
+  setSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                const VULKAN_HPP_NAMESPACE::Semaphore> const &semaphores_)
+      VULKAN_HPP_NOEXCEPT {
+    semaphoreCount = static_cast<uint32_t>(semaphores_.size());
+    pSemaphores = semaphores_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  SemaphoreWaitInfo &setPValues(const uint64_t *pValues_) VULKAN_HPP_NOEXCEPT {
+    pValues = pValues_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  SemaphoreWaitInfo &
+  setValues(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+                &values_) VULKAN_HPP_NOEXCEPT {
+    semaphoreCount = static_cast<uint32_t>(values_.size());
+    pValues = values_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkSemaphoreWaitInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreWaitInfo *>(this);
+  }
+
+  operator VkSemaphoreWaitInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreWaitInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreWaitInfo const &) const = default;
+#else
+  bool operator==(SemaphoreWaitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (semaphoreCount == rhs.semaphoreCount) &&
+           (pSemaphores == rhs.pSemaphores) && (pValues == rhs.pValues);
+  }
+
+  bool operator!=(SemaphoreWaitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreWaitInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags = {};
+  uint32_t semaphoreCount = {};
+  const VULKAN_HPP_NAMESPACE::Semaphore *pSemaphores = {};
+  const uint64_t *pValues = {};
+};
+static_assert(sizeof(SemaphoreWaitInfo) == sizeof(VkSemaphoreWaitInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SemaphoreWaitInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSemaphoreWaitInfo> {
+  using Type = SemaphoreWaitInfo;
+};
+using SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+class Device;
+template <typename Dispatch>
+class UniqueHandleTraits<AccelerationStructureKHR, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueAccelerationStructureKHR =
+    UniqueHandle<AccelerationStructureKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<AccelerationStructureNV, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueAccelerationStructureNV =
+    UniqueHandle<AccelerationStructureNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Buffer, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueBuffer = UniqueHandle<Buffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+class UniqueHandleTraits<BufferCollectionFUCHSIA, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueBufferCollectionFUCHSIA =
+    UniqueHandle<BufferCollectionFUCHSIA, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+template <typename Dispatch> class UniqueHandleTraits<BufferView, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueBufferView =
+    UniqueHandle<BufferView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<CommandBuffer, Dispatch> {
+public:
+  using deleter = PoolFree<Device, CommandPool, Dispatch>;
+};
+using UniqueCommandBuffer =
+    UniqueHandle<CommandBuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<CommandPool, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueCommandPool =
+    UniqueHandle<CommandPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<DeferredOperationKHR, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueDeferredOperationKHR =
+    UniqueHandle<DeferredOperationKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<DescriptorPool, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueDescriptorPool =
+    UniqueHandle<DescriptorPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<DescriptorSet, Dispatch> {
+public:
+  using deleter = PoolFree<Device, DescriptorPool, Dispatch>;
+};
+using UniqueDescriptorSet =
+    UniqueHandle<DescriptorSet, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<DescriptorSetLayout, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueDescriptorSetLayout =
+    UniqueHandle<DescriptorSetLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<DescriptorUpdateTemplate, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueDescriptorUpdateTemplate =
+    UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+using UniqueDescriptorUpdateTemplateKHR =
+    UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<DeviceMemory, Dispatch> {
+public:
+  using deleter = ObjectFree<Device, Dispatch>;
+};
+using UniqueDeviceMemory =
+    UniqueHandle<DeviceMemory, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Event, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueEvent = UniqueHandle<Event, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Fence, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueFence = UniqueHandle<Fence, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Framebuffer, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueFramebuffer =
+    UniqueHandle<Framebuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Image, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueImage = UniqueHandle<Image, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<ImageView, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueImageView =
+    UniqueHandle<ImageView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<IndirectCommandsLayoutNV, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueIndirectCommandsLayoutNV =
+    UniqueHandle<IndirectCommandsLayoutNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Pipeline, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniquePipeline =
+    UniqueHandle<Pipeline, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<PipelineCache, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniquePipelineCache =
+    UniqueHandle<PipelineCache, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<PipelineLayout, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniquePipelineLayout =
+    UniqueHandle<PipelineLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<PrivateDataSlotEXT, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniquePrivateDataSlotEXT =
+    UniqueHandle<PrivateDataSlotEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<QueryPool, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueQueryPool =
+    UniqueHandle<QueryPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<RenderPass, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueRenderPass =
+    UniqueHandle<RenderPass, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Sampler, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueSampler = UniqueHandle<Sampler, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<SamplerYcbcrConversion, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueSamplerYcbcrConversion =
+    UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+using UniqueSamplerYcbcrConversionKHR =
+    UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<Semaphore, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueSemaphore =
+    UniqueHandle<Semaphore, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<ShaderModule, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueShaderModule =
+    UniqueHandle<ShaderModule, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<SwapchainKHR, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueSwapchainKHR =
+    UniqueHandle<SwapchainKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<ValidationCacheEXT, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Device, Dispatch>;
+};
+using UniqueValidationCacheEXT =
+    UniqueHandle<ValidationCacheEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+
+class Device {
+public:
+  using CType = VkDevice;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDevice;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDevice;
+
+public:
+  VULKAN_HPP_CONSTEXPR Device() = default;
+  VULKAN_HPP_CONSTEXPR Device(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Device(VkDevice device) VULKAN_HPP_NOEXCEPT
+      : m_device(device) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Device &operator=(VkDevice device) VULKAN_HPP_NOEXCEPT {
+    m_device = device;
+    return *this;
+  }
+#endif
+
+  Device &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_device = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Device const &) const = default;
+#else
+  bool operator==(Device const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_device == rhs.m_device;
+  }
+
+  bool operator!=(Device const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_device != rhs.m_device;
+  }
+
+  bool operator<(Device const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_device < rhs.m_device;
+  }
+#endif
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result acquireFullScreenExclusiveModeEXT(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  acquireFullScreenExclusiveModeEXT(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result acquireNextImage2KHR(
+      const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR *pAcquireInfo,
+      uint32_t *pImageIndex,
+      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 ResultValue<uint32_t> acquireNextImage2KHR(
+      const AcquireNextImageInfoKHR &acquireInfo,
+      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 acquireNextImageKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, uint64_t timeout,
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+      VULKAN_HPP_NAMESPACE::Fence fence, uint32_t *pImageIndex,
+      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 ResultValue<uint32_t> acquireNextImageKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, uint64_t timeout,
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      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 acquirePerformanceConfigurationINTEL(
+      const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL
+          *pAcquireInfo,
+      VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL *pConfiguration,
+      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::PerformanceConfigurationINTEL>::type
+  acquirePerformanceConfigurationINTEL(
+      const PerformanceConfigurationAcquireInfoINTEL &acquireInfo,
+      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::PerformanceConfigurationINTEL, Dispatch>>::type
+      acquirePerformanceConfigurationINTELUnique(
+          const PerformanceConfigurationAcquireInfoINTEL &acquireInfo,
+          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 acquireProfilingLockKHR(
+      const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR *pInfo,
+      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
+  acquireProfilingLockKHR(const AcquireProfilingLockInfoKHR &info,
+                          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 allocateCommandBuffers(
+      const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo *pAllocateInfo,
+      VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename CommandBufferAllocator = std::allocator<CommandBuffer>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<CommandBuffer, CommandBufferAllocator>>::type
+  allocateCommandBuffers(const CommandBufferAllocateInfo &allocateInfo,
+                         Dispatch const &d
+                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename CommandBufferAllocator = std::allocator<CommandBuffer>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = CommandBufferAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, CommandBuffer>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<CommandBuffer, CommandBufferAllocator>>::type
+  allocateCommandBuffers(const CommandBufferAllocateInfo &allocateInfo,
+                         CommandBufferAllocator &commandBufferAllocator,
+                         Dispatch const &d
+                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename CommandBufferAllocator =
+                std::allocator<UniqueHandle<CommandBuffer, Dispatch>>>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<std::vector<
+      UniqueHandle<CommandBuffer, Dispatch>, CommandBufferAllocator>>::type
+  allocateCommandBuffersUnique(
+      const CommandBufferAllocateInfo &allocateInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename CommandBufferAllocator =
+                std::allocator<UniqueHandle<CommandBuffer, Dispatch>>,
+            typename B = CommandBufferAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             UniqueHandle<CommandBuffer, Dispatch>>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<std::vector<
+      UniqueHandle<CommandBuffer, Dispatch>, CommandBufferAllocator>>::type
+  allocateCommandBuffersUnique(
+      const CommandBufferAllocateInfo &allocateInfo,
+      CommandBufferAllocator &commandBufferAllocator,
+      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 allocateDescriptorSets(
+      const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo *pAllocateInfo,
+      VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DescriptorSetAllocator = std::allocator<DescriptorSet>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<DescriptorSet, DescriptorSetAllocator>>::type
+  allocateDescriptorSets(const DescriptorSetAllocateInfo &allocateInfo,
+                         Dispatch const &d
+                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename DescriptorSetAllocator = std::allocator<DescriptorSet>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = DescriptorSetAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, DescriptorSet>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<DescriptorSet, DescriptorSetAllocator>>::type
+  allocateDescriptorSets(const DescriptorSetAllocateInfo &allocateInfo,
+                         DescriptorSetAllocator &descriptorSetAllocator,
+                         Dispatch const &d
+                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename DescriptorSetAllocator =
+                std::allocator<UniqueHandle<DescriptorSet, Dispatch>>>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<std::vector<
+      UniqueHandle<DescriptorSet, Dispatch>, DescriptorSetAllocator>>::type
+  allocateDescriptorSetsUnique(
+      const DescriptorSetAllocateInfo &allocateInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename DescriptorSetAllocator =
+                std::allocator<UniqueHandle<DescriptorSet, Dispatch>>,
+            typename B = DescriptorSetAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             UniqueHandle<DescriptorSet, Dispatch>>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<std::vector<
+      UniqueHandle<DescriptorSet, Dispatch>, DescriptorSetAllocator>>::type
+  allocateDescriptorSetsUnique(
+      const DescriptorSetAllocateInfo &allocateInfo,
+      DescriptorSetAllocator &descriptorSetAllocator,
+      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 allocateMemory(
+      const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo *pAllocateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DeviceMemory *pMemory,
+      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::DeviceMemory>::type
+      allocateMemory(const MemoryAllocateInfo &allocateInfo,
+                     Optional<const 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::DeviceMemory, Dispatch>>::type
+      allocateMemoryUnique(const MemoryAllocateInfo &allocateInfo,
+                           Optional<const 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 bindAccelerationStructureMemoryNV(
+      uint32_t bindInfoCount,
+      const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV
+          *pBindInfos,
+      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
+  bindAccelerationStructureMemoryNV(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                     BindAccelerationStructureMemoryInfoNV> const &bindInfos,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result bindBufferMemory(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      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>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  bindBufferMemory(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                   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*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result bindBufferMemory2(
+      uint32_t bindInfoCount,
+      const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo *pBindInfos,
+      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
+  bindBufferMemory2(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const
+          &bindInfos,
+      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 bindBufferMemory2KHR(
+      uint32_t bindInfoCount,
+      const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo *pBindInfos,
+      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
+  bindBufferMemory2KHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const
+          &bindInfos,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result bindImageMemory(
+      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>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  bindImageMemory(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*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result bindImageMemory2(
+      uint32_t bindInfoCount,
+      const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo *pBindInfos,
+      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
+  bindImageMemory2(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const
+          &bindInfos,
+      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 bindImageMemory2KHR(
+      uint32_t bindInfoCount,
+      const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo *pBindInfos,
+      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
+  bindImageMemory2KHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const
+          &bindInfos,
+      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 buildAccelerationStructuresKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      uint32_t infoCount,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+          *pInfos,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const
+          *ppBuildRangeInfos,
+      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>
+  Result buildAccelerationStructuresKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                     AccelerationStructureBuildGeometryInfoKHR> const &infos,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR
+              *const> const &pBuildRangeInfos,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result compileDeferredNV(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  compileDeferredNV(VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader,
+                    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 copyAccelerationStructureKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR *pInfo,
+      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 Result copyAccelerationStructureKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      const CopyAccelerationStructureInfoKHR &info,
+      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 copyAccelerationStructureToMemoryKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR
+          *pInfo,
+      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 Result copyAccelerationStructureToMemoryKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      const CopyAccelerationStructureToMemoryInfoKHR &info,
+      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 copyMemoryToAccelerationStructureKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR
+          *pInfo,
+      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 Result copyMemoryToAccelerationStructureKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      const CopyMemoryToAccelerationStructureInfoKHR &info,
+      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 createAccelerationStructureKHR(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR
+          *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR *pAccelerationStructure,
+      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::AccelerationStructureKHR>::type
+  createAccelerationStructureKHR(
+      const AccelerationStructureCreateInfoKHR &createInfo,
+      Optional<const 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::AccelerationStructureKHR, Dispatch>>::type
+      createAccelerationStructureKHRUnique(
+          const AccelerationStructureCreateInfoKHR &createInfo,
+          Optional<const 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 createAccelerationStructureNV(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV
+          *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV *pAccelerationStructure,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::type
+  createAccelerationStructureNV(
+      const AccelerationStructureCreateInfoNV &createInfo,
+      Optional<const 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_INLINE typename ResultValueType<UniqueHandle<
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV, Dispatch>>::type
+  createAccelerationStructureNVUnique(
+      const AccelerationStructureCreateInfoNV &createInfo,
+      Optional<const 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
+  createBuffer(const VULKAN_HPP_NAMESPACE::BufferCreateInfo *pCreateInfo,
+               const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+               VULKAN_HPP_NAMESPACE::Buffer *pBuffer,
+               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::Buffer>::type
+      createBuffer(const BufferCreateInfo &createInfo,
+                   Optional<const 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::Buffer, Dispatch>>::type
+      createBufferUnique(const BufferCreateInfo &createInfo,
+                         Optional<const 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*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createBufferCollectionFUCHSIA(
+      const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA
+          *pImportInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA *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::BufferCollectionFUCHSIA>::type
+  createBufferCollectionFUCHSIA(
+      const BufferCollectionCreateInfoFUCHSIA &importInfo,
+      Optional<const 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::BufferCollectionFUCHSIA, Dispatch>>::type
+      createBufferCollectionFUCHSIAUnique(
+          const BufferCollectionCreateInfoFUCHSIA &importInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createBufferView(
+      const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::BufferView *pView,
+      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::BufferView>::type
+      createBufferView(const BufferViewCreateInfo &createInfo,
+                       Optional<const 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::BufferView, Dispatch>>::type
+      createBufferViewUnique(
+          const BufferViewCreateInfo &createInfo,
+          Optional<const 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 createCommandPool(
+      const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::CommandPool *pCommandPool,
+      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::CommandPool>::type
+      createCommandPool(const CommandPoolCreateInfo &createInfo,
+                        Optional<const 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::CommandPool, Dispatch>>::type
+      createCommandPoolUnique(
+          const CommandPoolCreateInfo &createInfo,
+          Optional<const 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 createComputePipelines(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      uint32_t createInfoCount,
+      const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo *pCreateInfos,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PipelineAllocator = std::allocator<Pipeline>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createComputePipelines(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename PipelineAllocator = std::allocator<Pipeline>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = PipelineAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, Pipeline>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createComputePipelines(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<Pipeline> createComputePipeline(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo &createInfo,
+      Optional<const 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,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createComputePipelinesUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>,
+            typename B = PipelineAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             UniqueHandle<Pipeline, Dispatch>>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createComputePipelinesUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<Pipeline, Dispatch>>
+  createComputePipelineUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo &createInfo,
+      Optional<const 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 createDeferredOperationKHR(
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR *pDeferredOperation,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::type
+  createDeferredOperationKHR(
+      Optional<const 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_INLINE typename ResultValueType<
+      UniqueHandle<VULKAN_HPP_NAMESPACE::DeferredOperationKHR, Dispatch>>::type
+  createDeferredOperationKHRUnique(
+      Optional<const 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 createDescriptorPool(
+      const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DescriptorPool *pDescriptorPool,
+      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::DescriptorPool>::type
+      createDescriptorPool(const DescriptorPoolCreateInfo &createInfo,
+                           Optional<const 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::DescriptorPool, Dispatch>>::type
+      createDescriptorPoolUnique(
+          const DescriptorPoolCreateInfo &createInfo,
+          Optional<const 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 createDescriptorSetLayout(
+      const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayout,
+      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::DescriptorSetLayout>::type
+      createDescriptorSetLayout(
+          const DescriptorSetLayoutCreateInfo &createInfo,
+          Optional<const 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::DescriptorSetLayout, Dispatch>>::type
+      createDescriptorSetLayoutUnique(
+          const DescriptorSetLayoutCreateInfo &createInfo,
+          Optional<const 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 createDescriptorUpdateTemplate(
+      const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo
+          *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate *pDescriptorUpdateTemplate,
+      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::DescriptorUpdateTemplate>::type
+  createDescriptorUpdateTemplate(
+      const DescriptorUpdateTemplateCreateInfo &createInfo,
+      Optional<const 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::DescriptorUpdateTemplate, Dispatch>>::type
+      createDescriptorUpdateTemplateUnique(
+          const DescriptorUpdateTemplateCreateInfo &createInfo,
+          Optional<const 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 createDescriptorUpdateTemplateKHR(
+      const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo
+          *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate *pDescriptorUpdateTemplate,
+      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::DescriptorUpdateTemplate>::type
+  createDescriptorUpdateTemplateKHR(
+      const DescriptorUpdateTemplateCreateInfo &createInfo,
+      Optional<const 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::DescriptorUpdateTemplate, Dispatch>>::type
+      createDescriptorUpdateTemplateKHRUnique(
+          const DescriptorUpdateTemplateCreateInfo &createInfo,
+          Optional<const 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
+  createEvent(const VULKAN_HPP_NAMESPACE::EventCreateInfo *pCreateInfo,
+              const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+              VULKAN_HPP_NAMESPACE::Event *pEvent,
+              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::Event>::type
+      createEvent(const EventCreateInfo &createInfo,
+                  Optional<const 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::Event, Dispatch>>::type
+      createEventUnique(const EventCreateInfo &createInfo,
+                        Optional<const 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
+  createFence(const VULKAN_HPP_NAMESPACE::FenceCreateInfo *pCreateInfo,
+              const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+              VULKAN_HPP_NAMESPACE::Fence *pFence,
+              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::Fence>::type
+      createFence(const FenceCreateInfo &createInfo,
+                  Optional<const 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::Fence, Dispatch>>::type
+      createFenceUnique(const FenceCreateInfo &createInfo,
+                        Optional<const 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 createFramebuffer(
+      const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Framebuffer *pFramebuffer,
+      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::Framebuffer>::type
+      createFramebuffer(const FramebufferCreateInfo &createInfo,
+                        Optional<const 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::Framebuffer, Dispatch>>::type
+      createFramebufferUnique(
+          const FramebufferCreateInfo &createInfo,
+          Optional<const 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 createGraphicsPipelines(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      uint32_t createInfoCount,
+      const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo *pCreateInfos,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PipelineAllocator = std::allocator<Pipeline>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createGraphicsPipelines(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename PipelineAllocator = std::allocator<Pipeline>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = PipelineAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, Pipeline>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createGraphicsPipelines(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<Pipeline> createGraphicsPipeline(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo &createInfo,
+      Optional<const 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,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createGraphicsPipelinesUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>,
+            typename B = PipelineAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             UniqueHandle<Pipeline, Dispatch>>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createGraphicsPipelinesUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<Pipeline, Dispatch>>
+  createGraphicsPipelineUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo &createInfo,
+      Optional<const 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
+  createImage(const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pCreateInfo,
+              const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+              VULKAN_HPP_NAMESPACE::Image *pImage,
+              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::Image>::type
+      createImage(const ImageCreateInfo &createInfo,
+                  Optional<const 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::Image, Dispatch>>::type
+      createImageUnique(const ImageCreateInfo &createInfo,
+                        Optional<const 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 createImageView(
+      const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::ImageView *pView,
+      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::ImageView>::type
+      createImageView(const ImageViewCreateInfo &createInfo,
+                      Optional<const 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::ImageView, Dispatch>>::type
+      createImageViewUnique(const ImageViewCreateInfo &createInfo,
+                            Optional<const 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 createIndirectCommandsLayoutNV(
+      const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV
+          *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV *pIndirectCommandsLayout,
+      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::IndirectCommandsLayoutNV>::type
+  createIndirectCommandsLayoutNV(
+      const IndirectCommandsLayoutCreateInfoNV &createInfo,
+      Optional<const 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::IndirectCommandsLayoutNV, Dispatch>>::type
+      createIndirectCommandsLayoutNVUnique(
+          const IndirectCommandsLayoutCreateInfoNV &createInfo,
+          Optional<const 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 createPipelineCache(
+      const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::PipelineCache *pPipelineCache,
+      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::PipelineCache>::type
+      createPipelineCache(const PipelineCacheCreateInfo &createInfo,
+                          Optional<const 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::PipelineCache, Dispatch>>::type
+      createPipelineCacheUnique(
+          const PipelineCacheCreateInfo &createInfo,
+          Optional<const 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 createPipelineLayout(
+      const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::PipelineLayout *pPipelineLayout,
+      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::PipelineLayout>::type
+      createPipelineLayout(const PipelineLayoutCreateInfo &createInfo,
+                           Optional<const 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::PipelineLayout, Dispatch>>::type
+      createPipelineLayoutUnique(
+          const PipelineLayoutCreateInfo &createInfo,
+          Optional<const 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 createPrivateDataSlotEXT(
+      const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT *pPrivateDataSlot,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>::type
+  createPrivateDataSlotEXT(const PrivateDataSlotCreateInfoEXT &createInfo,
+                           Optional<const 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_INLINE typename ResultValueType<
+      UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT, Dispatch>>::type
+  createPrivateDataSlotEXTUnique(
+      const PrivateDataSlotCreateInfoEXT &createInfo,
+      Optional<const 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 createQueryPool(
+      const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::QueryPool *pQueryPool,
+      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::QueryPool>::type
+      createQueryPool(const QueryPoolCreateInfo &createInfo,
+                      Optional<const 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::QueryPool, Dispatch>>::type
+      createQueryPoolUnique(const QueryPoolCreateInfo &createInfo,
+                            Optional<const 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 createRayTracingPipelinesKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      uint32_t createInfoCount,
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR *pCreateInfos,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PipelineAllocator = std::allocator<Pipeline>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createRayTracingPipelinesKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename PipelineAllocator = std::allocator<Pipeline>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = PipelineAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, Pipeline>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createRayTracingPipelinesKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<Pipeline> createRayTracingPipelineKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR &createInfo,
+      Optional<const 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,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createRayTracingPipelinesKHRUnique(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>,
+            typename B = PipelineAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             UniqueHandle<Pipeline, Dispatch>>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createRayTracingPipelinesKHRUnique(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      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 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 createRayTracingPipelinesNV(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      uint32_t createInfoCount,
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV *pCreateInfos,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PipelineAllocator = std::allocator<Pipeline>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createRayTracingPipelinesNV(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename PipelineAllocator = std::allocator<Pipeline>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = PipelineAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, Pipeline>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<Pipeline, PipelineAllocator>>
+  createRayTracingPipelinesNV(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<Pipeline> createRayTracingPipelineNV(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV &createInfo,
+      Optional<const 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,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createRayTracingPipelinesNVUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename PipelineAllocator =
+                std::allocator<UniqueHandle<Pipeline, Dispatch>>,
+            typename B = PipelineAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             UniqueHandle<Pipeline, Dispatch>>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD ResultValue<
+      std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+  createRayTracingPipelinesNVUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      ArrayProxy<
+          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      PipelineAllocator &pipelineAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<Pipeline, Dispatch>>
+  createRayTracingPipelineNVUnique(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV &createInfo,
+      Optional<const 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 createRenderPass(
+      const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::RenderPass *pRenderPass,
+      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::RenderPass>::type
+      createRenderPass(const RenderPassCreateInfo &createInfo,
+                       Optional<const 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::RenderPass, Dispatch>>::type
+      createRenderPassUnique(
+          const RenderPassCreateInfo &createInfo,
+          Optional<const 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 createRenderPass2(
+      const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::RenderPass *pRenderPass,
+      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::RenderPass>::type
+      createRenderPass2(const RenderPassCreateInfo2 &createInfo,
+                        Optional<const 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::RenderPass, Dispatch>>::type
+      createRenderPass2Unique(
+          const RenderPassCreateInfo2 &createInfo,
+          Optional<const 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 createRenderPass2KHR(
+      const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::RenderPass *pRenderPass,
+      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::RenderPass>::type
+      createRenderPass2KHR(const RenderPassCreateInfo2 &createInfo,
+                           Optional<const 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::RenderPass, Dispatch>>::type
+      createRenderPass2KHRUnique(
+          const RenderPassCreateInfo2 &createInfo,
+          Optional<const 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 createSampler(
+      const VULKAN_HPP_NAMESPACE::SamplerCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Sampler *pSampler,
+      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::Sampler>::type
+      createSampler(const SamplerCreateInfo &createInfo,
+                    Optional<const 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::Sampler, Dispatch>>::type
+      createSamplerUnique(const SamplerCreateInfo &createInfo,
+                          Optional<const 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 createSamplerYcbcrConversion(
+      const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion *pYcbcrConversion,
+      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::SamplerYcbcrConversion>::type
+  createSamplerYcbcrConversion(
+      const SamplerYcbcrConversionCreateInfo &createInfo,
+      Optional<const 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::SamplerYcbcrConversion, Dispatch>>::type
+      createSamplerYcbcrConversionUnique(
+          const SamplerYcbcrConversionCreateInfo &createInfo,
+          Optional<const 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 createSamplerYcbcrConversionKHR(
+      const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion *pYcbcrConversion,
+      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::SamplerYcbcrConversion>::type
+  createSamplerYcbcrConversionKHR(
+      const SamplerYcbcrConversionCreateInfo &createInfo,
+      Optional<const 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::SamplerYcbcrConversion, Dispatch>>::type
+      createSamplerYcbcrConversionKHRUnique(
+          const SamplerYcbcrConversionCreateInfo &createInfo,
+          Optional<const 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 createSemaphore(
+      const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Semaphore *pSemaphore,
+      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::Semaphore>::type
+      createSemaphore(const SemaphoreCreateInfo &createInfo,
+                      Optional<const 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::Semaphore, Dispatch>>::type
+      createSemaphoreUnique(const SemaphoreCreateInfo &createInfo,
+                            Optional<const 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 createShaderModule(
+      const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::ShaderModule *pShaderModule,
+      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::ShaderModule>::type
+      createShaderModule(const ShaderModuleCreateInfo &createInfo,
+                         Optional<const 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::ShaderModule, Dispatch>>::type
+      createShaderModuleUnique(
+          const ShaderModuleCreateInfo &createInfo,
+          Optional<const 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 createSharedSwapchainsKHR(
+      uint32_t swapchainCount,
+      const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR *pCreateInfos,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename SwapchainKHRAllocator = std::allocator<SwapchainKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<SwapchainKHR, SwapchainKHRAllocator>>::type
+  createSharedSwapchainsKHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename SwapchainKHRAllocator = std::allocator<SwapchainKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = SwapchainKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, SwapchainKHR>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<SwapchainKHR, SwapchainKHRAllocator>>::type
+  createSharedSwapchainsKHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+          &createInfos,
+      Optional<const AllocationCallbacks> allocator,
+      SwapchainKHRAllocator &swapchainKHRAllocator,
+      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<SwapchainKHR>::type
+      createSharedSwapchainKHR(
+          const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR &createInfo,
+          Optional<const 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,
+            typename SwapchainKHRAllocator =
+                std::allocator<UniqueHandle<SwapchainKHR, Dispatch>>>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>,
+                                           SwapchainKHRAllocator>>::type
+      createSharedSwapchainsKHRUnique(
+          ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+              &createInfos,
+          Optional<const AllocationCallbacks> allocator
+              VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename SwapchainKHRAllocator =
+                std::allocator<UniqueHandle<SwapchainKHR, Dispatch>>,
+            typename B = SwapchainKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             UniqueHandle<SwapchainKHR, Dispatch>>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>,
+                                           SwapchainKHRAllocator>>::type
+      createSharedSwapchainsKHRUnique(
+          ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+              &createInfos,
+          Optional<const AllocationCallbacks> allocator,
+          SwapchainKHRAllocator &swapchainKHRAllocator,
+          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<UniqueHandle<SwapchainKHR, Dispatch>>::type
+      createSharedSwapchainKHRUnique(
+          const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR &createInfo,
+          Optional<const 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 createSwapchainKHR(
+      const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchain,
+      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::SwapchainKHR>::type
+      createSwapchainKHR(const SwapchainCreateInfoKHR &createInfo,
+                         Optional<const 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::SwapchainKHR, Dispatch>>::type
+      createSwapchainKHRUnique(
+          const SwapchainCreateInfoKHR &createInfo,
+          Optional<const 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 createValidationCacheEXT(
+      const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::ValidationCacheEXT *pValidationCache,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::type
+  createValidationCacheEXT(const ValidationCacheCreateInfoEXT &createInfo,
+                           Optional<const 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_INLINE typename ResultValueType<
+      UniqueHandle<VULKAN_HPP_NAMESPACE::ValidationCacheEXT, Dispatch>>::type
+  createValidationCacheEXTUnique(
+      const ValidationCacheCreateInfoEXT &createInfo,
+      Optional<const 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 debugMarkerSetObjectNameEXT(
+      const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT *pNameInfo,
+      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
+  debugMarkerSetObjectNameEXT(
+      const DebugMarkerObjectNameInfoEXT &nameInfo,
+      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 debugMarkerSetObjectTagEXT(
+      const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT *pTagInfo,
+      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
+  debugMarkerSetObjectTagEXT(
+      const DebugMarkerObjectTagInfoEXT &tagInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result deferredOperationJoinKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result deferredOperationJoinKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void destroyAccelerationStructureKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
+      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 destroyAccelerationStructureKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::AccelerationStructureKHR accelerationStructure,
+          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::AccelerationStructureKHR accelerationStructure,
+          Optional<const 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 destroyAccelerationStructureNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+      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 destroyAccelerationStructureNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::AccelerationStructureNV accelerationStructure,
+          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::AccelerationStructureNV accelerationStructure,
+          Optional<const 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
+  destroyBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                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 destroyBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer
+                         VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                     Optional<const 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::Buffer buffer,
+               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::Buffer buffer,
+               Optional<const 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*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void destroyBufferCollectionFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA 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 destroyBufferCollectionFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      Optional<const 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*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void destroy(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA 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::BufferCollectionFUCHSIA collection,
+               Optional<const 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*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  destroyBufferView(VULKAN_HPP_NAMESPACE::BufferView bufferView,
+                    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
+  destroyBufferView(VULKAN_HPP_NAMESPACE::BufferView bufferView
+                        VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                    Optional<const 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::BufferView bufferView,
+               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::BufferView bufferView,
+               Optional<const 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 destroyCommandPool(
+      VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+      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
+  destroyCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool
+                         VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                     Optional<const 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::CommandPool commandPool,
+               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::CommandPool commandPool,
+               Optional<const 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 destroyDeferredOperationKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+      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 destroyDeferredOperationKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::DeferredOperationKHR operation,
+               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::DeferredOperationKHR operation,
+               Optional<const 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 destroyDescriptorPool(
+      VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+      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 destroyDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool
+                                 VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                             Optional<const 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::DescriptorPool descriptorPool,
+               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::DescriptorPool descriptorPool,
+               Optional<const 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 destroyDescriptorSetLayout(
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
+      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 destroyDescriptorSetLayout(
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::DescriptorSetLayout descriptorSetLayout,
+               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::DescriptorSetLayout descriptorSetLayout,
+               Optional<const 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 destroyDescriptorUpdateTemplate(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+      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 destroyDescriptorUpdateTemplate(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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 destroyDescriptorUpdateTemplateKHR(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+      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 destroyDescriptorUpdateTemplateKHR(
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::DescriptorUpdateTemplate descriptorUpdateTemplate,
+      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::DescriptorUpdateTemplate descriptorUpdateTemplate,
+      Optional<const 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(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(Optional<const 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 destroyEvent(VULKAN_HPP_NAMESPACE::Event event,
+                    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 destroyEvent(
+      VULKAN_HPP_NAMESPACE::Event event VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::Event event,
+               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::Event event,
+               Optional<const 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 destroyFence(VULKAN_HPP_NAMESPACE::Fence fence,
+                    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 destroyFence(
+      VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::Fence fence,
+               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::Fence fence,
+               Optional<const 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 destroyFramebuffer(
+      VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
+      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
+  destroyFramebuffer(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer
+                         VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                     Optional<const 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::Framebuffer framebuffer,
+               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::Framebuffer framebuffer,
+               Optional<const 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 destroyImage(VULKAN_HPP_NAMESPACE::Image image,
+                    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 destroyImage(
+      VULKAN_HPP_NAMESPACE::Image image VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::Image image,
+               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::Image image,
+               Optional<const 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
+  destroyImageView(VULKAN_HPP_NAMESPACE::ImageView imageView,
+                   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
+  destroyImageView(VULKAN_HPP_NAMESPACE::ImageView imageView
+                       VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                   Optional<const 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::ImageView imageView,
+               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::ImageView imageView,
+               Optional<const 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 destroyIndirectCommandsLayoutNV(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
+      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 destroyIndirectCommandsLayoutNV(
+      VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::IndirectCommandsLayoutNV indirectCommandsLayout,
+          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::IndirectCommandsLayoutNV indirectCommandsLayout,
+          Optional<const 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
+  destroyPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                  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
+  destroyPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline
+                      VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                  Optional<const 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::Pipeline pipeline,
+               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::Pipeline pipeline,
+               Optional<const 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 destroyPipelineCache(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+      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 destroyPipelineCache(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache
+                                VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                            Optional<const 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::PipelineCache pipelineCache,
+               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::PipelineCache pipelineCache,
+               Optional<const 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 destroyPipelineLayout(
+      VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
+      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 destroyPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout
+                                 VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                             Optional<const 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::PipelineLayout pipelineLayout,
+               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::PipelineLayout pipelineLayout,
+               Optional<const 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 destroyPrivateDataSlotEXT(
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
+      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 destroyPrivateDataSlotEXT(
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::PrivateDataSlotEXT privateDataSlot,
+               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::PrivateDataSlotEXT privateDataSlot,
+               Optional<const 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
+  destroyQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                   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
+  destroyQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool
+                       VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                   Optional<const 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::QueryPool queryPool,
+               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::QueryPool queryPool,
+               Optional<const 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
+  destroyRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+                    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
+  destroyRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass
+                        VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                    Optional<const 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::RenderPass renderPass,
+               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::RenderPass renderPass,
+               Optional<const 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
+  destroySampler(VULKAN_HPP_NAMESPACE::Sampler sampler,
+                 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
+  destroySampler(VULKAN_HPP_NAMESPACE::Sampler sampler
+                     VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                 Optional<const 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::Sampler sampler,
+               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::Sampler sampler,
+               Optional<const 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 destroySamplerYcbcrConversion(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
+      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 destroySamplerYcbcrConversion(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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 destroySamplerYcbcrConversionKHR(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
+      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 destroySamplerYcbcrConversionKHR(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::SamplerYcbcrConversion ycbcrConversion,
+               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::SamplerYcbcrConversion ycbcrConversion,
+               Optional<const 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
+  destroySemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+                   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
+  destroySemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore
+                       VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                   Optional<const 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::Semaphore semaphore,
+               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::Semaphore semaphore,
+               Optional<const 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 destroyShaderModule(
+      VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
+      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 destroyShaderModule(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule
+                               VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                           Optional<const 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::ShaderModule shaderModule,
+               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::ShaderModule shaderModule,
+               Optional<const 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 destroySwapchainKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      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 destroySwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain
+                               VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                           Optional<const 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::SwapchainKHR swapchain,
+               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::SwapchainKHR swapchain,
+               Optional<const 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 destroyValidationCacheEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+      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 destroyValidationCacheEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::ValidationCacheEXT validationCache,
+               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::ValidationCacheEXT validationCache,
+               Optional<const 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*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  waitIdle(Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  waitIdle(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 displayPowerControlEXT(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT *pDisplayPowerInfo,
+      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>
+  typename ResultValueType<void>::type displayPowerControlEXT(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      const DisplayPowerInfoEXT &displayPowerInfo,
+      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 flushMappedMemoryRanges(
+      uint32_t memoryRangeCount,
+      const VULKAN_HPP_NAMESPACE::MappedMemoryRange *pMemoryRanges,
+      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
+  flushMappedMemoryRanges(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const
+          &memoryRanges,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  freeCommandBuffers(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                     uint32_t commandBufferCount,
+                     const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+                     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
+  freeCommandBuffers(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                     ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const
+                         &commandBuffers,
+                     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 free(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+            uint32_t commandBufferCount,
+            const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+            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 free(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+            ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const
+                &commandBuffers,
+            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>
+  Result
+  freeDescriptorSets(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+                     uint32_t descriptorSetCount,
+                     const VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+                     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>
+  typename ResultValueType<void>::type freeDescriptorSets(
+      VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const
+          &descriptorSets,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Result free(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+              uint32_t descriptorSetCount,
+              const VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+              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>
+  typename ResultValueType<void>::type
+  free(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+       ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const
+           &descriptorSets,
+       Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void freeMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                  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 freeMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory
+                      VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                  Optional<const 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 free(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+            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 free(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+            Optional<const 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 getAccelerationStructureBuildSizesKHR(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+          *pBuildInfo,
+      const uint32_t *pMaxPrimitiveCounts,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR *pSizeInfo,
+      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
+      VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR
+      getAccelerationStructureBuildSizesKHR(
+          VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
+          const AccelerationStructureBuildGeometryInfoKHR &buildInfo,
+          ArrayProxy<const uint32_t> const &maxPrimitiveCounts
+              VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  DeviceAddress getAccelerationStructureAddressKHR(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR
+          *pInfo,
+      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>
+  DeviceAddress getAccelerationStructureAddressKHR(
+      const AccelerationStructureDeviceAddressInfoKHR &info,
+      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 getAccelerationStructureHandleNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+      size_t dataSize, void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  getAccelerationStructureHandleNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+      ArrayProxy<T> const &data,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Allocator = std::allocator<T>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<std::vector<T, Allocator>>::type
+      getAccelerationStructureHandleNV(
+          VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+          size_t dataSize,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<T>::type
+  getAccelerationStructureHandleNV(
+      VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getAccelerationStructureMemoryRequirementsNV(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV
+          *pInfo,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR
+  getAccelerationStructureMemoryRequirementsNV(
+      const AccelerationStructureMemoryRequirementsInfoNV &info,
+      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...>
+  getAccelerationStructureMemoryRequirementsNV(
+      const AccelerationStructureMemoryRequirementsInfoNV &info,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getAndroidHardwareBufferPropertiesANDROID(
+      const struct AHardwareBuffer *buffer,
+      VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID *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::AndroidHardwareBufferPropertiesANDROID>::type
+  getAndroidHardwareBufferPropertiesANDROID(
+      const struct AHardwareBuffer &buffer,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename X, typename Y, typename... Z,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<StructureChain<X, Y, Z...>>::type
+      getAndroidHardwareBufferPropertiesANDROID(
+          const struct AHardwareBuffer &buffer,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getBufferCollectionProperties2FUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA *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::BufferCollectionProperties2FUCHSIA>::type
+  getBufferCollectionProperties2FUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      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)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getBufferCollectionPropertiesFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA *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::BufferCollectionPropertiesFUCHSIA>::type
+  getBufferCollectionPropertiesFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  DeviceAddress
+  getBufferAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+                   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>
+  DeviceAddress
+  getBufferAddress(const BufferDeviceAddressInfo &info,
+                   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>
+  DeviceAddress getBufferAddressEXT(
+      const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+      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>
+  DeviceAddress getBufferAddressEXT(
+      const BufferDeviceAddressInfo &info,
+      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>
+  DeviceAddress getBufferAddressKHR(
+      const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+      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>
+  DeviceAddress getBufferAddressKHR(
+      const BufferDeviceAddressInfo &info,
+      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 getBufferMemoryRequirements(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements
+  getBufferMemoryRequirements(
+      VULKAN_HPP_NAMESPACE::Buffer buffer,
+      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 getBufferMemoryRequirements2(
+      const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 *pInfo,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements2
+  getBufferMemoryRequirements2(
+      const BufferMemoryRequirementsInfo2 &info,
+      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...> getBufferMemoryRequirements2(
+      const BufferMemoryRequirementsInfo2 &info,
+      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 getBufferMemoryRequirements2KHR(
+      const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 *pInfo,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements2
+  getBufferMemoryRequirements2KHR(
+      const BufferMemoryRequirementsInfo2 &info,
+      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...>
+  getBufferMemoryRequirements2KHR(
+      const BufferMemoryRequirementsInfo2 &info,
+      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>
+  uint64_t getBufferOpaqueCaptureAddress(
+      const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+      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>
+  uint64_t getBufferOpaqueCaptureAddress(
+      const BufferDeviceAddressInfo &info,
+      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>
+  uint64_t getBufferOpaqueCaptureAddressKHR(
+      const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+      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>
+  uint64_t getBufferOpaqueCaptureAddressKHR(
+      const BufferDeviceAddressInfo &info,
+      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 getCalibratedTimestampsEXT(
+      uint32_t timestampCount,
+      const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT *pTimestampInfos,
+      uint64_t *pTimestamps, uint64_t *pMaxDeviation,
+      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<
+      uint64_t>::type
+  getCalibratedTimestampsEXT(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const
+          &timestampInfos,
+      ArrayProxy<uint64_t> const &timestamps,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename Uint64_tAllocator = std::allocator<uint64_t>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type
+  getCalibratedTimestampsEXT(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const
+          &timestampInfos,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename Uint64_tAllocator = std::allocator<uint64_t>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = Uint64_tAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, uint64_t>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type
+  getCalibratedTimestampsEXT(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const
+          &timestampInfos,
+      Uint64_tAllocator &uint64_tAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  uint32_t getDeferredOperationMaxConcurrencyKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getDeferredOperationResultKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getDeferredOperationResultKHR(
+      VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getDescriptorSetLayoutSupport(
+      const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo *pCreateInfo,
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *pSupport,
+      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 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
+  getDescriptorSetLayoutSupport(
+      const DescriptorSetLayoutCreateInfo &createInfo,
+      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...> getDescriptorSetLayoutSupport(
+      const DescriptorSetLayoutCreateInfo &createInfo,
+      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 getDescriptorSetLayoutSupportKHR(
+      const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo *pCreateInfo,
+      VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *pSupport,
+      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 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
+  getDescriptorSetLayoutSupportKHR(
+      const DescriptorSetLayoutCreateInfo &createInfo,
+      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...>
+  getDescriptorSetLayoutSupportKHR(
+      const DescriptorSetLayoutCreateInfo &createInfo,
+      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 getAccelerationStructureCompatibilityKHR(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR
+          *pVersionInfo,
+      VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR
+          *pCompatibility,
+      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
+      VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR
+      getAccelerationStructureCompatibilityKHR(
+          const AccelerationStructureVersionInfoKHR &versionInfo,
+          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 getGroupPeerMemoryFeatures(
+      uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
+      VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags *pPeerMemoryFeatures,
+      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 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
+  getGroupPeerMemoryFeatures(
+      uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
+      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 getGroupPeerMemoryFeaturesKHR(
+      uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
+      VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags *pPeerMemoryFeatures,
+      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 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
+  getGroupPeerMemoryFeaturesKHR(
+      uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
+      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 getGroupPresentCapabilitiesKHR(
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR
+          *pDeviceGroupPresentCapabilities,
+      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::DeviceGroupPresentCapabilitiesKHR>::type
+  getGroupPresentCapabilitiesKHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getGroupSurfacePresentModes2EXT(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR *pModes,
+      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::DeviceGroupPresentModeFlagsKHR>::type
+  getGroupSurfacePresentModes2EXT(
+      const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getGroupSurfacePresentModesKHR(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR *pModes,
+      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::DeviceGroupPresentModeFlagsKHR>::type
+  getGroupSurfacePresentModesKHR(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getMemoryCommitment(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+      VULKAN_HPP_NAMESPACE::DeviceSize *pCommittedMemoryInBytes,
+      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 VULKAN_HPP_NAMESPACE::DeviceSize getMemoryCommitment(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+      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>
+  uint64_t getMemoryOpaqueCaptureAddress(
+      const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo *pInfo,
+      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>
+  uint64_t getMemoryOpaqueCaptureAddress(
+      const DeviceMemoryOpaqueCaptureAddressInfo &info,
+      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>
+  uint64_t getMemoryOpaqueCaptureAddressKHR(
+      const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo *pInfo,
+      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>
+  uint64_t getMemoryOpaqueCaptureAddressKHR(
+      const DeviceMemoryOpaqueCaptureAddressInfo &info,
+      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>
+  PFN_vkVoidFunction
+  getProcAddr(const char *pName,
+              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>
+  PFN_vkVoidFunction
+  getProcAddr(const std::string &name,
+              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 getQueue(uint32_t queueFamilyIndex, uint32_t queueIndex,
+                VULKAN_HPP_NAMESPACE::Queue *pQueue,
+                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 VULKAN_HPP_NAMESPACE::Queue
+  getQueue(uint32_t queueFamilyIndex, uint32_t queueIndex,
+           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 getQueue2(const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 *pQueueInfo,
+                 VULKAN_HPP_NAMESPACE::Queue *pQueue,
+                 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 VULKAN_HPP_NAMESPACE::Queue
+  getQueue2(const DeviceQueueInfo2 &queueInfo,
+            Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getEventStatus(
+      VULKAN_HPP_NAMESPACE::Event event,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getEventStatus(
+      VULKAN_HPP_NAMESPACE::Event event,
+      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 getFenceFdKHR(
+      const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR *pGetFdInfo, int *pFd,
+      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<int>::type
+  getFenceFdKHR(const FenceGetFdInfoKHR &getFdInfo,
+                Dispatch const &d
+                    VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getFenceStatus(
+      VULKAN_HPP_NAMESPACE::Fence fence,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getFenceStatus(
+      VULKAN_HPP_NAMESPACE::Fence fence,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getFenceWin32HandleKHR(
+      const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR
+          *pGetWin32HandleInfo,
+      HANDLE *pHandle,
+      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<HANDLE>::type
+  getFenceWin32HandleKHR(const FenceGetWin32HandleInfoKHR &getWin32HandleInfo,
+                         Dispatch const &d
+                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getGeneratedCommandsMemoryRequirementsNV(
+      const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV
+          *pInfo,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements2
+  getGeneratedCommandsMemoryRequirementsNV(
+      const GeneratedCommandsMemoryRequirementsInfoNV &info,
+      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...>
+  getGeneratedCommandsMemoryRequirementsNV(
+      const GeneratedCommandsMemoryRequirementsInfoNV &info,
+      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 getImageDrmFormatModifierPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::Image image,
+      VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT *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>
+  typename ResultValueType<
+      VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>::type
+  getImageDrmFormatModifierPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::Image image,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getImageMemoryRequirements(
+      VULKAN_HPP_NAMESPACE::Image image,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements
+  getImageMemoryRequirements(VULKAN_HPP_NAMESPACE::Image image,
+                             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 getImageMemoryRequirements2(
+      const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 *pInfo,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements2
+  getImageMemoryRequirements2(
+      const ImageMemoryRequirementsInfo2 &info,
+      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...> getImageMemoryRequirements2(
+      const ImageMemoryRequirementsInfo2 &info,
+      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 getImageMemoryRequirements2KHR(
+      const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 *pInfo,
+      VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+      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 VULKAN_HPP_NAMESPACE::MemoryRequirements2
+  getImageMemoryRequirements2KHR(
+      const ImageMemoryRequirementsInfo2 &info,
+      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...>
+  getImageMemoryRequirements2KHR(
+      const ImageMemoryRequirementsInfo2 &info,
+      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 getImageSparseMemoryRequirements(
+      VULKAN_HPP_NAMESPACE::Image image,
+      uint32_t *pSparseMemoryRequirementCount,
+      VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements
+          *pSparseMemoryRequirements,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename SparseImageMemoryRequirementsAllocator =
+                std::allocator<SparseImageMemoryRequirements>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements,
+                                   SparseImageMemoryRequirementsAllocator>
+  getImageSparseMemoryRequirements(
+      VULKAN_HPP_NAMESPACE::Image image,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename SparseImageMemoryRequirementsAllocator =
+                std::allocator<SparseImageMemoryRequirements>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = SparseImageMemoryRequirementsAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             SparseImageMemoryRequirements>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements,
+                                   SparseImageMemoryRequirementsAllocator>
+  getImageSparseMemoryRequirements(
+      VULKAN_HPP_NAMESPACE::Image image,
+      SparseImageMemoryRequirementsAllocator
+          &sparseImageMemoryRequirementsAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getImageSparseMemoryRequirements2(
+      const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 *pInfo,
+      uint32_t *pSparseMemoryRequirementCount,
+      VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2
+          *pSparseMemoryRequirements,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename SparseImageMemoryRequirements2Allocator =
+                std::allocator<SparseImageMemoryRequirements2>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2,
+                                   SparseImageMemoryRequirements2Allocator>
+  getImageSparseMemoryRequirements2(
+      const 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,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             SparseImageMemoryRequirements2>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2,
+                                   SparseImageMemoryRequirements2Allocator>
+  getImageSparseMemoryRequirements2(
+      const ImageSparseMemoryRequirementsInfo2 &info,
+      SparseImageMemoryRequirements2Allocator
+          &sparseImageMemoryRequirements2Allocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getImageSparseMemoryRequirements2KHR(
+      const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 *pInfo,
+      uint32_t *pSparseMemoryRequirementCount,
+      VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2
+          *pSparseMemoryRequirements,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename SparseImageMemoryRequirements2Allocator =
+                std::allocator<SparseImageMemoryRequirements2>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2,
+                                   SparseImageMemoryRequirements2Allocator>
+  getImageSparseMemoryRequirements2KHR(
+      const 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,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             SparseImageMemoryRequirements2>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2,
+                                   SparseImageMemoryRequirements2Allocator>
+  getImageSparseMemoryRequirements2KHR(
+      const ImageSparseMemoryRequirementsInfo2 &info,
+      SparseImageMemoryRequirements2Allocator
+          &sparseImageMemoryRequirements2Allocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getImageSubresourceLayout(
+      VULKAN_HPP_NAMESPACE::Image image,
+      const VULKAN_HPP_NAMESPACE::ImageSubresource *pSubresource,
+      VULKAN_HPP_NAMESPACE::SubresourceLayout *pLayout,
+      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 VULKAN_HPP_NAMESPACE::SubresourceLayout
+  getImageSubresourceLayout(
+      VULKAN_HPP_NAMESPACE::Image image, const ImageSubresource &subresource,
+      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 getImageViewAddressNVX(
+      VULKAN_HPP_NAMESPACE::ImageView imageView,
+      VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX *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::ImageViewAddressPropertiesNVX>::type
+  getImageViewAddressNVX(VULKAN_HPP_NAMESPACE::ImageView imageView,
+                         Dispatch const &d
+                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  uint32_t getImageViewHandleNVX(
+      const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX *pInfo,
+      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>
+  uint32_t getImageViewHandleNVX(
+      const ImageViewHandleInfoNVX &info,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getMemoryAndroidHardwareBufferANDROID(
+      const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID
+          *pInfo,
+      struct AHardwareBuffer **pBuffer,
+      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<struct AHardwareBuffer *>::type
+      getMemoryAndroidHardwareBufferANDROID(
+          const MemoryGetAndroidHardwareBufferInfoANDROID &info,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getMemoryFdKHR(
+      const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR *pGetFdInfo, int *pFd,
+      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<int>::type
+  getMemoryFdKHR(const MemoryGetFdInfoKHR &getFdInfo,
+                 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 getMemoryFdPropertiesKHR(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd,
+      VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR *pMemoryFdProperties,
+      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::MemoryFdPropertiesKHR>::type
+  getMemoryFdPropertiesKHR(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd,
+      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 getMemoryHostPointerPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+      const void *pHostPointer,
+      VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT
+          *pMemoryHostPointerProperties,
+      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::MemoryHostPointerPropertiesEXT>::type
+  getMemoryHostPointerPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+      const void *pHostPointer,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getMemoryWin32HandleKHR(
+      const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR
+          *pGetWin32HandleInfo,
+      HANDLE *pHandle,
+      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<HANDLE>::type
+  getMemoryWin32HandleKHR(const MemoryGetWin32HandleInfoKHR &getWin32HandleInfo,
+                          Dispatch const &d
+                              VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getMemoryWin32HandleNV(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
+      HANDLE *pHandle,
+      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<HANDLE>::type
+  getMemoryWin32HandleNV(
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getMemoryWin32HandlePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+      HANDLE handle,
+      VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR
+          *pMemoryWin32HandleProperties,
+      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::MemoryWin32HandlePropertiesKHR>::type
+  getMemoryWin32HandlePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+      HANDLE handle,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getMemoryZirconHandleFUCHSIA(
+      const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA
+          *pGetZirconHandleInfo,
+      zx_handle_t *pZirconHandle,
+      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<zx_handle_t>::type
+      getMemoryZirconHandleFUCHSIA(
+          const MemoryGetZirconHandleInfoFUCHSIA &getZirconHandleInfo,
+          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)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getMemoryZirconHandlePropertiesFUCHSIA(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+      zx_handle_t zirconHandle,
+      VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA
+          *pMemoryZirconHandleProperties,
+      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>
+  typename ResultValueType<
+      VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>::type
+  getMemoryZirconHandlePropertiesFUCHSIA(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+      zx_handle_t zirconHandle,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getPastPresentationTimingGOOGLE(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      uint32_t *pPresentationTimingCount,
+      VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE *pPresentationTimings,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PastPresentationTimingGOOGLEAllocator =
+                std::allocator<PastPresentationTimingGOOGLE>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PastPresentationTimingGOOGLE,
+                  PastPresentationTimingGOOGLEAllocator>>::type
+  getPastPresentationTimingGOOGLE(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename PastPresentationTimingGOOGLEAllocator =
+          std::allocator<PastPresentationTimingGOOGLE>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = PastPresentationTimingGOOGLEAllocator,
+      typename std::enable_if<std::is_same<typename B::value_type,
+                                           PastPresentationTimingGOOGLE>::value,
+                              int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PastPresentationTimingGOOGLE,
+                  PastPresentationTimingGOOGLEAllocator>>::type
+  getPastPresentationTimingGOOGLE(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      PastPresentationTimingGOOGLEAllocator
+          &pastPresentationTimingGOOGLEAllocator,
+      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 getPerformanceParameterINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
+      VULKAN_HPP_NAMESPACE::PerformanceValueINTEL *pValue,
+      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::PerformanceValueINTEL>::type
+  getPerformanceParameterINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
+      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 getPipelineCacheData(
+      VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, size_t *pDataSize,
+      void *pData, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Uint8_tAllocator = std::allocator<uint8_t>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+      getPipelineCacheData(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+                           Dispatch const &d
+                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename Uint8_tAllocator = std::allocator<uint8_t>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = Uint8_tAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, uint8_t>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+      getPipelineCacheData(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+                           Uint8_tAllocator &uint8_tAllocator,
+                           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 getPipelineExecutableInternalRepresentationsKHR(
+      const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR *pExecutableInfo,
+      uint32_t *pInternalRepresentationCount,
+      VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR
+          *pInternalRepresentations,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PipelineExecutableInternalRepresentationKHRAllocator =
+                std::allocator<PipelineExecutableInternalRepresentationKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PipelineExecutableInternalRepresentationKHR,
+                  PipelineExecutableInternalRepresentationKHRAllocator>>::type
+  getPipelineExecutableInternalRepresentationsKHR(
+      const PipelineExecutableInfoKHR &executableInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename PipelineExecutableInternalRepresentationKHRAllocator =
+          std::allocator<PipelineExecutableInternalRepresentationKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = PipelineExecutableInternalRepresentationKHRAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type,
+                       PipelineExecutableInternalRepresentationKHR>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PipelineExecutableInternalRepresentationKHR,
+                  PipelineExecutableInternalRepresentationKHRAllocator>>::type
+  getPipelineExecutableInternalRepresentationsKHR(
+      const PipelineExecutableInfoKHR &executableInfo,
+      PipelineExecutableInternalRepresentationKHRAllocator
+          &pipelineExecutableInternalRepresentationKHRAllocator,
+      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 getPipelineExecutablePropertiesKHR(
+      const VULKAN_HPP_NAMESPACE::PipelineInfoKHR *pPipelineInfo,
+      uint32_t *pExecutableCount,
+      VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PipelineExecutablePropertiesKHRAllocator =
+                std::allocator<PipelineExecutablePropertiesKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PipelineExecutablePropertiesKHR,
+                  PipelineExecutablePropertiesKHRAllocator>>::type
+  getPipelineExecutablePropertiesKHR(
+      const PipelineInfoKHR &pipelineInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PipelineExecutablePropertiesKHRAllocator =
+                std::allocator<PipelineExecutablePropertiesKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PipelineExecutablePropertiesKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             PipelineExecutablePropertiesKHR>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PipelineExecutablePropertiesKHR,
+                  PipelineExecutablePropertiesKHRAllocator>>::type
+  getPipelineExecutablePropertiesKHR(
+      const PipelineInfoKHR &pipelineInfo,
+      PipelineExecutablePropertiesKHRAllocator
+          &pipelineExecutablePropertiesKHRAllocator,
+      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 getPipelineExecutableStatisticsKHR(
+      const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR *pExecutableInfo,
+      uint32_t *pStatisticCount,
+      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR *pStatistics,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PipelineExecutableStatisticKHRAllocator =
+                std::allocator<PipelineExecutableStatisticKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PipelineExecutableStatisticKHR,
+                  PipelineExecutableStatisticKHRAllocator>>::type
+  getPipelineExecutableStatisticsKHR(
+      const PipelineExecutableInfoKHR &executableInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PipelineExecutableStatisticKHRAllocator =
+                std::allocator<PipelineExecutableStatisticKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PipelineExecutableStatisticKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             PipelineExecutableStatisticKHR>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PipelineExecutableStatisticKHR,
+                  PipelineExecutableStatisticKHRAllocator>>::type
+  getPipelineExecutableStatisticsKHR(
+      const PipelineExecutableInfoKHR &executableInfo,
+      PipelineExecutableStatisticKHRAllocator
+          &pipelineExecutableStatisticKHRAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getPrivateDataEXT(
+      VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, uint64_t *pData,
+      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 uint64_t getPrivateDataEXT(
+      VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
+      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 getQueryPoolResults(
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      uint32_t queryCount, size_t dataSize, void *pData,
+      VULKAN_HPP_NAMESPACE::DeviceSize stride,
+      VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getQueryPoolResults(
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      uint32_t queryCount, ArrayProxy<T> const &data,
+      VULKAN_HPP_NAMESPACE::DeviceSize stride,
+      VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Allocator = std::allocator<T>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<std::vector<T, Allocator>>
+  getQueryPoolResults(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                      uint32_t firstQuery, uint32_t queryCount, size_t dataSize,
+                      VULKAN_HPP_NAMESPACE::DeviceSize stride,
+                      VULKAN_HPP_NAMESPACE::QueryResultFlags flags
+                          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                      Dispatch const &d
+                          VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD ResultValue<T> getQueryPoolResult(
+      VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+      uint32_t queryCount, VULKAN_HPP_NAMESPACE::DeviceSize stride,
+      VULKAN_HPP_NAMESPACE::QueryResultFlags flags
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      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 getRayTracingCaptureReplayShaderGroupHandlesKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount, size_t dataSize, void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  getRayTracingCaptureReplayShaderGroupHandlesKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount, ArrayProxy<T> const &data,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Allocator = std::allocator<T>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<std::vector<T, Allocator>>::type
+      getRayTracingCaptureReplayShaderGroupHandlesKHR(
+          VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+          uint32_t groupCount, size_t dataSize,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<T>::type
+  getRayTracingCaptureReplayShaderGroupHandleKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount,
+      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 getRayTracingShaderGroupHandlesKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount, size_t dataSize, void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  getRayTracingShaderGroupHandlesKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount, ArrayProxy<T> const &data,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Allocator = std::allocator<T>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<std::vector<T, Allocator>>::type
+      getRayTracingShaderGroupHandlesKHR(
+          VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+          uint32_t groupCount, size_t dataSize,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<T>::type
+  getRayTracingShaderGroupHandleKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount,
+      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 getRayTracingShaderGroupHandlesNV(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount, size_t dataSize, void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  getRayTracingShaderGroupHandlesNV(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount, ArrayProxy<T> const &data,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Allocator = std::allocator<T>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<std::vector<T, Allocator>>::type
+      getRayTracingShaderGroupHandlesNV(
+          VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+          uint32_t groupCount, size_t dataSize,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<T>::type
+  getRayTracingShaderGroupHandleNV(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+      uint32_t groupCount,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  DeviceSize getRayTracingShaderGroupStackSizeKHR(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t group,
+      VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getRefreshCycleDurationGOOGLE(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE
+          *pDisplayTimingProperties,
+      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::RefreshCycleDurationGOOGLE>::type
+  getRefreshCycleDurationGOOGLE(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getRenderAreaGranularity(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+      VULKAN_HPP_NAMESPACE::Extent2D *pGranularity,
+      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 VULKAN_HPP_NAMESPACE::Extent2D getRenderAreaGranularity(
+      VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+      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 getSemaphoreCounterValue(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore, uint64_t *pValue,
+      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<uint64_t>::type
+      getSemaphoreCounterValue(
+          VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+          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 getSemaphoreCounterValueKHR(
+      VULKAN_HPP_NAMESPACE::Semaphore semaphore, uint64_t *pValue,
+      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<uint64_t>::type
+      getSemaphoreCounterValueKHR(
+          VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+          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 getSemaphoreFdKHR(
+      const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd,
+      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<int>::type
+  getSemaphoreFdKHR(const SemaphoreGetFdInfoKHR &getFdInfo,
+                    Dispatch const &d
+                        VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getSemaphoreWin32HandleKHR(
+      const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR
+          *pGetWin32HandleInfo,
+      HANDLE *pHandle,
+      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<HANDLE>::type
+  getSemaphoreWin32HandleKHR(
+      const SemaphoreGetWin32HandleInfoKHR &getWin32HandleInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getSemaphoreZirconHandleFUCHSIA(
+      const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA
+          *pGetZirconHandleInfo,
+      zx_handle_t *pZirconHandle,
+      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<zx_handle_t>::type
+      getSemaphoreZirconHandleFUCHSIA(
+          const SemaphoreGetZirconHandleInfoFUCHSIA &getZirconHandleInfo,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getShaderInfoAMD(
+      VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+      VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
+      VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType, size_t *pInfoSize,
+      void *pInfo, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Uint8_tAllocator = std::allocator<uint8_t>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+      getShaderInfoAMD(VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                       VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
+                       VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,
+                       Dispatch const &d
+                           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename Uint8_tAllocator = std::allocator<uint8_t>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = Uint8_tAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, uint8_t>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+      getShaderInfoAMD(VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                       VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
+                       VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,
+                       Uint8_tAllocator &uint8_tAllocator,
+                       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 getSwapchainCounterEXT(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
+      uint64_t *pCounterValue,
+      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<uint64_t>::type
+      getSwapchainCounterEXT(
+          VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+          VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
+          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 getSwapchainImagesKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      uint32_t *pSwapchainImageCount,
+      VULKAN_HPP_NAMESPACE::Image *pSwapchainImages,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename ImageAllocator = std::allocator<Image>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<Image, ImageAllocator>>::type
+      getSwapchainImagesKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename ImageAllocator = std::allocator<Image>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = ImageAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, Image>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<Image, ImageAllocator>>::type
+      getSwapchainImagesKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                            ImageAllocator &imageAllocator,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getSwapchainStatusKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getSwapchainStatusKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      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 getValidationCacheDataEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+      size_t *pDataSize, void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Uint8_tAllocator = std::allocator<uint8_t>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+      getValidationCacheDataEXT(
+          VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename Uint8_tAllocator = std::allocator<uint8_t>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = Uint8_tAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, uint8_t>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+      getValidationCacheDataEXT(
+          VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+          Uint8_tAllocator &uint8_tAllocator,
+          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 importFenceFdKHR(
+      const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR *pImportFenceFdInfo,
+      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
+  importFenceFdKHR(const ImportFenceFdInfoKHR &importFenceFdInfo,
+                   Dispatch const &d
+                       VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result importFenceWin32HandleKHR(
+      const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR
+          *pImportFenceWin32HandleInfo,
+      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
+  importFenceWin32HandleKHR(
+      const ImportFenceWin32HandleInfoKHR &importFenceWin32HandleInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result importSemaphoreFdKHR(
+      const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR
+          *pImportSemaphoreFdInfo,
+      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
+  importSemaphoreFdKHR(const ImportSemaphoreFdInfoKHR &importSemaphoreFdInfo,
+                       Dispatch const &d
+                           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result importSemaphoreWin32HandleKHR(
+      const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR
+          *pImportSemaphoreWin32HandleInfo,
+      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
+  importSemaphoreWin32HandleKHR(
+      const ImportSemaphoreWin32HandleInfoKHR &importSemaphoreWin32HandleInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result importSemaphoreZirconHandleFUCHSIA(
+      const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA
+          *pImportSemaphoreZirconHandleInfo,
+      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
+  importSemaphoreZirconHandleFUCHSIA(
+      const ImportSemaphoreZirconHandleInfoFUCHSIA
+          &importSemaphoreZirconHandleInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result initializePerformanceApiINTEL(
+      const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL
+          *pInitializeInfo,
+      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
+  initializePerformanceApiINTEL(
+      const InitializePerformanceApiInfoINTEL &initializeInfo,
+      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 invalidateMappedMemoryRanges(
+      uint32_t memoryRangeCount,
+      const VULKAN_HPP_NAMESPACE::MappedMemoryRange *pMemoryRanges,
+      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
+  invalidateMappedMemoryRanges(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const
+          &memoryRanges,
+      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
+  mapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+            VULKAN_HPP_NAMESPACE::DeviceSize offset,
+            VULKAN_HPP_NAMESPACE::DeviceSize size,
+            VULKAN_HPP_NAMESPACE::MemoryMapFlags flags, void **ppData,
+            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
+  mapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+            VULKAN_HPP_NAMESPACE::DeviceSize offset,
+            VULKAN_HPP_NAMESPACE::DeviceSize size,
+            VULKAN_HPP_NAMESPACE::MemoryMapFlags flags
+                VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+            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 mergePipelineCaches(
+      VULKAN_HPP_NAMESPACE::PipelineCache dstCache, uint32_t srcCacheCount,
+      const VULKAN_HPP_NAMESPACE::PipelineCache *pSrcCaches,
+      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
+  mergePipelineCaches(
+      VULKAN_HPP_NAMESPACE::PipelineCache dstCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const &srcCaches,
+      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 mergeValidationCachesEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache, uint32_t srcCacheCount,
+      const VULKAN_HPP_NAMESPACE::ValidationCacheEXT *pSrcCaches,
+      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
+  mergeValidationCachesEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const
+          &srcCaches,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  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<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<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<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*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result registerEventEXT(
+      const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT *pDeviceEventInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Fence *pFence,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type registerEventEXT(
+      const DeviceEventInfoEXT &deviceEventInfo,
+      Optional<const 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_INLINE typename ResultValueType<
+      UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
+  registerEventEXTUnique(const DeviceEventInfoEXT &deviceEventInfo,
+                         Optional<const 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 registerDisplayEventEXT(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT *pDisplayEventInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::Fence *pFence,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
+  registerDisplayEventEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                          const DisplayEventInfoEXT &displayEventInfo,
+                          Optional<const 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_INLINE typename ResultValueType<
+      UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
+  registerDisplayEventEXTUnique(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      const DisplayEventInfoEXT &displayEventInfo,
+      Optional<const 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*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result releaseFullScreenExclusiveModeEXT(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  releaseFullScreenExclusiveModeEXT(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result releasePerformanceConfigurationINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  releasePerformanceConfigurationINTEL(
+      VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  release(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  release(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void releaseProfilingLockKHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result resetCommandPool(
+      VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+      VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
+      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 resetCommandPool(
+      VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+      VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Result resetDescriptorPool(
+      VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+      VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,
+      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 resetDescriptorPool(
+      VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+      VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  resetEvent(VULKAN_HPP_NAMESPACE::Event event,
+             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
+  resetEvent(VULKAN_HPP_NAMESPACE::Event event,
+             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
+  resetFences(uint32_t fenceCount, const VULKAN_HPP_NAMESPACE::Fence *pFences,
+              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>
+  typename ResultValueType<void>::type
+  resetFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences,
+              Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+                 uint32_t queryCount,
+                 Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  resetQueryPoolEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                    uint32_t firstQuery, uint32_t queryCount,
+                    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result setBufferCollectionBufferConstraintsFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA
+          *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
+  setBufferCollectionBufferConstraintsFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      const BufferConstraintsInfoFUCHSIA &bufferConstraintsInfo,
+      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)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result setBufferCollectionConstraintsFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA 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
+  setBufferCollectionConstraintsFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      const ImageCreateInfo &imageInfo,
+      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)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result setBufferCollectionImageConstraintsFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA
+          *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
+  setBufferCollectionImageConstraintsFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+      const ImageConstraintsInfoFUCHSIA &imageConstraintsInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result setDebugUtilsObjectNameEXT(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *pNameInfo,
+      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
+  setDebugUtilsObjectNameEXT(
+      const DebugUtilsObjectNameInfoEXT &nameInfo,
+      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 setDebugUtilsObjectTagEXT(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT *pTagInfo,
+      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
+  setDebugUtilsObjectTagEXT(const DebugUtilsObjectTagInfoEXT &tagInfo,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  setEvent(VULKAN_HPP_NAMESPACE::Event event,
+           Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  setEvent(VULKAN_HPP_NAMESPACE::Event event,
+           Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setHdrMetadataEXT(uint32_t swapchainCount,
+                    const VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains,
+                    const VULKAN_HPP_NAMESPACE::HdrMetadataEXT *pMetadata,
+                    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 setHdrMetadataEXT(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &swapchains,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const &metadata,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  setLocalDimmingAMD(VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain,
+                     VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable,
+                     Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result setPrivateDataEXT(
+      VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, uint64_t data,
+      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 setPrivateDataEXT(
+      VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, uint64_t data,
+      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 signalSemaphore(
+      const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo *pSignalInfo,
+      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
+  signalSemaphore(const SemaphoreSignalInfo &signalInfo,
+                  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 signalSemaphoreKHR(
+      const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo *pSignalInfo,
+      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
+  signalSemaphoreKHR(const SemaphoreSignalInfo &signalInfo,
+                     Dispatch const &d
+                         VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  trimCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                  VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
+                  Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  trimCommandPoolKHR(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                     VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
+                     Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+#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*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void uninitializePerformanceApiINTEL(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void unmapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                   Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void updateDescriptorSetWithTemplate(
+      VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+      const void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void updateDescriptorSetWithTemplateKHR(
+      VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
+      VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+      const void *pData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void updateDescriptorSets(
+      uint32_t descriptorWriteCount,
+      const VULKAN_HPP_NAMESPACE::WriteDescriptorSet *pDescriptorWrites,
+      uint32_t descriptorCopyCount,
+      const VULKAN_HPP_NAMESPACE::CopyDescriptorSet *pDescriptorCopies,
+      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 updateDescriptorSets(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const
+          &descriptorWrites,
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const
+          &descriptorCopies,
+      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 waitForFences(
+      uint32_t fenceCount, const VULKAN_HPP_NAMESPACE::Fence *pFences,
+      VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout,
+      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 Result waitForFences(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences,
+      VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout,
+      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 waitSemaphores(
+      const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo *pWaitInfo,
+      uint64_t timeout,
+      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 Result waitSemaphores(
+      const SemaphoreWaitInfo &waitInfo, uint64_t timeout,
+      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 waitSemaphoresKHR(
+      const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo *pWaitInfo,
+      uint64_t timeout,
+      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 Result waitSemaphoresKHR(
+      const SemaphoreWaitInfo &waitInfo, uint64_t timeout,
+      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 writeAccelerationStructuresPropertiesKHR(
+      uint32_t accelerationStructureCount,
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR
+          *pAccelerationStructures,
+      VULKAN_HPP_NAMESPACE::QueryType queryType, size_t dataSize, void *pData,
+      size_t stride, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+      const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  writeAccelerationStructuresPropertiesKHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+          &accelerationStructures,
+      VULKAN_HPP_NAMESPACE::QueryType queryType, ArrayProxy<T> const &data,
+      size_t stride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Allocator = std::allocator<T>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<std::vector<T, Allocator>>::type
+      writeAccelerationStructuresPropertiesKHR(
+          ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+              &accelerationStructures,
+          VULKAN_HPP_NAMESPACE::QueryType queryType, size_t dataSize,
+          size_t stride,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename T, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<T>::type
+  writeAccelerationStructuresPropertyKHR(
+      ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+          &accelerationStructures,
+      VULKAN_HPP_NAMESPACE::QueryType queryType, size_t stride,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDevice() const VULKAN_HPP_NOEXCEPT {
+    return m_device;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_device != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_device == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDevice m_device = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Device) == sizeof(VkDevice),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDevice> {
+  using type = VULKAN_HPP_NAMESPACE::Device;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDevice> {
+  using Type = VULKAN_HPP_NAMESPACE::Device;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDevice> {
+  using Type = VULKAN_HPP_NAMESPACE::Device;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Device> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct DisplayModeParametersKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DisplayModeParametersKHR(VULKAN_HPP_NAMESPACE::Extent2D visibleRegion_ = {},
+                           uint32_t refreshRate_ = {}) VULKAN_HPP_NOEXCEPT
+      : visibleRegion(visibleRegion_),
+        refreshRate(refreshRate_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayModeParametersKHR(
+      DisplayModeParametersKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModeParametersKHR(VkDisplayModeParametersKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayModeParametersKHR(
+            *reinterpret_cast<DisplayModeParametersKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayModeParametersKHR &
+  operator=(DisplayModeParametersKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModeParametersKHR &
+  operator=(VkDisplayModeParametersKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const *>(&rhs);
+    return *this;
+  }
+
+  DisplayModeParametersKHR &
+  setVisibleRegion(VULKAN_HPP_NAMESPACE::Extent2D const &visibleRegion_)
+      VULKAN_HPP_NOEXCEPT {
+    visibleRegion = visibleRegion_;
+    return *this;
+  }
+
+  DisplayModeParametersKHR &
+  setRefreshRate(uint32_t refreshRate_) VULKAN_HPP_NOEXCEPT {
+    refreshRate = refreshRate_;
+    return *this;
+  }
+
+  operator VkDisplayModeParametersKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayModeParametersKHR *>(this);
+  }
+
+  operator VkDisplayModeParametersKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayModeParametersKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayModeParametersKHR const &) const = default;
+#else
+  bool
+  operator==(DisplayModeParametersKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (visibleRegion == rhs.visibleRegion) &&
+           (refreshRate == rhs.refreshRate);
+  }
+
+  bool
+  operator!=(DisplayModeParametersKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Extent2D visibleRegion = {};
+  uint32_t refreshRate = {};
+};
+static_assert(sizeof(DisplayModeParametersKHR) ==
+                  sizeof(VkDisplayModeParametersKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayModeParametersKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DisplayModeCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayModeCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayModeCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags_ = {},
+      VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            parameters(parameters_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayModeCreateInfoKHR(
+      DisplayModeCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModeCreateInfoKHR(VkDisplayModeCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayModeCreateInfoKHR(
+            *reinterpret_cast<DisplayModeCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayModeCreateInfoKHR &
+  operator=(DisplayModeCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModeCreateInfoKHR &
+  operator=(VkDisplayModeCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  DisplayModeCreateInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DisplayModeCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  DisplayModeCreateInfoKHR &setParameters(
+      VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const &parameters_)
+      VULKAN_HPP_NOEXCEPT {
+    parameters = parameters_;
+    return *this;
+  }
+
+  operator VkDisplayModeCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayModeCreateInfoKHR *>(this);
+  }
+
+  operator VkDisplayModeCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayModeCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayModeCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(DisplayModeCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (parameters == rhs.parameters);
+  }
+
+  bool
+  operator!=(DisplayModeCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayModeCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags = {};
+  VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters = {};
+};
+static_assert(sizeof(DisplayModeCreateInfoKHR) ==
+                  sizeof(VkDisplayModeCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayModeCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplayModeCreateInfoKHR> {
+  using Type = DisplayModeCreateInfoKHR;
+};
+
+class DisplayModeKHR {
+public:
+  using CType = VkDisplayModeKHR;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayModeKHR;
+
+public:
+  VULKAN_HPP_CONSTEXPR DisplayModeKHR() = default;
+  VULKAN_HPP_CONSTEXPR DisplayModeKHR(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  DisplayModeKHR(VkDisplayModeKHR displayModeKHR) VULKAN_HPP_NOEXCEPT
+      : m_displayModeKHR(displayModeKHR) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DisplayModeKHR &
+  operator=(VkDisplayModeKHR displayModeKHR) VULKAN_HPP_NOEXCEPT {
+    m_displayModeKHR = displayModeKHR;
+    return *this;
+  }
+#endif
+
+  DisplayModeKHR &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_displayModeKHR = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayModeKHR const &) const = default;
+#else
+  bool operator==(DisplayModeKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_displayModeKHR == rhs.m_displayModeKHR;
+  }
+
+  bool operator!=(DisplayModeKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_displayModeKHR != rhs.m_displayModeKHR;
+  }
+
+  bool operator<(DisplayModeKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_displayModeKHR < rhs.m_displayModeKHR;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDisplayModeKHR() const VULKAN_HPP_NOEXCEPT {
+    return m_displayModeKHR;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_displayModeKHR != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_displayModeKHR == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDisplayModeKHR m_displayModeKHR = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DisplayModeKHR) ==
+                  sizeof(VkDisplayModeKHR),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDisplayModeKHR> {
+  using type = VULKAN_HPP_NAMESPACE::DisplayModeKHR;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::DisplayModeKHR;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayModeKHR> {
+  using Type = VULKAN_HPP_NAMESPACE::DisplayModeKHR;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DisplayModeKHR> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct ExtensionProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 ExtensionProperties(
+      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const &extensionName_ = {},
+      uint32_t specVersion_ = {}) VULKAN_HPP_NOEXCEPT
+      : extensionName(extensionName_),
+        specVersion(specVersion_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 ExtensionProperties(ExtensionProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ExtensionProperties(VkExtensionProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : ExtensionProperties(
+            *reinterpret_cast<ExtensionProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExtensionProperties &
+  operator=(ExtensionProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExtensionProperties &
+  operator=(VkExtensionProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExtensionProperties const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkExtensionProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExtensionProperties *>(this);
+  }
+
+  operator VkExtensionProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExtensionProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExtensionProperties const &) const = default;
+#else
+  bool operator==(ExtensionProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (extensionName == rhs.extensionName) &&
+           (specVersion == rhs.specVersion);
+  }
+
+  bool operator!=(ExtensionProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE>
+      extensionName = {};
+  uint32_t specVersion = {};
+};
+static_assert(sizeof(ExtensionProperties) == sizeof(VkExtensionProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExtensionProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct LayerProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 LayerProperties(
+      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const &layerName_ = {},
+      uint32_t specVersion_ = {}, uint32_t implementationVersion_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &description_ = {})
+      VULKAN_HPP_NOEXCEPT : layerName(layerName_),
+                            specVersion(specVersion_),
+                            implementationVersion(implementationVersion_),
+                            description(description_) {}
+
+  VULKAN_HPP_CONSTEXPR_14
+  LayerProperties(LayerProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  LayerProperties(VkLayerProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : LayerProperties(*reinterpret_cast<LayerProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 LayerProperties &
+  operator=(LayerProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  LayerProperties &operator=(VkLayerProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::LayerProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkLayerProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkLayerProperties *>(this);
+  }
+
+  operator VkLayerProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkLayerProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(LayerProperties const &) const = default;
+#else
+  bool operator==(LayerProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (layerName == rhs.layerName) && (specVersion == rhs.specVersion) &&
+           (implementationVersion == rhs.implementationVersion) &&
+           (description == rhs.description);
+  }
+
+  bool operator!=(LayerProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE>
+      layerName = {};
+  uint32_t specVersion = {};
+  uint32_t implementationVersion = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>
+      description = {};
+};
+static_assert(sizeof(LayerProperties) == sizeof(VkLayerProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<LayerProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PerformanceCounterKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePerformanceCounterKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterKHR(
+      VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR unit_ =
+          VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR::eGeneric,
+      VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR scope_ =
+          VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR::eCommandBuffer,
+      VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR storage_ =
+          VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR::eInt32,
+      std::array<uint8_t, VK_UUID_SIZE> const &uuid_ = {}) VULKAN_HPP_NOEXCEPT
+      : unit(unit_),
+        scope(scope_),
+        storage(storage_),
+        uuid(uuid_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterKHR(
+      PerformanceCounterKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceCounterKHR(VkPerformanceCounterKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PerformanceCounterKHR(
+            *reinterpret_cast<PerformanceCounterKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterKHR &
+  operator=(PerformanceCounterKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceCounterKHR &
+  operator=(VkPerformanceCounterKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkPerformanceCounterKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPerformanceCounterKHR *>(this);
+  }
+
+  operator VkPerformanceCounterKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceCounterKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PerformanceCounterKHR const &) const = default;
+#else
+  bool operator==(PerformanceCounterKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (unit == rhs.unit) &&
+           (scope == rhs.scope) && (storage == rhs.storage) &&
+           (uuid == rhs.uuid);
+  }
+
+  bool operator!=(PerformanceCounterKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePerformanceCounterKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR unit =
+      VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR::eGeneric;
+  VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR scope =
+      VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR::eCommandBuffer;
+  VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR storage =
+      VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR::eInt32;
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> uuid = {};
+};
+static_assert(sizeof(PerformanceCounterKHR) == sizeof(VkPerformanceCounterKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PerformanceCounterKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePerformanceCounterKHR> {
+  using Type = PerformanceCounterKHR;
+};
+
+struct PerformanceCounterDescriptionKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePerformanceCounterDescriptionKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterDescriptionKHR(
+      VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsKHR flags_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &name_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &category_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &description_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            name(name_),
+                            category(category_),
+                            description(description_) {}
+
+  VULKAN_HPP_CONSTEXPR_14
+  PerformanceCounterDescriptionKHR(PerformanceCounterDescriptionKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceCounterDescriptionKHR(
+      VkPerformanceCounterDescriptionKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PerformanceCounterDescriptionKHR(
+            *reinterpret_cast<PerformanceCounterDescriptionKHR const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterDescriptionKHR &
+  operator=(PerformanceCounterDescriptionKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceCounterDescriptionKHR &
+  operator=(VkPerformanceCounterDescriptionKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPerformanceCounterDescriptionKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPerformanceCounterDescriptionKHR *>(this);
+  }
+
+  operator VkPerformanceCounterDescriptionKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceCounterDescriptionKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PerformanceCounterDescriptionKHR const &) const = default;
+#else
+  bool operator==(PerformanceCounterDescriptionKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (name == rhs.name) &&
+           (category == rhs.category) && (description == rhs.description);
+  }
+
+  bool operator!=(PerformanceCounterDescriptionKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePerformanceCounterDescriptionKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsKHR flags = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> category =
+      {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>
+      description = {};
+};
+static_assert(sizeof(PerformanceCounterDescriptionKHR) ==
+                  sizeof(VkPerformanceCounterDescriptionKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PerformanceCounterDescriptionKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePerformanceCounterDescriptionKHR> {
+  using Type = PerformanceCounterDescriptionKHR;
+};
+
+struct DisplayModePropertiesKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayModePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_ = {},
+      VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters_ = {})
+      VULKAN_HPP_NOEXCEPT : displayMode(displayMode_),
+                            parameters(parameters_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayModePropertiesKHR(
+      DisplayModePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModePropertiesKHR(VkDisplayModePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayModePropertiesKHR(
+            *reinterpret_cast<DisplayModePropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayModePropertiesKHR &
+  operator=(DisplayModePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModePropertiesKHR &
+  operator=(VkDisplayModePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDisplayModePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayModePropertiesKHR *>(this);
+  }
+
+  operator VkDisplayModePropertiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayModePropertiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayModePropertiesKHR const &) const = default;
+#else
+  bool
+  operator==(DisplayModePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (displayMode == rhs.displayMode) && (parameters == rhs.parameters);
+  }
+
+  bool
+  operator!=(DisplayModePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode = {};
+  VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters = {};
+};
+static_assert(sizeof(DisplayModePropertiesKHR) ==
+                  sizeof(VkDisplayModePropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayModePropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DisplayModeProperties2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayModeProperties2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DisplayModeProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR
+                                displayModeProperties_ = {}) VULKAN_HPP_NOEXCEPT
+      : displayModeProperties(displayModeProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayModeProperties2KHR(
+      DisplayModeProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModeProperties2KHR(VkDisplayModeProperties2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayModeProperties2KHR(
+            *reinterpret_cast<DisplayModeProperties2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayModeProperties2KHR &
+  operator=(DisplayModeProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayModeProperties2KHR &
+  operator=(VkDisplayModeProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDisplayModeProperties2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayModeProperties2KHR *>(this);
+  }
+
+  operator VkDisplayModeProperties2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayModeProperties2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayModeProperties2KHR const &) const = default;
+#else
+  bool
+  operator==(DisplayModeProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (displayModeProperties == rhs.displayModeProperties);
+  }
+
+  bool
+  operator!=(DisplayModeProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayModeProperties2KHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR displayModeProperties = {};
+};
+static_assert(sizeof(DisplayModeProperties2KHR) ==
+                  sizeof(VkDisplayModeProperties2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayModeProperties2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplayModeProperties2KHR> {
+  using Type = DisplayModeProperties2KHR;
+};
+
+struct DisplayPlaneInfo2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayPlaneInfo2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DisplayPlaneInfo2KHR(VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_ = {},
+                       uint32_t planeIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : mode(mode_),
+        planeIndex(planeIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPlaneInfo2KHR(DisplayPlaneInfo2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneInfo2KHR(VkDisplayPlaneInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : DisplayPlaneInfo2KHR(
+            *reinterpret_cast<DisplayPlaneInfo2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPlaneInfo2KHR &
+  operator=(DisplayPlaneInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneInfo2KHR &
+  operator=(VkDisplayPlaneInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  DisplayPlaneInfo2KHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DisplayPlaneInfo2KHR &
+  setMode(VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_) VULKAN_HPP_NOEXCEPT {
+    mode = mode_;
+    return *this;
+  }
+
+  DisplayPlaneInfo2KHR &
+  setPlaneIndex(uint32_t planeIndex_) VULKAN_HPP_NOEXCEPT {
+    planeIndex = planeIndex_;
+    return *this;
+  }
+
+  operator VkDisplayPlaneInfo2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPlaneInfo2KHR *>(this);
+  }
+
+  operator VkDisplayPlaneInfo2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPlaneInfo2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPlaneInfo2KHR const &) const = default;
+#else
+  bool operator==(DisplayPlaneInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (mode == rhs.mode) &&
+           (planeIndex == rhs.planeIndex);
+  }
+
+  bool operator!=(DisplayPlaneInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayPlaneInfo2KHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayModeKHR mode = {};
+  uint32_t planeIndex = {};
+};
+static_assert(sizeof(DisplayPlaneInfo2KHR) == sizeof(VkDisplayPlaneInfo2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPlaneInfo2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplayPlaneInfo2KHR> {
+  using Type = DisplayPlaneInfo2KHR;
+};
+
+struct DisplayPlaneCapabilitiesKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilitiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagsKHR supportedAlpha_ = {},
+      VULKAN_HPP_NAMESPACE::Offset2D minSrcPosition_ = {},
+      VULKAN_HPP_NAMESPACE::Offset2D maxSrcPosition_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D minSrcExtent_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D maxSrcExtent_ = {},
+      VULKAN_HPP_NAMESPACE::Offset2D minDstPosition_ = {},
+      VULKAN_HPP_NAMESPACE::Offset2D maxDstPosition_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D minDstExtent_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D maxDstExtent_ = {}) VULKAN_HPP_NOEXCEPT
+      : supportedAlpha(supportedAlpha_),
+        minSrcPosition(minSrcPosition_),
+        maxSrcPosition(maxSrcPosition_),
+        minSrcExtent(minSrcExtent_),
+        maxSrcExtent(maxSrcExtent_),
+        minDstPosition(minDstPosition_),
+        maxDstPosition(maxDstPosition_),
+        minDstExtent(minDstExtent_),
+        maxDstExtent(maxDstExtent_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilitiesKHR(
+      DisplayPlaneCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneCapabilitiesKHR(VkDisplayPlaneCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayPlaneCapabilitiesKHR(
+            *reinterpret_cast<DisplayPlaneCapabilitiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPlaneCapabilitiesKHR &operator=(
+      DisplayPlaneCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneCapabilitiesKHR &
+  operator=(VkDisplayPlaneCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDisplayPlaneCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPlaneCapabilitiesKHR *>(this);
+  }
+
+  operator VkDisplayPlaneCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPlaneCapabilitiesKHR const &) const = default;
+#else
+  bool
+  operator==(DisplayPlaneCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (supportedAlpha == rhs.supportedAlpha) &&
+           (minSrcPosition == rhs.minSrcPosition) &&
+           (maxSrcPosition == rhs.maxSrcPosition) &&
+           (minSrcExtent == rhs.minSrcExtent) &&
+           (maxSrcExtent == rhs.maxSrcExtent) &&
+           (minDstPosition == rhs.minDstPosition) &&
+           (maxDstPosition == rhs.maxDstPosition) &&
+           (minDstExtent == rhs.minDstExtent) &&
+           (maxDstExtent == rhs.maxDstExtent);
+  }
+
+  bool
+  operator!=(DisplayPlaneCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagsKHR supportedAlpha = {};
+  VULKAN_HPP_NAMESPACE::Offset2D minSrcPosition = {};
+  VULKAN_HPP_NAMESPACE::Offset2D maxSrcPosition = {};
+  VULKAN_HPP_NAMESPACE::Extent2D minSrcExtent = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxSrcExtent = {};
+  VULKAN_HPP_NAMESPACE::Offset2D minDstPosition = {};
+  VULKAN_HPP_NAMESPACE::Offset2D maxDstPosition = {};
+  VULKAN_HPP_NAMESPACE::Extent2D minDstExtent = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxDstExtent = {};
+};
+static_assert(sizeof(DisplayPlaneCapabilitiesKHR) ==
+                  sizeof(VkDisplayPlaneCapabilitiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPlaneCapabilitiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DisplayPlaneCapabilities2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayPlaneCapabilities2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR(
+      VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities_ = {})
+      VULKAN_HPP_NOEXCEPT : capabilities(capabilities_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR(
+      DisplayPlaneCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneCapabilities2KHR(VkDisplayPlaneCapabilities2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayPlaneCapabilities2KHR(
+            *reinterpret_cast<DisplayPlaneCapabilities2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPlaneCapabilities2KHR &operator=(
+      DisplayPlaneCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneCapabilities2KHR &
+  operator=(VkDisplayPlaneCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDisplayPlaneCapabilities2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPlaneCapabilities2KHR *>(this);
+  }
+
+  operator VkDisplayPlaneCapabilities2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPlaneCapabilities2KHR const &) const = default;
+#else
+  bool operator==(DisplayPlaneCapabilities2KHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (capabilities == rhs.capabilities);
+  }
+
+  bool operator!=(DisplayPlaneCapabilities2KHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayPlaneCapabilities2KHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities = {};
+};
+static_assert(sizeof(DisplayPlaneCapabilities2KHR) ==
+                  sizeof(VkDisplayPlaneCapabilities2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPlaneCapabilities2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplayPlaneCapabilities2KHR> {
+  using Type = DisplayPlaneCapabilities2KHR;
+};
+
+struct DisplayPlanePropertiesKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayPlanePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR currentDisplay_ = {},
+      uint32_t currentStackIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : currentDisplay(currentDisplay_),
+        currentStackIndex(currentStackIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPlanePropertiesKHR(
+      DisplayPlanePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlanePropertiesKHR(VkDisplayPlanePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayPlanePropertiesKHR(
+            *reinterpret_cast<DisplayPlanePropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPlanePropertiesKHR &
+  operator=(DisplayPlanePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlanePropertiesKHR &
+  operator=(VkDisplayPlanePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDisplayPlanePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPlanePropertiesKHR *>(this);
+  }
+
+  operator VkDisplayPlanePropertiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPlanePropertiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPlanePropertiesKHR const &) const = default;
+#else
+  bool
+  operator==(DisplayPlanePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (currentDisplay == rhs.currentDisplay) &&
+           (currentStackIndex == rhs.currentStackIndex);
+  }
+
+  bool
+  operator!=(DisplayPlanePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DisplayKHR currentDisplay = {};
+  uint32_t currentStackIndex = {};
+};
+static_assert(sizeof(DisplayPlanePropertiesKHR) ==
+                  sizeof(VkDisplayPlanePropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPlanePropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DisplayPlaneProperties2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayPlaneProperties2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR(
+      VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR displayPlaneProperties_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : displayPlaneProperties(displayPlaneProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR(
+      DisplayPlaneProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneProperties2KHR(VkDisplayPlaneProperties2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplayPlaneProperties2KHR(
+            *reinterpret_cast<DisplayPlaneProperties2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPlaneProperties2KHR &operator=(
+      DisplayPlaneProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPlaneProperties2KHR &
+  operator=(VkDisplayPlaneProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDisplayPlaneProperties2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPlaneProperties2KHR *>(this);
+  }
+
+  operator VkDisplayPlaneProperties2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPlaneProperties2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPlaneProperties2KHR const &) const = default;
+#else
+  bool
+  operator==(DisplayPlaneProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (displayPlaneProperties == rhs.displayPlaneProperties);
+  }
+
+  bool
+  operator!=(DisplayPlaneProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayPlaneProperties2KHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR displayPlaneProperties = {};
+};
+static_assert(sizeof(DisplayPlaneProperties2KHR) ==
+                  sizeof(VkDisplayPlaneProperties2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPlaneProperties2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplayPlaneProperties2KHR> {
+  using Type = DisplayPlaneProperties2KHR;
+};
+
+struct DisplayPropertiesKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayPropertiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display_ = {},
+      const char *displayName_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D physicalDimensions_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D physicalResolution_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 planeReorderPossible_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 persistentContent_ = {}) VULKAN_HPP_NOEXCEPT
+      : display(display_),
+        displayName(displayName_),
+        physicalDimensions(physicalDimensions_),
+        physicalResolution(physicalResolution_),
+        supportedTransforms(supportedTransforms_),
+        planeReorderPossible(planeReorderPossible_),
+        persistentContent(persistentContent_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPropertiesKHR(DisplayPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPropertiesKHR(VkDisplayPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : DisplayPropertiesKHR(
+            *reinterpret_cast<DisplayPropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPropertiesKHR &
+  operator=(DisplayPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPropertiesKHR &
+  operator=(VkDisplayPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkDisplayPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPropertiesKHR *>(this);
+  }
+
+  operator VkDisplayPropertiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPropertiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPropertiesKHR const &) const = default;
+#else
+  bool operator==(DisplayPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (display == rhs.display) && (displayName == rhs.displayName) &&
+           (physicalDimensions == rhs.physicalDimensions) &&
+           (physicalResolution == rhs.physicalResolution) &&
+           (supportedTransforms == rhs.supportedTransforms) &&
+           (planeReorderPossible == rhs.planeReorderPossible) &&
+           (persistentContent == rhs.persistentContent);
+  }
+
+  bool operator!=(DisplayPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DisplayKHR display = {};
+  const char *displayName = {};
+  VULKAN_HPP_NAMESPACE::Extent2D physicalDimensions = {};
+  VULKAN_HPP_NAMESPACE::Extent2D physicalResolution = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms = {};
+  VULKAN_HPP_NAMESPACE::Bool32 planeReorderPossible = {};
+  VULKAN_HPP_NAMESPACE::Bool32 persistentContent = {};
+};
+static_assert(sizeof(DisplayPropertiesKHR) == sizeof(VkDisplayPropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DisplayProperties2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayProperties2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayProperties2KHR(
+      VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR displayProperties_ = {})
+      VULKAN_HPP_NOEXCEPT : displayProperties(displayProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayProperties2KHR(DisplayProperties2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayProperties2KHR(VkDisplayProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : DisplayProperties2KHR(
+            *reinterpret_cast<DisplayProperties2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayProperties2KHR &
+  operator=(DisplayProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayProperties2KHR &
+  operator=(VkDisplayProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkDisplayProperties2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayProperties2KHR *>(this);
+  }
+
+  operator VkDisplayProperties2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayProperties2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayProperties2KHR const &) const = default;
+#else
+  bool operator==(DisplayProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (displayProperties == rhs.displayProperties);
+  }
+
+  bool operator!=(DisplayProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayProperties2KHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR displayProperties = {};
+};
+static_assert(sizeof(DisplayProperties2KHR) == sizeof(VkDisplayProperties2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayProperties2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplayProperties2KHR> {
+  using Type = DisplayProperties2KHR;
+};
+
+struct PhysicalDeviceExternalBufferInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceExternalBufferInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalBufferInfo(
+      VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            usage(usage_),
+                            handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  PhysicalDeviceExternalBufferInfo(PhysicalDeviceExternalBufferInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalBufferInfo(
+      VkPhysicalDeviceExternalBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceExternalBufferInfo(
+            *reinterpret_cast<PhysicalDeviceExternalBufferInfo const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalBufferInfo &
+  operator=(PhysicalDeviceExternalBufferInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalBufferInfo &
+  operator=(VkPhysicalDeviceExternalBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceExternalBufferInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceExternalBufferInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PhysicalDeviceExternalBufferInfo &
+  setUsage(VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_) VULKAN_HPP_NOEXCEPT {
+    usage = usage_;
+    return *this;
+  }
+
+  PhysicalDeviceExternalBufferInfo &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceExternalBufferInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>(this);
+  }
+
+  operator VkPhysicalDeviceExternalBufferInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceExternalBufferInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceExternalBufferInfo const &) const = default;
+#else
+  bool operator==(PhysicalDeviceExternalBufferInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (usage == rhs.usage) &&
+           (handleType == rhs.handleType);
+  }
+
+  bool operator!=(PhysicalDeviceExternalBufferInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceExternalBufferInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::BufferCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::BufferUsageFlags usage = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(PhysicalDeviceExternalBufferInfo) ==
+                  sizeof(VkPhysicalDeviceExternalBufferInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceExternalBufferInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceExternalBufferInfo> {
+  using Type = PhysicalDeviceExternalBufferInfo;
+};
+using PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
+
+struct ExternalMemoryProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ExternalMemoryProperties(VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlags
+                               externalMemoryFeatures_ = {},
+                           VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags
+                               exportFromImportedHandleTypes_ = {},
+                           VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags
+                               compatibleHandleTypes_ = {}) VULKAN_HPP_NOEXCEPT
+      : externalMemoryFeatures(externalMemoryFeatures_),
+        exportFromImportedHandleTypes(exportFromImportedHandleTypes_),
+        compatibleHandleTypes(compatibleHandleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalMemoryProperties(
+      ExternalMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryProperties(VkExternalMemoryProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalMemoryProperties(
+            *reinterpret_cast<ExternalMemoryProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalMemoryProperties &
+  operator=(ExternalMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryProperties &
+  operator=(VkExternalMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkExternalMemoryProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalMemoryProperties *>(this);
+  }
+
+  operator VkExternalMemoryProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalMemoryProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalMemoryProperties const &) const = default;
+#else
+  bool
+  operator==(ExternalMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (externalMemoryFeatures == rhs.externalMemoryFeatures) &&
+           (exportFromImportedHandleTypes ==
+            rhs.exportFromImportedHandleTypes) &&
+           (compatibleHandleTypes == rhs.compatibleHandleTypes);
+  }
+
+  bool
+  operator!=(ExternalMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlags externalMemoryFeatures = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags
+      exportFromImportedHandleTypes = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags compatibleHandleTypes =
+      {};
+};
+static_assert(sizeof(ExternalMemoryProperties) ==
+                  sizeof(VkExternalMemoryProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalMemoryProperties>::value,
+              "struct wrapper is not a standard layout!");
+using ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
+
+struct ExternalBufferProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalBufferProperties;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExternalBufferProperties(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : externalMemoryProperties(externalMemoryProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalBufferProperties(
+      ExternalBufferProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalBufferProperties(VkExternalBufferProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalBufferProperties(
+            *reinterpret_cast<ExternalBufferProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalBufferProperties &
+  operator=(ExternalBufferProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalBufferProperties &
+  operator=(VkExternalBufferProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalBufferProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkExternalBufferProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalBufferProperties *>(this);
+  }
+
+  operator VkExternalBufferProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalBufferProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalBufferProperties const &) const = default;
+#else
+  bool
+  operator==(ExternalBufferProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (externalMemoryProperties == rhs.externalMemoryProperties);
+  }
+
+  bool
+  operator!=(ExternalBufferProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalBufferProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties = {};
+};
+static_assert(sizeof(ExternalBufferProperties) ==
+                  sizeof(VkExternalBufferProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalBufferProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExternalBufferProperties> {
+  using Type = ExternalBufferProperties;
+};
+using ExternalBufferPropertiesKHR = ExternalBufferProperties;
+
+struct PhysicalDeviceExternalFenceInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceExternalFenceInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalFenceInfo(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalFenceInfo(
+      PhysicalDeviceExternalFenceInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalFenceInfo(VkPhysicalDeviceExternalFenceInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceExternalFenceInfo(
+            *reinterpret_cast<PhysicalDeviceExternalFenceInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalFenceInfo &operator=(
+      PhysicalDeviceExternalFenceInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalFenceInfo &
+  operator=(VkPhysicalDeviceExternalFenceInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceExternalFenceInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceExternalFenceInfo &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceExternalFenceInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>(this);
+  }
+
+  operator VkPhysicalDeviceExternalFenceInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceExternalFenceInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceExternalFenceInfo const &) const = default;
+#else
+  bool operator==(PhysicalDeviceExternalFenceInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType);
+  }
+
+  bool operator!=(PhysicalDeviceExternalFenceInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceExternalFenceInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(PhysicalDeviceExternalFenceInfo) ==
+                  sizeof(VkPhysicalDeviceExternalFenceInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceExternalFenceInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceExternalFenceInfo> {
+  using Type = PhysicalDeviceExternalFenceInfo;
+};
+using PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
+
+struct ExternalFenceProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalFenceProperties;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ExternalFenceProperties(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags
+                              exportFromImportedHandleTypes_ = {},
+                          VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags
+                              compatibleHandleTypes_ = {},
+                          VULKAN_HPP_NAMESPACE::ExternalFenceFeatureFlags
+                              externalFenceFeatures_ = {}) VULKAN_HPP_NOEXCEPT
+      : exportFromImportedHandleTypes(exportFromImportedHandleTypes_),
+        compatibleHandleTypes(compatibleHandleTypes_),
+        externalFenceFeatures(externalFenceFeatures_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalFenceProperties(
+      ExternalFenceProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalFenceProperties(VkExternalFenceProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalFenceProperties(
+            *reinterpret_cast<ExternalFenceProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalFenceProperties &
+  operator=(ExternalFenceProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalFenceProperties &
+  operator=(VkExternalFenceProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalFenceProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkExternalFenceProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalFenceProperties *>(this);
+  }
+
+  operator VkExternalFenceProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalFenceProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalFenceProperties const &) const = default;
+#else
+  bool
+  operator==(ExternalFenceProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (exportFromImportedHandleTypes ==
+            rhs.exportFromImportedHandleTypes) &&
+           (compatibleHandleTypes == rhs.compatibleHandleTypes) &&
+           (externalFenceFeatures == rhs.externalFenceFeatures);
+  }
+
+  bool
+  operator!=(ExternalFenceProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalFenceProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags
+      exportFromImportedHandleTypes = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags compatibleHandleTypes = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceFeatureFlags externalFenceFeatures = {};
+};
+static_assert(sizeof(ExternalFenceProperties) ==
+                  sizeof(VkExternalFenceProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalFenceProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExternalFenceProperties> {
+  using Type = ExternalFenceProperties;
+};
+using ExternalFencePropertiesKHR = ExternalFenceProperties;
+
+struct ImageFormatProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::Extent3D maxExtent_ = {},
+      uint32_t maxMipLevels_ = {}, uint32_t maxArrayLayers_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize maxResourceSize_ = {})
+      VULKAN_HPP_NOEXCEPT : maxExtent(maxExtent_),
+                            maxMipLevels(maxMipLevels_),
+                            maxArrayLayers(maxArrayLayers_),
+                            sampleCounts(sampleCounts_),
+                            maxResourceSize(maxResourceSize_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageFormatProperties(ImageFormatProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatProperties(VkImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageFormatProperties(
+            *reinterpret_cast<ImageFormatProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageFormatProperties &
+  operator=(ImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatProperties &
+  operator=(VkImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatProperties const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageFormatProperties *>(this);
+  }
+
+  operator VkImageFormatProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageFormatProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageFormatProperties const &) const = default;
+#else
+  bool operator==(ImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (maxExtent == rhs.maxExtent) && (maxMipLevels == rhs.maxMipLevels) &&
+           (maxArrayLayers == rhs.maxArrayLayers) &&
+           (sampleCounts == rhs.sampleCounts) &&
+           (maxResourceSize == rhs.maxResourceSize);
+  }
+
+  bool operator!=(ImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Extent3D maxExtent = {};
+  uint32_t maxMipLevels = {};
+  uint32_t maxArrayLayers = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize maxResourceSize = {};
+};
+static_assert(sizeof(ImageFormatProperties) == sizeof(VkImageFormatProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageFormatProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct ExternalImageFormatPropertiesNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExternalImageFormatPropertiesNV(
+      VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlagsNV
+          externalMemoryFeatures_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV
+          exportFromImportedHandleTypes_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV
+          compatibleHandleTypes_ = {}) VULKAN_HPP_NOEXCEPT
+      : imageFormatProperties(imageFormatProperties_),
+        externalMemoryFeatures(externalMemoryFeatures_),
+        exportFromImportedHandleTypes(exportFromImportedHandleTypes_),
+        compatibleHandleTypes(compatibleHandleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalImageFormatPropertiesNV(
+      ExternalImageFormatPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalImageFormatPropertiesNV(VkExternalImageFormatPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalImageFormatPropertiesNV(
+            *reinterpret_cast<ExternalImageFormatPropertiesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalImageFormatPropertiesNV &operator=(
+      ExternalImageFormatPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalImageFormatPropertiesNV &
+  operator=(VkExternalImageFormatPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV const *>(&rhs);
+    return *this;
+  }
+
+  operator VkExternalImageFormatPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalImageFormatPropertiesNV *>(this);
+  }
+
+  operator VkExternalImageFormatPropertiesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalImageFormatPropertiesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalImageFormatPropertiesNV const &) const = default;
+#else
+  bool operator==(ExternalImageFormatPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (imageFormatProperties == rhs.imageFormatProperties) &&
+           (externalMemoryFeatures == rhs.externalMemoryFeatures) &&
+           (exportFromImportedHandleTypes ==
+            rhs.exportFromImportedHandleTypes) &&
+           (compatibleHandleTypes == rhs.compatibleHandleTypes);
+  }
+
+  bool operator!=(ExternalImageFormatPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlagsNV externalMemoryFeatures =
+      {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV
+      exportFromImportedHandleTypes = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV compatibleHandleTypes =
+      {};
+};
+static_assert(sizeof(ExternalImageFormatPropertiesNV) ==
+                  sizeof(VkExternalImageFormatPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalImageFormatPropertiesNV>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PhysicalDeviceExternalSemaphoreInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceExternalSemaphoreInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalSemaphoreInfo(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalSemaphoreInfo(
       VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : handleType( handleType_ )
-    {}
+          VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : handleType(handleType_) {}
 
-    PhysicalDeviceExternalSemaphoreInfo( VkPhysicalDeviceExternalSemaphoreInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalSemaphoreInfo(
+      PhysicalDeviceExternalSemaphoreInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceExternalSemaphoreInfo &
-      operator=( VkPhysicalDeviceExternalSemaphoreInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceExternalSemaphoreInfo(
+      VkPhysicalDeviceExternalSemaphoreInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceExternalSemaphoreInfo(
+            *reinterpret_cast<PhysicalDeviceExternalSemaphoreInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceExternalSemaphoreInfo &
-      operator=( PhysicalDeviceExternalSemaphoreInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      handleType = rhs.handleType;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalSemaphoreInfo &
+  operator=(PhysicalDeviceExternalSemaphoreInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceExternalSemaphoreInfo &operator=(
+      VkPhysicalDeviceExternalSemaphoreInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceExternalSemaphoreInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceExternalSemaphoreInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceExternalSemaphoreInfo &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
+  PhysicalDeviceExternalSemaphoreInfo &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceExternalSemaphoreInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( this );
-    }
+  operator VkPhysicalDeviceExternalSemaphoreInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceExternalSemaphoreInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceExternalSemaphoreInfo *>( this );
-    }
+  operator VkPhysicalDeviceExternalSemaphoreInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceExternalSemaphoreInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceExternalSemaphoreInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceExternalSemaphoreInfo const &) const = default;
 #else
-    bool operator==( PhysicalDeviceExternalSemaphoreInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType );
-    }
+  bool operator==(PhysicalDeviceExternalSemaphoreInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType);
+  }
 
-    bool operator!=( PhysicalDeviceExternalSemaphoreInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceExternalSemaphoreInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalSemaphoreInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceExternalSemaphoreInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
       VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( PhysicalDeviceExternalSemaphoreInfo ) == sizeof( VkPhysicalDeviceExternalSemaphoreInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceExternalSemaphoreInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(PhysicalDeviceExternalSemaphoreInfo) ==
+                  sizeof(VkPhysicalDeviceExternalSemaphoreInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceExternalSemaphoreInfo>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceExternalSemaphoreInfo>
-  {
-    using Type = PhysicalDeviceExternalSemaphoreInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceExternalSemaphoreInfo> {
+  using Type = PhysicalDeviceExternalSemaphoreInfo;
+};
+using PhysicalDeviceExternalSemaphoreInfoKHR =
+    PhysicalDeviceExternalSemaphoreInfo;
 
-  struct PhysicalDeviceFeatures2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceFeatures2;
+struct ExternalSemaphoreProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalSemaphoreProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceFeatures2( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features_ = {} ) VULKAN_HPP_NOEXCEPT
-      : features( features_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags
+          exportFromImportedHandleTypes_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags
+          compatibleHandleTypes_ = {},
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreFeatureFlags
+          externalSemaphoreFeatures_ = {}) VULKAN_HPP_NOEXCEPT
+      : exportFromImportedHandleTypes(exportFromImportedHandleTypes_),
+        compatibleHandleTypes(compatibleHandleTypes_),
+        externalSemaphoreFeatures(externalSemaphoreFeatures_) {}
 
-    PhysicalDeviceFeatures2( VkPhysicalDeviceFeatures2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties(
+      ExternalSemaphoreProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFeatures2 & operator=( VkPhysicalDeviceFeatures2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 const *>( &rhs );
-      return *this;
-    }
+  ExternalSemaphoreProperties(VkExternalSemaphoreProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalSemaphoreProperties(
+            *reinterpret_cast<ExternalSemaphoreProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceFeatures2 & operator=( PhysicalDeviceFeatures2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      features = rhs.features;
+  VULKAN_HPP_CONSTEXPR_14 ExternalSemaphoreProperties &operator=(
+      ExternalSemaphoreProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  ExternalSemaphoreProperties &
+  operator=(VkExternalSemaphoreProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceFeatures2 & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkExternalSemaphoreProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalSemaphoreProperties *>(this);
+  }
 
-    PhysicalDeviceFeatures2 &
-      setFeatures( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const & features_ ) VULKAN_HPP_NOEXCEPT
-    {
-      features = features_;
-      return *this;
-    }
+  operator VkExternalSemaphoreProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalSemaphoreProperties *>(this);
+  }
 
-    operator VkPhysicalDeviceFeatures2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFeatures2 *>( this );
-    }
-
-    operator VkPhysicalDeviceFeatures2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFeatures2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFeatures2 const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalSemaphoreProperties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceFeatures2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( features == rhs.features );
-    }
+  bool
+  operator==(ExternalSemaphoreProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (exportFromImportedHandleTypes ==
+            rhs.exportFromImportedHandleTypes) &&
+           (compatibleHandleTypes == rhs.compatibleHandleTypes) &&
+           (externalSemaphoreFeatures == rhs.externalSemaphoreFeatures);
+  }
 
-    bool operator!=( PhysicalDeviceFeatures2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(ExternalSemaphoreProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType    = StructureType::ePhysicalDeviceFeatures2;
-    void *                                       pNext    = {};
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFeatures2 ) == sizeof( VkPhysicalDeviceFeatures2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFeatures2>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalSemaphoreProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags
+      exportFromImportedHandleTypes = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags compatibleHandleTypes =
+      {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreFeatureFlags
+      externalSemaphoreFeatures = {};
+};
+static_assert(sizeof(ExternalSemaphoreProperties) ==
+                  sizeof(VkExternalSemaphoreProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalSemaphoreProperties>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFeatures2>
-  {
-    using Type = PhysicalDeviceFeatures2;
-  };
+template <>
+struct CppType<StructureType, StructureType::eExternalSemaphoreProperties> {
+  using Type = ExternalSemaphoreProperties;
+};
+using ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
 
-  struct PhysicalDeviceFloatControlsProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFeatures2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceFeatures2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures2(
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features_ = {})
+      VULKAN_HPP_NOEXCEPT : features(features_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures2(
+      PhysicalDeviceFeatures2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFeatures2(VkPhysicalDeviceFeatures2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFeatures2(
+            *reinterpret_cast<PhysicalDeviceFeatures2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures2 &
+  operator=(PhysicalDeviceFeatures2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFeatures2 &
+  operator=(VkPhysicalDeviceFeatures2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceFeatures2 &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceFeatures2 &
+  setFeatures(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const &features_)
+      VULKAN_HPP_NOEXCEPT {
+    features = features_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceFeatures2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceFeatures2 *>(this);
+  }
+
+  operator VkPhysicalDeviceFeatures2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFeatures2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceFeatures2 const &) const = default;
+#else
+  bool
+  operator==(PhysicalDeviceFeatures2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (features == rhs.features);
+  }
+
+  bool
+  operator!=(PhysicalDeviceFeatures2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFeatures2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features = {};
+};
+static_assert(sizeof(PhysicalDeviceFeatures2) ==
+                  sizeof(VkPhysicalDeviceFeatures2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceFeatures2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceFeatures2> {
+  using Type = PhysicalDeviceFeatures2;
+};
+using PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
+
+struct FormatProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FormatProperties(
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags linearTilingFeatures_ = {},
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags optimalTilingFeatures_ = {},
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags bufferFeatures_ = {})
+      VULKAN_HPP_NOEXCEPT : linearTilingFeatures(linearTilingFeatures_),
+                            optimalTilingFeatures(optimalTilingFeatures_),
+                            bufferFeatures(bufferFeatures_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  FormatProperties(FormatProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FormatProperties(VkFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : FormatProperties(*reinterpret_cast<FormatProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FormatProperties &
+  operator=(FormatProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FormatProperties &
+  operator=(VkFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::FormatProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkFormatProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFormatProperties *>(this);
+  }
+
+  operator VkFormatProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFormatProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FormatProperties const &) const = default;
+#else
+  bool operator==(FormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (linearTilingFeatures == rhs.linearTilingFeatures) &&
+           (optimalTilingFeatures == rhs.optimalTilingFeatures) &&
+           (bufferFeatures == rhs.bufferFeatures);
+  }
+
+  bool operator!=(FormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags linearTilingFeatures = {};
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags optimalTilingFeatures = {};
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags bufferFeatures = {};
+};
+static_assert(sizeof(FormatProperties) == sizeof(VkFormatProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FormatProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct FormatProperties2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFormatProperties2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FormatProperties2(
+      VULKAN_HPP_NAMESPACE::FormatProperties formatProperties_ = {})
+      VULKAN_HPP_NOEXCEPT : formatProperties(formatProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  FormatProperties2(FormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FormatProperties2(VkFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : FormatProperties2(*reinterpret_cast<FormatProperties2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FormatProperties2 &
+  operator=(FormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FormatProperties2 &
+  operator=(VkFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FormatProperties2 const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFormatProperties2 *>(this);
+  }
+
+  operator VkFormatProperties2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFormatProperties2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FormatProperties2 const &) const = default;
+#else
+  bool operator==(FormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (formatProperties == rhs.formatProperties);
+  }
+
+  bool operator!=(FormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFormatProperties2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::FormatProperties formatProperties = {};
+};
+static_assert(sizeof(FormatProperties2) == sizeof(VkFormatProperties2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FormatProperties2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eFormatProperties2> {
+  using Type = FormatProperties2;
+};
+using FormatProperties2KHR = FormatProperties2;
+
+struct PhysicalDeviceFragmentShadingRateKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceFragmentShadingRateKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateKHR(
+      VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D fragmentSize_ = {}) VULKAN_HPP_NOEXCEPT
+      : sampleCounts(sampleCounts_),
+        fragmentSize(fragmentSize_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateKHR(
+      PhysicalDeviceFragmentShadingRateKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRateKHR(
+      VkPhysicalDeviceFragmentShadingRateKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentShadingRateKHR(
+            *reinterpret_cast<PhysicalDeviceFragmentShadingRateKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateKHR &
+  operator=(PhysicalDeviceFragmentShadingRateKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRateKHR &operator=(
+      VkPhysicalDeviceFragmentShadingRateKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateKHR *>(
+        this);
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceFragmentShadingRateKHR const &) const = default;
+#else
+  bool operator==(PhysicalDeviceFragmentShadingRateKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (sampleCounts == rhs.sampleCounts) &&
+           (fragmentSize == rhs.fragmentSize);
+  }
+
+  bool operator!=(PhysicalDeviceFragmentShadingRateKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentShadingRateKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts = {};
+  VULKAN_HPP_NAMESPACE::Extent2D fragmentSize = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentShadingRateKHR) ==
+                  sizeof(VkPhysicalDeviceFragmentShadingRateKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceFragmentShadingRateKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFragmentShadingRateKHR> {
+  using Type = PhysicalDeviceFragmentShadingRateKHR;
+};
+
+struct PhysicalDeviceImageFormatInfo2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceImageFormatInfo2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageFormatInfo2(
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::ImageType type_ =
+          VULKAN_HPP_NAMESPACE::ImageType::e1D,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling_ =
+          VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ = {}) VULKAN_HPP_NOEXCEPT
+      : format(format_),
+        type(type_),
+        tiling(tiling_),
+        usage(usage_),
+        flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageFormatInfo2(
+      PhysicalDeviceImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceImageFormatInfo2(VkPhysicalDeviceImageFormatInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceImageFormatInfo2(
+            *reinterpret_cast<PhysicalDeviceImageFormatInfo2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageFormatInfo2 &operator=(
+      PhysicalDeviceImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceImageFormatInfo2 &
+  operator=(VkPhysicalDeviceImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceImageFormatInfo2 &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceImageFormatInfo2 &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
+
+  PhysicalDeviceImageFormatInfo2 &
+  setType(VULKAN_HPP_NAMESPACE::ImageType type_) VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
+
+  PhysicalDeviceImageFormatInfo2 &
+  setTiling(VULKAN_HPP_NAMESPACE::ImageTiling tiling_) VULKAN_HPP_NOEXCEPT {
+    tiling = tiling_;
+    return *this;
+  }
+
+  PhysicalDeviceImageFormatInfo2 &
+  setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT {
+    usage = usage_;
+    return *this;
+  }
+
+  PhysicalDeviceImageFormatInfo2 &
+  setFlags(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceImageFormatInfo2 const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(this);
+  }
+
+  operator VkPhysicalDeviceImageFormatInfo2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceImageFormatInfo2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceImageFormatInfo2 const &) const = default;
+#else
+  bool operator==(PhysicalDeviceImageFormatInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (format == rhs.format) && (type == rhs.type) &&
+           (tiling == rhs.tiling) && (usage == rhs.usage) &&
+           (flags == rhs.flags);
+  }
+
+  bool operator!=(PhysicalDeviceImageFormatInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceImageFormatInfo2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageType type = VULKAN_HPP_NAMESPACE::ImageType::e1D;
+  VULKAN_HPP_NAMESPACE::ImageTiling tiling =
+      VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal;
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags usage = {};
+  VULKAN_HPP_NAMESPACE::ImageCreateFlags flags = {};
+};
+static_assert(sizeof(PhysicalDeviceImageFormatInfo2) ==
+                  sizeof(VkPhysicalDeviceImageFormatInfo2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceImageFormatInfo2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceImageFormatInfo2> {
+  using Type = PhysicalDeviceImageFormatInfo2;
+};
+using PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
+
+struct ImageFormatProperties2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageFormatProperties2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageFormatProperties2(
+      VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties_ = {})
+      VULKAN_HPP_NOEXCEPT : imageFormatProperties(imageFormatProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageFormatProperties2(ImageFormatProperties2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatProperties2(VkImageFormatProperties2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageFormatProperties2(
+            *reinterpret_cast<ImageFormatProperties2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageFormatProperties2 &
+  operator=(ImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatProperties2 &
+  operator=(VkImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatProperties2 const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkImageFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageFormatProperties2 *>(this);
+  }
+
+  operator VkImageFormatProperties2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageFormatProperties2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageFormatProperties2 const &) const = default;
+#else
+  bool operator==(ImageFormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (imageFormatProperties == rhs.imageFormatProperties);
+  }
+
+  bool operator!=(ImageFormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageFormatProperties2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties = {};
+};
+static_assert(sizeof(ImageFormatProperties2) ==
+                  sizeof(VkImageFormatProperties2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageFormatProperties2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageFormatProperties2> {
+  using Type = ImageFormatProperties2;
+};
+using ImageFormatProperties2KHR = ImageFormatProperties2;
+
+struct MemoryType {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  MemoryType(VULKAN_HPP_NAMESPACE::MemoryPropertyFlags propertyFlags_ = {},
+             uint32_t heapIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : propertyFlags(propertyFlags_),
+        heapIndex(heapIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  MemoryType(MemoryType const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryType(VkMemoryType const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryType(*reinterpret_cast<MemoryType const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryType &
+  operator=(MemoryType const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryType &operator=(VkMemoryType const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryType const *>(&rhs);
+    return *this;
+  }
+
+  operator VkMemoryType const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryType *>(this);
+  }
+
+  operator VkMemoryType &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryType *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryType const &) const = default;
+#else
+  bool operator==(MemoryType const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (propertyFlags == rhs.propertyFlags) && (heapIndex == rhs.heapIndex);
+  }
+
+  bool operator!=(MemoryType const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::MemoryPropertyFlags propertyFlags = {};
+  uint32_t heapIndex = {};
+};
+static_assert(sizeof(MemoryType) == sizeof(VkMemoryType),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryType>::value,
+              "struct wrapper is not a standard layout!");
+
+struct MemoryHeap {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryHeap(
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {},
+      VULKAN_HPP_NAMESPACE::MemoryHeapFlags flags_ = {}) VULKAN_HPP_NOEXCEPT
+      : size(size_),
+        flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  MemoryHeap(MemoryHeap const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryHeap(VkMemoryHeap const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryHeap(*reinterpret_cast<MemoryHeap const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryHeap &
+  operator=(MemoryHeap const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryHeap &operator=(VkMemoryHeap const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryHeap const *>(&rhs);
+    return *this;
+  }
+
+  operator VkMemoryHeap const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryHeap *>(this);
+  }
+
+  operator VkMemoryHeap &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryHeap *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryHeap const &) const = default;
+#else
+  bool operator==(MemoryHeap const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (size == rhs.size) && (flags == rhs.flags);
+  }
+
+  bool operator!=(MemoryHeap const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+  VULKAN_HPP_NAMESPACE::MemoryHeapFlags flags = {};
+};
+static_assert(sizeof(MemoryHeap) == sizeof(VkMemoryHeap),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryHeap>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PhysicalDeviceMemoryProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties(
+      uint32_t memoryTypeCount_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::MemoryType, VK_MAX_MEMORY_TYPES> const
+          &memoryTypes_ = {},
+      uint32_t memoryHeapCount_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::MemoryHeap, VK_MAX_MEMORY_HEAPS> const
+          &memoryHeaps_ = {}) VULKAN_HPP_NOEXCEPT
+      : memoryTypeCount(memoryTypeCount_),
+        memoryTypes(memoryTypes_),
+        memoryHeapCount(memoryHeapCount_),
+        memoryHeaps(memoryHeaps_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties(
+      PhysicalDeviceMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceMemoryProperties(VkPhysicalDeviceMemoryProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMemoryProperties(
+            *reinterpret_cast<PhysicalDeviceMemoryProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties &operator=(
+      PhysicalDeviceMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceMemoryProperties &
+  operator=(VkPhysicalDeviceMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceMemoryProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties *>(this);
+  }
+
+  operator VkPhysicalDeviceMemoryProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMemoryProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceMemoryProperties const &) const = default;
+#else
+  bool operator==(PhysicalDeviceMemoryProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (memoryTypeCount == rhs.memoryTypeCount) &&
+           (memoryTypes == rhs.memoryTypes) &&
+           (memoryHeapCount == rhs.memoryHeapCount) &&
+           (memoryHeaps == rhs.memoryHeaps);
+  }
+
+  bool operator!=(PhysicalDeviceMemoryProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t memoryTypeCount = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::MemoryType,
+                                       VK_MAX_MEMORY_TYPES>
+      memoryTypes = {};
+  uint32_t memoryHeapCount = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::MemoryHeap,
+                                       VK_MAX_MEMORY_HEAPS>
+      memoryHeaps = {};
+};
+static_assert(sizeof(PhysicalDeviceMemoryProperties) ==
+                  sizeof(VkPhysicalDeviceMemoryProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceMemoryProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PhysicalDeviceMemoryProperties2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceMemoryProperties2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties2(
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties_ =
+          {}) VULKAN_HPP_NOEXCEPT : memoryProperties(memoryProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties2(
+      PhysicalDeviceMemoryProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceMemoryProperties2(VkPhysicalDeviceMemoryProperties2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMemoryProperties2(
+            *reinterpret_cast<PhysicalDeviceMemoryProperties2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties2 &operator=(
+      PhysicalDeviceMemoryProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceMemoryProperties2 &
+  operator=(VkPhysicalDeviceMemoryProperties2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceMemoryProperties2 const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties2 *>(this);
+  }
+
+  operator VkPhysicalDeviceMemoryProperties2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceMemoryProperties2 const &) const = default;
+#else
+  bool operator==(PhysicalDeviceMemoryProperties2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryProperties == rhs.memoryProperties);
+  }
+
+  bool operator!=(PhysicalDeviceMemoryProperties2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMemoryProperties2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties = {};
+};
+static_assert(sizeof(PhysicalDeviceMemoryProperties2) ==
+                  sizeof(VkPhysicalDeviceMemoryProperties2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceMemoryProperties2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceMemoryProperties2> {
+  using Type = PhysicalDeviceMemoryProperties2;
+};
+using PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
+
+struct MultisamplePropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMultisamplePropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MultisamplePropertiesEXT(
+      VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : maxSampleLocationGridSize(maxSampleLocationGridSize_) {}
+
+  VULKAN_HPP_CONSTEXPR MultisamplePropertiesEXT(
+      MultisamplePropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MultisamplePropertiesEXT(VkMultisamplePropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MultisamplePropertiesEXT(
+            *reinterpret_cast<MultisamplePropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MultisamplePropertiesEXT &
+  operator=(MultisamplePropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MultisamplePropertiesEXT &
+  operator=(VkMultisamplePropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkMultisamplePropertiesEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMultisamplePropertiesEXT *>(this);
+  }
+
+  operator VkMultisamplePropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMultisamplePropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MultisamplePropertiesEXT const &) const = default;
+#else
+  bool
+  operator==(MultisamplePropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxSampleLocationGridSize == rhs.maxSampleLocationGridSize);
+  }
+
+  bool
+  operator!=(MultisamplePropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMultisamplePropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize = {};
+};
+static_assert(sizeof(MultisamplePropertiesEXT) ==
+                  sizeof(VkMultisamplePropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MultisamplePropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMultisamplePropertiesEXT> {
+  using Type = MultisamplePropertiesEXT;
+};
+
+struct PhysicalDeviceLimits {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLimits(
+      uint32_t maxImageDimension1D_ = {}, uint32_t maxImageDimension2D_ = {},
+      uint32_t maxImageDimension3D_ = {}, uint32_t maxImageDimensionCube_ = {},
+      uint32_t maxImageArrayLayers_ = {}, uint32_t maxTexelBufferElements_ = {},
+      uint32_t maxUniformBufferRange_ = {},
+      uint32_t maxStorageBufferRange_ = {}, uint32_t maxPushConstantsSize_ = {},
+      uint32_t maxMemoryAllocationCount_ = {},
+      uint32_t maxSamplerAllocationCount_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize bufferImageGranularity_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize sparseAddressSpaceSize_ = {},
+      uint32_t maxBoundDescriptorSets_ = {},
+      uint32_t maxPerStageDescriptorSamplers_ = {},
+      uint32_t maxPerStageDescriptorUniformBuffers_ = {},
+      uint32_t maxPerStageDescriptorStorageBuffers_ = {},
+      uint32_t maxPerStageDescriptorSampledImages_ = {},
+      uint32_t maxPerStageDescriptorStorageImages_ = {},
+      uint32_t maxPerStageDescriptorInputAttachments_ = {},
+      uint32_t maxPerStageResources_ = {},
+      uint32_t maxDescriptorSetSamplers_ = {},
+      uint32_t maxDescriptorSetUniformBuffers_ = {},
+      uint32_t maxDescriptorSetUniformBuffersDynamic_ = {},
+      uint32_t maxDescriptorSetStorageBuffers_ = {},
+      uint32_t maxDescriptorSetStorageBuffersDynamic_ = {},
+      uint32_t maxDescriptorSetSampledImages_ = {},
+      uint32_t maxDescriptorSetStorageImages_ = {},
+      uint32_t maxDescriptorSetInputAttachments_ = {},
+      uint32_t maxVertexInputAttributes_ = {},
+      uint32_t maxVertexInputBindings_ = {},
+      uint32_t maxVertexInputAttributeOffset_ = {},
+      uint32_t maxVertexInputBindingStride_ = {},
+      uint32_t maxVertexOutputComponents_ = {},
+      uint32_t maxTessellationGenerationLevel_ = {},
+      uint32_t maxTessellationPatchSize_ = {},
+      uint32_t maxTessellationControlPerVertexInputComponents_ = {},
+      uint32_t maxTessellationControlPerVertexOutputComponents_ = {},
+      uint32_t maxTessellationControlPerPatchOutputComponents_ = {},
+      uint32_t maxTessellationControlTotalOutputComponents_ = {},
+      uint32_t maxTessellationEvaluationInputComponents_ = {},
+      uint32_t maxTessellationEvaluationOutputComponents_ = {},
+      uint32_t maxGeometryShaderInvocations_ = {},
+      uint32_t maxGeometryInputComponents_ = {},
+      uint32_t maxGeometryOutputComponents_ = {},
+      uint32_t maxGeometryOutputVertices_ = {},
+      uint32_t maxGeometryTotalOutputComponents_ = {},
+      uint32_t maxFragmentInputComponents_ = {},
+      uint32_t maxFragmentOutputAttachments_ = {},
+      uint32_t maxFragmentDualSrcAttachments_ = {},
+      uint32_t maxFragmentCombinedOutputResources_ = {},
+      uint32_t maxComputeSharedMemorySize_ = {},
+      std::array<uint32_t, 3> const &maxComputeWorkGroupCount_ = {},
+      uint32_t maxComputeWorkGroupInvocations_ = {},
+      std::array<uint32_t, 3> const &maxComputeWorkGroupSize_ = {},
+      uint32_t subPixelPrecisionBits_ = {},
+      uint32_t subTexelPrecisionBits_ = {}, uint32_t mipmapPrecisionBits_ = {},
+      uint32_t maxDrawIndexedIndexValue_ = {},
+      uint32_t maxDrawIndirectCount_ = {}, float maxSamplerLodBias_ = {},
+      float maxSamplerAnisotropy_ = {}, uint32_t maxViewports_ = {},
+      std::array<uint32_t, 2> const &maxViewportDimensions_ = {},
+      std::array<float, 2> const &viewportBoundsRange_ = {},
+      uint32_t viewportSubPixelBits_ = {}, size_t minMemoryMapAlignment_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize minTexelBufferOffsetAlignment_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize minUniformBufferOffsetAlignment_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize minStorageBufferOffsetAlignment_ = {},
+      int32_t minTexelOffset_ = {}, uint32_t maxTexelOffset_ = {},
+      int32_t minTexelGatherOffset_ = {}, uint32_t maxTexelGatherOffset_ = {},
+      float minInterpolationOffset_ = {}, float maxInterpolationOffset_ = {},
+      uint32_t subPixelInterpolationOffsetBits_ = {},
+      uint32_t maxFramebufferWidth_ = {}, uint32_t maxFramebufferHeight_ = {},
+      uint32_t maxFramebufferLayers_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferColorSampleCounts_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferDepthSampleCounts_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferStencilSampleCounts_ =
+          {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags
+          framebufferNoAttachmentsSampleCounts_ = {},
+      uint32_t maxColorAttachments_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageColorSampleCounts_ =
+          {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageIntegerSampleCounts_ =
+          {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageDepthSampleCounts_ =
+          {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageStencilSampleCounts_ =
+          {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags storageImageSampleCounts_ = {},
+      uint32_t maxSampleMaskWords_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 timestampComputeAndGraphics_ = {},
+      float timestampPeriod_ = {}, uint32_t maxClipDistances_ = {},
+      uint32_t maxCullDistances_ = {},
+      uint32_t maxCombinedClipAndCullDistances_ = {},
+      uint32_t discreteQueuePriorities_ = {},
+      std::array<float, 2> const &pointSizeRange_ = {},
+      std::array<float, 2> const &lineWidthRange_ = {},
+      float pointSizeGranularity_ = {}, float lineWidthGranularity_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 strictLines_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 standardSampleLocations_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyOffsetAlignment_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyRowPitchAlignment_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize nonCoherentAtomSize_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : maxImageDimension1D(maxImageDimension1D_),
+        maxImageDimension2D(maxImageDimension2D_),
+        maxImageDimension3D(maxImageDimension3D_),
+        maxImageDimensionCube(maxImageDimensionCube_),
+        maxImageArrayLayers(maxImageArrayLayers_),
+        maxTexelBufferElements(maxTexelBufferElements_),
+        maxUniformBufferRange(maxUniformBufferRange_),
+        maxStorageBufferRange(maxStorageBufferRange_),
+        maxPushConstantsSize(maxPushConstantsSize_),
+        maxMemoryAllocationCount(maxMemoryAllocationCount_),
+        maxSamplerAllocationCount(maxSamplerAllocationCount_),
+        bufferImageGranularity(bufferImageGranularity_),
+        sparseAddressSpaceSize(sparseAddressSpaceSize_),
+        maxBoundDescriptorSets(maxBoundDescriptorSets_),
+        maxPerStageDescriptorSamplers(maxPerStageDescriptorSamplers_),
+        maxPerStageDescriptorUniformBuffers(
+            maxPerStageDescriptorUniformBuffers_),
+        maxPerStageDescriptorStorageBuffers(
+            maxPerStageDescriptorStorageBuffers_),
+        maxPerStageDescriptorSampledImages(maxPerStageDescriptorSampledImages_),
+        maxPerStageDescriptorStorageImages(maxPerStageDescriptorStorageImages_),
+        maxPerStageDescriptorInputAttachments(
+            maxPerStageDescriptorInputAttachments_),
+        maxPerStageResources(maxPerStageResources_),
+        maxDescriptorSetSamplers(maxDescriptorSetSamplers_),
+        maxDescriptorSetUniformBuffers(maxDescriptorSetUniformBuffers_),
+        maxDescriptorSetUniformBuffersDynamic(
+            maxDescriptorSetUniformBuffersDynamic_),
+        maxDescriptorSetStorageBuffers(maxDescriptorSetStorageBuffers_),
+        maxDescriptorSetStorageBuffersDynamic(
+            maxDescriptorSetStorageBuffersDynamic_),
+        maxDescriptorSetSampledImages(maxDescriptorSetSampledImages_),
+        maxDescriptorSetStorageImages(maxDescriptorSetStorageImages_),
+        maxDescriptorSetInputAttachments(maxDescriptorSetInputAttachments_),
+        maxVertexInputAttributes(maxVertexInputAttributes_),
+        maxVertexInputBindings(maxVertexInputBindings_),
+        maxVertexInputAttributeOffset(maxVertexInputAttributeOffset_),
+        maxVertexInputBindingStride(maxVertexInputBindingStride_),
+        maxVertexOutputComponents(maxVertexOutputComponents_),
+        maxTessellationGenerationLevel(maxTessellationGenerationLevel_),
+        maxTessellationPatchSize(maxTessellationPatchSize_),
+        maxTessellationControlPerVertexInputComponents(
+            maxTessellationControlPerVertexInputComponents_),
+        maxTessellationControlPerVertexOutputComponents(
+            maxTessellationControlPerVertexOutputComponents_),
+        maxTessellationControlPerPatchOutputComponents(
+            maxTessellationControlPerPatchOutputComponents_),
+        maxTessellationControlTotalOutputComponents(
+            maxTessellationControlTotalOutputComponents_),
+        maxTessellationEvaluationInputComponents(
+            maxTessellationEvaluationInputComponents_),
+        maxTessellationEvaluationOutputComponents(
+            maxTessellationEvaluationOutputComponents_),
+        maxGeometryShaderInvocations(maxGeometryShaderInvocations_),
+        maxGeometryInputComponents(maxGeometryInputComponents_),
+        maxGeometryOutputComponents(maxGeometryOutputComponents_),
+        maxGeometryOutputVertices(maxGeometryOutputVertices_),
+        maxGeometryTotalOutputComponents(maxGeometryTotalOutputComponents_),
+        maxFragmentInputComponents(maxFragmentInputComponents_),
+        maxFragmentOutputAttachments(maxFragmentOutputAttachments_),
+        maxFragmentDualSrcAttachments(maxFragmentDualSrcAttachments_),
+        maxFragmentCombinedOutputResources(maxFragmentCombinedOutputResources_),
+        maxComputeSharedMemorySize(maxComputeSharedMemorySize_),
+        maxComputeWorkGroupCount(maxComputeWorkGroupCount_),
+        maxComputeWorkGroupInvocations(maxComputeWorkGroupInvocations_),
+        maxComputeWorkGroupSize(maxComputeWorkGroupSize_),
+        subPixelPrecisionBits(subPixelPrecisionBits_),
+        subTexelPrecisionBits(subTexelPrecisionBits_),
+        mipmapPrecisionBits(mipmapPrecisionBits_),
+        maxDrawIndexedIndexValue(maxDrawIndexedIndexValue_),
+        maxDrawIndirectCount(maxDrawIndirectCount_),
+        maxSamplerLodBias(maxSamplerLodBias_),
+        maxSamplerAnisotropy(maxSamplerAnisotropy_),
+        maxViewports(maxViewports_),
+        maxViewportDimensions(maxViewportDimensions_),
+        viewportBoundsRange(viewportBoundsRange_),
+        viewportSubPixelBits(viewportSubPixelBits_),
+        minMemoryMapAlignment(minMemoryMapAlignment_),
+        minTexelBufferOffsetAlignment(minTexelBufferOffsetAlignment_),
+        minUniformBufferOffsetAlignment(minUniformBufferOffsetAlignment_),
+        minStorageBufferOffsetAlignment(minStorageBufferOffsetAlignment_),
+        minTexelOffset(minTexelOffset_),
+        maxTexelOffset(maxTexelOffset_),
+        minTexelGatherOffset(minTexelGatherOffset_),
+        maxTexelGatherOffset(maxTexelGatherOffset_),
+        minInterpolationOffset(minInterpolationOffset_),
+        maxInterpolationOffset(maxInterpolationOffset_),
+        subPixelInterpolationOffsetBits(subPixelInterpolationOffsetBits_),
+        maxFramebufferWidth(maxFramebufferWidth_),
+        maxFramebufferHeight(maxFramebufferHeight_),
+        maxFramebufferLayers(maxFramebufferLayers_),
+        framebufferColorSampleCounts(framebufferColorSampleCounts_),
+        framebufferDepthSampleCounts(framebufferDepthSampleCounts_),
+        framebufferStencilSampleCounts(framebufferStencilSampleCounts_),
+        framebufferNoAttachmentsSampleCounts(
+            framebufferNoAttachmentsSampleCounts_),
+        maxColorAttachments(maxColorAttachments_),
+        sampledImageColorSampleCounts(sampledImageColorSampleCounts_),
+        sampledImageIntegerSampleCounts(sampledImageIntegerSampleCounts_),
+        sampledImageDepthSampleCounts(sampledImageDepthSampleCounts_),
+        sampledImageStencilSampleCounts(sampledImageStencilSampleCounts_),
+        storageImageSampleCounts(storageImageSampleCounts_),
+        maxSampleMaskWords(maxSampleMaskWords_),
+        timestampComputeAndGraphics(timestampComputeAndGraphics_),
+        timestampPeriod(timestampPeriod_),
+        maxClipDistances(maxClipDistances_),
+        maxCullDistances(maxCullDistances_),
+        maxCombinedClipAndCullDistances(maxCombinedClipAndCullDistances_),
+        discreteQueuePriorities(discreteQueuePriorities_),
+        pointSizeRange(pointSizeRange_),
+        lineWidthRange(lineWidthRange_),
+        pointSizeGranularity(pointSizeGranularity_),
+        lineWidthGranularity(lineWidthGranularity_),
+        strictLines(strictLines_),
+        standardSampleLocations(standardSampleLocations_),
+        optimalBufferCopyOffsetAlignment(optimalBufferCopyOffsetAlignment_),
+        optimalBufferCopyRowPitchAlignment(optimalBufferCopyRowPitchAlignment_),
+        nonCoherentAtomSize(nonCoherentAtomSize_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLimits(PhysicalDeviceLimits const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceLimits(VkPhysicalDeviceLimits const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceLimits(
+            *reinterpret_cast<PhysicalDeviceLimits const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLimits &
+  operator=(PhysicalDeviceLimits const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceLimits &
+  operator=(VkPhysicalDeviceLimits const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceLimits const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceLimits *>(this);
+  }
+
+  operator VkPhysicalDeviceLimits &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceLimits *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceLimits const &) const = default;
+#else
+  bool operator==(PhysicalDeviceLimits const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (maxImageDimension1D == rhs.maxImageDimension1D) &&
+           (maxImageDimension2D == rhs.maxImageDimension2D) &&
+           (maxImageDimension3D == rhs.maxImageDimension3D) &&
+           (maxImageDimensionCube == rhs.maxImageDimensionCube) &&
+           (maxImageArrayLayers == rhs.maxImageArrayLayers) &&
+           (maxTexelBufferElements == rhs.maxTexelBufferElements) &&
+           (maxUniformBufferRange == rhs.maxUniformBufferRange) &&
+           (maxStorageBufferRange == rhs.maxStorageBufferRange) &&
+           (maxPushConstantsSize == rhs.maxPushConstantsSize) &&
+           (maxMemoryAllocationCount == rhs.maxMemoryAllocationCount) &&
+           (maxSamplerAllocationCount == rhs.maxSamplerAllocationCount) &&
+           (bufferImageGranularity == rhs.bufferImageGranularity) &&
+           (sparseAddressSpaceSize == rhs.sparseAddressSpaceSize) &&
+           (maxBoundDescriptorSets == rhs.maxBoundDescriptorSets) &&
+           (maxPerStageDescriptorSamplers ==
+            rhs.maxPerStageDescriptorSamplers) &&
+           (maxPerStageDescriptorUniformBuffers ==
+            rhs.maxPerStageDescriptorUniformBuffers) &&
+           (maxPerStageDescriptorStorageBuffers ==
+            rhs.maxPerStageDescriptorStorageBuffers) &&
+           (maxPerStageDescriptorSampledImages ==
+            rhs.maxPerStageDescriptorSampledImages) &&
+           (maxPerStageDescriptorStorageImages ==
+            rhs.maxPerStageDescriptorStorageImages) &&
+           (maxPerStageDescriptorInputAttachments ==
+            rhs.maxPerStageDescriptorInputAttachments) &&
+           (maxPerStageResources == rhs.maxPerStageResources) &&
+           (maxDescriptorSetSamplers == rhs.maxDescriptorSetSamplers) &&
+           (maxDescriptorSetUniformBuffers ==
+            rhs.maxDescriptorSetUniformBuffers) &&
+           (maxDescriptorSetUniformBuffersDynamic ==
+            rhs.maxDescriptorSetUniformBuffersDynamic) &&
+           (maxDescriptorSetStorageBuffers ==
+            rhs.maxDescriptorSetStorageBuffers) &&
+           (maxDescriptorSetStorageBuffersDynamic ==
+            rhs.maxDescriptorSetStorageBuffersDynamic) &&
+           (maxDescriptorSetSampledImages ==
+            rhs.maxDescriptorSetSampledImages) &&
+           (maxDescriptorSetStorageImages ==
+            rhs.maxDescriptorSetStorageImages) &&
+           (maxDescriptorSetInputAttachments ==
+            rhs.maxDescriptorSetInputAttachments) &&
+           (maxVertexInputAttributes == rhs.maxVertexInputAttributes) &&
+           (maxVertexInputBindings == rhs.maxVertexInputBindings) &&
+           (maxVertexInputAttributeOffset ==
+            rhs.maxVertexInputAttributeOffset) &&
+           (maxVertexInputBindingStride == rhs.maxVertexInputBindingStride) &&
+           (maxVertexOutputComponents == rhs.maxVertexOutputComponents) &&
+           (maxTessellationGenerationLevel ==
+            rhs.maxTessellationGenerationLevel) &&
+           (maxTessellationPatchSize == rhs.maxTessellationPatchSize) &&
+           (maxTessellationControlPerVertexInputComponents ==
+            rhs.maxTessellationControlPerVertexInputComponents) &&
+           (maxTessellationControlPerVertexOutputComponents ==
+            rhs.maxTessellationControlPerVertexOutputComponents) &&
+           (maxTessellationControlPerPatchOutputComponents ==
+            rhs.maxTessellationControlPerPatchOutputComponents) &&
+           (maxTessellationControlTotalOutputComponents ==
+            rhs.maxTessellationControlTotalOutputComponents) &&
+           (maxTessellationEvaluationInputComponents ==
+            rhs.maxTessellationEvaluationInputComponents) &&
+           (maxTessellationEvaluationOutputComponents ==
+            rhs.maxTessellationEvaluationOutputComponents) &&
+           (maxGeometryShaderInvocations == rhs.maxGeometryShaderInvocations) &&
+           (maxGeometryInputComponents == rhs.maxGeometryInputComponents) &&
+           (maxGeometryOutputComponents == rhs.maxGeometryOutputComponents) &&
+           (maxGeometryOutputVertices == rhs.maxGeometryOutputVertices) &&
+           (maxGeometryTotalOutputComponents ==
+            rhs.maxGeometryTotalOutputComponents) &&
+           (maxFragmentInputComponents == rhs.maxFragmentInputComponents) &&
+           (maxFragmentOutputAttachments == rhs.maxFragmentOutputAttachments) &&
+           (maxFragmentDualSrcAttachments ==
+            rhs.maxFragmentDualSrcAttachments) &&
+           (maxFragmentCombinedOutputResources ==
+            rhs.maxFragmentCombinedOutputResources) &&
+           (maxComputeSharedMemorySize == rhs.maxComputeSharedMemorySize) &&
+           (maxComputeWorkGroupCount == rhs.maxComputeWorkGroupCount) &&
+           (maxComputeWorkGroupInvocations ==
+            rhs.maxComputeWorkGroupInvocations) &&
+           (maxComputeWorkGroupSize == rhs.maxComputeWorkGroupSize) &&
+           (subPixelPrecisionBits == rhs.subPixelPrecisionBits) &&
+           (subTexelPrecisionBits == rhs.subTexelPrecisionBits) &&
+           (mipmapPrecisionBits == rhs.mipmapPrecisionBits) &&
+           (maxDrawIndexedIndexValue == rhs.maxDrawIndexedIndexValue) &&
+           (maxDrawIndirectCount == rhs.maxDrawIndirectCount) &&
+           (maxSamplerLodBias == rhs.maxSamplerLodBias) &&
+           (maxSamplerAnisotropy == rhs.maxSamplerAnisotropy) &&
+           (maxViewports == rhs.maxViewports) &&
+           (maxViewportDimensions == rhs.maxViewportDimensions) &&
+           (viewportBoundsRange == rhs.viewportBoundsRange) &&
+           (viewportSubPixelBits == rhs.viewportSubPixelBits) &&
+           (minMemoryMapAlignment == rhs.minMemoryMapAlignment) &&
+           (minTexelBufferOffsetAlignment ==
+            rhs.minTexelBufferOffsetAlignment) &&
+           (minUniformBufferOffsetAlignment ==
+            rhs.minUniformBufferOffsetAlignment) &&
+           (minStorageBufferOffsetAlignment ==
+            rhs.minStorageBufferOffsetAlignment) &&
+           (minTexelOffset == rhs.minTexelOffset) &&
+           (maxTexelOffset == rhs.maxTexelOffset) &&
+           (minTexelGatherOffset == rhs.minTexelGatherOffset) &&
+           (maxTexelGatherOffset == rhs.maxTexelGatherOffset) &&
+           (minInterpolationOffset == rhs.minInterpolationOffset) &&
+           (maxInterpolationOffset == rhs.maxInterpolationOffset) &&
+           (subPixelInterpolationOffsetBits ==
+            rhs.subPixelInterpolationOffsetBits) &&
+           (maxFramebufferWidth == rhs.maxFramebufferWidth) &&
+           (maxFramebufferHeight == rhs.maxFramebufferHeight) &&
+           (maxFramebufferLayers == rhs.maxFramebufferLayers) &&
+           (framebufferColorSampleCounts == rhs.framebufferColorSampleCounts) &&
+           (framebufferDepthSampleCounts == rhs.framebufferDepthSampleCounts) &&
+           (framebufferStencilSampleCounts ==
+            rhs.framebufferStencilSampleCounts) &&
+           (framebufferNoAttachmentsSampleCounts ==
+            rhs.framebufferNoAttachmentsSampleCounts) &&
+           (maxColorAttachments == rhs.maxColorAttachments) &&
+           (sampledImageColorSampleCounts ==
+            rhs.sampledImageColorSampleCounts) &&
+           (sampledImageIntegerSampleCounts ==
+            rhs.sampledImageIntegerSampleCounts) &&
+           (sampledImageDepthSampleCounts ==
+            rhs.sampledImageDepthSampleCounts) &&
+           (sampledImageStencilSampleCounts ==
+            rhs.sampledImageStencilSampleCounts) &&
+           (storageImageSampleCounts == rhs.storageImageSampleCounts) &&
+           (maxSampleMaskWords == rhs.maxSampleMaskWords) &&
+           (timestampComputeAndGraphics == rhs.timestampComputeAndGraphics) &&
+           (timestampPeriod == rhs.timestampPeriod) &&
+           (maxClipDistances == rhs.maxClipDistances) &&
+           (maxCullDistances == rhs.maxCullDistances) &&
+           (maxCombinedClipAndCullDistances ==
+            rhs.maxCombinedClipAndCullDistances) &&
+           (discreteQueuePriorities == rhs.discreteQueuePriorities) &&
+           (pointSizeRange == rhs.pointSizeRange) &&
+           (lineWidthRange == rhs.lineWidthRange) &&
+           (pointSizeGranularity == rhs.pointSizeGranularity) &&
+           (lineWidthGranularity == rhs.lineWidthGranularity) &&
+           (strictLines == rhs.strictLines) &&
+           (standardSampleLocations == rhs.standardSampleLocations) &&
+           (optimalBufferCopyOffsetAlignment ==
+            rhs.optimalBufferCopyOffsetAlignment) &&
+           (optimalBufferCopyRowPitchAlignment ==
+            rhs.optimalBufferCopyRowPitchAlignment) &&
+           (nonCoherentAtomSize == rhs.nonCoherentAtomSize);
+  }
+
+  bool operator!=(PhysicalDeviceLimits const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t maxImageDimension1D = {};
+  uint32_t maxImageDimension2D = {};
+  uint32_t maxImageDimension3D = {};
+  uint32_t maxImageDimensionCube = {};
+  uint32_t maxImageArrayLayers = {};
+  uint32_t maxTexelBufferElements = {};
+  uint32_t maxUniformBufferRange = {};
+  uint32_t maxStorageBufferRange = {};
+  uint32_t maxPushConstantsSize = {};
+  uint32_t maxMemoryAllocationCount = {};
+  uint32_t maxSamplerAllocationCount = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize bufferImageGranularity = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize sparseAddressSpaceSize = {};
+  uint32_t maxBoundDescriptorSets = {};
+  uint32_t maxPerStageDescriptorSamplers = {};
+  uint32_t maxPerStageDescriptorUniformBuffers = {};
+  uint32_t maxPerStageDescriptorStorageBuffers = {};
+  uint32_t maxPerStageDescriptorSampledImages = {};
+  uint32_t maxPerStageDescriptorStorageImages = {};
+  uint32_t maxPerStageDescriptorInputAttachments = {};
+  uint32_t maxPerStageResources = {};
+  uint32_t maxDescriptorSetSamplers = {};
+  uint32_t maxDescriptorSetUniformBuffers = {};
+  uint32_t maxDescriptorSetUniformBuffersDynamic = {};
+  uint32_t maxDescriptorSetStorageBuffers = {};
+  uint32_t maxDescriptorSetStorageBuffersDynamic = {};
+  uint32_t maxDescriptorSetSampledImages = {};
+  uint32_t maxDescriptorSetStorageImages = {};
+  uint32_t maxDescriptorSetInputAttachments = {};
+  uint32_t maxVertexInputAttributes = {};
+  uint32_t maxVertexInputBindings = {};
+  uint32_t maxVertexInputAttributeOffset = {};
+  uint32_t maxVertexInputBindingStride = {};
+  uint32_t maxVertexOutputComponents = {};
+  uint32_t maxTessellationGenerationLevel = {};
+  uint32_t maxTessellationPatchSize = {};
+  uint32_t maxTessellationControlPerVertexInputComponents = {};
+  uint32_t maxTessellationControlPerVertexOutputComponents = {};
+  uint32_t maxTessellationControlPerPatchOutputComponents = {};
+  uint32_t maxTessellationControlTotalOutputComponents = {};
+  uint32_t maxTessellationEvaluationInputComponents = {};
+  uint32_t maxTessellationEvaluationOutputComponents = {};
+  uint32_t maxGeometryShaderInvocations = {};
+  uint32_t maxGeometryInputComponents = {};
+  uint32_t maxGeometryOutputComponents = {};
+  uint32_t maxGeometryOutputVertices = {};
+  uint32_t maxGeometryTotalOutputComponents = {};
+  uint32_t maxFragmentInputComponents = {};
+  uint32_t maxFragmentOutputAttachments = {};
+  uint32_t maxFragmentDualSrcAttachments = {};
+  uint32_t maxFragmentCombinedOutputResources = {};
+  uint32_t maxComputeSharedMemorySize = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxComputeWorkGroupCount =
+      {};
+  uint32_t maxComputeWorkGroupInvocations = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxComputeWorkGroupSize =
+      {};
+  uint32_t subPixelPrecisionBits = {};
+  uint32_t subTexelPrecisionBits = {};
+  uint32_t mipmapPrecisionBits = {};
+  uint32_t maxDrawIndexedIndexValue = {};
+  uint32_t maxDrawIndirectCount = {};
+  float maxSamplerLodBias = {};
+  float maxSamplerAnisotropy = {};
+  uint32_t maxViewports = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 2> maxViewportDimensions = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2> viewportBoundsRange = {};
+  uint32_t viewportSubPixelBits = {};
+  size_t minMemoryMapAlignment = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize minTexelBufferOffsetAlignment = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize minUniformBufferOffsetAlignment = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize minStorageBufferOffsetAlignment = {};
+  int32_t minTexelOffset = {};
+  uint32_t maxTexelOffset = {};
+  int32_t minTexelGatherOffset = {};
+  uint32_t maxTexelGatherOffset = {};
+  float minInterpolationOffset = {};
+  float maxInterpolationOffset = {};
+  uint32_t subPixelInterpolationOffsetBits = {};
+  uint32_t maxFramebufferWidth = {};
+  uint32_t maxFramebufferHeight = {};
+  uint32_t maxFramebufferLayers = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferColorSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferDepthSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferStencilSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferNoAttachmentsSampleCounts =
+      {};
+  uint32_t maxColorAttachments = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageColorSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageIntegerSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageDepthSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageStencilSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags storageImageSampleCounts = {};
+  uint32_t maxSampleMaskWords = {};
+  VULKAN_HPP_NAMESPACE::Bool32 timestampComputeAndGraphics = {};
+  float timestampPeriod = {};
+  uint32_t maxClipDistances = {};
+  uint32_t maxCullDistances = {};
+  uint32_t maxCombinedClipAndCullDistances = {};
+  uint32_t discreteQueuePriorities = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2> pointSizeRange = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2> lineWidthRange = {};
+  float pointSizeGranularity = {};
+  float lineWidthGranularity = {};
+  VULKAN_HPP_NAMESPACE::Bool32 strictLines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 standardSampleLocations = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyOffsetAlignment = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyRowPitchAlignment = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize nonCoherentAtomSize = {};
+};
+static_assert(sizeof(PhysicalDeviceLimits) == sizeof(VkPhysicalDeviceLimits),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceLimits>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PhysicalDeviceSparseProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseProperties(
+      VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DBlockShape_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DMultisampleBlockShape_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 residencyStandard3DBlockShape_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 residencyAlignedMipSize_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 residencyNonResidentStrict_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : residencyStandard2DBlockShape(residencyStandard2DBlockShape_),
+        residencyStandard2DMultisampleBlockShape(
+            residencyStandard2DMultisampleBlockShape_),
+        residencyStandard3DBlockShape(residencyStandard3DBlockShape_),
+        residencyAlignedMipSize(residencyAlignedMipSize_),
+        residencyNonResidentStrict(residencyNonResidentStrict_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseProperties(
+      PhysicalDeviceSparseProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSparseProperties(VkPhysicalDeviceSparseProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSparseProperties(
+            *reinterpret_cast<PhysicalDeviceSparseProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseProperties &operator=(
+      PhysicalDeviceSparseProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSparseProperties &
+  operator=(VkPhysicalDeviceSparseProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceSparseProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceSparseProperties *>(this);
+  }
+
+  operator VkPhysicalDeviceSparseProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSparseProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSparseProperties const &) const = default;
+#else
+  bool operator==(PhysicalDeviceSparseProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (residencyStandard2DBlockShape ==
+            rhs.residencyStandard2DBlockShape) &&
+           (residencyStandard2DMultisampleBlockShape ==
+            rhs.residencyStandard2DMultisampleBlockShape) &&
+           (residencyStandard3DBlockShape ==
+            rhs.residencyStandard3DBlockShape) &&
+           (residencyAlignedMipSize == rhs.residencyAlignedMipSize) &&
+           (residencyNonResidentStrict == rhs.residencyNonResidentStrict);
+  }
+
+  bool operator!=(PhysicalDeviceSparseProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DBlockShape = {};
+  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DMultisampleBlockShape = {};
+  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard3DBlockShape = {};
+  VULKAN_HPP_NAMESPACE::Bool32 residencyAlignedMipSize = {};
+  VULKAN_HPP_NAMESPACE::Bool32 residencyNonResidentStrict = {};
+};
+static_assert(sizeof(PhysicalDeviceSparseProperties) ==
+                  sizeof(VkPhysicalDeviceSparseProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceSparseProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PhysicalDeviceProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties(
+      uint32_t apiVersion_ = {}, uint32_t driverVersion_ = {},
+      uint32_t vendorID_ = {}, uint32_t deviceID_ = {},
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceType deviceType_ =
+          VULKAN_HPP_NAMESPACE::PhysicalDeviceType::eOther,
+      std::array<char, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE> const &deviceName_ =
+          {},
+      std::array<uint8_t, VK_UUID_SIZE> const &pipelineCacheUUID_ = {},
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits limits_ = {},
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties sparseProperties_ =
+          {}) VULKAN_HPP_NOEXCEPT : apiVersion(apiVersion_),
+                                    driverVersion(driverVersion_),
+                                    vendorID(vendorID_),
+                                    deviceID(deviceID_),
+                                    deviceType(deviceType_),
+                                    deviceName(deviceName_),
+                                    pipelineCacheUUID(pipelineCacheUUID_),
+                                    limits(limits_),
+                                    sparseProperties(sparseProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties(
+      PhysicalDeviceProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceProperties(VkPhysicalDeviceProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceProperties(
+            *reinterpret_cast<PhysicalDeviceProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties &
+  operator=(PhysicalDeviceProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceProperties &
+  operator=(VkPhysicalDeviceProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceProperties *>(this);
+  }
+
+  operator VkPhysicalDeviceProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceProperties const &) const = default;
+#else
+  bool
+  operator==(PhysicalDeviceProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (apiVersion == rhs.apiVersion) &&
+           (driverVersion == rhs.driverVersion) && (vendorID == rhs.vendorID) &&
+           (deviceID == rhs.deviceID) && (deviceType == rhs.deviceType) &&
+           (deviceName == rhs.deviceName) &&
+           (pipelineCacheUUID == rhs.pipelineCacheUUID) &&
+           (limits == rhs.limits) && (sparseProperties == rhs.sparseProperties);
+  }
+
+  bool
+  operator!=(PhysicalDeviceProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t apiVersion = {};
+  uint32_t driverVersion = {};
+  uint32_t vendorID = {};
+  uint32_t deviceID = {};
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceType deviceType =
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceType::eOther;
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE>
+      deviceName = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE>
+      pipelineCacheUUID = {};
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits limits = {};
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties sparseProperties = {};
+};
+static_assert(sizeof(PhysicalDeviceProperties) ==
+                  sizeof(VkPhysicalDeviceProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PhysicalDeviceProperties2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceProperties2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties2(
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties_ = {})
+      VULKAN_HPP_NOEXCEPT : properties(properties_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties2(
+      PhysicalDeviceProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceProperties2(VkPhysicalDeviceProperties2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceProperties2(
+            *reinterpret_cast<PhysicalDeviceProperties2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties2 &
+  operator=(PhysicalDeviceProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceProperties2 &
+  operator=(VkPhysicalDeviceProperties2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceProperties2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceProperties2 *>(this);
+  }
+
+  operator VkPhysicalDeviceProperties2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceProperties2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceProperties2 const &) const = default;
+#else
+  bool
+  operator==(PhysicalDeviceProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (properties == rhs.properties);
+  }
+
+  bool
+  operator!=(PhysicalDeviceProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceProperties2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties = {};
+};
+static_assert(sizeof(PhysicalDeviceProperties2) ==
+                  sizeof(VkPhysicalDeviceProperties2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceProperties2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceProperties2> {
+  using Type = PhysicalDeviceProperties2;
+};
+using PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
+
+struct QueryPoolPerformanceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eQueryPoolPerformanceCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR QueryPoolPerformanceCreateInfoKHR(
+      uint32_t queueFamilyIndex_ = {}, uint32_t counterIndexCount_ = {},
+      const uint32_t *pCounterIndices_ = {}) VULKAN_HPP_NOEXCEPT
+      : queueFamilyIndex(queueFamilyIndex_),
+        counterIndexCount(counterIndexCount_),
+        pCounterIndices(pCounterIndices_) {}
+
+  VULKAN_HPP_CONSTEXPR QueryPoolPerformanceCreateInfoKHR(
+      QueryPoolPerformanceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  QueryPoolPerformanceCreateInfoKHR(
+      VkQueryPoolPerformanceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : QueryPoolPerformanceCreateInfoKHR(
+            *reinterpret_cast<QueryPoolPerformanceCreateInfoKHR const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  QueryPoolPerformanceCreateInfoKHR(
+      uint32_t queueFamilyIndex_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &counterIndices_)
+      : queueFamilyIndex(queueFamilyIndex_),
+        counterIndexCount(static_cast<uint32_t>(counterIndices_.size())),
+        pCounterIndices(counterIndices_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceCreateInfoKHR &
+  operator=(QueryPoolPerformanceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  QueryPoolPerformanceCreateInfoKHR &operator=(
+      VkQueryPoolPerformanceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  QueryPoolPerformanceCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  QueryPoolPerformanceCreateInfoKHR &
+  setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndex = queueFamilyIndex_;
+    return *this;
+  }
+
+  QueryPoolPerformanceCreateInfoKHR &
+  setCounterIndexCount(uint32_t counterIndexCount_) VULKAN_HPP_NOEXCEPT {
+    counterIndexCount = counterIndexCount_;
+    return *this;
+  }
+
+  QueryPoolPerformanceCreateInfoKHR &
+  setPCounterIndices(const uint32_t *pCounterIndices_) VULKAN_HPP_NOEXCEPT {
+    pCounterIndices = pCounterIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  QueryPoolPerformanceCreateInfoKHR &setCounterIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &counterIndices_) VULKAN_HPP_NOEXCEPT {
+    counterIndexCount = static_cast<uint32_t>(counterIndices_.size());
+    pCounterIndices = counterIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkQueryPoolPerformanceCreateInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>(this);
+  }
+
+  operator VkQueryPoolPerformanceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkQueryPoolPerformanceCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(QueryPoolPerformanceCreateInfoKHR const &) const = default;
+#else
+  bool operator==(QueryPoolPerformanceCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (queueFamilyIndex == rhs.queueFamilyIndex) &&
+           (counterIndexCount == rhs.counterIndexCount) &&
+           (pCounterIndices == rhs.pCounterIndices);
+  }
+
+  bool operator!=(QueryPoolPerformanceCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eQueryPoolPerformanceCreateInfoKHR;
+  const void *pNext = {};
+  uint32_t queueFamilyIndex = {};
+  uint32_t counterIndexCount = {};
+  const uint32_t *pCounterIndices = {};
+};
+static_assert(sizeof(QueryPoolPerformanceCreateInfoKHR) ==
+                  sizeof(VkQueryPoolPerformanceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<QueryPoolPerformanceCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eQueryPoolPerformanceCreateInfoKHR> {
+  using Type = QueryPoolPerformanceCreateInfoKHR;
+};
+
+struct QueueFamilyProperties {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR QueueFamilyProperties(
+      VULKAN_HPP_NAMESPACE::QueueFlags queueFlags_ = {},
+      uint32_t queueCount_ = {}, uint32_t timestampValidBits_ = {},
+      VULKAN_HPP_NAMESPACE::Extent3D minImageTransferGranularity_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : queueFlags(queueFlags_),
+        queueCount(queueCount_),
+        timestampValidBits(timestampValidBits_),
+        minImageTransferGranularity(minImageTransferGranularity_) {}
+
+  VULKAN_HPP_CONSTEXPR QueueFamilyProperties(QueueFamilyProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  QueueFamilyProperties(VkQueueFamilyProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : QueueFamilyProperties(
+            *reinterpret_cast<QueueFamilyProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 QueueFamilyProperties &
+  operator=(QueueFamilyProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  QueueFamilyProperties &
+  operator=(VkQueueFamilyProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyProperties const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkQueueFamilyProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkQueueFamilyProperties *>(this);
+  }
+
+  operator VkQueueFamilyProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkQueueFamilyProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(QueueFamilyProperties const &) const = default;
+#else
+  bool operator==(QueueFamilyProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (queueFlags == rhs.queueFlags) && (queueCount == rhs.queueCount) &&
+           (timestampValidBits == rhs.timestampValidBits) &&
+           (minImageTransferGranularity == rhs.minImageTransferGranularity);
+  }
+
+  bool operator!=(QueueFamilyProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::QueueFlags queueFlags = {};
+  uint32_t queueCount = {};
+  uint32_t timestampValidBits = {};
+  VULKAN_HPP_NAMESPACE::Extent3D minImageTransferGranularity = {};
+};
+static_assert(sizeof(QueueFamilyProperties) == sizeof(VkQueueFamilyProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<QueueFamilyProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+struct QueueFamilyProperties2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eQueueFamilyProperties2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR QueueFamilyProperties2(
+      VULKAN_HPP_NAMESPACE::QueueFamilyProperties queueFamilyProperties_ = {})
+      VULKAN_HPP_NOEXCEPT : queueFamilyProperties(queueFamilyProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR QueueFamilyProperties2(QueueFamilyProperties2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  QueueFamilyProperties2(VkQueueFamilyProperties2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : QueueFamilyProperties2(
+            *reinterpret_cast<QueueFamilyProperties2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 QueueFamilyProperties2 &
+  operator=(QueueFamilyProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  QueueFamilyProperties2 &
+  operator=(VkQueueFamilyProperties2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkQueueFamilyProperties2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkQueueFamilyProperties2 *>(this);
+  }
+
+  operator VkQueueFamilyProperties2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkQueueFamilyProperties2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(QueueFamilyProperties2 const &) const = default;
+#else
+  bool operator==(QueueFamilyProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (queueFamilyProperties == rhs.queueFamilyProperties);
+  }
+
+  bool operator!=(QueueFamilyProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eQueueFamilyProperties2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::QueueFamilyProperties queueFamilyProperties = {};
+};
+static_assert(sizeof(QueueFamilyProperties2) ==
+                  sizeof(VkQueueFamilyProperties2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<QueueFamilyProperties2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eQueueFamilyProperties2> {
+  using Type = QueueFamilyProperties2;
+};
+using QueueFamilyProperties2KHR = QueueFamilyProperties2;
+
+struct PhysicalDeviceSparseImageFormatInfo2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceSparseImageFormatInfo2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseImageFormatInfo2(
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined,
+      VULKAN_HPP_NAMESPACE::ImageType type_ =
+          VULKAN_HPP_NAMESPACE::ImageType::e1D,
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ = {},
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling_ =
+          VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal) VULKAN_HPP_NOEXCEPT
+      : format(format_),
+        type(type_),
+        samples(samples_),
+        usage(usage_),
+        tiling(tiling_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseImageFormatInfo2(
+      PhysicalDeviceSparseImageFormatInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSparseImageFormatInfo2(
+      VkPhysicalDeviceSparseImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSparseImageFormatInfo2(
+            *reinterpret_cast<PhysicalDeviceSparseImageFormatInfo2 const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseImageFormatInfo2 &
+  operator=(PhysicalDeviceSparseImageFormatInfo2 const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSparseImageFormatInfo2 &operator=(
+      VkPhysicalDeviceSparseImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceSparseImageFormatInfo2 &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceSparseImageFormatInfo2 &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
+
+  PhysicalDeviceSparseImageFormatInfo2 &
+  setType(VULKAN_HPP_NAMESPACE::ImageType type_) VULKAN_HPP_NOEXCEPT {
+    type = type_;
+    return *this;
+  }
+
+  PhysicalDeviceSparseImageFormatInfo2 &setSamples(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT {
+    samples = samples_;
+    return *this;
+  }
+
+  PhysicalDeviceSparseImageFormatInfo2 &
+  setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT {
+    usage = usage_;
+    return *this;
+  }
+
+  PhysicalDeviceSparseImageFormatInfo2 &
+  setTiling(VULKAN_HPP_NAMESPACE::ImageTiling tiling_) VULKAN_HPP_NOEXCEPT {
+    tiling = tiling_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceSparseImageFormatInfo2 const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+        this);
+  }
+
+  operator VkPhysicalDeviceSparseImageFormatInfo2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSparseImageFormatInfo2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceSparseImageFormatInfo2 const &) const = default;
+#else
+  bool operator==(PhysicalDeviceSparseImageFormatInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (format == rhs.format) && (type == rhs.type) &&
+           (samples == rhs.samples) && (usage == rhs.usage) &&
+           (tiling == rhs.tiling);
+  }
+
+  bool operator!=(PhysicalDeviceSparseImageFormatInfo2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSparseImageFormatInfo2;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::ImageType type = VULKAN_HPP_NAMESPACE::ImageType::e1D;
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples =
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags usage = {};
+  VULKAN_HPP_NAMESPACE::ImageTiling tiling =
+      VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal;
+};
+static_assert(sizeof(PhysicalDeviceSparseImageFormatInfo2) ==
+                  sizeof(VkPhysicalDeviceSparseImageFormatInfo2),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceSparseImageFormatInfo2>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSparseImageFormatInfo2> {
+  using Type = PhysicalDeviceSparseImageFormatInfo2;
+};
+using PhysicalDeviceSparseImageFormatInfo2KHR =
+    PhysicalDeviceSparseImageFormatInfo2;
+
+struct SparseImageFormatProperties2 {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSparseImageFormatProperties2;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SparseImageFormatProperties2(
+      VULKAN_HPP_NAMESPACE::SparseImageFormatProperties properties_ = {})
+      VULKAN_HPP_NOEXCEPT : properties(properties_) {}
+
+  VULKAN_HPP_CONSTEXPR SparseImageFormatProperties2(
+      SparseImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageFormatProperties2(VkSparseImageFormatProperties2 const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SparseImageFormatProperties2(
+            *reinterpret_cast<SparseImageFormatProperties2 const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SparseImageFormatProperties2 &operator=(
+      SparseImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SparseImageFormatProperties2 &
+  operator=(VkSparseImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 const *>(&rhs);
+    return *this;
+  }
+
+  operator VkSparseImageFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSparseImageFormatProperties2 *>(this);
+  }
+
+  operator VkSparseImageFormatProperties2 &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSparseImageFormatProperties2 *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SparseImageFormatProperties2 const &) const = default;
+#else
+  bool operator==(SparseImageFormatProperties2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (properties == rhs.properties);
+  }
+
+  bool operator!=(SparseImageFormatProperties2 const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSparseImageFormatProperties2;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SparseImageFormatProperties properties = {};
+};
+static_assert(sizeof(SparseImageFormatProperties2) ==
+                  sizeof(VkSparseImageFormatProperties2),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SparseImageFormatProperties2>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eSparseImageFormatProperties2> {
+  using Type = SparseImageFormatProperties2;
+};
+using SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
+
+struct FramebufferMixedSamplesCombinationNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFramebufferMixedSamplesCombinationNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FramebufferMixedSamplesCombinationNV(
+      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_ =
+          VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge,
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_ =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::SampleCountFlags depthStencilSamples_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags colorSamples_ = {})
+      VULKAN_HPP_NOEXCEPT : coverageReductionMode(coverageReductionMode_),
+                            rasterizationSamples(rasterizationSamples_),
+                            depthStencilSamples(depthStencilSamples_),
+                            colorSamples(colorSamples_) {}
+
+  VULKAN_HPP_CONSTEXPR FramebufferMixedSamplesCombinationNV(
+      FramebufferMixedSamplesCombinationNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferMixedSamplesCombinationNV(
+      VkFramebufferMixedSamplesCombinationNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : FramebufferMixedSamplesCombinationNV(
+            *reinterpret_cast<FramebufferMixedSamplesCombinationNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FramebufferMixedSamplesCombinationNV &
+  operator=(FramebufferMixedSamplesCombinationNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferMixedSamplesCombinationNV &operator=(
+      VkFramebufferMixedSamplesCombinationNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkFramebufferMixedSamplesCombinationNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFramebufferMixedSamplesCombinationNV *>(
+        this);
+  }
+
+  operator VkFramebufferMixedSamplesCombinationNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(FramebufferMixedSamplesCombinationNV const &) const = default;
+#else
+  bool operator==(FramebufferMixedSamplesCombinationNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (coverageReductionMode == rhs.coverageReductionMode) &&
+           (rasterizationSamples == rhs.rasterizationSamples) &&
+           (depthStencilSamples == rhs.depthStencilSamples) &&
+           (colorSamples == rhs.colorSamples);
+  }
+
+  bool operator!=(FramebufferMixedSamplesCombinationNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eFramebufferMixedSamplesCombinationNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode =
+      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge;
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples =
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::SampleCountFlags depthStencilSamples = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags colorSamples = {};
+};
+static_assert(sizeof(FramebufferMixedSamplesCombinationNV) ==
+                  sizeof(VkFramebufferMixedSamplesCombinationNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<FramebufferMixedSamplesCombinationNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eFramebufferMixedSamplesCombinationNV> {
+  using Type = FramebufferMixedSamplesCombinationNV;
+};
+
+struct SurfaceCapabilities2EXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSurfaceCapabilities2EXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilities2EXT(
+      uint32_t minImageCount_ = {}, uint32_t maxImageCount_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D currentExtent_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D minImageExtent_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent_ = {},
+      uint32_t maxImageArrayLayers_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform_ =
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
+      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT supportedSurfaceCounters_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : minImageCount(minImageCount_),
+        maxImageCount(maxImageCount_),
+        currentExtent(currentExtent_),
+        minImageExtent(minImageExtent_),
+        maxImageExtent(maxImageExtent_),
+        maxImageArrayLayers(maxImageArrayLayers_),
+        supportedTransforms(supportedTransforms_),
+        currentTransform(currentTransform_),
+        supportedCompositeAlpha(supportedCompositeAlpha_),
+        supportedUsageFlags(supportedUsageFlags_),
+        supportedSurfaceCounters(supportedSurfaceCounters_) {}
+
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilities2EXT(
+      SurfaceCapabilities2EXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceCapabilities2EXT(VkSurfaceCapabilities2EXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SurfaceCapabilities2EXT(
+            *reinterpret_cast<SurfaceCapabilities2EXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilities2EXT &
+  operator=(SurfaceCapabilities2EXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceCapabilities2EXT &
+  operator=(VkSurfaceCapabilities2EXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkSurfaceCapabilities2EXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceCapabilities2EXT *>(this);
+  }
+
+  operator VkSurfaceCapabilities2EXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceCapabilities2EXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceCapabilities2EXT const &) const = default;
+#else
+  bool
+  operator==(SurfaceCapabilities2EXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (minImageCount == rhs.minImageCount) &&
+           (maxImageCount == rhs.maxImageCount) &&
+           (currentExtent == rhs.currentExtent) &&
+           (minImageExtent == rhs.minImageExtent) &&
+           (maxImageExtent == rhs.maxImageExtent) &&
+           (maxImageArrayLayers == rhs.maxImageArrayLayers) &&
+           (supportedTransforms == rhs.supportedTransforms) &&
+           (currentTransform == rhs.currentTransform) &&
+           (supportedCompositeAlpha == rhs.supportedCompositeAlpha) &&
+           (supportedUsageFlags == rhs.supportedUsageFlags) &&
+           (supportedSurfaceCounters == rhs.supportedSurfaceCounters);
+  }
+
+  bool
+  operator!=(SurfaceCapabilities2EXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSurfaceCapabilities2EXT;
+  void *pNext = {};
+  uint32_t minImageCount = {};
+  uint32_t maxImageCount = {};
+  VULKAN_HPP_NAMESPACE::Extent2D currentExtent = {};
+  VULKAN_HPP_NAMESPACE::Extent2D minImageExtent = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent = {};
+  uint32_t maxImageArrayLayers = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform =
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
+  VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha = {};
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags = {};
+  VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT supportedSurfaceCounters = {};
+};
+static_assert(sizeof(SurfaceCapabilities2EXT) ==
+                  sizeof(VkSurfaceCapabilities2EXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SurfaceCapabilities2EXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eSurfaceCapabilities2EXT> {
+  using Type = SurfaceCapabilities2EXT;
+};
+
+struct SurfaceCapabilitiesKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesKHR(
+      uint32_t minImageCount_ = {}, uint32_t maxImageCount_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D currentExtent_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D minImageExtent_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent_ = {},
+      uint32_t maxImageArrayLayers_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform_ =
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
+      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_ =
+          {},
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags_ = {})
+      VULKAN_HPP_NOEXCEPT : minImageCount(minImageCount_),
+                            maxImageCount(maxImageCount_),
+                            currentExtent(currentExtent_),
+                            minImageExtent(minImageExtent_),
+                            maxImageExtent(maxImageExtent_),
+                            maxImageArrayLayers(maxImageArrayLayers_),
+                            supportedTransforms(supportedTransforms_),
+                            currentTransform(currentTransform_),
+                            supportedCompositeAlpha(supportedCompositeAlpha_),
+                            supportedUsageFlags(supportedUsageFlags_) {}
+
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesKHR(SurfaceCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceCapabilitiesKHR(VkSurfaceCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SurfaceCapabilitiesKHR(
+            *reinterpret_cast<SurfaceCapabilitiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilitiesKHR &
+  operator=(SurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceCapabilitiesKHR &
+  operator=(VkSurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  operator VkSurfaceCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceCapabilitiesKHR *>(this);
+  }
+
+  operator VkSurfaceCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceCapabilitiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceCapabilitiesKHR const &) const = default;
+#else
+  bool operator==(SurfaceCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (minImageCount == rhs.minImageCount) &&
+           (maxImageCount == rhs.maxImageCount) &&
+           (currentExtent == rhs.currentExtent) &&
+           (minImageExtent == rhs.minImageExtent) &&
+           (maxImageExtent == rhs.maxImageExtent) &&
+           (maxImageArrayLayers == rhs.maxImageArrayLayers) &&
+           (supportedTransforms == rhs.supportedTransforms) &&
+           (currentTransform == rhs.currentTransform) &&
+           (supportedCompositeAlpha == rhs.supportedCompositeAlpha) &&
+           (supportedUsageFlags == rhs.supportedUsageFlags);
+  }
+
+  bool operator!=(SurfaceCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t minImageCount = {};
+  uint32_t maxImageCount = {};
+  VULKAN_HPP_NAMESPACE::Extent2D currentExtent = {};
+  VULKAN_HPP_NAMESPACE::Extent2D minImageExtent = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent = {};
+  uint32_t maxImageArrayLayers = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform =
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
+  VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha = {};
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags = {};
+};
+static_assert(sizeof(SurfaceCapabilitiesKHR) ==
+                  sizeof(VkSurfaceCapabilitiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SurfaceCapabilitiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct SurfaceCapabilities2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSurfaceCapabilities2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilities2KHR(
+      VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities_ = {})
+      VULKAN_HPP_NOEXCEPT : surfaceCapabilities(surfaceCapabilities_) {}
+
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilities2KHR(
+      SurfaceCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceCapabilities2KHR(VkSurfaceCapabilities2KHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SurfaceCapabilities2KHR(
+            *reinterpret_cast<SurfaceCapabilities2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilities2KHR &
+  operator=(SurfaceCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceCapabilities2KHR &
+  operator=(VkSurfaceCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkSurfaceCapabilities2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceCapabilities2KHR *>(this);
+  }
+
+  operator VkSurfaceCapabilities2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceCapabilities2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceCapabilities2KHR const &) const = default;
+#else
+  bool
+  operator==(SurfaceCapabilities2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (surfaceCapabilities == rhs.surfaceCapabilities);
+  }
+
+  bool
+  operator!=(SurfaceCapabilities2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSurfaceCapabilities2KHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities = {};
+};
+static_assert(sizeof(SurfaceCapabilities2KHR) ==
+                  sizeof(VkSurfaceCapabilities2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SurfaceCapabilities2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eSurfaceCapabilities2KHR> {
+  using Type = SurfaceCapabilities2KHR;
+};
+
+struct SurfaceFormatKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SurfaceFormatKHR(VULKAN_HPP_NAMESPACE::Format format_ =
+                       VULKAN_HPP_NAMESPACE::Format::eUndefined,
+                   VULKAN_HPP_NAMESPACE::ColorSpaceKHR colorSpace_ =
+                       VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear)
+      VULKAN_HPP_NOEXCEPT : format(format_),
+                            colorSpace(colorSpace_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SurfaceFormatKHR(SurfaceFormatKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceFormatKHR(VkSurfaceFormatKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : SurfaceFormatKHR(*reinterpret_cast<SurfaceFormatKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SurfaceFormatKHR &
+  operator=(SurfaceFormatKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceFormatKHR &
+  operator=(VkSurfaceFormatKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkSurfaceFormatKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceFormatKHR *>(this);
+  }
+
+  operator VkSurfaceFormatKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceFormatKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceFormatKHR const &) const = default;
+#else
+  bool operator==(SurfaceFormatKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (format == rhs.format) && (colorSpace == rhs.colorSpace);
+  }
+
+  bool operator!=(SurfaceFormatKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+  VULKAN_HPP_NAMESPACE::ColorSpaceKHR colorSpace =
+      VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear;
+};
+static_assert(sizeof(SurfaceFormatKHR) == sizeof(VkSurfaceFormatKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SurfaceFormatKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct SurfaceFormat2KHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSurfaceFormat2KHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SurfaceFormat2KHR(VULKAN_HPP_NAMESPACE::SurfaceFormatKHR surfaceFormat_ = {})
+      VULKAN_HPP_NOEXCEPT : surfaceFormat(surfaceFormat_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  SurfaceFormat2KHR(SurfaceFormat2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceFormat2KHR(VkSurfaceFormat2KHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : SurfaceFormat2KHR(*reinterpret_cast<SurfaceFormat2KHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 SurfaceFormat2KHR &
+  operator=(SurfaceFormat2KHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  SurfaceFormat2KHR &
+  operator=(VkSurfaceFormat2KHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkSurfaceFormat2KHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceFormat2KHR *>(this);
+  }
+
+  operator VkSurfaceFormat2KHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceFormat2KHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceFormat2KHR const &) const = default;
+#else
+  bool operator==(SurfaceFormat2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (surfaceFormat == rhs.surfaceFormat);
+  }
+
+  bool operator!=(SurfaceFormat2KHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceFormat2KHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SurfaceFormatKHR surfaceFormat = {};
+};
+static_assert(sizeof(SurfaceFormat2KHR) == sizeof(VkSurfaceFormat2KHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SurfaceFormat2KHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eSurfaceFormat2KHR> {
+  using Type = SurfaceFormat2KHR;
+};
+
+struct PhysicalDeviceToolPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceToolPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolPropertiesEXT(
+      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const &name_ = {},
+      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const &version_ = {},
+      VULKAN_HPP_NAMESPACE::ToolPurposeFlagsEXT purposes_ = {},
+      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &description_ = {},
+      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const &layer_ = {})
+      VULKAN_HPP_NOEXCEPT : name(name_),
+                            version(version_),
+                            purposes(purposes_),
+                            description(description_),
+                            layer(layer_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolPropertiesEXT(
+      PhysicalDeviceToolPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceToolPropertiesEXT(VkPhysicalDeviceToolPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceToolPropertiesEXT(
+            *reinterpret_cast<PhysicalDeviceToolPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolPropertiesEXT &operator=(
+      PhysicalDeviceToolPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceToolPropertiesEXT &
+  operator=(VkPhysicalDeviceToolPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceToolPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceToolPropertiesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceToolPropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceToolPropertiesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceToolPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (name == rhs.name) &&
+           (version == rhs.version) && (purposes == rhs.purposes) &&
+           (description == rhs.description) && (layer == rhs.layer);
+  }
+
+  bool operator!=(PhysicalDeviceToolPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceToolPropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> name =
+      {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE>
+      version = {};
+  VULKAN_HPP_NAMESPACE::ToolPurposeFlagsEXT purposes = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>
+      description = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> layer =
+      {};
+};
+static_assert(sizeof(PhysicalDeviceToolPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceToolPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceToolPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceToolPropertiesEXT> {
+  using Type = PhysicalDeviceToolPropertiesEXT;
+};
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch> class UniqueHandleTraits<Device, Dispatch> {
+public:
+  using deleter = ObjectDestroy<NoParent, Dispatch>;
+};
+using UniqueDevice = UniqueHandle<Device, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+
+class PhysicalDevice {
+public:
+  using CType = VkPhysicalDevice;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePhysicalDevice;
+
+public:
+  VULKAN_HPP_CONSTEXPR PhysicalDevice() = default;
+  VULKAN_HPP_CONSTEXPR PhysicalDevice(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  PhysicalDevice(VkPhysicalDevice physicalDevice) VULKAN_HPP_NOEXCEPT
+      : m_physicalDevice(physicalDevice) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  PhysicalDevice &
+  operator=(VkPhysicalDevice physicalDevice) VULKAN_HPP_NOEXCEPT {
+    m_physicalDevice = physicalDevice;
+    return *this;
+  }
+#endif
+
+  PhysicalDevice &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_physicalDevice = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevice const &) const = default;
+#else
+  bool operator==(PhysicalDevice const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_physicalDevice == rhs.m_physicalDevice;
+  }
+
+  bool operator!=(PhysicalDevice const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_physicalDevice != rhs.m_physicalDevice;
+  }
+
+  bool operator<(PhysicalDevice const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_physicalDevice < rhs.m_physicalDevice;
+  }
+#endif
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result acquireWinrtDisplayNV(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#else
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+  acquireWinrtDisplayNV(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                        Dispatch const &d
+                            VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result acquireXlibDisplayEXT(
+      Display *dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      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
+  acquireXlibDisplayEXT(Display &dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                        Dispatch const &d
+                            VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result
+  createDevice(const VULKAN_HPP_NAMESPACE::DeviceCreateInfo *pCreateInfo,
+               const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+               VULKAN_HPP_NAMESPACE::Device *pDevice,
+               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::Device>::type
+      createDevice(const DeviceCreateInfo &createInfo,
+                   Optional<const 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::Device, Dispatch>>::type
+      createDeviceUnique(const DeviceCreateInfo &createInfo,
+                         Optional<const 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 createDisplayModeKHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DisplayModeKHR *pMode,
+      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::DisplayModeKHR>::type
+      createDisplayModeKHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                           const DisplayModeCreateInfoKHR &createInfo,
+                           Optional<const 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::DisplayModeKHR, Dispatch>>::type
+      createDisplayModeKHRUnique(
+          VULKAN_HPP_NAMESPACE::DisplayKHR display,
+          const DisplayModeCreateInfoKHR &createInfo,
+          Optional<const 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 enumerateDeviceExtensionProperties(
+      const char *pLayerName, uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::ExtensionProperties *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename ExtensionPropertiesAllocator =
+                std::allocator<ExtensionProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+  enumerateDeviceExtensionProperties(
+      Optional<const std::string> layerName
+          VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename ExtensionPropertiesAllocator =
+                std::allocator<ExtensionProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = ExtensionPropertiesAllocator,
+            typename std::enable_if<std::is_same<typename B::value_type,
+                                                 ExtensionProperties>::value,
+                                    int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+  enumerateDeviceExtensionProperties(
+      Optional<const std::string> layerName,
+      ExtensionPropertiesAllocator &extensionPropertiesAllocator,
+      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 enumerateDeviceLayerProperties(
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::LayerProperties *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename LayerPropertiesAllocator = std::allocator<LayerProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+  enumerateDeviceLayerProperties(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename LayerPropertiesAllocator = std::allocator<LayerProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = LayerPropertiesAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, LayerProperties>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+  enumerateDeviceLayerProperties(
+      LayerPropertiesAllocator &layerPropertiesAllocator,
+      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 enumerateQueueFamilyPerformanceQueryCountersKHR(
+      uint32_t queueFamilyIndex, uint32_t *pCounterCount,
+      VULKAN_HPP_NAMESPACE::PerformanceCounterKHR *pCounters,
+      VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR
+          *pCounterDescriptions,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <
+      typename Allocator = std::allocator<PerformanceCounterDescriptionKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
+  enumerateQueueFamilyPerformanceQueryCountersKHR(
+      uint32_t queueFamilyIndex,
+      ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const &counters,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename Allocator = std::allocator<PerformanceCounterDescriptionKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = Allocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type,
+                       PerformanceCounterDescriptionKHR>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
+  enumerateQueueFamilyPerformanceQueryCountersKHR(
+      uint32_t queueFamilyIndex,
+      ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const &counters,
+      Allocator const &vectorAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PerformanceCounterKHRAllocator =
+                std::allocator<PerformanceCounterKHR>,
+            typename PerformanceCounterDescriptionKHRAllocator =
+                std::allocator<PerformanceCounterDescriptionKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<
+      std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
+      std::vector<PerformanceCounterDescriptionKHR,
+                  PerformanceCounterDescriptionKHRAllocator>>>::type
+  enumerateQueueFamilyPerformanceQueryCountersKHR(
+      uint32_t queueFamilyIndex,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename PerformanceCounterKHRAllocator =
+          std::allocator<PerformanceCounterKHR>,
+      typename PerformanceCounterDescriptionKHRAllocator =
+          std::allocator<PerformanceCounterDescriptionKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B1 = PerformanceCounterKHRAllocator,
+      typename B2 = PerformanceCounterDescriptionKHRAllocator,
+      typename std::enable_if<
+          std::is_same<typename B1::value_type, PerformanceCounterKHR>::value &&
+              std::is_same<typename B2::value_type,
+                           PerformanceCounterDescriptionKHR>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<
+      std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
+      std::vector<PerformanceCounterDescriptionKHR,
+                  PerformanceCounterDescriptionKHRAllocator>>>::type
+  enumerateQueueFamilyPerformanceQueryCountersKHR(
+      uint32_t queueFamilyIndex,
+      PerformanceCounterKHRAllocator &performanceCounterKHRAllocator,
+      PerformanceCounterDescriptionKHRAllocator
+          &performanceCounterDescriptionKHRAllocator,
+      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 getDisplayModeProperties2KHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display, uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DisplayModeProperties2KHRAllocator =
+                std::allocator<DisplayModeProperties2KHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type
+  getDisplayModeProperties2KHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename DisplayModeProperties2KHRAllocator =
+          std::allocator<DisplayModeProperties2KHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = DisplayModeProperties2KHRAllocator,
+      typename std::enable_if<std::is_same<typename B::value_type,
+                                           DisplayModeProperties2KHR>::value,
+                              int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type
+  getDisplayModeProperties2KHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      DisplayModeProperties2KHRAllocator &displayModeProperties2KHRAllocator,
+      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 getDisplayModePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display, uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DisplayModePropertiesKHRAllocator =
+                std::allocator<DisplayModePropertiesKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type
+  getDisplayModePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename DisplayModePropertiesKHRAllocator =
+          std::allocator<DisplayModePropertiesKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = DisplayModePropertiesKHRAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, DisplayModePropertiesKHR>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type
+  getDisplayModePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      DisplayModePropertiesKHRAllocator &displayModePropertiesKHRAllocator,
+      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 getDisplayPlaneCapabilities2KHR(
+      const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR *pDisplayPlaneInfo,
+      VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR *pCapabilities,
+      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::DisplayPlaneCapabilities2KHR>::type
+  getDisplayPlaneCapabilities2KHR(
+      const DisplayPlaneInfo2KHR &displayPlaneInfo,
+      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 getDisplayPlaneCapabilitiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayModeKHR mode, uint32_t planeIndex,
+      VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR *pCapabilities,
+      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::DisplayPlaneCapabilitiesKHR>::type
+  getDisplayPlaneCapabilitiesKHR(
+      VULKAN_HPP_NAMESPACE::DisplayModeKHR mode, uint32_t planeIndex,
+      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 getDisplayPlaneSupportedDisplaysKHR(
+      uint32_t planeIndex, uint32_t *pDisplayCount,
+      VULKAN_HPP_NAMESPACE::DisplayKHR *pDisplays,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DisplayKHRAllocator = std::allocator<DisplayKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<DisplayKHR, DisplayKHRAllocator>>::type
+  getDisplayPlaneSupportedDisplaysKHR(
+      uint32_t planeIndex,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename DisplayKHRAllocator = std::allocator<DisplayKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = DisplayKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, DisplayKHR>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<DisplayKHR, DisplayKHRAllocator>>::type
+  getDisplayPlaneSupportedDisplaysKHR(
+      uint32_t planeIndex, DisplayKHRAllocator &displayKHRAllocator,
+      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 getCalibrateableTimeDomainsEXT(
+      uint32_t *pTimeDomainCount,
+      VULKAN_HPP_NAMESPACE::TimeDomainEXT *pTimeDomains,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename TimeDomainEXTAllocator = std::allocator<TimeDomainEXT>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<TimeDomainEXT, TimeDomainEXTAllocator>>::type
+  getCalibrateableTimeDomainsEXT(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename TimeDomainEXTAllocator = std::allocator<TimeDomainEXT>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = TimeDomainEXTAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, TimeDomainEXT>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<TimeDomainEXT, TimeDomainEXTAllocator>>::type
+  getCalibrateableTimeDomainsEXT(
+      TimeDomainEXTAllocator &timeDomainEXTAllocator,
+      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 getCooperativeMatrixPropertiesNV(
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename CooperativeMatrixPropertiesNVAllocator =
+                std::allocator<CooperativeMatrixPropertiesNV>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<CooperativeMatrixPropertiesNV,
+                  CooperativeMatrixPropertiesNVAllocator>>::type
+  getCooperativeMatrixPropertiesNV(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename CooperativeMatrixPropertiesNVAllocator =
+                std::allocator<CooperativeMatrixPropertiesNV>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = CooperativeMatrixPropertiesNVAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             CooperativeMatrixPropertiesNV>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<CooperativeMatrixPropertiesNV,
+                  CooperativeMatrixPropertiesNVAllocator>>::type
+  getCooperativeMatrixPropertiesNV(
+      CooperativeMatrixPropertiesNVAllocator
+          &cooperativeMatrixPropertiesNVAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Bool32 getDirectFBPresentationSupportEXT(
+      uint32_t queueFamilyIndex, IDirectFB *dfb,
+      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>
+  Bool32 getDirectFBPresentationSupportEXT(
+      uint32_t queueFamilyIndex, IDirectFB &dfb,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getDisplayPlaneProperties2KHR(
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DisplayPlaneProperties2KHRAllocator =
+                std::allocator<DisplayPlaneProperties2KHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type
+  getDisplayPlaneProperties2KHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename DisplayPlaneProperties2KHRAllocator =
+          std::allocator<DisplayPlaneProperties2KHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = DisplayPlaneProperties2KHRAllocator,
+      typename std::enable_if<std::is_same<typename B::value_type,
+                                           DisplayPlaneProperties2KHR>::value,
+                              int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type
+  getDisplayPlaneProperties2KHR(
+      DisplayPlaneProperties2KHRAllocator &displayPlaneProperties2KHRAllocator,
+      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 getDisplayPlanePropertiesKHR(
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DisplayPlanePropertiesKHRAllocator =
+                std::allocator<DisplayPlanePropertiesKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type
+  getDisplayPlanePropertiesKHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename DisplayPlanePropertiesKHRAllocator =
+          std::allocator<DisplayPlanePropertiesKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = DisplayPlanePropertiesKHRAllocator,
+      typename std::enable_if<std::is_same<typename B::value_type,
+                                           DisplayPlanePropertiesKHR>::value,
+                              int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<
+      DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type
+  getDisplayPlanePropertiesKHR(
+      DisplayPlanePropertiesKHRAllocator &displayPlanePropertiesKHRAllocator,
+      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 getDisplayProperties2KHR(
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::DisplayProperties2KHR *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DisplayProperties2KHRAllocator =
+                std::allocator<DisplayProperties2KHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type
+  getDisplayProperties2KHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename DisplayProperties2KHRAllocator =
+                std::allocator<DisplayProperties2KHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = DisplayProperties2KHRAllocator,
+            typename std::enable_if<std::is_same<typename B::value_type,
+                                                 DisplayProperties2KHR>::value,
+                                    int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type
+  getDisplayProperties2KHR(
+      DisplayProperties2KHRAllocator &displayProperties2KHRAllocator,
+      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 getDisplayPropertiesKHR(
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename DisplayPropertiesKHRAllocator =
+                std::allocator<DisplayPropertiesKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type
+  getDisplayPropertiesKHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename DisplayPropertiesKHRAllocator =
+                std::allocator<DisplayPropertiesKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = DisplayPropertiesKHRAllocator,
+            typename std::enable_if<std::is_same<typename B::value_type,
+                                                 DisplayPropertiesKHR>::value,
+                                    int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type
+  getDisplayPropertiesKHR(
+      DisplayPropertiesKHRAllocator &displayPropertiesKHRAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getExternalBufferProperties(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo
+          *pExternalBufferInfo,
+      VULKAN_HPP_NAMESPACE::ExternalBufferProperties *pExternalBufferProperties,
+      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 VULKAN_HPP_NAMESPACE::ExternalBufferProperties
+  getExternalBufferProperties(
+      const PhysicalDeviceExternalBufferInfo &externalBufferInfo,
+      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 getExternalBufferPropertiesKHR(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo
+          *pExternalBufferInfo,
+      VULKAN_HPP_NAMESPACE::ExternalBufferProperties *pExternalBufferProperties,
+      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 VULKAN_HPP_NAMESPACE::ExternalBufferProperties
+  getExternalBufferPropertiesKHR(
+      const PhysicalDeviceExternalBufferInfo &externalBufferInfo,
+      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 getExternalFenceProperties(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo
+          *pExternalFenceInfo,
+      VULKAN_HPP_NAMESPACE::ExternalFenceProperties *pExternalFenceProperties,
+      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 VULKAN_HPP_NAMESPACE::ExternalFenceProperties
+  getExternalFenceProperties(
+      const PhysicalDeviceExternalFenceInfo &externalFenceInfo,
+      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 getExternalFencePropertiesKHR(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo
+          *pExternalFenceInfo,
+      VULKAN_HPP_NAMESPACE::ExternalFenceProperties *pExternalFenceProperties,
+      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 VULKAN_HPP_NAMESPACE::ExternalFenceProperties
+  getExternalFencePropertiesKHR(
+      const PhysicalDeviceExternalFenceInfo &externalFenceInfo,
+      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 getExternalImageFormatPropertiesNV(
+      VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType,
+      VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV
+          *pExternalImageFormatProperties,
+      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::ExternalImageFormatPropertiesNV>::type
+  getExternalImageFormatPropertiesNV(
+      VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getExternalSemaphoreProperties(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo
+          *pExternalSemaphoreInfo,
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+          *pExternalSemaphoreProperties,
+      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 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+  getExternalSemaphoreProperties(
+      const PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo,
+      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 getExternalSemaphorePropertiesKHR(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo
+          *pExternalSemaphoreInfo,
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+          *pExternalSemaphoreProperties,
+      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 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+  getExternalSemaphorePropertiesKHR(
+      const PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo,
+      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 getFeatures(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pFeatures,
+                   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 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures
+  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>
+  void getFeatures2(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 *pFeatures,
+                    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 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
+  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;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  getFeatures2KHR(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 *pFeatures,
+                  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 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
+  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;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getFormatProperties(
+      VULKAN_HPP_NAMESPACE::Format format,
+      VULKAN_HPP_NAMESPACE::FormatProperties *pFormatProperties,
+      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 VULKAN_HPP_NAMESPACE::FormatProperties
+  getFormatProperties(VULKAN_HPP_NAMESPACE::Format format,
+                      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 getFormatProperties2(
+      VULKAN_HPP_NAMESPACE::Format format,
+      VULKAN_HPP_NAMESPACE::FormatProperties2 *pFormatProperties,
+      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 VULKAN_HPP_NAMESPACE::FormatProperties2
+  getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format,
+                       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...> getFormatProperties2(
+      VULKAN_HPP_NAMESPACE::Format format,
+      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 getFormatProperties2KHR(
+      VULKAN_HPP_NAMESPACE::Format format,
+      VULKAN_HPP_NAMESPACE::FormatProperties2 *pFormatProperties,
+      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 VULKAN_HPP_NAMESPACE::FormatProperties2
+  getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format,
+                          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...> getFormatProperties2KHR(
+      VULKAN_HPP_NAMESPACE::Format format,
+      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 getFragmentShadingRatesKHR(
+      uint32_t *pFragmentShadingRateCount,
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR
+          *pFragmentShadingRates,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PhysicalDeviceFragmentShadingRateKHRAllocator =
+                std::allocator<PhysicalDeviceFragmentShadingRateKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceFragmentShadingRateKHR,
+                  PhysicalDeviceFragmentShadingRateKHRAllocator>>::type
+  getFragmentShadingRatesKHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PhysicalDeviceFragmentShadingRateKHRAllocator =
+                std::allocator<PhysicalDeviceFragmentShadingRateKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PhysicalDeviceFragmentShadingRateKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             PhysicalDeviceFragmentShadingRateKHR>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceFragmentShadingRateKHR,
+                  PhysicalDeviceFragmentShadingRateKHRAllocator>>::type
+  getFragmentShadingRatesKHR(
+      PhysicalDeviceFragmentShadingRateKHRAllocator
+          &physicalDeviceFragmentShadingRateKHRAllocator,
+      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 getImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
+      VULKAN_HPP_NAMESPACE::ImageFormatProperties *pImageFormatProperties,
+      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::ImageFormatProperties>::type
+  getImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      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 getImageFormatProperties2(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2
+          *pImageFormatInfo,
+      VULKAN_HPP_NAMESPACE::ImageFormatProperties2 *pImageFormatProperties,
+      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::ImageFormatProperties2>::type
+  getImageFormatProperties2(
+      const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename X, typename Y, typename... Z,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<StructureChain<X, Y, Z...>>::type
+      getImageFormatProperties2(
+          const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+          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 getImageFormatProperties2KHR(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2
+          *pImageFormatInfo,
+      VULKAN_HPP_NAMESPACE::ImageFormatProperties2 *pImageFormatProperties,
+      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::ImageFormatProperties2>::type
+  getImageFormatProperties2KHR(
+      const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename X, typename Y, typename... Z,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<StructureChain<X, Y, Z...>>::type
+      getImageFormatProperties2KHR(
+          const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getMemoryProperties(
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties *pMemoryProperties,
+      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 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties
+  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>
+  void getMemoryProperties2(
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 *pMemoryProperties,
+      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 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
+  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;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getMemoryProperties2KHR(
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 *pMemoryProperties,
+      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 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
+  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;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getMultisamplePropertiesEXT(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+      VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT *pMultisampleProperties,
+      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 VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
+  getMultisamplePropertiesEXT(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+      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 getPresentRectanglesKHR(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface, uint32_t *pRectCount,
+      VULKAN_HPP_NAMESPACE::Rect2D *pRects,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Rect2DAllocator = std::allocator<Rect2D>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<Rect2D, Rect2DAllocator>>::type
+      getPresentRectanglesKHR(
+          VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename Rect2DAllocator = std::allocator<Rect2D>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = Rect2DAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, Rect2D>::value, int>::type = 0>
+  VULKAN_HPP_NODISCARD
+      typename ResultValueType<std::vector<Rect2D, Rect2DAllocator>>::type
+      getPresentRectanglesKHR(
+          VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+          Rect2DAllocator &rect2DAllocator,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void
+  getProperties(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties *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 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties
+  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>
+  void
+  getProperties2(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 *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 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
+  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;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getProperties2KHR(
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 *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 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
+  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;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getQueueFamilyPerformanceQueryPassesKHR(
+      const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR
+          *pPerformanceQueryCreateInfo,
+      uint32_t *pNumPasses,
+      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 uint32_t getQueueFamilyPerformanceQueryPassesKHR(
+      const QueryPoolPerformanceCreateInfoKHR &performanceQueryCreateInfo,
+      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 getQueueFamilyProperties(
+      uint32_t *pQueueFamilyPropertyCount,
+      VULKAN_HPP_NAMESPACE::QueueFamilyProperties *pQueueFamilyProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename QueueFamilyPropertiesAllocator =
+                std::allocator<QueueFamilyProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      std::vector<QueueFamilyProperties, QueueFamilyPropertiesAllocator>
+      getQueueFamilyProperties(
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename QueueFamilyPropertiesAllocator =
+                std::allocator<QueueFamilyProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = QueueFamilyPropertiesAllocator,
+            typename std::enable_if<std::is_same<typename B::value_type,
+                                                 QueueFamilyProperties>::value,
+                                    int>::type = 0>
+  VULKAN_HPP_NODISCARD
+      std::vector<QueueFamilyProperties, QueueFamilyPropertiesAllocator>
+      getQueueFamilyProperties(
+          QueueFamilyPropertiesAllocator &queueFamilyPropertiesAllocator,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getQueueFamilyProperties2(
+      uint32_t *pQueueFamilyPropertyCount,
+      VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 *pQueueFamilyProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename QueueFamilyProperties2Allocator =
+                std::allocator<QueueFamilyProperties2>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD
+      std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
+      getQueueFamilyProperties2(
+          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>
+      getQueueFamilyProperties2(
+          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>
+  getQueueFamilyProperties2(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename StructureChain,
+            typename StructureChainAllocator = std::allocator<StructureChain>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = StructureChainAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, StructureChain>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD std::vector<StructureChain, StructureChainAllocator>
+  getQueueFamilyProperties2(StructureChainAllocator &structureChainAllocator,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getQueueFamilyProperties2KHR(
+      uint32_t *pQueueFamilyPropertyCount,
+      VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 *pQueueFamilyProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  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;
+  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;
+  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;
+  template <typename StructureChain,
+            typename StructureChainAllocator = std::allocator<StructureChain>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = StructureChainAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, StructureChain>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD std::vector<StructureChain, StructureChainAllocator>
+  getQueueFamilyProperties2KHR(
+      StructureChainAllocator &structureChainAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Bool32 getScreenPresentationSupportQNX(
+      uint32_t queueFamilyIndex, struct _screen_window *window,
+      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>
+  Bool32 getScreenPresentationSupportQNX(
+      uint32_t queueFamilyIndex, struct _screen_window &window,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getSparseImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling, uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::SparseImageFormatProperties *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename SparseImageFormatPropertiesAllocator =
+                std::allocator<SparseImageFormatProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties,
+                                   SparseImageFormatPropertiesAllocator>
+  getSparseImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename SparseImageFormatPropertiesAllocator =
+          std::allocator<SparseImageFormatProperties>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = SparseImageFormatPropertiesAllocator,
+      typename std::enable_if<std::is_same<typename B::value_type,
+                                           SparseImageFormatProperties>::value,
+                              int>::type = 0>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties,
+                                   SparseImageFormatPropertiesAllocator>
+  getSparseImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+      VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+      SparseImageFormatPropertiesAllocator
+          &sparseImageFormatPropertiesAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void getSparseImageFormatProperties2(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2
+          *pFormatInfo,
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename SparseImageFormatProperties2Allocator =
+                std::allocator<SparseImageFormatProperties2>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2,
+                                   SparseImageFormatProperties2Allocator>
+  getSparseImageFormatProperties2(
+      const 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 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>
+  void getSparseImageFormatProperties2KHR(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2
+          *pFormatInfo,
+      uint32_t *pPropertyCount,
+      VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 *pProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename SparseImageFormatProperties2Allocator =
+                std::allocator<SparseImageFormatProperties2>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2,
+                                   SparseImageFormatProperties2Allocator>
+  getSparseImageFormatProperties2KHR(
+      const 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 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>
+  VULKAN_HPP_NODISCARD Result getSupportedFramebufferMixedSamplesCombinationsNV(
+      uint32_t *pCombinationCount,
+      VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV *pCombinations,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename FramebufferMixedSamplesCombinationNVAllocator =
+                std::allocator<FramebufferMixedSamplesCombinationNV>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<FramebufferMixedSamplesCombinationNV,
+                  FramebufferMixedSamplesCombinationNVAllocator>>::type
+  getSupportedFramebufferMixedSamplesCombinationsNV(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename FramebufferMixedSamplesCombinationNVAllocator =
+                std::allocator<FramebufferMixedSamplesCombinationNV>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = FramebufferMixedSamplesCombinationNVAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             FramebufferMixedSamplesCombinationNV>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<FramebufferMixedSamplesCombinationNV,
+                  FramebufferMixedSamplesCombinationNVAllocator>>::type
+  getSupportedFramebufferMixedSamplesCombinationsNV(
+      FramebufferMixedSamplesCombinationNVAllocator
+          &framebufferMixedSamplesCombinationNVAllocator,
+      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 getSurfaceCapabilities2EXT(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+      VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT *pSurfaceCapabilities,
+      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::SurfaceCapabilities2EXT>::type
+  getSurfaceCapabilities2EXT(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+      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 getSurfaceCapabilities2KHR(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR *pSurfaceCapabilities,
+      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::SurfaceCapabilities2KHR>::type
+  getSurfaceCapabilities2KHR(
+      const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename X, typename Y, typename... Z,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<StructureChain<X, Y, Z...>>::type
+      getSurfaceCapabilities2KHR(
+          const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+          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 getSurfaceCapabilitiesKHR(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+      VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR *pSurfaceCapabilities,
+      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::SurfaceCapabilitiesKHR>::type
+  getSurfaceCapabilitiesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                            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 getSurfaceFormats2KHR(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      uint32_t *pSurfaceFormatCount,
+      VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR *pSurfaceFormats,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <
+      typename SurfaceFormat2KHRAllocator = std::allocator<SurfaceFormat2KHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type
+  getSurfaceFormats2KHR(const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+                        Dispatch const &d
+                            VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename SurfaceFormat2KHRAllocator = std::allocator<SurfaceFormat2KHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = SurfaceFormat2KHRAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, SurfaceFormat2KHR>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type
+  getSurfaceFormats2KHR(const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+                        SurfaceFormat2KHRAllocator &surfaceFormat2KHRAllocator,
+                        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 getSurfaceFormatsKHR(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface, uint32_t *pSurfaceFormatCount,
+      VULKAN_HPP_NAMESPACE::SurfaceFormatKHR *pSurfaceFormats,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <
+      typename SurfaceFormatKHRAllocator = std::allocator<SurfaceFormatKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type
+  getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                       Dispatch const &d
+                           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <
+      typename SurfaceFormatKHRAllocator = std::allocator<SurfaceFormatKHR>,
+      typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B = SurfaceFormatKHRAllocator,
+      typename std::enable_if<
+          std::is_same<typename B::value_type, SurfaceFormatKHR>::value,
+          int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type
+  getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                       SurfaceFormatKHRAllocator &surfaceFormatKHRAllocator,
+                       Dispatch const &d
+                           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getSurfacePresentModes2EXT(
+      const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+      uint32_t *pPresentModeCount,
+      VULKAN_HPP_NAMESPACE::PresentModeKHR *pPresentModes,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PresentModeKHRAllocator = std::allocator<PresentModeKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+  getSurfacePresentModes2EXT(
+      const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PresentModeKHRAllocator = std::allocator<PresentModeKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PresentModeKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, PresentModeKHR>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+  getSurfacePresentModes2EXT(
+      const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+      PresentModeKHRAllocator &presentModeKHRAllocator,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getSurfacePresentModesKHR(
+      VULKAN_HPP_NAMESPACE::SurfaceKHR surface, uint32_t *pPresentModeCount,
+      VULKAN_HPP_NAMESPACE::PresentModeKHR *pPresentModes,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PresentModeKHRAllocator = std::allocator<PresentModeKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+  getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                            Dispatch const &d
+                                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PresentModeKHRAllocator = std::allocator<PresentModeKHR>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PresentModeKHRAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, PresentModeKHR>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+  getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                            PresentModeKHRAllocator &presentModeKHRAllocator,
+                            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 getSurfaceSupportKHR(
+      uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+      VULKAN_HPP_NAMESPACE::Bool32 *pSupported,
+      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::Bool32>::type
+      getSurfaceSupportKHR(
+          uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+          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 getToolPropertiesEXT(
+      uint32_t *pToolCount,
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT *pToolProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PhysicalDeviceToolPropertiesEXTAllocator =
+                std::allocator<PhysicalDeviceToolPropertiesEXT>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceToolPropertiesEXT,
+                  PhysicalDeviceToolPropertiesEXTAllocator>>::type
+  getToolPropertiesEXT(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PhysicalDeviceToolPropertiesEXTAllocator =
+                std::allocator<PhysicalDeviceToolPropertiesEXT>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PhysicalDeviceToolPropertiesEXTAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             PhysicalDeviceToolPropertiesEXT>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceToolPropertiesEXT,
+                  PhysicalDeviceToolPropertiesEXTAllocator>>::type
+  getToolPropertiesEXT(PhysicalDeviceToolPropertiesEXTAllocator
+                           &physicalDeviceToolPropertiesEXTAllocator,
+                       Dispatch const &d
+                           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Bool32 getWaylandPresentationSupportKHR(
+      uint32_t queueFamilyIndex, struct wl_display *display,
+      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>
+  Bool32 getWaylandPresentationSupportKHR(
+      uint32_t queueFamilyIndex, struct wl_display &display,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Bool32 getWin32PresentationSupportKHR(
+      uint32_t queueFamilyIndex,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Bool32 getXcbPresentationSupportKHR(
+      uint32_t queueFamilyIndex, xcb_connection_t *connection,
+      xcb_visualid_t visual_id,
+      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>
+  Bool32 getXcbPresentationSupportKHR(
+      uint32_t queueFamilyIndex, xcb_connection_t &connection,
+      xcb_visualid_t visual_id,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Bool32 getXlibPresentationSupportKHR(
+      uint32_t queueFamilyIndex, Display *dpy, VisualID visualID,
+      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>
+  Bool32 getXlibPresentationSupportKHR(
+      uint32_t queueFamilyIndex, Display &dpy, VisualID visualID,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getRandROutputDisplayEXT(
+      Display *dpy, RROutput rrOutput,
+      VULKAN_HPP_NAMESPACE::DisplayKHR *pDisplay,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type
+  getRandROutputDisplayEXT(Display &dpy, RROutput rrOutput,
+                           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_INLINE typename ResultValueType<
+      UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type
+  getRandROutputDisplayEXTUnique(
+      Display &dpy, RROutput rrOutput,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result getWinrtDisplayNV(
+      uint32_t deviceRelativeId, VULKAN_HPP_NAMESPACE::DisplayKHR *pDisplay,
+      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::DisplayKHR>::type
+      getWinrtDisplayNV(uint32_t deviceRelativeId,
+                        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::DisplayKHR, Dispatch>>::type
+      getWinrtDisplayNVUnique(
+          uint32_t deviceRelativeId,
+          Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  Result
+  releaseDisplayEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                    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 releaseDisplayEXT(
+      VULKAN_HPP_NAMESPACE::DisplayKHR display,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkPhysicalDevice() const VULKAN_HPP_NOEXCEPT {
+    return m_physicalDevice;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_physicalDevice != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_physicalDevice == VK_NULL_HANDLE;
+  }
+
+private:
+  VkPhysicalDevice m_physicalDevice = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::PhysicalDevice) ==
+                  sizeof(VkPhysicalDevice),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::ePhysicalDevice> {
+  using type = VULKAN_HPP_NAMESPACE::PhysicalDevice;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice> {
+  using Type = VULKAN_HPP_NAMESPACE::PhysicalDevice;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePhysicalDevice> {
+  using Type = VULKAN_HPP_NAMESPACE::PhysicalDevice;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::PhysicalDevice> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+struct DeviceGroupDeviceCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceGroupDeviceCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo(
+      uint32_t physicalDeviceCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PhysicalDevice *pPhysicalDevices_ = {})
+      VULKAN_HPP_NOEXCEPT : physicalDeviceCount(physicalDeviceCount_),
+                            pPhysicalDevices(pPhysicalDevices_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo(
+      DeviceGroupDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupDeviceCreateInfo(VkDeviceGroupDeviceCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DeviceGroupDeviceCreateInfo(
+            *reinterpret_cast<DeviceGroupDeviceCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupDeviceCreateInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PhysicalDevice> const &physicalDevices_)
+      : physicalDeviceCount(static_cast<uint32_t>(physicalDevices_.size())),
+        pPhysicalDevices(physicalDevices_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupDeviceCreateInfo &operator=(
+      DeviceGroupDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupDeviceCreateInfo &
+  operator=(VkDeviceGroupDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  DeviceGroupDeviceCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceGroupDeviceCreateInfo &
+  setPhysicalDeviceCount(uint32_t physicalDeviceCount_) VULKAN_HPP_NOEXCEPT {
+    physicalDeviceCount = physicalDeviceCount_;
+    return *this;
+  }
+
+  DeviceGroupDeviceCreateInfo &setPPhysicalDevices(
+      const VULKAN_HPP_NAMESPACE::PhysicalDevice *pPhysicalDevices_)
+      VULKAN_HPP_NOEXCEPT {
+    pPhysicalDevices = pPhysicalDevices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupDeviceCreateInfo &setPhysicalDevices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PhysicalDevice> const &physicalDevices_)
+      VULKAN_HPP_NOEXCEPT {
+    physicalDeviceCount = static_cast<uint32_t>(physicalDevices_.size());
+    pPhysicalDevices = physicalDevices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkDeviceGroupDeviceCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>(this);
+  }
+
+  operator VkDeviceGroupDeviceCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupDeviceCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupDeviceCreateInfo const &) const = default;
+#else
+  bool
+  operator==(DeviceGroupDeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (physicalDeviceCount == rhs.physicalDeviceCount) &&
+           (pPhysicalDevices == rhs.pPhysicalDevices);
+  }
+
+  bool
+  operator!=(DeviceGroupDeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupDeviceCreateInfo;
+  const void *pNext = {};
+  uint32_t physicalDeviceCount = {};
+  const VULKAN_HPP_NAMESPACE::PhysicalDevice *pPhysicalDevices = {};
+};
+static_assert(sizeof(DeviceGroupDeviceCreateInfo) ==
+                  sizeof(VkDeviceGroupDeviceCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupDeviceCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDeviceGroupDeviceCreateInfo> {
+  using Type = DeviceGroupDeviceCreateInfo;
+};
+using DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
+
+struct DeviceGroupPresentInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceGroupPresentInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceGroupPresentInfoKHR(
+      uint32_t swapchainCount_ = {}, const uint32_t *pDeviceMasks_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_ =
+          VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal)
+      VULKAN_HPP_NOEXCEPT : swapchainCount(swapchainCount_),
+                            pDeviceMasks(pDeviceMasks_),
+                            mode(mode_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceGroupPresentInfoKHR(
+      DeviceGroupPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupPresentInfoKHR(VkDeviceGroupPresentInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DeviceGroupPresentInfoKHR(
+            *reinterpret_cast<DeviceGroupPresentInfoKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupPresentInfoKHR(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceMasks_,
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_ =
+          VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal)
+      : swapchainCount(static_cast<uint32_t>(deviceMasks_.size())),
+        pDeviceMasks(deviceMasks_.data()), mode(mode_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR &
+  operator=(DeviceGroupPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupPresentInfoKHR &
+  operator=(VkDeviceGroupPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  DeviceGroupPresentInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceGroupPresentInfoKHR &
+  setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT {
+    swapchainCount = swapchainCount_;
+    return *this;
+  }
+
+  DeviceGroupPresentInfoKHR &
+  setPDeviceMasks(const uint32_t *pDeviceMasks_) VULKAN_HPP_NOEXCEPT {
+    pDeviceMasks = pDeviceMasks_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupPresentInfoKHR &setDeviceMasks(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &deviceMasks_) VULKAN_HPP_NOEXCEPT {
+    swapchainCount = static_cast<uint32_t>(deviceMasks_.size());
+    pDeviceMasks = deviceMasks_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  DeviceGroupPresentInfoKHR &
+  setMode(VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_)
+      VULKAN_HPP_NOEXCEPT {
+    mode = mode_;
+    return *this;
+  }
+
+  operator VkDeviceGroupPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>(this);
+  }
+
+  operator VkDeviceGroupPresentInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupPresentInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupPresentInfoKHR const &) const = default;
+#else
+  bool
+  operator==(DeviceGroupPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (swapchainCount == rhs.swapchainCount) &&
+           (pDeviceMasks == rhs.pDeviceMasks) && (mode == rhs.mode);
+  }
+
+  bool
+  operator!=(DeviceGroupPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupPresentInfoKHR;
+  const void *pNext = {};
+  uint32_t swapchainCount = {};
+  const uint32_t *pDeviceMasks = {};
+  VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode =
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal;
+};
+static_assert(sizeof(DeviceGroupPresentInfoKHR) ==
+                  sizeof(VkDeviceGroupPresentInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupPresentInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDeviceGroupPresentInfoKHR> {
+  using Type = DeviceGroupPresentInfoKHR;
+};
+
+struct DeviceGroupRenderPassBeginInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceGroupRenderPassBeginInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo(
+      uint32_t deviceMask_ = {}, uint32_t deviceRenderAreaCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Rect2D *pDeviceRenderAreas_ = {})
+      VULKAN_HPP_NOEXCEPT : deviceMask(deviceMask_),
+                            deviceRenderAreaCount(deviceRenderAreaCount_),
+                            pDeviceRenderAreas(pDeviceRenderAreas_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo(
+      DeviceGroupRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupRenderPassBeginInfo(VkDeviceGroupRenderPassBeginInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DeviceGroupRenderPassBeginInfo(
+            *reinterpret_cast<DeviceGroupRenderPassBeginInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupRenderPassBeginInfo(
+      uint32_t deviceMask_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &deviceRenderAreas_)
+      : deviceMask(deviceMask_),
+        deviceRenderAreaCount(static_cast<uint32_t>(deviceRenderAreas_.size())),
+        pDeviceRenderAreas(deviceRenderAreas_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo &operator=(
+      DeviceGroupRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupRenderPassBeginInfo &
+  operator=(VkDeviceGroupRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo const *>(&rhs);
+    return *this;
+  }
+
+  DeviceGroupRenderPassBeginInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceGroupRenderPassBeginInfo &
+  setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT {
+    deviceMask = deviceMask_;
+    return *this;
+  }
+
+  DeviceGroupRenderPassBeginInfo &setDeviceRenderAreaCount(
+      uint32_t deviceRenderAreaCount_) VULKAN_HPP_NOEXCEPT {
+    deviceRenderAreaCount = deviceRenderAreaCount_;
+    return *this;
+  }
+
+  DeviceGroupRenderPassBeginInfo &
+  setPDeviceRenderAreas(const VULKAN_HPP_NAMESPACE::Rect2D *pDeviceRenderAreas_)
+      VULKAN_HPP_NOEXCEPT {
+    pDeviceRenderAreas = pDeviceRenderAreas_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupRenderPassBeginInfo &setDeviceRenderAreas(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &deviceRenderAreas_)
+      VULKAN_HPP_NOEXCEPT {
+    deviceRenderAreaCount = static_cast<uint32_t>(deviceRenderAreas_.size());
+    pDeviceRenderAreas = deviceRenderAreas_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkDeviceGroupRenderPassBeginInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>(this);
+  }
+
+  operator VkDeviceGroupRenderPassBeginInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupRenderPassBeginInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupRenderPassBeginInfo const &) const = default;
+#else
+  bool operator==(DeviceGroupRenderPassBeginInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceMask == rhs.deviceMask) &&
+           (deviceRenderAreaCount == rhs.deviceRenderAreaCount) &&
+           (pDeviceRenderAreas == rhs.pDeviceRenderAreas);
+  }
+
+  bool operator!=(DeviceGroupRenderPassBeginInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupRenderPassBeginInfo;
+  const void *pNext = {};
+  uint32_t deviceMask = {};
+  uint32_t deviceRenderAreaCount = {};
+  const VULKAN_HPP_NAMESPACE::Rect2D *pDeviceRenderAreas = {};
+};
+static_assert(sizeof(DeviceGroupRenderPassBeginInfo) ==
+                  sizeof(VkDeviceGroupRenderPassBeginInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupRenderPassBeginInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDeviceGroupRenderPassBeginInfo> {
+  using Type = DeviceGroupRenderPassBeginInfo;
+};
+using DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
+
+struct DeviceGroupSubmitInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceGroupSubmitInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceGroupSubmitInfo(
+      uint32_t waitSemaphoreCount_ = {},
+      const uint32_t *pWaitSemaphoreDeviceIndices_ = {},
+      uint32_t commandBufferCount_ = {},
+      const uint32_t *pCommandBufferDeviceMasks_ = {},
+      uint32_t signalSemaphoreCount_ = {},
+      const uint32_t *pSignalSemaphoreDeviceIndices_ = {}) VULKAN_HPP_NOEXCEPT
+      : waitSemaphoreCount(waitSemaphoreCount_),
+        pWaitSemaphoreDeviceIndices(pWaitSemaphoreDeviceIndices_),
+        commandBufferCount(commandBufferCount_),
+        pCommandBufferDeviceMasks(pCommandBufferDeviceMasks_),
+        signalSemaphoreCount(signalSemaphoreCount_),
+        pSignalSemaphoreDeviceIndices(pSignalSemaphoreDeviceIndices_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceGroupSubmitInfo(DeviceGroupSubmitInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupSubmitInfo(VkDeviceGroupSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceGroupSubmitInfo(
+            *reinterpret_cast<DeviceGroupSubmitInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupSubmitInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &waitSemaphoreDeviceIndices_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &commandBufferDeviceMasks_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &signalSemaphoreDeviceIndices_ = {})
+      : waitSemaphoreCount(
+            static_cast<uint32_t>(waitSemaphoreDeviceIndices_.size())),
+        pWaitSemaphoreDeviceIndices(waitSemaphoreDeviceIndices_.data()),
+        commandBufferCount(
+            static_cast<uint32_t>(commandBufferDeviceMasks_.size())),
+        pCommandBufferDeviceMasks(commandBufferDeviceMasks_.data()),
+        signalSemaphoreCount(
+            static_cast<uint32_t>(signalSemaphoreDeviceIndices_.size())),
+        pSignalSemaphoreDeviceIndices(signalSemaphoreDeviceIndices_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo &
+  operator=(DeviceGroupSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupSubmitInfo &
+  operator=(VkDeviceGroupSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  DeviceGroupSubmitInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceGroupSubmitInfo &
+  setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount = waitSemaphoreCount_;
+    return *this;
+  }
+
+  DeviceGroupSubmitInfo &setPWaitSemaphoreDeviceIndices(
+      const uint32_t *pWaitSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT {
+    pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupSubmitInfo &setWaitSemaphoreDeviceIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &waitSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreCount =
+        static_cast<uint32_t>(waitSemaphoreDeviceIndices_.size());
+    pWaitSemaphoreDeviceIndices = waitSemaphoreDeviceIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  DeviceGroupSubmitInfo &
+  setCommandBufferCount(uint32_t commandBufferCount_) VULKAN_HPP_NOEXCEPT {
+    commandBufferCount = commandBufferCount_;
+    return *this;
+  }
+
+  DeviceGroupSubmitInfo &setPCommandBufferDeviceMasks(
+      const uint32_t *pCommandBufferDeviceMasks_) VULKAN_HPP_NOEXCEPT {
+    pCommandBufferDeviceMasks = pCommandBufferDeviceMasks_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupSubmitInfo &setCommandBufferDeviceMasks(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &commandBufferDeviceMasks_) VULKAN_HPP_NOEXCEPT {
+    commandBufferCount =
+        static_cast<uint32_t>(commandBufferDeviceMasks_.size());
+    pCommandBufferDeviceMasks = commandBufferDeviceMasks_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  DeviceGroupSubmitInfo &
+  setSignalSemaphoreCount(uint32_t signalSemaphoreCount_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreCount = signalSemaphoreCount_;
+    return *this;
+  }
+
+  DeviceGroupSubmitInfo &setPSignalSemaphoreDeviceIndices(
+      const uint32_t *pSignalSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT {
+    pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DeviceGroupSubmitInfo &setSignalSemaphoreDeviceIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &signalSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreCount =
+        static_cast<uint32_t>(signalSemaphoreDeviceIndices_.size());
+    pSignalSemaphoreDeviceIndices = signalSemaphoreDeviceIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkDeviceGroupSubmitInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupSubmitInfo *>(this);
+  }
+
+  operator VkDeviceGroupSubmitInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupSubmitInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupSubmitInfo const &) const = default;
+#else
+  bool operator==(DeviceGroupSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (waitSemaphoreCount == rhs.waitSemaphoreCount) &&
+           (pWaitSemaphoreDeviceIndices == rhs.pWaitSemaphoreDeviceIndices) &&
+           (commandBufferCount == rhs.commandBufferCount) &&
+           (pCommandBufferDeviceMasks == rhs.pCommandBufferDeviceMasks) &&
+           (signalSemaphoreCount == rhs.signalSemaphoreCount) &&
+           (pSignalSemaphoreDeviceIndices == rhs.pSignalSemaphoreDeviceIndices);
+  }
+
+  bool operator!=(DeviceGroupSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupSubmitInfo;
+  const void *pNext = {};
+  uint32_t waitSemaphoreCount = {};
+  const uint32_t *pWaitSemaphoreDeviceIndices = {};
+  uint32_t commandBufferCount = {};
+  const uint32_t *pCommandBufferDeviceMasks = {};
+  uint32_t signalSemaphoreCount = {};
+  const uint32_t *pSignalSemaphoreDeviceIndices = {};
+};
+static_assert(sizeof(DeviceGroupSubmitInfo) == sizeof(VkDeviceGroupSubmitInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupSubmitInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDeviceGroupSubmitInfo> {
+  using Type = DeviceGroupSubmitInfo;
+};
+using DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
+
+struct DeviceGroupSwapchainCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceGroupSwapchainCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceGroupSwapchainCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_ = {})
+      VULKAN_HPP_NOEXCEPT : modes(modes_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceGroupSwapchainCreateInfoKHR(
+      DeviceGroupSwapchainCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupSwapchainCreateInfoKHR(
+      VkDeviceGroupSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceGroupSwapchainCreateInfoKHR(
+            *reinterpret_cast<DeviceGroupSwapchainCreateInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceGroupSwapchainCreateInfoKHR &
+  operator=(DeviceGroupSwapchainCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceGroupSwapchainCreateInfoKHR &operator=(
+      VkDeviceGroupSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  DeviceGroupSwapchainCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceGroupSwapchainCreateInfoKHR &
+  setModes(VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_)
+      VULKAN_HPP_NOEXCEPT {
+    modes = modes_;
+    return *this;
+  }
+
+  operator VkDeviceGroupSwapchainCreateInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>(this);
+  }
+
+  operator VkDeviceGroupSwapchainCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceGroupSwapchainCreateInfoKHR const &) const = default;
+#else
+  bool operator==(DeviceGroupSwapchainCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (modes == rhs.modes);
+  }
+
+  bool operator!=(DeviceGroupSwapchainCreateInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceGroupSwapchainCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes = {};
+};
+static_assert(sizeof(DeviceGroupSwapchainCreateInfoKHR) ==
+                  sizeof(VkDeviceGroupSwapchainCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceGroupSwapchainCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceGroupSwapchainCreateInfoKHR> {
+  using Type = DeviceGroupSwapchainCreateInfoKHR;
+};
+
+struct DeviceMemoryOverallocationCreateInfoAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceMemoryOverallocationCreateInfoAMD;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceMemoryOverallocationCreateInfoAMD(
+      VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD
+          overallocationBehavior_ =
+              VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD::eDefault)
+      VULKAN_HPP_NOEXCEPT : overallocationBehavior(overallocationBehavior_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceMemoryOverallocationCreateInfoAMD(
+      DeviceMemoryOverallocationCreateInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceMemoryOverallocationCreateInfoAMD(
+      VkDeviceMemoryOverallocationCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceMemoryOverallocationCreateInfoAMD(
+            *reinterpret_cast<DeviceMemoryOverallocationCreateInfoAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOverallocationCreateInfoAMD &
+  operator=(DeviceMemoryOverallocationCreateInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceMemoryOverallocationCreateInfoAMD &
+  operator=(VkDeviceMemoryOverallocationCreateInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD const *>(
+        &rhs);
+    return *this;
+  }
+
+  DeviceMemoryOverallocationCreateInfoAMD &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceMemoryOverallocationCreateInfoAMD &setOverallocationBehavior(
+      VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD
+          overallocationBehavior_) VULKAN_HPP_NOEXCEPT {
+    overallocationBehavior = overallocationBehavior_;
+    return *this;
+  }
+
+  operator VkDeviceMemoryOverallocationCreateInfoAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>(
+        this);
+  }
+
+  operator VkDeviceMemoryOverallocationCreateInfoAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceMemoryOverallocationCreateInfoAMD *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DeviceMemoryOverallocationCreateInfoAMD const &) const = default;
+#else
+  bool operator==(DeviceMemoryOverallocationCreateInfoAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (overallocationBehavior == rhs.overallocationBehavior);
+  }
+
+  bool operator!=(DeviceMemoryOverallocationCreateInfoAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceMemoryOverallocationCreateInfoAMD;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD overallocationBehavior =
+      VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD::eDefault;
+};
+static_assert(sizeof(DeviceMemoryOverallocationCreateInfoAMD) ==
+                  sizeof(VkDeviceMemoryOverallocationCreateInfoAMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DeviceMemoryOverallocationCreateInfoAMD>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceMemoryOverallocationCreateInfoAMD> {
+  using Type = DeviceMemoryOverallocationCreateInfoAMD;
+};
+
+struct DeviceMemoryReportCallbackDataEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceMemoryReportCallbackDataEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT(
+      VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type_ =
+          VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate,
+      uint64_t memoryObjectId_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize size_ = {},
+      VULKAN_HPP_NAMESPACE::ObjectType objectType_ =
+          VULKAN_HPP_NAMESPACE::ObjectType::eUnknown,
+      uint64_t objectHandle_ = {}, uint32_t heapIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        type(type_),
+        memoryObjectId(memoryObjectId_),
+        size(size_),
+        objectType(objectType_),
+        objectHandle(objectHandle_),
+        heapIndex(heapIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT(
+      DeviceMemoryReportCallbackDataEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceMemoryReportCallbackDataEXT(
+      VkDeviceMemoryReportCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceMemoryReportCallbackDataEXT(
+            *reinterpret_cast<DeviceMemoryReportCallbackDataEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceMemoryReportCallbackDataEXT &
+  operator=(DeviceMemoryReportCallbackDataEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceMemoryReportCallbackDataEXT &operator=(
+      VkDeviceMemoryReportCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDeviceMemoryReportCallbackDataEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceMemoryReportCallbackDataEXT *>(this);
+  }
+
+  operator VkDeviceMemoryReportCallbackDataEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceMemoryReportCallbackDataEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DeviceMemoryReportCallbackDataEXT const &) const = default;
+#else
+  bool operator==(DeviceMemoryReportCallbackDataEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (type == rhs.type) &&
+           (memoryObjectId == rhs.memoryObjectId) && (size == rhs.size) &&
+           (objectType == rhs.objectType) &&
+           (objectHandle == rhs.objectHandle) && (heapIndex == rhs.heapIndex);
+  }
+
+  bool operator!=(DeviceMemoryReportCallbackDataEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceMemoryReportCallbackDataEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags = {};
+  VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type =
+      VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate;
+  uint64_t memoryObjectId = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize size = {};
+  VULKAN_HPP_NAMESPACE::ObjectType objectType =
+      VULKAN_HPP_NAMESPACE::ObjectType::eUnknown;
+  uint64_t objectHandle = {};
+  uint32_t heapIndex = {};
+};
+static_assert(sizeof(DeviceMemoryReportCallbackDataEXT) ==
+                  sizeof(VkDeviceMemoryReportCallbackDataEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DeviceMemoryReportCallbackDataEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceMemoryReportCallbackDataEXT> {
+  using Type = DeviceMemoryReportCallbackDataEXT;
+};
+
+struct DevicePrivateDataCreateInfoEXT {
+  static const bool allowDuplicate = true;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDevicePrivateDataCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfoEXT(
+      uint32_t privateDataSlotRequestCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : privateDataSlotRequestCount(privateDataSlotRequestCount_) {}
+
+  VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfoEXT(
+      DevicePrivateDataCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DevicePrivateDataCreateInfoEXT(VkDevicePrivateDataCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DevicePrivateDataCreateInfoEXT(
+            *reinterpret_cast<DevicePrivateDataCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DevicePrivateDataCreateInfoEXT &operator=(
+      DevicePrivateDataCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DevicePrivateDataCreateInfoEXT &
+  operator=(VkDevicePrivateDataCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  DevicePrivateDataCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DevicePrivateDataCreateInfoEXT &setPrivateDataSlotRequestCount(
+      uint32_t privateDataSlotRequestCount_) VULKAN_HPP_NOEXCEPT {
+    privateDataSlotRequestCount = privateDataSlotRequestCount_;
+    return *this;
+  }
+
+  operator VkDevicePrivateDataCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDevicePrivateDataCreateInfoEXT *>(this);
+  }
+
+  operator VkDevicePrivateDataCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDevicePrivateDataCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DevicePrivateDataCreateInfoEXT const &) const = default;
+#else
+  bool operator==(DevicePrivateDataCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (privateDataSlotRequestCount == rhs.privateDataSlotRequestCount);
+  }
+
+  bool operator!=(DevicePrivateDataCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDevicePrivateDataCreateInfoEXT;
+  const void *pNext = {};
+  uint32_t privateDataSlotRequestCount = {};
+};
+static_assert(sizeof(DevicePrivateDataCreateInfoEXT) ==
+                  sizeof(VkDevicePrivateDataCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DevicePrivateDataCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDevicePrivateDataCreateInfoEXT> {
+  using Type = DevicePrivateDataCreateInfoEXT;
+};
+
+struct DeviceQueueGlobalPriorityCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DeviceQueueGlobalPriorityCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT globalPriority_ =
+          VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT::eLow)
+      VULKAN_HPP_NOEXCEPT : globalPriority(globalPriority_) {}
+
+  VULKAN_HPP_CONSTEXPR DeviceQueueGlobalPriorityCreateInfoEXT(
+      DeviceQueueGlobalPriorityCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceQueueGlobalPriorityCreateInfoEXT(
+      VkDeviceQueueGlobalPriorityCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DeviceQueueGlobalPriorityCreateInfoEXT(
+            *reinterpret_cast<DeviceQueueGlobalPriorityCreateInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DeviceQueueGlobalPriorityCreateInfoEXT &
+  operator=(DeviceQueueGlobalPriorityCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DeviceQueueGlobalPriorityCreateInfoEXT &operator=(
+      VkDeviceQueueGlobalPriorityCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  DeviceQueueGlobalPriorityCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DeviceQueueGlobalPriorityCreateInfoEXT &setGlobalPriority(
+      VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT globalPriority_)
+      VULKAN_HPP_NOEXCEPT {
+    globalPriority = globalPriority_;
+    return *this;
+  }
+
+  operator VkDeviceQueueGlobalPriorityCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT *>(
+        this);
+  }
+
+  operator VkDeviceQueueGlobalPriorityCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DeviceQueueGlobalPriorityCreateInfoEXT const &) const = default;
+#else
+  bool operator==(DeviceQueueGlobalPriorityCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (globalPriority == rhs.globalPriority);
+  }
+
+  bool operator!=(DeviceQueueGlobalPriorityCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT globalPriority =
+      VULKAN_HPP_NAMESPACE::QueueGlobalPriorityEXT::eLow;
+};
+static_assert(sizeof(DeviceQueueGlobalPriorityCreateInfoEXT) ==
+                  sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DeviceQueueGlobalPriorityCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT> {
+  using Type = DeviceQueueGlobalPriorityCreateInfoEXT;
+};
+
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+struct DirectFBSurfaceCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDirectfbSurfaceCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DirectFBSurfaceCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags_ = {},
+      IDirectFB *dfb_ = {}, IDirectFBSurface *surface_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        dfb(dfb_),
+        surface(surface_) {}
+
+  VULKAN_HPP_CONSTEXPR DirectFBSurfaceCreateInfoEXT(
+      DirectFBSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DirectFBSurfaceCreateInfoEXT(VkDirectFBSurfaceCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DirectFBSurfaceCreateInfoEXT(
+            *reinterpret_cast<DirectFBSurfaceCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT &operator=(
+      DirectFBSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DirectFBSurfaceCreateInfoEXT &
+  operator=(VkDirectFBSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  DirectFBSurfaceCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DirectFBSurfaceCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  DirectFBSurfaceCreateInfoEXT &setDfb(IDirectFB *dfb_) VULKAN_HPP_NOEXCEPT {
+    dfb = dfb_;
+    return *this;
+  }
+
+  DirectFBSurfaceCreateInfoEXT &
+  setSurface(IDirectFBSurface *surface_) VULKAN_HPP_NOEXCEPT {
+    surface = surface_;
+    return *this;
+  }
+
+  operator VkDirectFBSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>(this);
+  }
+
+  operator VkDirectFBSurfaceCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDirectFBSurfaceCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DirectFBSurfaceCreateInfoEXT const &) const = default;
+#else
+  bool operator==(DirectFBSurfaceCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (dfb == rhs.dfb) && (surface == rhs.surface);
+  }
+
+  bool operator!=(DirectFBSurfaceCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDirectfbSurfaceCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags = {};
+  IDirectFB *dfb = {};
+  IDirectFBSurface *surface = {};
+};
+static_assert(sizeof(DirectFBSurfaceCreateInfoEXT) ==
+                  sizeof(VkDirectFBSurfaceCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DirectFBSurfaceCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDirectfbSurfaceCreateInfoEXT> {
+  using Type = DirectFBSurfaceCreateInfoEXT;
+};
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+struct DispatchIndirectCommand {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DispatchIndirectCommand(uint32_t x_ = {}, uint32_t y_ = {},
+                          uint32_t z_ = {}) VULKAN_HPP_NOEXCEPT : x(x_),
+                                                                  y(y_),
+                                                                  z(z_) {}
+
+  VULKAN_HPP_CONSTEXPR DispatchIndirectCommand(
+      DispatchIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DispatchIndirectCommand(VkDispatchIndirectCommand const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DispatchIndirectCommand(
+            *reinterpret_cast<DispatchIndirectCommand const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DispatchIndirectCommand &
+  operator=(DispatchIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DispatchIndirectCommand &
+  operator=(VkDispatchIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DispatchIndirectCommand const *>(&rhs);
+    return *this;
+  }
+
+  DispatchIndirectCommand &setX(uint32_t x_) VULKAN_HPP_NOEXCEPT {
+    x = x_;
+    return *this;
+  }
+
+  DispatchIndirectCommand &setY(uint32_t y_) VULKAN_HPP_NOEXCEPT {
+    y = y_;
+    return *this;
+  }
+
+  DispatchIndirectCommand &setZ(uint32_t z_) VULKAN_HPP_NOEXCEPT {
+    z = z_;
+    return *this;
+  }
+
+  operator VkDispatchIndirectCommand const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDispatchIndirectCommand *>(this);
+  }
+
+  operator VkDispatchIndirectCommand &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDispatchIndirectCommand *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DispatchIndirectCommand const &) const = default;
+#else
+  bool
+  operator==(DispatchIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (x == rhs.x) && (y == rhs.y) && (z == rhs.z);
+  }
+
+  bool
+  operator!=(DispatchIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t x = {};
+  uint32_t y = {};
+  uint32_t z = {};
+};
+static_assert(sizeof(DispatchIndirectCommand) ==
+                  sizeof(VkDispatchIndirectCommand),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DispatchIndirectCommand>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DisplayNativeHdrSurfaceCapabilitiesAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayNativeHdrSurfaceCapabilitiesAMD(
+      VULKAN_HPP_NAMESPACE::Bool32 localDimmingSupport_ = {})
+      VULKAN_HPP_NOEXCEPT : localDimmingSupport(localDimmingSupport_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayNativeHdrSurfaceCapabilitiesAMD(
+      DisplayNativeHdrSurfaceCapabilitiesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayNativeHdrSurfaceCapabilitiesAMD(
+      VkDisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : DisplayNativeHdrSurfaceCapabilitiesAMD(
+            *reinterpret_cast<DisplayNativeHdrSurfaceCapabilitiesAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayNativeHdrSurfaceCapabilitiesAMD &
+  operator=(DisplayNativeHdrSurfaceCapabilitiesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayNativeHdrSurfaceCapabilitiesAMD &operator=(
+      VkDisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD const *>(
+        &rhs);
+    return *this;
+  }
+
+  operator VkDisplayNativeHdrSurfaceCapabilitiesAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(
+        this);
+  }
+
+  operator VkDisplayNativeHdrSurfaceCapabilitiesAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(DisplayNativeHdrSurfaceCapabilitiesAMD const &) const = default;
+#else
+  bool operator==(DisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (localDimmingSupport == rhs.localDimmingSupport);
+  }
+
+  bool operator!=(DisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 localDimmingSupport = {};
+};
+static_assert(sizeof(DisplayNativeHdrSurfaceCapabilitiesAMD) ==
+                  sizeof(VkDisplayNativeHdrSurfaceCapabilitiesAMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DisplayNativeHdrSurfaceCapabilitiesAMD>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD> {
+  using Type = DisplayNativeHdrSurfaceCapabilitiesAMD;
+};
+
+struct DisplayPresentInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplayPresentInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR(
+      VULKAN_HPP_NAMESPACE::Rect2D srcRect_ = {},
+      VULKAN_HPP_NAMESPACE::Rect2D dstRect_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 persistent_ = {}) VULKAN_HPP_NOEXCEPT
+      : srcRect(srcRect_),
+        dstRect(dstRect_),
+        persistent(persistent_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR(DisplayPresentInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPresentInfoKHR(VkDisplayPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : DisplayPresentInfoKHR(
+            *reinterpret_cast<DisplayPresentInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR &
+  operator=(DisplayPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplayPresentInfoKHR &
+  operator=(VkDisplayPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  DisplayPresentInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DisplayPresentInfoKHR &
+  setSrcRect(VULKAN_HPP_NAMESPACE::Rect2D const &srcRect_) VULKAN_HPP_NOEXCEPT {
+    srcRect = srcRect_;
+    return *this;
+  }
+
+  DisplayPresentInfoKHR &
+  setDstRect(VULKAN_HPP_NAMESPACE::Rect2D const &dstRect_) VULKAN_HPP_NOEXCEPT {
+    dstRect = dstRect_;
+    return *this;
+  }
+
+  DisplayPresentInfoKHR &
+  setPersistent(VULKAN_HPP_NAMESPACE::Bool32 persistent_) VULKAN_HPP_NOEXCEPT {
+    persistent = persistent_;
+    return *this;
+  }
+
+  operator VkDisplayPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplayPresentInfoKHR *>(this);
+  }
+
+  operator VkDisplayPresentInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplayPresentInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplayPresentInfoKHR const &) const = default;
+#else
+  bool operator==(DisplayPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcRect == rhs.srcRect) && (dstRect == rhs.dstRect) &&
+           (persistent == rhs.persistent);
+  }
+
+  bool operator!=(DisplayPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplayPresentInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Rect2D srcRect = {};
+  VULKAN_HPP_NAMESPACE::Rect2D dstRect = {};
+  VULKAN_HPP_NAMESPACE::Bool32 persistent = {};
+};
+static_assert(sizeof(DisplayPresentInfoKHR) == sizeof(VkDisplayPresentInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplayPresentInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplayPresentInfoKHR> {
+  using Type = DisplayPresentInfoKHR;
+};
+
+struct DisplaySurfaceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDisplaySurfaceCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DisplaySurfaceCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags_ = {},
+      VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_ = {},
+      uint32_t planeIndex_ = {}, uint32_t planeStackIndex_ = {},
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_ =
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
+      float globalAlpha_ = {},
+      VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode_ =
+          VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR::eOpaque,
+      VULKAN_HPP_NAMESPACE::Extent2D imageExtent_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        displayMode(displayMode_),
+        planeIndex(planeIndex_),
+        planeStackIndex(planeStackIndex_),
+        transform(transform_),
+        globalAlpha(globalAlpha_),
+        alphaMode(alphaMode_),
+        imageExtent(imageExtent_) {}
+
+  VULKAN_HPP_CONSTEXPR DisplaySurfaceCreateInfoKHR(
+      DisplaySurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplaySurfaceCreateInfoKHR(VkDisplaySurfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DisplaySurfaceCreateInfoKHR(
+            *reinterpret_cast<DisplaySurfaceCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR &operator=(
+      DisplaySurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DisplaySurfaceCreateInfoKHR &
+  operator=(VkDisplaySurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &setDisplayMode(
+      VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_) VULKAN_HPP_NOEXCEPT {
+    displayMode = displayMode_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &
+  setPlaneIndex(uint32_t planeIndex_) VULKAN_HPP_NOEXCEPT {
+    planeIndex = planeIndex_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &
+  setPlaneStackIndex(uint32_t planeStackIndex_) VULKAN_HPP_NOEXCEPT {
+    planeStackIndex = planeStackIndex_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &
+  setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_)
+      VULKAN_HPP_NOEXCEPT {
+    transform = transform_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &
+  setGlobalAlpha(float globalAlpha_) VULKAN_HPP_NOEXCEPT {
+    globalAlpha = globalAlpha_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &
+  setAlphaMode(VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode_)
+      VULKAN_HPP_NOEXCEPT {
+    alphaMode = alphaMode_;
+    return *this;
+  }
+
+  DisplaySurfaceCreateInfoKHR &setImageExtent(
+      VULKAN_HPP_NAMESPACE::Extent2D const &imageExtent_) VULKAN_HPP_NOEXCEPT {
+    imageExtent = imageExtent_;
+    return *this;
+  }
+
+  operator VkDisplaySurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>(this);
+  }
+
+  operator VkDisplaySurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDisplaySurfaceCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DisplaySurfaceCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(DisplaySurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (displayMode == rhs.displayMode) &&
+           (planeIndex == rhs.planeIndex) &&
+           (planeStackIndex == rhs.planeStackIndex) &&
+           (transform == rhs.transform) && (globalAlpha == rhs.globalAlpha) &&
+           (alphaMode == rhs.alphaMode) && (imageExtent == rhs.imageExtent);
+  }
+
+  bool
+  operator!=(DisplaySurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDisplaySurfaceCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags = {};
+  VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode = {};
+  uint32_t planeIndex = {};
+  uint32_t planeStackIndex = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform =
+      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
+  float globalAlpha = {};
+  VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode =
+      VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR::eOpaque;
+  VULKAN_HPP_NAMESPACE::Extent2D imageExtent = {};
+};
+static_assert(sizeof(DisplaySurfaceCreateInfoKHR) ==
+                  sizeof(VkDisplaySurfaceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DisplaySurfaceCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eDisplaySurfaceCreateInfoKHR> {
+  using Type = DisplaySurfaceCreateInfoKHR;
+};
+
+struct DrawIndexedIndirectCommand {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DrawIndexedIndirectCommand(
+      uint32_t indexCount_ = {}, uint32_t instanceCount_ = {},
+      uint32_t firstIndex_ = {}, int32_t vertexOffset_ = {},
+      uint32_t firstInstance_ = {}) VULKAN_HPP_NOEXCEPT
+      : indexCount(indexCount_),
+        instanceCount(instanceCount_),
+        firstIndex(firstIndex_),
+        vertexOffset(vertexOffset_),
+        firstInstance(firstInstance_) {}
+
+  VULKAN_HPP_CONSTEXPR DrawIndexedIndirectCommand(
+      DrawIndexedIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DrawIndexedIndirectCommand(VkDrawIndexedIndirectCommand const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DrawIndexedIndirectCommand(
+            *reinterpret_cast<DrawIndexedIndirectCommand const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand &operator=(
+      DrawIndexedIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DrawIndexedIndirectCommand &
+  operator=(VkDrawIndexedIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand const *>(&rhs);
+    return *this;
+  }
+
+  DrawIndexedIndirectCommand &
+  setIndexCount(uint32_t indexCount_) VULKAN_HPP_NOEXCEPT {
+    indexCount = indexCount_;
+    return *this;
+  }
+
+  DrawIndexedIndirectCommand &
+  setInstanceCount(uint32_t instanceCount_) VULKAN_HPP_NOEXCEPT {
+    instanceCount = instanceCount_;
+    return *this;
+  }
+
+  DrawIndexedIndirectCommand &
+  setFirstIndex(uint32_t firstIndex_) VULKAN_HPP_NOEXCEPT {
+    firstIndex = firstIndex_;
+    return *this;
+  }
+
+  DrawIndexedIndirectCommand &
+  setVertexOffset(int32_t vertexOffset_) VULKAN_HPP_NOEXCEPT {
+    vertexOffset = vertexOffset_;
+    return *this;
+  }
+
+  DrawIndexedIndirectCommand &
+  setFirstInstance(uint32_t firstInstance_) VULKAN_HPP_NOEXCEPT {
+    firstInstance = firstInstance_;
+    return *this;
+  }
+
+  operator VkDrawIndexedIndirectCommand const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDrawIndexedIndirectCommand *>(this);
+  }
+
+  operator VkDrawIndexedIndirectCommand &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDrawIndexedIndirectCommand *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DrawIndexedIndirectCommand const &) const = default;
+#else
+  bool
+  operator==(DrawIndexedIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (indexCount == rhs.indexCount) &&
+           (instanceCount == rhs.instanceCount) &&
+           (firstIndex == rhs.firstIndex) &&
+           (vertexOffset == rhs.vertexOffset) &&
+           (firstInstance == rhs.firstInstance);
+  }
+
+  bool
+  operator!=(DrawIndexedIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t indexCount = {};
+  uint32_t instanceCount = {};
+  uint32_t firstIndex = {};
+  int32_t vertexOffset = {};
+  uint32_t firstInstance = {};
+};
+static_assert(sizeof(DrawIndexedIndirectCommand) ==
+                  sizeof(VkDrawIndexedIndirectCommand),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DrawIndexedIndirectCommand>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DrawIndirectCommand {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DrawIndirectCommand(uint32_t vertexCount_ = {}, uint32_t instanceCount_ = {},
+                      uint32_t firstVertex_ = {},
+                      uint32_t firstInstance_ = {}) VULKAN_HPP_NOEXCEPT
+      : vertexCount(vertexCount_),
+        instanceCount(instanceCount_),
+        firstVertex(firstVertex_),
+        firstInstance(firstInstance_) {}
+
+  VULKAN_HPP_CONSTEXPR DrawIndirectCommand(DrawIndirectCommand const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DrawIndirectCommand(VkDrawIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT
+      : DrawIndirectCommand(
+            *reinterpret_cast<DrawIndirectCommand const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand &
+  operator=(DrawIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DrawIndirectCommand &
+  operator=(VkDrawIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawIndirectCommand const *>(
+            &rhs);
+    return *this;
+  }
+
+  DrawIndirectCommand &
+  setVertexCount(uint32_t vertexCount_) VULKAN_HPP_NOEXCEPT {
+    vertexCount = vertexCount_;
+    return *this;
+  }
+
+  DrawIndirectCommand &
+  setInstanceCount(uint32_t instanceCount_) VULKAN_HPP_NOEXCEPT {
+    instanceCount = instanceCount_;
+    return *this;
+  }
+
+  DrawIndirectCommand &
+  setFirstVertex(uint32_t firstVertex_) VULKAN_HPP_NOEXCEPT {
+    firstVertex = firstVertex_;
+    return *this;
+  }
+
+  DrawIndirectCommand &
+  setFirstInstance(uint32_t firstInstance_) VULKAN_HPP_NOEXCEPT {
+    firstInstance = firstInstance_;
+    return *this;
+  }
+
+  operator VkDrawIndirectCommand const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDrawIndirectCommand *>(this);
+  }
+
+  operator VkDrawIndirectCommand &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDrawIndirectCommand *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DrawIndirectCommand const &) const = default;
+#else
+  bool operator==(DrawIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (vertexCount == rhs.vertexCount) &&
+           (instanceCount == rhs.instanceCount) &&
+           (firstVertex == rhs.firstVertex) &&
+           (firstInstance == rhs.firstInstance);
+  }
+
+  bool operator!=(DrawIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t vertexCount = {};
+  uint32_t instanceCount = {};
+  uint32_t firstVertex = {};
+  uint32_t firstInstance = {};
+};
+static_assert(sizeof(DrawIndirectCommand) == sizeof(VkDrawIndirectCommand),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DrawIndirectCommand>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DrawMeshTasksIndirectCommandNV {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  DrawMeshTasksIndirectCommandNV(uint32_t taskCount_ = {},
+                                 uint32_t firstTask_ = {}) VULKAN_HPP_NOEXCEPT
+      : taskCount(taskCount_),
+        firstTask(firstTask_) {}
+
+  VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandNV(
+      DrawMeshTasksIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DrawMeshTasksIndirectCommandNV(VkDrawMeshTasksIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DrawMeshTasksIndirectCommandNV(
+            *reinterpret_cast<DrawMeshTasksIndirectCommandNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandNV &operator=(
+      DrawMeshTasksIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DrawMeshTasksIndirectCommandNV &
+  operator=(VkDrawMeshTasksIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV const *>(&rhs);
+    return *this;
+  }
+
+  DrawMeshTasksIndirectCommandNV &
+  setTaskCount(uint32_t taskCount_) VULKAN_HPP_NOEXCEPT {
+    taskCount = taskCount_;
+    return *this;
+  }
+
+  DrawMeshTasksIndirectCommandNV &
+  setFirstTask(uint32_t firstTask_) VULKAN_HPP_NOEXCEPT {
+    firstTask = firstTask_;
+    return *this;
+  }
+
+  operator VkDrawMeshTasksIndirectCommandNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDrawMeshTasksIndirectCommandNV *>(this);
+  }
+
+  operator VkDrawMeshTasksIndirectCommandNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDrawMeshTasksIndirectCommandNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DrawMeshTasksIndirectCommandNV const &) const = default;
+#else
+  bool operator==(DrawMeshTasksIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (taskCount == rhs.taskCount) && (firstTask == rhs.firstTask);
+  }
+
+  bool operator!=(DrawMeshTasksIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t taskCount = {};
+  uint32_t firstTask = {};
+};
+static_assert(sizeof(DrawMeshTasksIndirectCommandNV) ==
+                  sizeof(VkDrawMeshTasksIndirectCommandNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DrawMeshTasksIndirectCommandNV>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DrmFormatModifierPropertiesEXT {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT(
+      uint64_t drmFormatModifier_ = {},
+      uint32_t drmFormatModifierPlaneCount_ = {},
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags
+          drmFormatModifierTilingFeatures_ = {}) VULKAN_HPP_NOEXCEPT
+      : drmFormatModifier(drmFormatModifier_),
+        drmFormatModifierPlaneCount(drmFormatModifierPlaneCount_),
+        drmFormatModifierTilingFeatures(drmFormatModifierTilingFeatures_) {}
+
+  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT(
+      DrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DrmFormatModifierPropertiesEXT(VkDrmFormatModifierPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : DrmFormatModifierPropertiesEXT(
+            *reinterpret_cast<DrmFormatModifierPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DrmFormatModifierPropertiesEXT &operator=(
+      DrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  DrmFormatModifierPropertiesEXT &
+  operator=(VkDrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDrmFormatModifierPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDrmFormatModifierPropertiesEXT *>(this);
+  }
+
+  operator VkDrmFormatModifierPropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDrmFormatModifierPropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DrmFormatModifierPropertiesEXT const &) const = default;
+#else
+  bool operator==(DrmFormatModifierPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (drmFormatModifier == rhs.drmFormatModifier) &&
+           (drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount) &&
+           (drmFormatModifierTilingFeatures ==
+            rhs.drmFormatModifierTilingFeatures);
+  }
+
+  bool operator!=(DrmFormatModifierPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint64_t drmFormatModifier = {};
+  uint32_t drmFormatModifierPlaneCount = {};
+  VULKAN_HPP_NAMESPACE::FormatFeatureFlags drmFormatModifierTilingFeatures = {};
+};
+static_assert(sizeof(DrmFormatModifierPropertiesEXT) ==
+                  sizeof(VkDrmFormatModifierPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<DrmFormatModifierPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+struct DrmFormatModifierPropertiesListEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eDrmFormatModifierPropertiesListEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT(
+      uint32_t drmFormatModifierCount_ = {},
+      VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT
+          *pDrmFormatModifierProperties_ = {}) VULKAN_HPP_NOEXCEPT
+      : drmFormatModifierCount(drmFormatModifierCount_),
+        pDrmFormatModifierProperties(pDrmFormatModifierProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT(
+      DrmFormatModifierPropertiesListEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DrmFormatModifierPropertiesListEXT(
+      VkDrmFormatModifierPropertiesListEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : DrmFormatModifierPropertiesListEXT(
+            *reinterpret_cast<DrmFormatModifierPropertiesListEXT const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  DrmFormatModifierPropertiesListEXT(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT> const
+          &drmFormatModifierProperties_)
+      : drmFormatModifierCount(
+            static_cast<uint32_t>(drmFormatModifierProperties_.size())),
+        pDrmFormatModifierProperties(drmFormatModifierProperties_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 DrmFormatModifierPropertiesListEXT &
+  operator=(DrmFormatModifierPropertiesListEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  DrmFormatModifierPropertiesListEXT &operator=(
+      VkDrmFormatModifierPropertiesListEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkDrmFormatModifierPropertiesListEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>(
+        this);
+  }
+
+  operator VkDrmFormatModifierPropertiesListEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkDrmFormatModifierPropertiesListEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DrmFormatModifierPropertiesListEXT const &) const = default;
+#else
+  bool operator==(DrmFormatModifierPropertiesListEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (drmFormatModifierCount == rhs.drmFormatModifierCount) &&
+           (pDrmFormatModifierProperties == rhs.pDrmFormatModifierProperties);
+  }
+
+  bool operator!=(DrmFormatModifierPropertiesListEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eDrmFormatModifierPropertiesListEXT;
+  void *pNext = {};
+  uint32_t drmFormatModifierCount = {};
+  VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT
+      *pDrmFormatModifierProperties = {};
+};
+static_assert(sizeof(DrmFormatModifierPropertiesListEXT) ==
+                  sizeof(VkDrmFormatModifierPropertiesListEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<DrmFormatModifierPropertiesListEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eDrmFormatModifierPropertiesListEXT> {
+  using Type = DrmFormatModifierPropertiesListEXT;
+};
+
+struct ExportFenceCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportFenceCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExportFenceCreateInfo(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : handleTypes(handleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportFenceCreateInfo(ExportFenceCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ExportFenceCreateInfo(VkExportFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : ExportFenceCreateInfo(
+            *reinterpret_cast<ExportFenceCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportFenceCreateInfo &
+  operator=(ExportFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportFenceCreateInfo &
+  operator=(VkExportFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo const *>(
+            &rhs);
+    return *this;
+  }
+
+  ExportFenceCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportFenceCreateInfo &setHandleTypes(
+      VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    handleTypes = handleTypes_;
+    return *this;
+  }
+
+  operator VkExportFenceCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportFenceCreateInfo *>(this);
+  }
+
+  operator VkExportFenceCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportFenceCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportFenceCreateInfo const &) const = default;
+#else
+  bool operator==(ExportFenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleTypes == rhs.handleTypes);
+  }
+
+  bool operator!=(ExportFenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportFenceCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes = {};
+};
+static_assert(sizeof(ExportFenceCreateInfo) == sizeof(VkExportFenceCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportFenceCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExportFenceCreateInfo> {
+  using Type = ExportFenceCreateInfo;
+};
+using ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ExportFenceWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportFenceWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ExportFenceWin32HandleInfoKHR(const SECURITY_ATTRIBUTES *pAttributes_ = {},
+                                DWORD dwAccess_ = {},
+                                LPCWSTR name_ = {}) VULKAN_HPP_NOEXCEPT
+      : pAttributes(pAttributes_),
+        dwAccess(dwAccess_),
+        name(name_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportFenceWin32HandleInfoKHR(
+      ExportFenceWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportFenceWin32HandleInfoKHR(VkExportFenceWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExportFenceWin32HandleInfoKHR(
+            *reinterpret_cast<ExportFenceWin32HandleInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR &operator=(
+      ExportFenceWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportFenceWin32HandleInfoKHR &
+  operator=(VkExportFenceWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  ExportFenceWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportFenceWin32HandleInfoKHR &
+  setPAttributes(const SECURITY_ATTRIBUTES *pAttributes_) VULKAN_HPP_NOEXCEPT {
+    pAttributes = pAttributes_;
+    return *this;
+  }
+
+  ExportFenceWin32HandleInfoKHR &
+  setDwAccess(DWORD dwAccess_) VULKAN_HPP_NOEXCEPT {
+    dwAccess = dwAccess_;
+    return *this;
+  }
+
+  ExportFenceWin32HandleInfoKHR &setName(LPCWSTR name_) VULKAN_HPP_NOEXCEPT {
+    name = name_;
+    return *this;
+  }
+
+  operator VkExportFenceWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkExportFenceWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportFenceWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportFenceWin32HandleInfoKHR const &) const = default;
+#else
+  bool operator==(ExportFenceWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pAttributes == rhs.pAttributes) && (dwAccess == rhs.dwAccess) &&
+           (name == rhs.name);
+  }
+
+  bool operator!=(ExportFenceWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportFenceWin32HandleInfoKHR;
+  const void *pNext = {};
+  const SECURITY_ATTRIBUTES *pAttributes = {};
+  DWORD dwAccess = {};
+  LPCWSTR name = {};
+};
+static_assert(sizeof(ExportFenceWin32HandleInfoKHR) ==
+                  sizeof(VkExportFenceWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportFenceWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExportFenceWin32HandleInfoKHR> {
+  using Type = ExportFenceWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+struct ExportMemoryAllocateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportMemoryAllocateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : handleTypes(handleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo(
+      ExportMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryAllocateInfo(VkExportMemoryAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExportMemoryAllocateInfo(
+            *reinterpret_cast<ExportMemoryAllocateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfo &
+  operator=(ExportMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryAllocateInfo &
+  operator=(VkExportMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ExportMemoryAllocateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportMemoryAllocateInfo &setHandleTypes(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    handleTypes = handleTypes_;
+    return *this;
+  }
+
+  operator VkExportMemoryAllocateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportMemoryAllocateInfo *>(this);
+  }
+
+  operator VkExportMemoryAllocateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportMemoryAllocateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportMemoryAllocateInfo const &) const = default;
+#else
+  bool
+  operator==(ExportMemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleTypes == rhs.handleTypes);
+  }
+
+  bool
+  operator!=(ExportMemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportMemoryAllocateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes = {};
+};
+static_assert(sizeof(ExportMemoryAllocateInfo) ==
+                  sizeof(VkExportMemoryAllocateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportMemoryAllocateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExportMemoryAllocateInfo> {
+  using Type = ExportMemoryAllocateInfo;
+};
+using ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
+
+struct ExportMemoryAllocateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportMemoryAllocateInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : handleTypes(handleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV(
+      ExportMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryAllocateInfoNV(VkExportMemoryAllocateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExportMemoryAllocateInfoNV(
+            *reinterpret_cast<ExportMemoryAllocateInfoNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfoNV &operator=(
+      ExportMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryAllocateInfoNV &
+  operator=(VkExportMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  ExportMemoryAllocateInfoNV &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportMemoryAllocateInfoNV &setHandleTypes(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    handleTypes = handleTypes_;
+    return *this;
+  }
+
+  operator VkExportMemoryAllocateInfoNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportMemoryAllocateInfoNV *>(this);
+  }
+
+  operator VkExportMemoryAllocateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportMemoryAllocateInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportMemoryAllocateInfoNV const &) const = default;
+#else
+  bool
+  operator==(ExportMemoryAllocateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleTypes == rhs.handleTypes);
+  }
+
+  bool
+  operator!=(ExportMemoryAllocateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportMemoryAllocateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes = {};
+};
+static_assert(sizeof(ExportMemoryAllocateInfoNV) ==
+                  sizeof(VkExportMemoryAllocateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportMemoryAllocateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExportMemoryAllocateInfoNV> {
+  using Type = ExportMemoryAllocateInfoNV;
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ExportMemoryWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportMemoryWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ExportMemoryWin32HandleInfoKHR(const SECURITY_ATTRIBUTES *pAttributes_ = {},
+                                 DWORD dwAccess_ = {},
+                                 LPCWSTR name_ = {}) VULKAN_HPP_NOEXCEPT
+      : pAttributes(pAttributes_),
+        dwAccess(dwAccess_),
+        name(name_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoKHR(
+      ExportMemoryWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryWin32HandleInfoKHR(VkExportMemoryWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExportMemoryWin32HandleInfoKHR(
+            *reinterpret_cast<ExportMemoryWin32HandleInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR &operator=(
+      ExportMemoryWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryWin32HandleInfoKHR &
+  operator=(VkExportMemoryWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  ExportMemoryWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportMemoryWin32HandleInfoKHR &
+  setPAttributes(const SECURITY_ATTRIBUTES *pAttributes_) VULKAN_HPP_NOEXCEPT {
+    pAttributes = pAttributes_;
+    return *this;
+  }
+
+  ExportMemoryWin32HandleInfoKHR &
+  setDwAccess(DWORD dwAccess_) VULKAN_HPP_NOEXCEPT {
+    dwAccess = dwAccess_;
+    return *this;
+  }
+
+  ExportMemoryWin32HandleInfoKHR &setName(LPCWSTR name_) VULKAN_HPP_NOEXCEPT {
+    name = name_;
+    return *this;
+  }
+
+  operator VkExportMemoryWin32HandleInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkExportMemoryWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportMemoryWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportMemoryWin32HandleInfoKHR const &) const = default;
+#else
+  bool operator==(ExportMemoryWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pAttributes == rhs.pAttributes) && (dwAccess == rhs.dwAccess) &&
+           (name == rhs.name);
+  }
+
+  bool operator!=(ExportMemoryWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportMemoryWin32HandleInfoKHR;
+  const void *pNext = {};
+  const SECURITY_ATTRIBUTES *pAttributes = {};
+  DWORD dwAccess = {};
+  LPCWSTR name = {};
+};
+static_assert(sizeof(ExportMemoryWin32HandleInfoKHR) ==
+                  sizeof(VkExportMemoryWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportMemoryWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoKHR> {
+  using Type = ExportMemoryWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ExportMemoryWin32HandleInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportMemoryWin32HandleInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ExportMemoryWin32HandleInfoNV(const SECURITY_ATTRIBUTES *pAttributes_ = {},
+                                DWORD dwAccess_ = {}) VULKAN_HPP_NOEXCEPT
+      : pAttributes(pAttributes_),
+        dwAccess(dwAccess_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoNV(
+      ExportMemoryWin32HandleInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryWin32HandleInfoNV(VkExportMemoryWin32HandleInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExportMemoryWin32HandleInfoNV(
+            *reinterpret_cast<ExportMemoryWin32HandleInfoNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoNV &operator=(
+      ExportMemoryWin32HandleInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportMemoryWin32HandleInfoNV &
+  operator=(VkExportMemoryWin32HandleInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  ExportMemoryWin32HandleInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportMemoryWin32HandleInfoNV &
+  setPAttributes(const SECURITY_ATTRIBUTES *pAttributes_) VULKAN_HPP_NOEXCEPT {
+    pAttributes = pAttributes_;
+    return *this;
+  }
+
+  ExportMemoryWin32HandleInfoNV &
+  setDwAccess(DWORD dwAccess_) VULKAN_HPP_NOEXCEPT {
+    dwAccess = dwAccess_;
+    return *this;
+  }
+
+  operator VkExportMemoryWin32HandleInfoNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>(this);
+  }
+
+  operator VkExportMemoryWin32HandleInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportMemoryWin32HandleInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportMemoryWin32HandleInfoNV const &) const = default;
+#else
+  bool operator==(ExportMemoryWin32HandleInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pAttributes == rhs.pAttributes) && (dwAccess == rhs.dwAccess);
+  }
+
+  bool operator!=(ExportMemoryWin32HandleInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportMemoryWin32HandleInfoNV;
+  const void *pNext = {};
+  const SECURITY_ATTRIBUTES *pAttributes = {};
+  DWORD dwAccess = {};
+};
+static_assert(sizeof(ExportMemoryWin32HandleInfoNV) ==
+                  sizeof(VkExportMemoryWin32HandleInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportMemoryWin32HandleInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoNV> {
+  using Type = ExportMemoryWin32HandleInfoNV;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+struct ExportSemaphoreCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportSemaphoreCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : handleTypes(handleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo(
+      ExportSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportSemaphoreCreateInfo(VkExportSemaphoreCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExportSemaphoreCreateInfo(
+            *reinterpret_cast<ExportSemaphoreCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreCreateInfo &
+  operator=(ExportSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExportSemaphoreCreateInfo &
+  operator=(VkExportSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ExportSemaphoreCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportSemaphoreCreateInfo &setHandleTypes(
+      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    handleTypes = handleTypes_;
+    return *this;
+  }
+
+  operator VkExportSemaphoreCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportSemaphoreCreateInfo *>(this);
+  }
+
+  operator VkExportSemaphoreCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportSemaphoreCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportSemaphoreCreateInfo const &) const = default;
+#else
+  bool
+  operator==(ExportSemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleTypes == rhs.handleTypes);
+  }
+
+  bool
+  operator!=(ExportSemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportSemaphoreCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes = {};
+};
+static_assert(sizeof(ExportSemaphoreCreateInfo) ==
+                  sizeof(VkExportSemaphoreCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportSemaphoreCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExportSemaphoreCreateInfo> {
+  using Type = ExportSemaphoreCreateInfo;
+};
+using ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ExportSemaphoreWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExportSemaphoreWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExportSemaphoreWin32HandleInfoKHR(
+      const SECURITY_ATTRIBUTES *pAttributes_ = {}, DWORD dwAccess_ = {},
+      LPCWSTR name_ = {}) VULKAN_HPP_NOEXCEPT : pAttributes(pAttributes_),
+                                                dwAccess(dwAccess_),
+                                                name(name_) {}
+
+  VULKAN_HPP_CONSTEXPR ExportSemaphoreWin32HandleInfoKHR(
+      ExportSemaphoreWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ExportSemaphoreWin32HandleInfoKHR(
+      VkExportSemaphoreWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ExportSemaphoreWin32HandleInfoKHR(
+            *reinterpret_cast<ExportSemaphoreWin32HandleInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR &
+  operator=(ExportSemaphoreWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ExportSemaphoreWin32HandleInfoKHR &operator=(
+      VkExportSemaphoreWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  ExportSemaphoreWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExportSemaphoreWin32HandleInfoKHR &
+  setPAttributes(const SECURITY_ATTRIBUTES *pAttributes_) VULKAN_HPP_NOEXCEPT {
+    pAttributes = pAttributes_;
+    return *this;
+  }
+
+  ExportSemaphoreWin32HandleInfoKHR &
+  setDwAccess(DWORD dwAccess_) VULKAN_HPP_NOEXCEPT {
+    dwAccess = dwAccess_;
+    return *this;
+  }
+
+  ExportSemaphoreWin32HandleInfoKHR &
+  setName(LPCWSTR name_) VULKAN_HPP_NOEXCEPT {
+    name = name_;
+    return *this;
+  }
+
+  operator VkExportSemaphoreWin32HandleInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkExportSemaphoreWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExportSemaphoreWin32HandleInfoKHR const &) const = default;
+#else
+  bool operator==(ExportSemaphoreWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pAttributes == rhs.pAttributes) && (dwAccess == rhs.dwAccess) &&
+           (name == rhs.name);
+  }
+
+  bool operator!=(ExportSemaphoreWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExportSemaphoreWin32HandleInfoKHR;
+  const void *pNext = {};
+  const SECURITY_ATTRIBUTES *pAttributes = {};
+  DWORD dwAccess = {};
+  LPCWSTR name = {};
+};
+static_assert(sizeof(ExportSemaphoreWin32HandleInfoKHR) ==
+                  sizeof(VkExportSemaphoreWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExportSemaphoreWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eExportSemaphoreWin32HandleInfoKHR> {
+  using Type = ExportSemaphoreWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+struct ExternalFormatANDROID {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalFormatANDROID;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ExternalFormatANDROID(uint64_t externalFormat_ = {}) VULKAN_HPP_NOEXCEPT
+      : externalFormat(externalFormat_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalFormatANDROID(ExternalFormatANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalFormatANDROID(VkExternalFormatANDROID const &rhs) VULKAN_HPP_NOEXCEPT
+      : ExternalFormatANDROID(
+            *reinterpret_cast<ExternalFormatANDROID const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalFormatANDROID &
+  operator=(ExternalFormatANDROID const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalFormatANDROID &
+  operator=(VkExternalFormatANDROID const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalFormatANDROID const *>(
+            &rhs);
+    return *this;
+  }
+
+  ExternalFormatANDROID &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExternalFormatANDROID &
+  setExternalFormat(uint64_t externalFormat_) VULKAN_HPP_NOEXCEPT {
+    externalFormat = externalFormat_;
+    return *this;
+  }
+
+  operator VkExternalFormatANDROID const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalFormatANDROID *>(this);
+  }
+
+  operator VkExternalFormatANDROID &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalFormatANDROID *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalFormatANDROID const &) const = default;
+#else
+  bool operator==(ExternalFormatANDROID const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (externalFormat == rhs.externalFormat);
+  }
+
+  bool operator!=(ExternalFormatANDROID const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalFormatANDROID;
+  void *pNext = {};
+  uint64_t externalFormat = {};
+};
+static_assert(sizeof(ExternalFormatANDROID) == sizeof(VkExternalFormatANDROID),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalFormatANDROID>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExternalFormatANDROID> {
+  using Type = ExternalFormatANDROID;
+};
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+struct ExternalImageFormatProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalImageFormatProperties;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : externalMemoryProperties(externalMemoryProperties_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties(
+      ExternalImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalImageFormatProperties(VkExternalImageFormatProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalImageFormatProperties(
+            *reinterpret_cast<ExternalImageFormatProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalImageFormatProperties &operator=(
+      ExternalImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalImageFormatProperties &
+  operator=(VkExternalImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkExternalImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalImageFormatProperties *>(this);
+  }
+
+  operator VkExternalImageFormatProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalImageFormatProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalImageFormatProperties const &) const = default;
+#else
+  bool operator==(ExternalImageFormatProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (externalMemoryProperties == rhs.externalMemoryProperties);
+  }
+
+  bool operator!=(ExternalImageFormatProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalImageFormatProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties = {};
+};
+static_assert(sizeof(ExternalImageFormatProperties) ==
+                  sizeof(VkExternalImageFormatProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalImageFormatProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExternalImageFormatProperties> {
+  using Type = ExternalImageFormatProperties;
+};
+using ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
+
+struct ExternalMemoryBufferCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalMemoryBufferCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : handleTypes(handleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo(
+      ExternalMemoryBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryBufferCreateInfo(VkExternalMemoryBufferCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalMemoryBufferCreateInfo(
+            *reinterpret_cast<ExternalMemoryBufferCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalMemoryBufferCreateInfo &operator=(
+      ExternalMemoryBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryBufferCreateInfo &
+  operator=(VkExternalMemoryBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ExternalMemoryBufferCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExternalMemoryBufferCreateInfo &setHandleTypes(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    handleTypes = handleTypes_;
+    return *this;
+  }
+
+  operator VkExternalMemoryBufferCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>(this);
+  }
+
+  operator VkExternalMemoryBufferCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalMemoryBufferCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalMemoryBufferCreateInfo const &) const = default;
+#else
+  bool operator==(ExternalMemoryBufferCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleTypes == rhs.handleTypes);
+  }
+
+  bool operator!=(ExternalMemoryBufferCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalMemoryBufferCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes = {};
+};
+static_assert(sizeof(ExternalMemoryBufferCreateInfo) ==
+                  sizeof(VkExternalMemoryBufferCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalMemoryBufferCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExternalMemoryBufferCreateInfo> {
+  using Type = ExternalMemoryBufferCreateInfo;
+};
+using ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
+
+struct ExternalMemoryImageCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalMemoryImageCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : handleTypes(handleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo(
+      ExternalMemoryImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryImageCreateInfo(VkExternalMemoryImageCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalMemoryImageCreateInfo(
+            *reinterpret_cast<ExternalMemoryImageCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfo &operator=(
+      ExternalMemoryImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryImageCreateInfo &
+  operator=(VkExternalMemoryImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ExternalMemoryImageCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExternalMemoryImageCreateInfo &setHandleTypes(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    handleTypes = handleTypes_;
+    return *this;
+  }
+
+  operator VkExternalMemoryImageCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalMemoryImageCreateInfo *>(this);
+  }
+
+  operator VkExternalMemoryImageCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalMemoryImageCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalMemoryImageCreateInfo const &) const = default;
+#else
+  bool operator==(ExternalMemoryImageCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleTypes == rhs.handleTypes);
+  }
+
+  bool operator!=(ExternalMemoryImageCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalMemoryImageCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes = {};
+};
+static_assert(sizeof(ExternalMemoryImageCreateInfo) ==
+                  sizeof(VkExternalMemoryImageCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalMemoryImageCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExternalMemoryImageCreateInfo> {
+  using Type = ExternalMemoryImageCreateInfo;
+};
+using ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
+
+struct ExternalMemoryImageCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eExternalMemoryImageCreateInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : handleTypes(handleTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV(
+      ExternalMemoryImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryImageCreateInfoNV(VkExternalMemoryImageCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ExternalMemoryImageCreateInfoNV(
+            *reinterpret_cast<ExternalMemoryImageCreateInfoNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfoNV &operator=(
+      ExternalMemoryImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ExternalMemoryImageCreateInfoNV &
+  operator=(VkExternalMemoryImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  ExternalMemoryImageCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ExternalMemoryImageCreateInfoNV &setHandleTypes(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    handleTypes = handleTypes_;
+    return *this;
+  }
+
+  operator VkExternalMemoryImageCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>(this);
+  }
+
+  operator VkExternalMemoryImageCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkExternalMemoryImageCreateInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ExternalMemoryImageCreateInfoNV const &) const = default;
+#else
+  bool operator==(ExternalMemoryImageCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleTypes == rhs.handleTypes);
+  }
+
+  bool operator!=(ExternalMemoryImageCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eExternalMemoryImageCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes = {};
+};
+static_assert(sizeof(ExternalMemoryImageCreateInfoNV) ==
+                  sizeof(VkExternalMemoryImageCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ExternalMemoryImageCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eExternalMemoryImageCreateInfoNV> {
+  using Type = ExternalMemoryImageCreateInfoNV;
+};
+
+struct FilterCubicImageViewImageFormatPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFilterCubicImageViewImageFormatPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FilterCubicImageViewImageFormatPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 filterCubic_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 filterCubicMinmax_ = {}) VULKAN_HPP_NOEXCEPT
+      : filterCubic(filterCubic_),
+        filterCubicMinmax(filterCubicMinmax_) {}
+
+  VULKAN_HPP_CONSTEXPR FilterCubicImageViewImageFormatPropertiesEXT(
+      FilterCubicImageViewImageFormatPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FilterCubicImageViewImageFormatPropertiesEXT(
+      VkFilterCubicImageViewImageFormatPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : FilterCubicImageViewImageFormatPropertiesEXT(
+            *reinterpret_cast<
+                FilterCubicImageViewImageFormatPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FilterCubicImageViewImageFormatPropertiesEXT &
+  operator=(FilterCubicImageViewImageFormatPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FilterCubicImageViewImageFormatPropertiesEXT &
+  operator=(VkFilterCubicImageViewImageFormatPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT const
+            *>(&rhs);
+    return *this;
+  }
+
+  operator VkFilterCubicImageViewImageFormatPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkFilterCubicImageViewImageFormatPropertiesEXT *>(this);
+  }
+
+  operator VkFilterCubicImageViewImageFormatPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFilterCubicImageViewImageFormatPropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FilterCubicImageViewImageFormatPropertiesEXT const &) const =
+      default;
+#else
+  bool operator==(FilterCubicImageViewImageFormatPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (filterCubic == rhs.filterCubic) &&
+           (filterCubicMinmax == rhs.filterCubicMinmax);
+  }
+
+  bool operator!=(FilterCubicImageViewImageFormatPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eFilterCubicImageViewImageFormatPropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 filterCubic = {};
+  VULKAN_HPP_NAMESPACE::Bool32 filterCubicMinmax = {};
+};
+static_assert(sizeof(FilterCubicImageViewImageFormatPropertiesEXT) ==
+                  sizeof(VkFilterCubicImageViewImageFormatPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  FilterCubicImageViewImageFormatPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eFilterCubicImageViewImageFormatPropertiesEXT> {
+  using Type = FilterCubicImageViewImageFormatPropertiesEXT;
+};
+
+struct FragmentShadingRateAttachmentInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFragmentShadingRateAttachmentInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FragmentShadingRateAttachmentInfoKHR(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2
+          *pFragmentShadingRateAttachment_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : pFragmentShadingRateAttachment(pFragmentShadingRateAttachment_),
+        shadingRateAttachmentTexelSize(shadingRateAttachmentTexelSize_) {}
+
+  VULKAN_HPP_CONSTEXPR FragmentShadingRateAttachmentInfoKHR(
+      FragmentShadingRateAttachmentInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FragmentShadingRateAttachmentInfoKHR(
+      VkFragmentShadingRateAttachmentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : FragmentShadingRateAttachmentInfoKHR(
+            *reinterpret_cast<FragmentShadingRateAttachmentInfoKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FragmentShadingRateAttachmentInfoKHR &
+  operator=(FragmentShadingRateAttachmentInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FragmentShadingRateAttachmentInfoKHR &operator=(
+      VkFragmentShadingRateAttachmentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  FragmentShadingRateAttachmentInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  FragmentShadingRateAttachmentInfoKHR &setPFragmentShadingRateAttachment(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2
+          *pFragmentShadingRateAttachment_) VULKAN_HPP_NOEXCEPT {
+    pFragmentShadingRateAttachment = pFragmentShadingRateAttachment_;
+    return *this;
+  }
+
+  FragmentShadingRateAttachmentInfoKHR &setShadingRateAttachmentTexelSize(
+      VULKAN_HPP_NAMESPACE::Extent2D const &shadingRateAttachmentTexelSize_)
+      VULKAN_HPP_NOEXCEPT {
+    shadingRateAttachmentTexelSize = shadingRateAttachmentTexelSize_;
+    return *this;
+  }
+
+  operator VkFragmentShadingRateAttachmentInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR *>(
+        this);
+  }
+
+  operator VkFragmentShadingRateAttachmentInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFragmentShadingRateAttachmentInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(FragmentShadingRateAttachmentInfoKHR const &) const = default;
+#else
+  bool operator==(FragmentShadingRateAttachmentInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pFragmentShadingRateAttachment ==
+            rhs.pFragmentShadingRateAttachment) &&
+           (shadingRateAttachmentTexelSize ==
+            rhs.shadingRateAttachmentTexelSize);
+  }
+
+  bool operator!=(FragmentShadingRateAttachmentInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eFragmentShadingRateAttachmentInfoKHR;
+  const void *pNext = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentReference2
+      *pFragmentShadingRateAttachment = {};
+  VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize = {};
+};
+static_assert(sizeof(FragmentShadingRateAttachmentInfoKHR) ==
+                  sizeof(VkFragmentShadingRateAttachmentInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<FragmentShadingRateAttachmentInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eFragmentShadingRateAttachmentInfoKHR> {
+  using Type = FragmentShadingRateAttachmentInfoKHR;
+};
+
+struct FramebufferAttachmentImageInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFramebufferAttachmentImageInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FramebufferAttachmentImageInfo(
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ = {},
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ = {}, uint32_t width_ = {},
+      uint32_t height_ = {}, uint32_t layerCount_ = {},
+      uint32_t viewFormatCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Format *pViewFormats_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            usage(usage_),
+                            width(width_),
+                            height(height_),
+                            layerCount(layerCount_),
+                            viewFormatCount(viewFormatCount_),
+                            pViewFormats(pViewFormats_) {}
+
+  VULKAN_HPP_CONSTEXPR FramebufferAttachmentImageInfo(
+      FramebufferAttachmentImageInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferAttachmentImageInfo(VkFramebufferAttachmentImageInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : FramebufferAttachmentImageInfo(
+            *reinterpret_cast<FramebufferAttachmentImageInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  FramebufferAttachmentImageInfo(
+      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_,
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_, uint32_t width_,
+      uint32_t height_, uint32_t layerCount_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Format> const &viewFormats_)
+      : flags(flags_), usage(usage_), width(width_), height(height_),
+        layerCount(layerCount_),
+        viewFormatCount(static_cast<uint32_t>(viewFormats_.size())),
+        pViewFormats(viewFormats_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo &operator=(
+      FramebufferAttachmentImageInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferAttachmentImageInfo &
+  operator=(VkFramebufferAttachmentImageInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo const *>(&rhs);
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &
+  setFlags(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &
+  setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT {
+    usage = usage_;
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &
+  setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT {
+    width = width_;
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &
+  setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT {
+    height = height_;
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &
+  setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT {
+    layerCount = layerCount_;
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &
+  setViewFormatCount(uint32_t viewFormatCount_) VULKAN_HPP_NOEXCEPT {
+    viewFormatCount = viewFormatCount_;
+    return *this;
+  }
+
+  FramebufferAttachmentImageInfo &setPViewFormats(
+      const VULKAN_HPP_NAMESPACE::Format *pViewFormats_) VULKAN_HPP_NOEXCEPT {
+    pViewFormats = pViewFormats_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  FramebufferAttachmentImageInfo &
+  setViewFormats(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::Format> const &viewFormats_)
+      VULKAN_HPP_NOEXCEPT {
+    viewFormatCount = static_cast<uint32_t>(viewFormats_.size());
+    pViewFormats = viewFormats_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkFramebufferAttachmentImageInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFramebufferAttachmentImageInfo *>(this);
+  }
+
+  operator VkFramebufferAttachmentImageInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFramebufferAttachmentImageInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FramebufferAttachmentImageInfo const &) const = default;
+#else
+  bool operator==(FramebufferAttachmentImageInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (usage == rhs.usage) &&
+           (width == rhs.width) && (height == rhs.height) &&
+           (layerCount == rhs.layerCount) &&
+           (viewFormatCount == rhs.viewFormatCount) &&
+           (pViewFormats == rhs.pViewFormats);
+  }
+
+  bool operator!=(FramebufferAttachmentImageInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eFramebufferAttachmentImageInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageCreateFlags flags = {};
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags usage = {};
+  uint32_t width = {};
+  uint32_t height = {};
+  uint32_t layerCount = {};
+  uint32_t viewFormatCount = {};
+  const VULKAN_HPP_NAMESPACE::Format *pViewFormats = {};
+};
+static_assert(sizeof(FramebufferAttachmentImageInfo) ==
+                  sizeof(VkFramebufferAttachmentImageInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FramebufferAttachmentImageInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eFramebufferAttachmentImageInfo> {
+  using Type = FramebufferAttachmentImageInfo;
+};
+using FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
+
+struct FramebufferAttachmentsCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eFramebufferAttachmentsCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR FramebufferAttachmentsCreateInfo(
+      uint32_t attachmentImageInfoCount_ = {},
+      const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo
+          *pAttachmentImageInfos_ = {}) VULKAN_HPP_NOEXCEPT
+      : attachmentImageInfoCount(attachmentImageInfoCount_),
+        pAttachmentImageInfos(pAttachmentImageInfos_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  FramebufferAttachmentsCreateInfo(FramebufferAttachmentsCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferAttachmentsCreateInfo(
+      VkFramebufferAttachmentsCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : FramebufferAttachmentsCreateInfo(
+            *reinterpret_cast<FramebufferAttachmentsCreateInfo const *>(&rhs)) {
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  FramebufferAttachmentsCreateInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo> const
+          &attachmentImageInfos_)
+      : attachmentImageInfoCount(
+            static_cast<uint32_t>(attachmentImageInfos_.size())),
+        pAttachmentImageInfos(attachmentImageInfos_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentsCreateInfo &
+  operator=(FramebufferAttachmentsCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  FramebufferAttachmentsCreateInfo &
+  operator=(VkFramebufferAttachmentsCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  FramebufferAttachmentsCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  FramebufferAttachmentsCreateInfo &setAttachmentImageInfoCount(
+      uint32_t attachmentImageInfoCount_) VULKAN_HPP_NOEXCEPT {
+    attachmentImageInfoCount = attachmentImageInfoCount_;
+    return *this;
+  }
+
+  FramebufferAttachmentsCreateInfo &setPAttachmentImageInfos(
+      const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo
+          *pAttachmentImageInfos_) VULKAN_HPP_NOEXCEPT {
+    pAttachmentImageInfos = pAttachmentImageInfos_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  FramebufferAttachmentsCreateInfo &setAttachmentImageInfos(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo> const
+          &attachmentImageInfos_) VULKAN_HPP_NOEXCEPT {
+    attachmentImageInfoCount =
+        static_cast<uint32_t>(attachmentImageInfos_.size());
+    pAttachmentImageInfos = attachmentImageInfos_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkFramebufferAttachmentsCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkFramebufferAttachmentsCreateInfo *>(this);
+  }
+
+  operator VkFramebufferAttachmentsCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkFramebufferAttachmentsCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(FramebufferAttachmentsCreateInfo const &) const = default;
+#else
+  bool operator==(FramebufferAttachmentsCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (attachmentImageInfoCount == rhs.attachmentImageInfoCount) &&
+           (pAttachmentImageInfos == rhs.pAttachmentImageInfos);
+  }
+
+  bool operator!=(FramebufferAttachmentsCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eFramebufferAttachmentsCreateInfo;
+  const void *pNext = {};
+  uint32_t attachmentImageInfoCount = {};
+  const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo
+      *pAttachmentImageInfos = {};
+};
+static_assert(sizeof(FramebufferAttachmentsCreateInfo) ==
+                  sizeof(VkFramebufferAttachmentsCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<FramebufferAttachmentsCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eFramebufferAttachmentsCreateInfo> {
+  using Type = FramebufferAttachmentsCreateInfo;
+};
+using FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
+
+struct GraphicsShaderGroupCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGraphicsShaderGroupCreateInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR GraphicsShaderGroupCreateInfoNV(
+      uint32_t stageCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+          *pVertexInputState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+          *pTessellationState_ = {}) VULKAN_HPP_NOEXCEPT
+      : stageCount(stageCount_),
+        pStages(pStages_),
+        pVertexInputState(pVertexInputState_),
+        pTessellationState(pTessellationState_) {}
+
+  VULKAN_HPP_CONSTEXPR GraphicsShaderGroupCreateInfoNV(
+      GraphicsShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  GraphicsShaderGroupCreateInfoNV(VkGraphicsShaderGroupCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : GraphicsShaderGroupCreateInfoNV(
+            *reinterpret_cast<GraphicsShaderGroupCreateInfoNV const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GraphicsShaderGroupCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+          &stages_,
+      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+          *pVertexInputState_ = {},
+      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+          *pTessellationState_ = {})
+      : stageCount(static_cast<uint32_t>(stages_.size())),
+        pStages(stages_.data()), pVertexInputState(pVertexInputState_),
+        pTessellationState(pTessellationState_) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 GraphicsShaderGroupCreateInfoNV &operator=(
+      GraphicsShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  GraphicsShaderGroupCreateInfoNV &
+  operator=(VkGraphicsShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  GraphicsShaderGroupCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  GraphicsShaderGroupCreateInfoNV &
+  setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT {
+    stageCount = stageCount_;
+    return *this;
+  }
+
+  GraphicsShaderGroupCreateInfoNV &setPStages(
+      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_)
+      VULKAN_HPP_NOEXCEPT {
+    pStages = pStages_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GraphicsShaderGroupCreateInfoNV &
+  setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+            const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const
+                &stages_) VULKAN_HPP_NOEXCEPT {
+    stageCount = static_cast<uint32_t>(stages_.size());
+    pStages = stages_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  GraphicsShaderGroupCreateInfoNV &setPVertexInputState(
+      const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+          *pVertexInputState_) VULKAN_HPP_NOEXCEPT {
+    pVertexInputState = pVertexInputState_;
+    return *this;
+  }
+
+  GraphicsShaderGroupCreateInfoNV &setPTessellationState(
+      const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+          *pTessellationState_) VULKAN_HPP_NOEXCEPT {
+    pTessellationState = pTessellationState_;
+    return *this;
+  }
+
+  operator VkGraphicsShaderGroupCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkGraphicsShaderGroupCreateInfoNV *>(this);
+  }
+
+  operator VkGraphicsShaderGroupCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGraphicsShaderGroupCreateInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(GraphicsShaderGroupCreateInfoNV const &) const = default;
+#else
+  bool operator==(GraphicsShaderGroupCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (stageCount == rhs.stageCount) && (pStages == rhs.pStages) &&
+           (pVertexInputState == rhs.pVertexInputState) &&
+           (pTessellationState == rhs.pTessellationState);
+  }
+
+  bool operator!=(GraphicsShaderGroupCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eGraphicsShaderGroupCreateInfoNV;
+  const void *pNext = {};
+  uint32_t stageCount = {};
+  const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages = {};
+  const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo
+      *pVertexInputState = {};
+  const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo
+      *pTessellationState = {};
+};
+static_assert(sizeof(GraphicsShaderGroupCreateInfoNV) ==
+                  sizeof(VkGraphicsShaderGroupCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<GraphicsShaderGroupCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eGraphicsShaderGroupCreateInfoNV> {
+  using Type = GraphicsShaderGroupCreateInfoNV;
+};
+
+struct GraphicsPipelineShaderGroupsCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR GraphicsPipelineShaderGroupsCreateInfoNV(
+      uint32_t groupCount_ = {},
+      const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV *pGroups_ =
+          {},
+      uint32_t pipelineCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Pipeline *pPipelines_ = {})
+      VULKAN_HPP_NOEXCEPT : groupCount(groupCount_),
+                            pGroups(pGroups_),
+                            pipelineCount(pipelineCount_),
+                            pPipelines(pPipelines_) {}
+
+  VULKAN_HPP_CONSTEXPR GraphicsPipelineShaderGroupsCreateInfoNV(
+      GraphicsPipelineShaderGroupsCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  GraphicsPipelineShaderGroupsCreateInfoNV(
+      VkGraphicsPipelineShaderGroupsCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : GraphicsPipelineShaderGroupsCreateInfoNV(
+            *reinterpret_cast<GraphicsPipelineShaderGroupsCreateInfoNV const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GraphicsPipelineShaderGroupsCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV> const
+          &groups_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Pipeline> const &pipelines_ = {})
+      : groupCount(static_cast<uint32_t>(groups_.size())),
+        pGroups(groups_.data()),
+        pipelineCount(static_cast<uint32_t>(pipelines_.size())),
+        pPipelines(pipelines_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineShaderGroupsCreateInfoNV &
+  operator=(GraphicsPipelineShaderGroupsCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  GraphicsPipelineShaderGroupsCreateInfoNV &
+  operator=(VkGraphicsPipelineShaderGroupsCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  GraphicsPipelineShaderGroupsCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  GraphicsPipelineShaderGroupsCreateInfoNV &
+  setGroupCount(uint32_t groupCount_) VULKAN_HPP_NOEXCEPT {
+    groupCount = groupCount_;
+    return *this;
+  }
+
+  GraphicsPipelineShaderGroupsCreateInfoNV &setPGroups(
+      const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV *pGroups_)
+      VULKAN_HPP_NOEXCEPT {
+    pGroups = pGroups_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GraphicsPipelineShaderGroupsCreateInfoNV &
+  setGroups(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+            const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV> const
+                &groups_) VULKAN_HPP_NOEXCEPT {
+    groupCount = static_cast<uint32_t>(groups_.size());
+    pGroups = groups_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  GraphicsPipelineShaderGroupsCreateInfoNV &
+  setPipelineCount(uint32_t pipelineCount_) VULKAN_HPP_NOEXCEPT {
+    pipelineCount = pipelineCount_;
+    return *this;
+  }
+
+  GraphicsPipelineShaderGroupsCreateInfoNV &setPPipelines(
+      const VULKAN_HPP_NAMESPACE::Pipeline *pPipelines_) VULKAN_HPP_NOEXCEPT {
+    pPipelines = pPipelines_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  GraphicsPipelineShaderGroupsCreateInfoNV &
+  setPipelines(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+               const VULKAN_HPP_NAMESPACE::Pipeline> const &pipelines_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineCount = static_cast<uint32_t>(pipelines_.size());
+    pPipelines = pipelines_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkGraphicsPipelineShaderGroupsCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkGraphicsPipelineShaderGroupsCreateInfoNV *>(this);
+  }
+
+  operator VkGraphicsPipelineShaderGroupsCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkGraphicsPipelineShaderGroupsCreateInfoNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(GraphicsPipelineShaderGroupsCreateInfoNV const &) const = default;
+#else
+  bool operator==(GraphicsPipelineShaderGroupsCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (groupCount == rhs.groupCount) && (pGroups == rhs.pGroups) &&
+           (pipelineCount == rhs.pipelineCount) &&
+           (pPipelines == rhs.pPipelines);
+  }
+
+  bool operator!=(GraphicsPipelineShaderGroupsCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV;
+  const void *pNext = {};
+  uint32_t groupCount = {};
+  const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV *pGroups = {};
+  uint32_t pipelineCount = {};
+  const VULKAN_HPP_NAMESPACE::Pipeline *pPipelines = {};
+};
+static_assert(sizeof(GraphicsPipelineShaderGroupsCreateInfoNV) ==
+                  sizeof(VkGraphicsPipelineShaderGroupsCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<GraphicsPipelineShaderGroupsCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV> {
+  using Type = GraphicsPipelineShaderGroupsCreateInfoNV;
+};
+
+struct HeadlessSurfaceCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eHeadlessSurfaceCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR HeadlessSurfaceCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_) {}
+
+  VULKAN_HPP_CONSTEXPR HeadlessSurfaceCreateInfoEXT(
+      HeadlessSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  HeadlessSurfaceCreateInfoEXT(VkHeadlessSurfaceCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : HeadlessSurfaceCreateInfoEXT(
+            *reinterpret_cast<HeadlessSurfaceCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 HeadlessSurfaceCreateInfoEXT &operator=(
+      HeadlessSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  HeadlessSurfaceCreateInfoEXT &
+  operator=(VkHeadlessSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  HeadlessSurfaceCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  HeadlessSurfaceCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  operator VkHeadlessSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>(this);
+  }
+
+  operator VkHeadlessSurfaceCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkHeadlessSurfaceCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(HeadlessSurfaceCreateInfoEXT const &) const = default;
+#else
+  bool operator==(HeadlessSurfaceCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (flags == rhs.flags);
+  }
+
+  bool operator!=(HeadlessSurfaceCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eHeadlessSurfaceCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags = {};
+};
+static_assert(sizeof(HeadlessSurfaceCreateInfoEXT) ==
+                  sizeof(VkHeadlessSurfaceCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<HeadlessSurfaceCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eHeadlessSurfaceCreateInfoEXT> {
+  using Type = HeadlessSurfaceCreateInfoEXT;
+};
+
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+struct IOSSurfaceCreateInfoMVK {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eIosSurfaceCreateInfoMVK;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR IOSSurfaceCreateInfoMVK(
+      VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags_ = {},
+      const void *pView_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                     pView(pView_) {}
+
+  VULKAN_HPP_CONSTEXPR IOSSurfaceCreateInfoMVK(
+      IOSSurfaceCreateInfoMVK const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  IOSSurfaceCreateInfoMVK(VkIOSSurfaceCreateInfoMVK const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : IOSSurfaceCreateInfoMVK(
+            *reinterpret_cast<IOSSurfaceCreateInfoMVK const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 IOSSurfaceCreateInfoMVK &
+  operator=(IOSSurfaceCreateInfoMVK const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  IOSSurfaceCreateInfoMVK &
+  operator=(VkIOSSurfaceCreateInfoMVK const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const *>(&rhs);
+    return *this;
+  }
+
+  IOSSurfaceCreateInfoMVK &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  IOSSurfaceCreateInfoMVK &
+  setFlags(VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  IOSSurfaceCreateInfoMVK &setPView(const void *pView_) VULKAN_HPP_NOEXCEPT {
+    pView = pView_;
+    return *this;
+  }
+
+  operator VkIOSSurfaceCreateInfoMVK const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>(this);
+  }
+
+  operator VkIOSSurfaceCreateInfoMVK &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkIOSSurfaceCreateInfoMVK *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(IOSSurfaceCreateInfoMVK const &) const = default;
+#else
+  bool
+  operator==(IOSSurfaceCreateInfoMVK const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pView == rhs.pView);
+  }
+
+  bool
+  operator!=(IOSSurfaceCreateInfoMVK const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eIosSurfaceCreateInfoMVK;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags = {};
+  const void *pView = {};
+};
+static_assert(sizeof(IOSSurfaceCreateInfoMVK) ==
+                  sizeof(VkIOSSurfaceCreateInfoMVK),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<IOSSurfaceCreateInfoMVK>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eIosSurfaceCreateInfoMVK> {
+  using Type = IOSSurfaceCreateInfoMVK;
+};
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+
+struct ImageDrmFormatModifierExplicitCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierExplicitCreateInfoEXT(
+      uint64_t drmFormatModifier_ = {},
+      uint32_t drmFormatModifierPlaneCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SubresourceLayout *pPlaneLayouts_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : drmFormatModifier(drmFormatModifier_),
+        drmFormatModifierPlaneCount(drmFormatModifierPlaneCount_),
+        pPlaneLayouts(pPlaneLayouts_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierExplicitCreateInfoEXT(
+      ImageDrmFormatModifierExplicitCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageDrmFormatModifierExplicitCreateInfoEXT(
+      VkImageDrmFormatModifierExplicitCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageDrmFormatModifierExplicitCreateInfoEXT(
+            *reinterpret_cast<
+                ImageDrmFormatModifierExplicitCreateInfoEXT const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageDrmFormatModifierExplicitCreateInfoEXT(
+      uint64_t drmFormatModifier_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubresourceLayout> const &planeLayouts_)
+      : drmFormatModifier(drmFormatModifier_),
+        drmFormatModifierPlaneCount(
+            static_cast<uint32_t>(planeLayouts_.size())),
+        pPlaneLayouts(planeLayouts_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierExplicitCreateInfoEXT &
+  operator=(ImageDrmFormatModifierExplicitCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageDrmFormatModifierExplicitCreateInfoEXT &
+  operator=(VkImageDrmFormatModifierExplicitCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
+
+  ImageDrmFormatModifierExplicitCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageDrmFormatModifierExplicitCreateInfoEXT &
+  setDrmFormatModifier(uint64_t drmFormatModifier_) VULKAN_HPP_NOEXCEPT {
+    drmFormatModifier = drmFormatModifier_;
+    return *this;
+  }
+
+  ImageDrmFormatModifierExplicitCreateInfoEXT &setDrmFormatModifierPlaneCount(
+      uint32_t drmFormatModifierPlaneCount_) VULKAN_HPP_NOEXCEPT {
+    drmFormatModifierPlaneCount = drmFormatModifierPlaneCount_;
+    return *this;
+  }
+
+  ImageDrmFormatModifierExplicitCreateInfoEXT &setPPlaneLayouts(
+      const VULKAN_HPP_NAMESPACE::SubresourceLayout *pPlaneLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    pPlaneLayouts = pPlaneLayouts_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageDrmFormatModifierExplicitCreateInfoEXT &setPlaneLayouts(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubresourceLayout> const &planeLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    drmFormatModifierPlaneCount = static_cast<uint32_t>(planeLayouts_.size());
+    pPlaneLayouts = planeLayouts_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkImageDrmFormatModifierExplicitCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkImageDrmFormatModifierExplicitCreateInfoEXT *>(this);
+  }
+
+  operator VkImageDrmFormatModifierExplicitCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageDrmFormatModifierExplicitCreateInfoEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageDrmFormatModifierExplicitCreateInfoEXT const &) const =
+      default;
+#else
+  bool operator==(ImageDrmFormatModifierExplicitCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (drmFormatModifier == rhs.drmFormatModifier) &&
+           (drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount) &&
+           (pPlaneLayouts == rhs.pPlaneLayouts);
+  }
+
+  bool operator!=(ImageDrmFormatModifierExplicitCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT;
+  const void *pNext = {};
+  uint64_t drmFormatModifier = {};
+  uint32_t drmFormatModifierPlaneCount = {};
+  const VULKAN_HPP_NAMESPACE::SubresourceLayout *pPlaneLayouts = {};
+};
+static_assert(sizeof(ImageDrmFormatModifierExplicitCreateInfoEXT) ==
+                  sizeof(VkImageDrmFormatModifierExplicitCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImageDrmFormatModifierExplicitCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT> {
+  using Type = ImageDrmFormatModifierExplicitCreateInfoEXT;
+};
+
+struct ImageDrmFormatModifierListCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageDrmFormatModifierListCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierListCreateInfoEXT(
+      uint32_t drmFormatModifierCount_ = {},
+      const uint64_t *pDrmFormatModifiers_ = {}) VULKAN_HPP_NOEXCEPT
+      : drmFormatModifierCount(drmFormatModifierCount_),
+        pDrmFormatModifiers(pDrmFormatModifiers_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierListCreateInfoEXT(
+      ImageDrmFormatModifierListCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageDrmFormatModifierListCreateInfoEXT(
+      VkImageDrmFormatModifierListCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImageDrmFormatModifierListCreateInfoEXT(
+            *reinterpret_cast<ImageDrmFormatModifierListCreateInfoEXT const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageDrmFormatModifierListCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &drmFormatModifiers_)
+      : drmFormatModifierCount(
+            static_cast<uint32_t>(drmFormatModifiers_.size())),
+        pDrmFormatModifiers(drmFormatModifiers_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierListCreateInfoEXT &
+  operator=(ImageDrmFormatModifierListCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImageDrmFormatModifierListCreateInfoEXT &
+  operator=(VkImageDrmFormatModifierListCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  ImageDrmFormatModifierListCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageDrmFormatModifierListCreateInfoEXT &setDrmFormatModifierCount(
+      uint32_t drmFormatModifierCount_) VULKAN_HPP_NOEXCEPT {
+    drmFormatModifierCount = drmFormatModifierCount_;
+    return *this;
+  }
+
+  ImageDrmFormatModifierListCreateInfoEXT &setPDrmFormatModifiers(
+      const uint64_t *pDrmFormatModifiers_) VULKAN_HPP_NOEXCEPT {
+    pDrmFormatModifiers = pDrmFormatModifiers_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageDrmFormatModifierListCreateInfoEXT &setDrmFormatModifiers(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &drmFormatModifiers_) VULKAN_HPP_NOEXCEPT {
+    drmFormatModifierCount = static_cast<uint32_t>(drmFormatModifiers_.size());
+    pDrmFormatModifiers = drmFormatModifiers_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkImageDrmFormatModifierListCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT *>(
+        this);
+  }
+
+  operator VkImageDrmFormatModifierListCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageDrmFormatModifierListCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(ImageDrmFormatModifierListCreateInfoEXT const &) const = default;
+#else
+  bool operator==(ImageDrmFormatModifierListCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (drmFormatModifierCount == rhs.drmFormatModifierCount) &&
+           (pDrmFormatModifiers == rhs.pDrmFormatModifiers);
+  }
+
+  bool operator!=(ImageDrmFormatModifierListCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageDrmFormatModifierListCreateInfoEXT;
+  const void *pNext = {};
+  uint32_t drmFormatModifierCount = {};
+  const uint64_t *pDrmFormatModifiers = {};
+};
+static_assert(sizeof(ImageDrmFormatModifierListCreateInfoEXT) ==
+                  sizeof(VkImageDrmFormatModifierListCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImageDrmFormatModifierListCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImageDrmFormatModifierListCreateInfoEXT> {
+  using Type = ImageDrmFormatModifierListCreateInfoEXT;
+};
+
+struct ImageFormatListCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageFormatListCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageFormatListCreateInfo(
+      uint32_t viewFormatCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Format *pViewFormats_ = {})
+      VULKAN_HPP_NOEXCEPT : viewFormatCount(viewFormatCount_),
+                            pViewFormats(pViewFormats_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageFormatListCreateInfo(
+      ImageFormatListCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatListCreateInfo(VkImageFormatListCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageFormatListCreateInfo(
+            *reinterpret_cast<ImageFormatListCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageFormatListCreateInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Format> const &viewFormats_)
+      : viewFormatCount(static_cast<uint32_t>(viewFormats_.size())),
+        pViewFormats(viewFormats_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageFormatListCreateInfo &
+  operator=(ImageFormatListCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageFormatListCreateInfo &
+  operator=(VkImageFormatListCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ImageFormatListCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageFormatListCreateInfo &
+  setViewFormatCount(uint32_t viewFormatCount_) VULKAN_HPP_NOEXCEPT {
+    viewFormatCount = viewFormatCount_;
+    return *this;
+  }
+
+  ImageFormatListCreateInfo &setPViewFormats(
+      const VULKAN_HPP_NAMESPACE::Format *pViewFormats_) VULKAN_HPP_NOEXCEPT {
+    pViewFormats = pViewFormats_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ImageFormatListCreateInfo &
+  setViewFormats(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::Format> const &viewFormats_)
+      VULKAN_HPP_NOEXCEPT {
+    viewFormatCount = static_cast<uint32_t>(viewFormats_.size());
+    pViewFormats = viewFormats_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkImageFormatListCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageFormatListCreateInfo *>(this);
+  }
+
+  operator VkImageFormatListCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageFormatListCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageFormatListCreateInfo const &) const = default;
+#else
+  bool
+  operator==(ImageFormatListCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (viewFormatCount == rhs.viewFormatCount) &&
+           (pViewFormats == rhs.pViewFormats);
+  }
+
+  bool
+  operator!=(ImageFormatListCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageFormatListCreateInfo;
+  const void *pNext = {};
+  uint32_t viewFormatCount = {};
+  const VULKAN_HPP_NAMESPACE::Format *pViewFormats = {};
+};
+static_assert(sizeof(ImageFormatListCreateInfo) ==
+                  sizeof(VkImageFormatListCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageFormatListCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageFormatListCreateInfo> {
+  using Type = ImageFormatListCreateInfo;
+};
+using ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct ImagePipeSurfaceCreateInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImagepipeSurfaceCreateInfoFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImagePipeSurfaceCreateInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags_ = {},
+      zx_handle_t imagePipeHandle_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        imagePipeHandle(imagePipeHandle_) {}
+
+  VULKAN_HPP_CONSTEXPR ImagePipeSurfaceCreateInfoFUCHSIA(
+      ImagePipeSurfaceCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImagePipeSurfaceCreateInfoFUCHSIA(
+      VkImagePipeSurfaceCreateInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImagePipeSurfaceCreateInfoFUCHSIA(
+            *reinterpret_cast<ImagePipeSurfaceCreateInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImagePipeSurfaceCreateInfoFUCHSIA &
+  operator=(ImagePipeSurfaceCreateInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImagePipeSurfaceCreateInfoFUCHSIA &operator=(
+      VkImagePipeSurfaceCreateInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const *>(&rhs);
+    return *this;
+  }
+
+  ImagePipeSurfaceCreateInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImagePipeSurfaceCreateInfoFUCHSIA &
+  setFlags(VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  ImagePipeSurfaceCreateInfoFUCHSIA &
+  setImagePipeHandle(zx_handle_t imagePipeHandle_) VULKAN_HPP_NOEXCEPT {
+    imagePipeHandle = imagePipeHandle_;
+    return *this;
+  }
+
+  operator VkImagePipeSurfaceCreateInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>(this);
+  }
+
+  operator VkImagePipeSurfaceCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImagePipeSurfaceCreateInfoFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImagePipeSurfaceCreateInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(ImagePipeSurfaceCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (memcmp(&imagePipeHandle, &rhs.imagePipeHandle,
+                   sizeof(zx_handle_t)) == 0);
+  }
+
+  bool operator!=(ImagePipeSurfaceCreateInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImagepipeSurfaceCreateInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags = {};
+  zx_handle_t imagePipeHandle = {};
+};
+static_assert(sizeof(ImagePipeSurfaceCreateInfoFUCHSIA) ==
+                  sizeof(VkImagePipeSurfaceCreateInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImagePipeSurfaceCreateInfoFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImagepipeSurfaceCreateInfoFUCHSIA> {
+  using Type = ImagePipeSurfaceCreateInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct ImagePlaneMemoryRequirementsInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImagePlaneMemoryRequirementsInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImagePlaneMemoryRequirementsInfo(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_ =
+          VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor) VULKAN_HPP_NOEXCEPT
+      : planeAspect(planeAspect_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  ImagePlaneMemoryRequirementsInfo(ImagePlaneMemoryRequirementsInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImagePlaneMemoryRequirementsInfo(
+      VkImagePlaneMemoryRequirementsInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImagePlaneMemoryRequirementsInfo(
+            *reinterpret_cast<ImagePlaneMemoryRequirementsInfo const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImagePlaneMemoryRequirementsInfo &
+  operator=(ImagePlaneMemoryRequirementsInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImagePlaneMemoryRequirementsInfo &
+  operator=(VkImagePlaneMemoryRequirementsInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo const *>(&rhs);
+    return *this;
+  }
+
+  ImagePlaneMemoryRequirementsInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImagePlaneMemoryRequirementsInfo &
+  setPlaneAspect(VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_)
+      VULKAN_HPP_NOEXCEPT {
+    planeAspect = planeAspect_;
+    return *this;
+  }
+
+  operator VkImagePlaneMemoryRequirementsInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo *>(this);
+  }
+
+  operator VkImagePlaneMemoryRequirementsInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImagePlaneMemoryRequirementsInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImagePlaneMemoryRequirementsInfo const &) const = default;
+#else
+  bool operator==(ImagePlaneMemoryRequirementsInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (planeAspect == rhs.planeAspect);
+  }
+
+  bool operator!=(ImagePlaneMemoryRequirementsInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImagePlaneMemoryRequirementsInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect =
+      VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor;
+};
+static_assert(sizeof(ImagePlaneMemoryRequirementsInfo) ==
+                  sizeof(VkImagePlaneMemoryRequirementsInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImagePlaneMemoryRequirementsInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImagePlaneMemoryRequirementsInfo> {
+  using Type = ImagePlaneMemoryRequirementsInfo;
+};
+using ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
+
+struct ImageStencilUsageCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageStencilUsageCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageStencilUsageCreateInfo(
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage_ = {})
+      VULKAN_HPP_NOEXCEPT : stencilUsage(stencilUsage_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageStencilUsageCreateInfo(
+      ImageStencilUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageStencilUsageCreateInfo(VkImageStencilUsageCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageStencilUsageCreateInfo(
+            *reinterpret_cast<ImageStencilUsageCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageStencilUsageCreateInfo &operator=(
+      ImageStencilUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageStencilUsageCreateInfo &
+  operator=(VkImageStencilUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ImageStencilUsageCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageStencilUsageCreateInfo &setStencilUsage(
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage_) VULKAN_HPP_NOEXCEPT {
+    stencilUsage = stencilUsage_;
+    return *this;
+  }
+
+  operator VkImageStencilUsageCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageStencilUsageCreateInfo *>(this);
+  }
+
+  operator VkImageStencilUsageCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageStencilUsageCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageStencilUsageCreateInfo const &) const = default;
+#else
+  bool
+  operator==(ImageStencilUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (stencilUsage == rhs.stencilUsage);
+  }
+
+  bool
+  operator!=(ImageStencilUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageStencilUsageCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage = {};
+};
+static_assert(sizeof(ImageStencilUsageCreateInfo) ==
+                  sizeof(VkImageStencilUsageCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageStencilUsageCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageStencilUsageCreateInfo> {
+  using Type = ImageStencilUsageCreateInfo;
+};
+using ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
+
+struct ImageSwapchainCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageSwapchainCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageSwapchainCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {}) VULKAN_HPP_NOEXCEPT
+      : swapchain(swapchain_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageSwapchainCreateInfoKHR(
+      ImageSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageSwapchainCreateInfoKHR(VkImageSwapchainCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageSwapchainCreateInfoKHR(
+            *reinterpret_cast<ImageSwapchainCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageSwapchainCreateInfoKHR &operator=(
+      ImageSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageSwapchainCreateInfoKHR &
+  operator=(VkImageSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  ImageSwapchainCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageSwapchainCreateInfoKHR &setSwapchain(
+      VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_) VULKAN_HPP_NOEXCEPT {
+    swapchain = swapchain_;
+    return *this;
+  }
+
+  operator VkImageSwapchainCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageSwapchainCreateInfoKHR *>(this);
+  }
+
+  operator VkImageSwapchainCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageSwapchainCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageSwapchainCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(ImageSwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (swapchain == rhs.swapchain);
+  }
+
+  bool
+  operator!=(ImageSwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageSwapchainCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain = {};
+};
+static_assert(sizeof(ImageSwapchainCreateInfoKHR) ==
+                  sizeof(VkImageSwapchainCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageSwapchainCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageSwapchainCreateInfoKHR> {
+  using Type = ImageSwapchainCreateInfoKHR;
+};
+
+struct ImageViewASTCDecodeModeEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageViewAstcDecodeModeEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageViewASTCDecodeModeEXT(
+      VULKAN_HPP_NAMESPACE::Format decodeMode_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined) VULKAN_HPP_NOEXCEPT
+      : decodeMode(decodeMode_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageViewASTCDecodeModeEXT(
+      ImageViewASTCDecodeModeEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewASTCDecodeModeEXT(VkImageViewASTCDecodeModeEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageViewASTCDecodeModeEXT(
+            *reinterpret_cast<ImageViewASTCDecodeModeEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageViewASTCDecodeModeEXT &operator=(
+      ImageViewASTCDecodeModeEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewASTCDecodeModeEXT &
+  operator=(VkImageViewASTCDecodeModeEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT const *>(&rhs);
+    return *this;
+  }
+
+  ImageViewASTCDecodeModeEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageViewASTCDecodeModeEXT &
+  setDecodeMode(VULKAN_HPP_NAMESPACE::Format decodeMode_) VULKAN_HPP_NOEXCEPT {
+    decodeMode = decodeMode_;
+    return *this;
+  }
+
+  operator VkImageViewASTCDecodeModeEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageViewASTCDecodeModeEXT *>(this);
+  }
+
+  operator VkImageViewASTCDecodeModeEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageViewASTCDecodeModeEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageViewASTCDecodeModeEXT const &) const = default;
+#else
+  bool
+  operator==(ImageViewASTCDecodeModeEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (decodeMode == rhs.decodeMode);
+  }
+
+  bool
+  operator!=(ImageViewASTCDecodeModeEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageViewAstcDecodeModeEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Format decodeMode =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+};
+static_assert(sizeof(ImageViewASTCDecodeModeEXT) ==
+                  sizeof(VkImageViewASTCDecodeModeEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageViewASTCDecodeModeEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageViewAstcDecodeModeEXT> {
+  using Type = ImageViewASTCDecodeModeEXT;
+};
+
+struct ImageViewUsageCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageViewUsageCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImageViewUsageCreateInfo(
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ = {}) VULKAN_HPP_NOEXCEPT
+      : usage(usage_) {}
+
+  VULKAN_HPP_CONSTEXPR ImageViewUsageCreateInfo(
+      ImageViewUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewUsageCreateInfo(VkImageViewUsageCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImageViewUsageCreateInfo(
+            *reinterpret_cast<ImageViewUsageCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImageViewUsageCreateInfo &
+  operator=(ImageViewUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImageViewUsageCreateInfo &
+  operator=(VkImageViewUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo const *>(&rhs);
+    return *this;
+  }
+
+  ImageViewUsageCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImageViewUsageCreateInfo &
+  setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT {
+    usage = usage_;
+    return *this;
+  }
+
+  operator VkImageViewUsageCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImageViewUsageCreateInfo *>(this);
+  }
+
+  operator VkImageViewUsageCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImageViewUsageCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImageViewUsageCreateInfo const &) const = default;
+#else
+  bool
+  operator==(ImageViewUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) && (usage == rhs.usage);
+  }
+
+  bool
+  operator!=(ImageViewUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImageViewUsageCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags usage = {};
+};
+static_assert(sizeof(ImageViewUsageCreateInfo) ==
+                  sizeof(VkImageViewUsageCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImageViewUsageCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImageViewUsageCreateInfo> {
+  using Type = ImageViewUsageCreateInfo;
+};
+using ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+struct ImportAndroidHardwareBufferInfoANDROID {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportAndroidHardwareBufferInfoANDROID;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportAndroidHardwareBufferInfoANDROID(
+      struct AHardwareBuffer *buffer_ = {}) VULKAN_HPP_NOEXCEPT
+      : buffer(buffer_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportAndroidHardwareBufferInfoANDROID(
+      ImportAndroidHardwareBufferInfoANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportAndroidHardwareBufferInfoANDROID(
+      VkImportAndroidHardwareBufferInfoANDROID const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImportAndroidHardwareBufferInfoANDROID(
+            *reinterpret_cast<ImportAndroidHardwareBufferInfoANDROID const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportAndroidHardwareBufferInfoANDROID &
+  operator=(ImportAndroidHardwareBufferInfoANDROID const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportAndroidHardwareBufferInfoANDROID &operator=(
+      VkImportAndroidHardwareBufferInfoANDROID const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID const *>(
+        &rhs);
+    return *this;
+  }
+
+  ImportAndroidHardwareBufferInfoANDROID &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportAndroidHardwareBufferInfoANDROID &
+  setBuffer(struct AHardwareBuffer *buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  operator VkImportAndroidHardwareBufferInfoANDROID const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID *>(
+        this);
+  }
+
+  operator VkImportAndroidHardwareBufferInfoANDROID &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(ImportAndroidHardwareBufferInfoANDROID const &) const = default;
+#else
+  bool operator==(ImportAndroidHardwareBufferInfoANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (buffer == rhs.buffer);
+  }
+
+  bool operator!=(ImportAndroidHardwareBufferInfoANDROID const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportAndroidHardwareBufferInfoANDROID;
+  const void *pNext = {};
+  struct AHardwareBuffer *buffer = {};
+};
+static_assert(sizeof(ImportAndroidHardwareBufferInfoANDROID) ==
+                  sizeof(VkImportAndroidHardwareBufferInfoANDROID),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImportAndroidHardwareBufferInfoANDROID>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImportAndroidHardwareBufferInfoANDROID> {
+  using Type = ImportAndroidHardwareBufferInfoANDROID;
+};
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct ImportMemoryBufferCollectionFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportMemoryBufferCollectionFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportMemoryBufferCollectionFUCHSIA(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
+      uint32_t index_ = {}) VULKAN_HPP_NOEXCEPT : collection(collection_),
+                                                  index(index_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportMemoryBufferCollectionFUCHSIA(
+      ImportMemoryBufferCollectionFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryBufferCollectionFUCHSIA(
+      VkImportMemoryBufferCollectionFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImportMemoryBufferCollectionFUCHSIA(
+            *reinterpret_cast<ImportMemoryBufferCollectionFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportMemoryBufferCollectionFUCHSIA &
+  operator=(ImportMemoryBufferCollectionFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryBufferCollectionFUCHSIA &operator=(
+      VkImportMemoryBufferCollectionFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA const *>(
+        &rhs);
+    return *this;
+  }
+
+  ImportMemoryBufferCollectionFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportMemoryBufferCollectionFUCHSIA &
+  setCollection(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_)
+      VULKAN_HPP_NOEXCEPT {
+    collection = collection_;
+    return *this;
+  }
+
+  ImportMemoryBufferCollectionFUCHSIA &
+  setIndex(uint32_t index_) VULKAN_HPP_NOEXCEPT {
+    index = index_;
+    return *this;
+  }
+
+  operator VkImportMemoryBufferCollectionFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIA *>(
+        this);
+  }
+
+  operator VkImportMemoryBufferCollectionFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportMemoryBufferCollectionFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportMemoryBufferCollectionFUCHSIA const &) const = default;
+#else
+  bool operator==(ImportMemoryBufferCollectionFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (collection == rhs.collection) && (index == rhs.index);
+  }
+
+  bool operator!=(ImportMemoryBufferCollectionFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportMemoryBufferCollectionFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
+  uint32_t index = {};
+};
+static_assert(sizeof(ImportMemoryBufferCollectionFUCHSIA) ==
+                  sizeof(VkImportMemoryBufferCollectionFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImportMemoryBufferCollectionFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImportMemoryBufferCollectionFUCHSIA> {
+  using Type = ImportMemoryBufferCollectionFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct ImportMemoryFdInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportMemoryFdInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportMemoryFdInfoKHR(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
+      int fd_ = {}) VULKAN_HPP_NOEXCEPT : handleType(handleType_),
+                                          fd(fd_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportMemoryFdInfoKHR(ImportMemoryFdInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryFdInfoKHR(VkImportMemoryFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImportMemoryFdInfoKHR(
+            *reinterpret_cast<ImportMemoryFdInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportMemoryFdInfoKHR &
+  operator=(ImportMemoryFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryFdInfoKHR &
+  operator=(VkImportMemoryFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR const *>(
+            &rhs);
+    return *this;
+  }
+
+  ImportMemoryFdInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportMemoryFdInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportMemoryFdInfoKHR &setFd(int fd_) VULKAN_HPP_NOEXCEPT {
+    fd = fd_;
+    return *this;
+  }
+
+  operator VkImportMemoryFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportMemoryFdInfoKHR *>(this);
+  }
+
+  operator VkImportMemoryFdInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportMemoryFdInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportMemoryFdInfoKHR const &) const = default;
+#else
+  bool operator==(ImportMemoryFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType) && (fd == rhs.fd);
+  }
+
+  bool operator!=(ImportMemoryFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportMemoryFdInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+  int fd = {};
+};
+static_assert(sizeof(ImportMemoryFdInfoKHR) == sizeof(VkImportMemoryFdInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportMemoryFdInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImportMemoryFdInfoKHR> {
+  using Type = ImportMemoryFdInfoKHR;
+};
+
+struct ImportMemoryHostPointerInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportMemoryHostPointerInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportMemoryHostPointerInfoEXT(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
+      void *pHostPointer_ = {}) VULKAN_HPP_NOEXCEPT
+      : handleType(handleType_),
+        pHostPointer(pHostPointer_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportMemoryHostPointerInfoEXT(
+      ImportMemoryHostPointerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryHostPointerInfoEXT(VkImportMemoryHostPointerInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImportMemoryHostPointerInfoEXT(
+            *reinterpret_cast<ImportMemoryHostPointerInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportMemoryHostPointerInfoEXT &operator=(
+      ImportMemoryHostPointerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryHostPointerInfoEXT &
+  operator=(VkImportMemoryHostPointerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  ImportMemoryHostPointerInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportMemoryHostPointerInfoEXT &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportMemoryHostPointerInfoEXT &
+  setPHostPointer(void *pHostPointer_) VULKAN_HPP_NOEXCEPT {
+    pHostPointer = pHostPointer_;
+    return *this;
+  }
+
+  operator VkImportMemoryHostPointerInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportMemoryHostPointerInfoEXT *>(this);
+  }
+
+  operator VkImportMemoryHostPointerInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportMemoryHostPointerInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportMemoryHostPointerInfoEXT const &) const = default;
+#else
+  bool operator==(ImportMemoryHostPointerInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType) && (pHostPointer == rhs.pHostPointer);
+  }
+
+  bool operator!=(ImportMemoryHostPointerInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportMemoryHostPointerInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+  void *pHostPointer = {};
+};
+static_assert(sizeof(ImportMemoryHostPointerInfoEXT) ==
+                  sizeof(VkImportMemoryHostPointerInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportMemoryHostPointerInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImportMemoryHostPointerInfoEXT> {
+  using Type = ImportMemoryHostPointerInfoEXT;
+};
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ImportMemoryWin32HandleInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportMemoryWin32HandleInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoKHR(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
+      HANDLE handle_ = {}, LPCWSTR name_ = {}) VULKAN_HPP_NOEXCEPT
+      : handleType(handleType_),
+        handle(handle_),
+        name(name_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoKHR(
+      ImportMemoryWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryWin32HandleInfoKHR(VkImportMemoryWin32HandleInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImportMemoryWin32HandleInfoKHR(
+            *reinterpret_cast<ImportMemoryWin32HandleInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoKHR &operator=(
+      ImportMemoryWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryWin32HandleInfoKHR &
+  operator=(VkImportMemoryWin32HandleInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  ImportMemoryWin32HandleInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportMemoryWin32HandleInfoKHR &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportMemoryWin32HandleInfoKHR &
+  setHandle(HANDLE handle_) VULKAN_HPP_NOEXCEPT {
+    handle = handle_;
+    return *this;
+  }
+
+  ImportMemoryWin32HandleInfoKHR &setName(LPCWSTR name_) VULKAN_HPP_NOEXCEPT {
+    name = name_;
+    return *this;
+  }
+
+  operator VkImportMemoryWin32HandleInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR *>(this);
+  }
+
+  operator VkImportMemoryWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportMemoryWin32HandleInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportMemoryWin32HandleInfoKHR const &) const = default;
+#else
+  bool operator==(ImportMemoryWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType) && (handle == rhs.handle) &&
+           (name == rhs.name);
+  }
+
+  bool operator!=(ImportMemoryWin32HandleInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportMemoryWin32HandleInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+  HANDLE handle = {};
+  LPCWSTR name = {};
+};
+static_assert(sizeof(ImportMemoryWin32HandleInfoKHR) ==
+                  sizeof(VkImportMemoryWin32HandleInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportMemoryWin32HandleInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImportMemoryWin32HandleInfoKHR> {
+  using Type = ImportMemoryWin32HandleInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct ImportMemoryWin32HandleInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportMemoryWin32HandleInfoNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoNV(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType_ = {},
+      HANDLE handle_ = {}) VULKAN_HPP_NOEXCEPT : handleType(handleType_),
+                                                 handle(handle_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoNV(
+      ImportMemoryWin32HandleInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryWin32HandleInfoNV(VkImportMemoryWin32HandleInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ImportMemoryWin32HandleInfoNV(
+            *reinterpret_cast<ImportMemoryWin32HandleInfoNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoNV &operator=(
+      ImportMemoryWin32HandleInfoNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryWin32HandleInfoNV &
+  operator=(VkImportMemoryWin32HandleInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV const *>(&rhs);
+    return *this;
+  }
+
+  ImportMemoryWin32HandleInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportMemoryWin32HandleInfoNV &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportMemoryWin32HandleInfoNV &setHandle(HANDLE handle_) VULKAN_HPP_NOEXCEPT {
+    handle = handle_;
+    return *this;
+  }
+
+  operator VkImportMemoryWin32HandleInfoNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportMemoryWin32HandleInfoNV *>(this);
+  }
+
+  operator VkImportMemoryWin32HandleInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportMemoryWin32HandleInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportMemoryWin32HandleInfoNV const &) const = default;
+#else
+  bool operator==(ImportMemoryWin32HandleInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType) && (handle == rhs.handle);
+  }
+
+  bool operator!=(ImportMemoryWin32HandleInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportMemoryWin32HandleInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType = {};
+  HANDLE handle = {};
+};
+static_assert(sizeof(ImportMemoryWin32HandleInfoNV) ==
+                  sizeof(VkImportMemoryWin32HandleInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ImportMemoryWin32HandleInfoNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eImportMemoryWin32HandleInfoNV> {
+  using Type = ImportMemoryWin32HandleInfoNV;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct ImportMemoryZirconHandleInfoFUCHSIA {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportMemoryZirconHandleInfoFUCHSIA;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ImportMemoryZirconHandleInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd,
+      zx_handle_t handle_ = {}) VULKAN_HPP_NOEXCEPT : handleType(handleType_),
+                                                      handle(handle_) {}
+
+  VULKAN_HPP_CONSTEXPR ImportMemoryZirconHandleInfoFUCHSIA(
+      ImportMemoryZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryZirconHandleInfoFUCHSIA(
+      VkImportMemoryZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT
+      : ImportMemoryZirconHandleInfoFUCHSIA(
+            *reinterpret_cast<ImportMemoryZirconHandleInfoFUCHSIA const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ImportMemoryZirconHandleInfoFUCHSIA &
+  operator=(ImportMemoryZirconHandleInfoFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ImportMemoryZirconHandleInfoFUCHSIA &operator=(
+      VkImportMemoryZirconHandleInfoFUCHSIA const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA const *>(
+        &rhs);
+    return *this;
+  }
+
+  ImportMemoryZirconHandleInfoFUCHSIA &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ImportMemoryZirconHandleInfoFUCHSIA &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  ImportMemoryZirconHandleInfoFUCHSIA &
+  setHandle(zx_handle_t handle_) VULKAN_HPP_NOEXCEPT {
+    handle = handle_;
+    return *this;
+  }
+
+  operator VkImportMemoryZirconHandleInfoFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA *>(
+        this);
+  }
+
+  operator VkImportMemoryZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkImportMemoryZirconHandleInfoFUCHSIA *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ImportMemoryZirconHandleInfoFUCHSIA const &) const = default;
+#else
+  bool operator==(ImportMemoryZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType) &&
+           (memcmp(&handle, &rhs.handle, sizeof(zx_handle_t)) == 0);
+  }
+
+  bool operator!=(ImportMemoryZirconHandleInfoFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eImportMemoryZirconHandleInfoFUCHSIA;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+  zx_handle_t handle = {};
+};
+static_assert(sizeof(ImportMemoryZirconHandleInfoFUCHSIA) ==
+                  sizeof(VkImportMemoryZirconHandleInfoFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ImportMemoryZirconHandleInfoFUCHSIA>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eImportMemoryZirconHandleInfoFUCHSIA> {
+  using Type = ImportMemoryZirconHandleInfoFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+struct InputAttachmentAspectReference {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR InputAttachmentAspectReference(
+      uint32_t subpass_ = {}, uint32_t inputAttachmentIndex_ = {},
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {})
+      VULKAN_HPP_NOEXCEPT : subpass(subpass_),
+                            inputAttachmentIndex(inputAttachmentIndex_),
+                            aspectMask(aspectMask_) {}
+
+  VULKAN_HPP_CONSTEXPR InputAttachmentAspectReference(
+      InputAttachmentAspectReference const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  InputAttachmentAspectReference(VkInputAttachmentAspectReference const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : InputAttachmentAspectReference(
+            *reinterpret_cast<InputAttachmentAspectReference const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 InputAttachmentAspectReference &operator=(
+      InputAttachmentAspectReference const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  InputAttachmentAspectReference &
+  operator=(VkInputAttachmentAspectReference const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference const *>(&rhs);
+    return *this;
+  }
+
+  InputAttachmentAspectReference &
+  setSubpass(uint32_t subpass_) VULKAN_HPP_NOEXCEPT {
+    subpass = subpass_;
+    return *this;
+  }
+
+  InputAttachmentAspectReference &
+  setInputAttachmentIndex(uint32_t inputAttachmentIndex_) VULKAN_HPP_NOEXCEPT {
+    inputAttachmentIndex = inputAttachmentIndex_;
+    return *this;
+  }
+
+  InputAttachmentAspectReference &setAspectMask(
+      VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT {
+    aspectMask = aspectMask_;
+    return *this;
+  }
+
+  operator VkInputAttachmentAspectReference const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkInputAttachmentAspectReference *>(this);
+  }
+
+  operator VkInputAttachmentAspectReference &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkInputAttachmentAspectReference *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(InputAttachmentAspectReference const &) const = default;
+#else
+  bool operator==(InputAttachmentAspectReference const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (subpass == rhs.subpass) &&
+           (inputAttachmentIndex == rhs.inputAttachmentIndex) &&
+           (aspectMask == rhs.aspectMask);
+  }
+
+  bool operator!=(InputAttachmentAspectReference const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t subpass = {};
+  uint32_t inputAttachmentIndex = {};
+  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask = {};
+};
+static_assert(sizeof(InputAttachmentAspectReference) ==
+                  sizeof(VkInputAttachmentAspectReference),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<InputAttachmentAspectReference>::value,
+              "struct wrapper is not a standard layout!");
+using InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
+
+struct InstanceCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eInstanceCreateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR InstanceCreateInfo(
+      VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_ = {},
+      const VULKAN_HPP_NAMESPACE::ApplicationInfo *pApplicationInfo_ = {},
+      uint32_t enabledLayerCount_ = {},
+      const char *const *ppEnabledLayerNames_ = {},
+      uint32_t enabledExtensionCount_ = {},
+      const char *const *ppEnabledExtensionNames_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        pApplicationInfo(pApplicationInfo_),
+        enabledLayerCount(enabledLayerCount_),
+        ppEnabledLayerNames(ppEnabledLayerNames_),
+        enabledExtensionCount(enabledExtensionCount_),
+        ppEnabledExtensionNames(ppEnabledExtensionNames_) {}
+
+  VULKAN_HPP_CONSTEXPR InstanceCreateInfo(InstanceCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  InstanceCreateInfo(VkInstanceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : InstanceCreateInfo(
+            *reinterpret_cast<InstanceCreateInfo const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  InstanceCreateInfo(
+      VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_,
+      const VULKAN_HPP_NAMESPACE::ApplicationInfo *pApplicationInfo_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledLayerNames_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledExtensionNames_ = {})
+      : flags(flags_), pApplicationInfo(pApplicationInfo_),
+        enabledLayerCount(static_cast<uint32_t>(pEnabledLayerNames_.size())),
+        ppEnabledLayerNames(pEnabledLayerNames_.data()),
+        enabledExtensionCount(
+            static_cast<uint32_t>(pEnabledExtensionNames_.size())),
+        ppEnabledExtensionNames(pEnabledExtensionNames_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo &
+  operator=(InstanceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  InstanceCreateInfo &
+  operator=(VkInstanceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::InstanceCreateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  InstanceCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  InstanceCreateInfo &setFlags(VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  InstanceCreateInfo &setPApplicationInfo(
+      const VULKAN_HPP_NAMESPACE::ApplicationInfo *pApplicationInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    pApplicationInfo = pApplicationInfo_;
+    return *this;
+  }
+
+  InstanceCreateInfo &
+  setEnabledLayerCount(uint32_t enabledLayerCount_) VULKAN_HPP_NOEXCEPT {
+    enabledLayerCount = enabledLayerCount_;
+    return *this;
+  }
+
+  InstanceCreateInfo &setPpEnabledLayerNames(
+      const char *const *ppEnabledLayerNames_) VULKAN_HPP_NOEXCEPT {
+    ppEnabledLayerNames = ppEnabledLayerNames_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  InstanceCreateInfo &setPEnabledLayerNames(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledLayerNames_) VULKAN_HPP_NOEXCEPT {
+    enabledLayerCount = static_cast<uint32_t>(pEnabledLayerNames_.size());
+    ppEnabledLayerNames = pEnabledLayerNames_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  InstanceCreateInfo &setEnabledExtensionCount(uint32_t enabledExtensionCount_)
+      VULKAN_HPP_NOEXCEPT {
+    enabledExtensionCount = enabledExtensionCount_;
+    return *this;
+  }
+
+  InstanceCreateInfo &setPpEnabledExtensionNames(
+      const char *const *ppEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT {
+    ppEnabledExtensionNames = ppEnabledExtensionNames_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  InstanceCreateInfo &setPEnabledExtensionNames(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char *const> const
+          &pEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT {
+    enabledExtensionCount =
+        static_cast<uint32_t>(pEnabledExtensionNames_.size());
+    ppEnabledExtensionNames = pEnabledExtensionNames_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkInstanceCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkInstanceCreateInfo *>(this);
+  }
+
+  operator VkInstanceCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkInstanceCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(InstanceCreateInfo const &) const = default;
+#else
+  bool operator==(InstanceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pApplicationInfo == rhs.pApplicationInfo) &&
+           (enabledLayerCount == rhs.enabledLayerCount) &&
+           (ppEnabledLayerNames == rhs.ppEnabledLayerNames) &&
+           (enabledExtensionCount == rhs.enabledExtensionCount) &&
+           (ppEnabledExtensionNames == rhs.ppEnabledExtensionNames);
+  }
+
+  bool operator!=(InstanceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eInstanceCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags = {};
+  const VULKAN_HPP_NAMESPACE::ApplicationInfo *pApplicationInfo = {};
+  uint32_t enabledLayerCount = {};
+  const char *const *ppEnabledLayerNames = {};
+  uint32_t enabledExtensionCount = {};
+  const char *const *ppEnabledExtensionNames = {};
+};
+static_assert(sizeof(InstanceCreateInfo) == sizeof(VkInstanceCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<InstanceCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::eInstanceCreateInfo> {
+  using Type = InstanceCreateInfo;
+};
+
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+struct MacOSSurfaceCreateInfoMVK {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMacosSurfaceCreateInfoMVK;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MacOSSurfaceCreateInfoMVK(
+      VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags_ = {},
+      const void *pView_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                     pView(pView_) {}
+
+  VULKAN_HPP_CONSTEXPR MacOSSurfaceCreateInfoMVK(
+      MacOSSurfaceCreateInfoMVK const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MacOSSurfaceCreateInfoMVK(VkMacOSSurfaceCreateInfoMVK const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MacOSSurfaceCreateInfoMVK(
+            *reinterpret_cast<MacOSSurfaceCreateInfoMVK const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MacOSSurfaceCreateInfoMVK &
+  operator=(MacOSSurfaceCreateInfoMVK const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MacOSSurfaceCreateInfoMVK &
+  operator=(VkMacOSSurfaceCreateInfoMVK const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const *>(&rhs);
+    return *this;
+  }
+
+  MacOSSurfaceCreateInfoMVK &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MacOSSurfaceCreateInfoMVK &
+  setFlags(VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  MacOSSurfaceCreateInfoMVK &setPView(const void *pView_) VULKAN_HPP_NOEXCEPT {
+    pView = pView_;
+    return *this;
+  }
+
+  operator VkMacOSSurfaceCreateInfoMVK const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>(this);
+  }
+
+  operator VkMacOSSurfaceCreateInfoMVK &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMacOSSurfaceCreateInfoMVK *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MacOSSurfaceCreateInfoMVK const &) const = default;
+#else
+  bool
+  operator==(MacOSSurfaceCreateInfoMVK const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pView == rhs.pView);
+  }
+
+  bool
+  operator!=(MacOSSurfaceCreateInfoMVK const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMacosSurfaceCreateInfoMVK;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags = {};
+  const void *pView = {};
+};
+static_assert(sizeof(MacOSSurfaceCreateInfoMVK) ==
+                  sizeof(VkMacOSSurfaceCreateInfoMVK),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MacOSSurfaceCreateInfoMVK>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMacosSurfaceCreateInfoMVK> {
+  using Type = MacOSSurfaceCreateInfoMVK;
+};
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+
+struct MemoryAllocateFlagsInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryAllocateFlagsInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  MemoryAllocateFlagsInfo(VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags_ = {},
+                          uint32_t deviceMask_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        deviceMask(deviceMask_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryAllocateFlagsInfo(
+      MemoryAllocateFlagsInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryAllocateFlagsInfo(VkMemoryAllocateFlagsInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryAllocateFlagsInfo(
+            *reinterpret_cast<MemoryAllocateFlagsInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryAllocateFlagsInfo &
+  operator=(MemoryAllocateFlagsInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryAllocateFlagsInfo &
+  operator=(VkMemoryAllocateFlagsInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo const *>(&rhs);
+    return *this;
+  }
+
+  MemoryAllocateFlagsInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryAllocateFlagsInfo &setFlags(
+      VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  MemoryAllocateFlagsInfo &
+  setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT {
+    deviceMask = deviceMask_;
+    return *this;
+  }
+
+  operator VkMemoryAllocateFlagsInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryAllocateFlagsInfo *>(this);
+  }
+
+  operator VkMemoryAllocateFlagsInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryAllocateFlagsInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryAllocateFlagsInfo const &) const = default;
+#else
+  bool
+  operator==(MemoryAllocateFlagsInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (deviceMask == rhs.deviceMask);
+  }
+
+  bool
+  operator!=(MemoryAllocateFlagsInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryAllocateFlagsInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags = {};
+  uint32_t deviceMask = {};
+};
+static_assert(sizeof(MemoryAllocateFlagsInfo) ==
+                  sizeof(VkMemoryAllocateFlagsInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryAllocateFlagsInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryAllocateFlagsInfo> {
+  using Type = MemoryAllocateFlagsInfo;
+};
+using MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
+
+struct MemoryDedicatedAllocateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryDedicatedAllocateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryDedicatedAllocateInfo(
+      VULKAN_HPP_NAMESPACE::Image image_ = {},
+      VULKAN_HPP_NAMESPACE::Buffer buffer_ = {}) VULKAN_HPP_NOEXCEPT
+      : image(image_),
+        buffer(buffer_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryDedicatedAllocateInfo(
+      MemoryDedicatedAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryDedicatedAllocateInfo(VkMemoryDedicatedAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryDedicatedAllocateInfo(
+            *reinterpret_cast<MemoryDedicatedAllocateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryDedicatedAllocateInfo &operator=(
+      MemoryDedicatedAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryDedicatedAllocateInfo &
+  operator=(VkMemoryDedicatedAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo const *>(&rhs);
+    return *this;
+  }
+
+  MemoryDedicatedAllocateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryDedicatedAllocateInfo &
+  setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT {
+    image = image_;
+    return *this;
+  }
+
+  MemoryDedicatedAllocateInfo &
+  setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT {
+    buffer = buffer_;
+    return *this;
+  }
+
+  operator VkMemoryDedicatedAllocateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryDedicatedAllocateInfo *>(this);
+  }
+
+  operator VkMemoryDedicatedAllocateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryDedicatedAllocateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryDedicatedAllocateInfo const &) const = default;
+#else
+  bool
+  operator==(MemoryDedicatedAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (image == rhs.image) && (buffer == rhs.buffer);
+  }
+
+  bool
+  operator!=(MemoryDedicatedAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryDedicatedAllocateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Image image = {};
+  VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+};
+static_assert(sizeof(MemoryDedicatedAllocateInfo) ==
+                  sizeof(VkMemoryDedicatedAllocateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryDedicatedAllocateInfo>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryDedicatedAllocateInfo> {
+  using Type = MemoryDedicatedAllocateInfo;
+};
+using MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
+
+struct MemoryDedicatedRequirements {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryDedicatedRequirements;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryDedicatedRequirements(
+      VULKAN_HPP_NAMESPACE::Bool32 prefersDedicatedAllocation_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 requiresDedicatedAllocation_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : prefersDedicatedAllocation(prefersDedicatedAllocation_),
+        requiresDedicatedAllocation(requiresDedicatedAllocation_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryDedicatedRequirements(
+      MemoryDedicatedRequirements const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryDedicatedRequirements(VkMemoryDedicatedRequirements const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryDedicatedRequirements(
+            *reinterpret_cast<MemoryDedicatedRequirements const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryDedicatedRequirements &operator=(
+      MemoryDedicatedRequirements const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryDedicatedRequirements &
+  operator=(VkMemoryDedicatedRequirements const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements const *>(&rhs);
+    return *this;
+  }
+
+  operator VkMemoryDedicatedRequirements const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryDedicatedRequirements *>(this);
+  }
+
+  operator VkMemoryDedicatedRequirements &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryDedicatedRequirements *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryDedicatedRequirements const &) const = default;
+#else
+  bool
+  operator==(MemoryDedicatedRequirements const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (prefersDedicatedAllocation == rhs.prefersDedicatedAllocation) &&
+           (requiresDedicatedAllocation == rhs.requiresDedicatedAllocation);
+  }
+
+  bool
+  operator!=(MemoryDedicatedRequirements const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryDedicatedRequirements;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 prefersDedicatedAllocation = {};
+  VULKAN_HPP_NAMESPACE::Bool32 requiresDedicatedAllocation = {};
+};
+static_assert(sizeof(MemoryDedicatedRequirements) ==
+                  sizeof(VkMemoryDedicatedRequirements),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryDedicatedRequirements>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryDedicatedRequirements> {
+  using Type = MemoryDedicatedRequirements;
+};
+using MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
+
+struct MemoryOpaqueCaptureAddressAllocateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryOpaqueCaptureAddressAllocateInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MemoryOpaqueCaptureAddressAllocateInfo(
+      uint64_t opaqueCaptureAddress_ = {}) VULKAN_HPP_NOEXCEPT
+      : opaqueCaptureAddress(opaqueCaptureAddress_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryOpaqueCaptureAddressAllocateInfo(
+      MemoryOpaqueCaptureAddressAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryOpaqueCaptureAddressAllocateInfo(
+      VkMemoryOpaqueCaptureAddressAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : MemoryOpaqueCaptureAddressAllocateInfo(
+            *reinterpret_cast<MemoryOpaqueCaptureAddressAllocateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryOpaqueCaptureAddressAllocateInfo &
+  operator=(MemoryOpaqueCaptureAddressAllocateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryOpaqueCaptureAddressAllocateInfo &operator=(
+      VkMemoryOpaqueCaptureAddressAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  MemoryOpaqueCaptureAddressAllocateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryOpaqueCaptureAddressAllocateInfo &
+  setOpaqueCaptureAddress(uint64_t opaqueCaptureAddress_) VULKAN_HPP_NOEXCEPT {
+    opaqueCaptureAddress = opaqueCaptureAddress_;
+    return *this;
+  }
+
+  operator VkMemoryOpaqueCaptureAddressAllocateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo *>(
+        this);
+  }
+
+  operator VkMemoryOpaqueCaptureAddressAllocateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryOpaqueCaptureAddressAllocateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(MemoryOpaqueCaptureAddressAllocateInfo const &) const = default;
+#else
+  bool operator==(MemoryOpaqueCaptureAddressAllocateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (opaqueCaptureAddress == rhs.opaqueCaptureAddress);
+  }
+
+  bool operator!=(MemoryOpaqueCaptureAddressAllocateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryOpaqueCaptureAddressAllocateInfo;
+  const void *pNext = {};
+  uint64_t opaqueCaptureAddress = {};
+};
+static_assert(sizeof(MemoryOpaqueCaptureAddressAllocateInfo) ==
+                  sizeof(VkMemoryOpaqueCaptureAddressAllocateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<MemoryOpaqueCaptureAddressAllocateInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eMemoryOpaqueCaptureAddressAllocateInfo> {
+  using Type = MemoryOpaqueCaptureAddressAllocateInfo;
+};
+using MemoryOpaqueCaptureAddressAllocateInfoKHR =
+    MemoryOpaqueCaptureAddressAllocateInfo;
+
+struct MemoryPriorityAllocateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMemoryPriorityAllocateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  MemoryPriorityAllocateInfoEXT(float priority_ = {}) VULKAN_HPP_NOEXCEPT
+      : priority(priority_) {}
+
+  VULKAN_HPP_CONSTEXPR MemoryPriorityAllocateInfoEXT(
+      MemoryPriorityAllocateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryPriorityAllocateInfoEXT(VkMemoryPriorityAllocateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MemoryPriorityAllocateInfoEXT(
+            *reinterpret_cast<MemoryPriorityAllocateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MemoryPriorityAllocateInfoEXT &operator=(
+      MemoryPriorityAllocateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MemoryPriorityAllocateInfoEXT &
+  operator=(VkMemoryPriorityAllocateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  MemoryPriorityAllocateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MemoryPriorityAllocateInfoEXT &
+  setPriority(float priority_) VULKAN_HPP_NOEXCEPT {
+    priority = priority_;
+    return *this;
+  }
+
+  operator VkMemoryPriorityAllocateInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT *>(this);
+  }
+
+  operator VkMemoryPriorityAllocateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMemoryPriorityAllocateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MemoryPriorityAllocateInfoEXT const &) const = default;
+#else
+  bool operator==(MemoryPriorityAllocateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (priority == rhs.priority);
+  }
+
+  bool operator!=(MemoryPriorityAllocateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMemoryPriorityAllocateInfoEXT;
+  const void *pNext = {};
+  float priority = {};
+};
+static_assert(sizeof(MemoryPriorityAllocateInfoEXT) ==
+                  sizeof(VkMemoryPriorityAllocateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MemoryPriorityAllocateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMemoryPriorityAllocateInfoEXT> {
+  using Type = MemoryPriorityAllocateInfoEXT;
+};
+
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+struct MetalSurfaceCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMetalSurfaceCreateInfoEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MetalSurfaceCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags_ = {},
+      const CAMetalLayer *pLayer_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                              pLayer(pLayer_) {}
+
+  VULKAN_HPP_CONSTEXPR MetalSurfaceCreateInfoEXT(
+      MetalSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MetalSurfaceCreateInfoEXT(VkMetalSurfaceCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MetalSurfaceCreateInfoEXT(
+            *reinterpret_cast<MetalSurfaceCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MetalSurfaceCreateInfoEXT &
+  operator=(MetalSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MetalSurfaceCreateInfoEXT &
+  operator=(VkMetalSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
+
+  MetalSurfaceCreateInfoEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MetalSurfaceCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  MetalSurfaceCreateInfoEXT &
+  setPLayer(const CAMetalLayer *pLayer_) VULKAN_HPP_NOEXCEPT {
+    pLayer = pLayer_;
+    return *this;
+  }
+
+  operator VkMetalSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>(this);
+  }
+
+  operator VkMetalSurfaceCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMetalSurfaceCreateInfoEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MetalSurfaceCreateInfoEXT const &) const = default;
+#else
+  bool
+  operator==(MetalSurfaceCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (pLayer == rhs.pLayer);
+  }
+
+  bool
+  operator!=(MetalSurfaceCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMetalSurfaceCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags = {};
+  const CAMetalLayer *pLayer = {};
+};
+static_assert(sizeof(MetalSurfaceCreateInfoEXT) ==
+                  sizeof(VkMetalSurfaceCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MetalSurfaceCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eMetalSurfaceCreateInfoEXT> {
+  using Type = MetalSurfaceCreateInfoEXT;
+};
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+
+struct MutableDescriptorTypeListVALVE {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeListVALVE(
+      uint32_t descriptorTypeCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DescriptorType *pDescriptorTypes_ = {})
+      VULKAN_HPP_NOEXCEPT : descriptorTypeCount(descriptorTypeCount_),
+                            pDescriptorTypes(pDescriptorTypes_) {}
+
+  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeListVALVE(
+      MutableDescriptorTypeListVALVE const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MutableDescriptorTypeListVALVE(VkMutableDescriptorTypeListVALVE const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : MutableDescriptorTypeListVALVE(
+            *reinterpret_cast<MutableDescriptorTypeListVALVE const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  MutableDescriptorTypeListVALVE(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorType> const &descriptorTypes_)
+      : descriptorTypeCount(static_cast<uint32_t>(descriptorTypes_.size())),
+        pDescriptorTypes(descriptorTypes_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MutableDescriptorTypeListVALVE &operator=(
+      MutableDescriptorTypeListVALVE const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  MutableDescriptorTypeListVALVE &
+  operator=(VkMutableDescriptorTypeListVALVE const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE const *>(&rhs);
+    return *this;
+  }
+
+  MutableDescriptorTypeListVALVE &
+  setDescriptorTypeCount(uint32_t descriptorTypeCount_) VULKAN_HPP_NOEXCEPT {
+    descriptorTypeCount = descriptorTypeCount_;
+    return *this;
+  }
+
+  MutableDescriptorTypeListVALVE &setPDescriptorTypes(
+      const VULKAN_HPP_NAMESPACE::DescriptorType *pDescriptorTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    pDescriptorTypes = pDescriptorTypes_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  MutableDescriptorTypeListVALVE &setDescriptorTypes(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DescriptorType> const &descriptorTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorTypeCount = static_cast<uint32_t>(descriptorTypes_.size());
+    pDescriptorTypes = descriptorTypes_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkMutableDescriptorTypeListVALVE const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMutableDescriptorTypeListVALVE *>(this);
+  }
+
+  operator VkMutableDescriptorTypeListVALVE &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMutableDescriptorTypeListVALVE *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(MutableDescriptorTypeListVALVE const &) const = default;
+#else
+  bool operator==(MutableDescriptorTypeListVALVE const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (descriptorTypeCount == rhs.descriptorTypeCount) &&
+           (pDescriptorTypes == rhs.pDescriptorTypes);
+  }
+
+  bool operator!=(MutableDescriptorTypeListVALVE const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t descriptorTypeCount = {};
+  const VULKAN_HPP_NAMESPACE::DescriptorType *pDescriptorTypes = {};
+};
+static_assert(sizeof(MutableDescriptorTypeListVALVE) ==
+                  sizeof(VkMutableDescriptorTypeListVALVE),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<MutableDescriptorTypeListVALVE>::value,
+              "struct wrapper is not a standard layout!");
+
+struct MutableDescriptorTypeCreateInfoVALVE {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eMutableDescriptorTypeCreateInfoVALVE;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeCreateInfoVALVE(
+      uint32_t mutableDescriptorTypeListCount_ = {},
+      const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE
+          *pMutableDescriptorTypeLists_ = {}) VULKAN_HPP_NOEXCEPT
+      : mutableDescriptorTypeListCount(mutableDescriptorTypeListCount_),
+        pMutableDescriptorTypeLists(pMutableDescriptorTypeLists_) {}
+
+  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeCreateInfoVALVE(
+      MutableDescriptorTypeCreateInfoVALVE const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MutableDescriptorTypeCreateInfoVALVE(
+      VkMutableDescriptorTypeCreateInfoVALVE const &rhs) VULKAN_HPP_NOEXCEPT
+      : MutableDescriptorTypeCreateInfoVALVE(
+            *reinterpret_cast<MutableDescriptorTypeCreateInfoVALVE const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  MutableDescriptorTypeCreateInfoVALVE(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE> const
+          &mutableDescriptorTypeLists_)
+      : mutableDescriptorTypeListCount(
+            static_cast<uint32_t>(mutableDescriptorTypeLists_.size())),
+        pMutableDescriptorTypeLists(mutableDescriptorTypeLists_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 MutableDescriptorTypeCreateInfoVALVE &
+  operator=(MutableDescriptorTypeCreateInfoVALVE const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  MutableDescriptorTypeCreateInfoVALVE &operator=(
+      VkMutableDescriptorTypeCreateInfoVALVE const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoVALVE const *>(
+        &rhs);
+    return *this;
+  }
+
+  MutableDescriptorTypeCreateInfoVALVE &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  MutableDescriptorTypeCreateInfoVALVE &setMutableDescriptorTypeListCount(
+      uint32_t mutableDescriptorTypeListCount_) VULKAN_HPP_NOEXCEPT {
+    mutableDescriptorTypeListCount = mutableDescriptorTypeListCount_;
+    return *this;
+  }
+
+  MutableDescriptorTypeCreateInfoVALVE &setPMutableDescriptorTypeLists(
+      const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE
+          *pMutableDescriptorTypeLists_) VULKAN_HPP_NOEXCEPT {
+    pMutableDescriptorTypeLists = pMutableDescriptorTypeLists_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  MutableDescriptorTypeCreateInfoVALVE &setMutableDescriptorTypeLists(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE> const
+          &mutableDescriptorTypeLists_) VULKAN_HPP_NOEXCEPT {
+    mutableDescriptorTypeListCount =
+        static_cast<uint32_t>(mutableDescriptorTypeLists_.size());
+    pMutableDescriptorTypeLists = mutableDescriptorTypeLists_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkMutableDescriptorTypeCreateInfoVALVE const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkMutableDescriptorTypeCreateInfoVALVE *>(
+        this);
+  }
+
+  operator VkMutableDescriptorTypeCreateInfoVALVE &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkMutableDescriptorTypeCreateInfoVALVE *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(MutableDescriptorTypeCreateInfoVALVE const &) const = default;
+#else
+  bool operator==(MutableDescriptorTypeCreateInfoVALVE const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (mutableDescriptorTypeListCount ==
+            rhs.mutableDescriptorTypeListCount) &&
+           (pMutableDescriptorTypeLists == rhs.pMutableDescriptorTypeLists);
+  }
+
+  bool operator!=(MutableDescriptorTypeCreateInfoVALVE const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eMutableDescriptorTypeCreateInfoVALVE;
+  const void *pNext = {};
+  uint32_t mutableDescriptorTypeListCount = {};
+  const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE
+      *pMutableDescriptorTypeLists = {};
+};
+static_assert(sizeof(MutableDescriptorTypeCreateInfoVALVE) ==
+                  sizeof(VkMutableDescriptorTypeCreateInfoVALVE),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<MutableDescriptorTypeCreateInfoVALVE>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eMutableDescriptorTypeCreateInfoVALVE> {
+  using Type = MutableDescriptorTypeCreateInfoVALVE;
+};
+
+union PerformanceCounterResultKHR {
+  PerformanceCounterResultKHR(
+      VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR));
+  }
+
+  PerformanceCounterResultKHR(int32_t int32_ = {}) : int32(int32_) {}
+
+  PerformanceCounterResultKHR(int64_t int64_) : int64(int64_) {}
+
+  PerformanceCounterResultKHR(uint32_t uint32_) : uint32(uint32_) {}
+
+  PerformanceCounterResultKHR(uint64_t uint64_) : uint64(uint64_) {}
+
+  PerformanceCounterResultKHR(float float32_) : float32(float32_) {}
+
+  PerformanceCounterResultKHR(double float64_) : float64(float64_) {}
+
+  PerformanceCounterResultKHR &setInt32(int32_t int32_) VULKAN_HPP_NOEXCEPT {
+    int32 = int32_;
+    return *this;
+  }
+
+  PerformanceCounterResultKHR &setInt64(int64_t int64_) VULKAN_HPP_NOEXCEPT {
+    int64 = int64_;
+    return *this;
+  }
+
+  PerformanceCounterResultKHR &setUint32(uint32_t uint32_) VULKAN_HPP_NOEXCEPT {
+    uint32 = uint32_;
+    return *this;
+  }
+
+  PerformanceCounterResultKHR &setUint64(uint64_t uint64_) VULKAN_HPP_NOEXCEPT {
+    uint64 = uint64_;
+    return *this;
+  }
+
+  PerformanceCounterResultKHR &setFloat32(float float32_) VULKAN_HPP_NOEXCEPT {
+    float32 = float32_;
+    return *this;
+  }
+
+  PerformanceCounterResultKHR &setFloat64(double float64_) VULKAN_HPP_NOEXCEPT {
+    float64 = float64_;
+    return *this;
+  }
+
+  VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR &
+  operator=(VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    memcpy(static_cast<void *>(this), &rhs,
+           sizeof(VULKAN_HPP_NAMESPACE::PerformanceCounterResultKHR));
+    return *this;
+  }
+
+  operator VkPerformanceCounterResultKHR const &() const {
+    return *reinterpret_cast<const VkPerformanceCounterResultKHR *>(this);
+  }
+
+  operator VkPerformanceCounterResultKHR &() {
+    return *reinterpret_cast<VkPerformanceCounterResultKHR *>(this);
+  }
+
+  int32_t int32;
+  int64_t int64;
+  uint32_t uint32;
+  uint64_t uint64;
+  float float32;
+  double float64;
+};
+
+struct PerformanceQuerySubmitInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePerformanceQuerySubmitInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PerformanceQuerySubmitInfoKHR(
+      uint32_t counterPassIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : counterPassIndex(counterPassIndex_) {}
+
+  VULKAN_HPP_CONSTEXPR PerformanceQuerySubmitInfoKHR(
+      PerformanceQuerySubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceQuerySubmitInfoKHR(VkPerformanceQuerySubmitInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PerformanceQuerySubmitInfoKHR(
+            *reinterpret_cast<PerformanceQuerySubmitInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PerformanceQuerySubmitInfoKHR &operator=(
+      PerformanceQuerySubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PerformanceQuerySubmitInfoKHR &
+  operator=(VkPerformanceQuerySubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  PerformanceQuerySubmitInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PerformanceQuerySubmitInfoKHR &
+  setCounterPassIndex(uint32_t counterPassIndex_) VULKAN_HPP_NOEXCEPT {
+    counterPassIndex = counterPassIndex_;
+    return *this;
+  }
+
+  operator VkPerformanceQuerySubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR *>(this);
+  }
+
+  operator VkPerformanceQuerySubmitInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPerformanceQuerySubmitInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PerformanceQuerySubmitInfoKHR const &) const = default;
+#else
+  bool operator==(PerformanceQuerySubmitInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (counterPassIndex == rhs.counterPassIndex);
+  }
+
+  bool operator!=(PerformanceQuerySubmitInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePerformanceQuerySubmitInfoKHR;
+  const void *pNext = {};
+  uint32_t counterPassIndex = {};
+};
+static_assert(sizeof(PerformanceQuerySubmitInfoKHR) ==
+                  sizeof(VkPerformanceQuerySubmitInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PerformanceQuerySubmitInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePerformanceQuerySubmitInfoKHR> {
+  using Type = PerformanceQuerySubmitInfoKHR;
+};
+
+struct PhysicalDevice16BitStorageFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDevice16BitStorageFeatures;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevice16BitStorageFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : storageBuffer16BitAccess(storageBuffer16BitAccess_),
+        uniformAndStorageBuffer16BitAccess(uniformAndStorageBuffer16BitAccess_),
+        storagePushConstant16(storagePushConstant16_),
+        storageInputOutput16(storageInputOutput16_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDevice16BitStorageFeatures(
+      PhysicalDevice16BitStorageFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevice16BitStorageFeatures(
+      VkPhysicalDevice16BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDevice16BitStorageFeatures(
+            *reinterpret_cast<PhysicalDevice16BitStorageFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevice16BitStorageFeatures &
+  operator=(PhysicalDevice16BitStorageFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevice16BitStorageFeatures &operator=(
+      VkPhysicalDevice16BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDevice16BitStorageFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDevice16BitStorageFeatures &setStorageBuffer16BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    storageBuffer16BitAccess = storageBuffer16BitAccess_;
+    return *this;
+  }
+
+  PhysicalDevice16BitStorageFeatures &setUniformAndStorageBuffer16BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess_;
+    return *this;
+  }
+
+  PhysicalDevice16BitStorageFeatures &setStoragePushConstant16(
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_) VULKAN_HPP_NOEXCEPT {
+    storagePushConstant16 = storagePushConstant16_;
+    return *this;
+  }
+
+  PhysicalDevice16BitStorageFeatures &setStorageInputOutput16(
+      VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_) VULKAN_HPP_NOEXCEPT {
+    storageInputOutput16 = storageInputOutput16_;
+    return *this;
+  }
+
+  operator VkPhysicalDevice16BitStorageFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>(
+        this);
+  }
+
+  operator VkPhysicalDevice16BitStorageFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevice16BitStorageFeatures *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevice16BitStorageFeatures const &) const = default;
+#else
+  bool operator==(PhysicalDevice16BitStorageFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (storageBuffer16BitAccess == rhs.storageBuffer16BitAccess) &&
+           (uniformAndStorageBuffer16BitAccess ==
+            rhs.uniformAndStorageBuffer16BitAccess) &&
+           (storagePushConstant16 == rhs.storagePushConstant16) &&
+           (storageInputOutput16 == rhs.storageInputOutput16);
+  }
+
+  bool operator!=(PhysicalDevice16BitStorageFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevice16BitStorageFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16 = {};
+};
+static_assert(sizeof(PhysicalDevice16BitStorageFeatures) ==
+                  sizeof(VkPhysicalDevice16BitStorageFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevice16BitStorageFeatures>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevice16BitStorageFeatures> {
+  using Type = PhysicalDevice16BitStorageFeatures;
+};
+using PhysicalDevice16BitStorageFeaturesKHR =
+    PhysicalDevice16BitStorageFeatures;
+
+struct PhysicalDevice4444FormatsFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDevice4444FormatsFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevice4444FormatsFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 formatA4R4G4B4_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 formatA4B4G4R4_ = {}) VULKAN_HPP_NOEXCEPT
+      : formatA4R4G4B4(formatA4R4G4B4_),
+        formatA4B4G4R4(formatA4B4G4R4_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDevice4444FormatsFeaturesEXT(
+      PhysicalDevice4444FormatsFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevice4444FormatsFeaturesEXT(
+      VkPhysicalDevice4444FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDevice4444FormatsFeaturesEXT(
+            *reinterpret_cast<PhysicalDevice4444FormatsFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevice4444FormatsFeaturesEXT &
+  operator=(PhysicalDevice4444FormatsFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevice4444FormatsFeaturesEXT &operator=(
+      VkPhysicalDevice4444FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDevice4444FormatsFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDevice4444FormatsFeaturesEXT &setFormatA4R4G4B4(
+      VULKAN_HPP_NAMESPACE::Bool32 formatA4R4G4B4_) VULKAN_HPP_NOEXCEPT {
+    formatA4R4G4B4 = formatA4R4G4B4_;
+    return *this;
+  }
+
+  PhysicalDevice4444FormatsFeaturesEXT &setFormatA4B4G4R4(
+      VULKAN_HPP_NAMESPACE::Bool32 formatA4B4G4R4_) VULKAN_HPP_NOEXCEPT {
+    formatA4B4G4R4 = formatA4B4G4R4_;
+    return *this;
+  }
+
+  operator VkPhysicalDevice4444FormatsFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT *>(
+        this);
+  }
+
+  operator VkPhysicalDevice4444FormatsFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevice4444FormatsFeaturesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDevice4444FormatsFeaturesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDevice4444FormatsFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (formatA4R4G4B4 == rhs.formatA4R4G4B4) &&
+           (formatA4B4G4R4 == rhs.formatA4B4G4R4);
+  }
+
+  bool operator!=(PhysicalDevice4444FormatsFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevice4444FormatsFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 formatA4R4G4B4 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 formatA4B4G4R4 = {};
+};
+static_assert(sizeof(PhysicalDevice4444FormatsFeaturesEXT) ==
+                  sizeof(VkPhysicalDevice4444FormatsFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevice4444FormatsFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevice4444FormatsFeaturesEXT> {
+  using Type = PhysicalDevice4444FormatsFeaturesEXT;
+};
+
+struct PhysicalDevice8BitStorageFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDevice8BitStorageFeatures;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevice8BitStorageFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : storageBuffer8BitAccess(storageBuffer8BitAccess_),
+        uniformAndStorageBuffer8BitAccess(uniformAndStorageBuffer8BitAccess_),
+        storagePushConstant8(storagePushConstant8_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDevice8BitStorageFeatures(
+      PhysicalDevice8BitStorageFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevice8BitStorageFeatures(
+      VkPhysicalDevice8BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDevice8BitStorageFeatures(
+            *reinterpret_cast<PhysicalDevice8BitStorageFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevice8BitStorageFeatures &
+  operator=(PhysicalDevice8BitStorageFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevice8BitStorageFeatures &operator=(
+      VkPhysicalDevice8BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDevice8BitStorageFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDevice8BitStorageFeatures &setStorageBuffer8BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    storageBuffer8BitAccess = storageBuffer8BitAccess_;
+    return *this;
+  }
+
+  PhysicalDevice8BitStorageFeatures &setUniformAndStorageBuffer8BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess_;
+    return *this;
+  }
+
+  PhysicalDevice8BitStorageFeatures &setStoragePushConstant8(
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_) VULKAN_HPP_NOEXCEPT {
+    storagePushConstant8 = storagePushConstant8_;
+    return *this;
+  }
+
+  operator VkPhysicalDevice8BitStorageFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures *>(this);
+  }
+
+  operator VkPhysicalDevice8BitStorageFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevice8BitStorageFeatures *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevice8BitStorageFeatures const &) const = default;
+#else
+  bool operator==(PhysicalDevice8BitStorageFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (storageBuffer8BitAccess == rhs.storageBuffer8BitAccess) &&
+           (uniformAndStorageBuffer8BitAccess ==
+            rhs.uniformAndStorageBuffer8BitAccess) &&
+           (storagePushConstant8 == rhs.storagePushConstant8);
+  }
+
+  bool operator!=(PhysicalDevice8BitStorageFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevice8BitStorageFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8 = {};
+};
+static_assert(sizeof(PhysicalDevice8BitStorageFeatures) ==
+                  sizeof(VkPhysicalDevice8BitStorageFeatures),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDevice8BitStorageFeatures>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevice8BitStorageFeatures> {
+  using Type = PhysicalDevice8BitStorageFeatures;
+};
+using PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
+
+struct PhysicalDeviceASTCDecodeFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceASTCDecodeFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : decodeModeSharedExponent(decodeModeSharedExponent_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceASTCDecodeFeaturesEXT(
+      PhysicalDeviceASTCDecodeFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceASTCDecodeFeaturesEXT(
+      VkPhysicalDeviceASTCDecodeFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceASTCDecodeFeaturesEXT(
+            *reinterpret_cast<PhysicalDeviceASTCDecodeFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceASTCDecodeFeaturesEXT &
+  operator=(PhysicalDeviceASTCDecodeFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceASTCDecodeFeaturesEXT &operator=(
+      VkPhysicalDeviceASTCDecodeFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceASTCDecodeFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceASTCDecodeFeaturesEXT &setDecodeModeSharedExponent(
+      VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent_)
+      VULKAN_HPP_NOEXCEPT {
+    decodeModeSharedExponent = decodeModeSharedExponent_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceASTCDecodeFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT *>(
+        this);
+  }
+
+  operator VkPhysicalDeviceASTCDecodeFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceASTCDecodeFeaturesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceASTCDecodeFeaturesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceASTCDecodeFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (decodeModeSharedExponent == rhs.decodeModeSharedExponent);
+  }
+
+  bool operator!=(PhysicalDeviceASTCDecodeFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent = {};
+};
+static_assert(sizeof(PhysicalDeviceASTCDecodeFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceASTCDecodeFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT> {
+  using Type = PhysicalDeviceASTCDecodeFeaturesEXT;
+};
+
+struct PhysicalDeviceAccelerationStructureFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceAccelerationStructureFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructure_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureCaptureReplay_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureIndirectBuild_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureHostCommands_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingAccelerationStructureUpdateAfterBind_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : accelerationStructure(accelerationStructure_),
+        accelerationStructureCaptureReplay(accelerationStructureCaptureReplay_),
+        accelerationStructureIndirectBuild(accelerationStructureIndirectBuild_),
+        accelerationStructureHostCommands(accelerationStructureHostCommands_),
+        descriptorBindingAccelerationStructureUpdateAfterBind(
+            descriptorBindingAccelerationStructureUpdateAfterBind_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceAccelerationStructureFeaturesKHR(
+      PhysicalDeviceAccelerationStructureFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR(
+      VkPhysicalDeviceAccelerationStructureFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceAccelerationStructureFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceAccelerationStructureFeaturesKHR const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructureFeaturesKHR &
+  operator=(PhysicalDeviceAccelerationStructureFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR &
+  operator=(VkPhysicalDeviceAccelerationStructureFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceAccelerationStructureFeaturesKHR const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR &setAccelerationStructure(
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructure_) VULKAN_HPP_NOEXCEPT {
+    accelerationStructure = accelerationStructure_;
+    return *this;
+  }
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR &
+  setAccelerationStructureCaptureReplay(
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureCaptureReplay_)
+      VULKAN_HPP_NOEXCEPT {
+    accelerationStructureCaptureReplay = accelerationStructureCaptureReplay_;
+    return *this;
+  }
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR &
+  setAccelerationStructureIndirectBuild(
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureIndirectBuild_)
+      VULKAN_HPP_NOEXCEPT {
+    accelerationStructureIndirectBuild = accelerationStructureIndirectBuild_;
+    return *this;
+  }
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR &
+  setAccelerationStructureHostCommands(
+      VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureHostCommands_)
+      VULKAN_HPP_NOEXCEPT {
+    accelerationStructureHostCommands = accelerationStructureHostCommands_;
+    return *this;
+  }
+
+  PhysicalDeviceAccelerationStructureFeaturesKHR &
+  setDescriptorBindingAccelerationStructureUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingAccelerationStructureUpdateAfterBind_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingAccelerationStructureUpdateAfterBind =
+        descriptorBindingAccelerationStructureUpdateAfterBind_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceAccelerationStructureFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceAccelerationStructureFeaturesKHR *>(this);
+  }
+
+  operator VkPhysicalDeviceAccelerationStructureFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceAccelerationStructureFeaturesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceAccelerationStructureFeaturesKHR const &) const = default;
+#else
+  bool operator==(PhysicalDeviceAccelerationStructureFeaturesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (accelerationStructure == rhs.accelerationStructure) &&
+           (accelerationStructureCaptureReplay ==
+            rhs.accelerationStructureCaptureReplay) &&
+           (accelerationStructureIndirectBuild ==
+            rhs.accelerationStructureIndirectBuild) &&
+           (accelerationStructureHostCommands ==
+            rhs.accelerationStructureHostCommands) &&
+           (descriptorBindingAccelerationStructureUpdateAfterBind ==
+            rhs.descriptorBindingAccelerationStructureUpdateAfterBind);
+  }
+
+  bool operator!=(PhysicalDeviceAccelerationStructureFeaturesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructure = {};
+  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureCaptureReplay = {};
+  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureIndirectBuild = {};
+  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureHostCommands = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      descriptorBindingAccelerationStructureUpdateAfterBind = {};
+};
+static_assert(sizeof(PhysicalDeviceAccelerationStructureFeaturesKHR) ==
+                  sizeof(VkPhysicalDeviceAccelerationStructureFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceAccelerationStructureFeaturesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR> {
+  using Type = PhysicalDeviceAccelerationStructureFeaturesKHR;
+};
+
+struct PhysicalDeviceAccelerationStructurePropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceAccelerationStructurePropertiesKHR(
+      uint64_t maxGeometryCount_ = {}, uint64_t maxInstanceCount_ = {},
+      uint64_t maxPrimitiveCount_ = {},
+      uint32_t maxPerStageDescriptorAccelerationStructures_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures_ = {},
+      uint32_t maxDescriptorSetAccelerationStructures_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures_ = {},
+      uint32_t minAccelerationStructureScratchOffsetAlignment_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : maxGeometryCount(maxGeometryCount_),
+        maxInstanceCount(maxInstanceCount_),
+        maxPrimitiveCount(maxPrimitiveCount_),
+        maxPerStageDescriptorAccelerationStructures(
+            maxPerStageDescriptorAccelerationStructures_),
+        maxPerStageDescriptorUpdateAfterBindAccelerationStructures(
+            maxPerStageDescriptorUpdateAfterBindAccelerationStructures_),
+        maxDescriptorSetAccelerationStructures(
+            maxDescriptorSetAccelerationStructures_),
+        maxDescriptorSetUpdateAfterBindAccelerationStructures(
+            maxDescriptorSetUpdateAfterBindAccelerationStructures_),
+        minAccelerationStructureScratchOffsetAlignment(
+            minAccelerationStructureScratchOffsetAlignment_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceAccelerationStructurePropertiesKHR(
+      PhysicalDeviceAccelerationStructurePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceAccelerationStructurePropertiesKHR(
+      VkPhysicalDeviceAccelerationStructurePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceAccelerationStructurePropertiesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceAccelerationStructurePropertiesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructurePropertiesKHR &
+  operator=(PhysicalDeviceAccelerationStructurePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceAccelerationStructurePropertiesKHR &
+  operator=(VkPhysicalDeviceAccelerationStructurePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceAccelerationStructurePropertiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceAccelerationStructurePropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceAccelerationStructurePropertiesKHR *>(this);
+  }
+
+  operator VkPhysicalDeviceAccelerationStructurePropertiesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceAccelerationStructurePropertiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceAccelerationStructurePropertiesKHR const &) const = default;
+#else
+  bool operator==(PhysicalDeviceAccelerationStructurePropertiesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxGeometryCount == rhs.maxGeometryCount) &&
+           (maxInstanceCount == rhs.maxInstanceCount) &&
+           (maxPrimitiveCount == rhs.maxPrimitiveCount) &&
+           (maxPerStageDescriptorAccelerationStructures ==
+            rhs.maxPerStageDescriptorAccelerationStructures) &&
+           (maxPerStageDescriptorUpdateAfterBindAccelerationStructures ==
+            rhs.maxPerStageDescriptorUpdateAfterBindAccelerationStructures) &&
+           (maxDescriptorSetAccelerationStructures ==
+            rhs.maxDescriptorSetAccelerationStructures) &&
+           (maxDescriptorSetUpdateAfterBindAccelerationStructures ==
+            rhs.maxDescriptorSetUpdateAfterBindAccelerationStructures) &&
+           (minAccelerationStructureScratchOffsetAlignment ==
+            rhs.minAccelerationStructureScratchOffsetAlignment);
+  }
+
+  bool operator!=(PhysicalDeviceAccelerationStructurePropertiesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR;
+  void *pNext = {};
+  uint64_t maxGeometryCount = {};
+  uint64_t maxInstanceCount = {};
+  uint64_t maxPrimitiveCount = {};
+  uint32_t maxPerStageDescriptorAccelerationStructures = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures = {};
+  uint32_t maxDescriptorSetAccelerationStructures = {};
+  uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures = {};
+  uint32_t minAccelerationStructureScratchOffsetAlignment = {};
+};
+static_assert(sizeof(PhysicalDeviceAccelerationStructurePropertiesKHR) ==
+                  sizeof(VkPhysicalDeviceAccelerationStructurePropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceAccelerationStructurePropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR> {
+  using Type = PhysicalDeviceAccelerationStructurePropertiesKHR;
+};
+
+struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : advancedBlendCoherentOperations(advancedBlendCoherentOperations_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedFeaturesEXT(
+      PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBlendOperationAdvancedFeaturesEXT(
+      VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceBlendOperationAdvancedFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceBlendOperationAdvancedFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBlendOperationAdvancedFeaturesEXT &
+  operator=(PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBlendOperationAdvancedFeaturesEXT &
+  operator=(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceBlendOperationAdvancedFeaturesEXT const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceBlendOperationAdvancedFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceBlendOperationAdvancedFeaturesEXT &
+  setAdvancedBlendCoherentOperations(
+      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations_)
+      VULKAN_HPP_NOEXCEPT {
+    advancedBlendCoherentOperations = advancedBlendCoherentOperations_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (advancedBlendCoherentOperations ==
+            rhs.advancedBlendCoherentOperations);
+  }
+
+  bool operator!=(PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations = {};
+};
+static_assert(sizeof(PhysicalDeviceBlendOperationAdvancedFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceBlendOperationAdvancedFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT> {
+  using Type = PhysicalDeviceBlendOperationAdvancedFeaturesEXT;
+};
+
+struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedPropertiesEXT(
+      uint32_t advancedBlendMaxColorAttachments_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendIndependentBlend_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedSrcColor_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedDstColor_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCorrelatedOverlap_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 advancedBlendAllOperations_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : advancedBlendMaxColorAttachments(advancedBlendMaxColorAttachments_),
+        advancedBlendIndependentBlend(advancedBlendIndependentBlend_),
+        advancedBlendNonPremultipliedSrcColor(
+            advancedBlendNonPremultipliedSrcColor_),
+        advancedBlendNonPremultipliedDstColor(
+            advancedBlendNonPremultipliedDstColor_),
+        advancedBlendCorrelatedOverlap(advancedBlendCorrelatedOverlap_),
+        advancedBlendAllOperations(advancedBlendAllOperations_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedPropertiesEXT(
+      PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBlendOperationAdvancedPropertiesEXT(
+      VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceBlendOperationAdvancedPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceBlendOperationAdvancedPropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBlendOperationAdvancedPropertiesEXT &
+  operator=(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBlendOperationAdvancedPropertiesEXT &
+  operator=(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceBlendOperationAdvancedPropertiesEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &)
+      const = default;
+#else
+  bool operator==(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (advancedBlendMaxColorAttachments ==
+            rhs.advancedBlendMaxColorAttachments) &&
+           (advancedBlendIndependentBlend ==
+            rhs.advancedBlendIndependentBlend) &&
+           (advancedBlendNonPremultipliedSrcColor ==
+            rhs.advancedBlendNonPremultipliedSrcColor) &&
+           (advancedBlendNonPremultipliedDstColor ==
+            rhs.advancedBlendNonPremultipliedDstColor) &&
+           (advancedBlendCorrelatedOverlap ==
+            rhs.advancedBlendCorrelatedOverlap) &&
+           (advancedBlendAllOperations == rhs.advancedBlendAllOperations);
+  }
+
+  bool operator!=(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT;
+  void *pNext = {};
+  uint32_t advancedBlendMaxColorAttachments = {};
+  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendIndependentBlend = {};
+  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedSrcColor = {};
+  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedDstColor = {};
+  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCorrelatedOverlap = {};
+  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendAllOperations = {};
+};
+static_assert(sizeof(PhysicalDeviceBlendOperationAdvancedPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceBlendOperationAdvancedPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT> {
+  using Type = PhysicalDeviceBlendOperationAdvancedPropertiesEXT;
+};
+
+struct PhysicalDeviceBufferDeviceAddressFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceBufferDeviceAddressFeatures;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : bufferDeviceAddress(bufferDeviceAddress_),
+        bufferDeviceAddressCaptureReplay(bufferDeviceAddressCaptureReplay_),
+        bufferDeviceAddressMultiDevice(bufferDeviceAddressMultiDevice_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeatures(
+      PhysicalDeviceBufferDeviceAddressFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBufferDeviceAddressFeatures(
+      VkPhysicalDeviceBufferDeviceAddressFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceBufferDeviceAddressFeatures(
+            *reinterpret_cast<
+                PhysicalDeviceBufferDeviceAddressFeatures const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeatures &
+  operator=(PhysicalDeviceBufferDeviceAddressFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBufferDeviceAddressFeatures &
+  operator=(VkPhysicalDeviceBufferDeviceAddressFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeatures &setBufferDeviceAddress(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_) VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddress = bufferDeviceAddress_;
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeatures &
+  setBufferDeviceAddressCaptureReplay(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_)
+      VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeatures &setBufferDeviceAddressMultiDevice(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_)
+      VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceBufferDeviceAddressFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceBufferDeviceAddressFeatures *>(this);
+  }
+
+  operator VkPhysicalDeviceBufferDeviceAddressFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeatures *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceBufferDeviceAddressFeatures const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceBufferDeviceAddressFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (bufferDeviceAddress == rhs.bufferDeviceAddress) &&
+           (bufferDeviceAddressCaptureReplay ==
+            rhs.bufferDeviceAddressCaptureReplay) &&
+           (bufferDeviceAddressMultiDevice ==
+            rhs.bufferDeviceAddressMultiDevice);
+  }
+
+  bool operator!=(PhysicalDeviceBufferDeviceAddressFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceBufferDeviceAddressFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice = {};
+};
+static_assert(sizeof(PhysicalDeviceBufferDeviceAddressFeatures) ==
+                  sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceBufferDeviceAddressFeatures>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceBufferDeviceAddressFeatures> {
+  using Type = PhysicalDeviceBufferDeviceAddressFeatures;
+};
+using PhysicalDeviceBufferDeviceAddressFeaturesKHR =
+    PhysicalDeviceBufferDeviceAddressFeatures;
+
+struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : bufferDeviceAddress(bufferDeviceAddress_),
+        bufferDeviceAddressCaptureReplay(bufferDeviceAddressCaptureReplay_),
+        bufferDeviceAddressMultiDevice(bufferDeviceAddressMultiDevice_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeaturesEXT(
+      PhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBufferDeviceAddressFeaturesEXT(
+      VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceBufferDeviceAddressFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceBufferDeviceAddressFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeaturesEXT &
+  operator=(PhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceBufferDeviceAddressFeaturesEXT &
+  operator=(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeaturesEXT &setBufferDeviceAddress(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_) VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddress = bufferDeviceAddress_;
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeaturesEXT &
+  setBufferDeviceAddressCaptureReplay(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_)
+      VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
+    return *this;
+  }
+
+  PhysicalDeviceBufferDeviceAddressFeaturesEXT &
+  setBufferDeviceAddressMultiDevice(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_)
+      VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceBufferDeviceAddressFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceBufferDeviceAddressFeaturesEXT const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (bufferDeviceAddress == rhs.bufferDeviceAddress) &&
+           (bufferDeviceAddressCaptureReplay ==
+            rhs.bufferDeviceAddressCaptureReplay) &&
+           (bufferDeviceAddressMultiDevice ==
+            rhs.bufferDeviceAddressMultiDevice);
+  }
+
+  bool operator!=(PhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice = {};
+};
+static_assert(sizeof(PhysicalDeviceBufferDeviceAddressFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceBufferDeviceAddressFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT> {
+  using Type = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
+};
+using PhysicalDeviceBufferAddressFeaturesEXT =
+    PhysicalDeviceBufferDeviceAddressFeaturesEXT;
+
+struct PhysicalDeviceCoherentMemoryFeaturesAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCoherentMemoryFeaturesAMD(
+      VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory_ = {})
+      VULKAN_HPP_NOEXCEPT : deviceCoherentMemory(deviceCoherentMemory_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCoherentMemoryFeaturesAMD(
+      PhysicalDeviceCoherentMemoryFeaturesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCoherentMemoryFeaturesAMD(
+      VkPhysicalDeviceCoherentMemoryFeaturesAMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceCoherentMemoryFeaturesAMD(
+            *reinterpret_cast<PhysicalDeviceCoherentMemoryFeaturesAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCoherentMemoryFeaturesAMD &
+  operator=(PhysicalDeviceCoherentMemoryFeaturesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCoherentMemoryFeaturesAMD &
+  operator=(VkPhysicalDeviceCoherentMemoryFeaturesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceCoherentMemoryFeaturesAMD &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceCoherentMemoryFeaturesAMD &setDeviceCoherentMemory(
+      VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory_) VULKAN_HPP_NOEXCEPT {
+    deviceCoherentMemory = deviceCoherentMemory_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceCoherentMemoryFeaturesAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD *>(
+        this);
+  }
+
+  operator VkPhysicalDeviceCoherentMemoryFeaturesAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceCoherentMemoryFeaturesAMD *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceCoherentMemoryFeaturesAMD const &) const = default;
+#else
+  bool operator==(PhysicalDeviceCoherentMemoryFeaturesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceCoherentMemory == rhs.deviceCoherentMemory);
+  }
+
+  bool operator!=(PhysicalDeviceCoherentMemoryFeaturesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory = {};
+};
+static_assert(sizeof(PhysicalDeviceCoherentMemoryFeaturesAMD) ==
+                  sizeof(VkPhysicalDeviceCoherentMemoryFeaturesAMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceCoherentMemoryFeaturesAMD>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD> {
+  using Type = PhysicalDeviceCoherentMemoryFeaturesAMD;
+};
+
+struct PhysicalDeviceComputeShaderDerivativesFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceComputeShaderDerivativesFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : computeDerivativeGroupQuads(computeDerivativeGroupQuads_),
+        computeDerivativeGroupLinear(computeDerivativeGroupLinear_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceComputeShaderDerivativesFeaturesNV(
+      PhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceComputeShaderDerivativesFeaturesNV(
+      VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceComputeShaderDerivativesFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceComputeShaderDerivativesFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceComputeShaderDerivativesFeaturesNV &
+  operator=(PhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceComputeShaderDerivativesFeaturesNV &
+  operator=(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceComputeShaderDerivativesFeaturesNV const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceComputeShaderDerivativesFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceComputeShaderDerivativesFeaturesNV &
+  setComputeDerivativeGroupQuads(
+      VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads_)
+      VULKAN_HPP_NOEXCEPT {
+    computeDerivativeGroupQuads = computeDerivativeGroupQuads_;
+    return *this;
+  }
+
+  PhysicalDeviceComputeShaderDerivativesFeaturesNV &
+  setComputeDerivativeGroupLinear(
+      VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear_)
+      VULKAN_HPP_NOEXCEPT {
+    computeDerivativeGroupLinear = computeDerivativeGroupLinear_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceComputeShaderDerivativesFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceComputeShaderDerivativesFeaturesNV const &) const = default;
+#else
+  bool operator==(PhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (computeDerivativeGroupQuads == rhs.computeDerivativeGroupQuads) &&
+           (computeDerivativeGroupLinear == rhs.computeDerivativeGroupLinear);
+  }
+
+  bool operator!=(PhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads = {};
+  VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear = {};
+};
+static_assert(sizeof(PhysicalDeviceComputeShaderDerivativesFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceComputeShaderDerivativesFeaturesNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV> {
+  using Type = PhysicalDeviceComputeShaderDerivativesFeaturesNV;
+};
+
+struct PhysicalDeviceConditionalRenderingFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceConditionalRenderingFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : conditionalRendering(conditionalRendering_),
+        inheritedConditionalRendering(inheritedConditionalRendering_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceConditionalRenderingFeaturesEXT(
+      PhysicalDeviceConditionalRenderingFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceConditionalRenderingFeaturesEXT(
+      VkPhysicalDeviceConditionalRenderingFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceConditionalRenderingFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceConditionalRenderingFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceConditionalRenderingFeaturesEXT &
+  operator=(PhysicalDeviceConditionalRenderingFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceConditionalRenderingFeaturesEXT &
+  operator=(VkPhysicalDeviceConditionalRenderingFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceConditionalRenderingFeaturesEXT const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceConditionalRenderingFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceConditionalRenderingFeaturesEXT &setConditionalRendering(
+      VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering_) VULKAN_HPP_NOEXCEPT {
+    conditionalRendering = conditionalRendering_;
+    return *this;
+  }
+
+  PhysicalDeviceConditionalRenderingFeaturesEXT &
+  setInheritedConditionalRendering(
+      VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering_)
+      VULKAN_HPP_NOEXCEPT {
+    inheritedConditionalRendering = inheritedConditionalRendering_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceConditionalRenderingFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceConditionalRenderingFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceConditionalRenderingFeaturesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceConditionalRenderingFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (conditionalRendering == rhs.conditionalRendering) &&
+           (inheritedConditionalRendering == rhs.inheritedConditionalRendering);
+  }
+
+  bool operator!=(PhysicalDeviceConditionalRenderingFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering = {};
+  VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering = {};
+};
+static_assert(sizeof(PhysicalDeviceConditionalRenderingFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceConditionalRenderingFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT> {
+  using Type = PhysicalDeviceConditionalRenderingFeaturesEXT;
+};
+
+struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceConservativeRasterizationPropertiesEXT(
+      float primitiveOverestimationSize_ = {},
+      float maxExtraPrimitiveOverestimationSize_ = {},
+      float extraPrimitiveOverestimationSizeGranularity_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 primitiveUnderestimation_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 conservativePointAndLineRasterization_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 degenerateTrianglesRasterized_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 degenerateLinesRasterized_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fullyCoveredFragmentShaderInputVariable_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 conservativeRasterizationPostDepthCoverage_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : primitiveOverestimationSize(primitiveOverestimationSize_),
+        maxExtraPrimitiveOverestimationSize(
+            maxExtraPrimitiveOverestimationSize_),
+        extraPrimitiveOverestimationSizeGranularity(
+            extraPrimitiveOverestimationSizeGranularity_),
+        primitiveUnderestimation(primitiveUnderestimation_),
+        conservativePointAndLineRasterization(
+            conservativePointAndLineRasterization_),
+        degenerateTrianglesRasterized(degenerateTrianglesRasterized_),
+        degenerateLinesRasterized(degenerateLinesRasterized_),
+        fullyCoveredFragmentShaderInputVariable(
+            fullyCoveredFragmentShaderInputVariable_),
+        conservativeRasterizationPostDepthCoverage(
+            conservativeRasterizationPostDepthCoverage_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceConservativeRasterizationPropertiesEXT(
+      PhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceConservativeRasterizationPropertiesEXT(
+      VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceConservativeRasterizationPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceConservativeRasterizationPropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceConservativeRasterizationPropertiesEXT &
+  operator=(PhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceConservativeRasterizationPropertiesEXT &
+  operator=(VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceConservativeRasterizationPropertiesEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceConservativeRasterizationPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceConservativeRasterizationPropertiesEXT const &)
+      const = default;
+#else
+  bool operator==(PhysicalDeviceConservativeRasterizationPropertiesEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (primitiveOverestimationSize == rhs.primitiveOverestimationSize) &&
+           (maxExtraPrimitiveOverestimationSize ==
+            rhs.maxExtraPrimitiveOverestimationSize) &&
+           (extraPrimitiveOverestimationSizeGranularity ==
+            rhs.extraPrimitiveOverestimationSizeGranularity) &&
+           (primitiveUnderestimation == rhs.primitiveUnderestimation) &&
+           (conservativePointAndLineRasterization ==
+            rhs.conservativePointAndLineRasterization) &&
+           (degenerateTrianglesRasterized ==
+            rhs.degenerateTrianglesRasterized) &&
+           (degenerateLinesRasterized == rhs.degenerateLinesRasterized) &&
+           (fullyCoveredFragmentShaderInputVariable ==
+            rhs.fullyCoveredFragmentShaderInputVariable) &&
+           (conservativeRasterizationPostDepthCoverage ==
+            rhs.conservativeRasterizationPostDepthCoverage);
+  }
+
+  bool operator!=(PhysicalDeviceConservativeRasterizationPropertiesEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT;
+  void *pNext = {};
+  float primitiveOverestimationSize = {};
+  float maxExtraPrimitiveOverestimationSize = {};
+  float extraPrimitiveOverestimationSizeGranularity = {};
+  VULKAN_HPP_NAMESPACE::Bool32 primitiveUnderestimation = {};
+  VULKAN_HPP_NAMESPACE::Bool32 conservativePointAndLineRasterization = {};
+  VULKAN_HPP_NAMESPACE::Bool32 degenerateTrianglesRasterized = {};
+  VULKAN_HPP_NAMESPACE::Bool32 degenerateLinesRasterized = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fullyCoveredFragmentShaderInputVariable = {};
+  VULKAN_HPP_NAMESPACE::Bool32 conservativeRasterizationPostDepthCoverage = {};
+};
+static_assert(
+    sizeof(PhysicalDeviceConservativeRasterizationPropertiesEXT) ==
+        sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT),
+    "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceConservativeRasterizationPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT> {
+  using Type = PhysicalDeviceConservativeRasterizationPropertiesEXT;
+};
+
+struct PhysicalDeviceCooperativeMatrixFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess_ = {})
+      VULKAN_HPP_NOEXCEPT : cooperativeMatrix(cooperativeMatrix_),
+                            cooperativeMatrixRobustBufferAccess(
+                                cooperativeMatrixRobustBufferAccess_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixFeaturesNV(
+      PhysicalDeviceCooperativeMatrixFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCooperativeMatrixFeaturesNV(
+      VkPhysicalDeviceCooperativeMatrixFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceCooperativeMatrixFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceCooperativeMatrixFeaturesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixFeaturesNV &
+  operator=(PhysicalDeviceCooperativeMatrixFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCooperativeMatrixFeaturesNV &
+  operator=(VkPhysicalDeviceCooperativeMatrixFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceCooperativeMatrixFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceCooperativeMatrixFeaturesNV &setCooperativeMatrix(
+      VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix_) VULKAN_HPP_NOEXCEPT {
+    cooperativeMatrix = cooperativeMatrix_;
+    return *this;
+  }
+
+  PhysicalDeviceCooperativeMatrixFeaturesNV &
+  setCooperativeMatrixRobustBufferAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    cooperativeMatrixRobustBufferAccess = cooperativeMatrixRobustBufferAccess_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceCooperativeMatrixFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceCooperativeMatrixFeaturesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceCooperativeMatrixFeaturesNV const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceCooperativeMatrixFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (cooperativeMatrix == rhs.cooperativeMatrix) &&
+           (cooperativeMatrixRobustBufferAccess ==
+            rhs.cooperativeMatrixRobustBufferAccess);
+  }
+
+  bool operator!=(PhysicalDeviceCooperativeMatrixFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix = {};
+  VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess = {};
+};
+static_assert(sizeof(PhysicalDeviceCooperativeMatrixFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceCooperativeMatrixFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV> {
+  using Type = PhysicalDeviceCooperativeMatrixFeaturesNV;
+};
+
+struct PhysicalDeviceCooperativeMatrixPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixPropertiesNV(
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags cooperativeMatrixSupportedStages_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : cooperativeMatrixSupportedStages(cooperativeMatrixSupportedStages_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixPropertiesNV(
+      PhysicalDeviceCooperativeMatrixPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCooperativeMatrixPropertiesNV(
+      VkPhysicalDeviceCooperativeMatrixPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceCooperativeMatrixPropertiesNV(
+            *reinterpret_cast<
+                PhysicalDeviceCooperativeMatrixPropertiesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixPropertiesNV &
+  operator=(PhysicalDeviceCooperativeMatrixPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCooperativeMatrixPropertiesNV &
+  operator=(VkPhysicalDeviceCooperativeMatrixPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV const
+            *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceCooperativeMatrixPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceCooperativeMatrixPropertiesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceCooperativeMatrixPropertiesNV const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceCooperativeMatrixPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (cooperativeMatrixSupportedStages ==
+            rhs.cooperativeMatrixSupportedStages);
+  }
+
+  bool operator!=(PhysicalDeviceCooperativeMatrixPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags cooperativeMatrixSupportedStages = {};
+};
+static_assert(sizeof(PhysicalDeviceCooperativeMatrixPropertiesNV) ==
+                  sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceCooperativeMatrixPropertiesNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV> {
+  using Type = PhysicalDeviceCooperativeMatrixPropertiesNV;
+};
+
+struct PhysicalDeviceCornerSampledImageFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCornerSampledImageFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage_ = {}) VULKAN_HPP_NOEXCEPT
+      : cornerSampledImage(cornerSampledImage_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCornerSampledImageFeaturesNV(
+      PhysicalDeviceCornerSampledImageFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCornerSampledImageFeaturesNV(
+      VkPhysicalDeviceCornerSampledImageFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceCornerSampledImageFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceCornerSampledImageFeaturesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCornerSampledImageFeaturesNV &
+  operator=(PhysicalDeviceCornerSampledImageFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCornerSampledImageFeaturesNV &
+  operator=(VkPhysicalDeviceCornerSampledImageFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceCornerSampledImageFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceCornerSampledImageFeaturesNV &setCornerSampledImage(
+      VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage_) VULKAN_HPP_NOEXCEPT {
+    cornerSampledImage = cornerSampledImage_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceCornerSampledImageFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceCornerSampledImageFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceCornerSampledImageFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceCornerSampledImageFeaturesNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceCornerSampledImageFeaturesNV const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceCornerSampledImageFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (cornerSampledImage == rhs.cornerSampledImage);
+  }
+
+  bool operator!=(PhysicalDeviceCornerSampledImageFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage = {};
+};
+static_assert(sizeof(PhysicalDeviceCornerSampledImageFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceCornerSampledImageFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceCornerSampledImageFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV> {
+  using Type = PhysicalDeviceCornerSampledImageFeaturesNV;
+};
+
+struct PhysicalDeviceCoverageReductionModeFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCoverageReductionModeFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode_ = {})
+      VULKAN_HPP_NOEXCEPT : coverageReductionMode(coverageReductionMode_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCoverageReductionModeFeaturesNV(
+      PhysicalDeviceCoverageReductionModeFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCoverageReductionModeFeaturesNV(
+      VkPhysicalDeviceCoverageReductionModeFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceCoverageReductionModeFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceCoverageReductionModeFeaturesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCoverageReductionModeFeaturesNV &
+  operator=(PhysicalDeviceCoverageReductionModeFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCoverageReductionModeFeaturesNV &
+  operator=(VkPhysicalDeviceCoverageReductionModeFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceCoverageReductionModeFeaturesNV const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceCoverageReductionModeFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceCoverageReductionModeFeaturesNV &setCoverageReductionMode(
+      VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode_) VULKAN_HPP_NOEXCEPT {
+    coverageReductionMode = coverageReductionMode_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceCoverageReductionModeFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceCoverageReductionModeFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceCoverageReductionModeFeaturesNV const &) const = default;
+#else
+  bool operator==(PhysicalDeviceCoverageReductionModeFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (coverageReductionMode == rhs.coverageReductionMode);
+  }
+
+  bool operator!=(PhysicalDeviceCoverageReductionModeFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode = {};
+};
+static_assert(sizeof(PhysicalDeviceCoverageReductionModeFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceCoverageReductionModeFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceCoverageReductionModeFeaturesNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV> {
+  using Type = PhysicalDeviceCoverageReductionModeFeaturesNV;
+};
+
+struct PhysicalDeviceCustomBorderColorFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 customBorderColors_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : customBorderColors(customBorderColors_),
+        customBorderColorWithoutFormat(customBorderColorWithoutFormat_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorFeaturesEXT(
+      PhysicalDeviceCustomBorderColorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCustomBorderColorFeaturesEXT(
+      VkPhysicalDeviceCustomBorderColorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceCustomBorderColorFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceCustomBorderColorFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomBorderColorFeaturesEXT &
+  operator=(PhysicalDeviceCustomBorderColorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCustomBorderColorFeaturesEXT &
+  operator=(VkPhysicalDeviceCustomBorderColorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceCustomBorderColorFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceCustomBorderColorFeaturesEXT &setCustomBorderColors(
+      VULKAN_HPP_NAMESPACE::Bool32 customBorderColors_) VULKAN_HPP_NOEXCEPT {
+    customBorderColors = customBorderColors_;
+    return *this;
+  }
+
+  PhysicalDeviceCustomBorderColorFeaturesEXT &setCustomBorderColorWithoutFormat(
+      VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat_)
+      VULKAN_HPP_NOEXCEPT {
+    customBorderColorWithoutFormat = customBorderColorWithoutFormat_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceCustomBorderColorFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceCustomBorderColorFeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceCustomBorderColorFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceCustomBorderColorFeaturesEXT const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceCustomBorderColorFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (customBorderColors == rhs.customBorderColors) &&
+           (customBorderColorWithoutFormat ==
+            rhs.customBorderColorWithoutFormat);
+  }
+
+  bool operator!=(PhysicalDeviceCustomBorderColorFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 customBorderColors = {};
+  VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat = {};
+};
+static_assert(sizeof(PhysicalDeviceCustomBorderColorFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceCustomBorderColorFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT> {
+  using Type = PhysicalDeviceCustomBorderColorFeaturesEXT;
+};
+
+struct PhysicalDeviceCustomBorderColorPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorPropertiesEXT(
+      uint32_t maxCustomBorderColorSamplers_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxCustomBorderColorSamplers(maxCustomBorderColorSamplers_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorPropertiesEXT(
+      PhysicalDeviceCustomBorderColorPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCustomBorderColorPropertiesEXT(
+      VkPhysicalDeviceCustomBorderColorPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceCustomBorderColorPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceCustomBorderColorPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomBorderColorPropertiesEXT &
+  operator=(PhysicalDeviceCustomBorderColorPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceCustomBorderColorPropertiesEXT &
+  operator=(VkPhysicalDeviceCustomBorderColorPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT const
+            *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceCustomBorderColorPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceCustomBorderColorPropertiesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceCustomBorderColorPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceCustomBorderColorPropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceCustomBorderColorPropertiesEXT const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceCustomBorderColorPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxCustomBorderColorSamplers == rhs.maxCustomBorderColorSamplers);
+  }
+
+  bool operator!=(PhysicalDeviceCustomBorderColorPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT;
+  void *pNext = {};
+  uint32_t maxCustomBorderColorSamplers = {};
+};
+static_assert(sizeof(PhysicalDeviceCustomBorderColorPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceCustomBorderColorPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT> {
+  using Type = PhysicalDeviceCustomBorderColorPropertiesEXT;
+};
+
+struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : dedicatedAllocationImageAliasing(dedicatedAllocationImageAliasing_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
+      PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
+      VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const
+                    *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14
+      PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &
+      operator=(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const
+                    &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &operator=(
+      VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &
+  setDedicatedAllocationImageAliasing(
+      VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing_)
+      VULKAN_HPP_NOEXCEPT {
+    dedicatedAllocationImageAliasing = dedicatedAllocationImageAliasing_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(
+        this);
+  }
+
+  operator VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &)
+      const = default;
+#else
+  bool operator==(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (dedicatedAllocationImageAliasing ==
+            rhs.dedicatedAllocationImageAliasing);
+  }
+
+  bool operator!=(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing = {};
+};
+static_assert(
+    sizeof(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV) ==
+        sizeof(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV),
+    "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<
+        PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV> {
+  using Type = PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
+};
+
+struct PhysicalDeviceDepthClipEnableFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipEnableFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_ = {}) VULKAN_HPP_NOEXCEPT
+      : depthClipEnable(depthClipEnable_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipEnableFeaturesEXT(
+      PhysicalDeviceDepthClipEnableFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDepthClipEnableFeaturesEXT(
+      VkPhysicalDeviceDepthClipEnableFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDepthClipEnableFeaturesEXT(
+            *reinterpret_cast<PhysicalDeviceDepthClipEnableFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClipEnableFeaturesEXT &
+  operator=(PhysicalDeviceDepthClipEnableFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDepthClipEnableFeaturesEXT &
+  operator=(VkPhysicalDeviceDepthClipEnableFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceDepthClipEnableFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceDepthClipEnableFeaturesEXT &setDepthClipEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_) VULKAN_HPP_NOEXCEPT {
+    depthClipEnable = depthClipEnable_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDepthClipEnableFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceDepthClipEnableFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceDepthClipEnableFeaturesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceDepthClipEnableFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (depthClipEnable == rhs.depthClipEnable);
+  }
+
+  bool operator!=(PhysicalDeviceDepthClipEnableFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable = {};
+};
+static_assert(sizeof(PhysicalDeviceDepthClipEnableFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceDepthClipEnableFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT> {
+  using Type = PhysicalDeviceDepthClipEnableFeaturesEXT;
+};
+
+struct PhysicalDeviceDepthStencilResolveProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDepthStencilResolveProperties;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthStencilResolveProperties(
+      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes_ = {},
+      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 independentResolve_ = {}) VULKAN_HPP_NOEXCEPT
+      : supportedDepthResolveModes(supportedDepthResolveModes_),
+        supportedStencilResolveModes(supportedStencilResolveModes_),
+        independentResolveNone(independentResolveNone_),
+        independentResolve(independentResolve_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthStencilResolveProperties(
+      PhysicalDeviceDepthStencilResolveProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDepthStencilResolveProperties(
+      VkPhysicalDeviceDepthStencilResolveProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDepthStencilResolveProperties(
+            *reinterpret_cast<
+                PhysicalDeviceDepthStencilResolveProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthStencilResolveProperties &
+  operator=(PhysicalDeviceDepthStencilResolveProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDepthStencilResolveProperties &
+  operator=(VkPhysicalDeviceDepthStencilResolveProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties const
+            *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDepthStencilResolveProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDepthStencilResolveProperties *>(this);
+  }
+
+  operator VkPhysicalDeviceDepthStencilResolveProperties &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceDepthStencilResolveProperties const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceDepthStencilResolveProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (supportedDepthResolveModes == rhs.supportedDepthResolveModes) &&
+           (supportedStencilResolveModes == rhs.supportedStencilResolveModes) &&
+           (independentResolveNone == rhs.independentResolveNone) &&
+           (independentResolve == rhs.independentResolve);
+  }
+
+  bool operator!=(PhysicalDeviceDepthStencilResolveProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDepthStencilResolveProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes = {};
+  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes = {};
+  VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone = {};
+  VULKAN_HPP_NAMESPACE::Bool32 independentResolve = {};
+};
+static_assert(sizeof(PhysicalDeviceDepthStencilResolveProperties) ==
+                  sizeof(VkPhysicalDeviceDepthStencilResolveProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceDepthStencilResolveProperties>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceDepthStencilResolveProperties> {
+  using Type = PhysicalDeviceDepthStencilResolveProperties;
+};
+using PhysicalDeviceDepthStencilResolvePropertiesKHR =
+    PhysicalDeviceDepthStencilResolveProperties;
+
+struct PhysicalDeviceDescriptorIndexingFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDescriptorIndexingFeatures;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayDynamicIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayDynamicIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderInputAttachmentArrayNonUniformIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayNonUniformIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayNonUniformIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingSampledImageUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageImageUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformTexelBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageTexelBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : shaderInputAttachmentArrayDynamicIndexing(
+            shaderInputAttachmentArrayDynamicIndexing_),
+        shaderUniformTexelBufferArrayDynamicIndexing(
+            shaderUniformTexelBufferArrayDynamicIndexing_),
+        shaderStorageTexelBufferArrayDynamicIndexing(
+            shaderStorageTexelBufferArrayDynamicIndexing_),
+        shaderUniformBufferArrayNonUniformIndexing(
+            shaderUniformBufferArrayNonUniformIndexing_),
+        shaderSampledImageArrayNonUniformIndexing(
+            shaderSampledImageArrayNonUniformIndexing_),
+        shaderStorageBufferArrayNonUniformIndexing(
+            shaderStorageBufferArrayNonUniformIndexing_),
+        shaderStorageImageArrayNonUniformIndexing(
+            shaderStorageImageArrayNonUniformIndexing_),
+        shaderInputAttachmentArrayNonUniformIndexing(
+            shaderInputAttachmentArrayNonUniformIndexing_),
+        shaderUniformTexelBufferArrayNonUniformIndexing(
+            shaderUniformTexelBufferArrayNonUniformIndexing_),
+        shaderStorageTexelBufferArrayNonUniformIndexing(
+            shaderStorageTexelBufferArrayNonUniformIndexing_),
+        descriptorBindingUniformBufferUpdateAfterBind(
+            descriptorBindingUniformBufferUpdateAfterBind_),
+        descriptorBindingSampledImageUpdateAfterBind(
+            descriptorBindingSampledImageUpdateAfterBind_),
+        descriptorBindingStorageImageUpdateAfterBind(
+            descriptorBindingStorageImageUpdateAfterBind_),
+        descriptorBindingStorageBufferUpdateAfterBind(
+            descriptorBindingStorageBufferUpdateAfterBind_),
+        descriptorBindingUniformTexelBufferUpdateAfterBind(
+            descriptorBindingUniformTexelBufferUpdateAfterBind_),
+        descriptorBindingStorageTexelBufferUpdateAfterBind(
+            descriptorBindingStorageTexelBufferUpdateAfterBind_),
+        descriptorBindingUpdateUnusedWhilePending(
+            descriptorBindingUpdateUnusedWhilePending_),
+        descriptorBindingPartiallyBound(descriptorBindingPartiallyBound_),
+        descriptorBindingVariableDescriptorCount(
+            descriptorBindingVariableDescriptorCount_),
+        runtimeDescriptorArray(runtimeDescriptorArray_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingFeatures(
+      PhysicalDeviceDescriptorIndexingFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDescriptorIndexingFeatures(
+      VkPhysicalDeviceDescriptorIndexingFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDescriptorIndexingFeatures(
+            *reinterpret_cast<PhysicalDeviceDescriptorIndexingFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures &
+  operator=(PhysicalDeviceDescriptorIndexingFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  operator=(VkPhysicalDeviceDescriptorIndexingFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderInputAttachmentArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderInputAttachmentArrayDynamicIndexing =
+        shaderInputAttachmentArrayDynamicIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderUniformTexelBufferArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT {
+    shaderUniformTexelBufferArrayDynamicIndexing =
+        shaderUniformTexelBufferArrayDynamicIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderStorageTexelBufferArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT {
+    shaderStorageTexelBufferArrayDynamicIndexing =
+        shaderStorageTexelBufferArrayDynamicIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderUniformBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderUniformBufferArrayNonUniformIndexing =
+        shaderUniformBufferArrayNonUniformIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderSampledImageArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSampledImageArrayNonUniformIndexing =
+        shaderSampledImageArrayNonUniformIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderStorageBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageBufferArrayNonUniformIndexing =
+        shaderStorageBufferArrayNonUniformIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderStorageImageArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageImageArrayNonUniformIndexing =
+        shaderStorageImageArrayNonUniformIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderInputAttachmentArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderInputAttachmentArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT {
+    shaderInputAttachmentArrayNonUniformIndexing =
+        shaderInputAttachmentArrayNonUniformIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderUniformTexelBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderUniformTexelBufferArrayNonUniformIndexing =
+        shaderUniformTexelBufferArrayNonUniformIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setShaderStorageTexelBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageTexelBufferArrayNonUniformIndexing =
+        shaderStorageTexelBufferArrayNonUniformIndexing_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingUniformBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingUniformBufferUpdateAfterBind =
+        descriptorBindingUniformBufferUpdateAfterBind_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingSampledImageUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingSampledImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingSampledImageUpdateAfterBind =
+        descriptorBindingSampledImageUpdateAfterBind_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingStorageImageUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingStorageImageUpdateAfterBind =
+        descriptorBindingStorageImageUpdateAfterBind_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingStorageBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingStorageBufferUpdateAfterBind =
+        descriptorBindingStorageBufferUpdateAfterBind_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingUniformTexelBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformTexelBufferUpdateAfterBind_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingUniformTexelBufferUpdateAfterBind =
+        descriptorBindingUniformTexelBufferUpdateAfterBind_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingStorageTexelBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageTexelBufferUpdateAfterBind_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingStorageTexelBufferUpdateAfterBind =
+        descriptorBindingStorageTexelBufferUpdateAfterBind_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingUpdateUnusedWhilePending(
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingUpdateUnusedWhilePending =
+        descriptorBindingUpdateUnusedWhilePending_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &setDescriptorBindingPartiallyBound(
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingPartiallyBound = descriptorBindingPartiallyBound_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &
+  setDescriptorBindingVariableDescriptorCount(
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingVariableDescriptorCount =
+        descriptorBindingVariableDescriptorCount_;
+    return *this;
+  }
+
+  PhysicalDeviceDescriptorIndexingFeatures &setRuntimeDescriptorArray(
+      VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_)
+      VULKAN_HPP_NOEXCEPT {
+    runtimeDescriptorArray = runtimeDescriptorArray_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDescriptorIndexingFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDescriptorIndexingFeatures *>(this);
+  }
+
+  operator VkPhysicalDeviceDescriptorIndexingFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceDescriptorIndexingFeatures const &) const = default;
+#else
+  bool operator==(PhysicalDeviceDescriptorIndexingFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderInputAttachmentArrayDynamicIndexing ==
+            rhs.shaderInputAttachmentArrayDynamicIndexing) &&
+           (shaderUniformTexelBufferArrayDynamicIndexing ==
+            rhs.shaderUniformTexelBufferArrayDynamicIndexing) &&
+           (shaderStorageTexelBufferArrayDynamicIndexing ==
+            rhs.shaderStorageTexelBufferArrayDynamicIndexing) &&
+           (shaderUniformBufferArrayNonUniformIndexing ==
+            rhs.shaderUniformBufferArrayNonUniformIndexing) &&
+           (shaderSampledImageArrayNonUniformIndexing ==
+            rhs.shaderSampledImageArrayNonUniformIndexing) &&
+           (shaderStorageBufferArrayNonUniformIndexing ==
+            rhs.shaderStorageBufferArrayNonUniformIndexing) &&
+           (shaderStorageImageArrayNonUniformIndexing ==
+            rhs.shaderStorageImageArrayNonUniformIndexing) &&
+           (shaderInputAttachmentArrayNonUniformIndexing ==
+            rhs.shaderInputAttachmentArrayNonUniformIndexing) &&
+           (shaderUniformTexelBufferArrayNonUniformIndexing ==
+            rhs.shaderUniformTexelBufferArrayNonUniformIndexing) &&
+           (shaderStorageTexelBufferArrayNonUniformIndexing ==
+            rhs.shaderStorageTexelBufferArrayNonUniformIndexing) &&
+           (descriptorBindingUniformBufferUpdateAfterBind ==
+            rhs.descriptorBindingUniformBufferUpdateAfterBind) &&
+           (descriptorBindingSampledImageUpdateAfterBind ==
+            rhs.descriptorBindingSampledImageUpdateAfterBind) &&
+           (descriptorBindingStorageImageUpdateAfterBind ==
+            rhs.descriptorBindingStorageImageUpdateAfterBind) &&
+           (descriptorBindingStorageBufferUpdateAfterBind ==
+            rhs.descriptorBindingStorageBufferUpdateAfterBind) &&
+           (descriptorBindingUniformTexelBufferUpdateAfterBind ==
+            rhs.descriptorBindingUniformTexelBufferUpdateAfterBind) &&
+           (descriptorBindingStorageTexelBufferUpdateAfterBind ==
+            rhs.descriptorBindingStorageTexelBufferUpdateAfterBind) &&
+           (descriptorBindingUpdateUnusedWhilePending ==
+            rhs.descriptorBindingUpdateUnusedWhilePending) &&
+           (descriptorBindingPartiallyBound ==
+            rhs.descriptorBindingPartiallyBound) &&
+           (descriptorBindingVariableDescriptorCount ==
+            rhs.descriptorBindingVariableDescriptorCount) &&
+           (runtimeDescriptorArray == rhs.runtimeDescriptorArray);
+  }
+
+  bool operator!=(PhysicalDeviceDescriptorIndexingFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDescriptorIndexingFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      descriptorBindingUniformTexelBufferUpdateAfterBind = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      descriptorBindingStorageTexelBufferUpdateAfterBind = {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending = {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound = {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount = {};
+  VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray = {};
+};
+static_assert(sizeof(PhysicalDeviceDescriptorIndexingFeatures) ==
+                  sizeof(VkPhysicalDeviceDescriptorIndexingFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceDescriptorIndexingFeatures>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceDescriptorIndexingFeatures> {
+  using Type = PhysicalDeviceDescriptorIndexingFeatures;
+};
+using PhysicalDeviceDescriptorIndexingFeaturesEXT =
+    PhysicalDeviceDescriptorIndexingFeatures;
+
+struct PhysicalDeviceDescriptorIndexingProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDescriptorIndexingProperties;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingProperties(
+      uint32_t maxUpdateAfterBindDescriptorsInAllPools_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformBufferArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderSampledImageArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageBufferArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageImageArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderInputAttachmentArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindSamplers_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments_ = {},
+      uint32_t maxPerStageUpdateAfterBindResources_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindSamplers_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindSampledImages_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindStorageImages_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindInputAttachments_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : maxUpdateAfterBindDescriptorsInAllPools(
+            maxUpdateAfterBindDescriptorsInAllPools_),
+        shaderUniformBufferArrayNonUniformIndexingNative(
+            shaderUniformBufferArrayNonUniformIndexingNative_),
+        shaderSampledImageArrayNonUniformIndexingNative(
+            shaderSampledImageArrayNonUniformIndexingNative_),
+        shaderStorageBufferArrayNonUniformIndexingNative(
+            shaderStorageBufferArrayNonUniformIndexingNative_),
+        shaderStorageImageArrayNonUniformIndexingNative(
+            shaderStorageImageArrayNonUniformIndexingNative_),
+        shaderInputAttachmentArrayNonUniformIndexingNative(
+            shaderInputAttachmentArrayNonUniformIndexingNative_),
+        robustBufferAccessUpdateAfterBind(robustBufferAccessUpdateAfterBind_),
+        quadDivergentImplicitLod(quadDivergentImplicitLod_),
+        maxPerStageDescriptorUpdateAfterBindSamplers(
+            maxPerStageDescriptorUpdateAfterBindSamplers_),
+        maxPerStageDescriptorUpdateAfterBindUniformBuffers(
+            maxPerStageDescriptorUpdateAfterBindUniformBuffers_),
+        maxPerStageDescriptorUpdateAfterBindStorageBuffers(
+            maxPerStageDescriptorUpdateAfterBindStorageBuffers_),
+        maxPerStageDescriptorUpdateAfterBindSampledImages(
+            maxPerStageDescriptorUpdateAfterBindSampledImages_),
+        maxPerStageDescriptorUpdateAfterBindStorageImages(
+            maxPerStageDescriptorUpdateAfterBindStorageImages_),
+        maxPerStageDescriptorUpdateAfterBindInputAttachments(
+            maxPerStageDescriptorUpdateAfterBindInputAttachments_),
+        maxPerStageUpdateAfterBindResources(
+            maxPerStageUpdateAfterBindResources_),
+        maxDescriptorSetUpdateAfterBindSamplers(
+            maxDescriptorSetUpdateAfterBindSamplers_),
+        maxDescriptorSetUpdateAfterBindUniformBuffers(
+            maxDescriptorSetUpdateAfterBindUniformBuffers_),
+        maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(
+            maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_),
+        maxDescriptorSetUpdateAfterBindStorageBuffers(
+            maxDescriptorSetUpdateAfterBindStorageBuffers_),
+        maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(
+            maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_),
+        maxDescriptorSetUpdateAfterBindSampledImages(
+            maxDescriptorSetUpdateAfterBindSampledImages_),
+        maxDescriptorSetUpdateAfterBindStorageImages(
+            maxDescriptorSetUpdateAfterBindStorageImages_),
+        maxDescriptorSetUpdateAfterBindInputAttachments(
+            maxDescriptorSetUpdateAfterBindInputAttachments_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingProperties(
+      PhysicalDeviceDescriptorIndexingProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDescriptorIndexingProperties(
+      VkPhysicalDeviceDescriptorIndexingProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDescriptorIndexingProperties(
+            *reinterpret_cast<
+                PhysicalDeviceDescriptorIndexingProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingProperties &
+  operator=(PhysicalDeviceDescriptorIndexingProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDescriptorIndexingProperties &
+  operator=(VkPhysicalDeviceDescriptorIndexingProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties const
+            *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDescriptorIndexingProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDescriptorIndexingProperties *>(this);
+  }
+
+  operator VkPhysicalDeviceDescriptorIndexingProperties &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceDescriptorIndexingProperties const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceDescriptorIndexingProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxUpdateAfterBindDescriptorsInAllPools ==
+            rhs.maxUpdateAfterBindDescriptorsInAllPools) &&
+           (shaderUniformBufferArrayNonUniformIndexingNative ==
+            rhs.shaderUniformBufferArrayNonUniformIndexingNative) &&
+           (shaderSampledImageArrayNonUniformIndexingNative ==
+            rhs.shaderSampledImageArrayNonUniformIndexingNative) &&
+           (shaderStorageBufferArrayNonUniformIndexingNative ==
+            rhs.shaderStorageBufferArrayNonUniformIndexingNative) &&
+           (shaderStorageImageArrayNonUniformIndexingNative ==
+            rhs.shaderStorageImageArrayNonUniformIndexingNative) &&
+           (shaderInputAttachmentArrayNonUniformIndexingNative ==
+            rhs.shaderInputAttachmentArrayNonUniformIndexingNative) &&
+           (robustBufferAccessUpdateAfterBind ==
+            rhs.robustBufferAccessUpdateAfterBind) &&
+           (quadDivergentImplicitLod == rhs.quadDivergentImplicitLod) &&
+           (maxPerStageDescriptorUpdateAfterBindSamplers ==
+            rhs.maxPerStageDescriptorUpdateAfterBindSamplers) &&
+           (maxPerStageDescriptorUpdateAfterBindUniformBuffers ==
+            rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers) &&
+           (maxPerStageDescriptorUpdateAfterBindStorageBuffers ==
+            rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers) &&
+           (maxPerStageDescriptorUpdateAfterBindSampledImages ==
+            rhs.maxPerStageDescriptorUpdateAfterBindSampledImages) &&
+           (maxPerStageDescriptorUpdateAfterBindStorageImages ==
+            rhs.maxPerStageDescriptorUpdateAfterBindStorageImages) &&
+           (maxPerStageDescriptorUpdateAfterBindInputAttachments ==
+            rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments) &&
+           (maxPerStageUpdateAfterBindResources ==
+            rhs.maxPerStageUpdateAfterBindResources) &&
+           (maxDescriptorSetUpdateAfterBindSamplers ==
+            rhs.maxDescriptorSetUpdateAfterBindSamplers) &&
+           (maxDescriptorSetUpdateAfterBindUniformBuffers ==
+            rhs.maxDescriptorSetUpdateAfterBindUniformBuffers) &&
+           (maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ==
+            rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic) &&
+           (maxDescriptorSetUpdateAfterBindStorageBuffers ==
+            rhs.maxDescriptorSetUpdateAfterBindStorageBuffers) &&
+           (maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ==
+            rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic) &&
+           (maxDescriptorSetUpdateAfterBindSampledImages ==
+            rhs.maxDescriptorSetUpdateAfterBindSampledImages) &&
+           (maxDescriptorSetUpdateAfterBindStorageImages ==
+            rhs.maxDescriptorSetUpdateAfterBindStorageImages) &&
+           (maxDescriptorSetUpdateAfterBindInputAttachments ==
+            rhs.maxDescriptorSetUpdateAfterBindInputAttachments);
+  }
+
+  bool operator!=(PhysicalDeviceDescriptorIndexingProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDescriptorIndexingProperties;
+  void *pNext = {};
+  uint32_t maxUpdateAfterBindDescriptorsInAllPools = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      shaderUniformBufferArrayNonUniformIndexingNative = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      shaderStorageBufferArrayNonUniformIndexingNative = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      shaderInputAttachmentArrayNonUniformIndexingNative = {};
+  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind = {};
+  VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments = {};
+  uint32_t maxPerStageUpdateAfterBindResources = {};
+  uint32_t maxDescriptorSetUpdateAfterBindSamplers = {};
+  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers = {};
+  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = {};
+  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers = {};
+  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = {};
+  uint32_t maxDescriptorSetUpdateAfterBindSampledImages = {};
+  uint32_t maxDescriptorSetUpdateAfterBindStorageImages = {};
+  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments = {};
+};
+static_assert(sizeof(PhysicalDeviceDescriptorIndexingProperties) ==
+                  sizeof(VkPhysicalDeviceDescriptorIndexingProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceDescriptorIndexingProperties>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceDescriptorIndexingProperties> {
+  using Type = PhysicalDeviceDescriptorIndexingProperties;
+};
+using PhysicalDeviceDescriptorIndexingPropertiesEXT =
+    PhysicalDeviceDescriptorIndexingProperties;
+
+struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands_ = {})
+      VULKAN_HPP_NOEXCEPT : deviceGeneratedCommands(deviceGeneratedCommands_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
+      PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
+      VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDeviceGeneratedCommandsFeaturesNV &
+  operator=(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDeviceGeneratedCommandsFeaturesNV &
+  operator=(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceDeviceGeneratedCommandsFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceDeviceGeneratedCommandsFeaturesNV &setDeviceGeneratedCommands(
+      VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands_)
+      VULKAN_HPP_NOEXCEPT {
+    deviceGeneratedCommands = deviceGeneratedCommands_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &) const = default;
+#else
+  bool operator==(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceGeneratedCommands == rhs.deviceGeneratedCommands);
+  }
+
+  bool operator!=(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands = {};
+};
+static_assert(sizeof(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceDeviceGeneratedCommandsFeaturesNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV> {
+  using Type = PhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
+};
+
+struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
+      uint32_t maxGraphicsShaderGroupCount_ = {},
+      uint32_t maxIndirectSequenceCount_ = {},
+      uint32_t maxIndirectCommandsTokenCount_ = {},
+      uint32_t maxIndirectCommandsStreamCount_ = {},
+      uint32_t maxIndirectCommandsTokenOffset_ = {},
+      uint32_t maxIndirectCommandsStreamStride_ = {},
+      uint32_t minSequencesCountBufferOffsetAlignment_ = {},
+      uint32_t minSequencesIndexBufferOffsetAlignment_ = {},
+      uint32_t minIndirectCommandsBufferOffsetAlignment_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : maxGraphicsShaderGroupCount(maxGraphicsShaderGroupCount_),
+        maxIndirectSequenceCount(maxIndirectSequenceCount_),
+        maxIndirectCommandsTokenCount(maxIndirectCommandsTokenCount_),
+        maxIndirectCommandsStreamCount(maxIndirectCommandsStreamCount_),
+        maxIndirectCommandsTokenOffset(maxIndirectCommandsTokenOffset_),
+        maxIndirectCommandsStreamStride(maxIndirectCommandsStreamStride_),
+        minSequencesCountBufferOffsetAlignment(
+            minSequencesCountBufferOffsetAlignment_),
+        minSequencesIndexBufferOffsetAlignment(
+            minSequencesIndexBufferOffsetAlignment_),
+        minIndirectCommandsBufferOffsetAlignment(
+            minIndirectCommandsBufferOffsetAlignment_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
+      PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
+      VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
+            *reinterpret_cast<
+                PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDeviceGeneratedCommandsPropertiesNV &
+  operator=(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDeviceGeneratedCommandsPropertiesNV &
+  operator=(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &)
+      const = default;
+#else
+  bool operator==(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxGraphicsShaderGroupCount == rhs.maxGraphicsShaderGroupCount) &&
+           (maxIndirectSequenceCount == rhs.maxIndirectSequenceCount) &&
+           (maxIndirectCommandsTokenCount ==
+            rhs.maxIndirectCommandsTokenCount) &&
+           (maxIndirectCommandsStreamCount ==
+            rhs.maxIndirectCommandsStreamCount) &&
+           (maxIndirectCommandsTokenOffset ==
+            rhs.maxIndirectCommandsTokenOffset) &&
+           (maxIndirectCommandsStreamStride ==
+            rhs.maxIndirectCommandsStreamStride) &&
+           (minSequencesCountBufferOffsetAlignment ==
+            rhs.minSequencesCountBufferOffsetAlignment) &&
+           (minSequencesIndexBufferOffsetAlignment ==
+            rhs.minSequencesIndexBufferOffsetAlignment) &&
+           (minIndirectCommandsBufferOffsetAlignment ==
+            rhs.minIndirectCommandsBufferOffsetAlignment);
+  }
+
+  bool operator!=(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
+  void *pNext = {};
+  uint32_t maxGraphicsShaderGroupCount = {};
+  uint32_t maxIndirectSequenceCount = {};
+  uint32_t maxIndirectCommandsTokenCount = {};
+  uint32_t maxIndirectCommandsStreamCount = {};
+  uint32_t maxIndirectCommandsTokenOffset = {};
+  uint32_t maxIndirectCommandsStreamStride = {};
+  uint32_t minSequencesCountBufferOffsetAlignment = {};
+  uint32_t minSequencesIndexBufferOffsetAlignment = {};
+  uint32_t minIndirectCommandsBufferOffsetAlignment = {};
+};
+static_assert(sizeof(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV) ==
+                  sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceDeviceGeneratedCommandsPropertiesNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV> {
+  using Type = PhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
+};
+
+struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceMemoryReportFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 deviceMemoryReport_ = {}) VULKAN_HPP_NOEXCEPT
+      : deviceMemoryReport(deviceMemoryReport_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceMemoryReportFeaturesEXT(
+      PhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDeviceMemoryReportFeaturesEXT(
+      VkPhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDeviceMemoryReportFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceDeviceMemoryReportFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDeviceMemoryReportFeaturesEXT &
+  operator=(PhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDeviceMemoryReportFeaturesEXT &
+  operator=(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceDeviceMemoryReportFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceDeviceMemoryReportFeaturesEXT &setDeviceMemoryReport(
+      VULKAN_HPP_NAMESPACE::Bool32 deviceMemoryReport_) VULKAN_HPP_NOEXCEPT {
+    deviceMemoryReport = deviceMemoryReport_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDeviceMemoryReportFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceDeviceMemoryReportFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceDeviceMemoryReportFeaturesEXT const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceMemoryReport == rhs.deviceMemoryReport);
+  }
+
+  bool operator!=(PhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 deviceMemoryReport = {};
+};
+static_assert(sizeof(PhysicalDeviceDeviceMemoryReportFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceDeviceMemoryReportFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT> {
+  using Type = PhysicalDeviceDeviceMemoryReportFeaturesEXT;
+};
+
+struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDiagnosticsConfigFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig_ = {}) VULKAN_HPP_NOEXCEPT
+      : diagnosticsConfig(diagnosticsConfig_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDiagnosticsConfigFeaturesNV(
+      PhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDiagnosticsConfigFeaturesNV(
+      VkPhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDiagnosticsConfigFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceDiagnosticsConfigFeaturesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDiagnosticsConfigFeaturesNV &
+  operator=(PhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDiagnosticsConfigFeaturesNV &
+  operator=(VkPhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceDiagnosticsConfigFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceDiagnosticsConfigFeaturesNV &setDiagnosticsConfig(
+      VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig_) VULKAN_HPP_NOEXCEPT {
+    diagnosticsConfig = diagnosticsConfig_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDiagnosticsConfigFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDiagnosticsConfigFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceDiagnosticsConfigFeaturesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDiagnosticsConfigFeaturesNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceDiagnosticsConfigFeaturesNV const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (diagnosticsConfig == rhs.diagnosticsConfig);
+  }
+
+  bool operator!=(PhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig = {};
+};
+static_assert(sizeof(PhysicalDeviceDiagnosticsConfigFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceDiagnosticsConfigFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceDiagnosticsConfigFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV> {
+  using Type = PhysicalDeviceDiagnosticsConfigFeaturesNV;
+};
+
+struct PhysicalDeviceDiscardRectanglePropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDiscardRectanglePropertiesEXT(
+      uint32_t maxDiscardRectangles_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxDiscardRectangles(maxDiscardRectangles_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceDiscardRectanglePropertiesEXT(
+      PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDiscardRectanglePropertiesEXT(
+      VkPhysicalDeviceDiscardRectanglePropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDiscardRectanglePropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceDiscardRectanglePropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDiscardRectanglePropertiesEXT &
+  operator=(PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDiscardRectanglePropertiesEXT &
+  operator=(VkPhysicalDeviceDiscardRectanglePropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT const
+            *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDiscardRectanglePropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceDiscardRectanglePropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceDiscardRectanglePropertiesEXT const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxDiscardRectangles == rhs.maxDiscardRectangles);
+  }
+
+  bool operator!=(PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT;
+  void *pNext = {};
+  uint32_t maxDiscardRectangles = {};
+};
+static_assert(sizeof(PhysicalDeviceDiscardRectanglePropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceDiscardRectanglePropertiesEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT> {
+  using Type = PhysicalDeviceDiscardRectanglePropertiesEXT;
+};
+
+struct PhysicalDeviceDriverProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceDriverProperties;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDriverProperties(
+      VULKAN_HPP_NAMESPACE::DriverId driverID_ =
+          VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary,
+      std::array<char, VK_MAX_DRIVER_NAME_SIZE> const &driverName_ = {},
+      std::array<char, VK_MAX_DRIVER_INFO_SIZE> const &driverInfo_ = {},
+      VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion_ = {})
+      VULKAN_HPP_NOEXCEPT : driverID(driverID_),
+                            driverName(driverName_),
+                            driverInfo(driverInfo_),
+                            conformanceVersion(conformanceVersion_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDriverProperties(
+      PhysicalDeviceDriverProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDriverProperties(VkPhysicalDeviceDriverProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceDriverProperties(
+            *reinterpret_cast<PhysicalDeviceDriverProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDriverProperties &operator=(
+      PhysicalDeviceDriverProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceDriverProperties &
+  operator=(VkPhysicalDeviceDriverProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceDriverProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceDriverProperties *>(this);
+  }
+
+  operator VkPhysicalDeviceDriverProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceDriverProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceDriverProperties const &) const = default;
+#else
+  bool operator==(PhysicalDeviceDriverProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (driverID == rhs.driverID) && (driverName == rhs.driverName) &&
+           (driverInfo == rhs.driverInfo) &&
+           (conformanceVersion == rhs.conformanceVersion);
+  }
+
+  bool operator!=(PhysicalDeviceDriverProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceDriverProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DriverId driverID =
+      VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary;
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_NAME_SIZE>
+      driverName = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_INFO_SIZE>
+      driverInfo = {};
+  VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion = {};
+};
+static_assert(sizeof(PhysicalDeviceDriverProperties) ==
+                  sizeof(VkPhysicalDeviceDriverProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceDriverProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceDriverProperties> {
+  using Type = PhysicalDeviceDriverProperties;
+};
+using PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
+
+struct PhysicalDeviceExclusiveScissorFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExclusiveScissorFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor_ = {}) VULKAN_HPP_NOEXCEPT
+      : exclusiveScissor(exclusiveScissor_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExclusiveScissorFeaturesNV(
+      PhysicalDeviceExclusiveScissorFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExclusiveScissorFeaturesNV(
+      VkPhysicalDeviceExclusiveScissorFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceExclusiveScissorFeaturesNV(
+            *reinterpret_cast<PhysicalDeviceExclusiveScissorFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExclusiveScissorFeaturesNV &
+  operator=(PhysicalDeviceExclusiveScissorFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExclusiveScissorFeaturesNV &
+  operator=(VkPhysicalDeviceExclusiveScissorFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceExclusiveScissorFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceExclusiveScissorFeaturesNV &setExclusiveScissor(
+      VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor_) VULKAN_HPP_NOEXCEPT {
+    exclusiveScissor = exclusiveScissor_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceExclusiveScissorFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceExclusiveScissorFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceExclusiveScissorFeaturesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceExclusiveScissorFeaturesNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceExclusiveScissorFeaturesNV const &) const = default;
+#else
+  bool operator==(PhysicalDeviceExclusiveScissorFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (exclusiveScissor == rhs.exclusiveScissor);
+  }
+
+  bool operator!=(PhysicalDeviceExclusiveScissorFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor = {};
+};
+static_assert(sizeof(PhysicalDeviceExclusiveScissorFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceExclusiveScissorFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceExclusiveScissorFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV> {
+  using Type = PhysicalDeviceExclusiveScissorFeaturesNV;
+};
+
+struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedDynamicStateFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState_ = {})
+      VULKAN_HPP_NOEXCEPT : extendedDynamicState(extendedDynamicState_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedDynamicStateFeaturesEXT(
+      PhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExtendedDynamicStateFeaturesEXT(
+      VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceExtendedDynamicStateFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceExtendedDynamicStateFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicStateFeaturesEXT &
+  operator=(PhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExtendedDynamicStateFeaturesEXT &
+  operator=(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceExtendedDynamicStateFeaturesEXT const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceExtendedDynamicStateFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceExtendedDynamicStateFeaturesEXT &setExtendedDynamicState(
+      VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState_) VULKAN_HPP_NOEXCEPT {
+    extendedDynamicState = extendedDynamicState_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceExtendedDynamicStateFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceExtendedDynamicStateFeaturesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (extendedDynamicState == rhs.extendedDynamicState);
+  }
+
+  bool operator!=(PhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState = {};
+};
+static_assert(sizeof(PhysicalDeviceExtendedDynamicStateFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceExtendedDynamicStateFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT> {
+  using Type = PhysicalDeviceExtendedDynamicStateFeaturesEXT;
+};
+
+struct PhysicalDeviceExternalImageFormatInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceExternalImageFormatInfo;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalImageFormatInfo(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ =
+          VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
+      VULKAN_HPP_NOEXCEPT : handleType(handleType_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalImageFormatInfo(
+      PhysicalDeviceExternalImageFormatInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalImageFormatInfo(
+      VkPhysicalDeviceExternalImageFormatInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceExternalImageFormatInfo(
+            *reinterpret_cast<PhysicalDeviceExternalImageFormatInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalImageFormatInfo &
+  operator=(PhysicalDeviceExternalImageFormatInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalImageFormatInfo &operator=(
+      VkPhysicalDeviceExternalImageFormatInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceExternalImageFormatInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceExternalImageFormatInfo &setHandleType(
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_)
+      VULKAN_HPP_NOEXCEPT {
+    handleType = handleType_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceExternalImageFormatInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo *>(
+        this);
+  }
+
+  operator VkPhysicalDeviceExternalImageFormatInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceExternalImageFormatInfo const &) const = default;
+#else
+  bool operator==(PhysicalDeviceExternalImageFormatInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (handleType == rhs.handleType);
+  }
+
+  bool operator!=(PhysicalDeviceExternalImageFormatInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceExternalImageFormatInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType =
+      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd;
+};
+static_assert(sizeof(PhysicalDeviceExternalImageFormatInfo) ==
+                  sizeof(VkPhysicalDeviceExternalImageFormatInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceExternalImageFormatInfo>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceExternalImageFormatInfo> {
+  using Type = PhysicalDeviceExternalImageFormatInfo;
+};
+using PhysicalDeviceExternalImageFormatInfoKHR =
+    PhysicalDeviceExternalImageFormatInfo;
+
+struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalMemoryHostPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::DeviceSize minImportedHostPointerAlignment_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : minImportedHostPointerAlignment(minImportedHostPointerAlignment_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalMemoryHostPropertiesEXT(
+      PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalMemoryHostPropertiesEXT(
+      VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceExternalMemoryHostPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceExternalMemoryHostPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalMemoryHostPropertiesEXT &
+  operator=(PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceExternalMemoryHostPropertiesEXT &
+  operator=(VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceExternalMemoryHostPropertiesEXT const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceExternalMemoryHostPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceExternalMemoryHostPropertiesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (minImportedHostPointerAlignment ==
+            rhs.minImportedHostPointerAlignment);
+  }
+
+  bool operator!=(PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize minImportedHostPointerAlignment = {};
+};
+static_assert(sizeof(PhysicalDeviceExternalMemoryHostPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceExternalMemoryHostPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT> {
+  using Type = PhysicalDeviceExternalMemoryHostPropertiesEXT;
+};
+
+struct PhysicalDeviceFloatControlsProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceFloatControlsProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceFloatControlsProperties(
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence denormBehaviorIndependence_ =
-        VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence roundingModeIndependence_ =
-        VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFloatControlsProperties(
+      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+          denormBehaviorIndependence_ =
+              VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
+      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+          roundingModeIndependence_ =
+              VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
       VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16_ = {},
       VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32_ = {},
       VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16_           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32_           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64_           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16_        = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32_        = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64_        = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64_          = {} ) VULKAN_HPP_NOEXCEPT
-      : denormBehaviorIndependence( denormBehaviorIndependence_ )
-      , roundingModeIndependence( roundingModeIndependence_ )
-      , shaderSignedZeroInfNanPreserveFloat16( shaderSignedZeroInfNanPreserveFloat16_ )
-      , shaderSignedZeroInfNanPreserveFloat32( shaderSignedZeroInfNanPreserveFloat32_ )
-      , shaderSignedZeroInfNanPreserveFloat64( shaderSignedZeroInfNanPreserveFloat64_ )
-      , shaderDenormPreserveFloat16( shaderDenormPreserveFloat16_ )
-      , shaderDenormPreserveFloat32( shaderDenormPreserveFloat32_ )
-      , shaderDenormPreserveFloat64( shaderDenormPreserveFloat64_ )
-      , shaderDenormFlushToZeroFloat16( shaderDenormFlushToZeroFloat16_ )
-      , shaderDenormFlushToZeroFloat32( shaderDenormFlushToZeroFloat32_ )
-      , shaderDenormFlushToZeroFloat64( shaderDenormFlushToZeroFloat64_ )
-      , shaderRoundingModeRTEFloat16( shaderRoundingModeRTEFloat16_ )
-      , shaderRoundingModeRTEFloat32( shaderRoundingModeRTEFloat32_ )
-      , shaderRoundingModeRTEFloat64( shaderRoundingModeRTEFloat64_ )
-      , shaderRoundingModeRTZFloat16( shaderRoundingModeRTZFloat16_ )
-      , shaderRoundingModeRTZFloat32( shaderRoundingModeRTZFloat32_ )
-      , shaderRoundingModeRTZFloat64( shaderRoundingModeRTZFloat64_ )
-    {}
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : denormBehaviorIndependence(denormBehaviorIndependence_),
+        roundingModeIndependence(roundingModeIndependence_),
+        shaderSignedZeroInfNanPreserveFloat16(
+            shaderSignedZeroInfNanPreserveFloat16_),
+        shaderSignedZeroInfNanPreserveFloat32(
+            shaderSignedZeroInfNanPreserveFloat32_),
+        shaderSignedZeroInfNanPreserveFloat64(
+            shaderSignedZeroInfNanPreserveFloat64_),
+        shaderDenormPreserveFloat16(shaderDenormPreserveFloat16_),
+        shaderDenormPreserveFloat32(shaderDenormPreserveFloat32_),
+        shaderDenormPreserveFloat64(shaderDenormPreserveFloat64_),
+        shaderDenormFlushToZeroFloat16(shaderDenormFlushToZeroFloat16_),
+        shaderDenormFlushToZeroFloat32(shaderDenormFlushToZeroFloat32_),
+        shaderDenormFlushToZeroFloat64(shaderDenormFlushToZeroFloat64_),
+        shaderRoundingModeRTEFloat16(shaderRoundingModeRTEFloat16_),
+        shaderRoundingModeRTEFloat32(shaderRoundingModeRTEFloat32_),
+        shaderRoundingModeRTEFloat64(shaderRoundingModeRTEFloat64_),
+        shaderRoundingModeRTZFloat16(shaderRoundingModeRTZFloat16_),
+        shaderRoundingModeRTZFloat32(shaderRoundingModeRTZFloat32_),
+        shaderRoundingModeRTZFloat64(shaderRoundingModeRTZFloat64_) {}
 
-    PhysicalDeviceFloatControlsProperties( VkPhysicalDeviceFloatControlsProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFloatControlsProperties(
+      PhysicalDeviceFloatControlsProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFloatControlsProperties &
-      operator=( VkPhysicalDeviceFloatControlsProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceFloatControlsProperties(
+      VkPhysicalDeviceFloatControlsProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFloatControlsProperties(
+            *reinterpret_cast<PhysicalDeviceFloatControlsProperties const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceFloatControlsProperties &
-      operator=( PhysicalDeviceFloatControlsProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                 = rhs.pNext;
-      denormBehaviorIndependence            = rhs.denormBehaviorIndependence;
-      roundingModeIndependence              = rhs.roundingModeIndependence;
-      shaderSignedZeroInfNanPreserveFloat16 = rhs.shaderSignedZeroInfNanPreserveFloat16;
-      shaderSignedZeroInfNanPreserveFloat32 = rhs.shaderSignedZeroInfNanPreserveFloat32;
-      shaderSignedZeroInfNanPreserveFloat64 = rhs.shaderSignedZeroInfNanPreserveFloat64;
-      shaderDenormPreserveFloat16           = rhs.shaderDenormPreserveFloat16;
-      shaderDenormPreserveFloat32           = rhs.shaderDenormPreserveFloat32;
-      shaderDenormPreserveFloat64           = rhs.shaderDenormPreserveFloat64;
-      shaderDenormFlushToZeroFloat16        = rhs.shaderDenormFlushToZeroFloat16;
-      shaderDenormFlushToZeroFloat32        = rhs.shaderDenormFlushToZeroFloat32;
-      shaderDenormFlushToZeroFloat64        = rhs.shaderDenormFlushToZeroFloat64;
-      shaderRoundingModeRTEFloat16          = rhs.shaderRoundingModeRTEFloat16;
-      shaderRoundingModeRTEFloat32          = rhs.shaderRoundingModeRTEFloat32;
-      shaderRoundingModeRTEFloat64          = rhs.shaderRoundingModeRTEFloat64;
-      shaderRoundingModeRTZFloat16          = rhs.shaderRoundingModeRTZFloat16;
-      shaderRoundingModeRTZFloat32          = rhs.shaderRoundingModeRTZFloat32;
-      shaderRoundingModeRTZFloat64          = rhs.shaderRoundingModeRTZFloat64;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFloatControlsProperties &
+  operator=(PhysicalDeviceFloatControlsProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceFloatControlsProperties &operator=(
+      VkPhysicalDeviceFloatControlsProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFloatControlsProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties *>( this );
-    }
+  operator VkPhysicalDeviceFloatControlsProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceFloatControlsProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFloatControlsProperties *>( this );
-    }
+  operator VkPhysicalDeviceFloatControlsProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFloatControlsProperties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFloatControlsProperties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceFloatControlsProperties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceFloatControlsProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( denormBehaviorIndependence == rhs.denormBehaviorIndependence ) &&
-             ( roundingModeIndependence == rhs.roundingModeIndependence ) &&
-             ( shaderSignedZeroInfNanPreserveFloat16 == rhs.shaderSignedZeroInfNanPreserveFloat16 ) &&
-             ( shaderSignedZeroInfNanPreserveFloat32 == rhs.shaderSignedZeroInfNanPreserveFloat32 ) &&
-             ( shaderSignedZeroInfNanPreserveFloat64 == rhs.shaderSignedZeroInfNanPreserveFloat64 ) &&
-             ( shaderDenormPreserveFloat16 == rhs.shaderDenormPreserveFloat16 ) &&
-             ( shaderDenormPreserveFloat32 == rhs.shaderDenormPreserveFloat32 ) &&
-             ( shaderDenormPreserveFloat64 == rhs.shaderDenormPreserveFloat64 ) &&
-             ( shaderDenormFlushToZeroFloat16 == rhs.shaderDenormFlushToZeroFloat16 ) &&
-             ( shaderDenormFlushToZeroFloat32 == rhs.shaderDenormFlushToZeroFloat32 ) &&
-             ( shaderDenormFlushToZeroFloat64 == rhs.shaderDenormFlushToZeroFloat64 ) &&
-             ( shaderRoundingModeRTEFloat16 == rhs.shaderRoundingModeRTEFloat16 ) &&
-             ( shaderRoundingModeRTEFloat32 == rhs.shaderRoundingModeRTEFloat32 ) &&
-             ( shaderRoundingModeRTEFloat64 == rhs.shaderRoundingModeRTEFloat64 ) &&
-             ( shaderRoundingModeRTZFloat16 == rhs.shaderRoundingModeRTZFloat16 ) &&
-             ( shaderRoundingModeRTZFloat32 == rhs.shaderRoundingModeRTZFloat32 ) &&
-             ( shaderRoundingModeRTZFloat64 == rhs.shaderRoundingModeRTZFloat64 );
-    }
+  bool operator==(PhysicalDeviceFloatControlsProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (denormBehaviorIndependence == rhs.denormBehaviorIndependence) &&
+           (roundingModeIndependence == rhs.roundingModeIndependence) &&
+           (shaderSignedZeroInfNanPreserveFloat16 ==
+            rhs.shaderSignedZeroInfNanPreserveFloat16) &&
+           (shaderSignedZeroInfNanPreserveFloat32 ==
+            rhs.shaderSignedZeroInfNanPreserveFloat32) &&
+           (shaderSignedZeroInfNanPreserveFloat64 ==
+            rhs.shaderSignedZeroInfNanPreserveFloat64) &&
+           (shaderDenormPreserveFloat16 == rhs.shaderDenormPreserveFloat16) &&
+           (shaderDenormPreserveFloat32 == rhs.shaderDenormPreserveFloat32) &&
+           (shaderDenormPreserveFloat64 == rhs.shaderDenormPreserveFloat64) &&
+           (shaderDenormFlushToZeroFloat16 ==
+            rhs.shaderDenormFlushToZeroFloat16) &&
+           (shaderDenormFlushToZeroFloat32 ==
+            rhs.shaderDenormFlushToZeroFloat32) &&
+           (shaderDenormFlushToZeroFloat64 ==
+            rhs.shaderDenormFlushToZeroFloat64) &&
+           (shaderRoundingModeRTEFloat16 == rhs.shaderRoundingModeRTEFloat16) &&
+           (shaderRoundingModeRTEFloat32 == rhs.shaderRoundingModeRTEFloat32) &&
+           (shaderRoundingModeRTEFloat64 == rhs.shaderRoundingModeRTEFloat64) &&
+           (shaderRoundingModeRTZFloat16 == rhs.shaderRoundingModeRTZFloat16) &&
+           (shaderRoundingModeRTZFloat32 == rhs.shaderRoundingModeRTZFloat32) &&
+           (shaderRoundingModeRTZFloat64 == rhs.shaderRoundingModeRTZFloat64);
+  }
 
-    bool operator!=( PhysicalDeviceFloatControlsProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFloatControlsProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::ePhysicalDeviceFloatControlsProperties;
-    void *                                                pNext = {};
-    VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence denormBehaviorIndependence =
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
-    VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence roundingModeIndependence =
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
-    VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64 = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16           = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32           = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64           = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16        = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32        = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64        = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64          = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFloatControlsProperties ) == sizeof( VkPhysicalDeviceFloatControlsProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFloatControlsProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFloatControlsProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+      denormBehaviorIndependence =
+          VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
+  VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+      roundingModeIndependence =
+          VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64 = {};
+};
+static_assert(sizeof(PhysicalDeviceFloatControlsProperties) ==
+                  sizeof(VkPhysicalDeviceFloatControlsProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceFloatControlsProperties>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFloatControlsProperties>
-  {
-    using Type = PhysicalDeviceFloatControlsProperties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFloatControlsProperties> {
+  using Type = PhysicalDeviceFloatControlsProperties;
+};
+using PhysicalDeviceFloatControlsPropertiesKHR =
+    PhysicalDeviceFloatControlsProperties;
 
-  struct PhysicalDeviceFragmentDensityMap2FeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2FeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred_ = {} ) VULKAN_HPP_NOEXCEPT
-      : fragmentDensityMapDeferred( fragmentDensityMapDeferred_ )
-    {}
-
-    PhysicalDeviceFragmentDensityMap2FeaturesEXT( VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2FeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : fragmentDensityMapDeferred(fragmentDensityMapDeferred_) {}
 
-    PhysicalDeviceFragmentDensityMap2FeaturesEXT &
-      operator=( VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2FeaturesEXT(
+      PhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentDensityMap2FeaturesEXT &
-      operator=( PhysicalDeviceFragmentDensityMap2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      fragmentDensityMapDeferred = rhs.fragmentDensityMapDeferred;
+  PhysicalDeviceFragmentDensityMap2FeaturesEXT(
+      VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentDensityMap2FeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentDensityMap2FeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMap2FeaturesEXT &
+  operator=(PhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentDensityMap2FeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceFragmentDensityMap2FeaturesEXT &
+  operator=(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceFragmentDensityMap2FeaturesEXT &
-      setFragmentDensityMapDeferred( VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentDensityMapDeferred = fragmentDensityMapDeferred_;
-      return *this;
-    }
+  PhysicalDeviceFragmentDensityMap2FeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT *>( this );
-    }
+  PhysicalDeviceFragmentDensityMap2FeaturesEXT &setFragmentDensityMapDeferred(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentDensityMapDeferred = fragmentDensityMapDeferred_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentDensityMap2FeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFragmentDensityMap2FeaturesEXT const & ) const = default;
+  operator VkPhysicalDeviceFragmentDensityMap2FeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceFragmentDensityMap2FeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceFragmentDensityMap2FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( fragmentDensityMapDeferred == rhs.fragmentDensityMapDeferred );
-    }
+  bool operator==(PhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fragmentDensityMapDeferred == rhs.fragmentDensityMapDeferred);
+  }
 
-    bool operator!=( PhysicalDeviceFragmentDensityMap2FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentDensityMapDeferred = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFragmentDensityMap2FeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceFragmentDensityMap2FeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFragmentDensityMap2FeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentDensityMap2FeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentDensityMap2FeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT>
-  {
-    using Type = PhysicalDeviceFragmentDensityMap2FeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT> {
+  using Type = PhysicalDeviceFragmentDensityMap2FeaturesEXT;
+};
 
-  struct PhysicalDeviceFragmentDensityMap2PropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2PropertiesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 subsampledLoads_                           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 subsampledCoarseReconstructionEarlyAccess_ = {},
-      uint32_t                     maxSubsampledArrayLayers_                  = {},
-      uint32_t                     maxDescriptorSetSubsampledSamplers_        = {} ) VULKAN_HPP_NOEXCEPT
-      : subsampledLoads( subsampledLoads_ )
-      , subsampledCoarseReconstructionEarlyAccess( subsampledCoarseReconstructionEarlyAccess_ )
-      , maxSubsampledArrayLayers( maxSubsampledArrayLayers_ )
-      , maxDescriptorSetSubsampledSamplers( maxDescriptorSetSubsampledSamplers_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2PropertiesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 subsampledLoads_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 subsampledCoarseReconstructionEarlyAccess_ =
+          {},
+      uint32_t maxSubsampledArrayLayers_ = {},
+      uint32_t maxDescriptorSetSubsampledSamplers_ = {}) VULKAN_HPP_NOEXCEPT
+      : subsampledLoads(subsampledLoads_),
+        subsampledCoarseReconstructionEarlyAccess(
+            subsampledCoarseReconstructionEarlyAccess_),
+        maxSubsampledArrayLayers(maxSubsampledArrayLayers_),
+        maxDescriptorSetSubsampledSamplers(
+            maxDescriptorSetSubsampledSamplers_) {}
 
-    PhysicalDeviceFragmentDensityMap2PropertiesEXT( VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2PropertiesEXT(
+      PhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentDensityMap2PropertiesEXT(
+      VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceFragmentDensityMap2PropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentDensityMap2PropertiesEXT const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceFragmentDensityMap2PropertiesEXT &
-      operator=( VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMap2PropertiesEXT &
+  operator=(PhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentDensityMap2PropertiesEXT &
-      operator=( PhysicalDeviceFragmentDensityMap2PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                     = rhs.pNext;
-      subsampledLoads                           = rhs.subsampledLoads;
-      subsampledCoarseReconstructionEarlyAccess = rhs.subsampledCoarseReconstructionEarlyAccess;
-      maxSubsampledArrayLayers                  = rhs.maxSubsampledArrayLayers;
-      maxDescriptorSetSubsampledSamplers        = rhs.maxDescriptorSetSubsampledSamplers;
+  PhysicalDeviceFragmentDensityMap2PropertiesEXT &
+  operator=(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceFragmentDensityMap2PropertiesEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceFragmentDensityMap2PropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceFragmentDensityMap2PropertiesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceFragmentDensityMap2PropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFragmentDensityMap2PropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceFragmentDensityMap2PropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceFragmentDensityMap2PropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subsampledLoads == rhs.subsampledLoads ) &&
-             ( subsampledCoarseReconstructionEarlyAccess == rhs.subsampledCoarseReconstructionEarlyAccess ) &&
-             ( maxSubsampledArrayLayers == rhs.maxSubsampledArrayLayers ) &&
-             ( maxDescriptorSetSubsampledSamplers == rhs.maxDescriptorSetSubsampledSamplers );
-    }
+  bool operator==(PhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (subsampledLoads == rhs.subsampledLoads) &&
+           (subsampledCoarseReconstructionEarlyAccess ==
+            rhs.subsampledCoarseReconstructionEarlyAccess) &&
+           (maxSubsampledArrayLayers == rhs.maxSubsampledArrayLayers) &&
+           (maxDescriptorSetSubsampledSamplers ==
+            rhs.maxDescriptorSetSubsampledSamplers);
+  }
 
-    bool operator!=( PhysicalDeviceFragmentDensityMap2PropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              subsampledLoads                           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              subsampledCoarseReconstructionEarlyAccess = {};
-    uint32_t                                  maxSubsampledArrayLayers                  = {};
-    uint32_t                                  maxDescriptorSetSubsampledSamplers        = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFragmentDensityMap2PropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceFragmentDensityMap2PropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFragmentDensityMap2PropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 subsampledLoads = {};
+  VULKAN_HPP_NAMESPACE::Bool32 subsampledCoarseReconstructionEarlyAccess = {};
+  uint32_t maxSubsampledArrayLayers = {};
+  uint32_t maxDescriptorSetSubsampledSamplers = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentDensityMap2PropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentDensityMap2PropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT>
-  {
-    using Type = PhysicalDeviceFragmentDensityMap2PropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT> {
+  using Type = PhysicalDeviceFragmentDensityMap2PropertiesEXT;
+};
 
-  struct PhysicalDeviceFragmentDensityMapFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic_             = {},
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages_ = {} ) VULKAN_HPP_NOEXCEPT
-      : fragmentDensityMap( fragmentDensityMap_ )
-      , fragmentDensityMapDynamic( fragmentDensityMapDynamic_ )
-      , fragmentDensityMapNonSubsampledImages( fragmentDensityMapNonSubsampledImages_ )
-    {}
-
-    PhysicalDeviceFragmentDensityMapFeaturesEXT( VkPhysicalDeviceFragmentDensityMapFeaturesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : fragmentDensityMap(fragmentDensityMap_),
+        fragmentDensityMapDynamic(fragmentDensityMapDynamic_),
+        fragmentDensityMapNonSubsampledImages(
+            fragmentDensityMapNonSubsampledImages_) {}
 
-    PhysicalDeviceFragmentDensityMapFeaturesEXT &
-      operator=( VkPhysicalDeviceFragmentDensityMapFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapFeaturesEXT(
+      PhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentDensityMapFeaturesEXT &
-      operator=( PhysicalDeviceFragmentDensityMapFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                 = rhs.pNext;
-      fragmentDensityMap                    = rhs.fragmentDensityMap;
-      fragmentDensityMapDynamic             = rhs.fragmentDensityMapDynamic;
-      fragmentDensityMapNonSubsampledImages = rhs.fragmentDensityMapNonSubsampledImages;
+  PhysicalDeviceFragmentDensityMapFeaturesEXT(
+      VkPhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentDensityMapFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentDensityMapFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapFeaturesEXT &
+  operator=(PhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentDensityMapFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceFragmentDensityMapFeaturesEXT &
+  operator=(VkPhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceFragmentDensityMapFeaturesEXT &
-      setFragmentDensityMap( VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentDensityMap = fragmentDensityMap_;
-      return *this;
-    }
+  PhysicalDeviceFragmentDensityMapFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceFragmentDensityMapFeaturesEXT &
-      setFragmentDensityMapDynamic( VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentDensityMapDynamic = fragmentDensityMapDynamic_;
-      return *this;
-    }
+  PhysicalDeviceFragmentDensityMapFeaturesEXT &setFragmentDensityMap(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap_) VULKAN_HPP_NOEXCEPT {
+    fragmentDensityMap = fragmentDensityMap_;
+    return *this;
+  }
 
-    PhysicalDeviceFragmentDensityMapFeaturesEXT & setFragmentDensityMapNonSubsampledImages(
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentDensityMapNonSubsampledImages = fragmentDensityMapNonSubsampledImages_;
-      return *this;
-    }
+  PhysicalDeviceFragmentDensityMapFeaturesEXT &setFragmentDensityMapDynamic(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentDensityMapDynamic = fragmentDensityMapDynamic_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentDensityMapFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>( this );
-    }
+  PhysicalDeviceFragmentDensityMapFeaturesEXT &
+  setFragmentDensityMapNonSubsampledImages(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentDensityMapNonSubsampledImages =
+        fragmentDensityMapNonSubsampledImages_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentDensityMapFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceFragmentDensityMapFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFragmentDensityMapFeaturesEXT const & ) const = default;
+  operator VkPhysicalDeviceFragmentDensityMapFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceFragmentDensityMapFeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceFragmentDensityMapFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentDensityMap == rhs.fragmentDensityMap ) &&
-             ( fragmentDensityMapDynamic == rhs.fragmentDensityMapDynamic ) &&
-             ( fragmentDensityMapNonSubsampledImages == rhs.fragmentDensityMapNonSubsampledImages );
-    }
+  bool operator==(PhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fragmentDensityMap == rhs.fragmentDensityMap) &&
+           (fragmentDensityMapDynamic == rhs.fragmentDensityMapDynamic) &&
+           (fragmentDensityMapNonSubsampledImages ==
+            rhs.fragmentDensityMapNonSubsampledImages);
+  }
 
-    bool operator!=( PhysicalDeviceFragmentDensityMapFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentDensityMap                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentDensityMapDynamic             = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentDensityMapNonSubsampledImages = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFragmentDensityMapFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceFragmentDensityMapFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFragmentDensityMapFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentDensityMapFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceFragmentDensityMapFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT>
-  {
-    using Type = PhysicalDeviceFragmentDensityMapFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT> {
+  using Type = PhysicalDeviceFragmentDensityMapFeaturesEXT;
+};
 
-  struct PhysicalDeviceFragmentDensityMapPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapPropertiesEXT(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapPropertiesEXT(
       VULKAN_HPP_NAMESPACE::Extent2D minFragmentDensityTexelSize_ = {},
       VULKAN_HPP_NAMESPACE::Extent2D maxFragmentDensityTexelSize_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32   fragmentDensityInvocations_  = {} ) VULKAN_HPP_NOEXCEPT
-      : minFragmentDensityTexelSize( minFragmentDensityTexelSize_ )
-      , maxFragmentDensityTexelSize( maxFragmentDensityTexelSize_ )
-      , fragmentDensityInvocations( fragmentDensityInvocations_ )
-    {}
-
-    PhysicalDeviceFragmentDensityMapPropertiesEXT( VkPhysicalDeviceFragmentDensityMapPropertiesEXT const & rhs )
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityInvocations_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : minFragmentDensityTexelSize(minFragmentDensityTexelSize_),
+        maxFragmentDensityTexelSize(maxFragmentDensityTexelSize_),
+        fragmentDensityInvocations(fragmentDensityInvocations_) {}
 
-    PhysicalDeviceFragmentDensityMapPropertiesEXT &
-      operator=( VkPhysicalDeviceFragmentDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapPropertiesEXT(
+      PhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentDensityMapPropertiesEXT &
-      operator=( PhysicalDeviceFragmentDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      minFragmentDensityTexelSize = rhs.minFragmentDensityTexelSize;
-      maxFragmentDensityTexelSize = rhs.maxFragmentDensityTexelSize;
-      fragmentDensityInvocations  = rhs.fragmentDensityInvocations;
+  PhysicalDeviceFragmentDensityMapPropertiesEXT(
+      VkPhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentDensityMapPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentDensityMapPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapPropertiesEXT &
+  operator=(PhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDeviceFragmentDensityMapPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>( this );
-    }
+  PhysicalDeviceFragmentDensityMapPropertiesEXT &
+  operator=(VkPhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceFragmentDensityMapPropertiesEXT const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentDensityMapPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceFragmentDensityMapPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFragmentDensityMapPropertiesEXT const & ) const = default;
+  operator VkPhysicalDeviceFragmentDensityMapPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceFragmentDensityMapPropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceFragmentDensityMapPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( minFragmentDensityTexelSize == rhs.minFragmentDensityTexelSize ) &&
-             ( maxFragmentDensityTexelSize == rhs.maxFragmentDensityTexelSize ) &&
-             ( fragmentDensityInvocations == rhs.fragmentDensityInvocations );
-    }
+  bool operator==(PhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (minFragmentDensityTexelSize == rhs.minFragmentDensityTexelSize) &&
+           (maxFragmentDensityTexelSize == rhs.maxFragmentDensityTexelSize) &&
+           (fragmentDensityInvocations == rhs.fragmentDensityInvocations);
+  }
 
-    bool operator!=( PhysicalDeviceFragmentDensityMapPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Extent2D            minFragmentDensityTexelSize = {};
-    VULKAN_HPP_NAMESPACE::Extent2D            maxFragmentDensityTexelSize = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentDensityInvocations  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFragmentDensityMapPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceFragmentDensityMapPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFragmentDensityMapPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Extent2D minFragmentDensityTexelSize = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentDensityTexelSize = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityInvocations = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentDensityMapPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentDensityMapPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT>
-  {
-    using Type = PhysicalDeviceFragmentDensityMapPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT> {
+  using Type = PhysicalDeviceFragmentDensityMapPropertiesEXT;
+};
 
-  struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderBarycentricFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric_ = {} ) VULKAN_HPP_NOEXCEPT
-      : fragmentShaderBarycentric( fragmentShaderBarycentric_ )
-    {}
-
-    PhysicalDeviceFragmentShaderBarycentricFeaturesNV( VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderBarycentricFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : fragmentShaderBarycentric(fragmentShaderBarycentric_) {}
 
-    PhysicalDeviceFragmentShaderBarycentricFeaturesNV &
-      operator=( VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderBarycentricFeaturesNV(
+      PhysicalDeviceFragmentShaderBarycentricFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentShaderBarycentricFeaturesNV &
-      operator=( PhysicalDeviceFragmentShaderBarycentricFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      fragmentShaderBarycentric = rhs.fragmentShaderBarycentric;
+  PhysicalDeviceFragmentShaderBarycentricFeaturesNV(
+      VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentShaderBarycentricFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentShaderBarycentricFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderBarycentricFeaturesNV &
+  operator=(PhysicalDeviceFragmentShaderBarycentricFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentShaderBarycentricFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceFragmentShaderBarycentricFeaturesNV &
+  operator=(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceFragmentShaderBarycentricFeaturesNV const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceFragmentShaderBarycentricFeaturesNV &
-      setFragmentShaderBarycentric( VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentShaderBarycentric = fragmentShaderBarycentric_;
-      return *this;
-    }
+  PhysicalDeviceFragmentShaderBarycentricFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>( this );
-    }
+  PhysicalDeviceFragmentShaderBarycentricFeaturesNV &
+  setFragmentShaderBarycentric(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentShaderBarycentric = fragmentShaderBarycentric_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFragmentShaderBarycentricFeaturesNV const & ) const = default;
+  operator VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceFragmentShaderBarycentricFeaturesNV const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceFragmentShaderBarycentricFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( fragmentShaderBarycentric == rhs.fragmentShaderBarycentric );
-    }
+  bool operator==(PhysicalDeviceFragmentShaderBarycentricFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fragmentShaderBarycentric == rhs.fragmentShaderBarycentric);
+  }
 
-    bool operator!=( PhysicalDeviceFragmentShaderBarycentricFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFragmentShaderBarycentricFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentShaderBarycentric = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFragmentShaderBarycentricFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFragmentShaderBarycentricFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentShaderBarycentricFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentShaderBarycentricFeaturesNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV>
-  {
-    using Type = PhysicalDeviceFragmentShaderBarycentricFeaturesNV;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV> {
+  using Type = PhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+};
 
-  struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderInterlockFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock_ = {} ) VULKAN_HPP_NOEXCEPT
-      : fragmentShaderSampleInterlock( fragmentShaderSampleInterlock_ )
-      , fragmentShaderPixelInterlock( fragmentShaderPixelInterlock_ )
-      , fragmentShaderShadingRateInterlock( fragmentShaderShadingRateInterlock_ )
-    {}
-
-    PhysicalDeviceFragmentShaderInterlockFeaturesEXT( VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderInterlockFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : fragmentShaderSampleInterlock(fragmentShaderSampleInterlock_),
+        fragmentShaderPixelInterlock(fragmentShaderPixelInterlock_),
+        fragmentShaderShadingRateInterlock(
+            fragmentShaderShadingRateInterlock_) {}
 
-    PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
-      operator=( VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderInterlockFeaturesEXT(
+      PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
-      operator=( PhysicalDeviceFragmentShaderInterlockFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                              = rhs.pNext;
-      fragmentShaderSampleInterlock      = rhs.fragmentShaderSampleInterlock;
-      fragmentShaderPixelInterlock       = rhs.fragmentShaderPixelInterlock;
-      fragmentShaderShadingRateInterlock = rhs.fragmentShaderShadingRateInterlock;
+  PhysicalDeviceFragmentShaderInterlockFeaturesEXT(
+      VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentShaderInterlockFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentShaderInterlockFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
+  operator=(PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceFragmentShaderInterlockFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
+  operator=(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceFragmentShaderInterlockFeaturesEXT const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceFragmentShaderInterlockFeaturesEXT & setFragmentShaderSampleInterlock(
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentShaderSampleInterlock = fragmentShaderSampleInterlock_;
-      return *this;
-    }
+  PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
-      setFragmentShaderPixelInterlock( VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentShaderPixelInterlock = fragmentShaderPixelInterlock_;
-      return *this;
-    }
+  PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
+  setFragmentShaderSampleInterlock(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentShaderSampleInterlock = fragmentShaderSampleInterlock_;
+    return *this;
+  }
 
-    PhysicalDeviceFragmentShaderInterlockFeaturesEXT & setFragmentShaderShadingRateInterlock(
-      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentShaderShadingRateInterlock = fragmentShaderShadingRateInterlock_;
-      return *this;
-    }
+  PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
+  setFragmentShaderPixelInterlock(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentShaderPixelInterlock = fragmentShaderPixelInterlock_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>( this );
-    }
+  PhysicalDeviceFragmentShaderInterlockFeaturesEXT &
+  setFragmentShaderShadingRateInterlock(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentShaderShadingRateInterlock = fragmentShaderShadingRateInterlock_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceFragmentShaderInterlockFeaturesEXT const & ) const = default;
+  operator VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceFragmentShaderInterlockFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( fragmentShaderSampleInterlock == rhs.fragmentShaderSampleInterlock ) &&
-             ( fragmentShaderPixelInterlock == rhs.fragmentShaderPixelInterlock ) &&
-             ( fragmentShaderShadingRateInterlock == rhs.fragmentShaderShadingRateInterlock );
-    }
+  bool operator==(PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fragmentShaderSampleInterlock ==
+            rhs.fragmentShaderSampleInterlock) &&
+           (fragmentShaderPixelInterlock == rhs.fragmentShaderPixelInterlock) &&
+           (fragmentShaderShadingRateInterlock ==
+            rhs.fragmentShaderShadingRateInterlock);
+  }
 
-    bool operator!=( PhysicalDeviceFragmentShaderInterlockFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentShaderSampleInterlock      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentShaderPixelInterlock       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fragmentShaderShadingRateInterlock = {};
-  };
-  static_assert( sizeof( PhysicalDeviceFragmentShaderInterlockFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceFragmentShaderInterlockFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentShaderInterlockFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentShaderInterlockFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT>
-  {
-    using Type = PhysicalDeviceFragmentShaderInterlockFeaturesEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT> {
+  using Type = PhysicalDeviceFragmentShaderInterlockFeaturesEXT;
+};
 
-  struct PhysicalDeviceGroupProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceGroupProperties;
+struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGroupProperties(
-      uint32_t                                                                           physicalDeviceCount_ = {},
-      std::array<VULKAN_HPP_NAMESPACE::PhysicalDevice, VK_MAX_DEVICE_GROUP_SIZE> const & physicalDevices_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 subsetAllocation_ = {} ) VULKAN_HPP_NOEXCEPT
-      : physicalDeviceCount( physicalDeviceCount_ )
-      , physicalDevices( physicalDevices_ )
-      , subsetAllocation( subsetAllocation_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateEnums_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 supersampleFragmentShadingRates_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 noInvocationFragmentShadingRates_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : fragmentShadingRateEnums(fragmentShadingRateEnums_),
+        supersampleFragmentShadingRates(supersampleFragmentShadingRates_),
+        noInvocationFragmentShadingRates(noInvocationFragmentShadingRates_) {}
 
-    PhysicalDeviceGroupProperties( VkPhysicalDeviceGroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
+      PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceGroupProperties & operator=( VkPhysicalDeviceGroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
+      VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceGroupProperties & operator=( PhysicalDeviceGroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      physicalDeviceCount = rhs.physicalDeviceCount;
-      physicalDevices     = rhs.physicalDevices;
-      subsetAllocation    = rhs.subsetAllocation;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsFeaturesNV &
+  operator=(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV &
+  operator=(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceGroupProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceGroupProperties *>( this );
-    }
+  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceGroupProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceGroupProperties *>( this );
-    }
+  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV &setFragmentShadingRateEnums(
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateEnums_)
+      VULKAN_HPP_NOEXCEPT {
+    fragmentShadingRateEnums = fragmentShadingRateEnums_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceGroupProperties const & ) const = default;
+  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV &
+  setSupersampleFragmentShadingRates(
+      VULKAN_HPP_NAMESPACE::Bool32 supersampleFragmentShadingRates_)
+      VULKAN_HPP_NOEXCEPT {
+    supersampleFragmentShadingRates = supersampleFragmentShadingRates_;
+    return *this;
+  }
+
+  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV &
+  setNoInvocationFragmentShadingRates(
+      VULKAN_HPP_NAMESPACE::Bool32 noInvocationFragmentShadingRates_)
+      VULKAN_HPP_NOEXCEPT {
+    noInvocationFragmentShadingRates = noInvocationFragmentShadingRates_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &) const = default;
 #else
-    bool operator==( PhysicalDeviceGroupProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( physicalDeviceCount == rhs.physicalDeviceCount ) &&
-             ( physicalDevices == rhs.physicalDevices ) && ( subsetAllocation == rhs.subsetAllocation );
-    }
+  bool operator==(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fragmentShadingRateEnums == rhs.fragmentShadingRateEnums) &&
+           (supersampleFragmentShadingRates ==
+            rhs.supersampleFragmentShadingRates) &&
+           (noInvocationFragmentShadingRates ==
+            rhs.noInvocationFragmentShadingRates);
+  }
 
-    bool operator!=( PhysicalDeviceGroupProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType               = StructureType::ePhysicalDeviceGroupProperties;
-    void *                                    pNext               = {};
-    uint32_t                                  physicalDeviceCount = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::PhysicalDevice, VK_MAX_DEVICE_GROUP_SIZE>
-                                 physicalDevices  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 subsetAllocation = {};
-  };
-  static_assert( sizeof( PhysicalDeviceGroupProperties ) == sizeof( VkPhysicalDeviceGroupProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceGroupProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateEnums = {};
+  VULKAN_HPP_NAMESPACE::Bool32 supersampleFragmentShadingRates = {};
+  VULKAN_HPP_NAMESPACE::Bool32 noInvocationFragmentShadingRates = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceGroupProperties>
-  {
-    using Type = PhysicalDeviceGroupProperties;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV> {
+  using Type = PhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
+};
 
-  struct PhysicalDeviceHostQueryResetFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits
+          maxFragmentShadingRateInvocationCount_ =
+              VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1) VULKAN_HPP_NOEXCEPT
+      : maxFragmentShadingRateInvocationCount(
+            maxFragmentShadingRateInvocationCount_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
+      PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
+      VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsPropertiesNV &
+  operator=(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRateEnumsPropertiesNV &
+  operator=(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceFragmentShadingRateEnumsPropertiesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceFragmentShadingRateEnumsPropertiesNV &
+  setMaxFragmentShadingRateInvocationCount(
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits
+          maxFragmentShadingRateInvocationCount_) VULKAN_HPP_NOEXCEPT {
+    maxFragmentShadingRateInvocationCount =
+        maxFragmentShadingRateInvocationCount_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV *>(this);
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &)
+      const = default;
+#else
+  bool operator==(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxFragmentShadingRateInvocationCount ==
+            rhs.maxFragmentShadingRateInvocationCount);
+  }
+
+  bool operator!=(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits
+      maxFragmentShadingRateInvocationCount =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+};
+static_assert(sizeof(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV) ==
+                  sizeof(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentShadingRateEnumsPropertiesNV>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV> {
+  using Type = PhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
+};
+
+struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 pipelineFragmentShadingRate_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRate_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 attachmentFragmentShadingRate_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : pipelineFragmentShadingRate(pipelineFragmentShadingRate_),
+        primitiveFragmentShadingRate(primitiveFragmentShadingRate_),
+        attachmentFragmentShadingRate(attachmentFragmentShadingRate_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateFeaturesKHR(
+      PhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRateFeaturesKHR(
+      VkPhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentShadingRateFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentShadingRateFeaturesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateFeaturesKHR &
+  operator=(PhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRateFeaturesKHR &
+  operator=(VkPhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceFragmentShadingRateFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceFragmentShadingRateFeaturesKHR &setPipelineFragmentShadingRate(
+      VULKAN_HPP_NAMESPACE::Bool32 pipelineFragmentShadingRate_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineFragmentShadingRate = pipelineFragmentShadingRate_;
+    return *this;
+  }
+
+  PhysicalDeviceFragmentShadingRateFeaturesKHR &setPrimitiveFragmentShadingRate(
+      VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRate_)
+      VULKAN_HPP_NOEXCEPT {
+    primitiveFragmentShadingRate = primitiveFragmentShadingRate_;
+    return *this;
+  }
+
+  PhysicalDeviceFragmentShadingRateFeaturesKHR &
+  setAttachmentFragmentShadingRate(
+      VULKAN_HPP_NAMESPACE::Bool32 attachmentFragmentShadingRate_)
+      VULKAN_HPP_NOEXCEPT {
+    attachmentFragmentShadingRate = attachmentFragmentShadingRate_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *>(this);
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRateFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceFragmentShadingRateFeaturesKHR *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceFragmentShadingRateFeaturesKHR const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pipelineFragmentShadingRate == rhs.pipelineFragmentShadingRate) &&
+           (primitiveFragmentShadingRate == rhs.primitiveFragmentShadingRate) &&
+           (attachmentFragmentShadingRate == rhs.attachmentFragmentShadingRate);
+  }
+
+  bool operator!=(PhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 pipelineFragmentShadingRate = {};
+  VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRate = {};
+  VULKAN_HPP_NAMESPACE::Bool32 attachmentFragmentShadingRate = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentShadingRateFeaturesKHR) ==
+                  sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentShadingRateFeaturesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR> {
+  using Type = PhysicalDeviceFragmentShadingRateFeaturesKHR;
+};
+
+struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRatePropertiesKHR(
+      VULKAN_HPP_NAMESPACE::Extent2D
+          minFragmentShadingRateAttachmentTexelSize_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D
+          maxFragmentShadingRateAttachmentTexelSize_ = {},
+      uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          primitiveFragmentShadingRateWithMultipleViewports_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 layeredShadingRateAttachments_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateNonTrivialCombinerOps_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Extent2D maxFragmentSize_ = {},
+      uint32_t maxFragmentSizeAspectRatio_ = {},
+      uint32_t maxFragmentShadingRateCoverageSamples_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlagBits
+          maxFragmentShadingRateRasterizationSamples_ =
+              VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
+      VULKAN_HPP_NAMESPACE::Bool32
+          fragmentShadingRateWithShaderDepthStencilWrites_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithSampleMask_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderSampleMask_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          fragmentShadingRateWithConservativeRasterization_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          fragmentShadingRateWithFragmentShaderInterlock_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          fragmentShadingRateWithCustomSampleLocations_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateStrictMultiplyCombiner_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : minFragmentShadingRateAttachmentTexelSize(
+            minFragmentShadingRateAttachmentTexelSize_),
+        maxFragmentShadingRateAttachmentTexelSize(
+            maxFragmentShadingRateAttachmentTexelSize_),
+        maxFragmentShadingRateAttachmentTexelSizeAspectRatio(
+            maxFragmentShadingRateAttachmentTexelSizeAspectRatio_),
+        primitiveFragmentShadingRateWithMultipleViewports(
+            primitiveFragmentShadingRateWithMultipleViewports_),
+        layeredShadingRateAttachments(layeredShadingRateAttachments_),
+        fragmentShadingRateNonTrivialCombinerOps(
+            fragmentShadingRateNonTrivialCombinerOps_),
+        maxFragmentSize(maxFragmentSize_),
+        maxFragmentSizeAspectRatio(maxFragmentSizeAspectRatio_),
+        maxFragmentShadingRateCoverageSamples(
+            maxFragmentShadingRateCoverageSamples_),
+        maxFragmentShadingRateRasterizationSamples(
+            maxFragmentShadingRateRasterizationSamples_),
+        fragmentShadingRateWithShaderDepthStencilWrites(
+            fragmentShadingRateWithShaderDepthStencilWrites_),
+        fragmentShadingRateWithSampleMask(fragmentShadingRateWithSampleMask_),
+        fragmentShadingRateWithShaderSampleMask(
+            fragmentShadingRateWithShaderSampleMask_),
+        fragmentShadingRateWithConservativeRasterization(
+            fragmentShadingRateWithConservativeRasterization_),
+        fragmentShadingRateWithFragmentShaderInterlock(
+            fragmentShadingRateWithFragmentShaderInterlock_),
+        fragmentShadingRateWithCustomSampleLocations(
+            fragmentShadingRateWithCustomSampleLocations_),
+        fragmentShadingRateStrictMultiplyCombiner(
+            fragmentShadingRateStrictMultiplyCombiner_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRatePropertiesKHR(
+      PhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRatePropertiesKHR(
+      VkPhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceFragmentShadingRatePropertiesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceFragmentShadingRatePropertiesKHR const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRatePropertiesKHR &
+  operator=(PhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceFragmentShadingRatePropertiesKHR &
+  operator=(VkPhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceFragmentShadingRatePropertiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRatePropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *>(this);
+  }
+
+  operator VkPhysicalDeviceFragmentShadingRatePropertiesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceFragmentShadingRatePropertiesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceFragmentShadingRatePropertiesKHR const &) const = default;
+#else
+  bool operator==(PhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (minFragmentShadingRateAttachmentTexelSize ==
+            rhs.minFragmentShadingRateAttachmentTexelSize) &&
+           (maxFragmentShadingRateAttachmentTexelSize ==
+            rhs.maxFragmentShadingRateAttachmentTexelSize) &&
+           (maxFragmentShadingRateAttachmentTexelSizeAspectRatio ==
+            rhs.maxFragmentShadingRateAttachmentTexelSizeAspectRatio) &&
+           (primitiveFragmentShadingRateWithMultipleViewports ==
+            rhs.primitiveFragmentShadingRateWithMultipleViewports) &&
+           (layeredShadingRateAttachments ==
+            rhs.layeredShadingRateAttachments) &&
+           (fragmentShadingRateNonTrivialCombinerOps ==
+            rhs.fragmentShadingRateNonTrivialCombinerOps) &&
+           (maxFragmentSize == rhs.maxFragmentSize) &&
+           (maxFragmentSizeAspectRatio == rhs.maxFragmentSizeAspectRatio) &&
+           (maxFragmentShadingRateCoverageSamples ==
+            rhs.maxFragmentShadingRateCoverageSamples) &&
+           (maxFragmentShadingRateRasterizationSamples ==
+            rhs.maxFragmentShadingRateRasterizationSamples) &&
+           (fragmentShadingRateWithShaderDepthStencilWrites ==
+            rhs.fragmentShadingRateWithShaderDepthStencilWrites) &&
+           (fragmentShadingRateWithSampleMask ==
+            rhs.fragmentShadingRateWithSampleMask) &&
+           (fragmentShadingRateWithShaderSampleMask ==
+            rhs.fragmentShadingRateWithShaderSampleMask) &&
+           (fragmentShadingRateWithConservativeRasterization ==
+            rhs.fragmentShadingRateWithConservativeRasterization) &&
+           (fragmentShadingRateWithFragmentShaderInterlock ==
+            rhs.fragmentShadingRateWithFragmentShaderInterlock) &&
+           (fragmentShadingRateWithCustomSampleLocations ==
+            rhs.fragmentShadingRateWithCustomSampleLocations) &&
+           (fragmentShadingRateStrictMultiplyCombiner ==
+            rhs.fragmentShadingRateStrictMultiplyCombiner);
+  }
+
+  bool operator!=(PhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Extent2D minFragmentShadingRateAttachmentTexelSize = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentShadingRateAttachmentTexelSize = {};
+  uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      primitiveFragmentShadingRateWithMultipleViewports = {};
+  VULKAN_HPP_NAMESPACE::Bool32 layeredShadingRateAttachments = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateNonTrivialCombinerOps = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentSize = {};
+  uint32_t maxFragmentSizeAspectRatio = {};
+  uint32_t maxFragmentShadingRateCoverageSamples = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlagBits
+      maxFragmentShadingRateRasterizationSamples =
+          VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderDepthStencilWrites =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithSampleMask = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderSampleMask = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      fragmentShadingRateWithConservativeRasterization = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithFragmentShaderInterlock =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithCustomSampleLocations =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateStrictMultiplyCombiner = {};
+};
+static_assert(sizeof(PhysicalDeviceFragmentShadingRatePropertiesKHR) ==
+                  sizeof(VkPhysicalDeviceFragmentShadingRatePropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceFragmentShadingRatePropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR> {
+  using Type = PhysicalDeviceFragmentShadingRatePropertiesKHR;
+};
+
+struct PhysicalDeviceGroupProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceGroupProperties;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGroupProperties(
+      uint32_t physicalDeviceCount_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::PhysicalDevice,
+                 VK_MAX_DEVICE_GROUP_SIZE> const &physicalDevices_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 subsetAllocation_ = {}) VULKAN_HPP_NOEXCEPT
+      : physicalDeviceCount(physicalDeviceCount_),
+        physicalDevices(physicalDevices_),
+        subsetAllocation(subsetAllocation_) {}
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGroupProperties(
+      PhysicalDeviceGroupProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceGroupProperties(VkPhysicalDeviceGroupProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceGroupProperties(
+            *reinterpret_cast<PhysicalDeviceGroupProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGroupProperties &operator=(
+      PhysicalDeviceGroupProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceGroupProperties &
+  operator=(VkPhysicalDeviceGroupProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceGroupProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceGroupProperties *>(this);
+  }
+
+  operator VkPhysicalDeviceGroupProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceGroupProperties *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceGroupProperties const &) const = default;
+#else
+  bool operator==(PhysicalDeviceGroupProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (physicalDeviceCount == rhs.physicalDeviceCount) &&
+           (physicalDevices == rhs.physicalDevices) &&
+           (subsetAllocation == rhs.subsetAllocation);
+  }
+
+  bool operator!=(PhysicalDeviceGroupProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceGroupProperties;
+  void *pNext = {};
+  uint32_t physicalDeviceCount = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::PhysicalDevice,
+                                       VK_MAX_DEVICE_GROUP_SIZE>
+      physicalDevices = {};
+  VULKAN_HPP_NAMESPACE::Bool32 subsetAllocation = {};
+};
+static_assert(sizeof(PhysicalDeviceGroupProperties) ==
+                  sizeof(VkPhysicalDeviceGroupProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceGroupProperties>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceGroupProperties> {
+  using Type = PhysicalDeviceGroupProperties;
+};
+using PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
+
+struct PhysicalDeviceHostQueryResetFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceHostQueryResetFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceHostQueryResetFeatures( VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_ = {} ) VULKAN_HPP_NOEXCEPT
-      : hostQueryReset( hostQueryReset_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceHostQueryResetFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_ = {}) VULKAN_HPP_NOEXCEPT
+      : hostQueryReset(hostQueryReset_) {}
 
-    PhysicalDeviceHostQueryResetFeatures( VkPhysicalDeviceHostQueryResetFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceHostQueryResetFeatures(
+      PhysicalDeviceHostQueryResetFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceHostQueryResetFeatures &
-      operator=( VkPhysicalDeviceHostQueryResetFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceHostQueryResetFeatures(
+      VkPhysicalDeviceHostQueryResetFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceHostQueryResetFeatures(
+            *reinterpret_cast<PhysicalDeviceHostQueryResetFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceHostQueryResetFeatures &
-      operator=( PhysicalDeviceHostQueryResetFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      hostQueryReset = rhs.hostQueryReset;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceHostQueryResetFeatures &
+  operator=(PhysicalDeviceHostQueryResetFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceHostQueryResetFeatures &operator=(
+      VkPhysicalDeviceHostQueryResetFeatures const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceHostQueryResetFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceHostQueryResetFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceHostQueryResetFeatures &
-      setHostQueryReset( VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      hostQueryReset = hostQueryReset_;
-      return *this;
-    }
+  PhysicalDeviceHostQueryResetFeatures &setHostQueryReset(
+      VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_) VULKAN_HPP_NOEXCEPT {
+    hostQueryReset = hostQueryReset_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceHostQueryResetFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures *>( this );
-    }
+  operator VkPhysicalDeviceHostQueryResetFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceHostQueryResetFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceHostQueryResetFeatures *>( this );
-    }
+  operator VkPhysicalDeviceHostQueryResetFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceHostQueryResetFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceHostQueryResetFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceHostQueryResetFeatures const &) const = default;
 #else
-    bool operator==( PhysicalDeviceHostQueryResetFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( hostQueryReset == rhs.hostQueryReset );
-    }
+  bool operator==(PhysicalDeviceHostQueryResetFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (hostQueryReset == rhs.hostQueryReset);
+  }
 
-    bool operator!=( PhysicalDeviceHostQueryResetFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceHostQueryResetFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::ePhysicalDeviceHostQueryResetFeatures;
-    void *                                    pNext          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              hostQueryReset = {};
-  };
-  static_assert( sizeof( PhysicalDeviceHostQueryResetFeatures ) == sizeof( VkPhysicalDeviceHostQueryResetFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceHostQueryResetFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceHostQueryResetFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset = {};
+};
+static_assert(sizeof(PhysicalDeviceHostQueryResetFeatures) ==
+                  sizeof(VkPhysicalDeviceHostQueryResetFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceHostQueryResetFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceHostQueryResetFeatures>
-  {
-    using Type = PhysicalDeviceHostQueryResetFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceHostQueryResetFeatures> {
+  using Type = PhysicalDeviceHostQueryResetFeatures;
+};
+using PhysicalDeviceHostQueryResetFeaturesEXT =
+    PhysicalDeviceHostQueryResetFeatures;
 
-  struct PhysicalDeviceIDProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceIdProperties;
+struct PhysicalDeviceIDProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceIdProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    PhysicalDeviceIDProperties( std::array<uint8_t, VK_UUID_SIZE> const & deviceUUID_      = {},
-                                std::array<uint8_t, VK_UUID_SIZE> const & driverUUID_      = {},
-                                std::array<uint8_t, VK_LUID_SIZE> const & deviceLUID_      = {},
-                                uint32_t                                  deviceNodeMask_  = {},
-                                VULKAN_HPP_NAMESPACE::Bool32              deviceLUIDValid_ = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceUUID( deviceUUID_ )
-      , driverUUID( driverUUID_ )
-      , deviceLUID( deviceLUID_ )
-      , deviceNodeMask( deviceNodeMask_ )
-      , deviceLUIDValid( deviceLUIDValid_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIDProperties(
+      std::array<uint8_t, VK_UUID_SIZE> const &deviceUUID_ = {},
+      std::array<uint8_t, VK_UUID_SIZE> const &driverUUID_ = {},
+      std::array<uint8_t, VK_LUID_SIZE> const &deviceLUID_ = {},
+      uint32_t deviceNodeMask_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid_ = {}) VULKAN_HPP_NOEXCEPT
+      : deviceUUID(deviceUUID_),
+        driverUUID(driverUUID_),
+        deviceLUID(deviceLUID_),
+        deviceNodeMask(deviceNodeMask_),
+        deviceLUIDValid(deviceLUIDValid_) {}
 
-    PhysicalDeviceIDProperties( VkPhysicalDeviceIDProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIDProperties(
+      PhysicalDeviceIDProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceIDProperties & operator=( VkPhysicalDeviceIDProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceIDProperties(VkPhysicalDeviceIDProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceIDProperties(
+            *reinterpret_cast<PhysicalDeviceIDProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceIDProperties & operator=( PhysicalDeviceIDProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      deviceUUID      = rhs.deviceUUID;
-      driverUUID      = rhs.driverUUID;
-      deviceLUID      = rhs.deviceLUID;
-      deviceNodeMask  = rhs.deviceNodeMask;
-      deviceLUIDValid = rhs.deviceLUIDValid;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIDProperties &operator=(
+      PhysicalDeviceIDProperties const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceIDProperties &
+  operator=(VkPhysicalDeviceIDProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceIDProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceIDProperties *>( this );
-    }
+  operator VkPhysicalDeviceIDProperties const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceIDProperties *>(this);
+  }
 
-    operator VkPhysicalDeviceIDProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceIDProperties *>( this );
-    }
+  operator VkPhysicalDeviceIDProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceIDProperties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceIDProperties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceIDProperties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceIDProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceUUID == rhs.deviceUUID ) &&
-             ( driverUUID == rhs.driverUUID ) && ( deviceLUID == rhs.deviceLUID ) &&
-             ( deviceNodeMask == rhs.deviceNodeMask ) && ( deviceLUIDValid == rhs.deviceLUIDValid );
-    }
+  bool
+  operator==(PhysicalDeviceIDProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceUUID == rhs.deviceUUID) && (driverUUID == rhs.driverUUID) &&
+           (deviceLUID == rhs.deviceLUID) &&
+           (deviceNodeMask == rhs.deviceNodeMask) &&
+           (deviceLUIDValid == rhs.deviceLUIDValid);
+  }
 
-    bool operator!=( PhysicalDeviceIDProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(PhysicalDeviceIDProperties const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                   sType      = StructureType::ePhysicalDeviceIdProperties;
-    void *                                                      pNext      = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> deviceUUID = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> driverUUID = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_LUID_SIZE> deviceLUID = {};
-    uint32_t                                                    deviceNodeMask  = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                deviceLUIDValid = {};
-  };
-  static_assert( sizeof( PhysicalDeviceIDProperties ) == sizeof( VkPhysicalDeviceIDProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceIDProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceIdProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> deviceUUID = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> driverUUID = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_LUID_SIZE> deviceLUID = {};
+  uint32_t deviceNodeMask = {};
+  VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid = {};
+};
+static_assert(sizeof(PhysicalDeviceIDProperties) ==
+                  sizeof(VkPhysicalDeviceIDProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceIDProperties>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceIdProperties>
-  {
-    using Type = PhysicalDeviceIDProperties;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceIdProperties> {
+  using Type = PhysicalDeviceIDProperties;
+};
+using PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
 
-  struct PhysicalDeviceImageDrmFormatModifierInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceImageDrmFormatModifierInfoEXT(
-      uint64_t                          drmFormatModifier_     = {},
-      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_           = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
-      uint32_t                          queueFamilyIndexCount_ = {},
-      const uint32_t *                  pQueueFamilyIndices_   = {} ) VULKAN_HPP_NOEXCEPT
-      : drmFormatModifier( drmFormatModifier_ )
-      , sharingMode( sharingMode_ )
-      , queueFamilyIndexCount( queueFamilyIndexCount_ )
-      , pQueueFamilyIndices( pQueueFamilyIndices_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageDrmFormatModifierInfoEXT(
+      uint64_t drmFormatModifier_ = {},
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_ =
+          VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
+      uint32_t queueFamilyIndexCount_ = {},
+      const uint32_t *pQueueFamilyIndices_ = {}) VULKAN_HPP_NOEXCEPT
+      : drmFormatModifier(drmFormatModifier_),
+        sharingMode(sharingMode_),
+        queueFamilyIndexCount(queueFamilyIndexCount_),
+        pQueueFamilyIndices(pQueueFamilyIndices_) {}
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT( VkPhysicalDeviceImageDrmFormatModifierInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageDrmFormatModifierInfoEXT(
+      PhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceImageDrmFormatModifierInfoEXT(
+      VkPhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : PhysicalDeviceImageDrmFormatModifierInfoEXT(
+            *reinterpret_cast<
+                PhysicalDeviceImageDrmFormatModifierInfoEXT const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PhysicalDeviceImageDrmFormatModifierInfoEXT(
-      uint64_t                                                              drmFormatModifier_,
-      VULKAN_HPP_NAMESPACE::SharingMode                                     sharingMode_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ )
-      : drmFormatModifier( drmFormatModifier_ )
-      , sharingMode( sharingMode_ )
-      , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
-      , pQueueFamilyIndices( queueFamilyIndices_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PhysicalDeviceImageDrmFormatModifierInfoEXT(
+      uint64_t drmFormatModifier_,
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_)
+      : drmFormatModifier(drmFormatModifier_), sharingMode(sharingMode_),
+        queueFamilyIndexCount(
+            static_cast<uint32_t>(queueFamilyIndices_.size())),
+        pQueueFamilyIndices(queueFamilyIndices_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT &
-      operator=( VkPhysicalDeviceImageDrmFormatModifierInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageDrmFormatModifierInfoEXT &
+  operator=(PhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT &
-      operator=( PhysicalDeviceImageDrmFormatModifierInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      drmFormatModifier     = rhs.drmFormatModifier;
-      sharingMode           = rhs.sharingMode;
-      queueFamilyIndexCount = rhs.queueFamilyIndexCount;
-      pQueueFamilyIndices   = rhs.pQueueFamilyIndices;
+  PhysicalDeviceImageDrmFormatModifierInfoEXT &
+  operator=(VkPhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceImageDrmFormatModifierInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceImageDrmFormatModifierInfoEXT &
+  setDrmFormatModifier(uint64_t drmFormatModifier_) VULKAN_HPP_NOEXCEPT {
+    drmFormatModifier = drmFormatModifier_;
+    return *this;
+  }
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT &
-      setDrmFormatModifier( uint64_t drmFormatModifier_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drmFormatModifier = drmFormatModifier_;
-      return *this;
-    }
+  PhysicalDeviceImageDrmFormatModifierInfoEXT &setSharingMode(
+      VULKAN_HPP_NAMESPACE::SharingMode sharingMode_) VULKAN_HPP_NOEXCEPT {
+    sharingMode = sharingMode_;
+    return *this;
+  }
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT &
-      setSharingMode( VULKAN_HPP_NAMESPACE::SharingMode sharingMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sharingMode = sharingMode_;
-      return *this;
-    }
+  PhysicalDeviceImageDrmFormatModifierInfoEXT &setQueueFamilyIndexCount(
+      uint32_t queueFamilyIndexCount_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = queueFamilyIndexCount_;
+    return *this;
+  }
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT &
-      setQueueFamilyIndexCount( uint32_t queueFamilyIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = queueFamilyIndexCount_;
-      return *this;
-    }
+  PhysicalDeviceImageDrmFormatModifierInfoEXT &setPQueueFamilyIndices(
+      const uint32_t *pQueueFamilyIndices_) VULKAN_HPP_NOEXCEPT {
+    pQueueFamilyIndices = pQueueFamilyIndices_;
+    return *this;
+  }
 
-    PhysicalDeviceImageDrmFormatModifierInfoEXT &
-      setPQueueFamilyIndices( const uint32_t * pQueueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pQueueFamilyIndices = pQueueFamilyIndices_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PhysicalDeviceImageDrmFormatModifierInfoEXT &setQueueFamilyIndices(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT {
+    queueFamilyIndexCount = static_cast<uint32_t>(queueFamilyIndices_.size());
+    pQueueFamilyIndices = queueFamilyIndices_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PhysicalDeviceImageDrmFormatModifierInfoEXT & setQueueFamilyIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
-      pQueueFamilyIndices   = queueFamilyIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPhysicalDeviceImageDrmFormatModifierInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceImageDrmFormatModifierInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>( this );
-    }
+  operator VkPhysicalDeviceImageDrmFormatModifierInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceImageDrmFormatModifierInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceImageDrmFormatModifierInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceImageDrmFormatModifierInfoEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceImageDrmFormatModifierInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifier == rhs.drmFormatModifier ) &&
-             ( sharingMode == rhs.sharingMode ) && ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) &&
-             ( pQueueFamilyIndices == rhs.pQueueFamilyIndices );
-    }
+  bool operator==(PhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (drmFormatModifier == rhs.drmFormatModifier) &&
+           (sharingMode == rhs.sharingMode) &&
+           (queueFamilyIndexCount == rhs.queueFamilyIndexCount) &&
+           (pQueueFamilyIndices == rhs.pQueueFamilyIndices);
+  }
 
-    bool operator!=( PhysicalDeviceImageDrmFormatModifierInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT;
-    const void *                              pNext = {};
-    uint64_t                                  drmFormatModifier     = {};
-    VULKAN_HPP_NAMESPACE::SharingMode         sharingMode           = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
-    uint32_t                                  queueFamilyIndexCount = {};
-    const uint32_t *                          pQueueFamilyIndices   = {};
-  };
-  static_assert( sizeof( PhysicalDeviceImageDrmFormatModifierInfoEXT ) ==
-                   sizeof( VkPhysicalDeviceImageDrmFormatModifierInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceImageDrmFormatModifierInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT;
+  const void *pNext = {};
+  uint64_t drmFormatModifier = {};
+  VULKAN_HPP_NAMESPACE::SharingMode sharingMode =
+      VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
+  uint32_t queueFamilyIndexCount = {};
+  const uint32_t *pQueueFamilyIndices = {};
+};
+static_assert(sizeof(PhysicalDeviceImageDrmFormatModifierInfoEXT) ==
+                  sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceImageDrmFormatModifierInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT>
-  {
-    using Type = PhysicalDeviceImageDrmFormatModifierInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT> {
+  using Type = PhysicalDeviceImageDrmFormatModifierInfoEXT;
+};
 
-  struct PhysicalDeviceImageFormatInfo2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceImageFormatInfo2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceImageFormatInfo2(
-      VULKAN_HPP_NAMESPACE::Format           format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::ImageType        type_   = VULKAN_HPP_NAMESPACE::ImageType::e1D,
-      VULKAN_HPP_NAMESPACE::ImageTiling      tiling_ = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal,
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags  usage_  = {},
-      VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_  = {} ) VULKAN_HPP_NOEXCEPT
-      : format( format_ )
-      , type( type_ )
-      , tiling( tiling_ )
-      , usage( usage_ )
-      , flags( flags_ )
-    {}
-
-    PhysicalDeviceImageFormatInfo2( VkPhysicalDeviceImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceImageFormatInfo2 & operator=( VkPhysicalDeviceImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceImageFormatInfo2 & operator=( PhysicalDeviceImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      format = rhs.format;
-      type   = rhs.type;
-      tiling = rhs.tiling;
-      usage  = rhs.usage;
-      flags  = rhs.flags;
-
-      return *this;
-    }
-
-    PhysicalDeviceImageFormatInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PhysicalDeviceImageFormatInfo2 & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
-
-    PhysicalDeviceImageFormatInfo2 & setType( VULKAN_HPP_NAMESPACE::ImageType type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    PhysicalDeviceImageFormatInfo2 & setTiling( VULKAN_HPP_NAMESPACE::ImageTiling tiling_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tiling = tiling_;
-      return *this;
-    }
-
-    PhysicalDeviceImageFormatInfo2 & setUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      usage = usage_;
-      return *this;
-    }
-
-    PhysicalDeviceImageFormatInfo2 & setFlags( VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceImageFormatInfo2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( this );
-    }
-
-    operator VkPhysicalDeviceImageFormatInfo2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceImageFormatInfo2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceImageFormatInfo2 const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceImageFormatInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( type == rhs.type ) &&
-             ( tiling == rhs.tiling ) && ( usage == rhs.usage ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( PhysicalDeviceImageFormatInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::ePhysicalDeviceImageFormatInfo2;
-    const void *                              pNext  = {};
-    VULKAN_HPP_NAMESPACE::Format              format = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::ImageType           type   = VULKAN_HPP_NAMESPACE::ImageType::e1D;
-    VULKAN_HPP_NAMESPACE::ImageTiling         tiling = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal;
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage  = {};
-    VULKAN_HPP_NAMESPACE::ImageCreateFlags    flags  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceImageFormatInfo2 ) == sizeof( VkPhysicalDeviceImageFormatInfo2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceImageFormatInfo2>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceImageFormatInfo2>
-  {
-    using Type = PhysicalDeviceImageFormatInfo2;
-  };
-
-  struct PhysicalDeviceImageRobustnessFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceImageRobustnessFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceImageRobustnessFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_ = {} ) VULKAN_HPP_NOEXCEPT
-      : robustImageAccess( robustImageAccess_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageRobustnessFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_ = {}) VULKAN_HPP_NOEXCEPT
+      : robustImageAccess(robustImageAccess_) {}
 
-    PhysicalDeviceImageRobustnessFeaturesEXT( VkPhysicalDeviceImageRobustnessFeaturesEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageRobustnessFeaturesEXT(
+      PhysicalDeviceImageRobustnessFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceImageRobustnessFeaturesEXT &
-      operator=( VkPhysicalDeviceImageRobustnessFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceImageRobustnessFeaturesEXT(
+      VkPhysicalDeviceImageRobustnessFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceImageRobustnessFeaturesEXT(
+            *reinterpret_cast<PhysicalDeviceImageRobustnessFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceImageRobustnessFeaturesEXT &
-      operator=( PhysicalDeviceImageRobustnessFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      robustImageAccess = rhs.robustImageAccess;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageRobustnessFeaturesEXT &
+  operator=(PhysicalDeviceImageRobustnessFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceImageRobustnessFeaturesEXT &
+  operator=(VkPhysicalDeviceImageRobustnessFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceImageRobustnessFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceImageRobustnessFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceImageRobustnessFeaturesEXT &
-      setRobustImageAccess( VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      robustImageAccess = robustImageAccess_;
-      return *this;
-    }
+  PhysicalDeviceImageRobustnessFeaturesEXT &setRobustImageAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_) VULKAN_HPP_NOEXCEPT {
+    robustImageAccess = robustImageAccess_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceImageRobustnessFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceImageRobustnessFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceImageRobustnessFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceImageRobustnessFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceImageRobustnessFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceImageRobustnessFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceImageRobustnessFeaturesEXT *>(
+        this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceImageRobustnessFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceImageRobustnessFeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceImageRobustnessFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( robustImageAccess == rhs.robustImageAccess );
-    }
+  bool operator==(PhysicalDeviceImageRobustnessFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (robustImageAccess == rhs.robustImageAccess);
+  }
 
-    bool operator!=( PhysicalDeviceImageRobustnessFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceImageRobustnessFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              robustImageAccess = {};
-  };
-  static_assert( sizeof( PhysicalDeviceImageRobustnessFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceImageRobustnessFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceImageRobustnessFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess = {};
+};
+static_assert(sizeof(PhysicalDeviceImageRobustnessFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceImageRobustnessFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceImageRobustnessFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT>
-  {
-    using Type = PhysicalDeviceImageRobustnessFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT> {
+  using Type = PhysicalDeviceImageRobustnessFeaturesEXT;
+};
 
-  struct PhysicalDeviceImageViewImageFormatInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceImageViewImageFormatInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceImageViewImageFormatInfoEXT( VULKAN_HPP_NAMESPACE::ImageViewType imageViewType_ =
-                                                 VULKAN_HPP_NAMESPACE::ImageViewType::e1D ) VULKAN_HPP_NOEXCEPT
-      : imageViewType( imageViewType_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageViewImageFormatInfoEXT(
+      VULKAN_HPP_NAMESPACE::ImageViewType imageViewType_ =
+          VULKAN_HPP_NAMESPACE::ImageViewType::e1D) VULKAN_HPP_NOEXCEPT
+      : imageViewType(imageViewType_) {}
 
-    PhysicalDeviceImageViewImageFormatInfoEXT( VkPhysicalDeviceImageViewImageFormatInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageViewImageFormatInfoEXT(
+      PhysicalDeviceImageViewImageFormatInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceImageViewImageFormatInfoEXT(
+      VkPhysicalDeviceImageViewImageFormatInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceImageViewImageFormatInfoEXT(
+            *reinterpret_cast<
+                PhysicalDeviceImageViewImageFormatInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceImageViewImageFormatInfoEXT &
-      operator=( VkPhysicalDeviceImageViewImageFormatInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageViewImageFormatInfoEXT &
+  operator=(PhysicalDeviceImageViewImageFormatInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceImageViewImageFormatInfoEXT &
-      operator=( PhysicalDeviceImageViewImageFormatInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      imageViewType = rhs.imageViewType;
+  PhysicalDeviceImageViewImageFormatInfoEXT &
+  operator=(VkPhysicalDeviceImageViewImageFormatInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceImageViewImageFormatInfoEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceImageViewImageFormatInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceImageViewImageFormatInfoEXT &setImageViewType(
+      VULKAN_HPP_NAMESPACE::ImageViewType imageViewType_) VULKAN_HPP_NOEXCEPT {
+    imageViewType = imageViewType_;
+    return *this;
+  }
 
-    PhysicalDeviceImageViewImageFormatInfoEXT &
-      setImageViewType( VULKAN_HPP_NAMESPACE::ImageViewType imageViewType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageViewType = imageViewType_;
-      return *this;
-    }
+  operator VkPhysicalDeviceImageViewImageFormatInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceImageViewImageFormatInfoEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceImageViewImageFormatInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT *>( this );
-    }
+  operator VkPhysicalDeviceImageViewImageFormatInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceImageViewImageFormatInfoEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceImageViewImageFormatInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceImageViewImageFormatInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceImageViewImageFormatInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceImageViewImageFormatInfoEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceImageViewImageFormatInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageViewType == rhs.imageViewType );
-    }
+  bool operator==(PhysicalDeviceImageViewImageFormatInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (imageViewType == rhs.imageViewType);
+  }
 
-    bool operator!=( PhysicalDeviceImageViewImageFormatInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceImageViewImageFormatInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT;
-    void *                                    pNext         = {};
-    VULKAN_HPP_NAMESPACE::ImageViewType       imageViewType = VULKAN_HPP_NAMESPACE::ImageViewType::e1D;
-  };
-  static_assert( sizeof( PhysicalDeviceImageViewImageFormatInfoEXT ) ==
-                   sizeof( VkPhysicalDeviceImageViewImageFormatInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceImageViewImageFormatInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageViewType imageViewType =
+      VULKAN_HPP_NAMESPACE::ImageViewType::e1D;
+};
+static_assert(sizeof(PhysicalDeviceImageViewImageFormatInfoEXT) ==
+                  sizeof(VkPhysicalDeviceImageViewImageFormatInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceImageViewImageFormatInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT>
-  {
-    using Type = PhysicalDeviceImageViewImageFormatInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT> {
+  using Type = PhysicalDeviceImageViewImageFormatInfoEXT;
+};
 
-  struct PhysicalDeviceImagelessFramebufferFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceImagelessFramebufferFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceImagelessFramebufferFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceImagelessFramebufferFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_ = {} ) VULKAN_HPP_NOEXCEPT
-      : imagelessFramebuffer( imagelessFramebuffer_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImagelessFramebufferFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_ = {})
+      VULKAN_HPP_NOEXCEPT : imagelessFramebuffer(imagelessFramebuffer_) {}
 
-    PhysicalDeviceImagelessFramebufferFeatures( VkPhysicalDeviceImagelessFramebufferFeatures const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceImagelessFramebufferFeatures(
+      PhysicalDeviceImagelessFramebufferFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceImagelessFramebufferFeatures(
+      VkPhysicalDeviceImagelessFramebufferFeatures const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceImagelessFramebufferFeatures(
+            *reinterpret_cast<
+                PhysicalDeviceImagelessFramebufferFeatures const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceImagelessFramebufferFeatures &
-      operator=( VkPhysicalDeviceImagelessFramebufferFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImagelessFramebufferFeatures &
+  operator=(PhysicalDeviceImagelessFramebufferFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceImagelessFramebufferFeatures &
-      operator=( PhysicalDeviceImagelessFramebufferFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      imagelessFramebuffer = rhs.imagelessFramebuffer;
+  PhysicalDeviceImagelessFramebufferFeatures &
+  operator=(VkPhysicalDeviceImagelessFramebufferFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceImagelessFramebufferFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceImagelessFramebufferFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceImagelessFramebufferFeatures &setImagelessFramebuffer(
+      VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_) VULKAN_HPP_NOEXCEPT {
+    imagelessFramebuffer = imagelessFramebuffer_;
+    return *this;
+  }
 
-    PhysicalDeviceImagelessFramebufferFeatures &
-      setImagelessFramebuffer( VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imagelessFramebuffer = imagelessFramebuffer_;
-      return *this;
-    }
+  operator VkPhysicalDeviceImagelessFramebufferFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceImagelessFramebufferFeatures *>(this);
+  }
 
-    operator VkPhysicalDeviceImagelessFramebufferFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures *>( this );
-    }
+  operator VkPhysicalDeviceImagelessFramebufferFeatures &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceImagelessFramebufferFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceImagelessFramebufferFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceImagelessFramebufferFeatures const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceImagelessFramebufferFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imagelessFramebuffer == rhs.imagelessFramebuffer );
-    }
+  bool operator==(PhysicalDeviceImagelessFramebufferFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (imagelessFramebuffer == rhs.imagelessFramebuffer);
+  }
 
-    bool operator!=( PhysicalDeviceImagelessFramebufferFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceImagelessFramebufferFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImagelessFramebufferFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              imagelessFramebuffer = {};
-  };
-  static_assert( sizeof( PhysicalDeviceImagelessFramebufferFeatures ) ==
-                   sizeof( VkPhysicalDeviceImagelessFramebufferFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceImagelessFramebufferFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceImagelessFramebufferFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer = {};
+};
+static_assert(sizeof(PhysicalDeviceImagelessFramebufferFeatures) ==
+                  sizeof(VkPhysicalDeviceImagelessFramebufferFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceImagelessFramebufferFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceImagelessFramebufferFeatures>
-  {
-    using Type = PhysicalDeviceImagelessFramebufferFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceImagelessFramebufferFeatures> {
+  using Type = PhysicalDeviceImagelessFramebufferFeatures;
+};
+using PhysicalDeviceImagelessFramebufferFeaturesKHR =
+    PhysicalDeviceImagelessFramebufferFeatures;
 
-  struct PhysicalDeviceIndexTypeUint8FeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceIndexTypeUint8FeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceIndexTypeUint8FeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8_ = {} ) VULKAN_HPP_NOEXCEPT
-      : indexTypeUint8( indexTypeUint8_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceIndexTypeUint8FeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8_ = {}) VULKAN_HPP_NOEXCEPT
+      : indexTypeUint8(indexTypeUint8_) {}
 
-    PhysicalDeviceIndexTypeUint8FeaturesEXT( VkPhysicalDeviceIndexTypeUint8FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceIndexTypeUint8FeaturesEXT(
+      PhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceIndexTypeUint8FeaturesEXT &
-      operator=( VkPhysicalDeviceIndexTypeUint8FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceIndexTypeUint8FeaturesEXT(
+      VkPhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceIndexTypeUint8FeaturesEXT(
+            *reinterpret_cast<PhysicalDeviceIndexTypeUint8FeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceIndexTypeUint8FeaturesEXT &
-      operator=( PhysicalDeviceIndexTypeUint8FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      indexTypeUint8 = rhs.indexTypeUint8;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIndexTypeUint8FeaturesEXT &
+  operator=(PhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceIndexTypeUint8FeaturesEXT &
+  operator=(VkPhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceIndexTypeUint8FeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceIndexTypeUint8FeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceIndexTypeUint8FeaturesEXT &
-      setIndexTypeUint8( VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8_ ) VULKAN_HPP_NOEXCEPT
-    {
-      indexTypeUint8 = indexTypeUint8_;
-      return *this;
-    }
+  PhysicalDeviceIndexTypeUint8FeaturesEXT &setIndexTypeUint8(
+      VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8_) VULKAN_HPP_NOEXCEPT {
+    indexTypeUint8 = indexTypeUint8_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceIndexTypeUint8FeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceIndexTypeUint8FeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceIndexTypeUint8FeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceIndexTypeUint8FeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceIndexTypeUint8FeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceIndexTypeUint8FeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceIndexTypeUint8FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( indexTypeUint8 == rhs.indexTypeUint8 );
-    }
+  bool operator==(PhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (indexTypeUint8 == rhs.indexTypeUint8);
+  }
 
-    bool operator!=( PhysicalDeviceIndexTypeUint8FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT;
-    void *                                    pNext          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              indexTypeUint8 = {};
-  };
-  static_assert( sizeof( PhysicalDeviceIndexTypeUint8FeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceIndexTypeUint8FeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceIndexTypeUint8FeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8 = {};
+};
+static_assert(sizeof(PhysicalDeviceIndexTypeUint8FeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceIndexTypeUint8FeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT>
-  {
-    using Type = PhysicalDeviceIndexTypeUint8FeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT> {
+  using Type = PhysicalDeviceIndexTypeUint8FeaturesEXT;
+};
 
-  struct PhysicalDeviceInlineUniformBlockFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceInlineUniformBlockFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_                                 = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_ = {} ) VULKAN_HPP_NOEXCEPT
-      : inlineUniformBlock( inlineUniformBlock_ )
-      , descriptorBindingInlineUniformBlockUpdateAfterBind( descriptorBindingInlineUniformBlockUpdateAfterBind_ )
-    {}
-
-    PhysicalDeviceInlineUniformBlockFeaturesEXT( VkPhysicalDeviceInlineUniformBlockFeaturesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingInlineUniformBlockUpdateAfterBind_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : inlineUniformBlock(inlineUniformBlock_),
+        descriptorBindingInlineUniformBlockUpdateAfterBind(
+            descriptorBindingInlineUniformBlockUpdateAfterBind_) {}
 
-    PhysicalDeviceInlineUniformBlockFeaturesEXT &
-      operator=( VkPhysicalDeviceInlineUniformBlockFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockFeaturesEXT(
+      PhysicalDeviceInlineUniformBlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceInlineUniformBlockFeaturesEXT &
-      operator=( PhysicalDeviceInlineUniformBlockFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                              = rhs.pNext;
-      inlineUniformBlock                                 = rhs.inlineUniformBlock;
-      descriptorBindingInlineUniformBlockUpdateAfterBind = rhs.descriptorBindingInlineUniformBlockUpdateAfterBind;
+  PhysicalDeviceInlineUniformBlockFeaturesEXT(
+      VkPhysicalDeviceInlineUniformBlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceInlineUniformBlockFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceInlineUniformBlockFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInlineUniformBlockFeaturesEXT &
+  operator=(PhysicalDeviceInlineUniformBlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceInlineUniformBlockFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceInlineUniformBlockFeaturesEXT &
+  operator=(VkPhysicalDeviceInlineUniformBlockFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceInlineUniformBlockFeaturesEXT &
-      setInlineUniformBlock( VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inlineUniformBlock = inlineUniformBlock_;
-      return *this;
-    }
+  PhysicalDeviceInlineUniformBlockFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceInlineUniformBlockFeaturesEXT & setDescriptorBindingInlineUniformBlockUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind_;
-      return *this;
-    }
+  PhysicalDeviceInlineUniformBlockFeaturesEXT &setInlineUniformBlock(
+      VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_) VULKAN_HPP_NOEXCEPT {
+    inlineUniformBlock = inlineUniformBlock_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceInlineUniformBlockFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>( this );
-    }
+  PhysicalDeviceInlineUniformBlockFeaturesEXT &
+  setDescriptorBindingInlineUniformBlockUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingInlineUniformBlockUpdateAfterBind_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingInlineUniformBlockUpdateAfterBind =
+        descriptorBindingInlineUniformBlockUpdateAfterBind_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceInlineUniformBlockFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceInlineUniformBlockFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceInlineUniformBlockFeaturesEXT const & ) const = default;
+  operator VkPhysicalDeviceInlineUniformBlockFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceInlineUniformBlockFeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceInlineUniformBlockFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( inlineUniformBlock == rhs.inlineUniformBlock ) &&
-             ( descriptorBindingInlineUniformBlockUpdateAfterBind ==
-               rhs.descriptorBindingInlineUniformBlockUpdateAfterBind );
-    }
+  bool operator==(PhysicalDeviceInlineUniformBlockFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (inlineUniformBlock == rhs.inlineUniformBlock) &&
+           (descriptorBindingInlineUniformBlockUpdateAfterBind ==
+            rhs.descriptorBindingInlineUniformBlockUpdateAfterBind);
+  }
 
-    bool operator!=( PhysicalDeviceInlineUniformBlockFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceInlineUniformBlockFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              inlineUniformBlock                                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingInlineUniformBlockUpdateAfterBind = {};
-  };
-  static_assert( sizeof( PhysicalDeviceInlineUniformBlockFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceInlineUniformBlockFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceInlineUniformBlockFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      descriptorBindingInlineUniformBlockUpdateAfterBind = {};
+};
+static_assert(sizeof(PhysicalDeviceInlineUniformBlockFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceInlineUniformBlockFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceInlineUniformBlockFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT>
-  {
-    using Type = PhysicalDeviceInlineUniformBlockFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT> {
+  using Type = PhysicalDeviceInlineUniformBlockFeaturesEXT;
+};
 
-  struct PhysicalDeviceInlineUniformBlockPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceInlineUniformBlockPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockPropertiesEXT(
-      uint32_t maxInlineUniformBlockSize_                               = {},
-      uint32_t maxPerStageDescriptorInlineUniformBlocks_                = {},
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockPropertiesEXT(
+      uint32_t maxInlineUniformBlockSize_ = {},
+      uint32_t maxPerStageDescriptorInlineUniformBlocks_ = {},
       uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_ = {},
-      uint32_t maxDescriptorSetInlineUniformBlocks_                     = {},
-      uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks_      = {} ) VULKAN_HPP_NOEXCEPT
-      : maxInlineUniformBlockSize( maxInlineUniformBlockSize_ )
-      , maxPerStageDescriptorInlineUniformBlocks( maxPerStageDescriptorInlineUniformBlocks_ )
-      , maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks(
-          maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_ )
-      , maxDescriptorSetInlineUniformBlocks( maxDescriptorSetInlineUniformBlocks_ )
-      , maxDescriptorSetUpdateAfterBindInlineUniformBlocks( maxDescriptorSetUpdateAfterBindInlineUniformBlocks_ )
-    {}
-
-    PhysicalDeviceInlineUniformBlockPropertiesEXT( VkPhysicalDeviceInlineUniformBlockPropertiesEXT const & rhs )
+      uint32_t maxDescriptorSetInlineUniformBlocks_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : maxInlineUniformBlockSize(maxInlineUniformBlockSize_),
+        maxPerStageDescriptorInlineUniformBlocks(
+            maxPerStageDescriptorInlineUniformBlocks_),
+        maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks(
+            maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_),
+        maxDescriptorSetInlineUniformBlocks(
+            maxDescriptorSetInlineUniformBlocks_),
+        maxDescriptorSetUpdateAfterBindInlineUniformBlocks(
+            maxDescriptorSetUpdateAfterBindInlineUniformBlocks_) {}
 
-    PhysicalDeviceInlineUniformBlockPropertiesEXT &
-      operator=( VkPhysicalDeviceInlineUniformBlockPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockPropertiesEXT(
+      PhysicalDeviceInlineUniformBlockPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceInlineUniformBlockPropertiesEXT &
-      operator=( PhysicalDeviceInlineUniformBlockPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                    = rhs.pNext;
-      maxInlineUniformBlockSize                = rhs.maxInlineUniformBlockSize;
-      maxPerStageDescriptorInlineUniformBlocks = rhs.maxPerStageDescriptorInlineUniformBlocks;
-      maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks =
-        rhs.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
-      maxDescriptorSetInlineUniformBlocks                = rhs.maxDescriptorSetInlineUniformBlocks;
-      maxDescriptorSetUpdateAfterBindInlineUniformBlocks = rhs.maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
+  PhysicalDeviceInlineUniformBlockPropertiesEXT(
+      VkPhysicalDeviceInlineUniformBlockPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceInlineUniformBlockPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceInlineUniformBlockPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInlineUniformBlockPropertiesEXT &
+  operator=(PhysicalDeviceInlineUniformBlockPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDeviceInlineUniformBlockPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>( this );
-    }
+  PhysicalDeviceInlineUniformBlockPropertiesEXT &
+  operator=(VkPhysicalDeviceInlineUniformBlockPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceInlineUniformBlockPropertiesEXT const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceInlineUniformBlockPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceInlineUniformBlockPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceInlineUniformBlockPropertiesEXT const & ) const = default;
+  operator VkPhysicalDeviceInlineUniformBlockPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceInlineUniformBlockPropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceInlineUniformBlockPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxInlineUniformBlockSize == rhs.maxInlineUniformBlockSize ) &&
-             ( maxPerStageDescriptorInlineUniformBlocks == rhs.maxPerStageDescriptorInlineUniformBlocks ) &&
-             ( maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks ==
-               rhs.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks ) &&
-             ( maxDescriptorSetInlineUniformBlocks == rhs.maxDescriptorSetInlineUniformBlocks ) &&
-             ( maxDescriptorSetUpdateAfterBindInlineUniformBlocks ==
-               rhs.maxDescriptorSetUpdateAfterBindInlineUniformBlocks );
-    }
+  bool operator==(PhysicalDeviceInlineUniformBlockPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxInlineUniformBlockSize == rhs.maxInlineUniformBlockSize) &&
+           (maxPerStageDescriptorInlineUniformBlocks ==
+            rhs.maxPerStageDescriptorInlineUniformBlocks) &&
+           (maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks ==
+            rhs.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks) &&
+           (maxDescriptorSetInlineUniformBlocks ==
+            rhs.maxDescriptorSetInlineUniformBlocks) &&
+           (maxDescriptorSetUpdateAfterBindInlineUniformBlocks ==
+            rhs.maxDescriptorSetUpdateAfterBindInlineUniformBlocks);
+  }
 
-    bool operator!=( PhysicalDeviceInlineUniformBlockPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceInlineUniformBlockPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  maxInlineUniformBlockSize                               = {};
-    uint32_t                                  maxPerStageDescriptorInlineUniformBlocks                = {};
-    uint32_t                                  maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = {};
-    uint32_t                                  maxDescriptorSetInlineUniformBlocks                     = {};
-    uint32_t                                  maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = {};
-  };
-  static_assert( sizeof( PhysicalDeviceInlineUniformBlockPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceInlineUniformBlockPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceInlineUniformBlockPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT;
+  void *pNext = {};
+  uint32_t maxInlineUniformBlockSize = {};
+  uint32_t maxPerStageDescriptorInlineUniformBlocks = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = {};
+  uint32_t maxDescriptorSetInlineUniformBlocks = {};
+  uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks = {};
+};
+static_assert(sizeof(PhysicalDeviceInlineUniformBlockPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceInlineUniformBlockPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceInlineUniformBlockPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT>
-  {
-    using Type = PhysicalDeviceInlineUniformBlockPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT> {
+  using Type = PhysicalDeviceInlineUniformBlockPropertiesEXT;
+};
 
-  struct PhysicalDeviceLimits
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    PhysicalDeviceLimits( uint32_t                               maxImageDimension1D_                             = {},
-                          uint32_t                               maxImageDimension2D_                             = {},
-                          uint32_t                               maxImageDimension3D_                             = {},
-                          uint32_t                               maxImageDimensionCube_                           = {},
-                          uint32_t                               maxImageArrayLayers_                             = {},
-                          uint32_t                               maxTexelBufferElements_                          = {},
-                          uint32_t                               maxUniformBufferRange_                           = {},
-                          uint32_t                               maxStorageBufferRange_                           = {},
-                          uint32_t                               maxPushConstantsSize_                            = {},
-                          uint32_t                               maxMemoryAllocationCount_                        = {},
-                          uint32_t                               maxSamplerAllocationCount_                       = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       bufferImageGranularity_                          = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       sparseAddressSpaceSize_                          = {},
-                          uint32_t                               maxBoundDescriptorSets_                          = {},
-                          uint32_t                               maxPerStageDescriptorSamplers_                   = {},
-                          uint32_t                               maxPerStageDescriptorUniformBuffers_             = {},
-                          uint32_t                               maxPerStageDescriptorStorageBuffers_             = {},
-                          uint32_t                               maxPerStageDescriptorSampledImages_              = {},
-                          uint32_t                               maxPerStageDescriptorStorageImages_              = {},
-                          uint32_t                               maxPerStageDescriptorInputAttachments_           = {},
-                          uint32_t                               maxPerStageResources_                            = {},
-                          uint32_t                               maxDescriptorSetSamplers_                        = {},
-                          uint32_t                               maxDescriptorSetUniformBuffers_                  = {},
-                          uint32_t                               maxDescriptorSetUniformBuffersDynamic_           = {},
-                          uint32_t                               maxDescriptorSetStorageBuffers_                  = {},
-                          uint32_t                               maxDescriptorSetStorageBuffersDynamic_           = {},
-                          uint32_t                               maxDescriptorSetSampledImages_                   = {},
-                          uint32_t                               maxDescriptorSetStorageImages_                   = {},
-                          uint32_t                               maxDescriptorSetInputAttachments_                = {},
-                          uint32_t                               maxVertexInputAttributes_                        = {},
-                          uint32_t                               maxVertexInputBindings_                          = {},
-                          uint32_t                               maxVertexInputAttributeOffset_                   = {},
-                          uint32_t                               maxVertexInputBindingStride_                     = {},
-                          uint32_t                               maxVertexOutputComponents_                       = {},
-                          uint32_t                               maxTessellationGenerationLevel_                  = {},
-                          uint32_t                               maxTessellationPatchSize_                        = {},
-                          uint32_t                               maxTessellationControlPerVertexInputComponents_  = {},
-                          uint32_t                               maxTessellationControlPerVertexOutputComponents_ = {},
-                          uint32_t                               maxTessellationControlPerPatchOutputComponents_  = {},
-                          uint32_t                               maxTessellationControlTotalOutputComponents_     = {},
-                          uint32_t                               maxTessellationEvaluationInputComponents_        = {},
-                          uint32_t                               maxTessellationEvaluationOutputComponents_       = {},
-                          uint32_t                               maxGeometryShaderInvocations_                    = {},
-                          uint32_t                               maxGeometryInputComponents_                      = {},
-                          uint32_t                               maxGeometryOutputComponents_                     = {},
-                          uint32_t                               maxGeometryOutputVertices_                       = {},
-                          uint32_t                               maxGeometryTotalOutputComponents_                = {},
-                          uint32_t                               maxFragmentInputComponents_                      = {},
-                          uint32_t                               maxFragmentOutputAttachments_                    = {},
-                          uint32_t                               maxFragmentDualSrcAttachments_                   = {},
-                          uint32_t                               maxFragmentCombinedOutputResources_              = {},
-                          uint32_t                               maxComputeSharedMemorySize_                      = {},
-                          std::array<uint32_t, 3> const &        maxComputeWorkGroupCount_                        = {},
-                          uint32_t                               maxComputeWorkGroupInvocations_                  = {},
-                          std::array<uint32_t, 3> const &        maxComputeWorkGroupSize_                         = {},
-                          uint32_t                               subPixelPrecisionBits_                           = {},
-                          uint32_t                               subTexelPrecisionBits_                           = {},
-                          uint32_t                               mipmapPrecisionBits_                             = {},
-                          uint32_t                               maxDrawIndexedIndexValue_                        = {},
-                          uint32_t                               maxDrawIndirectCount_                            = {},
-                          float                                  maxSamplerLodBias_                               = {},
-                          float                                  maxSamplerAnisotropy_                            = {},
-                          uint32_t                               maxViewports_                                    = {},
-                          std::array<uint32_t, 2> const &        maxViewportDimensions_                           = {},
-                          std::array<float, 2> const &           viewportBoundsRange_                             = {},
-                          uint32_t                               viewportSubPixelBits_                            = {},
-                          size_t                                 minMemoryMapAlignment_                           = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       minTexelBufferOffsetAlignment_                   = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       minUniformBufferOffsetAlignment_                 = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       minStorageBufferOffsetAlignment_                 = {},
-                          int32_t                                minTexelOffset_                                  = {},
-                          uint32_t                               maxTexelOffset_                                  = {},
-                          int32_t                                minTexelGatherOffset_                            = {},
-                          uint32_t                               maxTexelGatherOffset_                            = {},
-                          float                                  minInterpolationOffset_                          = {},
-                          float                                  maxInterpolationOffset_                          = {},
-                          uint32_t                               subPixelInterpolationOffsetBits_                 = {},
-                          uint32_t                               maxFramebufferWidth_                             = {},
-                          uint32_t                               maxFramebufferHeight_                            = {},
-                          uint32_t                               maxFramebufferLayers_                            = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferColorSampleCounts_                    = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferDepthSampleCounts_                    = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferStencilSampleCounts_                  = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferNoAttachmentsSampleCounts_            = {},
-                          uint32_t                               maxColorAttachments_                             = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageColorSampleCounts_                   = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageIntegerSampleCounts_                 = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageDepthSampleCounts_                   = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageStencilSampleCounts_                 = {},
-                          VULKAN_HPP_NAMESPACE::SampleCountFlags storageImageSampleCounts_                        = {},
-                          uint32_t                               maxSampleMaskWords_                              = {},
-                          VULKAN_HPP_NAMESPACE::Bool32           timestampComputeAndGraphics_                     = {},
-                          float                                  timestampPeriod_                                 = {},
-                          uint32_t                               maxClipDistances_                                = {},
-                          uint32_t                               maxCullDistances_                                = {},
-                          uint32_t                               maxCombinedClipAndCullDistances_                 = {},
-                          uint32_t                               discreteQueuePriorities_                         = {},
-                          std::array<float, 2> const &           pointSizeRange_                                  = {},
-                          std::array<float, 2> const &           lineWidthRange_                                  = {},
-                          float                                  pointSizeGranularity_                            = {},
-                          float                                  lineWidthGranularity_                            = {},
-                          VULKAN_HPP_NAMESPACE::Bool32           strictLines_                                     = {},
-                          VULKAN_HPP_NAMESPACE::Bool32           standardSampleLocations_                         = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       optimalBufferCopyOffsetAlignment_                = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       optimalBufferCopyRowPitchAlignment_              = {},
-                          VULKAN_HPP_NAMESPACE::DeviceSize       nonCoherentAtomSize_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxImageDimension1D( maxImageDimension1D_ )
-      , maxImageDimension2D( maxImageDimension2D_ )
-      , maxImageDimension3D( maxImageDimension3D_ )
-      , maxImageDimensionCube( maxImageDimensionCube_ )
-      , maxImageArrayLayers( maxImageArrayLayers_ )
-      , maxTexelBufferElements( maxTexelBufferElements_ )
-      , maxUniformBufferRange( maxUniformBufferRange_ )
-      , maxStorageBufferRange( maxStorageBufferRange_ )
-      , maxPushConstantsSize( maxPushConstantsSize_ )
-      , maxMemoryAllocationCount( maxMemoryAllocationCount_ )
-      , maxSamplerAllocationCount( maxSamplerAllocationCount_ )
-      , bufferImageGranularity( bufferImageGranularity_ )
-      , sparseAddressSpaceSize( sparseAddressSpaceSize_ )
-      , maxBoundDescriptorSets( maxBoundDescriptorSets_ )
-      , maxPerStageDescriptorSamplers( maxPerStageDescriptorSamplers_ )
-      , maxPerStageDescriptorUniformBuffers( maxPerStageDescriptorUniformBuffers_ )
-      , maxPerStageDescriptorStorageBuffers( maxPerStageDescriptorStorageBuffers_ )
-      , maxPerStageDescriptorSampledImages( maxPerStageDescriptorSampledImages_ )
-      , maxPerStageDescriptorStorageImages( maxPerStageDescriptorStorageImages_ )
-      , maxPerStageDescriptorInputAttachments( maxPerStageDescriptorInputAttachments_ )
-      , maxPerStageResources( maxPerStageResources_ )
-      , maxDescriptorSetSamplers( maxDescriptorSetSamplers_ )
-      , maxDescriptorSetUniformBuffers( maxDescriptorSetUniformBuffers_ )
-      , maxDescriptorSetUniformBuffersDynamic( maxDescriptorSetUniformBuffersDynamic_ )
-      , maxDescriptorSetStorageBuffers( maxDescriptorSetStorageBuffers_ )
-      , maxDescriptorSetStorageBuffersDynamic( maxDescriptorSetStorageBuffersDynamic_ )
-      , maxDescriptorSetSampledImages( maxDescriptorSetSampledImages_ )
-      , maxDescriptorSetStorageImages( maxDescriptorSetStorageImages_ )
-      , maxDescriptorSetInputAttachments( maxDescriptorSetInputAttachments_ )
-      , maxVertexInputAttributes( maxVertexInputAttributes_ )
-      , maxVertexInputBindings( maxVertexInputBindings_ )
-      , maxVertexInputAttributeOffset( maxVertexInputAttributeOffset_ )
-      , maxVertexInputBindingStride( maxVertexInputBindingStride_ )
-      , maxVertexOutputComponents( maxVertexOutputComponents_ )
-      , maxTessellationGenerationLevel( maxTessellationGenerationLevel_ )
-      , maxTessellationPatchSize( maxTessellationPatchSize_ )
-      , maxTessellationControlPerVertexInputComponents( maxTessellationControlPerVertexInputComponents_ )
-      , maxTessellationControlPerVertexOutputComponents( maxTessellationControlPerVertexOutputComponents_ )
-      , maxTessellationControlPerPatchOutputComponents( maxTessellationControlPerPatchOutputComponents_ )
-      , maxTessellationControlTotalOutputComponents( maxTessellationControlTotalOutputComponents_ )
-      , maxTessellationEvaluationInputComponents( maxTessellationEvaluationInputComponents_ )
-      , maxTessellationEvaluationOutputComponents( maxTessellationEvaluationOutputComponents_ )
-      , maxGeometryShaderInvocations( maxGeometryShaderInvocations_ )
-      , maxGeometryInputComponents( maxGeometryInputComponents_ )
-      , maxGeometryOutputComponents( maxGeometryOutputComponents_ )
-      , maxGeometryOutputVertices( maxGeometryOutputVertices_ )
-      , maxGeometryTotalOutputComponents( maxGeometryTotalOutputComponents_ )
-      , maxFragmentInputComponents( maxFragmentInputComponents_ )
-      , maxFragmentOutputAttachments( maxFragmentOutputAttachments_ )
-      , maxFragmentDualSrcAttachments( maxFragmentDualSrcAttachments_ )
-      , maxFragmentCombinedOutputResources( maxFragmentCombinedOutputResources_ )
-      , maxComputeSharedMemorySize( maxComputeSharedMemorySize_ )
-      , maxComputeWorkGroupCount( maxComputeWorkGroupCount_ )
-      , maxComputeWorkGroupInvocations( maxComputeWorkGroupInvocations_ )
-      , maxComputeWorkGroupSize( maxComputeWorkGroupSize_ )
-      , subPixelPrecisionBits( subPixelPrecisionBits_ )
-      , subTexelPrecisionBits( subTexelPrecisionBits_ )
-      , mipmapPrecisionBits( mipmapPrecisionBits_ )
-      , maxDrawIndexedIndexValue( maxDrawIndexedIndexValue_ )
-      , maxDrawIndirectCount( maxDrawIndirectCount_ )
-      , maxSamplerLodBias( maxSamplerLodBias_ )
-      , maxSamplerAnisotropy( maxSamplerAnisotropy_ )
-      , maxViewports( maxViewports_ )
-      , maxViewportDimensions( maxViewportDimensions_ )
-      , viewportBoundsRange( viewportBoundsRange_ )
-      , viewportSubPixelBits( viewportSubPixelBits_ )
-      , minMemoryMapAlignment( minMemoryMapAlignment_ )
-      , minTexelBufferOffsetAlignment( minTexelBufferOffsetAlignment_ )
-      , minUniformBufferOffsetAlignment( minUniformBufferOffsetAlignment_ )
-      , minStorageBufferOffsetAlignment( minStorageBufferOffsetAlignment_ )
-      , minTexelOffset( minTexelOffset_ )
-      , maxTexelOffset( maxTexelOffset_ )
-      , minTexelGatherOffset( minTexelGatherOffset_ )
-      , maxTexelGatherOffset( maxTexelGatherOffset_ )
-      , minInterpolationOffset( minInterpolationOffset_ )
-      , maxInterpolationOffset( maxInterpolationOffset_ )
-      , subPixelInterpolationOffsetBits( subPixelInterpolationOffsetBits_ )
-      , maxFramebufferWidth( maxFramebufferWidth_ )
-      , maxFramebufferHeight( maxFramebufferHeight_ )
-      , maxFramebufferLayers( maxFramebufferLayers_ )
-      , framebufferColorSampleCounts( framebufferColorSampleCounts_ )
-      , framebufferDepthSampleCounts( framebufferDepthSampleCounts_ )
-      , framebufferStencilSampleCounts( framebufferStencilSampleCounts_ )
-      , framebufferNoAttachmentsSampleCounts( framebufferNoAttachmentsSampleCounts_ )
-      , maxColorAttachments( maxColorAttachments_ )
-      , sampledImageColorSampleCounts( sampledImageColorSampleCounts_ )
-      , sampledImageIntegerSampleCounts( sampledImageIntegerSampleCounts_ )
-      , sampledImageDepthSampleCounts( sampledImageDepthSampleCounts_ )
-      , sampledImageStencilSampleCounts( sampledImageStencilSampleCounts_ )
-      , storageImageSampleCounts( storageImageSampleCounts_ )
-      , maxSampleMaskWords( maxSampleMaskWords_ )
-      , timestampComputeAndGraphics( timestampComputeAndGraphics_ )
-      , timestampPeriod( timestampPeriod_ )
-      , maxClipDistances( maxClipDistances_ )
-      , maxCullDistances( maxCullDistances_ )
-      , maxCombinedClipAndCullDistances( maxCombinedClipAndCullDistances_ )
-      , discreteQueuePriorities( discreteQueuePriorities_ )
-      , pointSizeRange( pointSizeRange_ )
-      , lineWidthRange( lineWidthRange_ )
-      , pointSizeGranularity( pointSizeGranularity_ )
-      , lineWidthGranularity( lineWidthGranularity_ )
-      , strictLines( strictLines_ )
-      , standardSampleLocations( standardSampleLocations_ )
-      , optimalBufferCopyOffsetAlignment( optimalBufferCopyOffsetAlignment_ )
-      , optimalBufferCopyRowPitchAlignment( optimalBufferCopyRowPitchAlignment_ )
-      , nonCoherentAtomSize( nonCoherentAtomSize_ )
-    {}
-
-    PhysicalDeviceLimits( VkPhysicalDeviceLimits const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceLimits & operator=( VkPhysicalDeviceLimits const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits const *>( &rhs );
-      return *this;
-    }
-
-    operator VkPhysicalDeviceLimits const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceLimits *>( this );
-    }
-
-    operator VkPhysicalDeviceLimits &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceLimits *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceLimits const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceLimits const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( maxImageDimension1D == rhs.maxImageDimension1D ) && ( maxImageDimension2D == rhs.maxImageDimension2D ) &&
-             ( maxImageDimension3D == rhs.maxImageDimension3D ) &&
-             ( maxImageDimensionCube == rhs.maxImageDimensionCube ) &&
-             ( maxImageArrayLayers == rhs.maxImageArrayLayers ) &&
-             ( maxTexelBufferElements == rhs.maxTexelBufferElements ) &&
-             ( maxUniformBufferRange == rhs.maxUniformBufferRange ) &&
-             ( maxStorageBufferRange == rhs.maxStorageBufferRange ) &&
-             ( maxPushConstantsSize == rhs.maxPushConstantsSize ) &&
-             ( maxMemoryAllocationCount == rhs.maxMemoryAllocationCount ) &&
-             ( maxSamplerAllocationCount == rhs.maxSamplerAllocationCount ) &&
-             ( bufferImageGranularity == rhs.bufferImageGranularity ) &&
-             ( sparseAddressSpaceSize == rhs.sparseAddressSpaceSize ) &&
-             ( maxBoundDescriptorSets == rhs.maxBoundDescriptorSets ) &&
-             ( maxPerStageDescriptorSamplers == rhs.maxPerStageDescriptorSamplers ) &&
-             ( maxPerStageDescriptorUniformBuffers == rhs.maxPerStageDescriptorUniformBuffers ) &&
-             ( maxPerStageDescriptorStorageBuffers == rhs.maxPerStageDescriptorStorageBuffers ) &&
-             ( maxPerStageDescriptorSampledImages == rhs.maxPerStageDescriptorSampledImages ) &&
-             ( maxPerStageDescriptorStorageImages == rhs.maxPerStageDescriptorStorageImages ) &&
-             ( maxPerStageDescriptorInputAttachments == rhs.maxPerStageDescriptorInputAttachments ) &&
-             ( maxPerStageResources == rhs.maxPerStageResources ) &&
-             ( maxDescriptorSetSamplers == rhs.maxDescriptorSetSamplers ) &&
-             ( maxDescriptorSetUniformBuffers == rhs.maxDescriptorSetUniformBuffers ) &&
-             ( maxDescriptorSetUniformBuffersDynamic == rhs.maxDescriptorSetUniformBuffersDynamic ) &&
-             ( maxDescriptorSetStorageBuffers == rhs.maxDescriptorSetStorageBuffers ) &&
-             ( maxDescriptorSetStorageBuffersDynamic == rhs.maxDescriptorSetStorageBuffersDynamic ) &&
-             ( maxDescriptorSetSampledImages == rhs.maxDescriptorSetSampledImages ) &&
-             ( maxDescriptorSetStorageImages == rhs.maxDescriptorSetStorageImages ) &&
-             ( maxDescriptorSetInputAttachments == rhs.maxDescriptorSetInputAttachments ) &&
-             ( maxVertexInputAttributes == rhs.maxVertexInputAttributes ) &&
-             ( maxVertexInputBindings == rhs.maxVertexInputBindings ) &&
-             ( maxVertexInputAttributeOffset == rhs.maxVertexInputAttributeOffset ) &&
-             ( maxVertexInputBindingStride == rhs.maxVertexInputBindingStride ) &&
-             ( maxVertexOutputComponents == rhs.maxVertexOutputComponents ) &&
-             ( maxTessellationGenerationLevel == rhs.maxTessellationGenerationLevel ) &&
-             ( maxTessellationPatchSize == rhs.maxTessellationPatchSize ) &&
-             ( maxTessellationControlPerVertexInputComponents == rhs.maxTessellationControlPerVertexInputComponents ) &&
-             ( maxTessellationControlPerVertexOutputComponents ==
-               rhs.maxTessellationControlPerVertexOutputComponents ) &&
-             ( maxTessellationControlPerPatchOutputComponents == rhs.maxTessellationControlPerPatchOutputComponents ) &&
-             ( maxTessellationControlTotalOutputComponents == rhs.maxTessellationControlTotalOutputComponents ) &&
-             ( maxTessellationEvaluationInputComponents == rhs.maxTessellationEvaluationInputComponents ) &&
-             ( maxTessellationEvaluationOutputComponents == rhs.maxTessellationEvaluationOutputComponents ) &&
-             ( maxGeometryShaderInvocations == rhs.maxGeometryShaderInvocations ) &&
-             ( maxGeometryInputComponents == rhs.maxGeometryInputComponents ) &&
-             ( maxGeometryOutputComponents == rhs.maxGeometryOutputComponents ) &&
-             ( maxGeometryOutputVertices == rhs.maxGeometryOutputVertices ) &&
-             ( maxGeometryTotalOutputComponents == rhs.maxGeometryTotalOutputComponents ) &&
-             ( maxFragmentInputComponents == rhs.maxFragmentInputComponents ) &&
-             ( maxFragmentOutputAttachments == rhs.maxFragmentOutputAttachments ) &&
-             ( maxFragmentDualSrcAttachments == rhs.maxFragmentDualSrcAttachments ) &&
-             ( maxFragmentCombinedOutputResources == rhs.maxFragmentCombinedOutputResources ) &&
-             ( maxComputeSharedMemorySize == rhs.maxComputeSharedMemorySize ) &&
-             ( maxComputeWorkGroupCount == rhs.maxComputeWorkGroupCount ) &&
-             ( maxComputeWorkGroupInvocations == rhs.maxComputeWorkGroupInvocations ) &&
-             ( maxComputeWorkGroupSize == rhs.maxComputeWorkGroupSize ) &&
-             ( subPixelPrecisionBits == rhs.subPixelPrecisionBits ) &&
-             ( subTexelPrecisionBits == rhs.subTexelPrecisionBits ) &&
-             ( mipmapPrecisionBits == rhs.mipmapPrecisionBits ) &&
-             ( maxDrawIndexedIndexValue == rhs.maxDrawIndexedIndexValue ) &&
-             ( maxDrawIndirectCount == rhs.maxDrawIndirectCount ) && ( maxSamplerLodBias == rhs.maxSamplerLodBias ) &&
-             ( maxSamplerAnisotropy == rhs.maxSamplerAnisotropy ) && ( maxViewports == rhs.maxViewports ) &&
-             ( maxViewportDimensions == rhs.maxViewportDimensions ) &&
-             ( viewportBoundsRange == rhs.viewportBoundsRange ) &&
-             ( viewportSubPixelBits == rhs.viewportSubPixelBits ) &&
-             ( minMemoryMapAlignment == rhs.minMemoryMapAlignment ) &&
-             ( minTexelBufferOffsetAlignment == rhs.minTexelBufferOffsetAlignment ) &&
-             ( minUniformBufferOffsetAlignment == rhs.minUniformBufferOffsetAlignment ) &&
-             ( minStorageBufferOffsetAlignment == rhs.minStorageBufferOffsetAlignment ) &&
-             ( minTexelOffset == rhs.minTexelOffset ) && ( maxTexelOffset == rhs.maxTexelOffset ) &&
-             ( minTexelGatherOffset == rhs.minTexelGatherOffset ) &&
-             ( maxTexelGatherOffset == rhs.maxTexelGatherOffset ) &&
-             ( minInterpolationOffset == rhs.minInterpolationOffset ) &&
-             ( maxInterpolationOffset == rhs.maxInterpolationOffset ) &&
-             ( subPixelInterpolationOffsetBits == rhs.subPixelInterpolationOffsetBits ) &&
-             ( maxFramebufferWidth == rhs.maxFramebufferWidth ) &&
-             ( maxFramebufferHeight == rhs.maxFramebufferHeight ) &&
-             ( maxFramebufferLayers == rhs.maxFramebufferLayers ) &&
-             ( framebufferColorSampleCounts == rhs.framebufferColorSampleCounts ) &&
-             ( framebufferDepthSampleCounts == rhs.framebufferDepthSampleCounts ) &&
-             ( framebufferStencilSampleCounts == rhs.framebufferStencilSampleCounts ) &&
-             ( framebufferNoAttachmentsSampleCounts == rhs.framebufferNoAttachmentsSampleCounts ) &&
-             ( maxColorAttachments == rhs.maxColorAttachments ) &&
-             ( sampledImageColorSampleCounts == rhs.sampledImageColorSampleCounts ) &&
-             ( sampledImageIntegerSampleCounts == rhs.sampledImageIntegerSampleCounts ) &&
-             ( sampledImageDepthSampleCounts == rhs.sampledImageDepthSampleCounts ) &&
-             ( sampledImageStencilSampleCounts == rhs.sampledImageStencilSampleCounts ) &&
-             ( storageImageSampleCounts == rhs.storageImageSampleCounts ) &&
-             ( maxSampleMaskWords == rhs.maxSampleMaskWords ) &&
-             ( timestampComputeAndGraphics == rhs.timestampComputeAndGraphics ) &&
-             ( timestampPeriod == rhs.timestampPeriod ) && ( maxClipDistances == rhs.maxClipDistances ) &&
-             ( maxCullDistances == rhs.maxCullDistances ) &&
-             ( maxCombinedClipAndCullDistances == rhs.maxCombinedClipAndCullDistances ) &&
-             ( discreteQueuePriorities == rhs.discreteQueuePriorities ) && ( pointSizeRange == rhs.pointSizeRange ) &&
-             ( lineWidthRange == rhs.lineWidthRange ) && ( pointSizeGranularity == rhs.pointSizeGranularity ) &&
-             ( lineWidthGranularity == rhs.lineWidthGranularity ) && ( strictLines == rhs.strictLines ) &&
-             ( standardSampleLocations == rhs.standardSampleLocations ) &&
-             ( optimalBufferCopyOffsetAlignment == rhs.optimalBufferCopyOffsetAlignment ) &&
-             ( optimalBufferCopyRowPitchAlignment == rhs.optimalBufferCopyRowPitchAlignment ) &&
-             ( nonCoherentAtomSize == rhs.nonCoherentAtomSize );
-    }
-
-    bool operator!=( PhysicalDeviceLimits const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                                          maxImageDimension1D                             = {};
-    uint32_t                                          maxImageDimension2D                             = {};
-    uint32_t                                          maxImageDimension3D                             = {};
-    uint32_t                                          maxImageDimensionCube                           = {};
-    uint32_t                                          maxImageArrayLayers                             = {};
-    uint32_t                                          maxTexelBufferElements                          = {};
-    uint32_t                                          maxUniformBufferRange                           = {};
-    uint32_t                                          maxStorageBufferRange                           = {};
-    uint32_t                                          maxPushConstantsSize                            = {};
-    uint32_t                                          maxMemoryAllocationCount                        = {};
-    uint32_t                                          maxSamplerAllocationCount                       = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  bufferImageGranularity                          = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  sparseAddressSpaceSize                          = {};
-    uint32_t                                          maxBoundDescriptorSets                          = {};
-    uint32_t                                          maxPerStageDescriptorSamplers                   = {};
-    uint32_t                                          maxPerStageDescriptorUniformBuffers             = {};
-    uint32_t                                          maxPerStageDescriptorStorageBuffers             = {};
-    uint32_t                                          maxPerStageDescriptorSampledImages              = {};
-    uint32_t                                          maxPerStageDescriptorStorageImages              = {};
-    uint32_t                                          maxPerStageDescriptorInputAttachments           = {};
-    uint32_t                                          maxPerStageResources                            = {};
-    uint32_t                                          maxDescriptorSetSamplers                        = {};
-    uint32_t                                          maxDescriptorSetUniformBuffers                  = {};
-    uint32_t                                          maxDescriptorSetUniformBuffersDynamic           = {};
-    uint32_t                                          maxDescriptorSetStorageBuffers                  = {};
-    uint32_t                                          maxDescriptorSetStorageBuffersDynamic           = {};
-    uint32_t                                          maxDescriptorSetSampledImages                   = {};
-    uint32_t                                          maxDescriptorSetStorageImages                   = {};
-    uint32_t                                          maxDescriptorSetInputAttachments                = {};
-    uint32_t                                          maxVertexInputAttributes                        = {};
-    uint32_t                                          maxVertexInputBindings                          = {};
-    uint32_t                                          maxVertexInputAttributeOffset                   = {};
-    uint32_t                                          maxVertexInputBindingStride                     = {};
-    uint32_t                                          maxVertexOutputComponents                       = {};
-    uint32_t                                          maxTessellationGenerationLevel                  = {};
-    uint32_t                                          maxTessellationPatchSize                        = {};
-    uint32_t                                          maxTessellationControlPerVertexInputComponents  = {};
-    uint32_t                                          maxTessellationControlPerVertexOutputComponents = {};
-    uint32_t                                          maxTessellationControlPerPatchOutputComponents  = {};
-    uint32_t                                          maxTessellationControlTotalOutputComponents     = {};
-    uint32_t                                          maxTessellationEvaluationInputComponents        = {};
-    uint32_t                                          maxTessellationEvaluationOutputComponents       = {};
-    uint32_t                                          maxGeometryShaderInvocations                    = {};
-    uint32_t                                          maxGeometryInputComponents                      = {};
-    uint32_t                                          maxGeometryOutputComponents                     = {};
-    uint32_t                                          maxGeometryOutputVertices                       = {};
-    uint32_t                                          maxGeometryTotalOutputComponents                = {};
-    uint32_t                                          maxFragmentInputComponents                      = {};
-    uint32_t                                          maxFragmentOutputAttachments                    = {};
-    uint32_t                                          maxFragmentDualSrcAttachments                   = {};
-    uint32_t                                          maxFragmentCombinedOutputResources              = {};
-    uint32_t                                          maxComputeSharedMemorySize                      = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxComputeWorkGroupCount                        = {};
-    uint32_t                                          maxComputeWorkGroupInvocations                  = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxComputeWorkGroupSize                         = {};
-    uint32_t                                          subPixelPrecisionBits                           = {};
-    uint32_t                                          subTexelPrecisionBits                           = {};
-    uint32_t                                          mipmapPrecisionBits                             = {};
-    uint32_t                                          maxDrawIndexedIndexValue                        = {};
-    uint32_t                                          maxDrawIndirectCount                            = {};
-    float                                             maxSamplerLodBias                               = {};
-    float                                             maxSamplerAnisotropy                            = {};
-    uint32_t                                          maxViewports                                    = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 2> maxViewportDimensions                           = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2>    viewportBoundsRange                             = {};
-    uint32_t                                          viewportSubPixelBits                            = {};
-    size_t                                            minMemoryMapAlignment                           = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  minTexelBufferOffsetAlignment                   = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  minUniformBufferOffsetAlignment                 = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  minStorageBufferOffsetAlignment                 = {};
-    int32_t                                           minTexelOffset                                  = {};
-    uint32_t                                          maxTexelOffset                                  = {};
-    int32_t                                           minTexelGatherOffset                            = {};
-    uint32_t                                          maxTexelGatherOffset                            = {};
-    float                                             minInterpolationOffset                          = {};
-    float                                             maxInterpolationOffset                          = {};
-    uint32_t                                          subPixelInterpolationOffsetBits                 = {};
-    uint32_t                                          maxFramebufferWidth                             = {};
-    uint32_t                                          maxFramebufferHeight                            = {};
-    uint32_t                                          maxFramebufferLayers                            = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            framebufferColorSampleCounts                    = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            framebufferDepthSampleCounts                    = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            framebufferStencilSampleCounts                  = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            framebufferNoAttachmentsSampleCounts            = {};
-    uint32_t                                          maxColorAttachments                             = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            sampledImageColorSampleCounts                   = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            sampledImageIntegerSampleCounts                 = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            sampledImageDepthSampleCounts                   = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            sampledImageStencilSampleCounts                 = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags            storageImageSampleCounts                        = {};
-    uint32_t                                          maxSampleMaskWords                              = {};
-    VULKAN_HPP_NAMESPACE::Bool32                      timestampComputeAndGraphics                     = {};
-    float                                             timestampPeriod                                 = {};
-    uint32_t                                          maxClipDistances                                = {};
-    uint32_t                                          maxCullDistances                                = {};
-    uint32_t                                          maxCombinedClipAndCullDistances                 = {};
-    uint32_t                                          discreteQueuePriorities                         = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2>    pointSizeRange                                  = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2>    lineWidthRange                                  = {};
-    float                                             pointSizeGranularity                            = {};
-    float                                             lineWidthGranularity                            = {};
-    VULKAN_HPP_NAMESPACE::Bool32                      strictLines                                     = {};
-    VULKAN_HPP_NAMESPACE::Bool32                      standardSampleLocations                         = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  optimalBufferCopyOffsetAlignment                = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  optimalBufferCopyRowPitchAlignment              = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  nonCoherentAtomSize                             = {};
-  };
-  static_assert( sizeof( PhysicalDeviceLimits ) == sizeof( VkPhysicalDeviceLimits ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceLimits>::value, "struct wrapper is not a standard layout!" );
-
-  struct PhysicalDeviceLineRasterizationFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceLineRasterizationFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 rectangularLines_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines_           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 smoothLines_              = {},
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 rectangularLines_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 smoothLines_ = {},
       VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines_   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines_      = {} ) VULKAN_HPP_NOEXCEPT
-      : rectangularLines( rectangularLines_ )
-      , bresenhamLines( bresenhamLines_ )
-      , smoothLines( smoothLines_ )
-      , stippledRectangularLines( stippledRectangularLines_ )
-      , stippledBresenhamLines( stippledBresenhamLines_ )
-      , stippledSmoothLines( stippledSmoothLines_ )
-    {}
+      VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines_ = {})
+      VULKAN_HPP_NOEXCEPT : rectangularLines(rectangularLines_),
+                            bresenhamLines(bresenhamLines_),
+                            smoothLines(smoothLines_),
+                            stippledRectangularLines(stippledRectangularLines_),
+                            stippledBresenhamLines(stippledBresenhamLines_),
+                            stippledSmoothLines(stippledSmoothLines_) {}
 
-    PhysicalDeviceLineRasterizationFeaturesEXT( VkPhysicalDeviceLineRasterizationFeaturesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationFeaturesEXT(
+      PhysicalDeviceLineRasterizationFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceLineRasterizationFeaturesEXT(
+      VkPhysicalDeviceLineRasterizationFeaturesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceLineRasterizationFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceLineRasterizationFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      operator=( VkPhysicalDeviceLineRasterizationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT &
+  operator=(PhysicalDeviceLineRasterizationFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      operator=( PhysicalDeviceLineRasterizationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      rectangularLines         = rhs.rectangularLines;
-      bresenhamLines           = rhs.bresenhamLines;
-      smoothLines              = rhs.smoothLines;
-      stippledRectangularLines = rhs.stippledRectangularLines;
-      stippledBresenhamLines   = rhs.stippledBresenhamLines;
-      stippledSmoothLines      = rhs.stippledSmoothLines;
+  PhysicalDeviceLineRasterizationFeaturesEXT &
+  operator=(VkPhysicalDeviceLineRasterizationFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceLineRasterizationFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceLineRasterizationFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceLineRasterizationFeaturesEXT &setRectangularLines(
+      VULKAN_HPP_NAMESPACE::Bool32 rectangularLines_) VULKAN_HPP_NOEXCEPT {
+    rectangularLines = rectangularLines_;
+    return *this;
+  }
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      setRectangularLines( VULKAN_HPP_NAMESPACE::Bool32 rectangularLines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rectangularLines = rectangularLines_;
-      return *this;
-    }
+  PhysicalDeviceLineRasterizationFeaturesEXT &setBresenhamLines(
+      VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines_) VULKAN_HPP_NOEXCEPT {
+    bresenhamLines = bresenhamLines_;
+    return *this;
+  }
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      setBresenhamLines( VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bresenhamLines = bresenhamLines_;
-      return *this;
-    }
+  PhysicalDeviceLineRasterizationFeaturesEXT &setSmoothLines(
+      VULKAN_HPP_NAMESPACE::Bool32 smoothLines_) VULKAN_HPP_NOEXCEPT {
+    smoothLines = smoothLines_;
+    return *this;
+  }
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      setSmoothLines( VULKAN_HPP_NAMESPACE::Bool32 smoothLines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      smoothLines = smoothLines_;
-      return *this;
-    }
+  PhysicalDeviceLineRasterizationFeaturesEXT &setStippledRectangularLines(
+      VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines_)
+      VULKAN_HPP_NOEXCEPT {
+    stippledRectangularLines = stippledRectangularLines_;
+    return *this;
+  }
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      setStippledRectangularLines( VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stippledRectangularLines = stippledRectangularLines_;
-      return *this;
-    }
+  PhysicalDeviceLineRasterizationFeaturesEXT &setStippledBresenhamLines(
+      VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines_)
+      VULKAN_HPP_NOEXCEPT {
+    stippledBresenhamLines = stippledBresenhamLines_;
+    return *this;
+  }
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      setStippledBresenhamLines( VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stippledBresenhamLines = stippledBresenhamLines_;
-      return *this;
-    }
+  PhysicalDeviceLineRasterizationFeaturesEXT &setStippledSmoothLines(
+      VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines_) VULKAN_HPP_NOEXCEPT {
+    stippledSmoothLines = stippledSmoothLines_;
+    return *this;
+  }
 
-    PhysicalDeviceLineRasterizationFeaturesEXT &
-      setStippledSmoothLines( VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stippledSmoothLines = stippledSmoothLines_;
-      return *this;
-    }
+  operator VkPhysicalDeviceLineRasterizationFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceLineRasterizationFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceLineRasterizationFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceLineRasterizationFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceLineRasterizationFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceLineRasterizationFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceLineRasterizationFeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceLineRasterizationFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rectangularLines == rhs.rectangularLines ) &&
-             ( bresenhamLines == rhs.bresenhamLines ) && ( smoothLines == rhs.smoothLines ) &&
-             ( stippledRectangularLines == rhs.stippledRectangularLines ) &&
-             ( stippledBresenhamLines == rhs.stippledBresenhamLines ) &&
-             ( stippledSmoothLines == rhs.stippledSmoothLines );
-    }
+  bool operator==(PhysicalDeviceLineRasterizationFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (rectangularLines == rhs.rectangularLines) &&
+           (bresenhamLines == rhs.bresenhamLines) &&
+           (smoothLines == rhs.smoothLines) &&
+           (stippledRectangularLines == rhs.stippledRectangularLines) &&
+           (stippledBresenhamLines == rhs.stippledBresenhamLines) &&
+           (stippledSmoothLines == rhs.stippledSmoothLines);
+  }
 
-    bool operator!=( PhysicalDeviceLineRasterizationFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceLineRasterizationFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rectangularLines         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bresenhamLines           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              smoothLines              = {};
-    VULKAN_HPP_NAMESPACE::Bool32              stippledRectangularLines = {};
-    VULKAN_HPP_NAMESPACE::Bool32              stippledBresenhamLines   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              stippledSmoothLines      = {};
-  };
-  static_assert( sizeof( PhysicalDeviceLineRasterizationFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceLineRasterizationFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceLineRasterizationFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 rectangularLines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 smoothLines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines = {};
+};
+static_assert(sizeof(PhysicalDeviceLineRasterizationFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceLineRasterizationFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT>
-  {
-    using Type = PhysicalDeviceLineRasterizationFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT> {
+  using Type = PhysicalDeviceLineRasterizationFeaturesEXT;
+};
 
-  struct PhysicalDeviceLineRasterizationPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceLineRasterizationPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceLineRasterizationPropertiesEXT( uint32_t lineSubPixelPrecisionBits_ = {} ) VULKAN_HPP_NOEXCEPT
-      : lineSubPixelPrecisionBits( lineSubPixelPrecisionBits_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationPropertiesEXT(
+      uint32_t lineSubPixelPrecisionBits_ = {}) VULKAN_HPP_NOEXCEPT
+      : lineSubPixelPrecisionBits(lineSubPixelPrecisionBits_) {}
 
-    PhysicalDeviceLineRasterizationPropertiesEXT( VkPhysicalDeviceLineRasterizationPropertiesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationPropertiesEXT(
+      PhysicalDeviceLineRasterizationPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceLineRasterizationPropertiesEXT(
+      VkPhysicalDeviceLineRasterizationPropertiesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceLineRasterizationPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceLineRasterizationPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceLineRasterizationPropertiesEXT &
-      operator=( VkPhysicalDeviceLineRasterizationPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationPropertiesEXT &
+  operator=(PhysicalDeviceLineRasterizationPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceLineRasterizationPropertiesEXT &
-      operator=( PhysicalDeviceLineRasterizationPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      lineSubPixelPrecisionBits = rhs.lineSubPixelPrecisionBits;
+  PhysicalDeviceLineRasterizationPropertiesEXT &
+  operator=(VkPhysicalDeviceLineRasterizationPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceLineRasterizationPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceLineRasterizationPropertiesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceLineRasterizationPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceLineRasterizationPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceLineRasterizationPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceLineRasterizationPropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceLineRasterizationPropertiesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceLineRasterizationPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( lineSubPixelPrecisionBits == rhs.lineSubPixelPrecisionBits );
-    }
+  bool operator==(PhysicalDeviceLineRasterizationPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (lineSubPixelPrecisionBits == rhs.lineSubPixelPrecisionBits);
+  }
 
-    bool operator!=( PhysicalDeviceLineRasterizationPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceLineRasterizationPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  lineSubPixelPrecisionBits = {};
-  };
-  static_assert( sizeof( PhysicalDeviceLineRasterizationPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceLineRasterizationPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceLineRasterizationPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT;
+  void *pNext = {};
+  uint32_t lineSubPixelPrecisionBits = {};
+};
+static_assert(sizeof(PhysicalDeviceLineRasterizationPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceLineRasterizationPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceLineRasterizationPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT>
-  {
-    using Type = PhysicalDeviceLineRasterizationPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT> {
+  using Type = PhysicalDeviceLineRasterizationPropertiesEXT;
+};
 
-  struct PhysicalDeviceMaintenance3Properties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMaintenance3Properties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceMaintenance3Properties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance3Properties(
-      uint32_t                         maxPerSetDescriptors_    = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxPerSetDescriptors( maxPerSetDescriptors_ )
-      , maxMemoryAllocationSize( maxMemoryAllocationSize_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance3Properties(
+      uint32_t maxPerSetDescriptors_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_ = {})
+      VULKAN_HPP_NOEXCEPT : maxPerSetDescriptors(maxPerSetDescriptors_),
+                            maxMemoryAllocationSize(maxMemoryAllocationSize_) {}
 
-    PhysicalDeviceMaintenance3Properties( VkPhysicalDeviceMaintenance3Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance3Properties(
+      PhysicalDeviceMaintenance3Properties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMaintenance3Properties &
-      operator=( VkPhysicalDeviceMaintenance3Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMaintenance3Properties(
+      VkPhysicalDeviceMaintenance3Properties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMaintenance3Properties(
+            *reinterpret_cast<PhysicalDeviceMaintenance3Properties const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMaintenance3Properties &
-      operator=( PhysicalDeviceMaintenance3Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      maxPerSetDescriptors    = rhs.maxPerSetDescriptors;
-      maxMemoryAllocationSize = rhs.maxMemoryAllocationSize;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMaintenance3Properties &
+  operator=(PhysicalDeviceMaintenance3Properties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMaintenance3Properties &operator=(
+      VkPhysicalDeviceMaintenance3Properties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMaintenance3Properties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties *>( this );
-    }
+  operator VkPhysicalDeviceMaintenance3Properties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceMaintenance3Properties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMaintenance3Properties *>( this );
-    }
+  operator VkPhysicalDeviceMaintenance3Properties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMaintenance3Properties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMaintenance3Properties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceMaintenance3Properties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceMaintenance3Properties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPerSetDescriptors == rhs.maxPerSetDescriptors ) &&
-             ( maxMemoryAllocationSize == rhs.maxMemoryAllocationSize );
-    }
+  bool operator==(PhysicalDeviceMaintenance3Properties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxPerSetDescriptors == rhs.maxPerSetDescriptors) &&
+           (maxMemoryAllocationSize == rhs.maxMemoryAllocationSize);
+  }
 
-    bool operator!=( PhysicalDeviceMaintenance3Properties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMaintenance3Properties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMaintenance3Properties;
-    void *                                    pNext = {};
-    uint32_t                                  maxPerSetDescriptors    = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          maxMemoryAllocationSize = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMaintenance3Properties ) == sizeof( VkPhysicalDeviceMaintenance3Properties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMaintenance3Properties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMaintenance3Properties;
+  void *pNext = {};
+  uint32_t maxPerSetDescriptors = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize = {};
+};
+static_assert(sizeof(PhysicalDeviceMaintenance3Properties) ==
+                  sizeof(VkPhysicalDeviceMaintenance3Properties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceMaintenance3Properties>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMaintenance3Properties>
-  {
-    using Type = PhysicalDeviceMaintenance3Properties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceMaintenance3Properties> {
+  using Type = PhysicalDeviceMaintenance3Properties;
+};
+using PhysicalDeviceMaintenance3PropertiesKHR =
+    PhysicalDeviceMaintenance3Properties;
 
-  struct PhysicalDeviceMemoryBudgetPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMemoryBudgetPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryBudgetPropertiesEXT(
-      std::array<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> const & heapBudget_ = {},
-      std::array<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> const & heapUsage_  = {} ) VULKAN_HPP_NOEXCEPT
-      : heapBudget( heapBudget_ )
-      , heapUsage( heapUsage_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryBudgetPropertiesEXT(
+      std::array<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> const
+          &heapBudget_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> const
+          &heapUsage_ = {}) VULKAN_HPP_NOEXCEPT : heapBudget(heapBudget_),
+                                                  heapUsage(heapUsage_) {}
 
-    PhysicalDeviceMemoryBudgetPropertiesEXT( VkPhysicalDeviceMemoryBudgetPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryBudgetPropertiesEXT(
+      PhysicalDeviceMemoryBudgetPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMemoryBudgetPropertiesEXT &
-      operator=( VkPhysicalDeviceMemoryBudgetPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMemoryBudgetPropertiesEXT(
+      VkPhysicalDeviceMemoryBudgetPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMemoryBudgetPropertiesEXT(
+            *reinterpret_cast<PhysicalDeviceMemoryBudgetPropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMemoryBudgetPropertiesEXT &
-      operator=( PhysicalDeviceMemoryBudgetPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      heapBudget = rhs.heapBudget;
-      heapUsage  = rhs.heapUsage;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryBudgetPropertiesEXT &
+  operator=(PhysicalDeviceMemoryBudgetPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMemoryBudgetPropertiesEXT &
+  operator=(VkPhysicalDeviceMemoryBudgetPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMemoryBudgetPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceMemoryBudgetPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceMemoryBudgetPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMemoryBudgetPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceMemoryBudgetPropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMemoryBudgetPropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceMemoryBudgetPropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceMemoryBudgetPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( heapBudget == rhs.heapBudget ) &&
-             ( heapUsage == rhs.heapUsage );
-    }
+  bool operator==(PhysicalDeviceMemoryBudgetPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (heapBudget == rhs.heapBudget) && (heapUsage == rhs.heapUsage);
+  }
 
-    bool operator!=( PhysicalDeviceMemoryBudgetPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMemoryBudgetPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> heapBudget = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> heapUsage  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMemoryBudgetPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceMemoryBudgetPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMemoryBudgetPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::DeviceSize,
+                                       VK_MAX_MEMORY_HEAPS>
+      heapBudget = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::DeviceSize,
+                                       VK_MAX_MEMORY_HEAPS>
+      heapUsage = {};
+};
+static_assert(sizeof(PhysicalDeviceMemoryBudgetPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceMemoryBudgetPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceMemoryBudgetPropertiesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT>
-  {
-    using Type = PhysicalDeviceMemoryBudgetPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT> {
+  using Type = PhysicalDeviceMemoryBudgetPropertiesEXT;
+};
 
-  struct PhysicalDeviceMemoryControlPropertiesFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+struct PhysicalDeviceMemoryControlPropertiesFUCHSIA {
+  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_ )
-    {}
+#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_) {}
 
-    PhysicalDeviceMemoryControlPropertiesFUCHSIA( VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryControlPropertiesFUCHSIA(
+      PhysicalDeviceMemoryControlPropertiesFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceMemoryControlPropertiesFUCHSIA(
+      VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceMemoryControlPropertiesFUCHSIA(
+            *reinterpret_cast<
+                PhysicalDeviceMemoryControlPropertiesFUCHSIA const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMemoryControlPropertiesFUCHSIA &
-      operator=( VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryControlPropertiesFUCHSIA const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryControlPropertiesFUCHSIA &
+  operator=(PhysicalDeviceMemoryControlPropertiesFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMemoryControlPropertiesFUCHSIA &
-      operator=( PhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      wholeMemoryOperations      = rhs.wholeMemoryOperations;
-      endMemoryOperations        = rhs.endMemoryOperations;
-      startMemoryOperations      = rhs.startMemoryOperations;
-      arbitraryMemoryOperations  = rhs.arbitraryMemoryOperations;
-      initialMemoryOperations    = rhs.initialMemoryOperations;
-      memoryOperationGranularity = rhs.memoryOperationGranularity;
-      memoryTypeBits             = rhs.memoryTypeBits;
+  PhysicalDeviceMemoryControlPropertiesFUCHSIA &
+  operator=(VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryControlPropertiesFUCHSIA const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceMemoryControlPropertiesFUCHSIA *>(this);
+  }
 
-    operator VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMemoryControlPropertiesFUCHSIA *>( this );
-    }
+  operator VkPhysicalDeviceMemoryControlPropertiesFUCHSIA &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<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;
+#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 (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 );
-    }
+  bool operator!=(PhysicalDeviceMemoryControlPropertiesFUCHSIA const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const 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             = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMemoryControlPropertiesFUCHSIA ) ==
-                   sizeof( VkPhysicalDeviceMemoryControlPropertiesFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMemoryControlPropertiesFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
+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 = {};
+};
+static_assert(sizeof(PhysicalDeviceMemoryControlPropertiesFUCHSIA) ==
+                  sizeof(VkPhysicalDeviceMemoryControlPropertiesFUCHSIA),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceMemoryControlPropertiesFUCHSIA>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMemoryControlPropertiesFUCHSIA>
-  {
-    using Type = PhysicalDeviceMemoryControlPropertiesFUCHSIA;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceMemoryControlPropertiesFUCHSIA> {
+  using Type = PhysicalDeviceMemoryControlPropertiesFUCHSIA;
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  struct PhysicalDeviceMemoryPriorityFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMemoryPriorityFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceMemoryPriorityFeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 memoryPriority_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryPriority( memoryPriority_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryPriorityFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 memoryPriority_ = {}) VULKAN_HPP_NOEXCEPT
+      : memoryPriority(memoryPriority_) {}
 
-    PhysicalDeviceMemoryPriorityFeaturesEXT( VkPhysicalDeviceMemoryPriorityFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryPriorityFeaturesEXT(
+      PhysicalDeviceMemoryPriorityFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMemoryPriorityFeaturesEXT &
-      operator=( VkPhysicalDeviceMemoryPriorityFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMemoryPriorityFeaturesEXT(
+      VkPhysicalDeviceMemoryPriorityFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMemoryPriorityFeaturesEXT(
+            *reinterpret_cast<PhysicalDeviceMemoryPriorityFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMemoryPriorityFeaturesEXT &
-      operator=( PhysicalDeviceMemoryPriorityFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      memoryPriority = rhs.memoryPriority;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryPriorityFeaturesEXT &
+  operator=(PhysicalDeviceMemoryPriorityFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMemoryPriorityFeaturesEXT &
+  operator=(VkPhysicalDeviceMemoryPriorityFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceMemoryPriorityFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceMemoryPriorityFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceMemoryPriorityFeaturesEXT &
-      setMemoryPriority( VULKAN_HPP_NAMESPACE::Bool32 memoryPriority_ ) VULKAN_HPP_NOEXCEPT
-    {
-      memoryPriority = memoryPriority_;
-      return *this;
-    }
+  PhysicalDeviceMemoryPriorityFeaturesEXT &setMemoryPriority(
+      VULKAN_HPP_NAMESPACE::Bool32 memoryPriority_) VULKAN_HPP_NOEXCEPT {
+    memoryPriority = memoryPriority_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMemoryPriorityFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceMemoryPriorityFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceMemoryPriorityFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMemoryPriorityFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceMemoryPriorityFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMemoryPriorityFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceMemoryPriorityFeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceMemoryPriorityFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryPriority == rhs.memoryPriority );
-    }
+  bool operator==(PhysicalDeviceMemoryPriorityFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memoryPriority == rhs.memoryPriority);
+  }
 
-    bool operator!=( PhysicalDeviceMemoryPriorityFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMemoryPriorityFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT;
-    void *                                    pNext          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              memoryPriority = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMemoryPriorityFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceMemoryPriorityFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMemoryPriorityFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 memoryPriority = {};
+};
+static_assert(sizeof(PhysicalDeviceMemoryPriorityFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceMemoryPriorityFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT>
-  {
-    using Type = PhysicalDeviceMemoryPriorityFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT> {
+  using Type = PhysicalDeviceMemoryPriorityFeaturesEXT;
+};
 
-  struct PhysicalDeviceMemoryProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties(
-      uint32_t                                                                  memoryTypeCount_ = {},
-      std::array<VULKAN_HPP_NAMESPACE::MemoryType, VK_MAX_MEMORY_TYPES> const & memoryTypes_     = {},
-      uint32_t                                                                  memoryHeapCount_ = {},
-      std::array<VULKAN_HPP_NAMESPACE::MemoryHeap, VK_MAX_MEMORY_HEAPS> const & memoryHeaps_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryTypeCount( memoryTypeCount_ )
-      , memoryTypes( memoryTypes_ )
-      , memoryHeapCount( memoryHeapCount_ )
-      , memoryHeaps( memoryHeaps_ )
-    {}
-
-    PhysicalDeviceMemoryProperties( VkPhysicalDeviceMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceMemoryProperties & operator=( VkPhysicalDeviceMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkPhysicalDeviceMemoryProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties *>( this );
-    }
-
-    operator VkPhysicalDeviceMemoryProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMemoryProperties const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( memoryTypeCount == rhs.memoryTypeCount ) && ( memoryTypes == rhs.memoryTypes ) &&
-             ( memoryHeapCount == rhs.memoryHeapCount ) && ( memoryHeaps == rhs.memoryHeaps );
-    }
-
-    bool operator!=( PhysicalDeviceMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                                                                                    memoryTypeCount = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::MemoryType, VK_MAX_MEMORY_TYPES> memoryTypes     = {};
-    uint32_t                                                                                    memoryHeapCount = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::MemoryHeap, VK_MAX_MEMORY_HEAPS> memoryHeaps     = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMemoryProperties ) == sizeof( VkPhysicalDeviceMemoryProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMemoryProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct PhysicalDeviceMemoryProperties2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceMemoryProperties2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties2(
-      VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryProperties( memoryProperties_ )
-    {}
-
-    PhysicalDeviceMemoryProperties2( VkPhysicalDeviceMemoryProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceMemoryProperties2 & operator=( VkPhysicalDeviceMemoryProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceMemoryProperties2 & operator=( PhysicalDeviceMemoryProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      memoryProperties = rhs.memoryProperties;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceMemoryProperties2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties2 *>( this );
-    }
-
-    operator VkPhysicalDeviceMemoryProperties2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMemoryProperties2 const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceMemoryProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryProperties == rhs.memoryProperties );
-    }
-
-    bool operator!=( PhysicalDeviceMemoryProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType            sType = StructureType::ePhysicalDeviceMemoryProperties2;
-    void *                                               pNext = {};
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMemoryProperties2 ) == sizeof( VkPhysicalDeviceMemoryProperties2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMemoryProperties2>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMemoryProperties2>
-  {
-    using Type = PhysicalDeviceMemoryProperties2;
-  };
-
-  struct PhysicalDeviceMeshShaderFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMeshShaderFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceMeshShaderFeaturesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceMeshShaderFeaturesNV( VULKAN_HPP_NAMESPACE::Bool32 taskShader_ = {},
-                                        VULKAN_HPP_NAMESPACE::Bool32 meshShader_ = {} ) VULKAN_HPP_NOEXCEPT
-      : taskShader( taskShader_ )
-      , meshShader( meshShader_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMeshShaderFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 taskShader_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 meshShader_ = {}) VULKAN_HPP_NOEXCEPT
+      : taskShader(taskShader_),
+        meshShader(meshShader_) {}
 
-    PhysicalDeviceMeshShaderFeaturesNV( VkPhysicalDeviceMeshShaderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMeshShaderFeaturesNV(
+      PhysicalDeviceMeshShaderFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMeshShaderFeaturesNV &
-      operator=( VkPhysicalDeviceMeshShaderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMeshShaderFeaturesNV(
+      VkPhysicalDeviceMeshShaderFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMeshShaderFeaturesNV(
+            *reinterpret_cast<PhysicalDeviceMeshShaderFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMeshShaderFeaturesNV & operator=( PhysicalDeviceMeshShaderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      taskShader = rhs.taskShader;
-      meshShader = rhs.meshShader;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesNV &
+  operator=(PhysicalDeviceMeshShaderFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMeshShaderFeaturesNV &operator=(
+      VkPhysicalDeviceMeshShaderFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceMeshShaderFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceMeshShaderFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceMeshShaderFeaturesNV & setTaskShader( VULKAN_HPP_NAMESPACE::Bool32 taskShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      taskShader = taskShader_;
-      return *this;
-    }
+  PhysicalDeviceMeshShaderFeaturesNV &
+  setTaskShader(VULKAN_HPP_NAMESPACE::Bool32 taskShader_) VULKAN_HPP_NOEXCEPT {
+    taskShader = taskShader_;
+    return *this;
+  }
 
-    PhysicalDeviceMeshShaderFeaturesNV & setMeshShader( VULKAN_HPP_NAMESPACE::Bool32 meshShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      meshShader = meshShader_;
-      return *this;
-    }
+  PhysicalDeviceMeshShaderFeaturesNV &
+  setMeshShader(VULKAN_HPP_NAMESPACE::Bool32 meshShader_) VULKAN_HPP_NOEXCEPT {
+    meshShader = meshShader_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMeshShaderFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceMeshShaderFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceMeshShaderFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMeshShaderFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceMeshShaderFeaturesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMeshShaderFeaturesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMeshShaderFeaturesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceMeshShaderFeaturesNV const &) const = default;
 #else
-    bool operator==( PhysicalDeviceMeshShaderFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( taskShader == rhs.taskShader ) &&
-             ( meshShader == rhs.meshShader );
-    }
+  bool operator==(PhysicalDeviceMeshShaderFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (taskShader == rhs.taskShader) && (meshShader == rhs.meshShader);
+  }
 
-    bool operator!=( PhysicalDeviceMeshShaderFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMeshShaderFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::ePhysicalDeviceMeshShaderFeaturesNV;
-    void *                                    pNext      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              taskShader = {};
-    VULKAN_HPP_NAMESPACE::Bool32              meshShader = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMeshShaderFeaturesNV ) == sizeof( VkPhysicalDeviceMeshShaderFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMeshShaderFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMeshShaderFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 taskShader = {};
+  VULKAN_HPP_NAMESPACE::Bool32 meshShader = {};
+};
+static_assert(sizeof(PhysicalDeviceMeshShaderFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceMeshShaderFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceMeshShaderFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMeshShaderFeaturesNV>
-  {
-    using Type = PhysicalDeviceMeshShaderFeaturesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceMeshShaderFeaturesNV> {
+  using Type = PhysicalDeviceMeshShaderFeaturesNV;
+};
 
-  struct PhysicalDeviceMeshShaderPropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMeshShaderPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceMeshShaderPropertiesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    PhysicalDeviceMeshShaderPropertiesNV( uint32_t                        maxDrawMeshTasksCount_          = {},
-                                          uint32_t                        maxTaskWorkGroupInvocations_    = {},
-                                          std::array<uint32_t, 3> const & maxTaskWorkGroupSize_           = {},
-                                          uint32_t                        maxTaskTotalMemorySize_         = {},
-                                          uint32_t                        maxTaskOutputCount_             = {},
-                                          uint32_t                        maxMeshWorkGroupInvocations_    = {},
-                                          std::array<uint32_t, 3> const & maxMeshWorkGroupSize_           = {},
-                                          uint32_t                        maxMeshTotalMemorySize_         = {},
-                                          uint32_t                        maxMeshOutputVertices_          = {},
-                                          uint32_t                        maxMeshOutputPrimitives_        = {},
-                                          uint32_t                        maxMeshMultiviewViewCount_      = {},
-                                          uint32_t                        meshOutputPerVertexGranularity_ = {},
-                                          uint32_t meshOutputPerPrimitiveGranularity_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxDrawMeshTasksCount( maxDrawMeshTasksCount_ )
-      , maxTaskWorkGroupInvocations( maxTaskWorkGroupInvocations_ )
-      , maxTaskWorkGroupSize( maxTaskWorkGroupSize_ )
-      , maxTaskTotalMemorySize( maxTaskTotalMemorySize_ )
-      , maxTaskOutputCount( maxTaskOutputCount_ )
-      , maxMeshWorkGroupInvocations( maxMeshWorkGroupInvocations_ )
-      , maxMeshWorkGroupSize( maxMeshWorkGroupSize_ )
-      , maxMeshTotalMemorySize( maxMeshTotalMemorySize_ )
-      , maxMeshOutputVertices( maxMeshOutputVertices_ )
-      , maxMeshOutputPrimitives( maxMeshOutputPrimitives_ )
-      , maxMeshMultiviewViewCount( maxMeshMultiviewViewCount_ )
-      , meshOutputPerVertexGranularity( meshOutputPerVertexGranularity_ )
-      , meshOutputPerPrimitiveGranularity( meshOutputPerPrimitiveGranularity_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesNV(
+      uint32_t maxDrawMeshTasksCount_ = {},
+      uint32_t maxTaskWorkGroupInvocations_ = {},
+      std::array<uint32_t, 3> const &maxTaskWorkGroupSize_ = {},
+      uint32_t maxTaskTotalMemorySize_ = {}, uint32_t maxTaskOutputCount_ = {},
+      uint32_t maxMeshWorkGroupInvocations_ = {},
+      std::array<uint32_t, 3> const &maxMeshWorkGroupSize_ = {},
+      uint32_t maxMeshTotalMemorySize_ = {},
+      uint32_t maxMeshOutputVertices_ = {},
+      uint32_t maxMeshOutputPrimitives_ = {},
+      uint32_t maxMeshMultiviewViewCount_ = {},
+      uint32_t meshOutputPerVertexGranularity_ = {},
+      uint32_t meshOutputPerPrimitiveGranularity_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxDrawMeshTasksCount(maxDrawMeshTasksCount_),
+        maxTaskWorkGroupInvocations(maxTaskWorkGroupInvocations_),
+        maxTaskWorkGroupSize(maxTaskWorkGroupSize_),
+        maxTaskTotalMemorySize(maxTaskTotalMemorySize_),
+        maxTaskOutputCount(maxTaskOutputCount_),
+        maxMeshWorkGroupInvocations(maxMeshWorkGroupInvocations_),
+        maxMeshWorkGroupSize(maxMeshWorkGroupSize_),
+        maxMeshTotalMemorySize(maxMeshTotalMemorySize_),
+        maxMeshOutputVertices(maxMeshOutputVertices_),
+        maxMeshOutputPrimitives(maxMeshOutputPrimitives_),
+        maxMeshMultiviewViewCount(maxMeshMultiviewViewCount_),
+        meshOutputPerVertexGranularity(meshOutputPerVertexGranularity_),
+        meshOutputPerPrimitiveGranularity(meshOutputPerPrimitiveGranularity_) {}
 
-    PhysicalDeviceMeshShaderPropertiesNV( VkPhysicalDeviceMeshShaderPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesNV(
+      PhysicalDeviceMeshShaderPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMeshShaderPropertiesNV &
-      operator=( VkPhysicalDeviceMeshShaderPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMeshShaderPropertiesNV(
+      VkPhysicalDeviceMeshShaderPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMeshShaderPropertiesNV(
+            *reinterpret_cast<PhysicalDeviceMeshShaderPropertiesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMeshShaderPropertiesNV &
-      operator=( PhysicalDeviceMeshShaderPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                             = rhs.pNext;
-      maxDrawMeshTasksCount             = rhs.maxDrawMeshTasksCount;
-      maxTaskWorkGroupInvocations       = rhs.maxTaskWorkGroupInvocations;
-      maxTaskWorkGroupSize              = rhs.maxTaskWorkGroupSize;
-      maxTaskTotalMemorySize            = rhs.maxTaskTotalMemorySize;
-      maxTaskOutputCount                = rhs.maxTaskOutputCount;
-      maxMeshWorkGroupInvocations       = rhs.maxMeshWorkGroupInvocations;
-      maxMeshWorkGroupSize              = rhs.maxMeshWorkGroupSize;
-      maxMeshTotalMemorySize            = rhs.maxMeshTotalMemorySize;
-      maxMeshOutputVertices             = rhs.maxMeshOutputVertices;
-      maxMeshOutputPrimitives           = rhs.maxMeshOutputPrimitives;
-      maxMeshMultiviewViewCount         = rhs.maxMeshMultiviewViewCount;
-      meshOutputPerVertexGranularity    = rhs.meshOutputPerVertexGranularity;
-      meshOutputPerPrimitiveGranularity = rhs.meshOutputPerPrimitiveGranularity;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesNV &
+  operator=(PhysicalDeviceMeshShaderPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMeshShaderPropertiesNV &operator=(
+      VkPhysicalDeviceMeshShaderPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMeshShaderPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV *>( this );
-    }
+  operator VkPhysicalDeviceMeshShaderPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceMeshShaderPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMeshShaderPropertiesNV *>( this );
-    }
+  operator VkPhysicalDeviceMeshShaderPropertiesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMeshShaderPropertiesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMeshShaderPropertiesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceMeshShaderPropertiesNV const &) const = default;
 #else
-    bool operator==( PhysicalDeviceMeshShaderPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxDrawMeshTasksCount == rhs.maxDrawMeshTasksCount ) &&
-             ( maxTaskWorkGroupInvocations == rhs.maxTaskWorkGroupInvocations ) &&
-             ( maxTaskWorkGroupSize == rhs.maxTaskWorkGroupSize ) &&
-             ( maxTaskTotalMemorySize == rhs.maxTaskTotalMemorySize ) &&
-             ( maxTaskOutputCount == rhs.maxTaskOutputCount ) &&
-             ( maxMeshWorkGroupInvocations == rhs.maxMeshWorkGroupInvocations ) &&
-             ( maxMeshWorkGroupSize == rhs.maxMeshWorkGroupSize ) &&
-             ( maxMeshTotalMemorySize == rhs.maxMeshTotalMemorySize ) &&
-             ( maxMeshOutputVertices == rhs.maxMeshOutputVertices ) &&
-             ( maxMeshOutputPrimitives == rhs.maxMeshOutputPrimitives ) &&
-             ( maxMeshMultiviewViewCount == rhs.maxMeshMultiviewViewCount ) &&
-             ( meshOutputPerVertexGranularity == rhs.meshOutputPerVertexGranularity ) &&
-             ( meshOutputPerPrimitiveGranularity == rhs.meshOutputPerPrimitiveGranularity );
-    }
+  bool operator==(PhysicalDeviceMeshShaderPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxDrawMeshTasksCount == rhs.maxDrawMeshTasksCount) &&
+           (maxTaskWorkGroupInvocations == rhs.maxTaskWorkGroupInvocations) &&
+           (maxTaskWorkGroupSize == rhs.maxTaskWorkGroupSize) &&
+           (maxTaskTotalMemorySize == rhs.maxTaskTotalMemorySize) &&
+           (maxTaskOutputCount == rhs.maxTaskOutputCount) &&
+           (maxMeshWorkGroupInvocations == rhs.maxMeshWorkGroupInvocations) &&
+           (maxMeshWorkGroupSize == rhs.maxMeshWorkGroupSize) &&
+           (maxMeshTotalMemorySize == rhs.maxMeshTotalMemorySize) &&
+           (maxMeshOutputVertices == rhs.maxMeshOutputVertices) &&
+           (maxMeshOutputPrimitives == rhs.maxMeshOutputPrimitives) &&
+           (maxMeshMultiviewViewCount == rhs.maxMeshMultiviewViewCount) &&
+           (meshOutputPerVertexGranularity ==
+            rhs.meshOutputPerVertexGranularity) &&
+           (meshOutputPerPrimitiveGranularity ==
+            rhs.meshOutputPerPrimitiveGranularity);
+  }
 
-    bool operator!=( PhysicalDeviceMeshShaderPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMeshShaderPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType = StructureType::ePhysicalDeviceMeshShaderPropertiesNV;
-    void *                                            pNext = {};
-    uint32_t                                          maxDrawMeshTasksCount             = {};
-    uint32_t                                          maxTaskWorkGroupInvocations       = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxTaskWorkGroupSize              = {};
-    uint32_t                                          maxTaskTotalMemorySize            = {};
-    uint32_t                                          maxTaskOutputCount                = {};
-    uint32_t                                          maxMeshWorkGroupInvocations       = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxMeshWorkGroupSize              = {};
-    uint32_t                                          maxMeshTotalMemorySize            = {};
-    uint32_t                                          maxMeshOutputVertices             = {};
-    uint32_t                                          maxMeshOutputPrimitives           = {};
-    uint32_t                                          maxMeshMultiviewViewCount         = {};
-    uint32_t                                          meshOutputPerVertexGranularity    = {};
-    uint32_t                                          meshOutputPerPrimitiveGranularity = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMeshShaderPropertiesNV ) == sizeof( VkPhysicalDeviceMeshShaderPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMeshShaderPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMeshShaderPropertiesNV;
+  void *pNext = {};
+  uint32_t maxDrawMeshTasksCount = {};
+  uint32_t maxTaskWorkGroupInvocations = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxTaskWorkGroupSize = {};
+  uint32_t maxTaskTotalMemorySize = {};
+  uint32_t maxTaskOutputCount = {};
+  uint32_t maxMeshWorkGroupInvocations = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> maxMeshWorkGroupSize = {};
+  uint32_t maxMeshTotalMemorySize = {};
+  uint32_t maxMeshOutputVertices = {};
+  uint32_t maxMeshOutputPrimitives = {};
+  uint32_t maxMeshMultiviewViewCount = {};
+  uint32_t meshOutputPerVertexGranularity = {};
+  uint32_t meshOutputPerPrimitiveGranularity = {};
+};
+static_assert(sizeof(PhysicalDeviceMeshShaderPropertiesNV) ==
+                  sizeof(VkPhysicalDeviceMeshShaderPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceMeshShaderPropertiesNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMeshShaderPropertiesNV>
-  {
-    using Type = PhysicalDeviceMeshShaderPropertiesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceMeshShaderPropertiesNV> {
+  using Type = PhysicalDeviceMeshShaderPropertiesNV;
+};
 
-  struct PhysicalDeviceMultiviewFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceMultiviewFeatures;
+struct PhysicalDeviceMultiviewFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceMultiviewFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 multiview_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_ = {} ) VULKAN_HPP_NOEXCEPT
-      : multiview( multiview_ )
-      , multiviewGeometryShader( multiviewGeometryShader_ )
-      , multiviewTessellationShader( multiviewTessellationShader_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 multiview_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : multiview(multiview_),
+        multiviewGeometryShader(multiviewGeometryShader_),
+        multiviewTessellationShader(multiviewTessellationShader_) {}
 
-    PhysicalDeviceMultiviewFeatures( VkPhysicalDeviceMultiviewFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewFeatures(
+      PhysicalDeviceMultiviewFeatures const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMultiviewFeatures & operator=( VkPhysicalDeviceMultiviewFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMultiviewFeatures(VkPhysicalDeviceMultiviewFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMultiviewFeatures(
+            *reinterpret_cast<PhysicalDeviceMultiviewFeatures const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMultiviewFeatures & operator=( PhysicalDeviceMultiviewFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      multiview                   = rhs.multiview;
-      multiviewGeometryShader     = rhs.multiviewGeometryShader;
-      multiviewTessellationShader = rhs.multiviewTessellationShader;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewFeatures &operator=(
+      PhysicalDeviceMultiviewFeatures const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMultiviewFeatures &
+  operator=(VkPhysicalDeviceMultiviewFeatures const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceMultiviewFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceMultiviewFeatures &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceMultiviewFeatures & setMultiview( VULKAN_HPP_NAMESPACE::Bool32 multiview_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiview = multiview_;
-      return *this;
-    }
+  PhysicalDeviceMultiviewFeatures &
+  setMultiview(VULKAN_HPP_NAMESPACE::Bool32 multiview_) VULKAN_HPP_NOEXCEPT {
+    multiview = multiview_;
+    return *this;
+  }
 
-    PhysicalDeviceMultiviewFeatures &
-      setMultiviewGeometryShader( VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiviewGeometryShader = multiviewGeometryShader_;
-      return *this;
-    }
+  PhysicalDeviceMultiviewFeatures &setMultiviewGeometryShader(
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_)
+      VULKAN_HPP_NOEXCEPT {
+    multiviewGeometryShader = multiviewGeometryShader_;
+    return *this;
+  }
 
-    PhysicalDeviceMultiviewFeatures &
-      setMultiviewTessellationShader( VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiviewTessellationShader = multiviewTessellationShader_;
-      return *this;
-    }
+  PhysicalDeviceMultiviewFeatures &setMultiviewTessellationShader(
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_)
+      VULKAN_HPP_NOEXCEPT {
+    multiviewTessellationShader = multiviewTessellationShader_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMultiviewFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>( this );
-    }
+  operator VkPhysicalDeviceMultiviewFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>(this);
+  }
 
-    operator VkPhysicalDeviceMultiviewFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMultiviewFeatures *>( this );
-    }
+  operator VkPhysicalDeviceMultiviewFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMultiviewFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMultiviewFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceMultiviewFeatures const &) const = default;
 #else
-    bool operator==( PhysicalDeviceMultiviewFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multiview == rhs.multiview ) &&
-             ( multiviewGeometryShader == rhs.multiviewGeometryShader ) &&
-             ( multiviewTessellationShader == rhs.multiviewTessellationShader );
-    }
+  bool operator==(PhysicalDeviceMultiviewFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (multiview == rhs.multiview) &&
+           (multiviewGeometryShader == rhs.multiviewGeometryShader) &&
+           (multiviewTessellationShader == rhs.multiviewTessellationShader);
+  }
 
-    bool operator!=( PhysicalDeviceMultiviewFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMultiviewFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                   = StructureType::ePhysicalDeviceMultiviewFeatures;
-    void *                                    pNext                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              multiview               = {};
-    VULKAN_HPP_NAMESPACE::Bool32              multiviewGeometryShader = {};
-    VULKAN_HPP_NAMESPACE::Bool32              multiviewTessellationShader = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMultiviewFeatures ) == sizeof( VkPhysicalDeviceMultiviewFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMultiviewFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMultiviewFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiview = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader = {};
+};
+static_assert(sizeof(PhysicalDeviceMultiviewFeatures) ==
+                  sizeof(VkPhysicalDeviceMultiviewFeatures),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceMultiviewFeatures>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMultiviewFeatures>
-  {
-    using Type = PhysicalDeviceMultiviewFeatures;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceMultiviewFeatures> {
+  using Type = PhysicalDeviceMultiviewFeatures;
+};
+using PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
 
-  struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
-      VULKAN_HPP_NAMESPACE::Bool32 perViewPositionAllComponents_ = {} ) VULKAN_HPP_NOEXCEPT
-      : perViewPositionAllComponents( perViewPositionAllComponents_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
+      VULKAN_HPP_NAMESPACE::Bool32 perViewPositionAllComponents_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : perViewPositionAllComponents(perViewPositionAllComponents_) {}
 
-    PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
-      VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
+      PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX &
-      operator=( VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
+      VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
+            *reinterpret_cast<
+                PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX &
-      operator=( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      perViewPositionAllComponents = rhs.perViewPositionAllComponents;
+  VULKAN_HPP_CONSTEXPR_14
+      PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX &
+      operator=(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const
+                    &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX &
+  operator=(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>( this );
-    }
+  operator VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(this);
+  }
 
-    operator VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>( this );
-    }
+  operator VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const
+                       &) const = default;
 #else
-    bool operator==( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( perViewPositionAllComponents == rhs.perViewPositionAllComponents );
-    }
+  bool operator==(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (perViewPositionAllComponents == rhs.perViewPositionAllComponents);
+  }
 
-    bool operator!=( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
-    void *                       pNext                        = {};
-    VULKAN_HPP_NAMESPACE::Bool32 perViewPositionAllComponents = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX ) ==
-                   sizeof( VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 perViewPositionAllComponents = {};
+};
+static_assert(
+    sizeof(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX) ==
+        sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX),
+    "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>
-  {
-    using Type = PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX> {
+  using Type = PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
+};
 
-  struct PhysicalDeviceMultiviewProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMultiviewProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceMultiviewProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceMultiviewProperties( uint32_t maxMultiviewViewCount_     = {},
-                                       uint32_t maxMultiviewInstanceIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxMultiviewViewCount( maxMultiviewViewCount_ )
-      , maxMultiviewInstanceIndex( maxMultiviewInstanceIndex_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewProperties(
+      uint32_t maxMultiviewViewCount_ = {},
+      uint32_t maxMultiviewInstanceIndex_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxMultiviewViewCount(maxMultiviewViewCount_),
+        maxMultiviewInstanceIndex(maxMultiviewInstanceIndex_) {}
 
-    PhysicalDeviceMultiviewProperties( VkPhysicalDeviceMultiviewProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewProperties(
+      PhysicalDeviceMultiviewProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceMultiviewProperties & operator=( VkPhysicalDeviceMultiviewProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceMultiviewProperties(
+      VkPhysicalDeviceMultiviewProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMultiviewProperties(
+            *reinterpret_cast<PhysicalDeviceMultiviewProperties const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceMultiviewProperties & operator=( PhysicalDeviceMultiviewProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      maxMultiviewViewCount     = rhs.maxMultiviewViewCount;
-      maxMultiviewInstanceIndex = rhs.maxMultiviewInstanceIndex;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewProperties &
+  operator=(PhysicalDeviceMultiviewProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceMultiviewProperties &operator=(
+      VkPhysicalDeviceMultiviewProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceMultiviewProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>( this );
-    }
+  operator VkPhysicalDeviceMultiviewProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>(this);
+  }
 
-    operator VkPhysicalDeviceMultiviewProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceMultiviewProperties *>( this );
-    }
+  operator VkPhysicalDeviceMultiviewProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceMultiviewProperties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceMultiviewProperties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceMultiviewProperties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceMultiviewProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxMultiviewViewCount == rhs.maxMultiviewViewCount ) &&
-             ( maxMultiviewInstanceIndex == rhs.maxMultiviewInstanceIndex );
-    }
+  bool operator==(PhysicalDeviceMultiviewProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxMultiviewViewCount == rhs.maxMultiviewViewCount) &&
+           (maxMultiviewInstanceIndex == rhs.maxMultiviewInstanceIndex);
+  }
 
-    bool operator!=( PhysicalDeviceMultiviewProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceMultiviewProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                 = StructureType::ePhysicalDeviceMultiviewProperties;
-    void *                                    pNext                 = {};
-    uint32_t                                  maxMultiviewViewCount = {};
-    uint32_t                                  maxMultiviewInstanceIndex = {};
-  };
-  static_assert( sizeof( PhysicalDeviceMultiviewProperties ) == sizeof( VkPhysicalDeviceMultiviewProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceMultiviewProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMultiviewProperties;
+  void *pNext = {};
+  uint32_t maxMultiviewViewCount = {};
+  uint32_t maxMultiviewInstanceIndex = {};
+};
+static_assert(sizeof(PhysicalDeviceMultiviewProperties) ==
+                  sizeof(VkPhysicalDeviceMultiviewProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceMultiviewProperties>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceMultiviewProperties>
-  {
-    using Type = PhysicalDeviceMultiviewProperties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceMultiviewProperties> {
+  using Type = PhysicalDeviceMultiviewProperties;
+};
+using PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
 
-  struct PhysicalDevicePCIBusInfoPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMutableDescriptorTypeFeaturesVALVE(
+      VULKAN_HPP_NAMESPACE::Bool32 mutableDescriptorType_ = {})
+      VULKAN_HPP_NOEXCEPT : mutableDescriptorType(mutableDescriptorType_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceMutableDescriptorTypeFeaturesVALVE(
+      PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceMutableDescriptorTypeFeaturesVALVE(
+      VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMutableDescriptorTypeFeaturesVALVE(
+            *reinterpret_cast<
+                PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMutableDescriptorTypeFeaturesVALVE &
+  operator=(PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceMutableDescriptorTypeFeaturesVALVE &
+  operator=(VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceMutableDescriptorTypeFeaturesVALVE &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceMutableDescriptorTypeFeaturesVALVE &setMutableDescriptorType(
+      VULKAN_HPP_NAMESPACE::Bool32 mutableDescriptorType_) VULKAN_HPP_NOEXCEPT {
+    mutableDescriptorType = mutableDescriptorType_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *>(this);
+  }
+
+  operator VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &) const = default;
+#else
+  bool operator==(PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (mutableDescriptorType == rhs.mutableDescriptorType);
+  }
+
+  bool operator!=(PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 mutableDescriptorType = {};
+};
+static_assert(sizeof(PhysicalDeviceMutableDescriptorTypeFeaturesVALVE) ==
+                  sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceMutableDescriptorTypeFeaturesVALVE>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE> {
+  using Type = PhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+};
+
+struct PhysicalDevicePCIBusInfoPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePciBusInfoPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDevicePCIBusInfoPropertiesEXT( uint32_t pciDomain_   = {},
-                                                                uint32_t pciBus_      = {},
-                                                                uint32_t pciDevice_   = {},
-                                                                uint32_t pciFunction_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pciDomain( pciDomain_ )
-      , pciBus( pciBus_ )
-      , pciDevice( pciDevice_ )
-      , pciFunction( pciFunction_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePCIBusInfoPropertiesEXT(
+      uint32_t pciDomain_ = {}, uint32_t pciBus_ = {}, uint32_t pciDevice_ = {},
+      uint32_t pciFunction_ = {}) VULKAN_HPP_NOEXCEPT
+      : pciDomain(pciDomain_),
+        pciBus(pciBus_),
+        pciDevice(pciDevice_),
+        pciFunction(pciFunction_) {}
 
-    PhysicalDevicePCIBusInfoPropertiesEXT( VkPhysicalDevicePCIBusInfoPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePCIBusInfoPropertiesEXT(
+      PhysicalDevicePCIBusInfoPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePCIBusInfoPropertiesEXT &
-      operator=( VkPhysicalDevicePCIBusInfoPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDevicePCIBusInfoPropertiesEXT(
+      VkPhysicalDevicePCIBusInfoPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePCIBusInfoPropertiesEXT(
+            *reinterpret_cast<PhysicalDevicePCIBusInfoPropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDevicePCIBusInfoPropertiesEXT &
-      operator=( PhysicalDevicePCIBusInfoPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      pciDomain   = rhs.pciDomain;
-      pciBus      = rhs.pciBus;
-      pciDevice   = rhs.pciDevice;
-      pciFunction = rhs.pciFunction;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePCIBusInfoPropertiesEXT &
+  operator=(PhysicalDevicePCIBusInfoPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDevicePCIBusInfoPropertiesEXT &operator=(
+      VkPhysicalDevicePCIBusInfoPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDevicePCIBusInfoPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDevicePCIBusInfoPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDevicePCIBusInfoPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePCIBusInfoPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDevicePCIBusInfoPropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePCIBusInfoPropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePCIBusInfoPropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDevicePCIBusInfoPropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDevicePCIBusInfoPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pciDomain == rhs.pciDomain ) &&
-             ( pciBus == rhs.pciBus ) && ( pciDevice == rhs.pciDevice ) && ( pciFunction == rhs.pciFunction );
-    }
+  bool operator==(PhysicalDevicePCIBusInfoPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pciDomain == rhs.pciDomain) && (pciBus == rhs.pciBus) &&
+           (pciDevice == rhs.pciDevice) && (pciFunction == rhs.pciFunction);
+  }
 
-    bool operator!=( PhysicalDevicePCIBusInfoPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePCIBusInfoPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::ePhysicalDevicePciBusInfoPropertiesEXT;
-    void *                                    pNext       = {};
-    uint32_t                                  pciDomain   = {};
-    uint32_t                                  pciBus      = {};
-    uint32_t                                  pciDevice   = {};
-    uint32_t                                  pciFunction = {};
-  };
-  static_assert( sizeof( PhysicalDevicePCIBusInfoPropertiesEXT ) == sizeof( VkPhysicalDevicePCIBusInfoPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePCIBusInfoPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePciBusInfoPropertiesEXT;
+  void *pNext = {};
+  uint32_t pciDomain = {};
+  uint32_t pciBus = {};
+  uint32_t pciDevice = {};
+  uint32_t pciFunction = {};
+};
+static_assert(sizeof(PhysicalDevicePCIBusInfoPropertiesEXT) ==
+                  sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevicePCIBusInfoPropertiesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePciBusInfoPropertiesEXT>
-  {
-    using Type = PhysicalDevicePCIBusInfoPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePciBusInfoPropertiesEXT> {
+  using Type = PhysicalDevicePCIBusInfoPropertiesEXT;
+};
 
-  struct PhysicalDevicePerformanceQueryFeaturesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDevicePerformanceQueryFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryFeaturesKHR(
-      VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools_ = {} ) VULKAN_HPP_NOEXCEPT
-      : performanceCounterQueryPools( performanceCounterQueryPools_ )
-      , performanceCounterMultipleQueryPools( performanceCounterMultipleQueryPools_ )
-    {}
-
-    PhysicalDevicePerformanceQueryFeaturesKHR( VkPhysicalDevicePerformanceQueryFeaturesKHR const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : performanceCounterQueryPools(performanceCounterQueryPools_),
+        performanceCounterMultipleQueryPools(
+            performanceCounterMultipleQueryPools_) {}
 
-    PhysicalDevicePerformanceQueryFeaturesKHR &
-      operator=( VkPhysicalDevicePerformanceQueryFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryFeaturesKHR(
+      PhysicalDevicePerformanceQueryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePerformanceQueryFeaturesKHR &
-      operator=( PhysicalDevicePerformanceQueryFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                = rhs.pNext;
-      performanceCounterQueryPools         = rhs.performanceCounterQueryPools;
-      performanceCounterMultipleQueryPools = rhs.performanceCounterMultipleQueryPools;
+  PhysicalDevicePerformanceQueryFeaturesKHR(
+      VkPhysicalDevicePerformanceQueryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePerformanceQueryFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDevicePerformanceQueryFeaturesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePerformanceQueryFeaturesKHR &
+  operator=(PhysicalDevicePerformanceQueryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePerformanceQueryFeaturesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDevicePerformanceQueryFeaturesKHR &
+  operator=(VkPhysicalDevicePerformanceQueryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDevicePerformanceQueryFeaturesKHR &
-      setPerformanceCounterQueryPools( VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools_ ) VULKAN_HPP_NOEXCEPT
-    {
-      performanceCounterQueryPools = performanceCounterQueryPools_;
-      return *this;
-    }
+  PhysicalDevicePerformanceQueryFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDevicePerformanceQueryFeaturesKHR & setPerformanceCounterMultipleQueryPools(
-      VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools_ ) VULKAN_HPP_NOEXCEPT
-    {
-      performanceCounterMultipleQueryPools = performanceCounterMultipleQueryPools_;
-      return *this;
-    }
+  PhysicalDevicePerformanceQueryFeaturesKHR &setPerformanceCounterQueryPools(
+      VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools_)
+      VULKAN_HPP_NOEXCEPT {
+    performanceCounterQueryPools = performanceCounterQueryPools_;
+    return *this;
+  }
 
-    operator VkPhysicalDevicePerformanceQueryFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePerformanceQueryFeaturesKHR *>( this );
-    }
+  PhysicalDevicePerformanceQueryFeaturesKHR &
+  setPerformanceCounterMultipleQueryPools(
+      VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools_)
+      VULKAN_HPP_NOEXCEPT {
+    performanceCounterMultipleQueryPools =
+        performanceCounterMultipleQueryPools_;
+    return *this;
+  }
 
-    operator VkPhysicalDevicePerformanceQueryFeaturesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePerformanceQueryFeaturesKHR *>( this );
-    }
+  operator VkPhysicalDevicePerformanceQueryFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDevicePerformanceQueryFeaturesKHR *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePerformanceQueryFeaturesKHR const & ) const = default;
+  operator VkPhysicalDevicePerformanceQueryFeaturesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePerformanceQueryFeaturesKHR *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevicePerformanceQueryFeaturesKHR const &) const =
+      default;
 #else
-    bool operator==( PhysicalDevicePerformanceQueryFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( performanceCounterQueryPools == rhs.performanceCounterQueryPools ) &&
-             ( performanceCounterMultipleQueryPools == rhs.performanceCounterMultipleQueryPools );
-    }
+  bool operator==(PhysicalDevicePerformanceQueryFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (performanceCounterQueryPools == rhs.performanceCounterQueryPools) &&
+           (performanceCounterMultipleQueryPools ==
+            rhs.performanceCounterMultipleQueryPools);
+  }
 
-    bool operator!=( PhysicalDevicePerformanceQueryFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePerformanceQueryFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              performanceCounterQueryPools         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              performanceCounterMultipleQueryPools = {};
-  };
-  static_assert( sizeof( PhysicalDevicePerformanceQueryFeaturesKHR ) ==
-                   sizeof( VkPhysicalDevicePerformanceQueryFeaturesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePerformanceQueryFeaturesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools = {};
+  VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools = {};
+};
+static_assert(sizeof(PhysicalDevicePerformanceQueryFeaturesKHR) ==
+                  sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevicePerformanceQueryFeaturesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR>
-  {
-    using Type = PhysicalDevicePerformanceQueryFeaturesKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR> {
+  using Type = PhysicalDevicePerformanceQueryFeaturesKHR;
+};
 
-  struct PhysicalDevicePerformanceQueryPropertiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDevicePerformanceQueryPropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryPropertiesKHR(
-      VULKAN_HPP_NAMESPACE::Bool32 allowCommandBufferQueryCopies_ = {} ) VULKAN_HPP_NOEXCEPT
-      : allowCommandBufferQueryCopies( allowCommandBufferQueryCopies_ )
-    {}
-
-    PhysicalDevicePerformanceQueryPropertiesKHR( VkPhysicalDevicePerformanceQueryPropertiesKHR const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryPropertiesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 allowCommandBufferQueryCopies_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : allowCommandBufferQueryCopies(allowCommandBufferQueryCopies_) {}
 
-    PhysicalDevicePerformanceQueryPropertiesKHR &
-      operator=( VkPhysicalDevicePerformanceQueryPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryPropertiesKHR(
+      PhysicalDevicePerformanceQueryPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePerformanceQueryPropertiesKHR &
-      operator=( PhysicalDevicePerformanceQueryPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      allowCommandBufferQueryCopies = rhs.allowCommandBufferQueryCopies;
+  PhysicalDevicePerformanceQueryPropertiesKHR(
+      VkPhysicalDevicePerformanceQueryPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePerformanceQueryPropertiesKHR(
+            *reinterpret_cast<
+                PhysicalDevicePerformanceQueryPropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePerformanceQueryPropertiesKHR &
+  operator=(PhysicalDevicePerformanceQueryPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDevicePerformanceQueryPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePerformanceQueryPropertiesKHR *>( this );
-    }
+  PhysicalDevicePerformanceQueryPropertiesKHR &
+  operator=(VkPhysicalDevicePerformanceQueryPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDevicePerformanceQueryPropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePerformanceQueryPropertiesKHR *>( this );
-    }
+  operator VkPhysicalDevicePerformanceQueryPropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDevicePerformanceQueryPropertiesKHR *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePerformanceQueryPropertiesKHR const & ) const = default;
+  operator VkPhysicalDevicePerformanceQueryPropertiesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePerformanceQueryPropertiesKHR *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevicePerformanceQueryPropertiesKHR const &) const =
+      default;
 #else
-    bool operator==( PhysicalDevicePerformanceQueryPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( allowCommandBufferQueryCopies == rhs.allowCommandBufferQueryCopies );
-    }
+  bool operator==(PhysicalDevicePerformanceQueryPropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (allowCommandBufferQueryCopies == rhs.allowCommandBufferQueryCopies);
+  }
 
-    bool operator!=( PhysicalDevicePerformanceQueryPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePerformanceQueryPropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              allowCommandBufferQueryCopies = {};
-  };
-  static_assert( sizeof( PhysicalDevicePerformanceQueryPropertiesKHR ) ==
-                   sizeof( VkPhysicalDevicePerformanceQueryPropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePerformanceQueryPropertiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 allowCommandBufferQueryCopies = {};
+};
+static_assert(sizeof(PhysicalDevicePerformanceQueryPropertiesKHR) ==
+                  sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevicePerformanceQueryPropertiesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR>
-  {
-    using Type = PhysicalDevicePerformanceQueryPropertiesKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR> {
+  using Type = PhysicalDevicePerformanceQueryPropertiesKHR;
+};
 
-  struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineCreationCacheControlFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pipelineCreationCacheControl( pipelineCreationCacheControl_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineCreationCacheControlFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : pipelineCreationCacheControl(pipelineCreationCacheControl_) {}
 
-    PhysicalDevicePipelineCreationCacheControlFeaturesEXT(
-      VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineCreationCacheControlFeaturesEXT(
+      PhysicalDevicePipelineCreationCacheControlFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePipelineCreationCacheControlFeaturesEXT &
-      operator=( VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDevicePipelineCreationCacheControlFeaturesEXT(
+      VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePipelineCreationCacheControlFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDevicePipelineCreationCacheControlFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDevicePipelineCreationCacheControlFeaturesEXT &
-      operator=( PhysicalDevicePipelineCreationCacheControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      pipelineCreationCacheControl = rhs.pipelineCreationCacheControl;
+  VULKAN_HPP_CONSTEXPR_14
+      PhysicalDevicePipelineCreationCacheControlFeaturesEXT &
+      operator=(PhysicalDevicePipelineCreationCacheControlFeaturesEXT const
+                    &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDevicePipelineCreationCacheControlFeaturesEXT &
+  operator=(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDevicePipelineCreationCacheControlFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDevicePipelineCreationCacheControlFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDevicePipelineCreationCacheControlFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDevicePipelineCreationCacheControlFeaturesEXT &
-      setPipelineCreationCacheControl( VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineCreationCacheControl = pipelineCreationCacheControl_;
-      return *this;
-    }
+  PhysicalDevicePipelineCreationCacheControlFeaturesEXT &
+  setPipelineCreationCacheControl(
+      VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_)
+      VULKAN_HPP_NOEXCEPT {
+    pipelineCreationCacheControl = pipelineCreationCacheControl_;
+    return *this;
+  }
 
-    operator VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePipelineCreationCacheControlFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevicePipelineCreationCacheControlFeaturesEXT const
+                       &) const = default;
 #else
-    bool operator==( PhysicalDevicePipelineCreationCacheControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( pipelineCreationCacheControl == rhs.pipelineCreationCacheControl );
-    }
+  bool operator==(PhysicalDevicePipelineCreationCacheControlFeaturesEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pipelineCreationCacheControl == rhs.pipelineCreationCacheControl);
+  }
 
-    bool operator!=( PhysicalDevicePipelineCreationCacheControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePipelineCreationCacheControlFeaturesEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT;
-    void *                       pNext                        = {};
-    VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl = {};
-  };
-  static_assert( sizeof( PhysicalDevicePipelineCreationCacheControlFeaturesEXT ) ==
-                   sizeof( VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePipelineCreationCacheControlFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl = {};
+};
+static_assert(
+    sizeof(PhysicalDevicePipelineCreationCacheControlFeaturesEXT) ==
+        sizeof(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT),
+    "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDevicePipelineCreationCacheControlFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT>
-  {
-    using Type = PhysicalDevicePipelineCreationCacheControlFeaturesEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT> {
+  using Type = PhysicalDevicePipelineCreationCacheControlFeaturesEXT;
+};
 
-  struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
-      VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pipelineExecutableInfo( pipelineExecutableInfo_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo_ = {})
+      VULKAN_HPP_NOEXCEPT : pipelineExecutableInfo(pipelineExecutableInfo_) {}
 
-    PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
-      VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
+      PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePipelineExecutablePropertiesFeaturesKHR &
-      operator=( VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const *>( &rhs );
-      return *this;
-    }
+  PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
+      VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDevicePipelineExecutablePropertiesFeaturesKHR &
-      operator=( PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      pipelineExecutableInfo = rhs.pipelineExecutableInfo;
+  VULKAN_HPP_CONSTEXPR_14
+      PhysicalDevicePipelineExecutablePropertiesFeaturesKHR &
+      operator=(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const
+                    &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDevicePipelineExecutablePropertiesFeaturesKHR &
+  operator=(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDevicePipelineExecutablePropertiesFeaturesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDevicePipelineExecutablePropertiesFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDevicePipelineExecutablePropertiesFeaturesKHR &
-      setPipelineExecutableInfo( VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineExecutableInfo = pipelineExecutableInfo_;
-      return *this;
-    }
+  PhysicalDevicePipelineExecutablePropertiesFeaturesKHR &
+  setPipelineExecutableInfo(VULKAN_HPP_NAMESPACE::Bool32
+                                pipelineExecutableInfo_) VULKAN_HPP_NOEXCEPT {
+    pipelineExecutableInfo = pipelineExecutableInfo_;
+    return *this;
+  }
 
-    operator VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>( this );
-    }
+  operator VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>(this);
+  }
 
-    operator VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>( this );
-    }
+  operator VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const
+                       &) const = default;
 #else
-    bool operator==( PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( pipelineExecutableInfo == rhs.pipelineExecutableInfo );
-    }
+  bool operator==(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pipelineExecutableInfo == rhs.pipelineExecutableInfo);
+  }
 
-    bool operator!=( PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
-    void *                       pNext                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo = {};
-  };
-  static_assert( sizeof( PhysicalDevicePipelineExecutablePropertiesFeaturesKHR ) ==
-                   sizeof( VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo = {};
+};
+static_assert(
+    sizeof(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR) ==
+        sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR),
+    "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDevicePipelineExecutablePropertiesFeaturesKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR>
-  {
-    using Type = PhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR> {
+  using Type = PhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
+};
 
-  struct PhysicalDevicePointClippingProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDevicePointClippingProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePointClippingProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDevicePointClippingProperties(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePointClippingProperties(
       VULKAN_HPP_NAMESPACE::PointClippingBehavior pointClippingBehavior_ =
-        VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes ) VULKAN_HPP_NOEXCEPT
-      : pointClippingBehavior( pointClippingBehavior_ )
-    {}
+          VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes)
+      VULKAN_HPP_NOEXCEPT : pointClippingBehavior(pointClippingBehavior_) {}
 
-    PhysicalDevicePointClippingProperties( VkPhysicalDevicePointClippingProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePointClippingProperties(
+      PhysicalDevicePointClippingProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePointClippingProperties &
-      operator=( VkPhysicalDevicePointClippingProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDevicePointClippingProperties(
+      VkPhysicalDevicePointClippingProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePointClippingProperties(
+            *reinterpret_cast<PhysicalDevicePointClippingProperties const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDevicePointClippingProperties &
-      operator=( PhysicalDevicePointClippingProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      pointClippingBehavior = rhs.pointClippingBehavior;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePointClippingProperties &
+  operator=(PhysicalDevicePointClippingProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDevicePointClippingProperties &operator=(
+      VkPhysicalDevicePointClippingProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDevicePointClippingProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>( this );
-    }
+  operator VkPhysicalDevicePointClippingProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>(
+        this);
+  }
 
-    operator VkPhysicalDevicePointClippingProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePointClippingProperties *>( this );
-    }
+  operator VkPhysicalDevicePointClippingProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePointClippingProperties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePointClippingProperties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDevicePointClippingProperties const &) const = default;
 #else
-    bool operator==( PhysicalDevicePointClippingProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pointClippingBehavior == rhs.pointClippingBehavior );
-    }
+  bool operator==(PhysicalDevicePointClippingProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pointClippingBehavior == rhs.pointClippingBehavior);
+  }
 
-    bool operator!=( PhysicalDevicePointClippingProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePointClippingProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType = StructureType::ePhysicalDevicePointClippingProperties;
-    void *                                      pNext = {};
-    VULKAN_HPP_NAMESPACE::PointClippingBehavior pointClippingBehavior =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePointClippingProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PointClippingBehavior pointClippingBehavior =
       VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes;
-  };
-  static_assert( sizeof( PhysicalDevicePointClippingProperties ) == sizeof( VkPhysicalDevicePointClippingProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePointClippingProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(PhysicalDevicePointClippingProperties) ==
+                  sizeof(VkPhysicalDevicePointClippingProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevicePointClippingProperties>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePointClippingProperties>
-  {
-    using Type = PhysicalDevicePointClippingProperties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePointClippingProperties> {
+  using Type = PhysicalDevicePointClippingProperties;
+};
+using PhysicalDevicePointClippingPropertiesKHR =
+    PhysicalDevicePointClippingProperties;
 
-  struct PhysicalDevicePrivateDataFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_ENABLE_BETA_EXTENSIONS)
+struct PhysicalDevicePortabilitySubsetFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 constantAlphaColorBlendFactors_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 events_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatReinterpretation_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatSwizzle_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 imageView2DOn3DImage_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multisampleArrayImage_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 mutableComparisonSamplers_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 pointPolygons_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 samplerMipLodBias_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 separateStencilMaskRef_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampleRateInterpolationFunctions_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 tessellationIsolines_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 tessellationPointMode_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 triangleFans_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeAccessBeyondStride_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : constantAlphaColorBlendFactors(constantAlphaColorBlendFactors_),
+        events(events_),
+        imageViewFormatReinterpretation(imageViewFormatReinterpretation_),
+        imageViewFormatSwizzle(imageViewFormatSwizzle_),
+        imageView2DOn3DImage(imageView2DOn3DImage_),
+        multisampleArrayImage(multisampleArrayImage_),
+        mutableComparisonSamplers(mutableComparisonSamplers_),
+        pointPolygons(pointPolygons_),
+        samplerMipLodBias(samplerMipLodBias_),
+        separateStencilMaskRef(separateStencilMaskRef_),
+        shaderSampleRateInterpolationFunctions(
+            shaderSampleRateInterpolationFunctions_),
+        tessellationIsolines(tessellationIsolines_),
+        tessellationPointMode(tessellationPointMode_),
+        triangleFans(triangleFans_),
+        vertexAttributeAccessBeyondStride(vertexAttributeAccessBeyondStride_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetFeaturesKHR(
+      PhysicalDevicePortabilitySubsetFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR(
+      VkPhysicalDevicePortabilitySubsetFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePortabilitySubsetFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDevicePortabilitySubsetFeaturesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
+  operator=(PhysicalDevicePortabilitySubsetFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &
+  operator=(VkPhysicalDevicePortabilitySubsetFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setConstantAlphaColorBlendFactors(
+      VULKAN_HPP_NAMESPACE::Bool32 constantAlphaColorBlendFactors_)
+      VULKAN_HPP_NOEXCEPT {
+    constantAlphaColorBlendFactors = constantAlphaColorBlendFactors_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &
+  setEvents(VULKAN_HPP_NAMESPACE::Bool32 events_) VULKAN_HPP_NOEXCEPT {
+    events = events_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &
+  setImageViewFormatReinterpretation(
+      VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatReinterpretation_)
+      VULKAN_HPP_NOEXCEPT {
+    imageViewFormatReinterpretation = imageViewFormatReinterpretation_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setImageViewFormatSwizzle(
+      VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatSwizzle_)
+      VULKAN_HPP_NOEXCEPT {
+    imageViewFormatSwizzle = imageViewFormatSwizzle_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setImageView2DOn3DImage(
+      VULKAN_HPP_NAMESPACE::Bool32 imageView2DOn3DImage_) VULKAN_HPP_NOEXCEPT {
+    imageView2DOn3DImage = imageView2DOn3DImage_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setMultisampleArrayImage(
+      VULKAN_HPP_NAMESPACE::Bool32 multisampleArrayImage_) VULKAN_HPP_NOEXCEPT {
+    multisampleArrayImage = multisampleArrayImage_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setMutableComparisonSamplers(
+      VULKAN_HPP_NAMESPACE::Bool32 mutableComparisonSamplers_)
+      VULKAN_HPP_NOEXCEPT {
+    mutableComparisonSamplers = mutableComparisonSamplers_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setPointPolygons(
+      VULKAN_HPP_NAMESPACE::Bool32 pointPolygons_) VULKAN_HPP_NOEXCEPT {
+    pointPolygons = pointPolygons_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setSamplerMipLodBias(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerMipLodBias_) VULKAN_HPP_NOEXCEPT {
+    samplerMipLodBias = samplerMipLodBias_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setSeparateStencilMaskRef(
+      VULKAN_HPP_NAMESPACE::Bool32 separateStencilMaskRef_)
+      VULKAN_HPP_NOEXCEPT {
+    separateStencilMaskRef = separateStencilMaskRef_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &
+  setShaderSampleRateInterpolationFunctions(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampleRateInterpolationFunctions_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSampleRateInterpolationFunctions =
+        shaderSampleRateInterpolationFunctions_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setTessellationIsolines(
+      VULKAN_HPP_NAMESPACE::Bool32 tessellationIsolines_) VULKAN_HPP_NOEXCEPT {
+    tessellationIsolines = tessellationIsolines_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setTessellationPointMode(
+      VULKAN_HPP_NAMESPACE::Bool32 tessellationPointMode_) VULKAN_HPP_NOEXCEPT {
+    tessellationPointMode = tessellationPointMode_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &setTriangleFans(
+      VULKAN_HPP_NAMESPACE::Bool32 triangleFans_) VULKAN_HPP_NOEXCEPT {
+    triangleFans = triangleFans_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetFeaturesKHR &
+  setVertexAttributeAccessBeyondStride(
+      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeAccessBeyondStride_)
+      VULKAN_HPP_NOEXCEPT {
+    vertexAttributeAccessBeyondStride = vertexAttributeAccessBeyondStride_;
+    return *this;
+  }
+
+  operator VkPhysicalDevicePortabilitySubsetFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDevicePortabilitySubsetFeaturesKHR *>(this);
+  }
+
+  operator VkPhysicalDevicePortabilitySubsetFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePortabilitySubsetFeaturesKHR *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevicePortabilitySubsetFeaturesKHR const &) const =
+      default;
+#else
+  bool operator==(PhysicalDevicePortabilitySubsetFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (constantAlphaColorBlendFactors ==
+            rhs.constantAlphaColorBlendFactors) &&
+           (events == rhs.events) &&
+           (imageViewFormatReinterpretation ==
+            rhs.imageViewFormatReinterpretation) &&
+           (imageViewFormatSwizzle == rhs.imageViewFormatSwizzle) &&
+           (imageView2DOn3DImage == rhs.imageView2DOn3DImage) &&
+           (multisampleArrayImage == rhs.multisampleArrayImage) &&
+           (mutableComparisonSamplers == rhs.mutableComparisonSamplers) &&
+           (pointPolygons == rhs.pointPolygons) &&
+           (samplerMipLodBias == rhs.samplerMipLodBias) &&
+           (separateStencilMaskRef == rhs.separateStencilMaskRef) &&
+           (shaderSampleRateInterpolationFunctions ==
+            rhs.shaderSampleRateInterpolationFunctions) &&
+           (tessellationIsolines == rhs.tessellationIsolines) &&
+           (tessellationPointMode == rhs.tessellationPointMode) &&
+           (triangleFans == rhs.triangleFans) &&
+           (vertexAttributeAccessBeyondStride ==
+            rhs.vertexAttributeAccessBeyondStride);
+  }
+
+  bool operator!=(PhysicalDevicePortabilitySubsetFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 constantAlphaColorBlendFactors = {};
+  VULKAN_HPP_NAMESPACE::Bool32 events = {};
+  VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatReinterpretation = {};
+  VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatSwizzle = {};
+  VULKAN_HPP_NAMESPACE::Bool32 imageView2DOn3DImage = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multisampleArrayImage = {};
+  VULKAN_HPP_NAMESPACE::Bool32 mutableComparisonSamplers = {};
+  VULKAN_HPP_NAMESPACE::Bool32 pointPolygons = {};
+  VULKAN_HPP_NAMESPACE::Bool32 samplerMipLodBias = {};
+  VULKAN_HPP_NAMESPACE::Bool32 separateStencilMaskRef = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSampleRateInterpolationFunctions = {};
+  VULKAN_HPP_NAMESPACE::Bool32 tessellationIsolines = {};
+  VULKAN_HPP_NAMESPACE::Bool32 tessellationPointMode = {};
+  VULKAN_HPP_NAMESPACE::Bool32 triangleFans = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeAccessBeyondStride = {};
+};
+static_assert(sizeof(PhysicalDevicePortabilitySubsetFeaturesKHR) ==
+                  sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevicePortabilitySubsetFeaturesKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR> {
+  using Type = PhysicalDevicePortabilitySubsetFeaturesKHR;
+};
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+#if defined(VK_ENABLE_BETA_EXTENSIONS)
+struct PhysicalDevicePortabilitySubsetPropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetPropertiesKHR(
+      uint32_t minVertexInputBindingStrideAlignment_ = {}) VULKAN_HPP_NOEXCEPT
+      : minVertexInputBindingStrideAlignment(
+            minVertexInputBindingStrideAlignment_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetPropertiesKHR(
+      PhysicalDevicePortabilitySubsetPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevicePortabilitySubsetPropertiesKHR(
+      VkPhysicalDevicePortabilitySubsetPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePortabilitySubsetPropertiesKHR(
+            *reinterpret_cast<
+                PhysicalDevicePortabilitySubsetPropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetPropertiesKHR &
+  operator=(PhysicalDevicePortabilitySubsetPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevicePortabilitySubsetPropertiesKHR &
+  operator=(VkPhysicalDevicePortabilitySubsetPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR const
+            *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetPropertiesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDevicePortabilitySubsetPropertiesKHR &
+  setMinVertexInputBindingStrideAlignment(
+      uint32_t minVertexInputBindingStrideAlignment_) VULKAN_HPP_NOEXCEPT {
+    minVertexInputBindingStrideAlignment =
+        minVertexInputBindingStrideAlignment_;
+    return *this;
+  }
+
+  operator VkPhysicalDevicePortabilitySubsetPropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDevicePortabilitySubsetPropertiesKHR *>(this);
+  }
+
+  operator VkPhysicalDevicePortabilitySubsetPropertiesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePortabilitySubsetPropertiesKHR *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevicePortabilitySubsetPropertiesKHR const &) const =
+      default;
+#else
+  bool operator==(PhysicalDevicePortabilitySubsetPropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (minVertexInputBindingStrideAlignment ==
+            rhs.minVertexInputBindingStrideAlignment);
+  }
+
+  bool operator!=(PhysicalDevicePortabilitySubsetPropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR;
+  void *pNext = {};
+  uint32_t minVertexInputBindingStrideAlignment = {};
+};
+static_assert(sizeof(PhysicalDevicePortabilitySubsetPropertiesKHR) ==
+                  sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDevicePortabilitySubsetPropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR> {
+  using Type = PhysicalDevicePortabilitySubsetPropertiesKHR;
+};
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+struct PhysicalDevicePrivateDataFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePrivateDataFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDevicePrivateDataFeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 privateData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : privateData( privateData_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePrivateDataFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 privateData_ = {}) VULKAN_HPP_NOEXCEPT
+      : privateData(privateData_) {}
 
-    PhysicalDevicePrivateDataFeaturesEXT( VkPhysicalDevicePrivateDataFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePrivateDataFeaturesEXT(
+      PhysicalDevicePrivateDataFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePrivateDataFeaturesEXT &
-      operator=( VkPhysicalDevicePrivateDataFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDevicePrivateDataFeaturesEXT(
+      VkPhysicalDevicePrivateDataFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDevicePrivateDataFeaturesEXT(
+            *reinterpret_cast<PhysicalDevicePrivateDataFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDevicePrivateDataFeaturesEXT &
-      operator=( PhysicalDevicePrivateDataFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      privateData = rhs.privateData;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrivateDataFeaturesEXT &
+  operator=(PhysicalDevicePrivateDataFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDevicePrivateDataFeaturesEXT &operator=(
+      VkPhysicalDevicePrivateDataFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDevicePrivateDataFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDevicePrivateDataFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDevicePrivateDataFeaturesEXT &
-      setPrivateData( VULKAN_HPP_NAMESPACE::Bool32 privateData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      privateData = privateData_;
-      return *this;
-    }
+  PhysicalDevicePrivateDataFeaturesEXT &setPrivateData(
+      VULKAN_HPP_NAMESPACE::Bool32 privateData_) VULKAN_HPP_NOEXCEPT {
+    privateData = privateData_;
+    return *this;
+  }
 
-    operator VkPhysicalDevicePrivateDataFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePrivateDataFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDevicePrivateDataFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDevicePrivateDataFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDevicePrivateDataFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePrivateDataFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDevicePrivateDataFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePrivateDataFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePrivateDataFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDevicePrivateDataFeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDevicePrivateDataFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( privateData == rhs.privateData );
-    }
+  bool operator==(PhysicalDevicePrivateDataFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (privateData == rhs.privateData);
+  }
 
-    bool operator!=( PhysicalDevicePrivateDataFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePrivateDataFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType       = StructureType::ePhysicalDevicePrivateDataFeaturesEXT;
-    void *                                    pNext       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              privateData = {};
-  };
-  static_assert( sizeof( PhysicalDevicePrivateDataFeaturesEXT ) == sizeof( VkPhysicalDevicePrivateDataFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePrivateDataFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePrivateDataFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 privateData = {};
+};
+static_assert(sizeof(PhysicalDevicePrivateDataFeaturesEXT) ==
+                  sizeof(VkPhysicalDevicePrivateDataFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevicePrivateDataFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePrivateDataFeaturesEXT>
-  {
-    using Type = PhysicalDevicePrivateDataFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePrivateDataFeaturesEXT> {
+  using Type = PhysicalDevicePrivateDataFeaturesEXT;
+};
 
-  struct PhysicalDeviceSparseProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseProperties(
-      VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DBlockShape_            = {},
-      VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DMultisampleBlockShape_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 residencyStandard3DBlockShape_            = {},
-      VULKAN_HPP_NAMESPACE::Bool32 residencyAlignedMipSize_                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 residencyNonResidentStrict_               = {} ) VULKAN_HPP_NOEXCEPT
-      : residencyStandard2DBlockShape( residencyStandard2DBlockShape_ )
-      , residencyStandard2DMultisampleBlockShape( residencyStandard2DMultisampleBlockShape_ )
-      , residencyStandard3DBlockShape( residencyStandard3DBlockShape_ )
-      , residencyAlignedMipSize( residencyAlignedMipSize_ )
-      , residencyNonResidentStrict( residencyNonResidentStrict_ )
-    {}
-
-    PhysicalDeviceSparseProperties( VkPhysicalDeviceSparseProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceSparseProperties & operator=( VkPhysicalDeviceSparseProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkPhysicalDeviceSparseProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSparseProperties *>( this );
-    }
-
-    operator VkPhysicalDeviceSparseProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSparseProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSparseProperties const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceSparseProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( residencyStandard2DBlockShape == rhs.residencyStandard2DBlockShape ) &&
-             ( residencyStandard2DMultisampleBlockShape == rhs.residencyStandard2DMultisampleBlockShape ) &&
-             ( residencyStandard3DBlockShape == rhs.residencyStandard3DBlockShape ) &&
-             ( residencyAlignedMipSize == rhs.residencyAlignedMipSize ) &&
-             ( residencyNonResidentStrict == rhs.residencyNonResidentStrict );
-    }
-
-    bool operator!=( PhysicalDeviceSparseProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DBlockShape            = {};
-    VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DMultisampleBlockShape = {};
-    VULKAN_HPP_NAMESPACE::Bool32 residencyStandard3DBlockShape            = {};
-    VULKAN_HPP_NAMESPACE::Bool32 residencyAlignedMipSize                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32 residencyNonResidentStrict               = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSparseProperties ) == sizeof( VkPhysicalDeviceSparseProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSparseProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct PhysicalDeviceProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties(
-      uint32_t                                 apiVersion_    = {},
-      uint32_t                                 driverVersion_ = {},
-      uint32_t                                 vendorID_      = {},
-      uint32_t                                 deviceID_      = {},
-      VULKAN_HPP_NAMESPACE::PhysicalDeviceType deviceType_    = VULKAN_HPP_NAMESPACE::PhysicalDeviceType::eOther,
-      std::array<char, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE> const & deviceName_        = {},
-      std::array<uint8_t, VK_UUID_SIZE> const &                  pipelineCacheUUID_ = {},
-      VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits                 limits_            = {},
-      VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties       sparseProperties_  = {} ) VULKAN_HPP_NOEXCEPT
-      : apiVersion( apiVersion_ )
-      , driverVersion( driverVersion_ )
-      , vendorID( vendorID_ )
-      , deviceID( deviceID_ )
-      , deviceType( deviceType_ )
-      , deviceName( deviceName_ )
-      , pipelineCacheUUID( pipelineCacheUUID_ )
-      , limits( limits_ )
-      , sparseProperties( sparseProperties_ )
-    {}
-
-    PhysicalDeviceProperties( VkPhysicalDeviceProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceProperties & operator=( VkPhysicalDeviceProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkPhysicalDeviceProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceProperties *>( this );
-    }
-
-    operator VkPhysicalDeviceProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceProperties const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( apiVersion == rhs.apiVersion ) && ( driverVersion == rhs.driverVersion ) &&
-             ( vendorID == rhs.vendorID ) && ( deviceID == rhs.deviceID ) && ( deviceType == rhs.deviceType ) &&
-             ( deviceName == rhs.deviceName ) && ( pipelineCacheUUID == rhs.pipelineCacheUUID ) &&
-             ( limits == rhs.limits ) && ( sparseProperties == rhs.sparseProperties );
-    }
-
-    bool operator!=( PhysicalDeviceProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                                 apiVersion    = {};
-    uint32_t                                 driverVersion = {};
-    uint32_t                                 vendorID      = {};
-    uint32_t                                 deviceID      = {};
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceType deviceType    = VULKAN_HPP_NAMESPACE::PhysicalDeviceType::eOther;
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE> deviceName        = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE>                  pipelineCacheUUID = {};
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits                                   limits            = {};
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties                         sparseProperties  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceProperties ) == sizeof( VkPhysicalDeviceProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceProperties>::value, "struct wrapper is not a standard layout!" );
-
-  struct PhysicalDeviceProperties2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceProperties2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    PhysicalDeviceProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : properties( properties_ )
-    {}
-
-    PhysicalDeviceProperties2( VkPhysicalDeviceProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceProperties2 & operator=( VkPhysicalDeviceProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceProperties2 & operator=( PhysicalDeviceProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      properties = rhs.properties;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceProperties2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceProperties2 *>( this );
-    }
-
-    operator VkPhysicalDeviceProperties2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceProperties2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceProperties2 const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( properties == rhs.properties );
-    }
-
-    bool operator!=( PhysicalDeviceProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType      = StructureType::ePhysicalDeviceProperties2;
-    void *                                         pNext      = {};
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties = {};
-  };
-  static_assert( sizeof( PhysicalDeviceProperties2 ) == sizeof( VkPhysicalDeviceProperties2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceProperties2>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceProperties2>
-  {
-    using Type = PhysicalDeviceProperties2;
-  };
-
-  struct PhysicalDeviceProtectedMemoryFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceProtectedMemoryFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceProtectedMemoryFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceProtectedMemoryFeatures( VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_ = {} ) VULKAN_HPP_NOEXCEPT
-      : protectedMemory( protectedMemory_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_ = {}) VULKAN_HPP_NOEXCEPT
+      : protectedMemory(protectedMemory_) {}
 
-    PhysicalDeviceProtectedMemoryFeatures( VkPhysicalDeviceProtectedMemoryFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryFeatures(
+      PhysicalDeviceProtectedMemoryFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceProtectedMemoryFeatures &
-      operator=( VkPhysicalDeviceProtectedMemoryFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceProtectedMemoryFeatures(
+      VkPhysicalDeviceProtectedMemoryFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceProtectedMemoryFeatures(
+            *reinterpret_cast<PhysicalDeviceProtectedMemoryFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceProtectedMemoryFeatures &
-      operator=( PhysicalDeviceProtectedMemoryFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      protectedMemory = rhs.protectedMemory;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProtectedMemoryFeatures &
+  operator=(PhysicalDeviceProtectedMemoryFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceProtectedMemoryFeatures &operator=(
+      VkPhysicalDeviceProtectedMemoryFeatures const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceProtectedMemoryFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceProtectedMemoryFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceProtectedMemoryFeatures &
-      setProtectedMemory( VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      protectedMemory = protectedMemory_;
-      return *this;
-    }
+  PhysicalDeviceProtectedMemoryFeatures &setProtectedMemory(
+      VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_) VULKAN_HPP_NOEXCEPT {
+    protectedMemory = protectedMemory_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceProtectedMemoryFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures *>( this );
-    }
+  operator VkPhysicalDeviceProtectedMemoryFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceProtectedMemoryFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures *>( this );
-    }
+  operator VkPhysicalDeviceProtectedMemoryFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceProtectedMemoryFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceProtectedMemoryFeatures const &) const = default;
 #else
-    bool operator==( PhysicalDeviceProtectedMemoryFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( protectedMemory == rhs.protectedMemory );
-    }
+  bool operator==(PhysicalDeviceProtectedMemoryFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (protectedMemory == rhs.protectedMemory);
+  }
 
-    bool operator!=( PhysicalDeviceProtectedMemoryFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceProtectedMemoryFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::ePhysicalDeviceProtectedMemoryFeatures;
-    void *                                    pNext           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              protectedMemory = {};
-  };
-  static_assert( sizeof( PhysicalDeviceProtectedMemoryFeatures ) == sizeof( VkPhysicalDeviceProtectedMemoryFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceProtectedMemoryFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceProtectedMemoryFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 protectedMemory = {};
+};
+static_assert(sizeof(PhysicalDeviceProtectedMemoryFeatures) ==
+                  sizeof(VkPhysicalDeviceProtectedMemoryFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceProtectedMemoryFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceProtectedMemoryFeatures>
-  {
-    using Type = PhysicalDeviceProtectedMemoryFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceProtectedMemoryFeatures> {
+  using Type = PhysicalDeviceProtectedMemoryFeatures;
+};
 
-  struct PhysicalDeviceProtectedMemoryProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceProtectedMemoryProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceProtectedMemoryProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceProtectedMemoryProperties( VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault_ = {} ) VULKAN_HPP_NOEXCEPT
-      : protectedNoFault( protectedNoFault_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryProperties(
+      VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault_ = {}) VULKAN_HPP_NOEXCEPT
+      : protectedNoFault(protectedNoFault_) {}
 
-    PhysicalDeviceProtectedMemoryProperties( VkPhysicalDeviceProtectedMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryProperties(
+      PhysicalDeviceProtectedMemoryProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceProtectedMemoryProperties &
-      operator=( VkPhysicalDeviceProtectedMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceProtectedMemoryProperties(
+      VkPhysicalDeviceProtectedMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceProtectedMemoryProperties(
+            *reinterpret_cast<PhysicalDeviceProtectedMemoryProperties const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceProtectedMemoryProperties &
-      operator=( PhysicalDeviceProtectedMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      protectedNoFault = rhs.protectedNoFault;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProtectedMemoryProperties &
+  operator=(PhysicalDeviceProtectedMemoryProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceProtectedMemoryProperties &
+  operator=(VkPhysicalDeviceProtectedMemoryProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceProtectedMemoryProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties *>( this );
-    }
+  operator VkPhysicalDeviceProtectedMemoryProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceProtectedMemoryProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties *>( this );
-    }
+  operator VkPhysicalDeviceProtectedMemoryProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceProtectedMemoryProperties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceProtectedMemoryProperties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceProtectedMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( protectedNoFault == rhs.protectedNoFault );
-    }
+  bool operator==(PhysicalDeviceProtectedMemoryProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (protectedNoFault == rhs.protectedNoFault);
+  }
 
-    bool operator!=( PhysicalDeviceProtectedMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceProtectedMemoryProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceProtectedMemoryProperties;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              protectedNoFault = {};
-  };
-  static_assert( sizeof( PhysicalDeviceProtectedMemoryProperties ) ==
-                   sizeof( VkPhysicalDeviceProtectedMemoryProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceProtectedMemoryProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceProtectedMemoryProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault = {};
+};
+static_assert(sizeof(PhysicalDeviceProtectedMemoryProperties) ==
+                  sizeof(VkPhysicalDeviceProtectedMemoryProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceProtectedMemoryProperties>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceProtectedMemoryProperties>
-  {
-    using Type = PhysicalDeviceProtectedMemoryProperties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceProtectedMemoryProperties> {
+  using Type = PhysicalDeviceProtectedMemoryProperties;
+};
 
-  struct PhysicalDevicePushDescriptorPropertiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDevicePushDescriptorPropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDevicePushDescriptorPropertiesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDevicePushDescriptorPropertiesKHR( uint32_t maxPushDescriptors_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxPushDescriptors( maxPushDescriptors_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePushDescriptorPropertiesKHR(
+      uint32_t maxPushDescriptors_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxPushDescriptors(maxPushDescriptors_) {}
 
-    PhysicalDevicePushDescriptorPropertiesKHR( VkPhysicalDevicePushDescriptorPropertiesKHR const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDevicePushDescriptorPropertiesKHR(
+      PhysicalDevicePushDescriptorPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDevicePushDescriptorPropertiesKHR(
+      VkPhysicalDevicePushDescriptorPropertiesKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDevicePushDescriptorPropertiesKHR(
+            *reinterpret_cast<
+                PhysicalDevicePushDescriptorPropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDevicePushDescriptorPropertiesKHR &
-      operator=( VkPhysicalDevicePushDescriptorPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePushDescriptorPropertiesKHR &
+  operator=(PhysicalDevicePushDescriptorPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDevicePushDescriptorPropertiesKHR &
-      operator=( PhysicalDevicePushDescriptorPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      maxPushDescriptors = rhs.maxPushDescriptors;
+  PhysicalDevicePushDescriptorPropertiesKHR &
+  operator=(VkPhysicalDevicePushDescriptorPropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDevicePushDescriptorPropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDevicePushDescriptorPropertiesKHR *>(this);
+  }
 
-    operator VkPhysicalDevicePushDescriptorPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR *>( this );
-    }
+  operator VkPhysicalDevicePushDescriptorPropertiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR *>(
+        this);
+  }
 
-    operator VkPhysicalDevicePushDescriptorPropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDevicePushDescriptorPropertiesKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDevicePushDescriptorPropertiesKHR const &) const =
+      default;
 #else
-    bool operator==( PhysicalDevicePushDescriptorPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPushDescriptors == rhs.maxPushDescriptors );
-    }
+  bool operator==(PhysicalDevicePushDescriptorPropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxPushDescriptors == rhs.maxPushDescriptors);
+  }
 
-    bool operator!=( PhysicalDevicePushDescriptorPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDevicePushDescriptorPropertiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePushDescriptorPropertiesKHR;
-    void *                                    pNext = {};
-    uint32_t                                  maxPushDescriptors = {};
-  };
-  static_assert( sizeof( PhysicalDevicePushDescriptorPropertiesKHR ) ==
-                   sizeof( VkPhysicalDevicePushDescriptorPropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDevicePushDescriptorPropertiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDevicePushDescriptorPropertiesKHR;
+  void *pNext = {};
+  uint32_t maxPushDescriptors = {};
+};
+static_assert(sizeof(PhysicalDevicePushDescriptorPropertiesKHR) ==
+                  sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDevicePushDescriptorPropertiesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDevicePushDescriptorPropertiesKHR>
-  {
-    using Type = PhysicalDevicePushDescriptorPropertiesKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDevicePushDescriptorPropertiesKHR> {
+  using Type = PhysicalDevicePushDescriptorPropertiesKHR;
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct PhysicalDeviceRayTracingFeaturesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceRayTracingFeaturesKHR;
+struct PhysicalDeviceRayQueryFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceRayQueryFeaturesKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingFeaturesKHR(
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracing_                                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingShaderGroupHandleCaptureReplay_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingShaderGroupHandleCaptureReplayMixed_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingAccelerationStructureCaptureReplay_  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingIndirectTraceRays_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingIndirectAccelerationStructureBuild_  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingHostAccelerationStructureCommands_   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayQuery_                                      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingPrimitiveCulling_                    = {} ) VULKAN_HPP_NOEXCEPT
-      : rayTracing( rayTracing_ )
-      , rayTracingShaderGroupHandleCaptureReplay( rayTracingShaderGroupHandleCaptureReplay_ )
-      , rayTracingShaderGroupHandleCaptureReplayMixed( rayTracingShaderGroupHandleCaptureReplayMixed_ )
-      , rayTracingAccelerationStructureCaptureReplay( rayTracingAccelerationStructureCaptureReplay_ )
-      , rayTracingIndirectTraceRays( rayTracingIndirectTraceRays_ )
-      , rayTracingIndirectAccelerationStructureBuild( rayTracingIndirectAccelerationStructureBuild_ )
-      , rayTracingHostAccelerationStructureCommands( rayTracingHostAccelerationStructureCommands_ )
-      , rayQuery( rayQuery_ )
-      , rayTracingPrimitiveCulling( rayTracingPrimitiveCulling_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayQueryFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 rayQuery_ = {}) VULKAN_HPP_NOEXCEPT
+      : rayQuery(rayQuery_) {}
 
-    PhysicalDeviceRayTracingFeaturesKHR( VkPhysicalDeviceRayTracingFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayQueryFeaturesKHR(
+      PhysicalDeviceRayQueryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceRayTracingFeaturesKHR &
-      operator=( VkPhysicalDeviceRayTracingFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingFeaturesKHR const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceRayQueryFeaturesKHR(
+      VkPhysicalDeviceRayQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceRayQueryFeaturesKHR(
+            *reinterpret_cast<PhysicalDeviceRayQueryFeaturesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceRayTracingFeaturesKHR &
-      operator=( PhysicalDeviceRayTracingFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                         = rhs.pNext;
-      rayTracing                                    = rhs.rayTracing;
-      rayTracingShaderGroupHandleCaptureReplay      = rhs.rayTracingShaderGroupHandleCaptureReplay;
-      rayTracingShaderGroupHandleCaptureReplayMixed = rhs.rayTracingShaderGroupHandleCaptureReplayMixed;
-      rayTracingAccelerationStructureCaptureReplay  = rhs.rayTracingAccelerationStructureCaptureReplay;
-      rayTracingIndirectTraceRays                   = rhs.rayTracingIndirectTraceRays;
-      rayTracingIndirectAccelerationStructureBuild  = rhs.rayTracingIndirectAccelerationStructureBuild;
-      rayTracingHostAccelerationStructureCommands   = rhs.rayTracingHostAccelerationStructureCommands;
-      rayQuery                                      = rhs.rayQuery;
-      rayTracingPrimitiveCulling                    = rhs.rayTracingPrimitiveCulling;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayQueryFeaturesKHR &
+  operator=(PhysicalDeviceRayQueryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceRayQueryFeaturesKHR &operator=(
+      VkPhysicalDeviceRayQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceRayTracingFeaturesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceRayQueryFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceRayTracingFeaturesKHR & setRayTracing( VULKAN_HPP_NAMESPACE::Bool32 rayTracing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracing = rayTracing_;
-      return *this;
-    }
+  PhysicalDeviceRayQueryFeaturesKHR &
+  setRayQuery(VULKAN_HPP_NAMESPACE::Bool32 rayQuery_) VULKAN_HPP_NOEXCEPT {
+    rayQuery = rayQuery_;
+    return *this;
+  }
 
-    PhysicalDeviceRayTracingFeaturesKHR & setRayTracingShaderGroupHandleCaptureReplay(
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingShaderGroupHandleCaptureReplay_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracingShaderGroupHandleCaptureReplay = rayTracingShaderGroupHandleCaptureReplay_;
-      return *this;
-    }
+  operator VkPhysicalDeviceRayQueryFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceRayQueryFeaturesKHR *>(this);
+  }
 
-    PhysicalDeviceRayTracingFeaturesKHR & setRayTracingShaderGroupHandleCaptureReplayMixed(
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingShaderGroupHandleCaptureReplayMixed_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracingShaderGroupHandleCaptureReplayMixed = rayTracingShaderGroupHandleCaptureReplayMixed_;
-      return *this;
-    }
+  operator VkPhysicalDeviceRayQueryFeaturesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceRayQueryFeaturesKHR *>(this);
+  }
 
-    PhysicalDeviceRayTracingFeaturesKHR & setRayTracingAccelerationStructureCaptureReplay(
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingAccelerationStructureCaptureReplay_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracingAccelerationStructureCaptureReplay = rayTracingAccelerationStructureCaptureReplay_;
-      return *this;
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceRayQueryFeaturesKHR const &) const = default;
+#else
+  bool operator==(PhysicalDeviceRayQueryFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (rayQuery == rhs.rayQuery);
+  }
 
-    PhysicalDeviceRayTracingFeaturesKHR &
-      setRayTracingIndirectTraceRays( VULKAN_HPP_NAMESPACE::Bool32 rayTracingIndirectTraceRays_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracingIndirectTraceRays = rayTracingIndirectTraceRays_;
-      return *this;
-    }
+  bool operator!=(PhysicalDeviceRayQueryFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-    PhysicalDeviceRayTracingFeaturesKHR & setRayTracingIndirectAccelerationStructureBuild(
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingIndirectAccelerationStructureBuild_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracingIndirectAccelerationStructureBuild = rayTracingIndirectAccelerationStructureBuild_;
-      return *this;
-    }
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceRayQueryFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 rayQuery = {};
+};
+static_assert(sizeof(PhysicalDeviceRayQueryFeaturesKHR) ==
+                  sizeof(VkPhysicalDeviceRayQueryFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceRayQueryFeaturesKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-    PhysicalDeviceRayTracingFeaturesKHR & setRayTracingHostAccelerationStructureCommands(
-      VULKAN_HPP_NAMESPACE::Bool32 rayTracingHostAccelerationStructureCommands_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracingHostAccelerationStructureCommands = rayTracingHostAccelerationStructureCommands_;
-      return *this;
-    }
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceRayQueryFeaturesKHR> {
+  using Type = PhysicalDeviceRayQueryFeaturesKHR;
+};
 
-    PhysicalDeviceRayTracingFeaturesKHR & setRayQuery( VULKAN_HPP_NAMESPACE::Bool32 rayQuery_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayQuery = rayQuery_;
-      return *this;
-    }
+struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR;
 
-    PhysicalDeviceRayTracingFeaturesKHR &
-      setRayTracingPrimitiveCulling( VULKAN_HPP_NAMESPACE::Bool32 rayTracingPrimitiveCulling_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rayTracingPrimitiveCulling = rayTracingPrimitiveCulling_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPipelineFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipeline_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          rayTracingPipelineShaderGroupHandleCaptureReplay_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          rayTracingPipelineShaderGroupHandleCaptureReplayMixed_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 rayTraversalPrimitiveCulling_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : rayTracingPipeline(rayTracingPipeline_),
+        rayTracingPipelineShaderGroupHandleCaptureReplay(
+            rayTracingPipelineShaderGroupHandleCaptureReplay_),
+        rayTracingPipelineShaderGroupHandleCaptureReplayMixed(
+            rayTracingPipelineShaderGroupHandleCaptureReplayMixed_),
+        rayTracingPipelineTraceRaysIndirect(
+            rayTracingPipelineTraceRaysIndirect_),
+        rayTraversalPrimitiveCulling(rayTraversalPrimitiveCulling_) {}
 
-    operator VkPhysicalDeviceRayTracingFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceRayTracingFeaturesKHR *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPipelineFeaturesKHR(
+      PhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDeviceRayTracingFeaturesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceRayTracingFeaturesKHR *>( this );
-    }
+  PhysicalDeviceRayTracingPipelineFeaturesKHR(
+      VkPhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceRayTracingPipelineFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceRayTracingPipelineFeaturesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceRayTracingFeaturesKHR const & ) const = default;
-#  else
-    bool operator==( PhysicalDeviceRayTracingFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayTracing == rhs.rayTracing ) &&
-             ( rayTracingShaderGroupHandleCaptureReplay == rhs.rayTracingShaderGroupHandleCaptureReplay ) &&
-             ( rayTracingShaderGroupHandleCaptureReplayMixed == rhs.rayTracingShaderGroupHandleCaptureReplayMixed ) &&
-             ( rayTracingAccelerationStructureCaptureReplay == rhs.rayTracingAccelerationStructureCaptureReplay ) &&
-             ( rayTracingIndirectTraceRays == rhs.rayTracingIndirectTraceRays ) &&
-             ( rayTracingIndirectAccelerationStructureBuild == rhs.rayTracingIndirectAccelerationStructureBuild ) &&
-             ( rayTracingHostAccelerationStructureCommands == rhs.rayTracingHostAccelerationStructureCommands ) &&
-             ( rayQuery == rhs.rayQuery ) && ( rayTracingPrimitiveCulling == rhs.rayTracingPrimitiveCulling );
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelineFeaturesKHR &
+  operator=(PhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    bool operator!=( PhysicalDeviceRayTracingFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  PhysicalDeviceRayTracingPipelineFeaturesKHR &
+  operator=(VkPhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::ePhysicalDeviceRayTracingFeaturesKHR;
-    void *                                    pNext      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracing = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracingShaderGroupHandleCaptureReplay      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracingShaderGroupHandleCaptureReplayMixed = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracingAccelerationStructureCaptureReplay  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracingIndirectTraceRays                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracingIndirectAccelerationStructureBuild  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracingHostAccelerationStructureCommands   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayQuery                                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              rayTracingPrimitiveCulling                    = {};
-  };
-  static_assert( sizeof( PhysicalDeviceRayTracingFeaturesKHR ) == sizeof( VkPhysicalDeviceRayTracingFeaturesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceRayTracingFeaturesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+  PhysicalDeviceRayTracingPipelineFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingFeaturesKHR>
-  {
-    using Type = PhysicalDeviceRayTracingFeaturesKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+  PhysicalDeviceRayTracingPipelineFeaturesKHR &setRayTracingPipeline(
+      VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipeline_) VULKAN_HPP_NOEXCEPT {
+    rayTracingPipeline = rayTracingPipeline_;
+    return *this;
+  }
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct PhysicalDeviceRayTracingPropertiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceRayTracingPropertiesKHR;
+  PhysicalDeviceRayTracingPipelineFeaturesKHR &
+  setRayTracingPipelineShaderGroupHandleCaptureReplay(
+      VULKAN_HPP_NAMESPACE::Bool32
+          rayTracingPipelineShaderGroupHandleCaptureReplay_)
+      VULKAN_HPP_NOEXCEPT {
+    rayTracingPipelineShaderGroupHandleCaptureReplay =
+        rayTracingPipelineShaderGroupHandleCaptureReplay_;
+    return *this;
+  }
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceRayTracingPropertiesKHR( uint32_t shaderGroupHandleSize_                  = {},
-                                           uint32_t maxRecursionDepth_                      = {},
-                                           uint32_t maxShaderGroupStride_                   = {},
-                                           uint32_t shaderGroupBaseAlignment_               = {},
-                                           uint64_t maxGeometryCount_                       = {},
-                                           uint64_t maxInstanceCount_                       = {},
-                                           uint64_t maxPrimitiveCount_                      = {},
-                                           uint32_t maxDescriptorSetAccelerationStructures_ = {},
-                                           uint32_t shaderGroupHandleCaptureReplaySize_     = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderGroupHandleSize( shaderGroupHandleSize_ )
-      , maxRecursionDepth( maxRecursionDepth_ )
-      , maxShaderGroupStride( maxShaderGroupStride_ )
-      , shaderGroupBaseAlignment( shaderGroupBaseAlignment_ )
-      , maxGeometryCount( maxGeometryCount_ )
-      , maxInstanceCount( maxInstanceCount_ )
-      , maxPrimitiveCount( maxPrimitiveCount_ )
-      , maxDescriptorSetAccelerationStructures( maxDescriptorSetAccelerationStructures_ )
-      , shaderGroupHandleCaptureReplaySize( shaderGroupHandleCaptureReplaySize_ )
-    {}
+  PhysicalDeviceRayTracingPipelineFeaturesKHR &
+  setRayTracingPipelineShaderGroupHandleCaptureReplayMixed(
+      VULKAN_HPP_NAMESPACE::Bool32
+          rayTracingPipelineShaderGroupHandleCaptureReplayMixed_)
+      VULKAN_HPP_NOEXCEPT {
+    rayTracingPipelineShaderGroupHandleCaptureReplayMixed =
+        rayTracingPipelineShaderGroupHandleCaptureReplayMixed_;
+    return *this;
+  }
 
-    PhysicalDeviceRayTracingPropertiesKHR( VkPhysicalDeviceRayTracingPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  PhysicalDeviceRayTracingPipelineFeaturesKHR &
+  setRayTracingPipelineTraceRaysIndirect(
+      VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect_)
+      VULKAN_HPP_NOEXCEPT {
+    rayTracingPipelineTraceRaysIndirect = rayTracingPipelineTraceRaysIndirect_;
+    return *this;
+  }
 
-    PhysicalDeviceRayTracingPropertiesKHR &
-      operator=( VkPhysicalDeviceRayTracingPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesKHR const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceRayTracingPipelineFeaturesKHR &setRayTraversalPrimitiveCulling(
+      VULKAN_HPP_NAMESPACE::Bool32 rayTraversalPrimitiveCulling_)
+      VULKAN_HPP_NOEXCEPT {
+    rayTraversalPrimitiveCulling = rayTraversalPrimitiveCulling_;
+    return *this;
+  }
 
-    PhysicalDeviceRayTracingPropertiesKHR &
-      operator=( PhysicalDeviceRayTracingPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                  = rhs.pNext;
-      shaderGroupHandleSize                  = rhs.shaderGroupHandleSize;
-      maxRecursionDepth                      = rhs.maxRecursionDepth;
-      maxShaderGroupStride                   = rhs.maxShaderGroupStride;
-      shaderGroupBaseAlignment               = rhs.shaderGroupBaseAlignment;
-      maxGeometryCount                       = rhs.maxGeometryCount;
-      maxInstanceCount                       = rhs.maxInstanceCount;
-      maxPrimitiveCount                      = rhs.maxPrimitiveCount;
-      maxDescriptorSetAccelerationStructures = rhs.maxDescriptorSetAccelerationStructures;
-      shaderGroupHandleCaptureReplaySize     = rhs.shaderGroupHandleCaptureReplaySize;
+  operator VkPhysicalDeviceRayTracingPipelineFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceRayTracingPipelineFeaturesKHR *>(this);
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceRayTracingPipelineFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceRayTracingPipelineFeaturesKHR *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceRayTracingPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesKHR *>( this );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceRayTracingPipelineFeaturesKHR const &) const =
+      default;
+#else
+  bool operator==(PhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (rayTracingPipeline == rhs.rayTracingPipeline) &&
+           (rayTracingPipelineShaderGroupHandleCaptureReplay ==
+            rhs.rayTracingPipelineShaderGroupHandleCaptureReplay) &&
+           (rayTracingPipelineShaderGroupHandleCaptureReplayMixed ==
+            rhs.rayTracingPipelineShaderGroupHandleCaptureReplayMixed) &&
+           (rayTracingPipelineTraceRaysIndirect ==
+            rhs.rayTracingPipelineTraceRaysIndirect) &&
+           (rayTraversalPrimitiveCulling == rhs.rayTraversalPrimitiveCulling);
+  }
 
-    operator VkPhysicalDeviceRayTracingPropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceRayTracingPropertiesKHR *>( this );
-    }
+  bool operator!=(PhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceRayTracingPropertiesKHR const & ) const = default;
-#  else
-    bool operator==( PhysicalDeviceRayTracingPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderGroupHandleSize == rhs.shaderGroupHandleSize ) && ( maxRecursionDepth == rhs.maxRecursionDepth ) &&
-             ( maxShaderGroupStride == rhs.maxShaderGroupStride ) &&
-             ( shaderGroupBaseAlignment == rhs.shaderGroupBaseAlignment ) &&
-             ( maxGeometryCount == rhs.maxGeometryCount ) && ( maxInstanceCount == rhs.maxInstanceCount ) &&
-             ( maxPrimitiveCount == rhs.maxPrimitiveCount ) &&
-             ( maxDescriptorSetAccelerationStructures == rhs.maxDescriptorSetAccelerationStructures ) &&
-             ( shaderGroupHandleCaptureReplaySize == rhs.shaderGroupHandleCaptureReplaySize );
-    }
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipeline = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      rayTracingPipelineShaderGroupHandleCaptureReplay = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      rayTracingPipelineShaderGroupHandleCaptureReplayMixed = {};
+  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect = {};
+  VULKAN_HPP_NAMESPACE::Bool32 rayTraversalPrimitiveCulling = {};
+};
+static_assert(sizeof(PhysicalDeviceRayTracingPipelineFeaturesKHR) ==
+                  sizeof(VkPhysicalDeviceRayTracingPipelineFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceRayTracingPipelineFeaturesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-    bool operator!=( PhysicalDeviceRayTracingPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR> {
+  using Type = PhysicalDeviceRayTracingPipelineFeaturesKHR;
+};
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingPropertiesKHR;
-    void *                                    pNext = {};
-    uint32_t                                  shaderGroupHandleSize                  = {};
-    uint32_t                                  maxRecursionDepth                      = {};
-    uint32_t                                  maxShaderGroupStride                   = {};
-    uint32_t                                  shaderGroupBaseAlignment               = {};
-    uint64_t                                  maxGeometryCount                       = {};
-    uint64_t                                  maxInstanceCount                       = {};
-    uint64_t                                  maxPrimitiveCount                      = {};
-    uint32_t                                  maxDescriptorSetAccelerationStructures = {};
-    uint32_t                                  shaderGroupHandleCaptureReplaySize     = {};
-  };
-  static_assert( sizeof( PhysicalDeviceRayTracingPropertiesKHR ) == sizeof( VkPhysicalDeviceRayTracingPropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceRayTracingPropertiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR;
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingPropertiesKHR>
-  {
-    using Type = PhysicalDeviceRayTracingPropertiesKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPipelinePropertiesKHR(
+      uint32_t shaderGroupHandleSize_ = {}, uint32_t maxRayRecursionDepth_ = {},
+      uint32_t maxShaderGroupStride_ = {},
+      uint32_t shaderGroupBaseAlignment_ = {},
+      uint32_t shaderGroupHandleCaptureReplaySize_ = {},
+      uint32_t maxRayDispatchInvocationCount_ = {},
+      uint32_t shaderGroupHandleAlignment_ = {},
+      uint32_t maxRayHitAttributeSize_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderGroupHandleSize(shaderGroupHandleSize_),
+        maxRayRecursionDepth(maxRayRecursionDepth_),
+        maxShaderGroupStride(maxShaderGroupStride_),
+        shaderGroupBaseAlignment(shaderGroupBaseAlignment_),
+        shaderGroupHandleCaptureReplaySize(shaderGroupHandleCaptureReplaySize_),
+        maxRayDispatchInvocationCount(maxRayDispatchInvocationCount_),
+        shaderGroupHandleAlignment(shaderGroupHandleAlignment_),
+        maxRayHitAttributeSize(maxRayHitAttributeSize_) {}
 
-  struct PhysicalDeviceRayTracingPropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPipelinePropertiesKHR(
+      PhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceRayTracingPipelinePropertiesKHR(
+      VkPhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceRayTracingPipelinePropertiesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceRayTracingPipelinePropertiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelinePropertiesKHR &
+  operator=(PhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceRayTracingPipelinePropertiesKHR &
+  operator=(VkPhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceRayTracingPipelinePropertiesKHR const *>(&rhs);
+    return *this;
+  }
+
+  operator VkPhysicalDeviceRayTracingPipelinePropertiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceRayTracingPipelinePropertiesKHR *>(this);
+  }
+
+  operator VkPhysicalDeviceRayTracingPipelinePropertiesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceRayTracingPipelinePropertiesKHR *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceRayTracingPipelinePropertiesKHR const &) const = default;
+#else
+  bool operator==(PhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderGroupHandleSize == rhs.shaderGroupHandleSize) &&
+           (maxRayRecursionDepth == rhs.maxRayRecursionDepth) &&
+           (maxShaderGroupStride == rhs.maxShaderGroupStride) &&
+           (shaderGroupBaseAlignment == rhs.shaderGroupBaseAlignment) &&
+           (shaderGroupHandleCaptureReplaySize ==
+            rhs.shaderGroupHandleCaptureReplaySize) &&
+           (maxRayDispatchInvocationCount ==
+            rhs.maxRayDispatchInvocationCount) &&
+           (shaderGroupHandleAlignment == rhs.shaderGroupHandleAlignment) &&
+           (maxRayHitAttributeSize == rhs.maxRayHitAttributeSize);
+  }
+
+  bool operator!=(PhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR;
+  void *pNext = {};
+  uint32_t shaderGroupHandleSize = {};
+  uint32_t maxRayRecursionDepth = {};
+  uint32_t maxShaderGroupStride = {};
+  uint32_t shaderGroupBaseAlignment = {};
+  uint32_t shaderGroupHandleCaptureReplaySize = {};
+  uint32_t maxRayDispatchInvocationCount = {};
+  uint32_t shaderGroupHandleAlignment = {};
+  uint32_t maxRayHitAttributeSize = {};
+};
+static_assert(sizeof(PhysicalDeviceRayTracingPipelinePropertiesKHR) ==
+                  sizeof(VkPhysicalDeviceRayTracingPipelinePropertiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceRayTracingPipelinePropertiesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR> {
+  using Type = PhysicalDeviceRayTracingPipelinePropertiesKHR;
+};
+
+struct PhysicalDeviceRayTracingPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceRayTracingPropertiesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceRayTracingPropertiesNV( uint32_t shaderGroupHandleSize_                  = {},
-                                          uint32_t maxRecursionDepth_                      = {},
-                                          uint32_t maxShaderGroupStride_                   = {},
-                                          uint32_t shaderGroupBaseAlignment_               = {},
-                                          uint64_t maxGeometryCount_                       = {},
-                                          uint64_t maxInstanceCount_                       = {},
-                                          uint64_t maxTriangleCount_                       = {},
-                                          uint32_t maxDescriptorSetAccelerationStructures_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderGroupHandleSize( shaderGroupHandleSize_ )
-      , maxRecursionDepth( maxRecursionDepth_ )
-      , maxShaderGroupStride( maxShaderGroupStride_ )
-      , shaderGroupBaseAlignment( shaderGroupBaseAlignment_ )
-      , maxGeometryCount( maxGeometryCount_ )
-      , maxInstanceCount( maxInstanceCount_ )
-      , maxTriangleCount( maxTriangleCount_ )
-      , maxDescriptorSetAccelerationStructures( maxDescriptorSetAccelerationStructures_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPropertiesNV(
+      uint32_t shaderGroupHandleSize_ = {}, uint32_t maxRecursionDepth_ = {},
+      uint32_t maxShaderGroupStride_ = {},
+      uint32_t shaderGroupBaseAlignment_ = {}, uint64_t maxGeometryCount_ = {},
+      uint64_t maxInstanceCount_ = {}, uint64_t maxTriangleCount_ = {},
+      uint32_t maxDescriptorSetAccelerationStructures_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderGroupHandleSize(shaderGroupHandleSize_),
+        maxRecursionDepth(maxRecursionDepth_),
+        maxShaderGroupStride(maxShaderGroupStride_),
+        shaderGroupBaseAlignment(shaderGroupBaseAlignment_),
+        maxGeometryCount(maxGeometryCount_),
+        maxInstanceCount(maxInstanceCount_),
+        maxTriangleCount(maxTriangleCount_),
+        maxDescriptorSetAccelerationStructures(
+            maxDescriptorSetAccelerationStructures_) {}
 
-    PhysicalDeviceRayTracingPropertiesNV( VkPhysicalDeviceRayTracingPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPropertiesNV(
+      PhysicalDeviceRayTracingPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceRayTracingPropertiesNV &
-      operator=( VkPhysicalDeviceRayTracingPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceRayTracingPropertiesNV(
+      VkPhysicalDeviceRayTracingPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceRayTracingPropertiesNV(
+            *reinterpret_cast<PhysicalDeviceRayTracingPropertiesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceRayTracingPropertiesNV &
-      operator=( PhysicalDeviceRayTracingPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                  = rhs.pNext;
-      shaderGroupHandleSize                  = rhs.shaderGroupHandleSize;
-      maxRecursionDepth                      = rhs.maxRecursionDepth;
-      maxShaderGroupStride                   = rhs.maxShaderGroupStride;
-      shaderGroupBaseAlignment               = rhs.shaderGroupBaseAlignment;
-      maxGeometryCount                       = rhs.maxGeometryCount;
-      maxInstanceCount                       = rhs.maxInstanceCount;
-      maxTriangleCount                       = rhs.maxTriangleCount;
-      maxDescriptorSetAccelerationStructures = rhs.maxDescriptorSetAccelerationStructures;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPropertiesNV &
+  operator=(PhysicalDeviceRayTracingPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceRayTracingPropertiesNV &operator=(
+      VkPhysicalDeviceRayTracingPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceRayTracingPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV *>( this );
-    }
+  operator VkPhysicalDeviceRayTracingPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceRayTracingPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceRayTracingPropertiesNV *>( this );
-    }
+  operator VkPhysicalDeviceRayTracingPropertiesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceRayTracingPropertiesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceRayTracingPropertiesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceRayTracingPropertiesNV const &) const = default;
 #else
-    bool operator==( PhysicalDeviceRayTracingPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderGroupHandleSize == rhs.shaderGroupHandleSize ) && ( maxRecursionDepth == rhs.maxRecursionDepth ) &&
-             ( maxShaderGroupStride == rhs.maxShaderGroupStride ) &&
-             ( shaderGroupBaseAlignment == rhs.shaderGroupBaseAlignment ) &&
-             ( maxGeometryCount == rhs.maxGeometryCount ) && ( maxInstanceCount == rhs.maxInstanceCount ) &&
-             ( maxTriangleCount == rhs.maxTriangleCount ) &&
-             ( maxDescriptorSetAccelerationStructures == rhs.maxDescriptorSetAccelerationStructures );
-    }
+  bool operator==(PhysicalDeviceRayTracingPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderGroupHandleSize == rhs.shaderGroupHandleSize) &&
+           (maxRecursionDepth == rhs.maxRecursionDepth) &&
+           (maxShaderGroupStride == rhs.maxShaderGroupStride) &&
+           (shaderGroupBaseAlignment == rhs.shaderGroupBaseAlignment) &&
+           (maxGeometryCount == rhs.maxGeometryCount) &&
+           (maxInstanceCount == rhs.maxInstanceCount) &&
+           (maxTriangleCount == rhs.maxTriangleCount) &&
+           (maxDescriptorSetAccelerationStructures ==
+            rhs.maxDescriptorSetAccelerationStructures);
+  }
 
-    bool operator!=( PhysicalDeviceRayTracingPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceRayTracingPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingPropertiesNV;
-    void *                                    pNext = {};
-    uint32_t                                  shaderGroupHandleSize                  = {};
-    uint32_t                                  maxRecursionDepth                      = {};
-    uint32_t                                  maxShaderGroupStride                   = {};
-    uint32_t                                  shaderGroupBaseAlignment               = {};
-    uint64_t                                  maxGeometryCount                       = {};
-    uint64_t                                  maxInstanceCount                       = {};
-    uint64_t                                  maxTriangleCount                       = {};
-    uint32_t                                  maxDescriptorSetAccelerationStructures = {};
-  };
-  static_assert( sizeof( PhysicalDeviceRayTracingPropertiesNV ) == sizeof( VkPhysicalDeviceRayTracingPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceRayTracingPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceRayTracingPropertiesNV;
+  void *pNext = {};
+  uint32_t shaderGroupHandleSize = {};
+  uint32_t maxRecursionDepth = {};
+  uint32_t maxShaderGroupStride = {};
+  uint32_t shaderGroupBaseAlignment = {};
+  uint64_t maxGeometryCount = {};
+  uint64_t maxInstanceCount = {};
+  uint64_t maxTriangleCount = {};
+  uint32_t maxDescriptorSetAccelerationStructures = {};
+};
+static_assert(sizeof(PhysicalDeviceRayTracingPropertiesNV) ==
+                  sizeof(VkPhysicalDeviceRayTracingPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceRayTracingPropertiesNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingPropertiesNV>
-  {
-    using Type = PhysicalDeviceRayTracingPropertiesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceRayTracingPropertiesNV> {
+  using Type = PhysicalDeviceRayTracingPropertiesNV;
+};
 
-  struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceRepresentativeFragmentTestFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest_ = {} ) VULKAN_HPP_NOEXCEPT
-      : representativeFragmentTest( representativeFragmentTest_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRepresentativeFragmentTestFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : representativeFragmentTest(representativeFragmentTest_) {}
 
-    PhysicalDeviceRepresentativeFragmentTestFeaturesNV(
-      VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRepresentativeFragmentTestFeaturesNV(
+      PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceRepresentativeFragmentTestFeaturesNV &
-      operator=( VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceRepresentativeFragmentTestFeaturesNV(
+      VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceRepresentativeFragmentTestFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceRepresentativeFragmentTestFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceRepresentativeFragmentTestFeaturesNV &
-      operator=( PhysicalDeviceRepresentativeFragmentTestFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      representativeFragmentTest = rhs.representativeFragmentTest;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRepresentativeFragmentTestFeaturesNV &
+  operator=(PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceRepresentativeFragmentTestFeaturesNV &
+  operator=(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceRepresentativeFragmentTestFeaturesNV const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceRepresentativeFragmentTestFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceRepresentativeFragmentTestFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceRepresentativeFragmentTestFeaturesNV &
-      setRepresentativeFragmentTest( VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest_ ) VULKAN_HPP_NOEXCEPT
-    {
-      representativeFragmentTest = representativeFragmentTest_;
-      return *this;
-    }
+  PhysicalDeviceRepresentativeFragmentTestFeaturesNV &
+  setRepresentativeFragmentTest(
+      VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest_)
+      VULKAN_HPP_NOEXCEPT {
+    representativeFragmentTest = representativeFragmentTest_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(this);
+  }
 
-    operator VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceRepresentativeFragmentTestFeaturesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceRepresentativeFragmentTestFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( representativeFragmentTest == rhs.representativeFragmentTest );
-    }
+  bool operator==(PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (representativeFragmentTest == rhs.representativeFragmentTest);
+  }
 
-    bool operator!=( PhysicalDeviceRepresentativeFragmentTestFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV;
-    void *                       pNext                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest = {};
-  };
-  static_assert( sizeof( PhysicalDeviceRepresentativeFragmentTestFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceRepresentativeFragmentTestFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest = {};
+};
+static_assert(sizeof(PhysicalDeviceRepresentativeFragmentTestFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceRepresentativeFragmentTestFeaturesNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV>
-  {
-    using Type = PhysicalDeviceRepresentativeFragmentTestFeaturesNV;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV> {
+  using Type = PhysicalDeviceRepresentativeFragmentTestFeaturesNV;
+};
 
-  struct PhysicalDeviceRobustness2FeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceRobustness2FeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceRobustness2FeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceRobustness2FeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2_ = {},
-                                          VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2_  = {},
-                                          VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor_      = {} ) VULKAN_HPP_NOEXCEPT
-      : robustBufferAccess2( robustBufferAccess2_ )
-      , robustImageAccess2( robustImageAccess2_ )
-      , nullDescriptor( nullDescriptor_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2FeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor_ = {}) VULKAN_HPP_NOEXCEPT
+      : robustBufferAccess2(robustBufferAccess2_),
+        robustImageAccess2(robustImageAccess2_),
+        nullDescriptor(nullDescriptor_) {}
 
-    PhysicalDeviceRobustness2FeaturesEXT( VkPhysicalDeviceRobustness2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2FeaturesEXT(
+      PhysicalDeviceRobustness2FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceRobustness2FeaturesEXT &
-      operator=( VkPhysicalDeviceRobustness2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceRobustness2FeaturesEXT(
+      VkPhysicalDeviceRobustness2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceRobustness2FeaturesEXT(
+            *reinterpret_cast<PhysicalDeviceRobustness2FeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceRobustness2FeaturesEXT &
-      operator=( PhysicalDeviceRobustness2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      robustBufferAccess2 = rhs.robustBufferAccess2;
-      robustImageAccess2  = rhs.robustImageAccess2;
-      nullDescriptor      = rhs.nullDescriptor;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRobustness2FeaturesEXT &
+  operator=(PhysicalDeviceRobustness2FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceRobustness2FeaturesEXT &operator=(
+      VkPhysicalDeviceRobustness2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceRobustness2FeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceRobustness2FeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceRobustness2FeaturesEXT &
-      setRobustBufferAccess2( VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2_ ) VULKAN_HPP_NOEXCEPT
-    {
-      robustBufferAccess2 = robustBufferAccess2_;
-      return *this;
-    }
+  PhysicalDeviceRobustness2FeaturesEXT &setRobustBufferAccess2(
+      VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2_) VULKAN_HPP_NOEXCEPT {
+    robustBufferAccess2 = robustBufferAccess2_;
+    return *this;
+  }
 
-    PhysicalDeviceRobustness2FeaturesEXT &
-      setRobustImageAccess2( VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2_ ) VULKAN_HPP_NOEXCEPT
-    {
-      robustImageAccess2 = robustImageAccess2_;
-      return *this;
-    }
+  PhysicalDeviceRobustness2FeaturesEXT &setRobustImageAccess2(
+      VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2_) VULKAN_HPP_NOEXCEPT {
+    robustImageAccess2 = robustImageAccess2_;
+    return *this;
+  }
 
-    PhysicalDeviceRobustness2FeaturesEXT &
-      setNullDescriptor( VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      nullDescriptor = nullDescriptor_;
-      return *this;
-    }
+  PhysicalDeviceRobustness2FeaturesEXT &setNullDescriptor(
+      VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor_) VULKAN_HPP_NOEXCEPT {
+    nullDescriptor = nullDescriptor_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceRobustness2FeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceRobustness2FeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceRobustness2FeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceRobustness2FeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceRobustness2FeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceRobustness2FeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceRobustness2FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( robustBufferAccess2 == rhs.robustBufferAccess2 ) &&
-             ( robustImageAccess2 == rhs.robustImageAccess2 ) && ( nullDescriptor == rhs.nullDescriptor );
-    }
+  bool operator==(PhysicalDeviceRobustness2FeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (robustBufferAccess2 == rhs.robustBufferAccess2) &&
+           (robustImageAccess2 == rhs.robustImageAccess2) &&
+           (nullDescriptor == rhs.nullDescriptor);
+  }
 
-    bool operator!=( PhysicalDeviceRobustness2FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceRobustness2FeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRobustness2FeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              robustBufferAccess2 = {};
-    VULKAN_HPP_NAMESPACE::Bool32              robustImageAccess2  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              nullDescriptor      = {};
-  };
-  static_assert( sizeof( PhysicalDeviceRobustness2FeaturesEXT ) == sizeof( VkPhysicalDeviceRobustness2FeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceRobustness2FeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceRobustness2FeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor = {};
+};
+static_assert(sizeof(PhysicalDeviceRobustness2FeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceRobustness2FeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceRobustness2FeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceRobustness2FeaturesEXT>
-  {
-    using Type = PhysicalDeviceRobustness2FeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceRobustness2FeaturesEXT> {
+  using Type = PhysicalDeviceRobustness2FeaturesEXT;
+};
 
-  struct PhysicalDeviceRobustness2PropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceRobustness2PropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceRobustness2PropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2PropertiesEXT(
-      VULKAN_HPP_NAMESPACE::DeviceSize robustStorageBufferAccessSizeAlignment_ = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize robustUniformBufferAccessSizeAlignment_ = {} ) VULKAN_HPP_NOEXCEPT
-      : robustStorageBufferAccessSizeAlignment( robustStorageBufferAccessSizeAlignment_ )
-      , robustUniformBufferAccessSizeAlignment( robustUniformBufferAccessSizeAlignment_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2PropertiesEXT(
+      VULKAN_HPP_NAMESPACE::DeviceSize robustStorageBufferAccessSizeAlignment_ =
+          {},
+      VULKAN_HPP_NAMESPACE::DeviceSize robustUniformBufferAccessSizeAlignment_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : robustStorageBufferAccessSizeAlignment(
+            robustStorageBufferAccessSizeAlignment_),
+        robustUniformBufferAccessSizeAlignment(
+            robustUniformBufferAccessSizeAlignment_) {}
 
-    PhysicalDeviceRobustness2PropertiesEXT( VkPhysicalDeviceRobustness2PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2PropertiesEXT(
+      PhysicalDeviceRobustness2PropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceRobustness2PropertiesEXT &
-      operator=( VkPhysicalDeviceRobustness2PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceRobustness2PropertiesEXT(
+      VkPhysicalDeviceRobustness2PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceRobustness2PropertiesEXT(
+            *reinterpret_cast<PhysicalDeviceRobustness2PropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceRobustness2PropertiesEXT &
-      operator=( PhysicalDeviceRobustness2PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                  = rhs.pNext;
-      robustStorageBufferAccessSizeAlignment = rhs.robustStorageBufferAccessSizeAlignment;
-      robustUniformBufferAccessSizeAlignment = rhs.robustUniformBufferAccessSizeAlignment;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRobustness2PropertiesEXT &
+  operator=(PhysicalDeviceRobustness2PropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceRobustness2PropertiesEXT &operator=(
+      VkPhysicalDeviceRobustness2PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceRobustness2PropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceRobustness2PropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceRobustness2PropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceRobustness2PropertiesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceRobustness2PropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceRobustness2PropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceRobustness2PropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( robustStorageBufferAccessSizeAlignment == rhs.robustStorageBufferAccessSizeAlignment ) &&
-             ( robustUniformBufferAccessSizeAlignment == rhs.robustUniformBufferAccessSizeAlignment );
-    }
+  bool operator==(PhysicalDeviceRobustness2PropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (robustStorageBufferAccessSizeAlignment ==
+            rhs.robustStorageBufferAccessSizeAlignment) &&
+           (robustUniformBufferAccessSizeAlignment ==
+            rhs.robustUniformBufferAccessSizeAlignment);
+  }
 
-    bool operator!=( PhysicalDeviceRobustness2PropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceRobustness2PropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRobustness2PropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          robustStorageBufferAccessSizeAlignment = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          robustUniformBufferAccessSizeAlignment = {};
-  };
-  static_assert( sizeof( PhysicalDeviceRobustness2PropertiesEXT ) == sizeof( VkPhysicalDeviceRobustness2PropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceRobustness2PropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceRobustness2PropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize robustStorageBufferAccessSizeAlignment = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize robustUniformBufferAccessSizeAlignment = {};
+};
+static_assert(sizeof(PhysicalDeviceRobustness2PropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceRobustness2PropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceRobustness2PropertiesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceRobustness2PropertiesEXT>
-  {
-    using Type = PhysicalDeviceRobustness2PropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceRobustness2PropertiesEXT> {
+  using Type = PhysicalDeviceRobustness2PropertiesEXT;
+};
 
-  struct PhysicalDeviceSampleLocationsPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceSampleLocationsPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSampleLocationsPropertiesEXT(
-      VULKAN_HPP_NAMESPACE::SampleCountFlags sampleLocationSampleCounts_    = {},
-      VULKAN_HPP_NAMESPACE::Extent2D         maxSampleLocationGridSize_     = {},
-      std::array<float, 2> const &           sampleLocationCoordinateRange_ = {},
-      uint32_t                               sampleLocationSubPixelBits_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32           variableSampleLocations_       = {} ) VULKAN_HPP_NOEXCEPT
-      : sampleLocationSampleCounts( sampleLocationSampleCounts_ )
-      , maxSampleLocationGridSize( maxSampleLocationGridSize_ )
-      , sampleLocationCoordinateRange( sampleLocationCoordinateRange_ )
-      , sampleLocationSubPixelBits( sampleLocationSubPixelBits_ )
-      , variableSampleLocations( variableSampleLocations_ )
-    {}
-
-    PhysicalDeviceSampleLocationsPropertiesEXT( VkPhysicalDeviceSampleLocationsPropertiesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSampleLocationsPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::SampleCountFlags sampleLocationSampleCounts_ = {},
+      VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_ = {},
+      std::array<float, 2> const &sampleLocationCoordinateRange_ = {},
+      uint32_t sampleLocationSubPixelBits_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 variableSampleLocations_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : sampleLocationSampleCounts(sampleLocationSampleCounts_),
+        maxSampleLocationGridSize(maxSampleLocationGridSize_),
+        sampleLocationCoordinateRange(sampleLocationCoordinateRange_),
+        sampleLocationSubPixelBits(sampleLocationSubPixelBits_),
+        variableSampleLocations(variableSampleLocations_) {}
 
-    PhysicalDeviceSampleLocationsPropertiesEXT &
-      operator=( VkPhysicalDeviceSampleLocationsPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSampleLocationsPropertiesEXT(
+      PhysicalDeviceSampleLocationsPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSampleLocationsPropertiesEXT &
-      operator=( PhysicalDeviceSampleLocationsPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      sampleLocationSampleCounts    = rhs.sampleLocationSampleCounts;
-      maxSampleLocationGridSize     = rhs.maxSampleLocationGridSize;
-      sampleLocationCoordinateRange = rhs.sampleLocationCoordinateRange;
-      sampleLocationSubPixelBits    = rhs.sampleLocationSubPixelBits;
-      variableSampleLocations       = rhs.variableSampleLocations;
+  PhysicalDeviceSampleLocationsPropertiesEXT(
+      VkPhysicalDeviceSampleLocationsPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSampleLocationsPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceSampleLocationsPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSampleLocationsPropertiesEXT &
+  operator=(PhysicalDeviceSampleLocationsPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDeviceSampleLocationsPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT *>( this );
-    }
+  PhysicalDeviceSampleLocationsPropertiesEXT &
+  operator=(VkPhysicalDeviceSampleLocationsPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceSampleLocationsPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceSampleLocationsPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceSampleLocationsPropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSampleLocationsPropertiesEXT const & ) const = default;
+  operator VkPhysicalDeviceSampleLocationsPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSampleLocationsPropertiesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceSampleLocationsPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( sampleLocationSampleCounts == rhs.sampleLocationSampleCounts ) &&
-             ( maxSampleLocationGridSize == rhs.maxSampleLocationGridSize ) &&
-             ( sampleLocationCoordinateRange == rhs.sampleLocationCoordinateRange ) &&
-             ( sampleLocationSubPixelBits == rhs.sampleLocationSubPixelBits ) &&
-             ( variableSampleLocations == rhs.variableSampleLocations );
-    }
+  bool operator==(PhysicalDeviceSampleLocationsPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (sampleLocationSampleCounts == rhs.sampleLocationSampleCounts) &&
+           (maxSampleLocationGridSize == rhs.maxSampleLocationGridSize) &&
+           (sampleLocationCoordinateRange ==
+            rhs.sampleLocationCoordinateRange) &&
+           (sampleLocationSubPixelBits == rhs.sampleLocationSubPixelBits) &&
+           (variableSampleLocations == rhs.variableSampleLocations);
+  }
 
-    bool operator!=( PhysicalDeviceSampleLocationsPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSampleLocationsPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT;
-    void *                                         pNext = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags         sampleLocationSampleCounts    = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                 maxSampleLocationGridSize     = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2> sampleLocationCoordinateRange = {};
-    uint32_t                                       sampleLocationSubPixelBits    = {};
-    VULKAN_HPP_NAMESPACE::Bool32                   variableSampleLocations       = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSampleLocationsPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceSampleLocationsPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSampleLocationsPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags sampleLocationSampleCounts = {};
+  VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2> sampleLocationCoordinateRange =
+      {};
+  uint32_t sampleLocationSubPixelBits = {};
+  VULKAN_HPP_NAMESPACE::Bool32 variableSampleLocations = {};
+};
+static_assert(sizeof(PhysicalDeviceSampleLocationsPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceSampleLocationsPropertiesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT>
-  {
-    using Type = PhysicalDeviceSampleLocationsPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT> {
+  using Type = PhysicalDeviceSampleLocationsPropertiesEXT;
+};
 
-  struct PhysicalDeviceSamplerFilterMinmaxProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceSamplerFilterMinmaxProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerFilterMinmaxProperties(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerFilterMinmaxProperties(
       VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping_  = {} ) VULKAN_HPP_NOEXCEPT
-      : filterMinmaxSingleComponentFormats( filterMinmaxSingleComponentFormats_ )
-      , filterMinmaxImageComponentMapping( filterMinmaxImageComponentMapping_ )
-    {}
-
-    PhysicalDeviceSamplerFilterMinmaxProperties( VkPhysicalDeviceSamplerFilterMinmaxProperties const & rhs )
+      VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : filterMinmaxSingleComponentFormats(filterMinmaxSingleComponentFormats_),
+        filterMinmaxImageComponentMapping(filterMinmaxImageComponentMapping_) {}
 
-    PhysicalDeviceSamplerFilterMinmaxProperties &
-      operator=( VkPhysicalDeviceSamplerFilterMinmaxProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerFilterMinmaxProperties(
+      PhysicalDeviceSamplerFilterMinmaxProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSamplerFilterMinmaxProperties &
-      operator=( PhysicalDeviceSamplerFilterMinmaxProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                              = rhs.pNext;
-      filterMinmaxSingleComponentFormats = rhs.filterMinmaxSingleComponentFormats;
-      filterMinmaxImageComponentMapping  = rhs.filterMinmaxImageComponentMapping;
+  PhysicalDeviceSamplerFilterMinmaxProperties(
+      VkPhysicalDeviceSamplerFilterMinmaxProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSamplerFilterMinmaxProperties(
+            *reinterpret_cast<
+                PhysicalDeviceSamplerFilterMinmaxProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSamplerFilterMinmaxProperties &
+  operator=(PhysicalDeviceSamplerFilterMinmaxProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDeviceSamplerFilterMinmaxProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties *>( this );
-    }
+  PhysicalDeviceSamplerFilterMinmaxProperties &
+  operator=(VkPhysicalDeviceSamplerFilterMinmaxProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties const
+            *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceSamplerFilterMinmaxProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties *>( this );
-    }
+  operator VkPhysicalDeviceSamplerFilterMinmaxProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceSamplerFilterMinmaxProperties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSamplerFilterMinmaxProperties const & ) const = default;
+  operator VkPhysicalDeviceSamplerFilterMinmaxProperties &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSamplerFilterMinmaxProperties const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceSamplerFilterMinmaxProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( filterMinmaxSingleComponentFormats == rhs.filterMinmaxSingleComponentFormats ) &&
-             ( filterMinmaxImageComponentMapping == rhs.filterMinmaxImageComponentMapping );
-    }
+  bool operator==(PhysicalDeviceSamplerFilterMinmaxProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (filterMinmaxSingleComponentFormats ==
+            rhs.filterMinmaxSingleComponentFormats) &&
+           (filterMinmaxImageComponentMapping ==
+            rhs.filterMinmaxImageComponentMapping);
+  }
 
-    bool operator!=( PhysicalDeviceSamplerFilterMinmaxProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSamplerFilterMinmaxProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              filterMinmaxSingleComponentFormats = {};
-    VULKAN_HPP_NAMESPACE::Bool32              filterMinmaxImageComponentMapping  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSamplerFilterMinmaxProperties ) ==
-                   sizeof( VkPhysicalDeviceSamplerFilterMinmaxProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSamplerFilterMinmaxProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats = {};
+  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping = {};
+};
+static_assert(sizeof(PhysicalDeviceSamplerFilterMinmaxProperties) ==
+                  sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceSamplerFilterMinmaxProperties>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties>
-  {
-    using Type = PhysicalDeviceSamplerFilterMinmaxProperties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties> {
+  using Type = PhysicalDeviceSamplerFilterMinmaxProperties;
+};
+using PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
+    PhysicalDeviceSamplerFilterMinmaxProperties;
 
-  struct PhysicalDeviceSamplerYcbcrConversionFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceSamplerYcbcrConversionFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerYcbcrConversionFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_ = {} ) VULKAN_HPP_NOEXCEPT
-      : samplerYcbcrConversion( samplerYcbcrConversion_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerYcbcrConversionFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_ = {})
+      VULKAN_HPP_NOEXCEPT : samplerYcbcrConversion(samplerYcbcrConversion_) {}
 
-    PhysicalDeviceSamplerYcbcrConversionFeatures( VkPhysicalDeviceSamplerYcbcrConversionFeatures const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerYcbcrConversionFeatures(
+      PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSamplerYcbcrConversionFeatures(
+      VkPhysicalDeviceSamplerYcbcrConversionFeatures const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceSamplerYcbcrConversionFeatures(
+            *reinterpret_cast<
+                PhysicalDeviceSamplerYcbcrConversionFeatures const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceSamplerYcbcrConversionFeatures &
-      operator=( VkPhysicalDeviceSamplerYcbcrConversionFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSamplerYcbcrConversionFeatures &
+  operator=(PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSamplerYcbcrConversionFeatures &
-      operator=( PhysicalDeviceSamplerYcbcrConversionFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      samplerYcbcrConversion = rhs.samplerYcbcrConversion;
+  PhysicalDeviceSamplerYcbcrConversionFeatures &
+  operator=(VkPhysicalDeviceSamplerYcbcrConversionFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceSamplerYcbcrConversionFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceSamplerYcbcrConversionFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceSamplerYcbcrConversionFeatures &setSamplerYcbcrConversion(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_)
+      VULKAN_HPP_NOEXCEPT {
+    samplerYcbcrConversion = samplerYcbcrConversion_;
+    return *this;
+  }
 
-    PhysicalDeviceSamplerYcbcrConversionFeatures &
-      setSamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samplerYcbcrConversion = samplerYcbcrConversion_;
-      return *this;
-    }
+  operator VkPhysicalDeviceSamplerYcbcrConversionFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(this);
+  }
 
-    operator VkPhysicalDeviceSamplerYcbcrConversionFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>( this );
-    }
+  operator VkPhysicalDeviceSamplerYcbcrConversionFeatures &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceSamplerYcbcrConversionFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSamplerYcbcrConversionFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSamplerYcbcrConversionFeatures const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceSamplerYcbcrConversionFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( samplerYcbcrConversion == rhs.samplerYcbcrConversion );
-    }
+  bool operator==(PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (samplerYcbcrConversion == rhs.samplerYcbcrConversion);
+  }
 
-    bool operator!=( PhysicalDeviceSamplerYcbcrConversionFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              samplerYcbcrConversion = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSamplerYcbcrConversionFeatures ) ==
-                   sizeof( VkPhysicalDeviceSamplerYcbcrConversionFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSamplerYcbcrConversionFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion = {};
+};
+static_assert(sizeof(PhysicalDeviceSamplerYcbcrConversionFeatures) ==
+                  sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceSamplerYcbcrConversionFeatures>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures>
-  {
-    using Type = PhysicalDeviceSamplerYcbcrConversionFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures> {
+  using Type = PhysicalDeviceSamplerYcbcrConversionFeatures;
+};
+using PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
+    PhysicalDeviceSamplerYcbcrConversionFeatures;
 
-  struct PhysicalDeviceScalarBlockLayoutFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceScalarBlockLayoutFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceScalarBlockLayoutFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceScalarBlockLayoutFeatures( VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_ = {} )
-      VULKAN_HPP_NOEXCEPT : scalarBlockLayout( scalarBlockLayout_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceScalarBlockLayoutFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_ = {}) VULKAN_HPP_NOEXCEPT
+      : scalarBlockLayout(scalarBlockLayout_) {}
 
-    PhysicalDeviceScalarBlockLayoutFeatures( VkPhysicalDeviceScalarBlockLayoutFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceScalarBlockLayoutFeatures(
+      PhysicalDeviceScalarBlockLayoutFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceScalarBlockLayoutFeatures &
-      operator=( VkPhysicalDeviceScalarBlockLayoutFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceScalarBlockLayoutFeatures(
+      VkPhysicalDeviceScalarBlockLayoutFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceScalarBlockLayoutFeatures(
+            *reinterpret_cast<PhysicalDeviceScalarBlockLayoutFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceScalarBlockLayoutFeatures &
-      operator=( PhysicalDeviceScalarBlockLayoutFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      scalarBlockLayout = rhs.scalarBlockLayout;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceScalarBlockLayoutFeatures &
+  operator=(PhysicalDeviceScalarBlockLayoutFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceScalarBlockLayoutFeatures &
+  operator=(VkPhysicalDeviceScalarBlockLayoutFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceScalarBlockLayoutFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceScalarBlockLayoutFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceScalarBlockLayoutFeatures &
-      setScalarBlockLayout( VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      scalarBlockLayout = scalarBlockLayout_;
-      return *this;
-    }
+  PhysicalDeviceScalarBlockLayoutFeatures &setScalarBlockLayout(
+      VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_) VULKAN_HPP_NOEXCEPT {
+    scalarBlockLayout = scalarBlockLayout_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceScalarBlockLayoutFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures *>( this );
-    }
+  operator VkPhysicalDeviceScalarBlockLayoutFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceScalarBlockLayoutFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures *>( this );
-    }
+  operator VkPhysicalDeviceScalarBlockLayoutFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceScalarBlockLayoutFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceScalarBlockLayoutFeatures const &) const = default;
 #else
-    bool operator==( PhysicalDeviceScalarBlockLayoutFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( scalarBlockLayout == rhs.scalarBlockLayout );
-    }
+  bool operator==(PhysicalDeviceScalarBlockLayoutFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (scalarBlockLayout == rhs.scalarBlockLayout);
+  }
 
-    bool operator!=( PhysicalDeviceScalarBlockLayoutFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceScalarBlockLayoutFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceScalarBlockLayoutFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              scalarBlockLayout = {};
-  };
-  static_assert( sizeof( PhysicalDeviceScalarBlockLayoutFeatures ) ==
-                   sizeof( VkPhysicalDeviceScalarBlockLayoutFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceScalarBlockLayoutFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceScalarBlockLayoutFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout = {};
+};
+static_assert(sizeof(PhysicalDeviceScalarBlockLayoutFeatures) ==
+                  sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceScalarBlockLayoutFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceScalarBlockLayoutFeatures>
-  {
-    using Type = PhysicalDeviceScalarBlockLayoutFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceScalarBlockLayoutFeatures> {
+  using Type = PhysicalDeviceScalarBlockLayoutFeatures;
+};
+using PhysicalDeviceScalarBlockLayoutFeaturesEXT =
+    PhysicalDeviceScalarBlockLayoutFeatures;
 
-  struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSeparateDepthStencilLayoutsFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_ = {} ) VULKAN_HPP_NOEXCEPT
-      : separateDepthStencilLayouts( separateDepthStencilLayouts_ )
-    {}
-
-    PhysicalDeviceSeparateDepthStencilLayoutsFeatures( VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSeparateDepthStencilLayoutsFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : separateDepthStencilLayouts(separateDepthStencilLayouts_) {}
 
-    PhysicalDeviceSeparateDepthStencilLayoutsFeatures &
-      operator=( VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSeparateDepthStencilLayoutsFeatures(
+      PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSeparateDepthStencilLayoutsFeatures &
-      operator=( PhysicalDeviceSeparateDepthStencilLayoutsFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      separateDepthStencilLayouts = rhs.separateDepthStencilLayouts;
+  PhysicalDeviceSeparateDepthStencilLayoutsFeatures(
+      VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSeparateDepthStencilLayoutsFeatures(
+            *reinterpret_cast<
+                PhysicalDeviceSeparateDepthStencilLayoutsFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSeparateDepthStencilLayoutsFeatures &
+  operator=(PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSeparateDepthStencilLayoutsFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceSeparateDepthStencilLayoutsFeatures &
+  operator=(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceSeparateDepthStencilLayoutsFeatures const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceSeparateDepthStencilLayoutsFeatures &
-      setSeparateDepthStencilLayouts( VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      separateDepthStencilLayouts = separateDepthStencilLayouts_;
-      return *this;
-    }
+  PhysicalDeviceSeparateDepthStencilLayoutsFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>( this );
-    }
+  PhysicalDeviceSeparateDepthStencilLayoutsFeatures &
+  setSeparateDepthStencilLayouts(
+      VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    separateDepthStencilLayouts = separateDepthStencilLayouts_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>( this );
-    }
+  operator VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSeparateDepthStencilLayoutsFeatures const & ) const = default;
+  operator VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceSeparateDepthStencilLayoutsFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( separateDepthStencilLayouts == rhs.separateDepthStencilLayouts );
-    }
+  bool operator==(PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (separateDepthStencilLayouts == rhs.separateDepthStencilLayouts);
+  }
 
-    bool operator!=( PhysicalDeviceSeparateDepthStencilLayoutsFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              separateDepthStencilLayouts = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSeparateDepthStencilLayoutsFeatures ) ==
-                   sizeof( VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSeparateDepthStencilLayoutsFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts = {};
+};
+static_assert(sizeof(PhysicalDeviceSeparateDepthStencilLayoutsFeatures) ==
+                  sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceSeparateDepthStencilLayoutsFeatures>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures>
-  {
-    using Type = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures> {
+  using Type = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
+};
+using PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
+    PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
 
-  struct PhysicalDeviceShaderAtomicFloatFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicFloatFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics_   = {},
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicFloatFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics_ = {},
       VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics_   = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics_ = {},
       VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics_   = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics_ = {},
       VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics_   = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics_ = {},
       VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd_  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd_  = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderBufferFloat32Atomics( shaderBufferFloat32Atomics_ )
-      , shaderBufferFloat32AtomicAdd( shaderBufferFloat32AtomicAdd_ )
-      , shaderBufferFloat64Atomics( shaderBufferFloat64Atomics_ )
-      , shaderBufferFloat64AtomicAdd( shaderBufferFloat64AtomicAdd_ )
-      , shaderSharedFloat32Atomics( shaderSharedFloat32Atomics_ )
-      , shaderSharedFloat32AtomicAdd( shaderSharedFloat32AtomicAdd_ )
-      , shaderSharedFloat64Atomics( shaderSharedFloat64Atomics_ )
-      , shaderSharedFloat64AtomicAdd( shaderSharedFloat64AtomicAdd_ )
-      , shaderImageFloat32Atomics( shaderImageFloat32Atomics_ )
-      , shaderImageFloat32AtomicAdd( shaderImageFloat32AtomicAdd_ )
-      , sparseImageFloat32Atomics( sparseImageFloat32Atomics_ )
-      , sparseImageFloat32AtomicAdd( sparseImageFloat32AtomicAdd_ )
-    {}
-
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT( VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const & rhs )
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : shaderBufferFloat32Atomics(shaderBufferFloat32Atomics_),
+        shaderBufferFloat32AtomicAdd(shaderBufferFloat32AtomicAdd_),
+        shaderBufferFloat64Atomics(shaderBufferFloat64Atomics_),
+        shaderBufferFloat64AtomicAdd(shaderBufferFloat64AtomicAdd_),
+        shaderSharedFloat32Atomics(shaderSharedFloat32Atomics_),
+        shaderSharedFloat32AtomicAdd(shaderSharedFloat32AtomicAdd_),
+        shaderSharedFloat64Atomics(shaderSharedFloat64Atomics_),
+        shaderSharedFloat64AtomicAdd(shaderSharedFloat64AtomicAdd_),
+        shaderImageFloat32Atomics(shaderImageFloat32Atomics_),
+        shaderImageFloat32AtomicAdd(shaderImageFloat32AtomicAdd_),
+        sparseImageFloat32Atomics(sparseImageFloat32Atomics_),
+        sparseImageFloat32AtomicAdd(sparseImageFloat32AtomicAdd_) {}
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      operator=( VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicFloatFeaturesEXT(
+      PhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      operator=( PhysicalDeviceShaderAtomicFloatFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      shaderBufferFloat32Atomics   = rhs.shaderBufferFloat32Atomics;
-      shaderBufferFloat32AtomicAdd = rhs.shaderBufferFloat32AtomicAdd;
-      shaderBufferFloat64Atomics   = rhs.shaderBufferFloat64Atomics;
-      shaderBufferFloat64AtomicAdd = rhs.shaderBufferFloat64AtomicAdd;
-      shaderSharedFloat32Atomics   = rhs.shaderSharedFloat32Atomics;
-      shaderSharedFloat32AtomicAdd = rhs.shaderSharedFloat32AtomicAdd;
-      shaderSharedFloat64Atomics   = rhs.shaderSharedFloat64Atomics;
-      shaderSharedFloat64AtomicAdd = rhs.shaderSharedFloat64AtomicAdd;
-      shaderImageFloat32Atomics    = rhs.shaderImageFloat32Atomics;
-      shaderImageFloat32AtomicAdd  = rhs.shaderImageFloat32AtomicAdd;
-      sparseImageFloat32Atomics    = rhs.sparseImageFloat32Atomics;
-      sparseImageFloat32AtomicAdd  = rhs.sparseImageFloat32AtomicAdd;
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT(
+      VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderAtomicFloatFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceShaderAtomicFloatFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT &
+  operator=(PhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &
+  operator=(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderBufferFloat32Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderBufferFloat32Atomics = shaderBufferFloat32Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderBufferFloat32AtomicAdd( VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderBufferFloat32AtomicAdd = shaderBufferFloat32AtomicAdd_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderBufferFloat32Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderBufferFloat32Atomics = shaderBufferFloat32Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderBufferFloat64Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderBufferFloat64Atomics = shaderBufferFloat64Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderBufferFloat32AtomicAdd(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderBufferFloat32AtomicAdd = shaderBufferFloat32AtomicAdd_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderBufferFloat64AtomicAdd( VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderBufferFloat64AtomicAdd = shaderBufferFloat64AtomicAdd_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderBufferFloat64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderBufferFloat64Atomics = shaderBufferFloat64Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderSharedFloat32Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSharedFloat32Atomics = shaderSharedFloat32Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderBufferFloat64AtomicAdd(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderBufferFloat64AtomicAdd = shaderBufferFloat64AtomicAdd_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderSharedFloat32AtomicAdd( VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSharedFloat32AtomicAdd = shaderSharedFloat32AtomicAdd_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderSharedFloat32Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSharedFloat32Atomics = shaderSharedFloat32Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderSharedFloat64Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSharedFloat64Atomics = shaderSharedFloat64Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderSharedFloat32AtomicAdd(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSharedFloat32AtomicAdd = shaderSharedFloat32AtomicAdd_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderSharedFloat64AtomicAdd( VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSharedFloat64AtomicAdd = shaderSharedFloat64AtomicAdd_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderSharedFloat64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSharedFloat64Atomics = shaderSharedFloat64Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderImageFloat32Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderImageFloat32Atomics = shaderImageFloat32Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderSharedFloat64AtomicAdd(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSharedFloat64AtomicAdd = shaderSharedFloat64AtomicAdd_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setShaderImageFloat32AtomicAdd( VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderImageFloat32AtomicAdd = shaderImageFloat32AtomicAdd_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderImageFloat32Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderImageFloat32Atomics = shaderImageFloat32Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setSparseImageFloat32Atomics( VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseImageFloat32Atomics = sparseImageFloat32Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setShaderImageFloat32AtomicAdd(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderImageFloat32AtomicAdd = shaderImageFloat32AtomicAdd_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicFloatFeaturesEXT &
-      setSparseImageFloat32AtomicAdd( VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sparseImageFloat32AtomicAdd = sparseImageFloat32AtomicAdd_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setSparseImageFloat32Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseImageFloat32Atomics = sparseImageFloat32Atomics_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *>( this );
-    }
+  PhysicalDeviceShaderAtomicFloatFeaturesEXT &setSparseImageFloat32AtomicAdd(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseImageFloat32AtomicAdd = sparseImageFloat32AtomicAdd_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderAtomicFloatFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderAtomicFloatFeaturesEXT const & ) const = default;
+  operator VkPhysicalDeviceShaderAtomicFloatFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderAtomicFloatFeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceShaderAtomicFloatFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderBufferFloat32Atomics == rhs.shaderBufferFloat32Atomics ) &&
-             ( shaderBufferFloat32AtomicAdd == rhs.shaderBufferFloat32AtomicAdd ) &&
-             ( shaderBufferFloat64Atomics == rhs.shaderBufferFloat64Atomics ) &&
-             ( shaderBufferFloat64AtomicAdd == rhs.shaderBufferFloat64AtomicAdd ) &&
-             ( shaderSharedFloat32Atomics == rhs.shaderSharedFloat32Atomics ) &&
-             ( shaderSharedFloat32AtomicAdd == rhs.shaderSharedFloat32AtomicAdd ) &&
-             ( shaderSharedFloat64Atomics == rhs.shaderSharedFloat64Atomics ) &&
-             ( shaderSharedFloat64AtomicAdd == rhs.shaderSharedFloat64AtomicAdd ) &&
-             ( shaderImageFloat32Atomics == rhs.shaderImageFloat32Atomics ) &&
-             ( shaderImageFloat32AtomicAdd == rhs.shaderImageFloat32AtomicAdd ) &&
-             ( sparseImageFloat32Atomics == rhs.sparseImageFloat32Atomics ) &&
-             ( sparseImageFloat32AtomicAdd == rhs.sparseImageFloat32AtomicAdd );
-    }
+  bool operator==(PhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderBufferFloat32Atomics == rhs.shaderBufferFloat32Atomics) &&
+           (shaderBufferFloat32AtomicAdd == rhs.shaderBufferFloat32AtomicAdd) &&
+           (shaderBufferFloat64Atomics == rhs.shaderBufferFloat64Atomics) &&
+           (shaderBufferFloat64AtomicAdd == rhs.shaderBufferFloat64AtomicAdd) &&
+           (shaderSharedFloat32Atomics == rhs.shaderSharedFloat32Atomics) &&
+           (shaderSharedFloat32AtomicAdd == rhs.shaderSharedFloat32AtomicAdd) &&
+           (shaderSharedFloat64Atomics == rhs.shaderSharedFloat64Atomics) &&
+           (shaderSharedFloat64AtomicAdd == rhs.shaderSharedFloat64AtomicAdd) &&
+           (shaderImageFloat32Atomics == rhs.shaderImageFloat32Atomics) &&
+           (shaderImageFloat32AtomicAdd == rhs.shaderImageFloat32AtomicAdd) &&
+           (sparseImageFloat32Atomics == rhs.sparseImageFloat32Atomics) &&
+           (sparseImageFloat32AtomicAdd == rhs.sparseImageFloat32AtomicAdd);
+  }
 
-    bool operator!=( PhysicalDeviceShaderAtomicFloatFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderBufferFloat32Atomics   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderBufferFloat32AtomicAdd = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderBufferFloat64Atomics   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderBufferFloat64AtomicAdd = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSharedFloat32Atomics   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSharedFloat32AtomicAdd = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSharedFloat64Atomics   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSharedFloat64AtomicAdd = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderImageFloat32Atomics    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderImageFloat32AtomicAdd  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              sparseImageFloat32Atomics    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              sparseImageFloat32AtomicAdd  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderAtomicFloatFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceShaderAtomicFloatFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderAtomicFloatFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderAtomicFloatFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderAtomicFloatFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT>
-  {
-    using Type = PhysicalDeviceShaderAtomicFloatFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT> {
+  using Type = PhysicalDeviceShaderAtomicFloatFeaturesEXT;
+};
 
-  struct PhysicalDeviceShaderAtomicInt64Features
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderAtomicInt64Features {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderAtomicInt64Features;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicInt64Features(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicInt64Features(
       VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderBufferInt64Atomics( shaderBufferInt64Atomics_ )
-      , shaderSharedInt64Atomics( shaderSharedInt64Atomics_ )
-    {}
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : shaderBufferInt64Atomics(shaderBufferInt64Atomics_),
+        shaderSharedInt64Atomics(shaderSharedInt64Atomics_) {}
 
-    PhysicalDeviceShaderAtomicInt64Features( VkPhysicalDeviceShaderAtomicInt64Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicInt64Features(
+      PhysicalDeviceShaderAtomicInt64Features const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderAtomicInt64Features &
-      operator=( VkPhysicalDeviceShaderAtomicInt64Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicInt64Features(
+      VkPhysicalDeviceShaderAtomicInt64Features const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderAtomicInt64Features(
+            *reinterpret_cast<PhysicalDeviceShaderAtomicInt64Features const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderAtomicInt64Features &
-      operator=( PhysicalDeviceShaderAtomicInt64Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      shaderBufferInt64Atomics = rhs.shaderBufferInt64Atomics;
-      shaderSharedInt64Atomics = rhs.shaderSharedInt64Atomics;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicInt64Features &
+  operator=(PhysicalDeviceShaderAtomicInt64Features const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicInt64Features &
+  operator=(VkPhysicalDeviceShaderAtomicInt64Features const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicInt64Features & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicInt64Features &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicInt64Features &
-      setShaderBufferInt64Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderBufferInt64Atomics = shaderBufferInt64Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicInt64Features &setShaderBufferInt64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderBufferInt64Atomics = shaderBufferInt64Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderAtomicInt64Features &
-      setShaderSharedInt64Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSharedInt64Atomics = shaderSharedInt64Atomics_;
-      return *this;
-    }
+  PhysicalDeviceShaderAtomicInt64Features &setShaderSharedInt64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSharedInt64Atomics = shaderSharedInt64Atomics_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderAtomicInt64Features const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features *>( this );
-    }
+  operator VkPhysicalDeviceShaderAtomicInt64Features const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderAtomicInt64Features &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features *>( this );
-    }
+  operator VkPhysicalDeviceShaderAtomicInt64Features &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderAtomicInt64Features const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceShaderAtomicInt64Features const &) const = default;
 #else
-    bool operator==( PhysicalDeviceShaderAtomicInt64Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderBufferInt64Atomics == rhs.shaderBufferInt64Atomics ) &&
-             ( shaderSharedInt64Atomics == rhs.shaderSharedInt64Atomics );
-    }
+  bool operator==(PhysicalDeviceShaderAtomicInt64Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderBufferInt64Atomics == rhs.shaderBufferInt64Atomics) &&
+           (shaderSharedInt64Atomics == rhs.shaderSharedInt64Atomics);
+  }
 
-    bool operator!=( PhysicalDeviceShaderAtomicInt64Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderAtomicInt64Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderAtomicInt64Features;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderBufferInt64Atomics = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSharedInt64Atomics = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderAtomicInt64Features ) ==
-                   sizeof( VkPhysicalDeviceShaderAtomicInt64Features ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderAtomicInt64Features>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderAtomicInt64Features;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderAtomicInt64Features) ==
+                  sizeof(VkPhysicalDeviceShaderAtomicInt64Features),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderAtomicInt64Features>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderAtomicInt64Features>
-  {
-    using Type = PhysicalDeviceShaderAtomicInt64Features;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderAtomicInt64Features> {
+  using Type = PhysicalDeviceShaderAtomicInt64Features;
+};
+using PhysicalDeviceShaderAtomicInt64FeaturesKHR =
+    PhysicalDeviceShaderAtomicInt64Features;
 
-  struct PhysicalDeviceShaderClockFeaturesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderClockFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderClockFeaturesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceShaderClockFeaturesKHR( VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock_ = {},
-                                          VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock_   = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderSubgroupClock( shaderSubgroupClock_ )
-      , shaderDeviceClock( shaderDeviceClock_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderClockFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderSubgroupClock(shaderSubgroupClock_),
+        shaderDeviceClock(shaderDeviceClock_) {}
 
-    PhysicalDeviceShaderClockFeaturesKHR( VkPhysicalDeviceShaderClockFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderClockFeaturesKHR(
+      PhysicalDeviceShaderClockFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderClockFeaturesKHR &
-      operator=( VkPhysicalDeviceShaderClockFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderClockFeaturesKHR(
+      VkPhysicalDeviceShaderClockFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderClockFeaturesKHR(
+            *reinterpret_cast<PhysicalDeviceShaderClockFeaturesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderClockFeaturesKHR &
-      operator=( PhysicalDeviceShaderClockFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      shaderSubgroupClock = rhs.shaderSubgroupClock;
-      shaderDeviceClock   = rhs.shaderDeviceClock;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderClockFeaturesKHR &
+  operator=(PhysicalDeviceShaderClockFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderClockFeaturesKHR &operator=(
+      VkPhysicalDeviceShaderClockFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderClockFeaturesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderClockFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderClockFeaturesKHR &
-      setShaderSubgroupClock( VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSubgroupClock = shaderSubgroupClock_;
-      return *this;
-    }
+  PhysicalDeviceShaderClockFeaturesKHR &setShaderSubgroupClock(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock_) VULKAN_HPP_NOEXCEPT {
+    shaderSubgroupClock = shaderSubgroupClock_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderClockFeaturesKHR &
-      setShaderDeviceClock( VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderDeviceClock = shaderDeviceClock_;
-      return *this;
-    }
+  PhysicalDeviceShaderClockFeaturesKHR &setShaderDeviceClock(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock_) VULKAN_HPP_NOEXCEPT {
+    shaderDeviceClock = shaderDeviceClock_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderClockFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderClockFeaturesKHR *>( this );
-    }
+  operator VkPhysicalDeviceShaderClockFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceShaderClockFeaturesKHR *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderClockFeaturesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderClockFeaturesKHR *>( this );
-    }
+  operator VkPhysicalDeviceShaderClockFeaturesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderClockFeaturesKHR *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderClockFeaturesKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceShaderClockFeaturesKHR const &) const = default;
 #else
-    bool operator==( PhysicalDeviceShaderClockFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSubgroupClock == rhs.shaderSubgroupClock ) &&
-             ( shaderDeviceClock == rhs.shaderDeviceClock );
-    }
+  bool operator==(PhysicalDeviceShaderClockFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderSubgroupClock == rhs.shaderSubgroupClock) &&
+           (shaderDeviceClock == rhs.shaderDeviceClock);
+  }
 
-    bool operator!=( PhysicalDeviceShaderClockFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderClockFeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderClockFeaturesKHR;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSubgroupClock = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderDeviceClock   = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderClockFeaturesKHR ) == sizeof( VkPhysicalDeviceShaderClockFeaturesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderClockFeaturesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderClockFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderClockFeaturesKHR) ==
+                  sizeof(VkPhysicalDeviceShaderClockFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderClockFeaturesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderClockFeaturesKHR>
-  {
-    using Type = PhysicalDeviceShaderClockFeaturesKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderClockFeaturesKHR> {
+  using Type = PhysicalDeviceShaderClockFeaturesKHR;
+};
 
-  struct PhysicalDeviceShaderCoreProperties2AMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderCoreProperties2AMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderCoreProperties2AMD;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreProperties2AMD(
-      VULKAN_HPP_NAMESPACE::ShaderCorePropertiesFlagsAMD shaderCoreFeatures_     = {},
-      uint32_t                                           activeComputeUnitCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderCoreFeatures( shaderCoreFeatures_ )
-      , activeComputeUnitCount( activeComputeUnitCount_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreProperties2AMD(
+      VULKAN_HPP_NAMESPACE::ShaderCorePropertiesFlagsAMD shaderCoreFeatures_ =
+          {},
+      uint32_t activeComputeUnitCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderCoreFeatures(shaderCoreFeatures_),
+        activeComputeUnitCount(activeComputeUnitCount_) {}
 
-    PhysicalDeviceShaderCoreProperties2AMD( VkPhysicalDeviceShaderCoreProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreProperties2AMD(
+      PhysicalDeviceShaderCoreProperties2AMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderCoreProperties2AMD &
-      operator=( VkPhysicalDeviceShaderCoreProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderCoreProperties2AMD(
+      VkPhysicalDeviceShaderCoreProperties2AMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderCoreProperties2AMD(
+            *reinterpret_cast<PhysicalDeviceShaderCoreProperties2AMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderCoreProperties2AMD &
-      operator=( PhysicalDeviceShaderCoreProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      shaderCoreFeatures     = rhs.shaderCoreFeatures;
-      activeComputeUnitCount = rhs.activeComputeUnitCount;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderCoreProperties2AMD &
+  operator=(PhysicalDeviceShaderCoreProperties2AMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderCoreProperties2AMD &operator=(
+      VkPhysicalDeviceShaderCoreProperties2AMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderCoreProperties2AMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD *>( this );
-    }
+  operator VkPhysicalDeviceShaderCoreProperties2AMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderCoreProperties2AMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderCoreProperties2AMD *>( this );
-    }
+  operator VkPhysicalDeviceShaderCoreProperties2AMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderCoreProperties2AMD *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderCoreProperties2AMD const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceShaderCoreProperties2AMD const &) const = default;
 #else
-    bool operator==( PhysicalDeviceShaderCoreProperties2AMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderCoreFeatures == rhs.shaderCoreFeatures ) &&
-             ( activeComputeUnitCount == rhs.activeComputeUnitCount );
-    }
+  bool operator==(PhysicalDeviceShaderCoreProperties2AMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderCoreFeatures == rhs.shaderCoreFeatures) &&
+           (activeComputeUnitCount == rhs.activeComputeUnitCount);
+  }
 
-    bool operator!=( PhysicalDeviceShaderCoreProperties2AMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderCoreProperties2AMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType = StructureType::ePhysicalDeviceShaderCoreProperties2AMD;
-    void *                                             pNext = {};
-    VULKAN_HPP_NAMESPACE::ShaderCorePropertiesFlagsAMD shaderCoreFeatures     = {};
-    uint32_t                                           activeComputeUnitCount = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderCoreProperties2AMD ) == sizeof( VkPhysicalDeviceShaderCoreProperties2AMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderCoreProperties2AMD>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderCoreProperties2AMD;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ShaderCorePropertiesFlagsAMD shaderCoreFeatures = {};
+  uint32_t activeComputeUnitCount = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderCoreProperties2AMD) ==
+                  sizeof(VkPhysicalDeviceShaderCoreProperties2AMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderCoreProperties2AMD>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderCoreProperties2AMD>
-  {
-    using Type = PhysicalDeviceShaderCoreProperties2AMD;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderCoreProperties2AMD> {
+  using Type = PhysicalDeviceShaderCoreProperties2AMD;
+};
 
-  struct PhysicalDeviceShaderCorePropertiesAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderCorePropertiesAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderCorePropertiesAMD;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceShaderCorePropertiesAMD( uint32_t shaderEngineCount_          = {},
-                                           uint32_t shaderArraysPerEngineCount_ = {},
-                                           uint32_t computeUnitsPerShaderArray_ = {},
-                                           uint32_t simdPerComputeUnit_         = {},
-                                           uint32_t wavefrontsPerSimd_          = {},
-                                           uint32_t wavefrontSize_              = {},
-                                           uint32_t sgprsPerSimd_               = {},
-                                           uint32_t minSgprAllocation_          = {},
-                                           uint32_t maxSgprAllocation_          = {},
-                                           uint32_t sgprAllocationGranularity_  = {},
-                                           uint32_t vgprsPerSimd_               = {},
-                                           uint32_t minVgprAllocation_          = {},
-                                           uint32_t maxVgprAllocation_          = {},
-                                           uint32_t vgprAllocationGranularity_  = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderEngineCount( shaderEngineCount_ )
-      , shaderArraysPerEngineCount( shaderArraysPerEngineCount_ )
-      , computeUnitsPerShaderArray( computeUnitsPerShaderArray_ )
-      , simdPerComputeUnit( simdPerComputeUnit_ )
-      , wavefrontsPerSimd( wavefrontsPerSimd_ )
-      , wavefrontSize( wavefrontSize_ )
-      , sgprsPerSimd( sgprsPerSimd_ )
-      , minSgprAllocation( minSgprAllocation_ )
-      , maxSgprAllocation( maxSgprAllocation_ )
-      , sgprAllocationGranularity( sgprAllocationGranularity_ )
-      , vgprsPerSimd( vgprsPerSimd_ )
-      , minVgprAllocation( minVgprAllocation_ )
-      , maxVgprAllocation( maxVgprAllocation_ )
-      , vgprAllocationGranularity( vgprAllocationGranularity_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCorePropertiesAMD(
+      uint32_t shaderEngineCount_ = {},
+      uint32_t shaderArraysPerEngineCount_ = {},
+      uint32_t computeUnitsPerShaderArray_ = {},
+      uint32_t simdPerComputeUnit_ = {}, uint32_t wavefrontsPerSimd_ = {},
+      uint32_t wavefrontSize_ = {}, uint32_t sgprsPerSimd_ = {},
+      uint32_t minSgprAllocation_ = {}, uint32_t maxSgprAllocation_ = {},
+      uint32_t sgprAllocationGranularity_ = {}, uint32_t vgprsPerSimd_ = {},
+      uint32_t minVgprAllocation_ = {}, uint32_t maxVgprAllocation_ = {},
+      uint32_t vgprAllocationGranularity_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderEngineCount(shaderEngineCount_),
+        shaderArraysPerEngineCount(shaderArraysPerEngineCount_),
+        computeUnitsPerShaderArray(computeUnitsPerShaderArray_),
+        simdPerComputeUnit(simdPerComputeUnit_),
+        wavefrontsPerSimd(wavefrontsPerSimd_),
+        wavefrontSize(wavefrontSize_),
+        sgprsPerSimd(sgprsPerSimd_),
+        minSgprAllocation(minSgprAllocation_),
+        maxSgprAllocation(maxSgprAllocation_),
+        sgprAllocationGranularity(sgprAllocationGranularity_),
+        vgprsPerSimd(vgprsPerSimd_),
+        minVgprAllocation(minVgprAllocation_),
+        maxVgprAllocation(maxVgprAllocation_),
+        vgprAllocationGranularity(vgprAllocationGranularity_) {}
 
-    PhysicalDeviceShaderCorePropertiesAMD( VkPhysicalDeviceShaderCorePropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCorePropertiesAMD(
+      PhysicalDeviceShaderCorePropertiesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderCorePropertiesAMD &
-      operator=( VkPhysicalDeviceShaderCorePropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderCorePropertiesAMD(
+      VkPhysicalDeviceShaderCorePropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderCorePropertiesAMD(
+            *reinterpret_cast<PhysicalDeviceShaderCorePropertiesAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderCorePropertiesAMD &
-      operator=( PhysicalDeviceShaderCorePropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      shaderEngineCount          = rhs.shaderEngineCount;
-      shaderArraysPerEngineCount = rhs.shaderArraysPerEngineCount;
-      computeUnitsPerShaderArray = rhs.computeUnitsPerShaderArray;
-      simdPerComputeUnit         = rhs.simdPerComputeUnit;
-      wavefrontsPerSimd          = rhs.wavefrontsPerSimd;
-      wavefrontSize              = rhs.wavefrontSize;
-      sgprsPerSimd               = rhs.sgprsPerSimd;
-      minSgprAllocation          = rhs.minSgprAllocation;
-      maxSgprAllocation          = rhs.maxSgprAllocation;
-      sgprAllocationGranularity  = rhs.sgprAllocationGranularity;
-      vgprsPerSimd               = rhs.vgprsPerSimd;
-      minVgprAllocation          = rhs.minVgprAllocation;
-      maxVgprAllocation          = rhs.maxVgprAllocation;
-      vgprAllocationGranularity  = rhs.vgprAllocationGranularity;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderCorePropertiesAMD &
+  operator=(PhysicalDeviceShaderCorePropertiesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderCorePropertiesAMD &operator=(
+      VkPhysicalDeviceShaderCorePropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderCorePropertiesAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD *>( this );
-    }
+  operator VkPhysicalDeviceShaderCorePropertiesAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderCorePropertiesAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD *>( this );
-    }
+  operator VkPhysicalDeviceShaderCorePropertiesAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderCorePropertiesAMD const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceShaderCorePropertiesAMD const &) const = default;
 #else
-    bool operator==( PhysicalDeviceShaderCorePropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderEngineCount == rhs.shaderEngineCount ) &&
-             ( shaderArraysPerEngineCount == rhs.shaderArraysPerEngineCount ) &&
-             ( computeUnitsPerShaderArray == rhs.computeUnitsPerShaderArray ) &&
-             ( simdPerComputeUnit == rhs.simdPerComputeUnit ) && ( wavefrontsPerSimd == rhs.wavefrontsPerSimd ) &&
-             ( wavefrontSize == rhs.wavefrontSize ) && ( sgprsPerSimd == rhs.sgprsPerSimd ) &&
-             ( minSgprAllocation == rhs.minSgprAllocation ) && ( maxSgprAllocation == rhs.maxSgprAllocation ) &&
-             ( sgprAllocationGranularity == rhs.sgprAllocationGranularity ) && ( vgprsPerSimd == rhs.vgprsPerSimd ) &&
-             ( minVgprAllocation == rhs.minVgprAllocation ) && ( maxVgprAllocation == rhs.maxVgprAllocation ) &&
-             ( vgprAllocationGranularity == rhs.vgprAllocationGranularity );
-    }
+  bool operator==(PhysicalDeviceShaderCorePropertiesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderEngineCount == rhs.shaderEngineCount) &&
+           (shaderArraysPerEngineCount == rhs.shaderArraysPerEngineCount) &&
+           (computeUnitsPerShaderArray == rhs.computeUnitsPerShaderArray) &&
+           (simdPerComputeUnit == rhs.simdPerComputeUnit) &&
+           (wavefrontsPerSimd == rhs.wavefrontsPerSimd) &&
+           (wavefrontSize == rhs.wavefrontSize) &&
+           (sgprsPerSimd == rhs.sgprsPerSimd) &&
+           (minSgprAllocation == rhs.minSgprAllocation) &&
+           (maxSgprAllocation == rhs.maxSgprAllocation) &&
+           (sgprAllocationGranularity == rhs.sgprAllocationGranularity) &&
+           (vgprsPerSimd == rhs.vgprsPerSimd) &&
+           (minVgprAllocation == rhs.minVgprAllocation) &&
+           (maxVgprAllocation == rhs.maxVgprAllocation) &&
+           (vgprAllocationGranularity == rhs.vgprAllocationGranularity);
+  }
 
-    bool operator!=( PhysicalDeviceShaderCorePropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderCorePropertiesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType             = StructureType::ePhysicalDeviceShaderCorePropertiesAMD;
-    void *                                    pNext             = {};
-    uint32_t                                  shaderEngineCount = {};
-    uint32_t                                  shaderArraysPerEngineCount = {};
-    uint32_t                                  computeUnitsPerShaderArray = {};
-    uint32_t                                  simdPerComputeUnit         = {};
-    uint32_t                                  wavefrontsPerSimd          = {};
-    uint32_t                                  wavefrontSize              = {};
-    uint32_t                                  sgprsPerSimd               = {};
-    uint32_t                                  minSgprAllocation          = {};
-    uint32_t                                  maxSgprAllocation          = {};
-    uint32_t                                  sgprAllocationGranularity  = {};
-    uint32_t                                  vgprsPerSimd               = {};
-    uint32_t                                  minVgprAllocation          = {};
-    uint32_t                                  maxVgprAllocation          = {};
-    uint32_t                                  vgprAllocationGranularity  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderCorePropertiesAMD ) == sizeof( VkPhysicalDeviceShaderCorePropertiesAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderCorePropertiesAMD>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderCorePropertiesAMD;
+  void *pNext = {};
+  uint32_t shaderEngineCount = {};
+  uint32_t shaderArraysPerEngineCount = {};
+  uint32_t computeUnitsPerShaderArray = {};
+  uint32_t simdPerComputeUnit = {};
+  uint32_t wavefrontsPerSimd = {};
+  uint32_t wavefrontSize = {};
+  uint32_t sgprsPerSimd = {};
+  uint32_t minSgprAllocation = {};
+  uint32_t maxSgprAllocation = {};
+  uint32_t sgprAllocationGranularity = {};
+  uint32_t vgprsPerSimd = {};
+  uint32_t minVgprAllocation = {};
+  uint32_t maxVgprAllocation = {};
+  uint32_t vgprAllocationGranularity = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderCorePropertiesAMD) ==
+                  sizeof(VkPhysicalDeviceShaderCorePropertiesAMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderCorePropertiesAMD>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderCorePropertiesAMD>
-  {
-    using Type = PhysicalDeviceShaderCorePropertiesAMD;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderCorePropertiesAMD> {
+  using Type = PhysicalDeviceShaderCorePropertiesAMD;
+};
 
-  struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderDemoteToHelperInvocation( shaderDemoteToHelperInvocation_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : shaderDemoteToHelperInvocation(shaderDemoteToHelperInvocation_) {}
 
-    PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
-      VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
+      PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &
-      operator=( VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const *>(
-        &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
+      VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const
+                    *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &
-      operator=( PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                          = rhs.pNext;
-      shaderDemoteToHelperInvocation = rhs.shaderDemoteToHelperInvocation;
+  VULKAN_HPP_CONSTEXPR_14
+      PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &
+      operator=(PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const
+                    &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &operator=(
+      VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT & setShaderDemoteToHelperInvocation(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation_;
-      return *this;
-    }
+  PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &
+  setShaderDemoteToHelperInvocation(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const
+                       &) const = default;
 #else
-    bool operator==( PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderDemoteToHelperInvocation == rhs.shaderDemoteToHelperInvocation );
-    }
+  bool operator==(PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderDemoteToHelperInvocation ==
+            rhs.shaderDemoteToHelperInvocation);
+  }
 
-    bool operator!=( PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
-    void *                       pNext                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation = {};
+};
+static_assert(
+    sizeof(PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT) ==
+        sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT),
+    "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<
+        PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>
-  {
-    using Type = PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT> {
+  using Type = PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
+};
 
-  struct PhysicalDeviceShaderDrawParametersFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderDrawParametersFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderDrawParametersFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDrawParametersFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderDrawParameters( shaderDrawParameters_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDrawParametersFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_ = {})
+      VULKAN_HPP_NOEXCEPT : shaderDrawParameters(shaderDrawParameters_) {}
 
-    PhysicalDeviceShaderDrawParametersFeatures( VkPhysicalDeviceShaderDrawParametersFeatures const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDrawParametersFeatures(
+      PhysicalDeviceShaderDrawParametersFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShaderDrawParametersFeatures(
+      VkPhysicalDeviceShaderDrawParametersFeatures const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceShaderDrawParametersFeatures(
+            *reinterpret_cast<
+                PhysicalDeviceShaderDrawParametersFeatures const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderDrawParametersFeatures &
-      operator=( VkPhysicalDeviceShaderDrawParametersFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderDrawParametersFeatures &
+  operator=(PhysicalDeviceShaderDrawParametersFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderDrawParametersFeatures &
-      operator=( PhysicalDeviceShaderDrawParametersFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      shaderDrawParameters = rhs.shaderDrawParameters;
+  PhysicalDeviceShaderDrawParametersFeatures &
+  operator=(VkPhysicalDeviceShaderDrawParametersFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceShaderDrawParametersFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderDrawParametersFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderDrawParametersFeatures &setShaderDrawParameters(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_) VULKAN_HPP_NOEXCEPT {
+    shaderDrawParameters = shaderDrawParameters_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderDrawParametersFeatures &
-      setShaderDrawParameters( VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderDrawParameters = shaderDrawParameters_;
-      return *this;
-    }
+  operator VkPhysicalDeviceShaderDrawParametersFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderDrawParametersFeatures *>(this);
+  }
 
-    operator VkPhysicalDeviceShaderDrawParametersFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures *>( this );
-    }
+  operator VkPhysicalDeviceShaderDrawParametersFeatures &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderDrawParametersFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderDrawParametersFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderDrawParametersFeatures const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceShaderDrawParametersFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderDrawParameters == rhs.shaderDrawParameters );
-    }
+  bool operator==(PhysicalDeviceShaderDrawParametersFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderDrawParameters == rhs.shaderDrawParameters);
+  }
 
-    bool operator!=( PhysicalDeviceShaderDrawParametersFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderDrawParametersFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderDrawParametersFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderDrawParameters = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderDrawParametersFeatures ) ==
-                   sizeof( VkPhysicalDeviceShaderDrawParametersFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderDrawParametersFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderDrawParametersFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderDrawParametersFeatures) ==
+                  sizeof(VkPhysicalDeviceShaderDrawParametersFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderDrawParametersFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderDrawParametersFeatures>
-  {
-    using Type = PhysicalDeviceShaderDrawParametersFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderDrawParametersFeatures> {
+  using Type = PhysicalDeviceShaderDrawParametersFeatures;
+};
+using PhysicalDeviceShaderDrawParameterFeatures =
+    PhysicalDeviceShaderDrawParametersFeatures;
 
-  struct PhysicalDeviceShaderFloat16Int8Features
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderFloat16Int8Features {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderFloat16Int8Features;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceShaderFloat16Int8Features( VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_ = {},
-                                             VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_    = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderFloat16( shaderFloat16_ )
-      , shaderInt8( shaderInt8_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderFloat16Int8Features(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderFloat16(shaderFloat16_),
+        shaderInt8(shaderInt8_) {}
 
-    PhysicalDeviceShaderFloat16Int8Features( VkPhysicalDeviceShaderFloat16Int8Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderFloat16Int8Features(
+      PhysicalDeviceShaderFloat16Int8Features const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderFloat16Int8Features &
-      operator=( VkPhysicalDeviceShaderFloat16Int8Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderFloat16Int8Features(
+      VkPhysicalDeviceShaderFloat16Int8Features const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderFloat16Int8Features(
+            *reinterpret_cast<PhysicalDeviceShaderFloat16Int8Features const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderFloat16Int8Features &
-      operator=( PhysicalDeviceShaderFloat16Int8Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      shaderFloat16 = rhs.shaderFloat16;
-      shaderInt8    = rhs.shaderInt8;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderFloat16Int8Features &
+  operator=(PhysicalDeviceShaderFloat16Int8Features const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderFloat16Int8Features &
+  operator=(VkPhysicalDeviceShaderFloat16Int8Features const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderFloat16Int8Features & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderFloat16Int8Features &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderFloat16Int8Features &
-      setShaderFloat16( VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderFloat16 = shaderFloat16_;
-      return *this;
-    }
+  PhysicalDeviceShaderFloat16Int8Features &setShaderFloat16(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_) VULKAN_HPP_NOEXCEPT {
+    shaderFloat16 = shaderFloat16_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderFloat16Int8Features &
-      setShaderInt8( VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInt8 = shaderInt8_;
-      return *this;
-    }
+  PhysicalDeviceShaderFloat16Int8Features &
+  setShaderInt8(VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_) VULKAN_HPP_NOEXCEPT {
+    shaderInt8 = shaderInt8_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderFloat16Int8Features const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features *>( this );
-    }
+  operator VkPhysicalDeviceShaderFloat16Int8Features const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderFloat16Int8Features &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features *>( this );
-    }
+  operator VkPhysicalDeviceShaderFloat16Int8Features &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderFloat16Int8Features const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceShaderFloat16Int8Features const &) const = default;
 #else
-    bool operator==( PhysicalDeviceShaderFloat16Int8Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderFloat16 == rhs.shaderFloat16 ) &&
-             ( shaderInt8 == rhs.shaderInt8 );
-    }
+  bool operator==(PhysicalDeviceShaderFloat16Int8Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderFloat16 == rhs.shaderFloat16) &&
+           (shaderInt8 == rhs.shaderInt8);
+  }
 
-    bool operator!=( PhysicalDeviceShaderFloat16Int8Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderFloat16Int8Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::ePhysicalDeviceShaderFloat16Int8Features;
-    void *                                    pNext         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderFloat16 = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderInt8    = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderFloat16Int8Features ) ==
-                   sizeof( VkPhysicalDeviceShaderFloat16Int8Features ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderFloat16Int8Features>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderFloat16Int8Features;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInt8 = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderFloat16Int8Features) ==
+                  sizeof(VkPhysicalDeviceShaderFloat16Int8Features),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderFloat16Int8Features>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderFloat16Int8Features>
-  {
-    using Type = PhysicalDeviceShaderFloat16Int8Features;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderFloat16Int8Features> {
+  using Type = PhysicalDeviceShaderFloat16Int8Features;
+};
+using PhysicalDeviceFloat16Int8FeaturesKHR =
+    PhysicalDeviceShaderFloat16Int8Features;
+using PhysicalDeviceShaderFloat16Int8FeaturesKHR =
+    PhysicalDeviceShaderFloat16Int8Features;
 
-  struct PhysicalDeviceShaderImageFootprintFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageInt64Atomics_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 sparseImageInt64Atomics_ = {})
+      VULKAN_HPP_NOEXCEPT : shaderImageInt64Atomics(shaderImageInt64Atomics_),
+                            sparseImageInt64Atomics(sparseImageInt64Atomics_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
+      PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
+      VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderImageAtomicInt64FeaturesEXT &
+  operator=(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShaderImageAtomicInt64FeaturesEXT &
+  operator=(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceShaderImageAtomicInt64FeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceShaderImageAtomicInt64FeaturesEXT &setShaderImageInt64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderImageInt64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderImageInt64Atomics = shaderImageInt64Atomics_;
+    return *this;
+  }
+
+  PhysicalDeviceShaderImageAtomicInt64FeaturesEXT &setSparseImageInt64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 sparseImageInt64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    sparseImageInt64Atomics = sparseImageInt64Atomics_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT *>(this);
+  }
+
+  operator VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &) const = default;
+#else
+  bool operator==(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderImageInt64Atomics == rhs.shaderImageInt64Atomics) &&
+           (sparseImageInt64Atomics == rhs.sparseImageInt64Atomics);
+  }
+
+  bool operator!=(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderImageInt64Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sparseImageInt64Atomics = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceShaderImageAtomicInt64FeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT> {
+  using Type = PhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
+};
+
+struct PhysicalDeviceShaderImageFootprintFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageFootprintFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 imageFootprint_ = {} ) VULKAN_HPP_NOEXCEPT : imageFootprint( imageFootprint_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageFootprintFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 imageFootprint_ = {}) VULKAN_HPP_NOEXCEPT
+      : imageFootprint(imageFootprint_) {}
 
-    PhysicalDeviceShaderImageFootprintFeaturesNV( VkPhysicalDeviceShaderImageFootprintFeaturesNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageFootprintFeaturesNV(
+      PhysicalDeviceShaderImageFootprintFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShaderImageFootprintFeaturesNV(
+      VkPhysicalDeviceShaderImageFootprintFeaturesNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceShaderImageFootprintFeaturesNV(
+            *reinterpret_cast<
+                PhysicalDeviceShaderImageFootprintFeaturesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderImageFootprintFeaturesNV &
-      operator=( VkPhysicalDeviceShaderImageFootprintFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderImageFootprintFeaturesNV &
+  operator=(PhysicalDeviceShaderImageFootprintFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderImageFootprintFeaturesNV &
-      operator=( PhysicalDeviceShaderImageFootprintFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      imageFootprint = rhs.imageFootprint;
+  PhysicalDeviceShaderImageFootprintFeaturesNV &
+  operator=(VkPhysicalDeviceShaderImageFootprintFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceShaderImageFootprintFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderImageFootprintFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderImageFootprintFeaturesNV &setImageFootprint(
+      VULKAN_HPP_NAMESPACE::Bool32 imageFootprint_) VULKAN_HPP_NOEXCEPT {
+    imageFootprint = imageFootprint_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderImageFootprintFeaturesNV &
-      setImageFootprint( VULKAN_HPP_NAMESPACE::Bool32 imageFootprint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageFootprint = imageFootprint_;
-      return *this;
-    }
+  operator VkPhysicalDeviceShaderImageFootprintFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(this);
+  }
 
-    operator VkPhysicalDeviceShaderImageFootprintFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceShaderImageFootprintFeaturesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderImageFootprintFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderImageFootprintFeaturesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderImageFootprintFeaturesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderImageFootprintFeaturesNV const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceShaderImageFootprintFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageFootprint == rhs.imageFootprint );
-    }
+  bool operator==(PhysicalDeviceShaderImageFootprintFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (imageFootprint == rhs.imageFootprint);
+  }
 
-    bool operator!=( PhysicalDeviceShaderImageFootprintFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderImageFootprintFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              imageFootprint = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderImageFootprintFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceShaderImageFootprintFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderImageFootprintFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 imageFootprint = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderImageFootprintFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceShaderImageFootprintFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceShaderImageFootprintFeaturesNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV>
-  {
-    using Type = PhysicalDeviceShaderImageFootprintFeaturesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV> {
+  using Type = PhysicalDeviceShaderImageFootprintFeaturesNV;
+};
 
-  struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderIntegerFunctions2( shaderIntegerFunctions2_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2_ = {})
+      VULKAN_HPP_NOEXCEPT : shaderIntegerFunctions2(shaderIntegerFunctions2_) {}
 
-    PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
-      VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
+      PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &
-      operator=( VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
+      VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
+            *reinterpret_cast<
+                PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &
-      operator=( PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      shaderIntegerFunctions2 = rhs.shaderIntegerFunctions2;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &
+  operator=(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &
+  operator=(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &
-      setShaderIntegerFunctions2( VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderIntegerFunctions2 = shaderIntegerFunctions2_;
-      return *this;
-    }
+  PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &
+  setShaderIntegerFunctions2(VULKAN_HPP_NAMESPACE::Bool32
+                                 shaderIntegerFunctions2_) VULKAN_HPP_NOEXCEPT {
+    shaderIntegerFunctions2 = shaderIntegerFunctions2_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>( this );
-    }
+  operator VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(this);
+  }
 
-    operator VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>( this );
-    }
+  operator VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderIntegerFunctions2 == rhs.shaderIntegerFunctions2 );
-    }
+  bool operator==(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderIntegerFunctions2 == rhs.shaderIntegerFunctions2);
+  }
 
-    bool operator!=( PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
-    void *                       pNext                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2 = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL ) ==
-                   sizeof( VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2 = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL) ==
+                  sizeof(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>
-  {
-    using Type = PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL> {
+  using Type = PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
+};
 
-  struct PhysicalDeviceShaderSMBuiltinsFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsFeaturesNV( VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins_ = {} )
-      VULKAN_HPP_NOEXCEPT : shaderSMBuiltins( shaderSMBuiltins_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderSMBuiltins(shaderSMBuiltins_) {}
 
-    PhysicalDeviceShaderSMBuiltinsFeaturesNV( VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsFeaturesNV(
+      PhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderSMBuiltinsFeaturesNV &
-      operator=( VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceShaderSMBuiltinsFeaturesNV(
+      VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderSMBuiltinsFeaturesNV(
+            *reinterpret_cast<PhysicalDeviceShaderSMBuiltinsFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderSMBuiltinsFeaturesNV &
-      operator=( PhysicalDeviceShaderSMBuiltinsFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      shaderSMBuiltins = rhs.shaderSMBuiltins;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSMBuiltinsFeaturesNV &
+  operator=(PhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceShaderSMBuiltinsFeaturesNV &
+  operator=(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderSMBuiltinsFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderSMBuiltinsFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShaderSMBuiltinsFeaturesNV &
-      setShaderSMBuiltins( VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSMBuiltins = shaderSMBuiltins_;
-      return *this;
-    }
+  PhysicalDeviceShaderSMBuiltinsFeaturesNV &setShaderSMBuiltins(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins_) VULKAN_HPP_NOEXCEPT {
+    shaderSMBuiltins = shaderSMBuiltins_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(this);
+  }
 
-    operator VkPhysicalDeviceShaderSMBuiltinsFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceShaderSMBuiltinsFeaturesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(
+        this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderSMBuiltinsFeaturesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceShaderSMBuiltinsFeaturesNV const &) const = default;
 #else
-    bool operator==( PhysicalDeviceShaderSMBuiltinsFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSMBuiltins == rhs.shaderSMBuiltins );
-    }
+  bool operator==(PhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderSMBuiltins == rhs.shaderSMBuiltins);
+  }
 
-    bool operator!=( PhysicalDeviceShaderSMBuiltinsFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSMBuiltins = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderSMBuiltinsFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceShaderSMBuiltinsFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderSMBuiltinsFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderSMBuiltinsFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderSMBuiltinsFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV>
-  {
-    using Type = PhysicalDeviceShaderSMBuiltinsFeaturesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV> {
+  using Type = PhysicalDeviceShaderSMBuiltinsFeaturesNV;
+};
 
-  struct PhysicalDeviceShaderSMBuiltinsPropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceShaderSMBuiltinsPropertiesNV( uint32_t shaderSMCount_    = {},
-                                                uint32_t shaderWarpsPerSM_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderSMCount( shaderSMCount_ )
-      , shaderWarpsPerSM( shaderWarpsPerSM_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsPropertiesNV(
+      uint32_t shaderSMCount_ = {},
+      uint32_t shaderWarpsPerSM_ = {}) VULKAN_HPP_NOEXCEPT
+      : shaderSMCount(shaderSMCount_),
+        shaderWarpsPerSM(shaderWarpsPerSM_) {}
 
-    PhysicalDeviceShaderSMBuiltinsPropertiesNV( VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsPropertiesNV(
+      PhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShaderSMBuiltinsPropertiesNV(
+      VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceShaderSMBuiltinsPropertiesNV(
+            *reinterpret_cast<
+                PhysicalDeviceShaderSMBuiltinsPropertiesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShaderSMBuiltinsPropertiesNV &
-      operator=( VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSMBuiltinsPropertiesNV &
+  operator=(PhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderSMBuiltinsPropertiesNV &
-      operator=( PhysicalDeviceShaderSMBuiltinsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      shaderSMCount    = rhs.shaderSMCount;
-      shaderWarpsPerSM = rhs.shaderWarpsPerSM;
+  PhysicalDeviceShaderSMBuiltinsPropertiesNV &
+  operator=(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(this);
+  }
 
-    operator VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>( this );
-    }
+  operator VkPhysicalDeviceShaderSMBuiltinsPropertiesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShaderSMBuiltinsPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderSMBuiltinsPropertiesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderSMBuiltinsPropertiesNV const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceShaderSMBuiltinsPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSMCount == rhs.shaderSMCount ) &&
-             ( shaderWarpsPerSM == rhs.shaderWarpsPerSM );
-    }
+  bool operator==(PhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderSMCount == rhs.shaderSMCount) &&
+           (shaderWarpsPerSM == rhs.shaderWarpsPerSM);
+  }
 
-    bool operator!=( PhysicalDeviceShaderSMBuiltinsPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV;
-    void *                                    pNext = {};
-    uint32_t                                  shaderSMCount    = {};
-    uint32_t                                  shaderWarpsPerSM = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderSMBuiltinsPropertiesNV ) ==
-                   sizeof( VkPhysicalDeviceShaderSMBuiltinsPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderSMBuiltinsPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV;
+  void *pNext = {};
+  uint32_t shaderSMCount = {};
+  uint32_t shaderWarpsPerSM = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderSMBuiltinsPropertiesNV) ==
+                  sizeof(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShaderSMBuiltinsPropertiesNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV>
-  {
-    using Type = PhysicalDeviceShaderSMBuiltinsPropertiesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV> {
+  using Type = PhysicalDeviceShaderSMBuiltinsPropertiesNV;
+};
 
-  struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSubgroupExtendedTypesFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderSubgroupExtendedTypes( shaderSubgroupExtendedTypes_ )
-    {}
-
-    PhysicalDeviceShaderSubgroupExtendedTypesFeatures( VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSubgroupExtendedTypesFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : shaderSubgroupExtendedTypes(shaderSubgroupExtendedTypes_) {}
 
-    PhysicalDeviceShaderSubgroupExtendedTypesFeatures &
-      operator=( VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSubgroupExtendedTypesFeatures(
+      PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderSubgroupExtendedTypesFeatures &
-      operator=( PhysicalDeviceShaderSubgroupExtendedTypesFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      shaderSubgroupExtendedTypes = rhs.shaderSubgroupExtendedTypes;
+  PhysicalDeviceShaderSubgroupExtendedTypesFeatures(
+      VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderSubgroupExtendedTypesFeatures(
+            *reinterpret_cast<
+                PhysicalDeviceShaderSubgroupExtendedTypesFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSubgroupExtendedTypesFeatures &
+  operator=(PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShaderSubgroupExtendedTypesFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShaderSubgroupExtendedTypesFeatures &
+  operator=(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceShaderSubgroupExtendedTypesFeatures const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShaderSubgroupExtendedTypesFeatures &
-      setShaderSubgroupExtendedTypes( VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes_;
-      return *this;
-    }
+  PhysicalDeviceShaderSubgroupExtendedTypesFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>( this );
-    }
+  PhysicalDeviceShaderSubgroupExtendedTypesFeatures &
+  setShaderSubgroupExtendedTypes(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>( this );
-    }
+  operator VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShaderSubgroupExtendedTypesFeatures const & ) const = default;
+  operator VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceShaderSubgroupExtendedTypesFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shaderSubgroupExtendedTypes == rhs.shaderSubgroupExtendedTypes );
-    }
+  bool operator==(PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderSubgroupExtendedTypes == rhs.shaderSubgroupExtendedTypes);
+  }
 
-    bool operator!=( PhysicalDeviceShaderSubgroupExtendedTypesFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSubgroupExtendedTypes = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShaderSubgroupExtendedTypesFeatures ) ==
-                   sizeof( VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShaderSubgroupExtendedTypesFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderSubgroupExtendedTypesFeatures) ==
+                  sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceShaderSubgroupExtendedTypesFeatures>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures>
-  {
-    using Type = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures> {
+  using Type = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
+};
+using PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
+    PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
 
-  struct PhysicalDeviceShadingRateImageFeaturesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShaderTerminateInvocationFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceShaderTerminateInvocationFeaturesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderTerminateInvocationFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : shaderTerminateInvocation(shaderTerminateInvocation_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderTerminateInvocationFeaturesKHR(
+      PhysicalDeviceShaderTerminateInvocationFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShaderTerminateInvocationFeaturesKHR(
+      VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShaderTerminateInvocationFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceShaderTerminateInvocationFeaturesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderTerminateInvocationFeaturesKHR &
+  operator=(PhysicalDeviceShaderTerminateInvocationFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShaderTerminateInvocationFeaturesKHR &
+  operator=(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceShaderTerminateInvocationFeaturesKHR const *>(&rhs);
+    return *this;
+  }
+
+  PhysicalDeviceShaderTerminateInvocationFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceShaderTerminateInvocationFeaturesKHR &
+  setShaderTerminateInvocation(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderTerminateInvocation = shaderTerminateInvocation_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *>(this);
+  }
+
+  operator VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShaderTerminateInvocationFeaturesKHR const &)
+      const = default;
+#else
+  bool operator==(PhysicalDeviceShaderTerminateInvocationFeaturesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderTerminateInvocation == rhs.shaderTerminateInvocation);
+  }
+
+  bool operator!=(PhysicalDeviceShaderTerminateInvocationFeaturesKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShaderTerminateInvocationFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation = {};
+};
+static_assert(sizeof(PhysicalDeviceShaderTerminateInvocationFeaturesKHR) ==
+                  sizeof(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceShaderTerminateInvocationFeaturesKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceShaderTerminateInvocationFeaturesKHR> {
+  using Type = PhysicalDeviceShaderTerminateInvocationFeaturesKHR;
+};
+
+struct PhysicalDeviceShadingRateImageFeaturesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShadingRateImageFeaturesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImageFeaturesNV(
-      VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage_             = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shadingRateImage( shadingRateImage_ )
-      , shadingRateCoarseSampleOrder( shadingRateCoarseSampleOrder_ )
-    {}
-
-    PhysicalDeviceShadingRateImageFeaturesNV( VkPhysicalDeviceShadingRateImageFeaturesNV const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImageFeaturesNV(
+      VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : shadingRateImage(shadingRateImage_),
+        shadingRateCoarseSampleOrder(shadingRateCoarseSampleOrder_) {}
 
-    PhysicalDeviceShadingRateImageFeaturesNV &
-      operator=( VkPhysicalDeviceShadingRateImageFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImageFeaturesNV(
+      PhysicalDeviceShadingRateImageFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShadingRateImageFeaturesNV &
-      operator=( PhysicalDeviceShadingRateImageFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      shadingRateImage             = rhs.shadingRateImage;
-      shadingRateCoarseSampleOrder = rhs.shadingRateCoarseSampleOrder;
+  PhysicalDeviceShadingRateImageFeaturesNV(
+      VkPhysicalDeviceShadingRateImageFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceShadingRateImageFeaturesNV(
+            *reinterpret_cast<PhysicalDeviceShadingRateImageFeaturesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShadingRateImageFeaturesNV &
+  operator=(PhysicalDeviceShadingRateImageFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShadingRateImageFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceShadingRateImageFeaturesNV &
+  operator=(VkPhysicalDeviceShadingRateImageFeaturesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceShadingRateImageFeaturesNV &
-      setShadingRateImage( VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shadingRateImage = shadingRateImage_;
-      return *this;
-    }
+  PhysicalDeviceShadingRateImageFeaturesNV &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceShadingRateImageFeaturesNV &
-      setShadingRateCoarseSampleOrder( VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shadingRateCoarseSampleOrder = shadingRateCoarseSampleOrder_;
-      return *this;
-    }
+  PhysicalDeviceShadingRateImageFeaturesNV &setShadingRateImage(
+      VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage_) VULKAN_HPP_NOEXCEPT {
+    shadingRateImage = shadingRateImage_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShadingRateImageFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV *>( this );
-    }
+  PhysicalDeviceShadingRateImageFeaturesNV &setShadingRateCoarseSampleOrder(
+      VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder_)
+      VULKAN_HPP_NOEXCEPT {
+    shadingRateCoarseSampleOrder = shadingRateCoarseSampleOrder_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceShadingRateImageFeaturesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShadingRateImageFeaturesNV *>( this );
-    }
+  operator VkPhysicalDeviceShadingRateImageFeaturesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShadingRateImageFeaturesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShadingRateImageFeaturesNV const & ) const = default;
+  operator VkPhysicalDeviceShadingRateImageFeaturesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShadingRateImageFeaturesNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceShadingRateImageFeaturesNV const &) const = default;
 #else
-    bool operator==( PhysicalDeviceShadingRateImageFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shadingRateImage == rhs.shadingRateImage ) &&
-             ( shadingRateCoarseSampleOrder == rhs.shadingRateCoarseSampleOrder );
-    }
+  bool operator==(PhysicalDeviceShadingRateImageFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shadingRateImage == rhs.shadingRateImage) &&
+           (shadingRateCoarseSampleOrder == rhs.shadingRateCoarseSampleOrder);
+  }
 
-    bool operator!=( PhysicalDeviceShadingRateImageFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShadingRateImageFeaturesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShadingRateImageFeaturesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shadingRateImage             = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shadingRateCoarseSampleOrder = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShadingRateImageFeaturesNV ) ==
-                   sizeof( VkPhysicalDeviceShadingRateImageFeaturesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShadingRateImageFeaturesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShadingRateImageFeaturesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder = {};
+};
+static_assert(sizeof(PhysicalDeviceShadingRateImageFeaturesNV) ==
+                  sizeof(VkPhysicalDeviceShadingRateImageFeaturesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShadingRateImageFeaturesNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShadingRateImageFeaturesNV>
-  {
-    using Type = PhysicalDeviceShadingRateImageFeaturesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShadingRateImageFeaturesNV> {
+  using Type = PhysicalDeviceShadingRateImageFeaturesNV;
+};
 
-  struct PhysicalDeviceShadingRateImagePropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceShadingRateImagePropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceShadingRateImagePropertiesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceShadingRateImagePropertiesNV( VULKAN_HPP_NAMESPACE::Extent2D shadingRateTexelSize_   = {},
-                                                uint32_t                       shadingRatePaletteSize_ = {},
-                                                uint32_t shadingRateMaxCoarseSamples_ = {} ) VULKAN_HPP_NOEXCEPT
-      : shadingRateTexelSize( shadingRateTexelSize_ )
-      , shadingRatePaletteSize( shadingRatePaletteSize_ )
-      , shadingRateMaxCoarseSamples( shadingRateMaxCoarseSamples_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImagePropertiesNV(
+      VULKAN_HPP_NAMESPACE::Extent2D shadingRateTexelSize_ = {},
+      uint32_t shadingRatePaletteSize_ = {},
+      uint32_t shadingRateMaxCoarseSamples_ = {}) VULKAN_HPP_NOEXCEPT
+      : shadingRateTexelSize(shadingRateTexelSize_),
+        shadingRatePaletteSize(shadingRatePaletteSize_),
+        shadingRateMaxCoarseSamples(shadingRateMaxCoarseSamples_) {}
 
-    PhysicalDeviceShadingRateImagePropertiesNV( VkPhysicalDeviceShadingRateImagePropertiesNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImagePropertiesNV(
+      PhysicalDeviceShadingRateImagePropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceShadingRateImagePropertiesNV(
+      VkPhysicalDeviceShadingRateImagePropertiesNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceShadingRateImagePropertiesNV(
+            *reinterpret_cast<
+                PhysicalDeviceShadingRateImagePropertiesNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceShadingRateImagePropertiesNV &
-      operator=( VkPhysicalDeviceShadingRateImagePropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShadingRateImagePropertiesNV &
+  operator=(PhysicalDeviceShadingRateImagePropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceShadingRateImagePropertiesNV &
-      operator=( PhysicalDeviceShadingRateImagePropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      shadingRateTexelSize        = rhs.shadingRateTexelSize;
-      shadingRatePaletteSize      = rhs.shadingRatePaletteSize;
-      shadingRateMaxCoarseSamples = rhs.shadingRateMaxCoarseSamples;
+  PhysicalDeviceShadingRateImagePropertiesNV &
+  operator=(VkPhysicalDeviceShadingRateImagePropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceShadingRateImagePropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceShadingRateImagePropertiesNV *>(this);
+  }
 
-    operator VkPhysicalDeviceShadingRateImagePropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV *>( this );
-    }
+  operator VkPhysicalDeviceShadingRateImagePropertiesNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceShadingRateImagePropertiesNV *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceShadingRateImagePropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceShadingRateImagePropertiesNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceShadingRateImagePropertiesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceShadingRateImagePropertiesNV const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceShadingRateImagePropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shadingRateTexelSize == rhs.shadingRateTexelSize ) &&
-             ( shadingRatePaletteSize == rhs.shadingRatePaletteSize ) &&
-             ( shadingRateMaxCoarseSamples == rhs.shadingRateMaxCoarseSamples );
-    }
+  bool operator==(PhysicalDeviceShadingRateImagePropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shadingRateTexelSize == rhs.shadingRateTexelSize) &&
+           (shadingRatePaletteSize == rhs.shadingRatePaletteSize) &&
+           (shadingRateMaxCoarseSamples == rhs.shadingRateMaxCoarseSamples);
+  }
 
-    bool operator!=( PhysicalDeviceShadingRateImagePropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceShadingRateImagePropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShadingRateImagePropertiesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Extent2D            shadingRateTexelSize        = {};
-    uint32_t                                  shadingRatePaletteSize      = {};
-    uint32_t                                  shadingRateMaxCoarseSamples = {};
-  };
-  static_assert( sizeof( PhysicalDeviceShadingRateImagePropertiesNV ) ==
-                   sizeof( VkPhysicalDeviceShadingRateImagePropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceShadingRateImagePropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceShadingRateImagePropertiesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Extent2D shadingRateTexelSize = {};
+  uint32_t shadingRatePaletteSize = {};
+  uint32_t shadingRateMaxCoarseSamples = {};
+};
+static_assert(sizeof(PhysicalDeviceShadingRateImagePropertiesNV) ==
+                  sizeof(VkPhysicalDeviceShadingRateImagePropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceShadingRateImagePropertiesNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceShadingRateImagePropertiesNV>
-  {
-    using Type = PhysicalDeviceShadingRateImagePropertiesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceShadingRateImagePropertiesNV> {
+  using Type = PhysicalDeviceShadingRateImagePropertiesNV;
+};
 
-  struct PhysicalDeviceSparseImageFormatInfo2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePhysicalDeviceSparseImageFormatInfo2;
+struct PhysicalDeviceSubgroupProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceSubgroupProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseImageFormatInfo2(
-      VULKAN_HPP_NAMESPACE::Format              format_  = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::ImageType           type_    = VULKAN_HPP_NAMESPACE::ImageType::e1D,
-      VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1,
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage_   = {},
-      VULKAN_HPP_NAMESPACE::ImageTiling tiling_ = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal ) VULKAN_HPP_NOEXCEPT
-      : format( format_ )
-      , type( type_ )
-      , samples( samples_ )
-      , usage( usage_ )
-      , tiling( tiling_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupProperties(
+      uint32_t subgroupSize_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags supportedStages_ = {},
+      VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags supportedOperations_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 quadOperationsInAllStages_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : subgroupSize(subgroupSize_),
+        supportedStages(supportedStages_),
+        supportedOperations(supportedOperations_),
+        quadOperationsInAllStages(quadOperationsInAllStages_) {}
 
-    PhysicalDeviceSparseImageFormatInfo2( VkPhysicalDeviceSparseImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  PhysicalDeviceSubgroupProperties(PhysicalDeviceSubgroupProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSparseImageFormatInfo2 &
-      operator=( VkPhysicalDeviceSparseImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceSubgroupProperties(
+      VkPhysicalDeviceSubgroupProperties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSubgroupProperties(
+            *reinterpret_cast<PhysicalDeviceSubgroupProperties const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceSparseImageFormatInfo2 &
-      operator=( PhysicalDeviceSparseImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext   = rhs.pNext;
-      format  = rhs.format;
-      type    = rhs.type;
-      samples = rhs.samples;
-      usage   = rhs.usage;
-      tiling  = rhs.tiling;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubgroupProperties &
+  operator=(PhysicalDeviceSubgroupProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceSubgroupProperties &
+  operator=(VkPhysicalDeviceSubgroupProperties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceSparseImageFormatInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkPhysicalDeviceSubgroupProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>(this);
+  }
 
-    PhysicalDeviceSparseImageFormatInfo2 & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
+  operator VkPhysicalDeviceSubgroupProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSubgroupProperties *>(this);
+  }
 
-    PhysicalDeviceSparseImageFormatInfo2 & setType( VULKAN_HPP_NAMESPACE::ImageType type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    PhysicalDeviceSparseImageFormatInfo2 &
-      setSamples( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samples = samples_;
-      return *this;
-    }
-
-    PhysicalDeviceSparseImageFormatInfo2 & setUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      usage = usage_;
-      return *this;
-    }
-
-    PhysicalDeviceSparseImageFormatInfo2 & setTiling( VULKAN_HPP_NAMESPACE::ImageTiling tiling_ ) VULKAN_HPP_NOEXCEPT
-    {
-      tiling = tiling_;
-      return *this;
-    }
-
-    operator VkPhysicalDeviceSparseImageFormatInfo2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( this );
-    }
-
-    operator VkPhysicalDeviceSparseImageFormatInfo2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSparseImageFormatInfo2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSparseImageFormatInfo2 const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSubgroupProperties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceSparseImageFormatInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( type == rhs.type ) &&
-             ( samples == rhs.samples ) && ( usage == rhs.usage ) && ( tiling == rhs.tiling );
-    }
+  bool operator==(PhysicalDeviceSubgroupProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (subgroupSize == rhs.subgroupSize) &&
+           (supportedStages == rhs.supportedStages) &&
+           (supportedOperations == rhs.supportedOperations) &&
+           (quadOperationsInAllStages == rhs.quadOperationsInAllStages);
+  }
 
-    bool operator!=( PhysicalDeviceSparseImageFormatInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSubgroupProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType   = StructureType::ePhysicalDeviceSparseImageFormatInfo2;
-    const void *                              pNext   = {};
-    VULKAN_HPP_NAMESPACE::Format              format  = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::ImageType           type    = VULKAN_HPP_NAMESPACE::ImageType::e1D;
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples = VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1;
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage   = {};
-    VULKAN_HPP_NAMESPACE::ImageTiling         tiling  = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal;
-  };
-  static_assert( sizeof( PhysicalDeviceSparseImageFormatInfo2 ) == sizeof( VkPhysicalDeviceSparseImageFormatInfo2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSparseImageFormatInfo2>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSubgroupProperties;
+  void *pNext = {};
+  uint32_t subgroupSize = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags supportedStages = {};
+  VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags supportedOperations = {};
+  VULKAN_HPP_NAMESPACE::Bool32 quadOperationsInAllStages = {};
+};
+static_assert(sizeof(PhysicalDeviceSubgroupProperties) ==
+                  sizeof(VkPhysicalDeviceSubgroupProperties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceSubgroupProperties>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSparseImageFormatInfo2>
-  {
-    using Type = PhysicalDeviceSparseImageFormatInfo2;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSubgroupProperties> {
+  using Type = PhysicalDeviceSubgroupProperties;
+};
 
-  struct PhysicalDeviceSubgroupProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubgroupProperties;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupProperties(
-      uint32_t                                   subgroupSize_              = {},
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags     supportedStages_           = {},
-      VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags supportedOperations_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32               quadOperationsInAllStages_ = {} ) VULKAN_HPP_NOEXCEPT
-      : subgroupSize( subgroupSize_ )
-      , supportedStages( supportedStages_ )
-      , supportedOperations( supportedOperations_ )
-      , quadOperationsInAllStages( quadOperationsInAllStages_ )
-    {}
-
-    PhysicalDeviceSubgroupProperties( VkPhysicalDeviceSubgroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceSubgroupProperties & operator=( VkPhysicalDeviceSubgroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceSubgroupProperties & operator=( PhysicalDeviceSubgroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      subgroupSize              = rhs.subgroupSize;
-      supportedStages           = rhs.supportedStages;
-      supportedOperations       = rhs.supportedOperations;
-      quadOperationsInAllStages = rhs.quadOperationsInAllStages;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceSubgroupProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>( this );
-    }
-
-    operator VkPhysicalDeviceSubgroupProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSubgroupProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSubgroupProperties const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceSubgroupProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subgroupSize == rhs.subgroupSize ) &&
-             ( supportedStages == rhs.supportedStages ) && ( supportedOperations == rhs.supportedOperations ) &&
-             ( quadOperationsInAllStages == rhs.quadOperationsInAllStages );
-    }
-
-    bool operator!=( PhysicalDeviceSubgroupProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType               = StructureType::ePhysicalDeviceSubgroupProperties;
-    void *                                     pNext               = {};
-    uint32_t                                   subgroupSize        = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags     supportedStages     = {};
-    VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags supportedOperations = {};
-    VULKAN_HPP_NAMESPACE::Bool32               quadOperationsInAllStages = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSubgroupProperties ) == sizeof( VkPhysicalDeviceSubgroupProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSubgroupProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSubgroupProperties>
-  {
-    using Type = PhysicalDeviceSubgroupProperties;
-  };
-
-  struct PhysicalDeviceSubgroupSizeControlFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceSubgroupSizeControlFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_ = {} ) VULKAN_HPP_NOEXCEPT
-      : subgroupSizeControl( subgroupSizeControl_ )
-      , computeFullSubgroups( computeFullSubgroups_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_ = {})
+      VULKAN_HPP_NOEXCEPT : subgroupSizeControl(subgroupSizeControl_),
+                            computeFullSubgroups(computeFullSubgroups_) {}
 
-    PhysicalDeviceSubgroupSizeControlFeaturesEXT( VkPhysicalDeviceSubgroupSizeControlFeaturesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlFeaturesEXT(
+      PhysicalDeviceSubgroupSizeControlFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceSubgroupSizeControlFeaturesEXT(
+      VkPhysicalDeviceSubgroupSizeControlFeaturesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceSubgroupSizeControlFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceSubgroupSizeControlFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceSubgroupSizeControlFeaturesEXT &
-      operator=( VkPhysicalDeviceSubgroupSizeControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubgroupSizeControlFeaturesEXT &
+  operator=(PhysicalDeviceSubgroupSizeControlFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSubgroupSizeControlFeaturesEXT &
-      operator=( PhysicalDeviceSubgroupSizeControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      subgroupSizeControl  = rhs.subgroupSizeControl;
-      computeFullSubgroups = rhs.computeFullSubgroups;
+  PhysicalDeviceSubgroupSizeControlFeaturesEXT &
+  operator=(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceSubgroupSizeControlFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceSubgroupSizeControlFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceSubgroupSizeControlFeaturesEXT &setSubgroupSizeControl(
+      VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_) VULKAN_HPP_NOEXCEPT {
+    subgroupSizeControl = subgroupSizeControl_;
+    return *this;
+  }
 
-    PhysicalDeviceSubgroupSizeControlFeaturesEXT &
-      setSubgroupSizeControl( VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subgroupSizeControl = subgroupSizeControl_;
-      return *this;
-    }
+  PhysicalDeviceSubgroupSizeControlFeaturesEXT &setComputeFullSubgroups(
+      VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_) VULKAN_HPP_NOEXCEPT {
+    computeFullSubgroups = computeFullSubgroups_;
+    return *this;
+  }
 
-    PhysicalDeviceSubgroupSizeControlFeaturesEXT &
-      setComputeFullSubgroups( VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_ ) VULKAN_HPP_NOEXCEPT
-    {
-      computeFullSubgroups = computeFullSubgroups_;
-      return *this;
-    }
+  operator VkPhysicalDeviceSubgroupSizeControlFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceSubgroupSizeControlFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceSubgroupSizeControlFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceSubgroupSizeControlFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSubgroupSizeControlFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSubgroupSizeControlFeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceSubgroupSizeControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subgroupSizeControl == rhs.subgroupSizeControl ) &&
-             ( computeFullSubgroups == rhs.computeFullSubgroups );
-    }
+  bool operator==(PhysicalDeviceSubgroupSizeControlFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (subgroupSizeControl == rhs.subgroupSizeControl) &&
+           (computeFullSubgroups == rhs.computeFullSubgroups);
+  }
 
-    bool operator!=( PhysicalDeviceSubgroupSizeControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSubgroupSizeControlFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              subgroupSizeControl  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              computeFullSubgroups = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSubgroupSizeControlFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceSubgroupSizeControlFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSubgroupSizeControlFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl = {};
+  VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups = {};
+};
+static_assert(sizeof(PhysicalDeviceSubgroupSizeControlFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceSubgroupSizeControlFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT>
-  {
-    using Type = PhysicalDeviceSubgroupSizeControlFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT> {
+  using Type = PhysicalDeviceSubgroupSizeControlFeaturesEXT;
+};
 
-  struct PhysicalDeviceSubgroupSizeControlPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceSubgroupSizeControlPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlPropertiesEXT(
-      uint32_t                               minSubgroupSize_              = {},
-      uint32_t                               maxSubgroupSize_              = {},
-      uint32_t                               maxComputeWorkgroupSubgroups_ = {},
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages_   = {} ) VULKAN_HPP_NOEXCEPT
-      : minSubgroupSize( minSubgroupSize_ )
-      , maxSubgroupSize( maxSubgroupSize_ )
-      , maxComputeWorkgroupSubgroups( maxComputeWorkgroupSubgroups_ )
-      , requiredSubgroupSizeStages( requiredSubgroupSizeStages_ )
-    {}
-
-    PhysicalDeviceSubgroupSizeControlPropertiesEXT( VkPhysicalDeviceSubgroupSizeControlPropertiesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlPropertiesEXT(
+      uint32_t minSubgroupSize_ = {}, uint32_t maxSubgroupSize_ = {},
+      uint32_t maxComputeWorkgroupSubgroups_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : minSubgroupSize(minSubgroupSize_),
+        maxSubgroupSize(maxSubgroupSize_),
+        maxComputeWorkgroupSubgroups(maxComputeWorkgroupSubgroups_),
+        requiredSubgroupSizeStages(requiredSubgroupSizeStages_) {}
 
-    PhysicalDeviceSubgroupSizeControlPropertiesEXT &
-      operator=( VkPhysicalDeviceSubgroupSizeControlPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlPropertiesEXT(
+      PhysicalDeviceSubgroupSizeControlPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSubgroupSizeControlPropertiesEXT &
-      operator=( PhysicalDeviceSubgroupSizeControlPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      minSubgroupSize              = rhs.minSubgroupSize;
-      maxSubgroupSize              = rhs.maxSubgroupSize;
-      maxComputeWorkgroupSubgroups = rhs.maxComputeWorkgroupSubgroups;
-      requiredSubgroupSizeStages   = rhs.requiredSubgroupSizeStages;
+  PhysicalDeviceSubgroupSizeControlPropertiesEXT(
+      VkPhysicalDeviceSubgroupSizeControlPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSubgroupSizeControlPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceSubgroupSizeControlPropertiesEXT const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubgroupSizeControlPropertiesEXT &
+  operator=(PhysicalDeviceSubgroupSizeControlPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDeviceSubgroupSizeControlPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>( this );
-    }
+  PhysicalDeviceSubgroupSizeControlPropertiesEXT &
+  operator=(VkPhysicalDeviceSubgroupSizeControlPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceSubgroupSizeControlPropertiesEXT const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceSubgroupSizeControlPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceSubgroupSizeControlPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSubgroupSizeControlPropertiesEXT const & ) const = default;
+  operator VkPhysicalDeviceSubgroupSizeControlPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceSubgroupSizeControlPropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceSubgroupSizeControlPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minSubgroupSize == rhs.minSubgroupSize ) &&
-             ( maxSubgroupSize == rhs.maxSubgroupSize ) &&
-             ( maxComputeWorkgroupSubgroups == rhs.maxComputeWorkgroupSubgroups ) &&
-             ( requiredSubgroupSizeStages == rhs.requiredSubgroupSizeStages );
-    }
+  bool operator==(PhysicalDeviceSubgroupSizeControlPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (minSubgroupSize == rhs.minSubgroupSize) &&
+           (maxSubgroupSize == rhs.maxSubgroupSize) &&
+           (maxComputeWorkgroupSubgroups == rhs.maxComputeWorkgroupSubgroups) &&
+           (requiredSubgroupSizeStages == rhs.requiredSubgroupSizeStages);
+  }
 
-    bool operator!=( PhysicalDeviceSubgroupSizeControlPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSubgroupSizeControlPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  minSubgroupSize              = {};
-    uint32_t                                  maxSubgroupSize              = {};
-    uint32_t                                  maxComputeWorkgroupSubgroups = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags    requiredSubgroupSizeStages   = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSubgroupSizeControlPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceSubgroupSizeControlPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSubgroupSizeControlPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT;
+  void *pNext = {};
+  uint32_t minSubgroupSize = {};
+  uint32_t maxSubgroupSize = {};
+  uint32_t maxComputeWorkgroupSubgroups = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages = {};
+};
+static_assert(sizeof(PhysicalDeviceSubgroupSizeControlPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceSubgroupSizeControlPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceSubgroupSizeControlPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT>
-  {
-    using Type = PhysicalDeviceSubgroupSizeControlPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT> {
+  using Type = PhysicalDeviceSubgroupSizeControlPropertiesEXT;
+};
 
-  struct PhysicalDeviceSurfaceInfo2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceSurfaceInfo2KHR;
+struct PhysicalDeviceSynchronization2FeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceSynchronization2FeaturesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceSurfaceInfo2KHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface_ = {} ) VULKAN_HPP_NOEXCEPT
-      : surface( surface_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSynchronization2FeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 synchronization2_ = {}) VULKAN_HPP_NOEXCEPT
+      : synchronization2(synchronization2_) {}
 
-    PhysicalDeviceSurfaceInfo2KHR( VkPhysicalDeviceSurfaceInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceSynchronization2FeaturesKHR(
+      PhysicalDeviceSynchronization2FeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceSurfaceInfo2KHR & operator=( VkPhysicalDeviceSurfaceInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceSynchronization2FeaturesKHR(
+      VkPhysicalDeviceSynchronization2FeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceSynchronization2FeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceSynchronization2FeaturesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceSurfaceInfo2KHR & operator=( PhysicalDeviceSurfaceInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext   = rhs.pNext;
-      surface = rhs.surface;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSynchronization2FeaturesKHR &
+  operator=(PhysicalDeviceSynchronization2FeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceSynchronization2FeaturesKHR &
+  operator=(VkPhysicalDeviceSynchronization2FeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2FeaturesKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceSurfaceInfo2KHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceSynchronization2FeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceSurfaceInfo2KHR & setSurface( VULKAN_HPP_NAMESPACE::SurfaceKHR surface_ ) VULKAN_HPP_NOEXCEPT
-    {
-      surface = surface_;
-      return *this;
-    }
+  PhysicalDeviceSynchronization2FeaturesKHR &setSynchronization2(
+      VULKAN_HPP_NAMESPACE::Bool32 synchronization2_) VULKAN_HPP_NOEXCEPT {
+    synchronization2 = synchronization2_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceSurfaceInfo2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( this );
-    }
+  operator VkPhysicalDeviceSynchronization2FeaturesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceSynchronization2FeaturesKHR *>(this);
+  }
 
-    operator VkPhysicalDeviceSurfaceInfo2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceSurfaceInfo2KHR *>( this );
-    }
+  operator VkPhysicalDeviceSynchronization2FeaturesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceSynchronization2FeaturesKHR *>(
+        this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceSurfaceInfo2KHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceSynchronization2FeaturesKHR const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceSurfaceInfo2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surface == rhs.surface );
-    }
+  bool operator==(PhysicalDeviceSynchronization2FeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (synchronization2 == rhs.synchronization2);
+  }
 
-    bool operator!=( PhysicalDeviceSurfaceInfo2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceSynchronization2FeaturesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType   = StructureType::ePhysicalDeviceSurfaceInfo2KHR;
-    const void *                              pNext   = {};
-    VULKAN_HPP_NAMESPACE::SurfaceKHR          surface = {};
-  };
-  static_assert( sizeof( PhysicalDeviceSurfaceInfo2KHR ) == sizeof( VkPhysicalDeviceSurfaceInfo2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceSurfaceInfo2KHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceSynchronization2FeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 synchronization2 = {};
+};
+static_assert(sizeof(PhysicalDeviceSynchronization2FeaturesKHR) ==
+                  sizeof(VkPhysicalDeviceSynchronization2FeaturesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceSynchronization2FeaturesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceSurfaceInfo2KHR>
-  {
-    using Type = PhysicalDeviceSurfaceInfo2KHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceSynchronization2FeaturesKHR> {
+  using Type = PhysicalDeviceSynchronization2FeaturesKHR;
+};
 
-  struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment_ = {} ) VULKAN_HPP_NOEXCEPT
-      : texelBufferAlignment( texelBufferAlignment_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment_ = {})
+      VULKAN_HPP_NOEXCEPT : texelBufferAlignment(texelBufferAlignment_) {}
 
-    PhysicalDeviceTexelBufferAlignmentFeaturesEXT( VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentFeaturesEXT(
+      PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceTexelBufferAlignmentFeaturesEXT(
+      VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceTexelBufferAlignmentFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceTexelBufferAlignmentFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceTexelBufferAlignmentFeaturesEXT &
-      operator=( VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTexelBufferAlignmentFeaturesEXT &
+  operator=(PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceTexelBufferAlignmentFeaturesEXT &
-      operator=( PhysicalDeviceTexelBufferAlignmentFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      texelBufferAlignment = rhs.texelBufferAlignment;
+  PhysicalDeviceTexelBufferAlignmentFeaturesEXT &
+  operator=(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceTexelBufferAlignmentFeaturesEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceTexelBufferAlignmentFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceTexelBufferAlignmentFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceTexelBufferAlignmentFeaturesEXT &setTexelBufferAlignment(
+      VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment_) VULKAN_HPP_NOEXCEPT {
+    texelBufferAlignment = texelBufferAlignment_;
+    return *this;
+  }
 
-    PhysicalDeviceTexelBufferAlignmentFeaturesEXT &
-      setTexelBufferAlignment( VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      texelBufferAlignment = texelBufferAlignment_;
-      return *this;
-    }
+  operator VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceTexelBufferAlignmentFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceTexelBufferAlignmentFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( texelBufferAlignment == rhs.texelBufferAlignment );
-    }
+  bool operator==(PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (texelBufferAlignment == rhs.texelBufferAlignment);
+  }
 
-    bool operator!=( PhysicalDeviceTexelBufferAlignmentFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              texelBufferAlignment = {};
-  };
-  static_assert( sizeof( PhysicalDeviceTexelBufferAlignmentFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceTexelBufferAlignmentFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment = {};
+};
+static_assert(sizeof(PhysicalDeviceTexelBufferAlignmentFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceTexelBufferAlignmentFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT>
-  {
-    using Type = PhysicalDeviceTexelBufferAlignmentFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT> {
+  using Type = PhysicalDeviceTexelBufferAlignmentFeaturesEXT;
+};
 
-  struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentPropertiesEXT(
-      VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32     storageTexelBufferOffsetSingleTexelAlignment_ = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32     uniformTexelBufferOffsetSingleTexelAlignment_ = {} ) VULKAN_HPP_NOEXCEPT
-      : storageTexelBufferOffsetAlignmentBytes( storageTexelBufferOffsetAlignmentBytes_ )
-      , storageTexelBufferOffsetSingleTexelAlignment( storageTexelBufferOffsetSingleTexelAlignment_ )
-      , uniformTexelBufferOffsetAlignmentBytes( uniformTexelBufferOffsetAlignmentBytes_ )
-      , uniformTexelBufferOffsetSingleTexelAlignment( uniformTexelBufferOffsetSingleTexelAlignment_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentPropertiesEXT(
+      VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          storageTexelBufferOffsetSingleTexelAlignment_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          uniformTexelBufferOffsetSingleTexelAlignment_ = {})
+      VULKAN_HPP_NOEXCEPT : storageTexelBufferOffsetAlignmentBytes(
+                                storageTexelBufferOffsetAlignmentBytes_),
+                            storageTexelBufferOffsetSingleTexelAlignment(
+                                storageTexelBufferOffsetSingleTexelAlignment_),
+                            uniformTexelBufferOffsetAlignmentBytes(
+                                uniformTexelBufferOffsetAlignmentBytes_),
+                            uniformTexelBufferOffsetSingleTexelAlignment(
+                                uniformTexelBufferOffsetSingleTexelAlignment_) {
+  }
 
-    PhysicalDeviceTexelBufferAlignmentPropertiesEXT( VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentPropertiesEXT(
+      PhysicalDeviceTexelBufferAlignmentPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceTexelBufferAlignmentPropertiesEXT(
+      VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceTexelBufferAlignmentPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceTexelBufferAlignmentPropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceTexelBufferAlignmentPropertiesEXT &
-      operator=( VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTexelBufferAlignmentPropertiesEXT &
+  operator=(PhysicalDeviceTexelBufferAlignmentPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceTexelBufferAlignmentPropertiesEXT &
-      operator=( PhysicalDeviceTexelBufferAlignmentPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                        = rhs.pNext;
-      storageTexelBufferOffsetAlignmentBytes       = rhs.storageTexelBufferOffsetAlignmentBytes;
-      storageTexelBufferOffsetSingleTexelAlignment = rhs.storageTexelBufferOffsetSingleTexelAlignment;
-      uniformTexelBufferOffsetAlignmentBytes       = rhs.uniformTexelBufferOffsetAlignmentBytes;
-      uniformTexelBufferOffsetSingleTexelAlignment = rhs.uniformTexelBufferOffsetSingleTexelAlignment;
+  PhysicalDeviceTexelBufferAlignmentPropertiesEXT &
+  operator=(VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceTexelBufferAlignmentPropertiesEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceTexelBufferAlignmentPropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceTexelBufferAlignmentPropertiesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceTexelBufferAlignmentPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( storageTexelBufferOffsetAlignmentBytes == rhs.storageTexelBufferOffsetAlignmentBytes ) &&
-             ( storageTexelBufferOffsetSingleTexelAlignment == rhs.storageTexelBufferOffsetSingleTexelAlignment ) &&
-             ( uniformTexelBufferOffsetAlignmentBytes == rhs.uniformTexelBufferOffsetAlignmentBytes ) &&
-             ( uniformTexelBufferOffsetSingleTexelAlignment == rhs.uniformTexelBufferOffsetSingleTexelAlignment );
-    }
+  bool operator==(PhysicalDeviceTexelBufferAlignmentPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (storageTexelBufferOffsetAlignmentBytes ==
+            rhs.storageTexelBufferOffsetAlignmentBytes) &&
+           (storageTexelBufferOffsetSingleTexelAlignment ==
+            rhs.storageTexelBufferOffsetSingleTexelAlignment) &&
+           (uniformTexelBufferOffsetAlignmentBytes ==
+            rhs.uniformTexelBufferOffsetAlignmentBytes) &&
+           (uniformTexelBufferOffsetSingleTexelAlignment ==
+            rhs.uniformTexelBufferOffsetSingleTexelAlignment);
+  }
 
-    bool operator!=( PhysicalDeviceTexelBufferAlignmentPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceTexelBufferAlignmentPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          storageTexelBufferOffsetAlignmentBytes       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storageTexelBufferOffsetSingleTexelAlignment = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          uniformTexelBufferOffsetAlignmentBytes       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              uniformTexelBufferOffsetSingleTexelAlignment = {};
-  };
-  static_assert( sizeof( PhysicalDeviceTexelBufferAlignmentPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceTexelBufferAlignmentPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storageTexelBufferOffsetSingleTexelAlignment =
+      {};
+  VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes = {};
+  VULKAN_HPP_NAMESPACE::Bool32 uniformTexelBufferOffsetSingleTexelAlignment =
+      {};
+};
+static_assert(sizeof(PhysicalDeviceTexelBufferAlignmentPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceTexelBufferAlignmentPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT>
-  {
-    using Type = PhysicalDeviceTexelBufferAlignmentPropertiesEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT> {
+  using Type = PhysicalDeviceTexelBufferAlignmentPropertiesEXT;
+};
 
-  struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_ = {} ) VULKAN_HPP_NOEXCEPT
-      : textureCompressionASTC_HDR( textureCompressionASTC_HDR_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : textureCompressionASTC_HDR(textureCompressionASTC_HDR_) {}
 
-    PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
-      VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
+      PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &
-      operator=( VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
+      VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &
-      operator=( PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      textureCompressionASTC_HDR = rhs.textureCompressionASTC_HDR;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &
+  operator=(PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &
+  operator=(VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &
-      setTextureCompressionASTC_HDR( VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_ ) VULKAN_HPP_NOEXCEPT
-    {
-      textureCompressionASTC_HDR = textureCompressionASTC_HDR_;
-      return *this;
-    }
+  PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &
+  setTextureCompressionASTC_HDR(
+      VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_)
+      VULKAN_HPP_NOEXCEPT {
+    textureCompressionASTC_HDR = textureCompressionASTC_HDR_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( textureCompressionASTC_HDR == rhs.textureCompressionASTC_HDR );
-    }
+  bool operator==(PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (textureCompressionASTC_HDR == rhs.textureCompressionASTC_HDR);
+  }
 
-    bool operator!=( PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT;
-    void *                       pNext                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR = {};
-  };
-  static_assert( sizeof( PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR = {};
+};
+static_assert(sizeof(PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT>
-  {
-    using Type = PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT> {
+  using Type = PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
+};
 
-  struct PhysicalDeviceTimelineSemaphoreFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceTimelineSemaphoreFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceTimelineSemaphoreFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreFeatures( VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_ = {} )
-      VULKAN_HPP_NOEXCEPT : timelineSemaphore( timelineSemaphore_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_ = {}) VULKAN_HPP_NOEXCEPT
+      : timelineSemaphore(timelineSemaphore_) {}
 
-    PhysicalDeviceTimelineSemaphoreFeatures( VkPhysicalDeviceTimelineSemaphoreFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreFeatures(
+      PhysicalDeviceTimelineSemaphoreFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceTimelineSemaphoreFeatures &
-      operator=( VkPhysicalDeviceTimelineSemaphoreFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceTimelineSemaphoreFeatures(
+      VkPhysicalDeviceTimelineSemaphoreFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceTimelineSemaphoreFeatures(
+            *reinterpret_cast<PhysicalDeviceTimelineSemaphoreFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceTimelineSemaphoreFeatures &
-      operator=( PhysicalDeviceTimelineSemaphoreFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      timelineSemaphore = rhs.timelineSemaphore;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTimelineSemaphoreFeatures &
+  operator=(PhysicalDeviceTimelineSemaphoreFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceTimelineSemaphoreFeatures &
+  operator=(VkPhysicalDeviceTimelineSemaphoreFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceTimelineSemaphoreFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceTimelineSemaphoreFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceTimelineSemaphoreFeatures &
-      setTimelineSemaphore( VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      timelineSemaphore = timelineSemaphore_;
-      return *this;
-    }
+  PhysicalDeviceTimelineSemaphoreFeatures &setTimelineSemaphore(
+      VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_) VULKAN_HPP_NOEXCEPT {
+    timelineSemaphore = timelineSemaphore_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceTimelineSemaphoreFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures *>( this );
-    }
+  operator VkPhysicalDeviceTimelineSemaphoreFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceTimelineSemaphoreFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreFeatures *>( this );
-    }
+  operator VkPhysicalDeviceTimelineSemaphoreFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceTimelineSemaphoreFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceTimelineSemaphoreFeatures const &) const = default;
 #else
-    bool operator==( PhysicalDeviceTimelineSemaphoreFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( timelineSemaphore == rhs.timelineSemaphore );
-    }
+  bool operator==(PhysicalDeviceTimelineSemaphoreFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (timelineSemaphore == rhs.timelineSemaphore);
+  }
 
-    bool operator!=( PhysicalDeviceTimelineSemaphoreFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceTimelineSemaphoreFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTimelineSemaphoreFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              timelineSemaphore = {};
-  };
-  static_assert( sizeof( PhysicalDeviceTimelineSemaphoreFeatures ) ==
-                   sizeof( VkPhysicalDeviceTimelineSemaphoreFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceTimelineSemaphoreFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceTimelineSemaphoreFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore = {};
+};
+static_assert(sizeof(PhysicalDeviceTimelineSemaphoreFeatures) ==
+                  sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceTimelineSemaphoreFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceTimelineSemaphoreFeatures>
-  {
-    using Type = PhysicalDeviceTimelineSemaphoreFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceTimelineSemaphoreFeatures> {
+  using Type = PhysicalDeviceTimelineSemaphoreFeatures;
+};
+using PhysicalDeviceTimelineSemaphoreFeaturesKHR =
+    PhysicalDeviceTimelineSemaphoreFeatures;
 
-  struct PhysicalDeviceTimelineSemaphoreProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceTimelineSemaphoreProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceTimelineSemaphoreProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreProperties( uint64_t maxTimelineSemaphoreValueDifference_ = {} )
-      VULKAN_HPP_NOEXCEPT : maxTimelineSemaphoreValueDifference( maxTimelineSemaphoreValueDifference_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreProperties(
+      uint64_t maxTimelineSemaphoreValueDifference_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxTimelineSemaphoreValueDifference(
+            maxTimelineSemaphoreValueDifference_) {}
 
-    PhysicalDeviceTimelineSemaphoreProperties( VkPhysicalDeviceTimelineSemaphoreProperties const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreProperties(
+      PhysicalDeviceTimelineSemaphoreProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceTimelineSemaphoreProperties(
+      VkPhysicalDeviceTimelineSemaphoreProperties const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceTimelineSemaphoreProperties(
+            *reinterpret_cast<
+                PhysicalDeviceTimelineSemaphoreProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceTimelineSemaphoreProperties &
-      operator=( VkPhysicalDeviceTimelineSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTimelineSemaphoreProperties &
+  operator=(PhysicalDeviceTimelineSemaphoreProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceTimelineSemaphoreProperties &
-      operator=( PhysicalDeviceTimelineSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                               = rhs.pNext;
-      maxTimelineSemaphoreValueDifference = rhs.maxTimelineSemaphoreValueDifference;
+  PhysicalDeviceTimelineSemaphoreProperties &
+  operator=(VkPhysicalDeviceTimelineSemaphoreProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceTimelineSemaphoreProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceTimelineSemaphoreProperties *>(this);
+  }
 
-    operator VkPhysicalDeviceTimelineSemaphoreProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties *>( this );
-    }
+  operator VkPhysicalDeviceTimelineSemaphoreProperties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreProperties *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceTimelineSemaphoreProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceTimelineSemaphoreProperties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceTimelineSemaphoreProperties const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceTimelineSemaphoreProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxTimelineSemaphoreValueDifference == rhs.maxTimelineSemaphoreValueDifference );
-    }
+  bool operator==(PhysicalDeviceTimelineSemaphoreProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxTimelineSemaphoreValueDifference ==
+            rhs.maxTimelineSemaphoreValueDifference);
+  }
 
-    bool operator!=( PhysicalDeviceTimelineSemaphoreProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceTimelineSemaphoreProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTimelineSemaphoreProperties;
-    void *                                    pNext = {};
-    uint64_t                                  maxTimelineSemaphoreValueDifference = {};
-  };
-  static_assert( sizeof( PhysicalDeviceTimelineSemaphoreProperties ) ==
-                   sizeof( VkPhysicalDeviceTimelineSemaphoreProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceTimelineSemaphoreProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceTimelineSemaphoreProperties;
+  void *pNext = {};
+  uint64_t maxTimelineSemaphoreValueDifference = {};
+};
+static_assert(sizeof(PhysicalDeviceTimelineSemaphoreProperties) ==
+                  sizeof(VkPhysicalDeviceTimelineSemaphoreProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceTimelineSemaphoreProperties>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceTimelineSemaphoreProperties>
-  {
-    using Type = PhysicalDeviceTimelineSemaphoreProperties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceTimelineSemaphoreProperties> {
+  using Type = PhysicalDeviceTimelineSemaphoreProperties;
+};
+using PhysicalDeviceTimelineSemaphorePropertiesKHR =
+    PhysicalDeviceTimelineSemaphoreProperties;
 
-  struct PhysicalDeviceToolPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceToolPropertiesEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolPropertiesEXT(
-      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & name_        = {},
-      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & version_     = {},
-      VULKAN_HPP_NAMESPACE::ToolPurposeFlagsEXT            purposes_    = {},
-      std::array<char, VK_MAX_DESCRIPTION_SIZE> const &    description_ = {},
-      std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & layer_       = {} ) VULKAN_HPP_NOEXCEPT
-      : name( name_ )
-      , version( version_ )
-      , purposes( purposes_ )
-      , description( description_ )
-      , layer( layer_ )
-    {}
-
-    PhysicalDeviceToolPropertiesEXT( VkPhysicalDeviceToolPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PhysicalDeviceToolPropertiesEXT & operator=( VkPhysicalDeviceToolPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT const *>( &rhs );
-      return *this;
-    }
-
-    PhysicalDeviceToolPropertiesEXT & operator=( PhysicalDeviceToolPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      name        = rhs.name;
-      version     = rhs.version;
-      purposes    = rhs.purposes;
-      description = rhs.description;
-      layer       = rhs.layer;
-
-      return *this;
-    }
-
-    operator VkPhysicalDeviceToolPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceToolPropertiesEXT *>( this );
-    }
-
-    operator VkPhysicalDeviceToolPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceToolPropertiesEXT const & ) const = default;
-#else
-    bool operator==( PhysicalDeviceToolPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( name == rhs.name ) && ( version == rhs.version ) &&
-             ( purposes == rhs.purposes ) && ( description == rhs.description ) && ( layer == rhs.layer );
-    }
-
-    bool operator!=( PhysicalDeviceToolPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceToolPropertiesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> name        = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> version     = {};
-    VULKAN_HPP_NAMESPACE::ToolPurposeFlagsEXT                              purposes    = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE>    description = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> layer       = {};
-  };
-  static_assert( sizeof( PhysicalDeviceToolPropertiesEXT ) == sizeof( VkPhysicalDeviceToolPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceToolPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceToolPropertiesEXT>
-  {
-    using Type = PhysicalDeviceToolPropertiesEXT;
-  };
-
-  struct PhysicalDeviceTransformFeedbackFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceTransformFeedbackFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackFeaturesEXT(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackFeaturesEXT(
       VULKAN_HPP_NAMESPACE::Bool32 transformFeedback_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 geometryStreams_   = {} ) VULKAN_HPP_NOEXCEPT
-      : transformFeedback( transformFeedback_ )
-      , geometryStreams( geometryStreams_ )
-    {}
+      VULKAN_HPP_NAMESPACE::Bool32 geometryStreams_ = {}) VULKAN_HPP_NOEXCEPT
+      : transformFeedback(transformFeedback_),
+        geometryStreams(geometryStreams_) {}
 
-    PhysicalDeviceTransformFeedbackFeaturesEXT( VkPhysicalDeviceTransformFeedbackFeaturesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackFeaturesEXT(
+      PhysicalDeviceTransformFeedbackFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceTransformFeedbackFeaturesEXT(
+      VkPhysicalDeviceTransformFeedbackFeaturesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceTransformFeedbackFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceTransformFeedbackFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceTransformFeedbackFeaturesEXT &
-      operator=( VkPhysicalDeviceTransformFeedbackFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTransformFeedbackFeaturesEXT &
+  operator=(PhysicalDeviceTransformFeedbackFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceTransformFeedbackFeaturesEXT &
-      operator=( PhysicalDeviceTransformFeedbackFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      transformFeedback = rhs.transformFeedback;
-      geometryStreams   = rhs.geometryStreams;
+  PhysicalDeviceTransformFeedbackFeaturesEXT &
+  operator=(VkPhysicalDeviceTransformFeedbackFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceTransformFeedbackFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceTransformFeedbackFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceTransformFeedbackFeaturesEXT &setTransformFeedback(
+      VULKAN_HPP_NAMESPACE::Bool32 transformFeedback_) VULKAN_HPP_NOEXCEPT {
+    transformFeedback = transformFeedback_;
+    return *this;
+  }
 
-    PhysicalDeviceTransformFeedbackFeaturesEXT &
-      setTransformFeedback( VULKAN_HPP_NAMESPACE::Bool32 transformFeedback_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transformFeedback = transformFeedback_;
-      return *this;
-    }
+  PhysicalDeviceTransformFeedbackFeaturesEXT &setGeometryStreams(
+      VULKAN_HPP_NAMESPACE::Bool32 geometryStreams_) VULKAN_HPP_NOEXCEPT {
+    geometryStreams = geometryStreams_;
+    return *this;
+  }
 
-    PhysicalDeviceTransformFeedbackFeaturesEXT &
-      setGeometryStreams( VULKAN_HPP_NAMESPACE::Bool32 geometryStreams_ ) VULKAN_HPP_NOEXCEPT
-    {
-      geometryStreams = geometryStreams_;
-      return *this;
-    }
+  operator VkPhysicalDeviceTransformFeedbackFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceTransformFeedbackFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceTransformFeedbackFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceTransformFeedbackFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceTransformFeedbackFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceTransformFeedbackFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceTransformFeedbackFeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceTransformFeedbackFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( transformFeedback == rhs.transformFeedback ) &&
-             ( geometryStreams == rhs.geometryStreams );
-    }
+  bool operator==(PhysicalDeviceTransformFeedbackFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (transformFeedback == rhs.transformFeedback) &&
+           (geometryStreams == rhs.geometryStreams);
+  }
 
-    bool operator!=( PhysicalDeviceTransformFeedbackFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceTransformFeedbackFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              transformFeedback = {};
-    VULKAN_HPP_NAMESPACE::Bool32              geometryStreams   = {};
-  };
-  static_assert( sizeof( PhysicalDeviceTransformFeedbackFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceTransformFeedbackFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceTransformFeedbackFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 transformFeedback = {};
+  VULKAN_HPP_NAMESPACE::Bool32 geometryStreams = {};
+};
+static_assert(sizeof(PhysicalDeviceTransformFeedbackFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceTransformFeedbackFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT>
-  {
-    using Type = PhysicalDeviceTransformFeedbackFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT> {
+  using Type = PhysicalDeviceTransformFeedbackFeaturesEXT;
+};
 
-  struct PhysicalDeviceTransformFeedbackPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceTransformFeedbackPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackPropertiesEXT(
-      uint32_t                         maxTransformFeedbackStreams_                = {},
-      uint32_t                         maxTransformFeedbackBuffers_                = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize maxTransformFeedbackBufferSize_             = {},
-      uint32_t                         maxTransformFeedbackStreamDataSize_         = {},
-      uint32_t                         maxTransformFeedbackBufferDataSize_         = {},
-      uint32_t                         maxTransformFeedbackBufferDataStride_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32     transformFeedbackQueries_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32     transformFeedbackStreamsLinesTriangles_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32     transformFeedbackRasterizationStreamSelect_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32     transformFeedbackDraw_                      = {} ) VULKAN_HPP_NOEXCEPT
-      : maxTransformFeedbackStreams( maxTransformFeedbackStreams_ )
-      , maxTransformFeedbackBuffers( maxTransformFeedbackBuffers_ )
-      , maxTransformFeedbackBufferSize( maxTransformFeedbackBufferSize_ )
-      , maxTransformFeedbackStreamDataSize( maxTransformFeedbackStreamDataSize_ )
-      , maxTransformFeedbackBufferDataSize( maxTransformFeedbackBufferDataSize_ )
-      , maxTransformFeedbackBufferDataStride( maxTransformFeedbackBufferDataStride_ )
-      , transformFeedbackQueries( transformFeedbackQueries_ )
-      , transformFeedbackStreamsLinesTriangles( transformFeedbackStreamsLinesTriangles_ )
-      , transformFeedbackRasterizationStreamSelect( transformFeedbackRasterizationStreamSelect_ )
-      , transformFeedbackDraw( transformFeedbackDraw_ )
-    {}
-
-    PhysicalDeviceTransformFeedbackPropertiesEXT( VkPhysicalDeviceTransformFeedbackPropertiesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackPropertiesEXT(
+      uint32_t maxTransformFeedbackStreams_ = {},
+      uint32_t maxTransformFeedbackBuffers_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize maxTransformFeedbackBufferSize_ = {},
+      uint32_t maxTransformFeedbackStreamDataSize_ = {},
+      uint32_t maxTransformFeedbackBufferDataSize_ = {},
+      uint32_t maxTransformFeedbackBufferDataStride_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackQueries_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackStreamsLinesTriangles_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackRasterizationStreamSelect_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackDraw_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : maxTransformFeedbackStreams(maxTransformFeedbackStreams_),
+        maxTransformFeedbackBuffers(maxTransformFeedbackBuffers_),
+        maxTransformFeedbackBufferSize(maxTransformFeedbackBufferSize_),
+        maxTransformFeedbackStreamDataSize(maxTransformFeedbackStreamDataSize_),
+        maxTransformFeedbackBufferDataSize(maxTransformFeedbackBufferDataSize_),
+        maxTransformFeedbackBufferDataStride(
+            maxTransformFeedbackBufferDataStride_),
+        transformFeedbackQueries(transformFeedbackQueries_),
+        transformFeedbackStreamsLinesTriangles(
+            transformFeedbackStreamsLinesTriangles_),
+        transformFeedbackRasterizationStreamSelect(
+            transformFeedbackRasterizationStreamSelect_),
+        transformFeedbackDraw(transformFeedbackDraw_) {}
 
-    PhysicalDeviceTransformFeedbackPropertiesEXT &
-      operator=( VkPhysicalDeviceTransformFeedbackPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackPropertiesEXT(
+      PhysicalDeviceTransformFeedbackPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceTransformFeedbackPropertiesEXT &
-      operator=( PhysicalDeviceTransformFeedbackPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                      = rhs.pNext;
-      maxTransformFeedbackStreams                = rhs.maxTransformFeedbackStreams;
-      maxTransformFeedbackBuffers                = rhs.maxTransformFeedbackBuffers;
-      maxTransformFeedbackBufferSize             = rhs.maxTransformFeedbackBufferSize;
-      maxTransformFeedbackStreamDataSize         = rhs.maxTransformFeedbackStreamDataSize;
-      maxTransformFeedbackBufferDataSize         = rhs.maxTransformFeedbackBufferDataSize;
-      maxTransformFeedbackBufferDataStride       = rhs.maxTransformFeedbackBufferDataStride;
-      transformFeedbackQueries                   = rhs.transformFeedbackQueries;
-      transformFeedbackStreamsLinesTriangles     = rhs.transformFeedbackStreamsLinesTriangles;
-      transformFeedbackRasterizationStreamSelect = rhs.transformFeedbackRasterizationStreamSelect;
-      transformFeedbackDraw                      = rhs.transformFeedbackDraw;
+  PhysicalDeviceTransformFeedbackPropertiesEXT(
+      VkPhysicalDeviceTransformFeedbackPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceTransformFeedbackPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceTransformFeedbackPropertiesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTransformFeedbackPropertiesEXT &
+  operator=(PhysicalDeviceTransformFeedbackPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkPhysicalDeviceTransformFeedbackPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT *>( this );
-    }
+  PhysicalDeviceTransformFeedbackPropertiesEXT &
+  operator=(VkPhysicalDeviceTransformFeedbackPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceTransformFeedbackPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceTransformFeedbackPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceTransformFeedbackPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceTransformFeedbackPropertiesEXT const & ) const = default;
+  operator VkPhysicalDeviceTransformFeedbackPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceTransformFeedbackPropertiesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceTransformFeedbackPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxTransformFeedbackStreams == rhs.maxTransformFeedbackStreams ) &&
-             ( maxTransformFeedbackBuffers == rhs.maxTransformFeedbackBuffers ) &&
-             ( maxTransformFeedbackBufferSize == rhs.maxTransformFeedbackBufferSize ) &&
-             ( maxTransformFeedbackStreamDataSize == rhs.maxTransformFeedbackStreamDataSize ) &&
-             ( maxTransformFeedbackBufferDataSize == rhs.maxTransformFeedbackBufferDataSize ) &&
-             ( maxTransformFeedbackBufferDataStride == rhs.maxTransformFeedbackBufferDataStride ) &&
-             ( transformFeedbackQueries == rhs.transformFeedbackQueries ) &&
-             ( transformFeedbackStreamsLinesTriangles == rhs.transformFeedbackStreamsLinesTriangles ) &&
-             ( transformFeedbackRasterizationStreamSelect == rhs.transformFeedbackRasterizationStreamSelect ) &&
-             ( transformFeedbackDraw == rhs.transformFeedbackDraw );
-    }
+  bool operator==(PhysicalDeviceTransformFeedbackPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxTransformFeedbackStreams == rhs.maxTransformFeedbackStreams) &&
+           (maxTransformFeedbackBuffers == rhs.maxTransformFeedbackBuffers) &&
+           (maxTransformFeedbackBufferSize ==
+            rhs.maxTransformFeedbackBufferSize) &&
+           (maxTransformFeedbackStreamDataSize ==
+            rhs.maxTransformFeedbackStreamDataSize) &&
+           (maxTransformFeedbackBufferDataSize ==
+            rhs.maxTransformFeedbackBufferDataSize) &&
+           (maxTransformFeedbackBufferDataStride ==
+            rhs.maxTransformFeedbackBufferDataStride) &&
+           (transformFeedbackQueries == rhs.transformFeedbackQueries) &&
+           (transformFeedbackStreamsLinesTriangles ==
+            rhs.transformFeedbackStreamsLinesTriangles) &&
+           (transformFeedbackRasterizationStreamSelect ==
+            rhs.transformFeedbackRasterizationStreamSelect) &&
+           (transformFeedbackDraw == rhs.transformFeedbackDraw);
+  }
 
-    bool operator!=( PhysicalDeviceTransformFeedbackPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceTransformFeedbackPropertiesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  maxTransformFeedbackStreams                = {};
-    uint32_t                                  maxTransformFeedbackBuffers                = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize          maxTransformFeedbackBufferSize             = {};
-    uint32_t                                  maxTransformFeedbackStreamDataSize         = {};
-    uint32_t                                  maxTransformFeedbackBufferDataSize         = {};
-    uint32_t                                  maxTransformFeedbackBufferDataStride       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              transformFeedbackQueries                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              transformFeedbackStreamsLinesTriangles     = {};
-    VULKAN_HPP_NAMESPACE::Bool32              transformFeedbackRasterizationStreamSelect = {};
-    VULKAN_HPP_NAMESPACE::Bool32              transformFeedbackDraw                      = {};
-  };
-  static_assert( sizeof( PhysicalDeviceTransformFeedbackPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceTransformFeedbackPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceTransformFeedbackPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT;
+  void *pNext = {};
+  uint32_t maxTransformFeedbackStreams = {};
+  uint32_t maxTransformFeedbackBuffers = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize maxTransformFeedbackBufferSize = {};
+  uint32_t maxTransformFeedbackStreamDataSize = {};
+  uint32_t maxTransformFeedbackBufferDataSize = {};
+  uint32_t maxTransformFeedbackBufferDataStride = {};
+  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackQueries = {};
+  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackStreamsLinesTriangles = {};
+  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackRasterizationStreamSelect = {};
+  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackDraw = {};
+};
+static_assert(sizeof(PhysicalDeviceTransformFeedbackPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceTransformFeedbackPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT>
-  {
-    using Type = PhysicalDeviceTransformFeedbackPropertiesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT> {
+  using Type = PhysicalDeviceTransformFeedbackPropertiesEXT;
+};
 
-  struct PhysicalDeviceUniformBufferStandardLayoutFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceUniformBufferStandardLayoutFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_ = {} ) VULKAN_HPP_NOEXCEPT
-      : uniformBufferStandardLayout( uniformBufferStandardLayout_ )
-    {}
-
-    PhysicalDeviceUniformBufferStandardLayoutFeatures( VkPhysicalDeviceUniformBufferStandardLayoutFeatures const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceUniformBufferStandardLayoutFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : uniformBufferStandardLayout(uniformBufferStandardLayout_) {}
 
-    PhysicalDeviceUniformBufferStandardLayoutFeatures &
-      operator=( VkPhysicalDeviceUniformBufferStandardLayoutFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceUniformBufferStandardLayoutFeatures(
+      PhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceUniformBufferStandardLayoutFeatures &
-      operator=( PhysicalDeviceUniformBufferStandardLayoutFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      uniformBufferStandardLayout = rhs.uniformBufferStandardLayout;
+  PhysicalDeviceUniformBufferStandardLayoutFeatures(
+      VkPhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceUniformBufferStandardLayoutFeatures(
+            *reinterpret_cast<
+                PhysicalDeviceUniformBufferStandardLayoutFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceUniformBufferStandardLayoutFeatures &
+  operator=(PhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceUniformBufferStandardLayoutFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceUniformBufferStandardLayoutFeatures &
+  operator=(VkPhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceUniformBufferStandardLayoutFeatures const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceUniformBufferStandardLayoutFeatures &
-      setUniformBufferStandardLayout( VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uniformBufferStandardLayout = uniformBufferStandardLayout_;
-      return *this;
-    }
+  PhysicalDeviceUniformBufferStandardLayoutFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceUniformBufferStandardLayoutFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>( this );
-    }
+  PhysicalDeviceUniformBufferStandardLayoutFeatures &
+  setUniformBufferStandardLayout(
+      VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    uniformBufferStandardLayout = uniformBufferStandardLayout_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceUniformBufferStandardLayoutFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>( this );
-    }
+  operator VkPhysicalDeviceUniformBufferStandardLayoutFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceUniformBufferStandardLayoutFeatures const & ) const = default;
+  operator VkPhysicalDeviceUniformBufferStandardLayoutFeatures &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceUniformBufferStandardLayoutFeatures const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceUniformBufferStandardLayoutFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( uniformBufferStandardLayout == rhs.uniformBufferStandardLayout );
-    }
+  bool operator==(PhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (uniformBufferStandardLayout == rhs.uniformBufferStandardLayout);
+  }
 
-    bool operator!=( PhysicalDeviceUniformBufferStandardLayoutFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              uniformBufferStandardLayout = {};
-  };
-  static_assert( sizeof( PhysicalDeviceUniformBufferStandardLayoutFeatures ) ==
-                   sizeof( VkPhysicalDeviceUniformBufferStandardLayoutFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceUniformBufferStandardLayoutFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout = {};
+};
+static_assert(sizeof(PhysicalDeviceUniformBufferStandardLayoutFeatures) ==
+                  sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceUniformBufferStandardLayoutFeatures>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures>
-  {
-    using Type = PhysicalDeviceUniformBufferStandardLayoutFeatures;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures> {
+  using Type = PhysicalDeviceUniformBufferStandardLayoutFeatures;
+};
+using PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
+    PhysicalDeviceUniformBufferStandardLayoutFeatures;
 
-  struct PhysicalDeviceVariablePointersFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceVariablePointersFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceVariablePointersFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceVariablePointersFeatures( VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_ = {},
-                                            VULKAN_HPP_NAMESPACE::Bool32 variablePointers_ = {} ) VULKAN_HPP_NOEXCEPT
-      : variablePointersStorageBuffer( variablePointersStorageBuffer_ )
-      , variablePointers( variablePointers_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVariablePointersFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointers_ = {}) VULKAN_HPP_NOEXCEPT
+      : variablePointersStorageBuffer(variablePointersStorageBuffer_),
+        variablePointers(variablePointers_) {}
 
-    PhysicalDeviceVariablePointersFeatures( VkPhysicalDeviceVariablePointersFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVariablePointersFeatures(
+      PhysicalDeviceVariablePointersFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVariablePointersFeatures &
-      operator=( VkPhysicalDeviceVariablePointersFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceVariablePointersFeatures(
+      VkPhysicalDeviceVariablePointersFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceVariablePointersFeatures(
+            *reinterpret_cast<PhysicalDeviceVariablePointersFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceVariablePointersFeatures &
-      operator=( PhysicalDeviceVariablePointersFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      variablePointersStorageBuffer = rhs.variablePointersStorageBuffer;
-      variablePointers              = rhs.variablePointers;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVariablePointersFeatures &
+  operator=(PhysicalDeviceVariablePointersFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceVariablePointersFeatures &operator=(
+      VkPhysicalDeviceVariablePointersFeatures const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceVariablePointersFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceVariablePointersFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceVariablePointersFeatures & setVariablePointersStorageBuffer(
-      VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      variablePointersStorageBuffer = variablePointersStorageBuffer_;
-      return *this;
-    }
+  PhysicalDeviceVariablePointersFeatures &setVariablePointersStorageBuffer(
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_)
+      VULKAN_HPP_NOEXCEPT {
+    variablePointersStorageBuffer = variablePointersStorageBuffer_;
+    return *this;
+  }
 
-    PhysicalDeviceVariablePointersFeatures &
-      setVariablePointers( VULKAN_HPP_NAMESPACE::Bool32 variablePointers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      variablePointers = variablePointers_;
-      return *this;
-    }
+  PhysicalDeviceVariablePointersFeatures &setVariablePointers(
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointers_) VULKAN_HPP_NOEXCEPT {
+    variablePointers = variablePointers_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVariablePointersFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>( this );
-    }
+  operator VkPhysicalDeviceVariablePointersFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceVariablePointersFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures *>( this );
-    }
+  operator VkPhysicalDeviceVariablePointersFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVariablePointersFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceVariablePointersFeatures const &) const = default;
 #else
-    bool operator==( PhysicalDeviceVariablePointersFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( variablePointersStorageBuffer == rhs.variablePointersStorageBuffer ) &&
-             ( variablePointers == rhs.variablePointers );
-    }
+  bool operator==(PhysicalDeviceVariablePointersFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (variablePointersStorageBuffer ==
+            rhs.variablePointersStorageBuffer) &&
+           (variablePointers == rhs.variablePointers);
+  }
 
-    bool operator!=( PhysicalDeviceVariablePointersFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVariablePointersFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVariablePointersFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              variablePointersStorageBuffer = {};
-    VULKAN_HPP_NAMESPACE::Bool32              variablePointers              = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVariablePointersFeatures ) == sizeof( VkPhysicalDeviceVariablePointersFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVariablePointersFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVariablePointersFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer = {};
+  VULKAN_HPP_NAMESPACE::Bool32 variablePointers = {};
+};
+static_assert(sizeof(PhysicalDeviceVariablePointersFeatures) ==
+                  sizeof(VkPhysicalDeviceVariablePointersFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceVariablePointersFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVariablePointersFeatures>
-  {
-    using Type = PhysicalDeviceVariablePointersFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceVariablePointersFeatures> {
+  using Type = PhysicalDeviceVariablePointersFeatures;
+};
+using PhysicalDeviceVariablePointerFeatures =
+    PhysicalDeviceVariablePointersFeatures;
+using PhysicalDeviceVariablePointerFeaturesKHR =
+    PhysicalDeviceVariablePointersFeatures;
+using PhysicalDeviceVariablePointersFeaturesKHR =
+    PhysicalDeviceVariablePointersFeatures;
 
-  struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor_ = {} ) VULKAN_HPP_NOEXCEPT
-      : vertexAttributeInstanceRateDivisor( vertexAttributeInstanceRateDivisor_ )
-      , vertexAttributeInstanceRateZeroDivisor( vertexAttributeInstanceRateZeroDivisor_ )
-    {}
-
-    PhysicalDeviceVertexAttributeDivisorFeaturesEXT( VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : vertexAttributeInstanceRateDivisor(vertexAttributeInstanceRateDivisor_),
+        vertexAttributeInstanceRateZeroDivisor(
+            vertexAttributeInstanceRateZeroDivisor_) {}
 
-    PhysicalDeviceVertexAttributeDivisorFeaturesEXT &
-      operator=( VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorFeaturesEXT(
+      PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVertexAttributeDivisorFeaturesEXT &
-      operator=( PhysicalDeviceVertexAttributeDivisorFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                  = rhs.pNext;
-      vertexAttributeInstanceRateDivisor     = rhs.vertexAttributeInstanceRateDivisor;
-      vertexAttributeInstanceRateZeroDivisor = rhs.vertexAttributeInstanceRateZeroDivisor;
+  PhysicalDeviceVertexAttributeDivisorFeaturesEXT(
+      VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceVertexAttributeDivisorFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceVertexAttributeDivisorFeaturesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVertexAttributeDivisorFeaturesEXT &
+  operator=(PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVertexAttributeDivisorFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceVertexAttributeDivisorFeaturesEXT &
+  operator=(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceVertexAttributeDivisorFeaturesEXT const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceVertexAttributeDivisorFeaturesEXT & setVertexAttributeInstanceRateDivisor(
-      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexAttributeInstanceRateDivisor = vertexAttributeInstanceRateDivisor_;
-      return *this;
-    }
+  PhysicalDeviceVertexAttributeDivisorFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceVertexAttributeDivisorFeaturesEXT & setVertexAttributeInstanceRateZeroDivisor(
-      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexAttributeInstanceRateZeroDivisor = vertexAttributeInstanceRateZeroDivisor_;
-      return *this;
-    }
+  PhysicalDeviceVertexAttributeDivisorFeaturesEXT &
+  setVertexAttributeInstanceRateDivisor(
+      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor_)
+      VULKAN_HPP_NOEXCEPT {
+    vertexAttributeInstanceRateDivisor = vertexAttributeInstanceRateDivisor_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>( this );
-    }
+  PhysicalDeviceVertexAttributeDivisorFeaturesEXT &
+  setVertexAttributeInstanceRateZeroDivisor(
+      VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor_)
+      VULKAN_HPP_NOEXCEPT {
+    vertexAttributeInstanceRateZeroDivisor =
+        vertexAttributeInstanceRateZeroDivisor_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVertexAttributeDivisorFeaturesEXT const & ) const = default;
+  operator VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &) const = default;
 #else
-    bool operator==( PhysicalDeviceVertexAttributeDivisorFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( vertexAttributeInstanceRateDivisor == rhs.vertexAttributeInstanceRateDivisor ) &&
-             ( vertexAttributeInstanceRateZeroDivisor == rhs.vertexAttributeInstanceRateZeroDivisor );
-    }
+  bool operator==(PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (vertexAttributeInstanceRateDivisor ==
+            rhs.vertexAttributeInstanceRateDivisor) &&
+           (vertexAttributeInstanceRateZeroDivisor ==
+            rhs.vertexAttributeInstanceRateZeroDivisor);
+  }
 
-    bool operator!=( PhysicalDeviceVertexAttributeDivisorFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vertexAttributeInstanceRateDivisor     = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vertexAttributeInstanceRateZeroDivisor = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVertexAttributeDivisorFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVertexAttributeDivisorFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor = {};
+};
+static_assert(sizeof(PhysicalDeviceVertexAttributeDivisorFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceVertexAttributeDivisorFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT>
-  {
-    using Type = PhysicalDeviceVertexAttributeDivisorFeaturesEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT> {
+  using Type = PhysicalDeviceVertexAttributeDivisorFeaturesEXT;
+};
 
-  struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceVertexAttributeDivisorPropertiesEXT( uint32_t maxVertexAttribDivisor_ = {} ) VULKAN_HPP_NOEXCEPT
-      : maxVertexAttribDivisor( maxVertexAttribDivisor_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorPropertiesEXT(
+      uint32_t maxVertexAttribDivisor_ = {}) VULKAN_HPP_NOEXCEPT
+      : maxVertexAttribDivisor(maxVertexAttribDivisor_) {}
 
-    PhysicalDeviceVertexAttributeDivisorPropertiesEXT( VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorPropertiesEXT(
+      PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceVertexAttributeDivisorPropertiesEXT(
+      VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceVertexAttributeDivisorPropertiesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceVertexAttributeDivisorPropertiesEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceVertexAttributeDivisorPropertiesEXT &
-      operator=( VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVertexAttributeDivisorPropertiesEXT &
+  operator=(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVertexAttributeDivisorPropertiesEXT &
-      operator=( PhysicalDeviceVertexAttributeDivisorPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      maxVertexAttribDivisor = rhs.maxVertexAttribDivisor;
+  PhysicalDeviceVertexAttributeDivisorPropertiesEXT &
+  operator=(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceVertexAttributeDivisorPropertiesEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>( this );
-    }
+  operator VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVertexAttributeDivisorPropertiesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &)
+      const = default;
 #else
-    bool operator==( PhysicalDeviceVertexAttributeDivisorPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( maxVertexAttribDivisor == rhs.maxVertexAttribDivisor );
-    }
+  bool operator==(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (maxVertexAttribDivisor == rhs.maxVertexAttribDivisor);
+  }
 
-    bool operator!=( PhysicalDeviceVertexAttributeDivisorPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT;
-    void *                                    pNext = {};
-    uint32_t                                  maxVertexAttribDivisor = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVertexAttributeDivisorPropertiesEXT ) ==
-                   sizeof( VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVertexAttributeDivisorPropertiesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT;
+  void *pNext = {};
+  uint32_t maxVertexAttribDivisor = {};
+};
+static_assert(sizeof(PhysicalDeviceVertexAttributeDivisorPropertiesEXT) ==
+                  sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PhysicalDeviceVertexAttributeDivisorPropertiesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT>
-  {
-    using Type = PhysicalDeviceVertexAttributeDivisorPropertiesEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT> {
+  using Type = PhysicalDeviceVertexAttributeDivisorPropertiesEXT;
+};
 
-  struct PhysicalDeviceVulkan11Features
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceVulkan11Features;
+struct PhysicalDeviceVulkan11Features {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceVulkan11Features;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PhysicalDeviceVulkan11Features( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_           = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_              = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_               = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 multiview_                          = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_            = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_        = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_      = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 variablePointers_                   = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_                    = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_             = {},
-                                    VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_ = {} ) VULKAN_HPP_NOEXCEPT
-      : storageBuffer16BitAccess( storageBuffer16BitAccess_ )
-      , uniformAndStorageBuffer16BitAccess( uniformAndStorageBuffer16BitAccess_ )
-      , storagePushConstant16( storagePushConstant16_ )
-      , storageInputOutput16( storageInputOutput16_ )
-      , multiview( multiview_ )
-      , multiviewGeometryShader( multiviewGeometryShader_ )
-      , multiviewTessellationShader( multiviewTessellationShader_ )
-      , variablePointersStorageBuffer( variablePointersStorageBuffer_ )
-      , variablePointers( variablePointers_ )
-      , protectedMemory( protectedMemory_ )
-      , samplerYcbcrConversion( samplerYcbcrConversion_ )
-      , shaderDrawParameters( shaderDrawParameters_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan11Features(
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multiview_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointers_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : storageBuffer16BitAccess(storageBuffer16BitAccess_),
+        uniformAndStorageBuffer16BitAccess(uniformAndStorageBuffer16BitAccess_),
+        storagePushConstant16(storagePushConstant16_),
+        storageInputOutput16(storageInputOutput16_),
+        multiview(multiview_),
+        multiviewGeometryShader(multiviewGeometryShader_),
+        multiviewTessellationShader(multiviewTessellationShader_),
+        variablePointersStorageBuffer(variablePointersStorageBuffer_),
+        variablePointers(variablePointers_),
+        protectedMemory(protectedMemory_),
+        samplerYcbcrConversion(samplerYcbcrConversion_),
+        shaderDrawParameters(shaderDrawParameters_) {}
 
-    PhysicalDeviceVulkan11Features( VkPhysicalDeviceVulkan11Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan11Features(
+      PhysicalDeviceVulkan11Features const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVulkan11Features & operator=( VkPhysicalDeviceVulkan11Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features(VkPhysicalDeviceVulkan11Features const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceVulkan11Features(
+            *reinterpret_cast<PhysicalDeviceVulkan11Features const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceVulkan11Features & operator=( PhysicalDeviceVulkan11Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                              = rhs.pNext;
-      storageBuffer16BitAccess           = rhs.storageBuffer16BitAccess;
-      uniformAndStorageBuffer16BitAccess = rhs.uniformAndStorageBuffer16BitAccess;
-      storagePushConstant16              = rhs.storagePushConstant16;
-      storageInputOutput16               = rhs.storageInputOutput16;
-      multiview                          = rhs.multiview;
-      multiviewGeometryShader            = rhs.multiviewGeometryShader;
-      multiviewTessellationShader        = rhs.multiviewTessellationShader;
-      variablePointersStorageBuffer      = rhs.variablePointersStorageBuffer;
-      variablePointers                   = rhs.variablePointers;
-      protectedMemory                    = rhs.protectedMemory;
-      samplerYcbcrConversion             = rhs.samplerYcbcrConversion;
-      shaderDrawParameters               = rhs.shaderDrawParameters;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features &operator=(
+      PhysicalDeviceVulkan11Features const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &
+  operator=(VkPhysicalDeviceVulkan11Features const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setStorageBuffer16BitAccess( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storageBuffer16BitAccess = storageBuffer16BitAccess_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setStorageBuffer16BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    storageBuffer16BitAccess = storageBuffer16BitAccess_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features & setUniformAndStorageBuffer16BitAccess(
-      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setUniformAndStorageBuffer16BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setStoragePushConstant16( VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storagePushConstant16 = storagePushConstant16_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setStoragePushConstant16(
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_) VULKAN_HPP_NOEXCEPT {
+    storagePushConstant16 = storagePushConstant16_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setStorageInputOutput16( VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storageInputOutput16 = storageInputOutput16_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setStorageInputOutput16(
+      VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_) VULKAN_HPP_NOEXCEPT {
+    storageInputOutput16 = storageInputOutput16_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features & setMultiview( VULKAN_HPP_NAMESPACE::Bool32 multiview_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiview = multiview_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &
+  setMultiview(VULKAN_HPP_NAMESPACE::Bool32 multiview_) VULKAN_HPP_NOEXCEPT {
+    multiview = multiview_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setMultiviewGeometryShader( VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiviewGeometryShader = multiviewGeometryShader_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setMultiviewGeometryShader(
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_)
+      VULKAN_HPP_NOEXCEPT {
+    multiviewGeometryShader = multiviewGeometryShader_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setMultiviewTessellationShader( VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      multiviewTessellationShader = multiviewTessellationShader_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setMultiviewTessellationShader(
+      VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_)
+      VULKAN_HPP_NOEXCEPT {
+    multiviewTessellationShader = multiviewTessellationShader_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features & setVariablePointersStorageBuffer(
-      VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      variablePointersStorageBuffer = variablePointersStorageBuffer_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setVariablePointersStorageBuffer(
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_)
+      VULKAN_HPP_NOEXCEPT {
+    variablePointersStorageBuffer = variablePointersStorageBuffer_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setVariablePointers( VULKAN_HPP_NAMESPACE::Bool32 variablePointers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      variablePointers = variablePointers_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setVariablePointers(
+      VULKAN_HPP_NAMESPACE::Bool32 variablePointers_) VULKAN_HPP_NOEXCEPT {
+    variablePointers = variablePointers_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setProtectedMemory( VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_ ) VULKAN_HPP_NOEXCEPT
-    {
-      protectedMemory = protectedMemory_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setProtectedMemory(
+      VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_) VULKAN_HPP_NOEXCEPT {
+    protectedMemory = protectedMemory_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setSamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samplerYcbcrConversion = samplerYcbcrConversion_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setSamplerYcbcrConversion(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_)
+      VULKAN_HPP_NOEXCEPT {
+    samplerYcbcrConversion = samplerYcbcrConversion_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan11Features &
-      setShaderDrawParameters( VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderDrawParameters = shaderDrawParameters_;
-      return *this;
-    }
+  PhysicalDeviceVulkan11Features &setShaderDrawParameters(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_) VULKAN_HPP_NOEXCEPT {
+    shaderDrawParameters = shaderDrawParameters_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVulkan11Features const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVulkan11Features *>( this );
-    }
+  operator VkPhysicalDeviceVulkan11Features const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceVulkan11Features *>(this);
+  }
 
-    operator VkPhysicalDeviceVulkan11Features &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVulkan11Features *>( this );
-    }
+  operator VkPhysicalDeviceVulkan11Features &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceVulkan11Features *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVulkan11Features const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceVulkan11Features const &) const = default;
 #else
-    bool operator==( PhysicalDeviceVulkan11Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( storageBuffer16BitAccess == rhs.storageBuffer16BitAccess ) &&
-             ( uniformAndStorageBuffer16BitAccess == rhs.uniformAndStorageBuffer16BitAccess ) &&
-             ( storagePushConstant16 == rhs.storagePushConstant16 ) &&
-             ( storageInputOutput16 == rhs.storageInputOutput16 ) && ( multiview == rhs.multiview ) &&
-             ( multiviewGeometryShader == rhs.multiviewGeometryShader ) &&
-             ( multiviewTessellationShader == rhs.multiviewTessellationShader ) &&
-             ( variablePointersStorageBuffer == rhs.variablePointersStorageBuffer ) &&
-             ( variablePointers == rhs.variablePointers ) && ( protectedMemory == rhs.protectedMemory ) &&
-             ( samplerYcbcrConversion == rhs.samplerYcbcrConversion ) &&
-             ( shaderDrawParameters == rhs.shaderDrawParameters );
-    }
+  bool operator==(PhysicalDeviceVulkan11Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (storageBuffer16BitAccess == rhs.storageBuffer16BitAccess) &&
+           (uniformAndStorageBuffer16BitAccess ==
+            rhs.uniformAndStorageBuffer16BitAccess) &&
+           (storagePushConstant16 == rhs.storagePushConstant16) &&
+           (storageInputOutput16 == rhs.storageInputOutput16) &&
+           (multiview == rhs.multiview) &&
+           (multiviewGeometryShader == rhs.multiviewGeometryShader) &&
+           (multiviewTessellationShader == rhs.multiviewTessellationShader) &&
+           (variablePointersStorageBuffer ==
+            rhs.variablePointersStorageBuffer) &&
+           (variablePointers == rhs.variablePointers) &&
+           (protectedMemory == rhs.protectedMemory) &&
+           (samplerYcbcrConversion == rhs.samplerYcbcrConversion) &&
+           (shaderDrawParameters == rhs.shaderDrawParameters);
+  }
 
-    bool operator!=( PhysicalDeviceVulkan11Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVulkan11Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                    = StructureType::ePhysicalDeviceVulkan11Features;
-    void *                                    pNext                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storageBuffer16BitAccess = {};
-    VULKAN_HPP_NAMESPACE::Bool32              uniformAndStorageBuffer16BitAccess = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storagePushConstant16              = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storageInputOutput16               = {};
-    VULKAN_HPP_NAMESPACE::Bool32              multiview                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              multiviewGeometryShader            = {};
-    VULKAN_HPP_NAMESPACE::Bool32              multiviewTessellationShader        = {};
-    VULKAN_HPP_NAMESPACE::Bool32              variablePointersStorageBuffer      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              variablePointers                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              protectedMemory                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              samplerYcbcrConversion             = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderDrawParameters               = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVulkan11Features ) == sizeof( VkPhysicalDeviceVulkan11Features ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVulkan11Features>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVulkan11Features;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiview = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader = {};
+  VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader = {};
+  VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer = {};
+  VULKAN_HPP_NAMESPACE::Bool32 variablePointers = {};
+  VULKAN_HPP_NAMESPACE::Bool32 protectedMemory = {};
+  VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters = {};
+};
+static_assert(sizeof(PhysicalDeviceVulkan11Features) ==
+                  sizeof(VkPhysicalDeviceVulkan11Features),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceVulkan11Features>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVulkan11Features>
-  {
-    using Type = PhysicalDeviceVulkan11Features;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceVulkan11Features> {
+  using Type = PhysicalDeviceVulkan11Features;
+};
 
-  struct PhysicalDeviceVulkan11Properties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan11Properties;
+struct PhysicalDeviceVulkan11Properties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceVulkan11Properties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Properties(
-      std::array<uint8_t, VK_UUID_SIZE> const &   deviceUUID_                        = {},
-      std::array<uint8_t, VK_UUID_SIZE> const &   driverUUID_                        = {},
-      std::array<uint8_t, VK_LUID_SIZE> const &   deviceLUID_                        = {},
-      uint32_t                                    deviceNodeMask_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32                deviceLUIDValid_                   = {},
-      uint32_t                                    subgroupSize_                      = {},
-      VULKAN_HPP_NAMESPACE::ShaderStageFlags      subgroupSupportedStages_           = {},
-      VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags  subgroupSupportedOperations_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32                subgroupQuadOperationsInAllStages_ = {},
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Properties(
+      std::array<uint8_t, VK_UUID_SIZE> const &deviceUUID_ = {},
+      std::array<uint8_t, VK_UUID_SIZE> const &driverUUID_ = {},
+      std::array<uint8_t, VK_LUID_SIZE> const &deviceLUID_ = {},
+      uint32_t deviceNodeMask_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid_ = {},
+      uint32_t subgroupSize_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags subgroupSupportedStages_ = {},
+      VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags subgroupSupportedOperations_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 subgroupQuadOperationsInAllStages_ = {},
       VULKAN_HPP_NAMESPACE::PointClippingBehavior pointClippingBehavior_ =
-        VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes,
-      uint32_t                         maxMultiviewViewCount_     = {},
-      uint32_t                         maxMultiviewInstanceIndex_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32     protectedNoFault_          = {},
-      uint32_t                         maxPerSetDescriptors_      = {},
-      VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_   = {} ) VULKAN_HPP_NOEXCEPT
-      : deviceUUID( deviceUUID_ )
-      , driverUUID( driverUUID_ )
-      , deviceLUID( deviceLUID_ )
-      , deviceNodeMask( deviceNodeMask_ )
-      , deviceLUIDValid( deviceLUIDValid_ )
-      , subgroupSize( subgroupSize_ )
-      , subgroupSupportedStages( subgroupSupportedStages_ )
-      , subgroupSupportedOperations( subgroupSupportedOperations_ )
-      , subgroupQuadOperationsInAllStages( subgroupQuadOperationsInAllStages_ )
-      , pointClippingBehavior( pointClippingBehavior_ )
-      , maxMultiviewViewCount( maxMultiviewViewCount_ )
-      , maxMultiviewInstanceIndex( maxMultiviewInstanceIndex_ )
-      , protectedNoFault( protectedNoFault_ )
-      , maxPerSetDescriptors( maxPerSetDescriptors_ )
-      , maxMemoryAllocationSize( maxMemoryAllocationSize_ )
-    {}
+          VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes,
+      uint32_t maxMultiviewViewCount_ = {},
+      uint32_t maxMultiviewInstanceIndex_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault_ = {},
+      uint32_t maxPerSetDescriptors_ = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : deviceUUID(deviceUUID_),
+        driverUUID(driverUUID_),
+        deviceLUID(deviceLUID_),
+        deviceNodeMask(deviceNodeMask_),
+        deviceLUIDValid(deviceLUIDValid_),
+        subgroupSize(subgroupSize_),
+        subgroupSupportedStages(subgroupSupportedStages_),
+        subgroupSupportedOperations(subgroupSupportedOperations_),
+        subgroupQuadOperationsInAllStages(subgroupQuadOperationsInAllStages_),
+        pointClippingBehavior(pointClippingBehavior_),
+        maxMultiviewViewCount(maxMultiviewViewCount_),
+        maxMultiviewInstanceIndex(maxMultiviewInstanceIndex_),
+        protectedNoFault(protectedNoFault_),
+        maxPerSetDescriptors(maxPerSetDescriptors_),
+        maxMemoryAllocationSize(maxMemoryAllocationSize_) {}
 
-    PhysicalDeviceVulkan11Properties( VkPhysicalDeviceVulkan11Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14
+  PhysicalDeviceVulkan11Properties(PhysicalDeviceVulkan11Properties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVulkan11Properties & operator=( VkPhysicalDeviceVulkan11Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceVulkan11Properties(
+      VkPhysicalDeviceVulkan11Properties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceVulkan11Properties(
+            *reinterpret_cast<PhysicalDeviceVulkan11Properties const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceVulkan11Properties & operator=( PhysicalDeviceVulkan11Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                             = rhs.pNext;
-      deviceUUID                        = rhs.deviceUUID;
-      driverUUID                        = rhs.driverUUID;
-      deviceLUID                        = rhs.deviceLUID;
-      deviceNodeMask                    = rhs.deviceNodeMask;
-      deviceLUIDValid                   = rhs.deviceLUIDValid;
-      subgroupSize                      = rhs.subgroupSize;
-      subgroupSupportedStages           = rhs.subgroupSupportedStages;
-      subgroupSupportedOperations       = rhs.subgroupSupportedOperations;
-      subgroupQuadOperationsInAllStages = rhs.subgroupQuadOperationsInAllStages;
-      pointClippingBehavior             = rhs.pointClippingBehavior;
-      maxMultiviewViewCount             = rhs.maxMultiviewViewCount;
-      maxMultiviewInstanceIndex         = rhs.maxMultiviewInstanceIndex;
-      protectedNoFault                  = rhs.protectedNoFault;
-      maxPerSetDescriptors              = rhs.maxPerSetDescriptors;
-      maxMemoryAllocationSize           = rhs.maxMemoryAllocationSize;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Properties &
+  operator=(PhysicalDeviceVulkan11Properties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceVulkan11Properties &
+  operator=(VkPhysicalDeviceVulkan11Properties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVulkan11Properties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVulkan11Properties *>( this );
-    }
+  operator VkPhysicalDeviceVulkan11Properties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceVulkan11Properties *>(this);
+  }
 
-    operator VkPhysicalDeviceVulkan11Properties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVulkan11Properties *>( this );
-    }
+  operator VkPhysicalDeviceVulkan11Properties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceVulkan11Properties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVulkan11Properties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceVulkan11Properties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceVulkan11Properties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceUUID == rhs.deviceUUID ) &&
-             ( driverUUID == rhs.driverUUID ) && ( deviceLUID == rhs.deviceLUID ) &&
-             ( deviceNodeMask == rhs.deviceNodeMask ) && ( deviceLUIDValid == rhs.deviceLUIDValid ) &&
-             ( subgroupSize == rhs.subgroupSize ) && ( subgroupSupportedStages == rhs.subgroupSupportedStages ) &&
-             ( subgroupSupportedOperations == rhs.subgroupSupportedOperations ) &&
-             ( subgroupQuadOperationsInAllStages == rhs.subgroupQuadOperationsInAllStages ) &&
-             ( pointClippingBehavior == rhs.pointClippingBehavior ) &&
-             ( maxMultiviewViewCount == rhs.maxMultiviewViewCount ) &&
-             ( maxMultiviewInstanceIndex == rhs.maxMultiviewInstanceIndex ) &&
-             ( protectedNoFault == rhs.protectedNoFault ) && ( maxPerSetDescriptors == rhs.maxPerSetDescriptors ) &&
-             ( maxMemoryAllocationSize == rhs.maxMemoryAllocationSize );
-    }
+  bool operator==(PhysicalDeviceVulkan11Properties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (deviceUUID == rhs.deviceUUID) && (driverUUID == rhs.driverUUID) &&
+           (deviceLUID == rhs.deviceLUID) &&
+           (deviceNodeMask == rhs.deviceNodeMask) &&
+           (deviceLUIDValid == rhs.deviceLUIDValid) &&
+           (subgroupSize == rhs.subgroupSize) &&
+           (subgroupSupportedStages == rhs.subgroupSupportedStages) &&
+           (subgroupSupportedOperations == rhs.subgroupSupportedOperations) &&
+           (subgroupQuadOperationsInAllStages ==
+            rhs.subgroupQuadOperationsInAllStages) &&
+           (pointClippingBehavior == rhs.pointClippingBehavior) &&
+           (maxMultiviewViewCount == rhs.maxMultiviewViewCount) &&
+           (maxMultiviewInstanceIndex == rhs.maxMultiviewInstanceIndex) &&
+           (protectedNoFault == rhs.protectedNoFault) &&
+           (maxPerSetDescriptors == rhs.maxPerSetDescriptors) &&
+           (maxMemoryAllocationSize == rhs.maxMemoryAllocationSize);
+  }
 
-    bool operator!=( PhysicalDeviceVulkan11Properties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVulkan11Properties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkan11Properties;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> deviceUUID                        = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> driverUUID                        = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_LUID_SIZE> deviceLUID                        = {};
-    uint32_t                                                    deviceNodeMask                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                deviceLUIDValid                   = {};
-    uint32_t                                                    subgroupSize                      = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags                      subgroupSupportedStages           = {};
-    VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags                  subgroupSupportedOperations       = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                subgroupQuadOperationsInAllStages = {};
-    VULKAN_HPP_NAMESPACE::PointClippingBehavior                 pointClippingBehavior =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVulkan11Properties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> deviceUUID = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> driverUUID = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_LUID_SIZE> deviceLUID = {};
+  uint32_t deviceNodeMask = {};
+  VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid = {};
+  uint32_t subgroupSize = {};
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags subgroupSupportedStages = {};
+  VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags subgroupSupportedOperations = {};
+  VULKAN_HPP_NAMESPACE::Bool32 subgroupQuadOperationsInAllStages = {};
+  VULKAN_HPP_NAMESPACE::PointClippingBehavior pointClippingBehavior =
       VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes;
-    uint32_t                         maxMultiviewViewCount     = {};
-    uint32_t                         maxMultiviewInstanceIndex = {};
-    VULKAN_HPP_NAMESPACE::Bool32     protectedNoFault          = {};
-    uint32_t                         maxPerSetDescriptors      = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize   = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVulkan11Properties ) == sizeof( VkPhysicalDeviceVulkan11Properties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVulkan11Properties>::value,
-                 "struct wrapper is not a standard layout!" );
+  uint32_t maxMultiviewViewCount = {};
+  uint32_t maxMultiviewInstanceIndex = {};
+  VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault = {};
+  uint32_t maxPerSetDescriptors = {};
+  VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize = {};
+};
+static_assert(sizeof(PhysicalDeviceVulkan11Properties) ==
+                  sizeof(VkPhysicalDeviceVulkan11Properties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceVulkan11Properties>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVulkan11Properties>
-  {
-    using Type = PhysicalDeviceVulkan11Properties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceVulkan11Properties> {
+  using Type = PhysicalDeviceVulkan11Properties;
+};
 
-  struct PhysicalDeviceVulkan12Features
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePhysicalDeviceVulkan12Features;
+struct PhysicalDeviceVulkan12Features {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceVulkan12Features;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan12Features(
-      VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge_                           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount_                                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_                            = {},
-      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_                               = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_                           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_                           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_                                      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_                                         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing_                                 = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_         = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_           = {},
-      VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_                             = {},
-      VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax_                                = {},
-      VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_                                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_                               = {},
-      VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_                        = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_                        = {},
-      VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_                        = {},
-      VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_                                     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_                                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_                                = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_                     = {},
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_                                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_                       = {},
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex_                          = {},
-      VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer_                                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId_                         = {} ) VULKAN_HPP_NOEXCEPT
-      : samplerMirrorClampToEdge( samplerMirrorClampToEdge_ )
-      , drawIndirectCount( drawIndirectCount_ )
-      , storageBuffer8BitAccess( storageBuffer8BitAccess_ )
-      , uniformAndStorageBuffer8BitAccess( uniformAndStorageBuffer8BitAccess_ )
-      , storagePushConstant8( storagePushConstant8_ )
-      , shaderBufferInt64Atomics( shaderBufferInt64Atomics_ )
-      , shaderSharedInt64Atomics( shaderSharedInt64Atomics_ )
-      , shaderFloat16( shaderFloat16_ )
-      , shaderInt8( shaderInt8_ )
-      , descriptorIndexing( descriptorIndexing_ )
-      , shaderInputAttachmentArrayDynamicIndexing( shaderInputAttachmentArrayDynamicIndexing_ )
-      , shaderUniformTexelBufferArrayDynamicIndexing( shaderUniformTexelBufferArrayDynamicIndexing_ )
-      , shaderStorageTexelBufferArrayDynamicIndexing( shaderStorageTexelBufferArrayDynamicIndexing_ )
-      , shaderUniformBufferArrayNonUniformIndexing( shaderUniformBufferArrayNonUniformIndexing_ )
-      , shaderSampledImageArrayNonUniformIndexing( shaderSampledImageArrayNonUniformIndexing_ )
-      , shaderStorageBufferArrayNonUniformIndexing( shaderStorageBufferArrayNonUniformIndexing_ )
-      , shaderStorageImageArrayNonUniformIndexing( shaderStorageImageArrayNonUniformIndexing_ )
-      , shaderInputAttachmentArrayNonUniformIndexing( shaderInputAttachmentArrayNonUniformIndexing_ )
-      , shaderUniformTexelBufferArrayNonUniformIndexing( shaderUniformTexelBufferArrayNonUniformIndexing_ )
-      , shaderStorageTexelBufferArrayNonUniformIndexing( shaderStorageTexelBufferArrayNonUniformIndexing_ )
-      , descriptorBindingUniformBufferUpdateAfterBind( descriptorBindingUniformBufferUpdateAfterBind_ )
-      , descriptorBindingSampledImageUpdateAfterBind( descriptorBindingSampledImageUpdateAfterBind_ )
-      , descriptorBindingStorageImageUpdateAfterBind( descriptorBindingStorageImageUpdateAfterBind_ )
-      , descriptorBindingStorageBufferUpdateAfterBind( descriptorBindingStorageBufferUpdateAfterBind_ )
-      , descriptorBindingUniformTexelBufferUpdateAfterBind( descriptorBindingUniformTexelBufferUpdateAfterBind_ )
-      , descriptorBindingStorageTexelBufferUpdateAfterBind( descriptorBindingStorageTexelBufferUpdateAfterBind_ )
-      , descriptorBindingUpdateUnusedWhilePending( descriptorBindingUpdateUnusedWhilePending_ )
-      , descriptorBindingPartiallyBound( descriptorBindingPartiallyBound_ )
-      , descriptorBindingVariableDescriptorCount( descriptorBindingVariableDescriptorCount_ )
-      , runtimeDescriptorArray( runtimeDescriptorArray_ )
-      , samplerFilterMinmax( samplerFilterMinmax_ )
-      , scalarBlockLayout( scalarBlockLayout_ )
-      , imagelessFramebuffer( imagelessFramebuffer_ )
-      , uniformBufferStandardLayout( uniformBufferStandardLayout_ )
-      , shaderSubgroupExtendedTypes( shaderSubgroupExtendedTypes_ )
-      , separateDepthStencilLayouts( separateDepthStencilLayouts_ )
-      , hostQueryReset( hostQueryReset_ )
-      , timelineSemaphore( timelineSemaphore_ )
-      , bufferDeviceAddress( bufferDeviceAddress_ )
-      , bufferDeviceAddressCaptureReplay( bufferDeviceAddressCaptureReplay_ )
-      , bufferDeviceAddressMultiDevice( bufferDeviceAddressMultiDevice_ )
-      , vulkanMemoryModel( vulkanMemoryModel_ )
-      , vulkanMemoryModelDeviceScope( vulkanMemoryModelDeviceScope_ )
-      , vulkanMemoryModelAvailabilityVisibilityChains( vulkanMemoryModelAvailabilityVisibilityChains_ )
-      , shaderOutputViewportIndex( shaderOutputViewportIndex_ )
-      , shaderOutputLayer( shaderOutputLayer_ )
-      , subgroupBroadcastDynamicId( subgroupBroadcastDynamicId_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan12Features(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayDynamicIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayDynamicIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderInputAttachmentArrayNonUniformIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayNonUniformIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayNonUniformIndexing_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingSampledImageUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageImageUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformTexelBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageTexelBufferUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          vulkanMemoryModelAvailabilityVisibilityChains_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : samplerMirrorClampToEdge(samplerMirrorClampToEdge_),
+        drawIndirectCount(drawIndirectCount_),
+        storageBuffer8BitAccess(storageBuffer8BitAccess_),
+        uniformAndStorageBuffer8BitAccess(uniformAndStorageBuffer8BitAccess_),
+        storagePushConstant8(storagePushConstant8_),
+        shaderBufferInt64Atomics(shaderBufferInt64Atomics_),
+        shaderSharedInt64Atomics(shaderSharedInt64Atomics_),
+        shaderFloat16(shaderFloat16_),
+        shaderInt8(shaderInt8_),
+        descriptorIndexing(descriptorIndexing_),
+        shaderInputAttachmentArrayDynamicIndexing(
+            shaderInputAttachmentArrayDynamicIndexing_),
+        shaderUniformTexelBufferArrayDynamicIndexing(
+            shaderUniformTexelBufferArrayDynamicIndexing_),
+        shaderStorageTexelBufferArrayDynamicIndexing(
+            shaderStorageTexelBufferArrayDynamicIndexing_),
+        shaderUniformBufferArrayNonUniformIndexing(
+            shaderUniformBufferArrayNonUniformIndexing_),
+        shaderSampledImageArrayNonUniformIndexing(
+            shaderSampledImageArrayNonUniformIndexing_),
+        shaderStorageBufferArrayNonUniformIndexing(
+            shaderStorageBufferArrayNonUniformIndexing_),
+        shaderStorageImageArrayNonUniformIndexing(
+            shaderStorageImageArrayNonUniformIndexing_),
+        shaderInputAttachmentArrayNonUniformIndexing(
+            shaderInputAttachmentArrayNonUniformIndexing_),
+        shaderUniformTexelBufferArrayNonUniformIndexing(
+            shaderUniformTexelBufferArrayNonUniformIndexing_),
+        shaderStorageTexelBufferArrayNonUniformIndexing(
+            shaderStorageTexelBufferArrayNonUniformIndexing_),
+        descriptorBindingUniformBufferUpdateAfterBind(
+            descriptorBindingUniformBufferUpdateAfterBind_),
+        descriptorBindingSampledImageUpdateAfterBind(
+            descriptorBindingSampledImageUpdateAfterBind_),
+        descriptorBindingStorageImageUpdateAfterBind(
+            descriptorBindingStorageImageUpdateAfterBind_),
+        descriptorBindingStorageBufferUpdateAfterBind(
+            descriptorBindingStorageBufferUpdateAfterBind_),
+        descriptorBindingUniformTexelBufferUpdateAfterBind(
+            descriptorBindingUniformTexelBufferUpdateAfterBind_),
+        descriptorBindingStorageTexelBufferUpdateAfterBind(
+            descriptorBindingStorageTexelBufferUpdateAfterBind_),
+        descriptorBindingUpdateUnusedWhilePending(
+            descriptorBindingUpdateUnusedWhilePending_),
+        descriptorBindingPartiallyBound(descriptorBindingPartiallyBound_),
+        descriptorBindingVariableDescriptorCount(
+            descriptorBindingVariableDescriptorCount_),
+        runtimeDescriptorArray(runtimeDescriptorArray_),
+        samplerFilterMinmax(samplerFilterMinmax_),
+        scalarBlockLayout(scalarBlockLayout_),
+        imagelessFramebuffer(imagelessFramebuffer_),
+        uniformBufferStandardLayout(uniformBufferStandardLayout_),
+        shaderSubgroupExtendedTypes(shaderSubgroupExtendedTypes_),
+        separateDepthStencilLayouts(separateDepthStencilLayouts_),
+        hostQueryReset(hostQueryReset_),
+        timelineSemaphore(timelineSemaphore_),
+        bufferDeviceAddress(bufferDeviceAddress_),
+        bufferDeviceAddressCaptureReplay(bufferDeviceAddressCaptureReplay_),
+        bufferDeviceAddressMultiDevice(bufferDeviceAddressMultiDevice_),
+        vulkanMemoryModel(vulkanMemoryModel_),
+        vulkanMemoryModelDeviceScope(vulkanMemoryModelDeviceScope_),
+        vulkanMemoryModelAvailabilityVisibilityChains(
+            vulkanMemoryModelAvailabilityVisibilityChains_),
+        shaderOutputViewportIndex(shaderOutputViewportIndex_),
+        shaderOutputLayer(shaderOutputLayer_),
+        subgroupBroadcastDynamicId(subgroupBroadcastDynamicId_) {}
 
-    PhysicalDeviceVulkan12Features( VkPhysicalDeviceVulkan12Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan12Features(
+      PhysicalDeviceVulkan12Features const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVulkan12Features & operator=( VkPhysicalDeviceVulkan12Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features(VkPhysicalDeviceVulkan12Features const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceVulkan12Features(
+            *reinterpret_cast<PhysicalDeviceVulkan12Features const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceVulkan12Features & operator=( PhysicalDeviceVulkan12Features const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                              = rhs.pNext;
-      samplerMirrorClampToEdge                           = rhs.samplerMirrorClampToEdge;
-      drawIndirectCount                                  = rhs.drawIndirectCount;
-      storageBuffer8BitAccess                            = rhs.storageBuffer8BitAccess;
-      uniformAndStorageBuffer8BitAccess                  = rhs.uniformAndStorageBuffer8BitAccess;
-      storagePushConstant8                               = rhs.storagePushConstant8;
-      shaderBufferInt64Atomics                           = rhs.shaderBufferInt64Atomics;
-      shaderSharedInt64Atomics                           = rhs.shaderSharedInt64Atomics;
-      shaderFloat16                                      = rhs.shaderFloat16;
-      shaderInt8                                         = rhs.shaderInt8;
-      descriptorIndexing                                 = rhs.descriptorIndexing;
-      shaderInputAttachmentArrayDynamicIndexing          = rhs.shaderInputAttachmentArrayDynamicIndexing;
-      shaderUniformTexelBufferArrayDynamicIndexing       = rhs.shaderUniformTexelBufferArrayDynamicIndexing;
-      shaderStorageTexelBufferArrayDynamicIndexing       = rhs.shaderStorageTexelBufferArrayDynamicIndexing;
-      shaderUniformBufferArrayNonUniformIndexing         = rhs.shaderUniformBufferArrayNonUniformIndexing;
-      shaderSampledImageArrayNonUniformIndexing          = rhs.shaderSampledImageArrayNonUniformIndexing;
-      shaderStorageBufferArrayNonUniformIndexing         = rhs.shaderStorageBufferArrayNonUniformIndexing;
-      shaderStorageImageArrayNonUniformIndexing          = rhs.shaderStorageImageArrayNonUniformIndexing;
-      shaderInputAttachmentArrayNonUniformIndexing       = rhs.shaderInputAttachmentArrayNonUniformIndexing;
-      shaderUniformTexelBufferArrayNonUniformIndexing    = rhs.shaderUniformTexelBufferArrayNonUniformIndexing;
-      shaderStorageTexelBufferArrayNonUniformIndexing    = rhs.shaderStorageTexelBufferArrayNonUniformIndexing;
-      descriptorBindingUniformBufferUpdateAfterBind      = rhs.descriptorBindingUniformBufferUpdateAfterBind;
-      descriptorBindingSampledImageUpdateAfterBind       = rhs.descriptorBindingSampledImageUpdateAfterBind;
-      descriptorBindingStorageImageUpdateAfterBind       = rhs.descriptorBindingStorageImageUpdateAfterBind;
-      descriptorBindingStorageBufferUpdateAfterBind      = rhs.descriptorBindingStorageBufferUpdateAfterBind;
-      descriptorBindingUniformTexelBufferUpdateAfterBind = rhs.descriptorBindingUniformTexelBufferUpdateAfterBind;
-      descriptorBindingStorageTexelBufferUpdateAfterBind = rhs.descriptorBindingStorageTexelBufferUpdateAfterBind;
-      descriptorBindingUpdateUnusedWhilePending          = rhs.descriptorBindingUpdateUnusedWhilePending;
-      descriptorBindingPartiallyBound                    = rhs.descriptorBindingPartiallyBound;
-      descriptorBindingVariableDescriptorCount           = rhs.descriptorBindingVariableDescriptorCount;
-      runtimeDescriptorArray                             = rhs.runtimeDescriptorArray;
-      samplerFilterMinmax                                = rhs.samplerFilterMinmax;
-      scalarBlockLayout                                  = rhs.scalarBlockLayout;
-      imagelessFramebuffer                               = rhs.imagelessFramebuffer;
-      uniformBufferStandardLayout                        = rhs.uniformBufferStandardLayout;
-      shaderSubgroupExtendedTypes                        = rhs.shaderSubgroupExtendedTypes;
-      separateDepthStencilLayouts                        = rhs.separateDepthStencilLayouts;
-      hostQueryReset                                     = rhs.hostQueryReset;
-      timelineSemaphore                                  = rhs.timelineSemaphore;
-      bufferDeviceAddress                                = rhs.bufferDeviceAddress;
-      bufferDeviceAddressCaptureReplay                   = rhs.bufferDeviceAddressCaptureReplay;
-      bufferDeviceAddressMultiDevice                     = rhs.bufferDeviceAddressMultiDevice;
-      vulkanMemoryModel                                  = rhs.vulkanMemoryModel;
-      vulkanMemoryModelDeviceScope                       = rhs.vulkanMemoryModelDeviceScope;
-      vulkanMemoryModelAvailabilityVisibilityChains      = rhs.vulkanMemoryModelAvailabilityVisibilityChains;
-      shaderOutputViewportIndex                          = rhs.shaderOutputViewportIndex;
-      shaderOutputLayer                                  = rhs.shaderOutputLayer;
-      subgroupBroadcastDynamicId                         = rhs.subgroupBroadcastDynamicId;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features &operator=(
+      PhysicalDeviceVulkan12Features const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  operator=(VkPhysicalDeviceVulkan12Features const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features const *>(&rhs);
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setSamplerMirrorClampToEdge( VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samplerMirrorClampToEdge = samplerMirrorClampToEdge_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setSamplerMirrorClampToEdge(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge_)
+      VULKAN_HPP_NOEXCEPT {
+    samplerMirrorClampToEdge = samplerMirrorClampToEdge_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setDrawIndirectCount( VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      drawIndirectCount = drawIndirectCount_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setDrawIndirectCount(
+      VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount_) VULKAN_HPP_NOEXCEPT {
+    drawIndirectCount = drawIndirectCount_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setStorageBuffer8BitAccess( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storageBuffer8BitAccess = storageBuffer8BitAccess_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setStorageBuffer8BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    storageBuffer8BitAccess = storageBuffer8BitAccess_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setUniformAndStorageBuffer8BitAccess(
-      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setUniformAndStorageBuffer8BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setStoragePushConstant8( VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_ ) VULKAN_HPP_NOEXCEPT
-    {
-      storagePushConstant8 = storagePushConstant8_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setStoragePushConstant8(
+      VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_) VULKAN_HPP_NOEXCEPT {
+    storagePushConstant8 = storagePushConstant8_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setShaderBufferInt64Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderBufferInt64Atomics = shaderBufferInt64Atomics_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderBufferInt64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderBufferInt64Atomics = shaderBufferInt64Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setShaderSharedInt64Atomics( VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSharedInt64Atomics = shaderSharedInt64Atomics_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderSharedInt64Atomics(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSharedInt64Atomics = shaderSharedInt64Atomics_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderFloat16( VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderFloat16 = shaderFloat16_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderFloat16(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_) VULKAN_HPP_NOEXCEPT {
+    shaderFloat16 = shaderFloat16_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderInt8( VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInt8 = shaderInt8_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setShaderInt8(VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_) VULKAN_HPP_NOEXCEPT {
+    shaderInt8 = shaderInt8_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setDescriptorIndexing( VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorIndexing = descriptorIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setDescriptorIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing_) VULKAN_HPP_NOEXCEPT {
+    descriptorIndexing = descriptorIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderInputAttachmentArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderInputAttachmentArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderInputAttachmentArrayDynamicIndexing =
+        shaderInputAttachmentArrayDynamicIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderUniformTexelBufferArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setShaderUniformTexelBufferArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT {
+    shaderUniformTexelBufferArrayDynamicIndexing =
+        shaderUniformTexelBufferArrayDynamicIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderStorageTexelBufferArrayDynamicIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setShaderStorageTexelBufferArrayDynamicIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT {
+    shaderStorageTexelBufferArrayDynamicIndexing =
+        shaderStorageTexelBufferArrayDynamicIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderUniformBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderUniformBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderUniformBufferArrayNonUniformIndexing =
+        shaderUniformBufferArrayNonUniformIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderSampledImageArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderSampledImageArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSampledImageArrayNonUniformIndexing =
+        shaderSampledImageArrayNonUniformIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderStorageBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderStorageBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageBufferArrayNonUniformIndexing =
+        shaderStorageBufferArrayNonUniformIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderStorageImageArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderStorageImageArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageImageArrayNonUniformIndexing =
+        shaderStorageImageArrayNonUniformIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderInputAttachmentArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setShaderInputAttachmentArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderInputAttachmentArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT {
+    shaderInputAttachmentArrayNonUniformIndexing =
+        shaderInputAttachmentArrayNonUniformIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderUniformTexelBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setShaderUniformTexelBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformTexelBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderUniformTexelBufferArrayNonUniformIndexing =
+        shaderUniformTexelBufferArrayNonUniformIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setShaderStorageTexelBufferArrayNonUniformIndexing(
-      VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setShaderStorageTexelBufferArrayNonUniformIndexing(
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageTexelBufferArrayNonUniformIndexing_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderStorageTexelBufferArrayNonUniformIndexing =
+        shaderStorageTexelBufferArrayNonUniformIndexing_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingUniformBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setDescriptorBindingUniformBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingUniformBufferUpdateAfterBind =
+        descriptorBindingUniformBufferUpdateAfterBind_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingSampledImageUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setDescriptorBindingSampledImageUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingSampledImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingSampledImageUpdateAfterBind =
+        descriptorBindingSampledImageUpdateAfterBind_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingStorageImageUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setDescriptorBindingStorageImageUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingStorageImageUpdateAfterBind =
+        descriptorBindingStorageImageUpdateAfterBind_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingStorageBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setDescriptorBindingStorageBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT {
+    descriptorBindingStorageBufferUpdateAfterBind =
+        descriptorBindingStorageBufferUpdateAfterBind_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingUniformTexelBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setDescriptorBindingUniformTexelBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingUniformTexelBufferUpdateAfterBind_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingUniformTexelBufferUpdateAfterBind =
+        descriptorBindingUniformTexelBufferUpdateAfterBind_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingStorageTexelBufferUpdateAfterBind(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setDescriptorBindingStorageTexelBufferUpdateAfterBind(
+      VULKAN_HPP_NAMESPACE::Bool32
+          descriptorBindingStorageTexelBufferUpdateAfterBind_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingStorageTexelBufferUpdateAfterBind =
+        descriptorBindingStorageTexelBufferUpdateAfterBind_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingUpdateUnusedWhilePending(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setDescriptorBindingUpdateUnusedWhilePending(
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingUpdateUnusedWhilePending =
+        descriptorBindingUpdateUnusedWhilePending_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingPartiallyBound(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingPartiallyBound = descriptorBindingPartiallyBound_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setDescriptorBindingPartiallyBound(
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingPartiallyBound = descriptorBindingPartiallyBound_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setDescriptorBindingVariableDescriptorCount(
-      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setDescriptorBindingVariableDescriptorCount(
+      VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_)
+      VULKAN_HPP_NOEXCEPT {
+    descriptorBindingVariableDescriptorCount =
+        descriptorBindingVariableDescriptorCount_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setRuntimeDescriptorArray( VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_ ) VULKAN_HPP_NOEXCEPT
-    {
-      runtimeDescriptorArray = runtimeDescriptorArray_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setRuntimeDescriptorArray(
+      VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_)
+      VULKAN_HPP_NOEXCEPT {
+    runtimeDescriptorArray = runtimeDescriptorArray_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setSamplerFilterMinmax( VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax_ ) VULKAN_HPP_NOEXCEPT
-    {
-      samplerFilterMinmax = samplerFilterMinmax_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setSamplerFilterMinmax(
+      VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax_) VULKAN_HPP_NOEXCEPT {
+    samplerFilterMinmax = samplerFilterMinmax_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setScalarBlockLayout( VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      scalarBlockLayout = scalarBlockLayout_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setScalarBlockLayout(
+      VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_) VULKAN_HPP_NOEXCEPT {
+    scalarBlockLayout = scalarBlockLayout_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setImagelessFramebuffer( VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imagelessFramebuffer = imagelessFramebuffer_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setImagelessFramebuffer(
+      VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_) VULKAN_HPP_NOEXCEPT {
+    imagelessFramebuffer = imagelessFramebuffer_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setUniformBufferStandardLayout( VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      uniformBufferStandardLayout = uniformBufferStandardLayout_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setUniformBufferStandardLayout(
+      VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    uniformBufferStandardLayout = uniformBufferStandardLayout_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setShaderSubgroupExtendedTypes( VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderSubgroupExtendedTypes(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setSeparateDepthStencilLayouts( VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      separateDepthStencilLayouts = separateDepthStencilLayouts_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setSeparateDepthStencilLayouts(
+      VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_)
+      VULKAN_HPP_NOEXCEPT {
+    separateDepthStencilLayouts = separateDepthStencilLayouts_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setHostQueryReset( VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      hostQueryReset = hostQueryReset_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setHostQueryReset(
+      VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_) VULKAN_HPP_NOEXCEPT {
+    hostQueryReset = hostQueryReset_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setTimelineSemaphore( VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      timelineSemaphore = timelineSemaphore_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setTimelineSemaphore(
+      VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_) VULKAN_HPP_NOEXCEPT {
+    timelineSemaphore = timelineSemaphore_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setBufferDeviceAddress( VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddress = bufferDeviceAddress_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setBufferDeviceAddress(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_) VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddress = bufferDeviceAddress_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setBufferDeviceAddressCaptureReplay(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setBufferDeviceAddressCaptureReplay(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_)
+      VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setBufferDeviceAddressMultiDevice(
-      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ ) VULKAN_HPP_NOEXCEPT
-    {
-      bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setBufferDeviceAddressMultiDevice(
+      VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_)
+      VULKAN_HPP_NOEXCEPT {
+    bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setVulkanMemoryModel( VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vulkanMemoryModel = vulkanMemoryModel_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setVulkanMemoryModel(
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_) VULKAN_HPP_NOEXCEPT {
+    vulkanMemoryModel = vulkanMemoryModel_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setVulkanMemoryModelDeviceScope( VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setVulkanMemoryModelDeviceScope(
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_)
+      VULKAN_HPP_NOEXCEPT {
+    vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features & setVulkanMemoryModelAvailabilityVisibilityChains(
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &
+  setVulkanMemoryModelAvailabilityVisibilityChains(
+      VULKAN_HPP_NAMESPACE::Bool32
+          vulkanMemoryModelAvailabilityVisibilityChains_) VULKAN_HPP_NOEXCEPT {
+    vulkanMemoryModelAvailabilityVisibilityChains =
+        vulkanMemoryModelAvailabilityVisibilityChains_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setShaderOutputViewportIndex( VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderOutputViewportIndex = shaderOutputViewportIndex_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderOutputViewportIndex(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderOutputViewportIndex = shaderOutputViewportIndex_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setShaderOutputLayer( VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shaderOutputLayer = shaderOutputLayer_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setShaderOutputLayer(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer_) VULKAN_HPP_NOEXCEPT {
+    shaderOutputLayer = shaderOutputLayer_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkan12Features &
-      setSubgroupBroadcastDynamicId( VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subgroupBroadcastDynamicId = subgroupBroadcastDynamicId_;
-      return *this;
-    }
+  PhysicalDeviceVulkan12Features &setSubgroupBroadcastDynamicId(
+      VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId_)
+      VULKAN_HPP_NOEXCEPT {
+    subgroupBroadcastDynamicId = subgroupBroadcastDynamicId_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVulkan12Features const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVulkan12Features *>( this );
-    }
+  operator VkPhysicalDeviceVulkan12Features const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceVulkan12Features *>(this);
+  }
 
-    operator VkPhysicalDeviceVulkan12Features &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVulkan12Features *>( this );
-    }
+  operator VkPhysicalDeviceVulkan12Features &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceVulkan12Features *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVulkan12Features const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceVulkan12Features const &) const = default;
 #else
-    bool operator==( PhysicalDeviceVulkan12Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( samplerMirrorClampToEdge == rhs.samplerMirrorClampToEdge ) &&
-             ( drawIndirectCount == rhs.drawIndirectCount ) &&
-             ( storageBuffer8BitAccess == rhs.storageBuffer8BitAccess ) &&
-             ( uniformAndStorageBuffer8BitAccess == rhs.uniformAndStorageBuffer8BitAccess ) &&
-             ( storagePushConstant8 == rhs.storagePushConstant8 ) &&
-             ( shaderBufferInt64Atomics == rhs.shaderBufferInt64Atomics ) &&
-             ( shaderSharedInt64Atomics == rhs.shaderSharedInt64Atomics ) && ( shaderFloat16 == rhs.shaderFloat16 ) &&
-             ( shaderInt8 == rhs.shaderInt8 ) && ( descriptorIndexing == rhs.descriptorIndexing ) &&
-             ( shaderInputAttachmentArrayDynamicIndexing == rhs.shaderInputAttachmentArrayDynamicIndexing ) &&
-             ( shaderUniformTexelBufferArrayDynamicIndexing == rhs.shaderUniformTexelBufferArrayDynamicIndexing ) &&
-             ( shaderStorageTexelBufferArrayDynamicIndexing == rhs.shaderStorageTexelBufferArrayDynamicIndexing ) &&
-             ( shaderUniformBufferArrayNonUniformIndexing == rhs.shaderUniformBufferArrayNonUniformIndexing ) &&
-             ( shaderSampledImageArrayNonUniformIndexing == rhs.shaderSampledImageArrayNonUniformIndexing ) &&
-             ( shaderStorageBufferArrayNonUniformIndexing == rhs.shaderStorageBufferArrayNonUniformIndexing ) &&
-             ( shaderStorageImageArrayNonUniformIndexing == rhs.shaderStorageImageArrayNonUniformIndexing ) &&
-             ( shaderInputAttachmentArrayNonUniformIndexing == rhs.shaderInputAttachmentArrayNonUniformIndexing ) &&
-             ( shaderUniformTexelBufferArrayNonUniformIndexing ==
-               rhs.shaderUniformTexelBufferArrayNonUniformIndexing ) &&
-             ( shaderStorageTexelBufferArrayNonUniformIndexing ==
-               rhs.shaderStorageTexelBufferArrayNonUniformIndexing ) &&
-             ( descriptorBindingUniformBufferUpdateAfterBind == rhs.descriptorBindingUniformBufferUpdateAfterBind ) &&
-             ( descriptorBindingSampledImageUpdateAfterBind == rhs.descriptorBindingSampledImageUpdateAfterBind ) &&
-             ( descriptorBindingStorageImageUpdateAfterBind == rhs.descriptorBindingStorageImageUpdateAfterBind ) &&
-             ( descriptorBindingStorageBufferUpdateAfterBind == rhs.descriptorBindingStorageBufferUpdateAfterBind ) &&
-             ( descriptorBindingUniformTexelBufferUpdateAfterBind ==
-               rhs.descriptorBindingUniformTexelBufferUpdateAfterBind ) &&
-             ( descriptorBindingStorageTexelBufferUpdateAfterBind ==
-               rhs.descriptorBindingStorageTexelBufferUpdateAfterBind ) &&
-             ( descriptorBindingUpdateUnusedWhilePending == rhs.descriptorBindingUpdateUnusedWhilePending ) &&
-             ( descriptorBindingPartiallyBound == rhs.descriptorBindingPartiallyBound ) &&
-             ( descriptorBindingVariableDescriptorCount == rhs.descriptorBindingVariableDescriptorCount ) &&
-             ( runtimeDescriptorArray == rhs.runtimeDescriptorArray ) &&
-             ( samplerFilterMinmax == rhs.samplerFilterMinmax ) && ( scalarBlockLayout == rhs.scalarBlockLayout ) &&
-             ( imagelessFramebuffer == rhs.imagelessFramebuffer ) &&
-             ( uniformBufferStandardLayout == rhs.uniformBufferStandardLayout ) &&
-             ( shaderSubgroupExtendedTypes == rhs.shaderSubgroupExtendedTypes ) &&
-             ( separateDepthStencilLayouts == rhs.separateDepthStencilLayouts ) &&
-             ( hostQueryReset == rhs.hostQueryReset ) && ( timelineSemaphore == rhs.timelineSemaphore ) &&
-             ( bufferDeviceAddress == rhs.bufferDeviceAddress ) &&
-             ( bufferDeviceAddressCaptureReplay == rhs.bufferDeviceAddressCaptureReplay ) &&
-             ( bufferDeviceAddressMultiDevice == rhs.bufferDeviceAddressMultiDevice ) &&
-             ( vulkanMemoryModel == rhs.vulkanMemoryModel ) &&
-             ( vulkanMemoryModelDeviceScope == rhs.vulkanMemoryModelDeviceScope ) &&
-             ( vulkanMemoryModelAvailabilityVisibilityChains == rhs.vulkanMemoryModelAvailabilityVisibilityChains ) &&
-             ( shaderOutputViewportIndex == rhs.shaderOutputViewportIndex ) &&
-             ( shaderOutputLayer == rhs.shaderOutputLayer ) &&
-             ( subgroupBroadcastDynamicId == rhs.subgroupBroadcastDynamicId );
-    }
+  bool operator==(PhysicalDeviceVulkan12Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (samplerMirrorClampToEdge == rhs.samplerMirrorClampToEdge) &&
+           (drawIndirectCount == rhs.drawIndirectCount) &&
+           (storageBuffer8BitAccess == rhs.storageBuffer8BitAccess) &&
+           (uniformAndStorageBuffer8BitAccess ==
+            rhs.uniformAndStorageBuffer8BitAccess) &&
+           (storagePushConstant8 == rhs.storagePushConstant8) &&
+           (shaderBufferInt64Atomics == rhs.shaderBufferInt64Atomics) &&
+           (shaderSharedInt64Atomics == rhs.shaderSharedInt64Atomics) &&
+           (shaderFloat16 == rhs.shaderFloat16) &&
+           (shaderInt8 == rhs.shaderInt8) &&
+           (descriptorIndexing == rhs.descriptorIndexing) &&
+           (shaderInputAttachmentArrayDynamicIndexing ==
+            rhs.shaderInputAttachmentArrayDynamicIndexing) &&
+           (shaderUniformTexelBufferArrayDynamicIndexing ==
+            rhs.shaderUniformTexelBufferArrayDynamicIndexing) &&
+           (shaderStorageTexelBufferArrayDynamicIndexing ==
+            rhs.shaderStorageTexelBufferArrayDynamicIndexing) &&
+           (shaderUniformBufferArrayNonUniformIndexing ==
+            rhs.shaderUniformBufferArrayNonUniformIndexing) &&
+           (shaderSampledImageArrayNonUniformIndexing ==
+            rhs.shaderSampledImageArrayNonUniformIndexing) &&
+           (shaderStorageBufferArrayNonUniformIndexing ==
+            rhs.shaderStorageBufferArrayNonUniformIndexing) &&
+           (shaderStorageImageArrayNonUniformIndexing ==
+            rhs.shaderStorageImageArrayNonUniformIndexing) &&
+           (shaderInputAttachmentArrayNonUniformIndexing ==
+            rhs.shaderInputAttachmentArrayNonUniformIndexing) &&
+           (shaderUniformTexelBufferArrayNonUniformIndexing ==
+            rhs.shaderUniformTexelBufferArrayNonUniformIndexing) &&
+           (shaderStorageTexelBufferArrayNonUniformIndexing ==
+            rhs.shaderStorageTexelBufferArrayNonUniformIndexing) &&
+           (descriptorBindingUniformBufferUpdateAfterBind ==
+            rhs.descriptorBindingUniformBufferUpdateAfterBind) &&
+           (descriptorBindingSampledImageUpdateAfterBind ==
+            rhs.descriptorBindingSampledImageUpdateAfterBind) &&
+           (descriptorBindingStorageImageUpdateAfterBind ==
+            rhs.descriptorBindingStorageImageUpdateAfterBind) &&
+           (descriptorBindingStorageBufferUpdateAfterBind ==
+            rhs.descriptorBindingStorageBufferUpdateAfterBind) &&
+           (descriptorBindingUniformTexelBufferUpdateAfterBind ==
+            rhs.descriptorBindingUniformTexelBufferUpdateAfterBind) &&
+           (descriptorBindingStorageTexelBufferUpdateAfterBind ==
+            rhs.descriptorBindingStorageTexelBufferUpdateAfterBind) &&
+           (descriptorBindingUpdateUnusedWhilePending ==
+            rhs.descriptorBindingUpdateUnusedWhilePending) &&
+           (descriptorBindingPartiallyBound ==
+            rhs.descriptorBindingPartiallyBound) &&
+           (descriptorBindingVariableDescriptorCount ==
+            rhs.descriptorBindingVariableDescriptorCount) &&
+           (runtimeDescriptorArray == rhs.runtimeDescriptorArray) &&
+           (samplerFilterMinmax == rhs.samplerFilterMinmax) &&
+           (scalarBlockLayout == rhs.scalarBlockLayout) &&
+           (imagelessFramebuffer == rhs.imagelessFramebuffer) &&
+           (uniformBufferStandardLayout == rhs.uniformBufferStandardLayout) &&
+           (shaderSubgroupExtendedTypes == rhs.shaderSubgroupExtendedTypes) &&
+           (separateDepthStencilLayouts == rhs.separateDepthStencilLayouts) &&
+           (hostQueryReset == rhs.hostQueryReset) &&
+           (timelineSemaphore == rhs.timelineSemaphore) &&
+           (bufferDeviceAddress == rhs.bufferDeviceAddress) &&
+           (bufferDeviceAddressCaptureReplay ==
+            rhs.bufferDeviceAddressCaptureReplay) &&
+           (bufferDeviceAddressMultiDevice ==
+            rhs.bufferDeviceAddressMultiDevice) &&
+           (vulkanMemoryModel == rhs.vulkanMemoryModel) &&
+           (vulkanMemoryModelDeviceScope == rhs.vulkanMemoryModelDeviceScope) &&
+           (vulkanMemoryModelAvailabilityVisibilityChains ==
+            rhs.vulkanMemoryModelAvailabilityVisibilityChains) &&
+           (shaderOutputViewportIndex == rhs.shaderOutputViewportIndex) &&
+           (shaderOutputLayer == rhs.shaderOutputLayer) &&
+           (subgroupBroadcastDynamicId == rhs.subgroupBroadcastDynamicId);
+  }
 
-    bool operator!=( PhysicalDeviceVulkan12Features const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVulkan12Features const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                    = StructureType::ePhysicalDeviceVulkan12Features;
-    void *                                    pNext                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              samplerMirrorClampToEdge = {};
-    VULKAN_HPP_NAMESPACE::Bool32              drawIndirectCount        = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storageBuffer8BitAccess  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              uniformAndStorageBuffer8BitAccess                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              storagePushConstant8                               = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderBufferInt64Atomics                           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSharedInt64Atomics                           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderFloat16                                      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderInt8                                         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorIndexing                                 = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderInputAttachmentArrayDynamicIndexing          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderUniformTexelBufferArrayDynamicIndexing       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageTexelBufferArrayDynamicIndexing       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderUniformBufferArrayNonUniformIndexing         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSampledImageArrayNonUniformIndexing          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageBufferArrayNonUniformIndexing         = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageImageArrayNonUniformIndexing          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderInputAttachmentArrayNonUniformIndexing       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderUniformTexelBufferArrayNonUniformIndexing    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderStorageTexelBufferArrayNonUniformIndexing    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingUniformBufferUpdateAfterBind      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingSampledImageUpdateAfterBind       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingStorageImageUpdateAfterBind       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingStorageBufferUpdateAfterBind      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingUniformTexelBufferUpdateAfterBind = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingStorageTexelBufferUpdateAfterBind = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingUpdateUnusedWhilePending          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingPartiallyBound                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              descriptorBindingVariableDescriptorCount           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              runtimeDescriptorArray                             = {};
-    VULKAN_HPP_NAMESPACE::Bool32              samplerFilterMinmax                                = {};
-    VULKAN_HPP_NAMESPACE::Bool32              scalarBlockLayout                                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              imagelessFramebuffer                               = {};
-    VULKAN_HPP_NAMESPACE::Bool32              uniformBufferStandardLayout                        = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderSubgroupExtendedTypes                        = {};
-    VULKAN_HPP_NAMESPACE::Bool32              separateDepthStencilLayouts                        = {};
-    VULKAN_HPP_NAMESPACE::Bool32              hostQueryReset                                     = {};
-    VULKAN_HPP_NAMESPACE::Bool32              timelineSemaphore                                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddress                                = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddressCaptureReplay                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32              bufferDeviceAddressMultiDevice                     = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vulkanMemoryModel                                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vulkanMemoryModelDeviceScope                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vulkanMemoryModelAvailabilityVisibilityChains      = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderOutputViewportIndex                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shaderOutputLayer                                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              subgroupBroadcastDynamicId                         = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVulkan12Features ) == sizeof( VkPhysicalDeviceVulkan12Features ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVulkan12Features>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVulkan12Features;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge = {};
+  VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInt8 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      descriptorBindingUniformTexelBufferUpdateAfterBind = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      descriptorBindingStorageTexelBufferUpdateAfterBind = {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending = {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound = {};
+  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount = {};
+  VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray = {};
+  VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax = {};
+  VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout = {};
+  VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer = {};
+  VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes = {};
+  VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts = {};
+  VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset = {};
+  VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay = {};
+  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer = {};
+  VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId = {};
+};
+static_assert(sizeof(PhysicalDeviceVulkan12Features) ==
+                  sizeof(VkPhysicalDeviceVulkan12Features),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceVulkan12Features>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVulkan12Features>
-  {
-    using Type = PhysicalDeviceVulkan12Features;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePhysicalDeviceVulkan12Features> {
+  using Type = PhysicalDeviceVulkan12Features;
+};
 
-  struct PhysicalDeviceVulkan12Properties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan12Properties;
+struct PhysicalDeviceVulkan12Properties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceVulkan12Properties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Properties(
-      VULKAN_HPP_NAMESPACE::DriverId                        driverID_ = VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary,
-      std::array<char, VK_MAX_DRIVER_NAME_SIZE> const &     driverName_         = {},
-      std::array<char, VK_MAX_DRIVER_INFO_SIZE> const &     driverInfo_         = {},
-      VULKAN_HPP_NAMESPACE::ConformanceVersion              conformanceVersion_ = {},
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence denormBehaviorIndependence_ =
-        VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence roundingModeIndependence_ =
-        VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
-      VULKAN_HPP_NAMESPACE::Bool32           shaderSignedZeroInfNanPreserveFloat16_                = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderSignedZeroInfNanPreserveFloat32_                = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderSignedZeroInfNanPreserveFloat64_                = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderDenormPreserveFloat16_                          = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderDenormPreserveFloat32_                          = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderDenormPreserveFloat64_                          = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderDenormFlushToZeroFloat16_                       = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderDenormFlushToZeroFloat32_                       = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderDenormFlushToZeroFloat64_                       = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTEFloat16_                         = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTEFloat32_                         = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTEFloat64_                         = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTZFloat16_                         = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTZFloat32_                         = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTZFloat64_                         = {},
-      uint32_t                               maxUpdateAfterBindDescriptorsInAllPools_              = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderUniformBufferArrayNonUniformIndexingNative_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderSampledImageArrayNonUniformIndexingNative_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderStorageBufferArrayNonUniformIndexingNative_     = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderStorageImageArrayNonUniformIndexingNative_      = {},
-      VULKAN_HPP_NAMESPACE::Bool32           shaderInputAttachmentArrayNonUniformIndexingNative_   = {},
-      VULKAN_HPP_NAMESPACE::Bool32           robustBufferAccessUpdateAfterBind_                    = {},
-      VULKAN_HPP_NAMESPACE::Bool32           quadDivergentImplicitLod_                             = {},
-      uint32_t                               maxPerStageDescriptorUpdateAfterBindSamplers_         = {},
-      uint32_t                               maxPerStageDescriptorUpdateAfterBindUniformBuffers_   = {},
-      uint32_t                               maxPerStageDescriptorUpdateAfterBindStorageBuffers_   = {},
-      uint32_t                               maxPerStageDescriptorUpdateAfterBindSampledImages_    = {},
-      uint32_t                               maxPerStageDescriptorUpdateAfterBindStorageImages_    = {},
-      uint32_t                               maxPerStageDescriptorUpdateAfterBindInputAttachments_ = {},
-      uint32_t                               maxPerStageUpdateAfterBindResources_                  = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindSamplers_              = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindUniformBuffers_        = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindStorageBuffers_        = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindSampledImages_         = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindStorageImages_         = {},
-      uint32_t                               maxDescriptorSetUpdateAfterBindInputAttachments_      = {},
-      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes_                           = {},
-      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_                         = {},
-      VULKAN_HPP_NAMESPACE::Bool32           independentResolveNone_                               = {},
-      VULKAN_HPP_NAMESPACE::Bool32           independentResolve_                                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32           filterMinmaxSingleComponentFormats_                   = {},
-      VULKAN_HPP_NAMESPACE::Bool32           filterMinmaxImageComponentMapping_                    = {},
-      uint64_t                               maxTimelineSemaphoreValueDifference_                  = {},
-      VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferIntegerColorSampleCounts_ = {} ) VULKAN_HPP_NOEXCEPT
-      : driverID( driverID_ )
-      , driverName( driverName_ )
-      , driverInfo( driverInfo_ )
-      , conformanceVersion( conformanceVersion_ )
-      , denormBehaviorIndependence( denormBehaviorIndependence_ )
-      , roundingModeIndependence( roundingModeIndependence_ )
-      , shaderSignedZeroInfNanPreserveFloat16( shaderSignedZeroInfNanPreserveFloat16_ )
-      , shaderSignedZeroInfNanPreserveFloat32( shaderSignedZeroInfNanPreserveFloat32_ )
-      , shaderSignedZeroInfNanPreserveFloat64( shaderSignedZeroInfNanPreserveFloat64_ )
-      , shaderDenormPreserveFloat16( shaderDenormPreserveFloat16_ )
-      , shaderDenormPreserveFloat32( shaderDenormPreserveFloat32_ )
-      , shaderDenormPreserveFloat64( shaderDenormPreserveFloat64_ )
-      , shaderDenormFlushToZeroFloat16( shaderDenormFlushToZeroFloat16_ )
-      , shaderDenormFlushToZeroFloat32( shaderDenormFlushToZeroFloat32_ )
-      , shaderDenormFlushToZeroFloat64( shaderDenormFlushToZeroFloat64_ )
-      , shaderRoundingModeRTEFloat16( shaderRoundingModeRTEFloat16_ )
-      , shaderRoundingModeRTEFloat32( shaderRoundingModeRTEFloat32_ )
-      , shaderRoundingModeRTEFloat64( shaderRoundingModeRTEFloat64_ )
-      , shaderRoundingModeRTZFloat16( shaderRoundingModeRTZFloat16_ )
-      , shaderRoundingModeRTZFloat32( shaderRoundingModeRTZFloat32_ )
-      , shaderRoundingModeRTZFloat64( shaderRoundingModeRTZFloat64_ )
-      , maxUpdateAfterBindDescriptorsInAllPools( maxUpdateAfterBindDescriptorsInAllPools_ )
-      , shaderUniformBufferArrayNonUniformIndexingNative( shaderUniformBufferArrayNonUniformIndexingNative_ )
-      , shaderSampledImageArrayNonUniformIndexingNative( shaderSampledImageArrayNonUniformIndexingNative_ )
-      , shaderStorageBufferArrayNonUniformIndexingNative( shaderStorageBufferArrayNonUniformIndexingNative_ )
-      , shaderStorageImageArrayNonUniformIndexingNative( shaderStorageImageArrayNonUniformIndexingNative_ )
-      , shaderInputAttachmentArrayNonUniformIndexingNative( shaderInputAttachmentArrayNonUniformIndexingNative_ )
-      , robustBufferAccessUpdateAfterBind( robustBufferAccessUpdateAfterBind_ )
-      , quadDivergentImplicitLod( quadDivergentImplicitLod_ )
-      , maxPerStageDescriptorUpdateAfterBindSamplers( maxPerStageDescriptorUpdateAfterBindSamplers_ )
-      , maxPerStageDescriptorUpdateAfterBindUniformBuffers( maxPerStageDescriptorUpdateAfterBindUniformBuffers_ )
-      , maxPerStageDescriptorUpdateAfterBindStorageBuffers( maxPerStageDescriptorUpdateAfterBindStorageBuffers_ )
-      , maxPerStageDescriptorUpdateAfterBindSampledImages( maxPerStageDescriptorUpdateAfterBindSampledImages_ )
-      , maxPerStageDescriptorUpdateAfterBindStorageImages( maxPerStageDescriptorUpdateAfterBindStorageImages_ )
-      , maxPerStageDescriptorUpdateAfterBindInputAttachments( maxPerStageDescriptorUpdateAfterBindInputAttachments_ )
-      , maxPerStageUpdateAfterBindResources( maxPerStageUpdateAfterBindResources_ )
-      , maxDescriptorSetUpdateAfterBindSamplers( maxDescriptorSetUpdateAfterBindSamplers_ )
-      , maxDescriptorSetUpdateAfterBindUniformBuffers( maxDescriptorSetUpdateAfterBindUniformBuffers_ )
-      , maxDescriptorSetUpdateAfterBindUniformBuffersDynamic( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ )
-      , maxDescriptorSetUpdateAfterBindStorageBuffers( maxDescriptorSetUpdateAfterBindStorageBuffers_ )
-      , maxDescriptorSetUpdateAfterBindStorageBuffersDynamic( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ )
-      , maxDescriptorSetUpdateAfterBindSampledImages( maxDescriptorSetUpdateAfterBindSampledImages_ )
-      , maxDescriptorSetUpdateAfterBindStorageImages( maxDescriptorSetUpdateAfterBindStorageImages_ )
-      , maxDescriptorSetUpdateAfterBindInputAttachments( maxDescriptorSetUpdateAfterBindInputAttachments_ )
-      , supportedDepthResolveModes( supportedDepthResolveModes_ )
-      , supportedStencilResolveModes( supportedStencilResolveModes_ )
-      , independentResolveNone( independentResolveNone_ )
-      , independentResolve( independentResolve_ )
-      , filterMinmaxSingleComponentFormats( filterMinmaxSingleComponentFormats_ )
-      , filterMinmaxImageComponentMapping( filterMinmaxImageComponentMapping_ )
-      , maxTimelineSemaphoreValueDifference( maxTimelineSemaphoreValueDifference_ )
-      , framebufferIntegerColorSampleCounts( framebufferIntegerColorSampleCounts_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Properties(
+      VULKAN_HPP_NAMESPACE::DriverId driverID_ =
+          VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary,
+      std::array<char, VK_MAX_DRIVER_NAME_SIZE> const &driverName_ = {},
+      std::array<char, VK_MAX_DRIVER_INFO_SIZE> const &driverInfo_ = {},
+      VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+          denormBehaviorIndependence_ =
+              VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
+      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+          roundingModeIndependence_ =
+              VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly,
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64_ = {},
+      uint32_t maxUpdateAfterBindDescriptorsInAllPools_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderUniformBufferArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderSampledImageArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageBufferArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderStorageImageArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          shaderInputAttachmentArrayNonUniformIndexingNative_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindSamplers_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages_ = {},
+      uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments_ = {},
+      uint32_t maxPerStageUpdateAfterBindResources_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindSamplers_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindSampledImages_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindStorageImages_ = {},
+      uint32_t maxDescriptorSetUpdateAfterBindInputAttachments_ = {},
+      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes_ = {},
+      VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 independentResolve_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping_ = {},
+      uint64_t maxTimelineSemaphoreValueDifference_ = {},
+      VULKAN_HPP_NAMESPACE::SampleCountFlags
+          framebufferIntegerColorSampleCounts_ = {}) VULKAN_HPP_NOEXCEPT
+      : driverID(driverID_),
+        driverName(driverName_),
+        driverInfo(driverInfo_),
+        conformanceVersion(conformanceVersion_),
+        denormBehaviorIndependence(denormBehaviorIndependence_),
+        roundingModeIndependence(roundingModeIndependence_),
+        shaderSignedZeroInfNanPreserveFloat16(
+            shaderSignedZeroInfNanPreserveFloat16_),
+        shaderSignedZeroInfNanPreserveFloat32(
+            shaderSignedZeroInfNanPreserveFloat32_),
+        shaderSignedZeroInfNanPreserveFloat64(
+            shaderSignedZeroInfNanPreserveFloat64_),
+        shaderDenormPreserveFloat16(shaderDenormPreserveFloat16_),
+        shaderDenormPreserveFloat32(shaderDenormPreserveFloat32_),
+        shaderDenormPreserveFloat64(shaderDenormPreserveFloat64_),
+        shaderDenormFlushToZeroFloat16(shaderDenormFlushToZeroFloat16_),
+        shaderDenormFlushToZeroFloat32(shaderDenormFlushToZeroFloat32_),
+        shaderDenormFlushToZeroFloat64(shaderDenormFlushToZeroFloat64_),
+        shaderRoundingModeRTEFloat16(shaderRoundingModeRTEFloat16_),
+        shaderRoundingModeRTEFloat32(shaderRoundingModeRTEFloat32_),
+        shaderRoundingModeRTEFloat64(shaderRoundingModeRTEFloat64_),
+        shaderRoundingModeRTZFloat16(shaderRoundingModeRTZFloat16_),
+        shaderRoundingModeRTZFloat32(shaderRoundingModeRTZFloat32_),
+        shaderRoundingModeRTZFloat64(shaderRoundingModeRTZFloat64_),
+        maxUpdateAfterBindDescriptorsInAllPools(
+            maxUpdateAfterBindDescriptorsInAllPools_),
+        shaderUniformBufferArrayNonUniformIndexingNative(
+            shaderUniformBufferArrayNonUniformIndexingNative_),
+        shaderSampledImageArrayNonUniformIndexingNative(
+            shaderSampledImageArrayNonUniformIndexingNative_),
+        shaderStorageBufferArrayNonUniformIndexingNative(
+            shaderStorageBufferArrayNonUniformIndexingNative_),
+        shaderStorageImageArrayNonUniformIndexingNative(
+            shaderStorageImageArrayNonUniformIndexingNative_),
+        shaderInputAttachmentArrayNonUniformIndexingNative(
+            shaderInputAttachmentArrayNonUniformIndexingNative_),
+        robustBufferAccessUpdateAfterBind(robustBufferAccessUpdateAfterBind_),
+        quadDivergentImplicitLod(quadDivergentImplicitLod_),
+        maxPerStageDescriptorUpdateAfterBindSamplers(
+            maxPerStageDescriptorUpdateAfterBindSamplers_),
+        maxPerStageDescriptorUpdateAfterBindUniformBuffers(
+            maxPerStageDescriptorUpdateAfterBindUniformBuffers_),
+        maxPerStageDescriptorUpdateAfterBindStorageBuffers(
+            maxPerStageDescriptorUpdateAfterBindStorageBuffers_),
+        maxPerStageDescriptorUpdateAfterBindSampledImages(
+            maxPerStageDescriptorUpdateAfterBindSampledImages_),
+        maxPerStageDescriptorUpdateAfterBindStorageImages(
+            maxPerStageDescriptorUpdateAfterBindStorageImages_),
+        maxPerStageDescriptorUpdateAfterBindInputAttachments(
+            maxPerStageDescriptorUpdateAfterBindInputAttachments_),
+        maxPerStageUpdateAfterBindResources(
+            maxPerStageUpdateAfterBindResources_),
+        maxDescriptorSetUpdateAfterBindSamplers(
+            maxDescriptorSetUpdateAfterBindSamplers_),
+        maxDescriptorSetUpdateAfterBindUniformBuffers(
+            maxDescriptorSetUpdateAfterBindUniformBuffers_),
+        maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(
+            maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_),
+        maxDescriptorSetUpdateAfterBindStorageBuffers(
+            maxDescriptorSetUpdateAfterBindStorageBuffers_),
+        maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(
+            maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_),
+        maxDescriptorSetUpdateAfterBindSampledImages(
+            maxDescriptorSetUpdateAfterBindSampledImages_),
+        maxDescriptorSetUpdateAfterBindStorageImages(
+            maxDescriptorSetUpdateAfterBindStorageImages_),
+        maxDescriptorSetUpdateAfterBindInputAttachments(
+            maxDescriptorSetUpdateAfterBindInputAttachments_),
+        supportedDepthResolveModes(supportedDepthResolveModes_),
+        supportedStencilResolveModes(supportedStencilResolveModes_),
+        independentResolveNone(independentResolveNone_),
+        independentResolve(independentResolve_),
+        filterMinmaxSingleComponentFormats(filterMinmaxSingleComponentFormats_),
+        filterMinmaxImageComponentMapping(filterMinmaxImageComponentMapping_),
+        maxTimelineSemaphoreValueDifference(
+            maxTimelineSemaphoreValueDifference_),
+        framebufferIntegerColorSampleCounts(
+            framebufferIntegerColorSampleCounts_) {}
 
-    PhysicalDeviceVulkan12Properties( VkPhysicalDeviceVulkan12Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14
+  PhysicalDeviceVulkan12Properties(PhysicalDeviceVulkan12Properties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVulkan12Properties & operator=( VkPhysicalDeviceVulkan12Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceVulkan12Properties(
+      VkPhysicalDeviceVulkan12Properties const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceVulkan12Properties(
+            *reinterpret_cast<PhysicalDeviceVulkan12Properties const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceVulkan12Properties & operator=( PhysicalDeviceVulkan12Properties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                                = rhs.pNext;
-      driverID                                             = rhs.driverID;
-      driverName                                           = rhs.driverName;
-      driverInfo                                           = rhs.driverInfo;
-      conformanceVersion                                   = rhs.conformanceVersion;
-      denormBehaviorIndependence                           = rhs.denormBehaviorIndependence;
-      roundingModeIndependence                             = rhs.roundingModeIndependence;
-      shaderSignedZeroInfNanPreserveFloat16                = rhs.shaderSignedZeroInfNanPreserveFloat16;
-      shaderSignedZeroInfNanPreserveFloat32                = rhs.shaderSignedZeroInfNanPreserveFloat32;
-      shaderSignedZeroInfNanPreserveFloat64                = rhs.shaderSignedZeroInfNanPreserveFloat64;
-      shaderDenormPreserveFloat16                          = rhs.shaderDenormPreserveFloat16;
-      shaderDenormPreserveFloat32                          = rhs.shaderDenormPreserveFloat32;
-      shaderDenormPreserveFloat64                          = rhs.shaderDenormPreserveFloat64;
-      shaderDenormFlushToZeroFloat16                       = rhs.shaderDenormFlushToZeroFloat16;
-      shaderDenormFlushToZeroFloat32                       = rhs.shaderDenormFlushToZeroFloat32;
-      shaderDenormFlushToZeroFloat64                       = rhs.shaderDenormFlushToZeroFloat64;
-      shaderRoundingModeRTEFloat16                         = rhs.shaderRoundingModeRTEFloat16;
-      shaderRoundingModeRTEFloat32                         = rhs.shaderRoundingModeRTEFloat32;
-      shaderRoundingModeRTEFloat64                         = rhs.shaderRoundingModeRTEFloat64;
-      shaderRoundingModeRTZFloat16                         = rhs.shaderRoundingModeRTZFloat16;
-      shaderRoundingModeRTZFloat32                         = rhs.shaderRoundingModeRTZFloat32;
-      shaderRoundingModeRTZFloat64                         = rhs.shaderRoundingModeRTZFloat64;
-      maxUpdateAfterBindDescriptorsInAllPools              = rhs.maxUpdateAfterBindDescriptorsInAllPools;
-      shaderUniformBufferArrayNonUniformIndexingNative     = rhs.shaderUniformBufferArrayNonUniformIndexingNative;
-      shaderSampledImageArrayNonUniformIndexingNative      = rhs.shaderSampledImageArrayNonUniformIndexingNative;
-      shaderStorageBufferArrayNonUniformIndexingNative     = rhs.shaderStorageBufferArrayNonUniformIndexingNative;
-      shaderStorageImageArrayNonUniformIndexingNative      = rhs.shaderStorageImageArrayNonUniformIndexingNative;
-      shaderInputAttachmentArrayNonUniformIndexingNative   = rhs.shaderInputAttachmentArrayNonUniformIndexingNative;
-      robustBufferAccessUpdateAfterBind                    = rhs.robustBufferAccessUpdateAfterBind;
-      quadDivergentImplicitLod                             = rhs.quadDivergentImplicitLod;
-      maxPerStageDescriptorUpdateAfterBindSamplers         = rhs.maxPerStageDescriptorUpdateAfterBindSamplers;
-      maxPerStageDescriptorUpdateAfterBindUniformBuffers   = rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers;
-      maxPerStageDescriptorUpdateAfterBindStorageBuffers   = rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers;
-      maxPerStageDescriptorUpdateAfterBindSampledImages    = rhs.maxPerStageDescriptorUpdateAfterBindSampledImages;
-      maxPerStageDescriptorUpdateAfterBindStorageImages    = rhs.maxPerStageDescriptorUpdateAfterBindStorageImages;
-      maxPerStageDescriptorUpdateAfterBindInputAttachments = rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments;
-      maxPerStageUpdateAfterBindResources                  = rhs.maxPerStageUpdateAfterBindResources;
-      maxDescriptorSetUpdateAfterBindSamplers              = rhs.maxDescriptorSetUpdateAfterBindSamplers;
-      maxDescriptorSetUpdateAfterBindUniformBuffers        = rhs.maxDescriptorSetUpdateAfterBindUniformBuffers;
-      maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
-      maxDescriptorSetUpdateAfterBindStorageBuffers        = rhs.maxDescriptorSetUpdateAfterBindStorageBuffers;
-      maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
-      maxDescriptorSetUpdateAfterBindSampledImages         = rhs.maxDescriptorSetUpdateAfterBindSampledImages;
-      maxDescriptorSetUpdateAfterBindStorageImages         = rhs.maxDescriptorSetUpdateAfterBindStorageImages;
-      maxDescriptorSetUpdateAfterBindInputAttachments      = rhs.maxDescriptorSetUpdateAfterBindInputAttachments;
-      supportedDepthResolveModes                           = rhs.supportedDepthResolveModes;
-      supportedStencilResolveModes                         = rhs.supportedStencilResolveModes;
-      independentResolveNone                               = rhs.independentResolveNone;
-      independentResolve                                   = rhs.independentResolve;
-      filterMinmaxSingleComponentFormats                   = rhs.filterMinmaxSingleComponentFormats;
-      filterMinmaxImageComponentMapping                    = rhs.filterMinmaxImageComponentMapping;
-      maxTimelineSemaphoreValueDifference                  = rhs.maxTimelineSemaphoreValueDifference;
-      framebufferIntegerColorSampleCounts                  = rhs.framebufferIntegerColorSampleCounts;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Properties &
+  operator=(PhysicalDeviceVulkan12Properties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceVulkan12Properties &
+  operator=(VkPhysicalDeviceVulkan12Properties const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVulkan12Properties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVulkan12Properties *>( this );
-    }
+  operator VkPhysicalDeviceVulkan12Properties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceVulkan12Properties *>(this);
+  }
 
-    operator VkPhysicalDeviceVulkan12Properties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVulkan12Properties *>( this );
-    }
+  operator VkPhysicalDeviceVulkan12Properties &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceVulkan12Properties *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVulkan12Properties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceVulkan12Properties const &) const = default;
 #else
-    bool operator==( PhysicalDeviceVulkan12Properties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( driverID == rhs.driverID ) &&
-             ( driverName == rhs.driverName ) && ( driverInfo == rhs.driverInfo ) &&
-             ( conformanceVersion == rhs.conformanceVersion ) &&
-             ( denormBehaviorIndependence == rhs.denormBehaviorIndependence ) &&
-             ( roundingModeIndependence == rhs.roundingModeIndependence ) &&
-             ( shaderSignedZeroInfNanPreserveFloat16 == rhs.shaderSignedZeroInfNanPreserveFloat16 ) &&
-             ( shaderSignedZeroInfNanPreserveFloat32 == rhs.shaderSignedZeroInfNanPreserveFloat32 ) &&
-             ( shaderSignedZeroInfNanPreserveFloat64 == rhs.shaderSignedZeroInfNanPreserveFloat64 ) &&
-             ( shaderDenormPreserveFloat16 == rhs.shaderDenormPreserveFloat16 ) &&
-             ( shaderDenormPreserveFloat32 == rhs.shaderDenormPreserveFloat32 ) &&
-             ( shaderDenormPreserveFloat64 == rhs.shaderDenormPreserveFloat64 ) &&
-             ( shaderDenormFlushToZeroFloat16 == rhs.shaderDenormFlushToZeroFloat16 ) &&
-             ( shaderDenormFlushToZeroFloat32 == rhs.shaderDenormFlushToZeroFloat32 ) &&
-             ( shaderDenormFlushToZeroFloat64 == rhs.shaderDenormFlushToZeroFloat64 ) &&
-             ( shaderRoundingModeRTEFloat16 == rhs.shaderRoundingModeRTEFloat16 ) &&
-             ( shaderRoundingModeRTEFloat32 == rhs.shaderRoundingModeRTEFloat32 ) &&
-             ( shaderRoundingModeRTEFloat64 == rhs.shaderRoundingModeRTEFloat64 ) &&
-             ( shaderRoundingModeRTZFloat16 == rhs.shaderRoundingModeRTZFloat16 ) &&
-             ( shaderRoundingModeRTZFloat32 == rhs.shaderRoundingModeRTZFloat32 ) &&
-             ( shaderRoundingModeRTZFloat64 == rhs.shaderRoundingModeRTZFloat64 ) &&
-             ( maxUpdateAfterBindDescriptorsInAllPools == rhs.maxUpdateAfterBindDescriptorsInAllPools ) &&
-             ( shaderUniformBufferArrayNonUniformIndexingNative ==
-               rhs.shaderUniformBufferArrayNonUniformIndexingNative ) &&
-             ( shaderSampledImageArrayNonUniformIndexingNative ==
-               rhs.shaderSampledImageArrayNonUniformIndexingNative ) &&
-             ( shaderStorageBufferArrayNonUniformIndexingNative ==
-               rhs.shaderStorageBufferArrayNonUniformIndexingNative ) &&
-             ( shaderStorageImageArrayNonUniformIndexingNative ==
-               rhs.shaderStorageImageArrayNonUniformIndexingNative ) &&
-             ( shaderInputAttachmentArrayNonUniformIndexingNative ==
-               rhs.shaderInputAttachmentArrayNonUniformIndexingNative ) &&
-             ( robustBufferAccessUpdateAfterBind == rhs.robustBufferAccessUpdateAfterBind ) &&
-             ( quadDivergentImplicitLod == rhs.quadDivergentImplicitLod ) &&
-             ( maxPerStageDescriptorUpdateAfterBindSamplers == rhs.maxPerStageDescriptorUpdateAfterBindSamplers ) &&
-             ( maxPerStageDescriptorUpdateAfterBindUniformBuffers ==
-               rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers ) &&
-             ( maxPerStageDescriptorUpdateAfterBindStorageBuffers ==
-               rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers ) &&
-             ( maxPerStageDescriptorUpdateAfterBindSampledImages ==
-               rhs.maxPerStageDescriptorUpdateAfterBindSampledImages ) &&
-             ( maxPerStageDescriptorUpdateAfterBindStorageImages ==
-               rhs.maxPerStageDescriptorUpdateAfterBindStorageImages ) &&
-             ( maxPerStageDescriptorUpdateAfterBindInputAttachments ==
-               rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments ) &&
-             ( maxPerStageUpdateAfterBindResources == rhs.maxPerStageUpdateAfterBindResources ) &&
-             ( maxDescriptorSetUpdateAfterBindSamplers == rhs.maxDescriptorSetUpdateAfterBindSamplers ) &&
-             ( maxDescriptorSetUpdateAfterBindUniformBuffers == rhs.maxDescriptorSetUpdateAfterBindUniformBuffers ) &&
-             ( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ==
-               rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ) &&
-             ( maxDescriptorSetUpdateAfterBindStorageBuffers == rhs.maxDescriptorSetUpdateAfterBindStorageBuffers ) &&
-             ( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ==
-               rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ) &&
-             ( maxDescriptorSetUpdateAfterBindSampledImages == rhs.maxDescriptorSetUpdateAfterBindSampledImages ) &&
-             ( maxDescriptorSetUpdateAfterBindStorageImages == rhs.maxDescriptorSetUpdateAfterBindStorageImages ) &&
-             ( maxDescriptorSetUpdateAfterBindInputAttachments ==
-               rhs.maxDescriptorSetUpdateAfterBindInputAttachments ) &&
-             ( supportedDepthResolveModes == rhs.supportedDepthResolveModes ) &&
-             ( supportedStencilResolveModes == rhs.supportedStencilResolveModes ) &&
-             ( independentResolveNone == rhs.independentResolveNone ) &&
-             ( independentResolve == rhs.independentResolve ) &&
-             ( filterMinmaxSingleComponentFormats == rhs.filterMinmaxSingleComponentFormats ) &&
-             ( filterMinmaxImageComponentMapping == rhs.filterMinmaxImageComponentMapping ) &&
-             ( maxTimelineSemaphoreValueDifference == rhs.maxTimelineSemaphoreValueDifference ) &&
-             ( framebufferIntegerColorSampleCounts == rhs.framebufferIntegerColorSampleCounts );
-    }
+  bool operator==(PhysicalDeviceVulkan12Properties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (driverID == rhs.driverID) && (driverName == rhs.driverName) &&
+           (driverInfo == rhs.driverInfo) &&
+           (conformanceVersion == rhs.conformanceVersion) &&
+           (denormBehaviorIndependence == rhs.denormBehaviorIndependence) &&
+           (roundingModeIndependence == rhs.roundingModeIndependence) &&
+           (shaderSignedZeroInfNanPreserveFloat16 ==
+            rhs.shaderSignedZeroInfNanPreserveFloat16) &&
+           (shaderSignedZeroInfNanPreserveFloat32 ==
+            rhs.shaderSignedZeroInfNanPreserveFloat32) &&
+           (shaderSignedZeroInfNanPreserveFloat64 ==
+            rhs.shaderSignedZeroInfNanPreserveFloat64) &&
+           (shaderDenormPreserveFloat16 == rhs.shaderDenormPreserveFloat16) &&
+           (shaderDenormPreserveFloat32 == rhs.shaderDenormPreserveFloat32) &&
+           (shaderDenormPreserveFloat64 == rhs.shaderDenormPreserveFloat64) &&
+           (shaderDenormFlushToZeroFloat16 ==
+            rhs.shaderDenormFlushToZeroFloat16) &&
+           (shaderDenormFlushToZeroFloat32 ==
+            rhs.shaderDenormFlushToZeroFloat32) &&
+           (shaderDenormFlushToZeroFloat64 ==
+            rhs.shaderDenormFlushToZeroFloat64) &&
+           (shaderRoundingModeRTEFloat16 == rhs.shaderRoundingModeRTEFloat16) &&
+           (shaderRoundingModeRTEFloat32 == rhs.shaderRoundingModeRTEFloat32) &&
+           (shaderRoundingModeRTEFloat64 == rhs.shaderRoundingModeRTEFloat64) &&
+           (shaderRoundingModeRTZFloat16 == rhs.shaderRoundingModeRTZFloat16) &&
+           (shaderRoundingModeRTZFloat32 == rhs.shaderRoundingModeRTZFloat32) &&
+           (shaderRoundingModeRTZFloat64 == rhs.shaderRoundingModeRTZFloat64) &&
+           (maxUpdateAfterBindDescriptorsInAllPools ==
+            rhs.maxUpdateAfterBindDescriptorsInAllPools) &&
+           (shaderUniformBufferArrayNonUniformIndexingNative ==
+            rhs.shaderUniformBufferArrayNonUniformIndexingNative) &&
+           (shaderSampledImageArrayNonUniformIndexingNative ==
+            rhs.shaderSampledImageArrayNonUniformIndexingNative) &&
+           (shaderStorageBufferArrayNonUniformIndexingNative ==
+            rhs.shaderStorageBufferArrayNonUniformIndexingNative) &&
+           (shaderStorageImageArrayNonUniformIndexingNative ==
+            rhs.shaderStorageImageArrayNonUniformIndexingNative) &&
+           (shaderInputAttachmentArrayNonUniformIndexingNative ==
+            rhs.shaderInputAttachmentArrayNonUniformIndexingNative) &&
+           (robustBufferAccessUpdateAfterBind ==
+            rhs.robustBufferAccessUpdateAfterBind) &&
+           (quadDivergentImplicitLod == rhs.quadDivergentImplicitLod) &&
+           (maxPerStageDescriptorUpdateAfterBindSamplers ==
+            rhs.maxPerStageDescriptorUpdateAfterBindSamplers) &&
+           (maxPerStageDescriptorUpdateAfterBindUniformBuffers ==
+            rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers) &&
+           (maxPerStageDescriptorUpdateAfterBindStorageBuffers ==
+            rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers) &&
+           (maxPerStageDescriptorUpdateAfterBindSampledImages ==
+            rhs.maxPerStageDescriptorUpdateAfterBindSampledImages) &&
+           (maxPerStageDescriptorUpdateAfterBindStorageImages ==
+            rhs.maxPerStageDescriptorUpdateAfterBindStorageImages) &&
+           (maxPerStageDescriptorUpdateAfterBindInputAttachments ==
+            rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments) &&
+           (maxPerStageUpdateAfterBindResources ==
+            rhs.maxPerStageUpdateAfterBindResources) &&
+           (maxDescriptorSetUpdateAfterBindSamplers ==
+            rhs.maxDescriptorSetUpdateAfterBindSamplers) &&
+           (maxDescriptorSetUpdateAfterBindUniformBuffers ==
+            rhs.maxDescriptorSetUpdateAfterBindUniformBuffers) &&
+           (maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ==
+            rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic) &&
+           (maxDescriptorSetUpdateAfterBindStorageBuffers ==
+            rhs.maxDescriptorSetUpdateAfterBindStorageBuffers) &&
+           (maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ==
+            rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic) &&
+           (maxDescriptorSetUpdateAfterBindSampledImages ==
+            rhs.maxDescriptorSetUpdateAfterBindSampledImages) &&
+           (maxDescriptorSetUpdateAfterBindStorageImages ==
+            rhs.maxDescriptorSetUpdateAfterBindStorageImages) &&
+           (maxDescriptorSetUpdateAfterBindInputAttachments ==
+            rhs.maxDescriptorSetUpdateAfterBindInputAttachments) &&
+           (supportedDepthResolveModes == rhs.supportedDepthResolveModes) &&
+           (supportedStencilResolveModes == rhs.supportedStencilResolveModes) &&
+           (independentResolveNone == rhs.independentResolveNone) &&
+           (independentResolve == rhs.independentResolve) &&
+           (filterMinmaxSingleComponentFormats ==
+            rhs.filterMinmaxSingleComponentFormats) &&
+           (filterMinmaxImageComponentMapping ==
+            rhs.filterMinmaxImageComponentMapping) &&
+           (maxTimelineSemaphoreValueDifference ==
+            rhs.maxTimelineSemaphoreValueDifference) &&
+           (framebufferIntegerColorSampleCounts ==
+            rhs.framebufferIntegerColorSampleCounts);
+  }
 
-    bool operator!=( PhysicalDeviceVulkan12Properties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVulkan12Properties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::ePhysicalDeviceVulkan12Properties;
-    void *                                    pNext    = {};
-    VULKAN_HPP_NAMESPACE::DriverId            driverID = VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary;
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_NAME_SIZE> driverName         = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_INFO_SIZE> driverInfo         = {};
-    VULKAN_HPP_NAMESPACE::ConformanceVersion                            conformanceVersion = {};
-    VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence               denormBehaviorIndependence =
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
-    VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence roundingModeIndependence =
-      VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
-    VULKAN_HPP_NAMESPACE::Bool32           shaderSignedZeroInfNanPreserveFloat16                = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderSignedZeroInfNanPreserveFloat32                = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderSignedZeroInfNanPreserveFloat64                = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderDenormPreserveFloat16                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderDenormPreserveFloat32                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderDenormPreserveFloat64                          = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderDenormFlushToZeroFloat16                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderDenormFlushToZeroFloat32                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderDenormFlushToZeroFloat64                       = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTEFloat16                         = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTEFloat32                         = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTEFloat64                         = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTZFloat16                         = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTZFloat32                         = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderRoundingModeRTZFloat64                         = {};
-    uint32_t                               maxUpdateAfterBindDescriptorsInAllPools              = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderUniformBufferArrayNonUniformIndexingNative     = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderSampledImageArrayNonUniformIndexingNative      = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderStorageBufferArrayNonUniformIndexingNative     = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderStorageImageArrayNonUniformIndexingNative      = {};
-    VULKAN_HPP_NAMESPACE::Bool32           shaderInputAttachmentArrayNonUniformIndexingNative   = {};
-    VULKAN_HPP_NAMESPACE::Bool32           robustBufferAccessUpdateAfterBind                    = {};
-    VULKAN_HPP_NAMESPACE::Bool32           quadDivergentImplicitLod                             = {};
-    uint32_t                               maxPerStageDescriptorUpdateAfterBindSamplers         = {};
-    uint32_t                               maxPerStageDescriptorUpdateAfterBindUniformBuffers   = {};
-    uint32_t                               maxPerStageDescriptorUpdateAfterBindStorageBuffers   = {};
-    uint32_t                               maxPerStageDescriptorUpdateAfterBindSampledImages    = {};
-    uint32_t                               maxPerStageDescriptorUpdateAfterBindStorageImages    = {};
-    uint32_t                               maxPerStageDescriptorUpdateAfterBindInputAttachments = {};
-    uint32_t                               maxPerStageUpdateAfterBindResources                  = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindSamplers              = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindUniformBuffers        = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindStorageBuffers        = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindSampledImages         = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindStorageImages         = {};
-    uint32_t                               maxDescriptorSetUpdateAfterBindInputAttachments      = {};
-    VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes                           = {};
-    VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes                         = {};
-    VULKAN_HPP_NAMESPACE::Bool32           independentResolveNone                               = {};
-    VULKAN_HPP_NAMESPACE::Bool32           independentResolve                                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32           filterMinmaxSingleComponentFormats                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32           filterMinmaxImageComponentMapping                    = {};
-    uint64_t                               maxTimelineSemaphoreValueDifference                  = {};
-    VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferIntegerColorSampleCounts                  = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVulkan12Properties ) == sizeof( VkPhysicalDeviceVulkan12Properties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVulkan12Properties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVulkan12Properties;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::DriverId driverID =
+      VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary;
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_NAME_SIZE>
+      driverName = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DRIVER_INFO_SIZE>
+      driverInfo = {};
+  VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion = {};
+  VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+      denormBehaviorIndependence =
+          VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
+  VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence
+      roundingModeIndependence =
+          VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly;
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32 = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64 = {};
+  uint32_t maxUpdateAfterBindDescriptorsInAllPools = {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      shaderUniformBufferArrayNonUniformIndexingNative = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      shaderStorageBufferArrayNonUniformIndexingNative = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32
+      shaderInputAttachmentArrayNonUniformIndexingNative = {};
+  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind = {};
+  VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages = {};
+  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments = {};
+  uint32_t maxPerStageUpdateAfterBindResources = {};
+  uint32_t maxDescriptorSetUpdateAfterBindSamplers = {};
+  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers = {};
+  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = {};
+  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers = {};
+  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = {};
+  uint32_t maxDescriptorSetUpdateAfterBindSampledImages = {};
+  uint32_t maxDescriptorSetUpdateAfterBindStorageImages = {};
+  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments = {};
+  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes = {};
+  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes = {};
+  VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone = {};
+  VULKAN_HPP_NAMESPACE::Bool32 independentResolve = {};
+  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats = {};
+  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping = {};
+  uint64_t maxTimelineSemaphoreValueDifference = {};
+  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferIntegerColorSampleCounts =
+      {};
+};
+static_assert(sizeof(PhysicalDeviceVulkan12Properties) ==
+                  sizeof(VkPhysicalDeviceVulkan12Properties),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PhysicalDeviceVulkan12Properties>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVulkan12Properties>
-  {
-    using Type = PhysicalDeviceVulkan12Properties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceVulkan12Properties> {
+  using Type = PhysicalDeviceVulkan12Properties;
+};
 
-  struct PhysicalDeviceVulkanMemoryModelFeatures
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceVulkanMemoryModelFeatures {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceVulkanMemoryModelFeatures;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkanMemoryModelFeatures(
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_                             = {},
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_                  = {},
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_ = {} ) VULKAN_HPP_NOEXCEPT
-      : vulkanMemoryModel( vulkanMemoryModel_ )
-      , vulkanMemoryModelDeviceScope( vulkanMemoryModelDeviceScope_ )
-      , vulkanMemoryModelAvailabilityVisibilityChains( vulkanMemoryModelAvailabilityVisibilityChains_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkanMemoryModelFeatures(
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          vulkanMemoryModelAvailabilityVisibilityChains_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : vulkanMemoryModel(vulkanMemoryModel_),
+        vulkanMemoryModelDeviceScope(vulkanMemoryModelDeviceScope_),
+        vulkanMemoryModelAvailabilityVisibilityChains(
+            vulkanMemoryModelAvailabilityVisibilityChains_) {}
 
-    PhysicalDeviceVulkanMemoryModelFeatures( VkPhysicalDeviceVulkanMemoryModelFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkanMemoryModelFeatures(
+      PhysicalDeviceVulkanMemoryModelFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceVulkanMemoryModelFeatures &
-      operator=( VkPhysicalDeviceVulkanMemoryModelFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures const *>( &rhs );
-      return *this;
-    }
+  PhysicalDeviceVulkanMemoryModelFeatures(
+      VkPhysicalDeviceVulkanMemoryModelFeatures const &rhs) VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceVulkanMemoryModelFeatures(
+            *reinterpret_cast<PhysicalDeviceVulkanMemoryModelFeatures const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceVulkanMemoryModelFeatures &
-      operator=( PhysicalDeviceVulkanMemoryModelFeatures const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                         = rhs.pNext;
-      vulkanMemoryModel                             = rhs.vulkanMemoryModel;
-      vulkanMemoryModelDeviceScope                  = rhs.vulkanMemoryModelDeviceScope;
-      vulkanMemoryModelAvailabilityVisibilityChains = rhs.vulkanMemoryModelAvailabilityVisibilityChains;
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkanMemoryModelFeatures &
+  operator=(PhysicalDeviceVulkanMemoryModelFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PhysicalDeviceVulkanMemoryModelFeatures &
+  operator=(VkPhysicalDeviceVulkanMemoryModelFeatures const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures const *>(
+        &rhs);
+    return *this;
+  }
 
-    PhysicalDeviceVulkanMemoryModelFeatures & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceVulkanMemoryModelFeatures &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkanMemoryModelFeatures &
-      setVulkanMemoryModel( VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vulkanMemoryModel = vulkanMemoryModel_;
-      return *this;
-    }
+  PhysicalDeviceVulkanMemoryModelFeatures &setVulkanMemoryModel(
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_) VULKAN_HPP_NOEXCEPT {
+    vulkanMemoryModel = vulkanMemoryModel_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkanMemoryModelFeatures &
-      setVulkanMemoryModelDeviceScope( VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope_;
-      return *this;
-    }
+  PhysicalDeviceVulkanMemoryModelFeatures &setVulkanMemoryModelDeviceScope(
+      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_)
+      VULKAN_HPP_NOEXCEPT {
+    vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope_;
+    return *this;
+  }
 
-    PhysicalDeviceVulkanMemoryModelFeatures & setVulkanMemoryModelAvailabilityVisibilityChains(
-      VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains_;
-      return *this;
-    }
+  PhysicalDeviceVulkanMemoryModelFeatures &
+  setVulkanMemoryModelAvailabilityVisibilityChains(
+      VULKAN_HPP_NAMESPACE::Bool32
+          vulkanMemoryModelAvailabilityVisibilityChains_) VULKAN_HPP_NOEXCEPT {
+    vulkanMemoryModelAvailabilityVisibilityChains =
+        vulkanMemoryModelAvailabilityVisibilityChains_;
+    return *this;
+  }
 
-    operator VkPhysicalDeviceVulkanMemoryModelFeatures const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures *>( this );
-    }
+  operator VkPhysicalDeviceVulkanMemoryModelFeatures const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceVulkanMemoryModelFeatures &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures *>( this );
-    }
+  operator VkPhysicalDeviceVulkanMemoryModelFeatures &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceVulkanMemoryModelFeatures const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PhysicalDeviceVulkanMemoryModelFeatures const &) const = default;
 #else
-    bool operator==( PhysicalDeviceVulkanMemoryModelFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vulkanMemoryModel == rhs.vulkanMemoryModel ) &&
-             ( vulkanMemoryModelDeviceScope == rhs.vulkanMemoryModelDeviceScope ) &&
-             ( vulkanMemoryModelAvailabilityVisibilityChains == rhs.vulkanMemoryModelAvailabilityVisibilityChains );
-    }
+  bool operator==(PhysicalDeviceVulkanMemoryModelFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (vulkanMemoryModel == rhs.vulkanMemoryModel) &&
+           (vulkanMemoryModelDeviceScope == rhs.vulkanMemoryModelDeviceScope) &&
+           (vulkanMemoryModelAvailabilityVisibilityChains ==
+            rhs.vulkanMemoryModelAvailabilityVisibilityChains);
+  }
 
-    bool operator!=( PhysicalDeviceVulkanMemoryModelFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceVulkanMemoryModelFeatures const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkanMemoryModelFeatures;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vulkanMemoryModel                             = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vulkanMemoryModelDeviceScope                  = {};
-    VULKAN_HPP_NAMESPACE::Bool32              vulkanMemoryModelAvailabilityVisibilityChains = {};
-  };
-  static_assert( sizeof( PhysicalDeviceVulkanMemoryModelFeatures ) ==
-                   sizeof( VkPhysicalDeviceVulkanMemoryModelFeatures ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceVulkanMemoryModelFeatures>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceVulkanMemoryModelFeatures;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope = {};
+  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains =
+      {};
+};
+static_assert(sizeof(PhysicalDeviceVulkanMemoryModelFeatures) ==
+                  sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceVulkanMemoryModelFeatures>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceVulkanMemoryModelFeatures>
-  {
-    using Type = PhysicalDeviceVulkanMemoryModelFeatures;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceVulkanMemoryModelFeatures> {
+  using Type = PhysicalDeviceVulkanMemoryModelFeatures;
+};
+using PhysicalDeviceVulkanMemoryModelFeaturesKHR =
+    PhysicalDeviceVulkanMemoryModelFeatures;
 
-  struct PhysicalDeviceYcbcrImageArraysFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32
+          workgroupMemoryExplicitLayoutScalarBlockLayout_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout8BitAccess_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout16BitAccess_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : workgroupMemoryExplicitLayout(workgroupMemoryExplicitLayout_),
+        workgroupMemoryExplicitLayoutScalarBlockLayout(
+            workgroupMemoryExplicitLayoutScalarBlockLayout_),
+        workgroupMemoryExplicitLayout8BitAccess(
+            workgroupMemoryExplicitLayout8BitAccess_),
+        workgroupMemoryExplicitLayout16BitAccess(
+            workgroupMemoryExplicitLayout16BitAccess_) {}
+
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
+      PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
+      VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14
+      PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &
+      operator=(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const
+                    &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &
+  operator=(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &
+  setWorkgroupMemoryExplicitLayout(
+      VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout_)
+      VULKAN_HPP_NOEXCEPT {
+    workgroupMemoryExplicitLayout = workgroupMemoryExplicitLayout_;
+    return *this;
+  }
+
+  PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &
+  setWorkgroupMemoryExplicitLayoutScalarBlockLayout(
+      VULKAN_HPP_NAMESPACE::Bool32
+          workgroupMemoryExplicitLayoutScalarBlockLayout_) VULKAN_HPP_NOEXCEPT {
+    workgroupMemoryExplicitLayoutScalarBlockLayout =
+        workgroupMemoryExplicitLayoutScalarBlockLayout_;
+    return *this;
+  }
+
+  PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &
+  setWorkgroupMemoryExplicitLayout8BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout8BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    workgroupMemoryExplicitLayout8BitAccess =
+        workgroupMemoryExplicitLayout8BitAccess_;
+    return *this;
+  }
+
+  PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &
+  setWorkgroupMemoryExplicitLayout16BitAccess(
+      VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout16BitAccess_)
+      VULKAN_HPP_NOEXCEPT {
+    workgroupMemoryExplicitLayout16BitAccess =
+        workgroupMemoryExplicitLayout16BitAccess_;
+    return *this;
+  }
+
+  operator VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *>(this);
+  }
+
+  operator VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const
+                       &) const = default;
+#else
+  bool operator==(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (workgroupMemoryExplicitLayout ==
+            rhs.workgroupMemoryExplicitLayout) &&
+           (workgroupMemoryExplicitLayoutScalarBlockLayout ==
+            rhs.workgroupMemoryExplicitLayoutScalarBlockLayout) &&
+           (workgroupMemoryExplicitLayout8BitAccess ==
+            rhs.workgroupMemoryExplicitLayout8BitAccess) &&
+           (workgroupMemoryExplicitLayout16BitAccess ==
+            rhs.workgroupMemoryExplicitLayout16BitAccess);
+  }
+
+  bool operator!=(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout = {};
+  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayoutScalarBlockLayout =
+      {};
+  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout8BitAccess = {};
+  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout16BitAccess = {};
+};
+static_assert(
+    sizeof(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR) ==
+        sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR),
+    "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<
+        PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR> {
+  using Type = PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
+};
+
+struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PhysicalDeviceYcbcrImageArraysFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays_ = {} ) VULKAN_HPP_NOEXCEPT : ycbcrImageArrays( ycbcrImageArrays_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceYcbcrImageArraysFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays_ = {}) VULKAN_HPP_NOEXCEPT
+      : ycbcrImageArrays(ycbcrImageArrays_) {}
 
-    PhysicalDeviceYcbcrImageArraysFeaturesEXT( VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceYcbcrImageArraysFeaturesEXT(
+      PhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PhysicalDeviceYcbcrImageArraysFeaturesEXT(
+      VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PhysicalDeviceYcbcrImageArraysFeaturesEXT(
+            *reinterpret_cast<
+                PhysicalDeviceYcbcrImageArraysFeaturesEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PhysicalDeviceYcbcrImageArraysFeaturesEXT &
-      operator=( VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceYcbcrImageArraysFeaturesEXT &
+  operator=(PhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PhysicalDeviceYcbcrImageArraysFeaturesEXT &
-      operator=( PhysicalDeviceYcbcrImageArraysFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      ycbcrImageArrays = rhs.ycbcrImageArrays;
+  PhysicalDeviceYcbcrImageArraysFeaturesEXT &
+  operator=(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceYcbcrImageArraysFeaturesEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PhysicalDeviceYcbcrImageArraysFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceYcbcrImageArraysFeaturesEXT &setYcbcrImageArrays(
+      VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays_) VULKAN_HPP_NOEXCEPT {
+    ycbcrImageArrays = ycbcrImageArrays_;
+    return *this;
+  }
 
-    PhysicalDeviceYcbcrImageArraysFeaturesEXT &
-      setYcbcrImageArrays( VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ycbcrImageArrays = ycbcrImageArrays_;
-      return *this;
-    }
+  operator VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(this);
+  }
 
-    operator VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>( this );
-    }
+  operator VkPhysicalDeviceYcbcrImageArraysFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(
+        this);
+  }
 
-    operator VkPhysicalDeviceYcbcrImageArraysFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PhysicalDeviceYcbcrImageArraysFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceYcbcrImageArraysFeaturesEXT const &) const =
+      default;
 #else
-    bool operator==( PhysicalDeviceYcbcrImageArraysFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ycbcrImageArrays == rhs.ycbcrImageArrays );
-    }
+  bool operator==(PhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (ycbcrImageArrays == rhs.ycbcrImageArrays);
+  }
 
-    bool operator!=( PhysicalDeviceYcbcrImageArraysFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              ycbcrImageArrays = {};
-  };
-  static_assert( sizeof( PhysicalDeviceYcbcrImageArraysFeaturesEXT ) ==
-                   sizeof( VkPhysicalDeviceYcbcrImageArraysFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PhysicalDeviceYcbcrImageArraysFeaturesEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays = {};
+};
+static_assert(sizeof(PhysicalDeviceYcbcrImageArraysFeaturesEXT) ==
+                  sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PhysicalDeviceYcbcrImageArraysFeaturesEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT>
-  {
-    using Type = PhysicalDeviceYcbcrImageArraysFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT> {
+  using Type = PhysicalDeviceYcbcrImageArraysFeaturesEXT;
+};
 
-  struct PipelineCacheCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineCacheCreateInfo;
+struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineCacheCreateInfo( VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_           = {},
-                                                  size_t                                         initialDataSize_ = {},
-                                                  const void * pInitialData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , initialDataSize( initialDataSize_ )
-      , pInitialData( pInitialData_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory_ = {})
+      VULKAN_HPP_NOEXCEPT : shaderZeroInitializeWorkgroupMemory(
+                                shaderZeroInitializeWorkgroupMemory_) {}
 
-    PipelineCacheCreateInfo( VkPipelineCacheCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR(
+      PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    PipelineCacheCreateInfo( VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags                 flags_,
-                             VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & initialData_ )
-      : flags( flags_ ), initialDataSize( initialData_.size() * sizeof( T ) ), pInitialData( initialData_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR(
+      VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR(
+            *reinterpret_cast<
+                PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineCacheCreateInfo & operator=( VkPipelineCacheCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14
+      PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR &
+      operator=(PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const
+                    &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineCacheCreateInfo & operator=( PipelineCacheCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      initialDataSize = rhs.initialDataSize;
-      pInitialData    = rhs.pInitialData;
+  PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR &
+  operator=(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineCacheCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR &
+  setShaderZeroInitializeWorkgroupMemory(
+      VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory_)
+      VULKAN_HPP_NOEXCEPT {
+    shaderZeroInitializeWorkgroupMemory = shaderZeroInitializeWorkgroupMemory_;
+    return *this;
+  }
 
-    PipelineCacheCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  operator VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR *>(this);
+  }
 
-    PipelineCacheCreateInfo & setInitialDataSize( size_t initialDataSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialDataSize = initialDataSize_;
-      return *this;
-    }
+  operator VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR *>(this);
+  }
 
-    PipelineCacheCreateInfo & setPInitialData( const void * pInitialData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pInitialData = pInitialData_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    PipelineCacheCreateInfo &
-      setInitialData( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & initialData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialDataSize = initialData_.size() * sizeof( T );
-      pInitialData    = initialData_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPipelineCacheCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineCacheCreateInfo *>( this );
-    }
-
-    operator VkPipelineCacheCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineCacheCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCacheCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const
+                       &) const = default;
 #else
-    bool operator==( PipelineCacheCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( initialDataSize == rhs.initialDataSize ) && ( pInitialData == rhs.pInitialData );
-    }
+  bool operator==(PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shaderZeroInitializeWorkgroupMemory ==
+            rhs.shaderZeroInitializeWorkgroupMemory);
+  }
 
-    bool operator!=( PipelineCacheCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType           = StructureType::ePipelineCacheCreateInfo;
-    const void *                                   pNext           = {};
-    VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags           = {};
-    size_t                                         initialDataSize = {};
-    const void *                                   pInitialData    = {};
-  };
-  static_assert( sizeof( PipelineCacheCreateInfo ) == sizeof( VkPipelineCacheCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineCacheCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory = {};
+};
+static_assert(
+    sizeof(PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR) ==
+        sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR),
+    "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<
+        PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineCacheCreateInfo>
-  {
-    using Type = PipelineCacheCreateInfo;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR> {
+  using Type = PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
+};
 
-  struct PipelineColorBlendAdvancedStateCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineColorBlendAdvancedStateCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineColorBlendAdvancedStateCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::Bool32          srcPremultiplied_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32          dstPremultiplied_ = {},
-      VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_     = VULKAN_HPP_NAMESPACE::BlendOverlapEXT::eUncorrelated )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineColorBlendAdvancedStateCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_ = {},
+      VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_ =
+          VULKAN_HPP_NAMESPACE::BlendOverlapEXT::eUncorrelated)
+      VULKAN_HPP_NOEXCEPT : srcPremultiplied(srcPremultiplied_),
+                            dstPremultiplied(dstPremultiplied_),
+                            blendOverlap(blendOverlap_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineColorBlendAdvancedStateCreateInfoEXT(
+      PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineColorBlendAdvancedStateCreateInfoEXT(
+      VkPipelineColorBlendAdvancedStateCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-      : srcPremultiplied( srcPremultiplied_ )
-      , dstPremultiplied( dstPremultiplied_ )
-      , blendOverlap( blendOverlap_ )
-    {}
+      : PipelineColorBlendAdvancedStateCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineColorBlendAdvancedStateCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineColorBlendAdvancedStateCreateInfoEXT( VkPipelineColorBlendAdvancedStateCreateInfoEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAdvancedStateCreateInfoEXT &
+  operator=(PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineColorBlendAdvancedStateCreateInfoEXT &
-      operator=( VkPipelineColorBlendAdvancedStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  PipelineColorBlendAdvancedStateCreateInfoEXT &
+  operator=(VkPipelineColorBlendAdvancedStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    PipelineColorBlendAdvancedStateCreateInfoEXT &
-      operator=( PipelineColorBlendAdvancedStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      srcPremultiplied = rhs.srcPremultiplied;
-      dstPremultiplied = rhs.dstPremultiplied;
-      blendOverlap     = rhs.blendOverlap;
+  PipelineColorBlendAdvancedStateCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineColorBlendAdvancedStateCreateInfoEXT &setSrcPremultiplied(
+      VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_) VULKAN_HPP_NOEXCEPT {
+    srcPremultiplied = srcPremultiplied_;
+    return *this;
+  }
 
-    PipelineColorBlendAdvancedStateCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineColorBlendAdvancedStateCreateInfoEXT &setDstPremultiplied(
+      VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_) VULKAN_HPP_NOEXCEPT {
+    dstPremultiplied = dstPremultiplied_;
+    return *this;
+  }
 
-    PipelineColorBlendAdvancedStateCreateInfoEXT &
-      setSrcPremultiplied( VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcPremultiplied = srcPremultiplied_;
-      return *this;
-    }
+  PipelineColorBlendAdvancedStateCreateInfoEXT &setBlendOverlap(
+      VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_) VULKAN_HPP_NOEXCEPT {
+    blendOverlap = blendOverlap_;
+    return *this;
+  }
 
-    PipelineColorBlendAdvancedStateCreateInfoEXT &
-      setDstPremultiplied( VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstPremultiplied = dstPremultiplied_;
-      return *this;
-    }
+  operator VkPipelineColorBlendAdvancedStateCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(this);
+  }
 
-    PipelineColorBlendAdvancedStateCreateInfoEXT &
-      setBlendOverlap( VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_ ) VULKAN_HPP_NOEXCEPT
-    {
-      blendOverlap = blendOverlap_;
-      return *this;
-    }
+  operator VkPipelineColorBlendAdvancedStateCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkPipelineColorBlendAdvancedStateCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT *>( this );
-    }
-
-    operator VkPipelineColorBlendAdvancedStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineColorBlendAdvancedStateCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineColorBlendAdvancedStateCreateInfoEXT const &) const =
+      default;
 #else
-    bool operator==( PipelineColorBlendAdvancedStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcPremultiplied == rhs.srcPremultiplied ) &&
-             ( dstPremultiplied == rhs.dstPremultiplied ) && ( blendOverlap == rhs.blendOverlap );
-    }
+  bool operator==(PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (srcPremultiplied == rhs.srcPremultiplied) &&
+           (dstPremultiplied == rhs.dstPremultiplied) &&
+           (blendOverlap == rhs.blendOverlap);
+  }
 
-    bool operator!=( PipelineColorBlendAdvancedStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              srcPremultiplied = {};
-    VULKAN_HPP_NAMESPACE::Bool32              dstPremultiplied = {};
-    VULKAN_HPP_NAMESPACE::BlendOverlapEXT     blendOverlap     = VULKAN_HPP_NAMESPACE::BlendOverlapEXT::eUncorrelated;
-  };
-  static_assert( sizeof( PipelineColorBlendAdvancedStateCreateInfoEXT ) ==
-                   sizeof( VkPipelineColorBlendAdvancedStateCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineColorBlendAdvancedStateCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied = {};
+  VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied = {};
+  VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap =
+      VULKAN_HPP_NAMESPACE::BlendOverlapEXT::eUncorrelated;
+};
+static_assert(sizeof(PipelineColorBlendAdvancedStateCreateInfoEXT) ==
+                  sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineColorBlendAdvancedStateCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT>
-  {
-    using Type = PipelineColorBlendAdvancedStateCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT> {
+  using Type = PipelineColorBlendAdvancedStateCreateInfoEXT;
+};
 
-  struct PipelineCompilerControlCreateInfoAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineCompilerControlCreateInfoAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineCompilerControlCreateInfoAMD;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineCompilerControlCreateInfoAMD(
-      VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD compilerControlFlags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : compilerControlFlags( compilerControlFlags_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineCompilerControlCreateInfoAMD(
+      VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD
+          compilerControlFlags_ = {}) VULKAN_HPP_NOEXCEPT
+      : compilerControlFlags(compilerControlFlags_) {}
 
-    PipelineCompilerControlCreateInfoAMD( VkPipelineCompilerControlCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PipelineCompilerControlCreateInfoAMD(
+      PipelineCompilerControlCreateInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineCompilerControlCreateInfoAMD &
-      operator=( VkPipelineCompilerControlCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD const *>( &rhs );
-      return *this;
-    }
+  PipelineCompilerControlCreateInfoAMD(
+      VkPipelineCompilerControlCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineCompilerControlCreateInfoAMD(
+            *reinterpret_cast<PipelineCompilerControlCreateInfoAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineCompilerControlCreateInfoAMD &
-      operator=( PipelineCompilerControlCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      compilerControlFlags = rhs.compilerControlFlags;
+  VULKAN_HPP_CONSTEXPR_14 PipelineCompilerControlCreateInfoAMD &
+  operator=(PipelineCompilerControlCreateInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PipelineCompilerControlCreateInfoAMD &operator=(
+      VkPipelineCompilerControlCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD const *>(
+        &rhs);
+    return *this;
+  }
 
-    PipelineCompilerControlCreateInfoAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineCompilerControlCreateInfoAMD &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineCompilerControlCreateInfoAMD & setCompilerControlFlags(
-      VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD compilerControlFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compilerControlFlags = compilerControlFlags_;
-      return *this;
-    }
+  PipelineCompilerControlCreateInfoAMD &
+  setCompilerControlFlags(VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD
+                              compilerControlFlags_) VULKAN_HPP_NOEXCEPT {
+    compilerControlFlags = compilerControlFlags_;
+    return *this;
+  }
 
-    operator VkPipelineCompilerControlCreateInfoAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD *>( this );
-    }
+  operator VkPipelineCompilerControlCreateInfoAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD *>(
+        this);
+  }
 
-    operator VkPipelineCompilerControlCreateInfoAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineCompilerControlCreateInfoAMD *>( this );
-    }
+  operator VkPipelineCompilerControlCreateInfoAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineCompilerControlCreateInfoAMD *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCompilerControlCreateInfoAMD const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PipelineCompilerControlCreateInfoAMD const &) const = default;
 #else
-    bool operator==( PipelineCompilerControlCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( compilerControlFlags == rhs.compilerControlFlags );
-    }
+  bool operator==(PipelineCompilerControlCreateInfoAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (compilerControlFlags == rhs.compilerControlFlags);
+  }
 
-    bool operator!=( PipelineCompilerControlCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineCompilerControlCreateInfoAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType             sType = StructureType::ePipelineCompilerControlCreateInfoAMD;
-    const void *                                          pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD compilerControlFlags = {};
-  };
-  static_assert( sizeof( PipelineCompilerControlCreateInfoAMD ) == sizeof( VkPipelineCompilerControlCreateInfoAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineCompilerControlCreateInfoAMD>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineCompilerControlCreateInfoAMD;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD compilerControlFlags =
+      {};
+};
+static_assert(sizeof(PipelineCompilerControlCreateInfoAMD) ==
+                  sizeof(VkPipelineCompilerControlCreateInfoAMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineCompilerControlCreateInfoAMD>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineCompilerControlCreateInfoAMD>
-  {
-    using Type = PipelineCompilerControlCreateInfoAMD;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineCompilerControlCreateInfoAMD> {
+  using Type = PipelineCompilerControlCreateInfoAMD;
+};
 
-  struct PipelineCoverageModulationStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineCoverageModulationStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineCoverageModulationStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineCoverageModulationStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags_ = {},
-      VULKAN_HPP_NAMESPACE::CoverageModulationModeNV                     coverageModulationMode_ =
-        VULKAN_HPP_NAMESPACE::CoverageModulationModeNV::eNone,
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineCoverageModulationStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV
+          flags_ = {},
+      VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_ =
+          VULKAN_HPP_NAMESPACE::CoverageModulationModeNV::eNone,
       VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_ = {},
-      uint32_t                     coverageModulationTableCount_  = {},
-      const float *                pCoverageModulationTable_      = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , coverageModulationMode( coverageModulationMode_ )
-      , coverageModulationTableEnable( coverageModulationTableEnable_ )
-      , coverageModulationTableCount( coverageModulationTableCount_ )
-      , pCoverageModulationTable( pCoverageModulationTable_ )
-    {}
+      uint32_t coverageModulationTableCount_ = {},
+      const float *pCoverageModulationTable_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        coverageModulationMode(coverageModulationMode_),
+        coverageModulationTableEnable(coverageModulationTableEnable_),
+        coverageModulationTableCount(coverageModulationTableCount_),
+        pCoverageModulationTable(pCoverageModulationTable_) {}
 
-    PipelineCoverageModulationStateCreateInfoNV( VkPipelineCoverageModulationStateCreateInfoNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineCoverageModulationStateCreateInfoNV(
+      PipelineCoverageModulationStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineCoverageModulationStateCreateInfoNV(
+      VkPipelineCoverageModulationStateCreateInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : PipelineCoverageModulationStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineCoverageModulationStateCreateInfoNV const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineCoverageModulationStateCreateInfoNV(
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineCoverageModulationStateCreateInfoNV(
       VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags_,
-      VULKAN_HPP_NAMESPACE::CoverageModulationModeNV                     coverageModulationMode_,
-      VULKAN_HPP_NAMESPACE::Bool32                                       coverageModulationTableEnable_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const & coverageModulationTable_ )
-      : flags( flags_ )
-      , coverageModulationMode( coverageModulationMode_ )
-      , coverageModulationTableEnable( coverageModulationTableEnable_ )
-      , coverageModulationTableCount( static_cast<uint32_t>( coverageModulationTable_.size() ) )
-      , pCoverageModulationTable( coverageModulationTable_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_,
+      VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const
+          &coverageModulationTable_)
+      : flags(flags_), coverageModulationMode(coverageModulationMode_),
+        coverageModulationTableEnable(coverageModulationTableEnable_),
+        coverageModulationTableCount(
+            static_cast<uint32_t>(coverageModulationTable_.size())),
+        pCoverageModulationTable(coverageModulationTable_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineCoverageModulationStateCreateInfoNV &
-      operator=( VkPipelineCoverageModulationStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineCoverageModulationStateCreateInfoNV &
+  operator=(PipelineCoverageModulationStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineCoverageModulationStateCreateInfoNV &
-      operator=( PipelineCoverageModulationStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                         = rhs.pNext;
-      flags                         = rhs.flags;
-      coverageModulationMode        = rhs.coverageModulationMode;
-      coverageModulationTableEnable = rhs.coverageModulationTableEnable;
-      coverageModulationTableCount  = rhs.coverageModulationTableCount;
-      pCoverageModulationTable      = rhs.pCoverageModulationTable;
+  PipelineCoverageModulationStateCreateInfoNV &
+  operator=(VkPipelineCoverageModulationStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineCoverageModulationStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineCoverageModulationStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineCoverageModulationStateCreateInfoNV &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PipelineCoverageModulationStateCreateInfoNV &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  PipelineCoverageModulationStateCreateInfoNV &setCoverageModulationMode(
+      VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_)
+      VULKAN_HPP_NOEXCEPT {
+    coverageModulationMode = coverageModulationMode_;
+    return *this;
+  }
 
-    PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationMode(
-      VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageModulationMode = coverageModulationMode_;
-      return *this;
-    }
+  PipelineCoverageModulationStateCreateInfoNV &setCoverageModulationTableEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_)
+      VULKAN_HPP_NOEXCEPT {
+    coverageModulationTableEnable = coverageModulationTableEnable_;
+    return *this;
+  }
 
-    PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationTableEnable(
-      VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageModulationTableEnable = coverageModulationTableEnable_;
-      return *this;
-    }
+  PipelineCoverageModulationStateCreateInfoNV &setCoverageModulationTableCount(
+      uint32_t coverageModulationTableCount_) VULKAN_HPP_NOEXCEPT {
+    coverageModulationTableCount = coverageModulationTableCount_;
+    return *this;
+  }
 
-    PipelineCoverageModulationStateCreateInfoNV &
-      setCoverageModulationTableCount( uint32_t coverageModulationTableCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageModulationTableCount = coverageModulationTableCount_;
-      return *this;
-    }
+  PipelineCoverageModulationStateCreateInfoNV &setPCoverageModulationTable(
+      const float *pCoverageModulationTable_) VULKAN_HPP_NOEXCEPT {
+    pCoverageModulationTable = pCoverageModulationTable_;
+    return *this;
+  }
 
-    PipelineCoverageModulationStateCreateInfoNV &
-      setPCoverageModulationTable( const float * pCoverageModulationTable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCoverageModulationTable = pCoverageModulationTable_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineCoverageModulationStateCreateInfoNV &setCoverageModulationTable(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const
+          &coverageModulationTable_) VULKAN_HPP_NOEXCEPT {
+    coverageModulationTableCount =
+        static_cast<uint32_t>(coverageModulationTable_.size());
+    pCoverageModulationTable = coverageModulationTable_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationTable(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const & coverageModulationTable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageModulationTableCount = static_cast<uint32_t>( coverageModulationTable_.size() );
-      pCoverageModulationTable     = coverageModulationTable_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineCoverageModulationStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineCoverageModulationStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineCoverageModulationStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineCoverageModulationStateCreateInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV *>(
+        this);
+  }
 
-    operator VkPipelineCoverageModulationStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCoverageModulationStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineCoverageModulationStateCreateInfoNV const &) const =
+      default;
 #else
-    bool operator==( PipelineCoverageModulationStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( coverageModulationMode == rhs.coverageModulationMode ) &&
-             ( coverageModulationTableEnable == rhs.coverageModulationTableEnable ) &&
-             ( coverageModulationTableCount == rhs.coverageModulationTableCount ) &&
-             ( pCoverageModulationTable == rhs.pCoverageModulationTable );
-    }
+  bool operator==(PipelineCoverageModulationStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (coverageModulationMode == rhs.coverageModulationMode) &&
+           (coverageModulationTableEnable ==
+            rhs.coverageModulationTableEnable) &&
+           (coverageModulationTableCount == rhs.coverageModulationTableCount) &&
+           (pCoverageModulationTable == rhs.pCoverageModulationTable);
+  }
 
-    bool operator!=( PipelineCoverageModulationStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineCoverageModulationStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCoverageModulationStateCreateInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags = {};
-    VULKAN_HPP_NAMESPACE::CoverageModulationModeNV                     coverageModulationMode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineCoverageModulationStateCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags = {};
+  VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode =
       VULKAN_HPP_NAMESPACE::CoverageModulationModeNV::eNone;
-    VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable = {};
-    uint32_t                     coverageModulationTableCount  = {};
-    const float *                pCoverageModulationTable      = {};
-  };
-  static_assert( sizeof( PipelineCoverageModulationStateCreateInfoNV ) ==
-                   sizeof( VkPipelineCoverageModulationStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineCoverageModulationStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable = {};
+  uint32_t coverageModulationTableCount = {};
+  const float *pCoverageModulationTable = {};
+};
+static_assert(sizeof(PipelineCoverageModulationStateCreateInfoNV) ==
+                  sizeof(VkPipelineCoverageModulationStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineCoverageModulationStateCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineCoverageModulationStateCreateInfoNV>
-  {
-    using Type = PipelineCoverageModulationStateCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineCoverageModulationStateCreateInfoNV> {
+  using Type = PipelineCoverageModulationStateCreateInfoNV;
+};
 
-  struct PipelineCoverageReductionStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineCoverageReductionStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineCoverageReductionStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineCoverageReductionStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags_ = {},
-      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV                     coverageReductionMode_ =
-        VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , coverageReductionMode( coverageReductionMode_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineCoverageReductionStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags_ =
+          {},
+      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_ =
+          VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge)
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            coverageReductionMode(coverageReductionMode_) {}
 
-    PipelineCoverageReductionStateCreateInfoNV( VkPipelineCoverageReductionStateCreateInfoNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineCoverageReductionStateCreateInfoNV(
+      PipelineCoverageReductionStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineCoverageReductionStateCreateInfoNV(
+      VkPipelineCoverageReductionStateCreateInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineCoverageReductionStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineCoverageReductionStateCreateInfoNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineCoverageReductionStateCreateInfoNV &
-      operator=( VkPipelineCoverageReductionStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineCoverageReductionStateCreateInfoNV &
+  operator=(PipelineCoverageReductionStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineCoverageReductionStateCreateInfoNV &
-      operator=( PipelineCoverageReductionStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      flags                 = rhs.flags;
-      coverageReductionMode = rhs.coverageReductionMode;
+  PipelineCoverageReductionStateCreateInfoNV &
+  operator=(VkPipelineCoverageReductionStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineCoverageReductionStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineCoverageReductionStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineCoverageReductionStateCreateInfoNV &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PipelineCoverageReductionStateCreateInfoNV &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  PipelineCoverageReductionStateCreateInfoNV &setCoverageReductionMode(
+      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_)
+      VULKAN_HPP_NOEXCEPT {
+    coverageReductionMode = coverageReductionMode_;
+    return *this;
+  }
 
-    PipelineCoverageReductionStateCreateInfoNV & setCoverageReductionMode(
-      VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageReductionMode = coverageReductionMode_;
-      return *this;
-    }
+  operator VkPipelineCoverageReductionStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineCoverageReductionStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineCoverageReductionStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineCoverageReductionStateCreateInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineCoverageReductionStateCreateInfoNV *>(
+        this);
+  }
 
-    operator VkPipelineCoverageReductionStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineCoverageReductionStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCoverageReductionStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineCoverageReductionStateCreateInfoNV const &) const =
+      default;
 #else
-    bool operator==( PipelineCoverageReductionStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( coverageReductionMode == rhs.coverageReductionMode );
-    }
+  bool operator==(PipelineCoverageReductionStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (coverageReductionMode == rhs.coverageReductionMode);
+  }
 
-    bool operator!=( PipelineCoverageReductionStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineCoverageReductionStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCoverageReductionStateCreateInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags = {};
-    VULKAN_HPP_NAMESPACE::CoverageReductionModeNV                     coverageReductionMode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineCoverageReductionStateCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags = {};
+  VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode =
       VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge;
-  };
-  static_assert( sizeof( PipelineCoverageReductionStateCreateInfoNV ) ==
-                   sizeof( VkPipelineCoverageReductionStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineCoverageReductionStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(PipelineCoverageReductionStateCreateInfoNV) ==
+                  sizeof(VkPipelineCoverageReductionStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineCoverageReductionStateCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineCoverageReductionStateCreateInfoNV>
-  {
-    using Type = PipelineCoverageReductionStateCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineCoverageReductionStateCreateInfoNV> {
+  using Type = PipelineCoverageReductionStateCreateInfoNV;
+};
 
-  struct PipelineCoverageToColorStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineCoverageToColorStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineCoverageToColorStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineCoverageToColorStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags_                 = {},
-      VULKAN_HPP_NAMESPACE::Bool32                                    coverageToColorEnable_ = {},
-      uint32_t coverageToColorLocation_                                                      = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , coverageToColorEnable( coverageToColorEnable_ )
-      , coverageToColorLocation( coverageToColorLocation_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineCoverageToColorStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags_ =
+          {},
+      VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable_ = {},
+      uint32_t coverageToColorLocation_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        coverageToColorEnable(coverageToColorEnable_),
+        coverageToColorLocation(coverageToColorLocation_) {}
 
-    PipelineCoverageToColorStateCreateInfoNV( VkPipelineCoverageToColorStateCreateInfoNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineCoverageToColorStateCreateInfoNV(
+      PipelineCoverageToColorStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineCoverageToColorStateCreateInfoNV(
+      VkPipelineCoverageToColorStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineCoverageToColorStateCreateInfoNV(
+            *reinterpret_cast<PipelineCoverageToColorStateCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PipelineCoverageToColorStateCreateInfoNV &
+  operator=(PipelineCoverageToColorStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineCoverageToColorStateCreateInfoNV &
+  operator=(VkPipelineCoverageToColorStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  PipelineCoverageToColorStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PipelineCoverageToColorStateCreateInfoNV &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  PipelineCoverageToColorStateCreateInfoNV &setCoverageToColorEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable_) VULKAN_HPP_NOEXCEPT {
+    coverageToColorEnable = coverageToColorEnable_;
+    return *this;
+  }
+
+  PipelineCoverageToColorStateCreateInfoNV &setCoverageToColorLocation(
+      uint32_t coverageToColorLocation_) VULKAN_HPP_NOEXCEPT {
+    coverageToColorLocation = coverageToColorLocation_;
+    return *this;
+  }
+
+  operator VkPipelineCoverageToColorStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineCoverageToColorStateCreateInfoNV *>(this);
+  }
+
+  operator VkPipelineCoverageToColorStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PipelineCoverageToColorStateCreateInfoNV const &) const = default;
+#else
+  bool operator==(PipelineCoverageToColorStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (coverageToColorEnable == rhs.coverageToColorEnable) &&
+           (coverageToColorLocation == rhs.coverageToColorLocation);
+  }
+
+  bool operator!=(PipelineCoverageToColorStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineCoverageToColorStateCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags = {};
+  VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable = {};
+  uint32_t coverageToColorLocation = {};
+};
+static_assert(sizeof(PipelineCoverageToColorStateCreateInfoNV) ==
+                  sizeof(VkPipelineCoverageToColorStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineCoverageToColorStateCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineCoverageToColorStateCreateInfoNV> {
+  using Type = PipelineCoverageToColorStateCreateInfoNV;
+};
+
+struct PipelineCreationFeedbackEXT {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackEXT(
+      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackFlagsEXT flags_ = {},
+      uint64_t duration_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                     duration(duration_) {}
+
+  VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackEXT(
+      PipelineCreationFeedbackEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineCreationFeedbackEXT(VkPipelineCreationFeedbackEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineCreationFeedbackEXT(
+            *reinterpret_cast<PipelineCreationFeedbackEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineCoverageToColorStateCreateInfoNV &
-      operator=( VkPipelineCoverageToColorStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineCreationFeedbackEXT &operator=(
+      PipelineCreationFeedbackEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineCoverageToColorStateCreateInfoNV &
-      operator=( PipelineCoverageToColorStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      flags                   = rhs.flags;
-      coverageToColorEnable   = rhs.coverageToColorEnable;
-      coverageToColorLocation = rhs.coverageToColorLocation;
+  PipelineCreationFeedbackEXT &
+  operator=(VkPipelineCreationFeedbackEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkPipelineCreationFeedbackEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineCreationFeedbackEXT *>(this);
+  }
 
-    PipelineCoverageToColorStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkPipelineCreationFeedbackEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineCreationFeedbackEXT *>(this);
+  }
 
-    PipelineCoverageToColorStateCreateInfoNV &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineCoverageToColorStateCreateInfoNV &
-      setCoverageToColorEnable( VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageToColorEnable = coverageToColorEnable_;
-      return *this;
-    }
-
-    PipelineCoverageToColorStateCreateInfoNV &
-      setCoverageToColorLocation( uint32_t coverageToColorLocation_ ) VULKAN_HPP_NOEXCEPT
-    {
-      coverageToColorLocation = coverageToColorLocation_;
-      return *this;
-    }
-
-    operator VkPipelineCoverageToColorStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV *>( this );
-    }
-
-    operator VkPipelineCoverageToColorStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCoverageToColorStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineCreationFeedbackEXT const &) const = default;
 #else
-    bool operator==( PipelineCoverageToColorStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( coverageToColorEnable == rhs.coverageToColorEnable ) &&
-             ( coverageToColorLocation == rhs.coverageToColorLocation );
-    }
+  bool
+  operator==(PipelineCreationFeedbackEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (flags == rhs.flags) && (duration == rhs.duration);
+  }
 
-    bool operator!=( PipelineCoverageToColorStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(PipelineCreationFeedbackEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCoverageToColorStateCreateInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags                   = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                    coverageToColorEnable   = {};
-    uint32_t                                                        coverageToColorLocation = {};
-  };
-  static_assert( sizeof( PipelineCoverageToColorStateCreateInfoNV ) ==
-                   sizeof( VkPipelineCoverageToColorStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineCoverageToColorStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackFlagsEXT flags = {};
+  uint64_t duration = {};
+};
+static_assert(sizeof(PipelineCreationFeedbackEXT) ==
+                  sizeof(VkPipelineCreationFeedbackEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PipelineCreationFeedbackEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineCoverageToColorStateCreateInfoNV>
-  {
-    using Type = PipelineCoverageToColorStateCreateInfoNV;
-  };
-
-  struct PipelineCreationFeedbackEXT
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PipelineCreationFeedbackEXT( VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackFlagsEXT flags_ = {},
-                                 uint64_t duration_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , duration( duration_ )
-    {}
-
-    PipelineCreationFeedbackEXT( VkPipelineCreationFeedbackEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineCreationFeedbackEXT & operator=( VkPipelineCreationFeedbackEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT const *>( &rhs );
-      return *this;
-    }
-
-    operator VkPipelineCreationFeedbackEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineCreationFeedbackEXT *>( this );
-    }
-
-    operator VkPipelineCreationFeedbackEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineCreationFeedbackEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCreationFeedbackEXT const & ) const = default;
-#else
-    bool operator==( PipelineCreationFeedbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( flags == rhs.flags ) && ( duration == rhs.duration );
-    }
-
-    bool operator!=( PipelineCreationFeedbackEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackFlagsEXT flags    = {};
-    uint64_t                                               duration = {};
-  };
-  static_assert( sizeof( PipelineCreationFeedbackEXT ) == sizeof( VkPipelineCreationFeedbackEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineCreationFeedbackEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct PipelineCreationFeedbackCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineCreationFeedbackCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineCreationFeedbackCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT * pPipelineCreationFeedback_          = {},
-      uint32_t                                            pipelineStageCreationFeedbackCount_ = {},
-      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT * pPipelineStageCreationFeedbacks_    = {} ) VULKAN_HPP_NOEXCEPT
-      : pPipelineCreationFeedback( pPipelineCreationFeedback_ )
-      , pipelineStageCreationFeedbackCount( pipelineStageCreationFeedbackCount_ )
-      , pPipelineStageCreationFeedbacks( pPipelineStageCreationFeedbacks_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT
+          *pPipelineCreationFeedback_ = {},
+      uint32_t pipelineStageCreationFeedbackCount_ = {},
+      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT
+          *pPipelineStageCreationFeedbacks_ = {}) VULKAN_HPP_NOEXCEPT
+      : pPipelineCreationFeedback(pPipelineCreationFeedback_),
+        pipelineStageCreationFeedbackCount(pipelineStageCreationFeedbackCount_),
+        pPipelineStageCreationFeedbacks(pPipelineStageCreationFeedbacks_) {}
 
-    PipelineCreationFeedbackCreateInfoEXT( VkPipelineCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackCreateInfoEXT(
+      PipelineCreationFeedbackCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineCreationFeedbackCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT * pPipelineCreationFeedback_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT> const &
-        pipelineStageCreationFeedbacks_ )
-      : pPipelineCreationFeedback( pPipelineCreationFeedback_ )
-      , pipelineStageCreationFeedbackCount( static_cast<uint32_t>( pipelineStageCreationFeedbacks_.size() ) )
-      , pPipelineStageCreationFeedbacks( pipelineStageCreationFeedbacks_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  PipelineCreationFeedbackCreateInfoEXT(
+      VkPipelineCreationFeedbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineCreationFeedbackCreateInfoEXT(
+            *reinterpret_cast<PipelineCreationFeedbackCreateInfoEXT const *>(
+                &rhs)) {}
 
-    PipelineCreationFeedbackCreateInfoEXT &
-      operator=( VkPipelineCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineCreationFeedbackCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT
+          *pPipelineCreationFeedback_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT> const
+          &pipelineStageCreationFeedbacks_)
+      : pPipelineCreationFeedback(pPipelineCreationFeedback_),
+        pipelineStageCreationFeedbackCount(
+            static_cast<uint32_t>(pipelineStageCreationFeedbacks_.size())),
+        pPipelineStageCreationFeedbacks(
+            pipelineStageCreationFeedbacks_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineCreationFeedbackCreateInfoEXT &
-      operator=( PipelineCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                              = rhs.pNext;
-      pPipelineCreationFeedback          = rhs.pPipelineCreationFeedback;
-      pipelineStageCreationFeedbackCount = rhs.pipelineStageCreationFeedbackCount;
-      pPipelineStageCreationFeedbacks    = rhs.pPipelineStageCreationFeedbacks;
+  VULKAN_HPP_CONSTEXPR_14 PipelineCreationFeedbackCreateInfoEXT &
+  operator=(PipelineCreationFeedbackCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PipelineCreationFeedbackCreateInfoEXT &operator=(
+      VkPipelineCreationFeedbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    PipelineCreationFeedbackCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineCreationFeedbackCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineCreationFeedbackCreateInfoEXT & setPPipelineCreationFeedback(
-      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT * pPipelineCreationFeedback_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPipelineCreationFeedback = pPipelineCreationFeedback_;
-      return *this;
-    }
+  PipelineCreationFeedbackCreateInfoEXT &setPPipelineCreationFeedback(
+      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT
+          *pPipelineCreationFeedback_) VULKAN_HPP_NOEXCEPT {
+    pPipelineCreationFeedback = pPipelineCreationFeedback_;
+    return *this;
+  }
 
-    PipelineCreationFeedbackCreateInfoEXT &
-      setPipelineStageCreationFeedbackCount( uint32_t pipelineStageCreationFeedbackCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineStageCreationFeedbackCount = pipelineStageCreationFeedbackCount_;
-      return *this;
-    }
+  PipelineCreationFeedbackCreateInfoEXT &setPipelineStageCreationFeedbackCount(
+      uint32_t pipelineStageCreationFeedbackCount_) VULKAN_HPP_NOEXCEPT {
+    pipelineStageCreationFeedbackCount = pipelineStageCreationFeedbackCount_;
+    return *this;
+  }
 
-    PipelineCreationFeedbackCreateInfoEXT & setPPipelineStageCreationFeedbacks(
-      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT * pPipelineStageCreationFeedbacks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPipelineStageCreationFeedbacks = pPipelineStageCreationFeedbacks_;
-      return *this;
-    }
+  PipelineCreationFeedbackCreateInfoEXT &setPPipelineStageCreationFeedbacks(
+      VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT
+          *pPipelineStageCreationFeedbacks_) VULKAN_HPP_NOEXCEPT {
+    pPipelineStageCreationFeedbacks = pPipelineStageCreationFeedbacks_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineCreationFeedbackCreateInfoEXT & setPipelineStageCreationFeedbacks(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT> const &
-        pipelineStageCreationFeedbacks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineStageCreationFeedbackCount = static_cast<uint32_t>( pipelineStageCreationFeedbacks_.size() );
-      pPipelineStageCreationFeedbacks    = pipelineStageCreationFeedbacks_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineCreationFeedbackCreateInfoEXT &setPipelineStageCreationFeedbacks(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT> const
+          &pipelineStageCreationFeedbacks_) VULKAN_HPP_NOEXCEPT {
+    pipelineStageCreationFeedbackCount =
+        static_cast<uint32_t>(pipelineStageCreationFeedbacks_.size());
+    pPipelineStageCreationFeedbacks = pipelineStageCreationFeedbacks_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkPipelineCreationFeedbackCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT *>( this );
-    }
+  operator VkPipelineCreationFeedbackCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkPipelineCreationFeedbackCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineCreationFeedbackCreateInfoEXT *>( this );
-    }
+  operator VkPipelineCreationFeedbackCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineCreationFeedbackCreateInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineCreationFeedbackCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PipelineCreationFeedbackCreateInfoEXT const &) const = default;
 #else
-    bool operator==( PipelineCreationFeedbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( pPipelineCreationFeedback == rhs.pPipelineCreationFeedback ) &&
-             ( pipelineStageCreationFeedbackCount == rhs.pipelineStageCreationFeedbackCount ) &&
-             ( pPipelineStageCreationFeedbacks == rhs.pPipelineStageCreationFeedbacks );
-    }
+  bool operator==(PipelineCreationFeedbackCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (pPipelineCreationFeedback == rhs.pPipelineCreationFeedback) &&
+           (pipelineStageCreationFeedbackCount ==
+            rhs.pipelineStageCreationFeedbackCount) &&
+           (pPipelineStageCreationFeedbacks ==
+            rhs.pPipelineStageCreationFeedbacks);
+  }
 
-    bool operator!=( PipelineCreationFeedbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineCreationFeedbackCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType = StructureType::ePipelineCreationFeedbackCreateInfoEXT;
-    const void *                                        pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT * pPipelineCreationFeedback          = {};
-    uint32_t                                            pipelineStageCreationFeedbackCount = {};
-    VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT * pPipelineStageCreationFeedbacks    = {};
-  };
-  static_assert( sizeof( PipelineCreationFeedbackCreateInfoEXT ) == sizeof( VkPipelineCreationFeedbackCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineCreationFeedbackCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineCreationFeedbackCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT *pPipelineCreationFeedback =
+      {};
+  uint32_t pipelineStageCreationFeedbackCount = {};
+  VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT
+      *pPipelineStageCreationFeedbacks = {};
+};
+static_assert(sizeof(PipelineCreationFeedbackCreateInfoEXT) ==
+                  sizeof(VkPipelineCreationFeedbackCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineCreationFeedbackCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineCreationFeedbackCreateInfoEXT>
-  {
-    using Type = PipelineCreationFeedbackCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineCreationFeedbackCreateInfoEXT> {
+  using Type = PipelineCreationFeedbackCreateInfoEXT;
+};
 
-  struct PipelineDiscardRectangleStateCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineDiscardRectangleStateCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineDiscardRectangleStateCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineDiscardRectangleStateCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_ = {},
-      VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT                     discardRectangleMode_ =
-        VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT::eInclusive,
-      uint32_t                             discardRectangleCount_ = {},
-      const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , discardRectangleMode( discardRectangleMode_ )
-      , discardRectangleCount( discardRectangleCount_ )
-      , pDiscardRectangles( pDiscardRectangles_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineDiscardRectangleStateCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_ =
+          {},
+      VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_ =
+          VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT::eInclusive,
+      uint32_t discardRectangleCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Rect2D *pDiscardRectangles_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            discardRectangleMode(discardRectangleMode_),
+                            discardRectangleCount(discardRectangleCount_),
+                            pDiscardRectangles(pDiscardRectangles_) {}
 
-    PipelineDiscardRectangleStateCreateInfoEXT( VkPipelineDiscardRectangleStateCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineDiscardRectangleStateCreateInfoEXT(
+      PipelineDiscardRectangleStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineDiscardRectangleStateCreateInfoEXT(
+      VkPipelineDiscardRectangleStateCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : PipelineDiscardRectangleStateCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineDiscardRectangleStateCreateInfoEXT const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineDiscardRectangleStateCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT                         flags_,
-      VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT                                             discardRectangleMode_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles_ )
-      : flags( flags_ )
-      , discardRectangleMode( discardRectangleMode_ )
-      , discardRectangleCount( static_cast<uint32_t>( discardRectangles_.size() ) )
-      , pDiscardRectangles( discardRectangles_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineDiscardRectangleStateCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_,
+      VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &discardRectangles_)
+      : flags(flags_), discardRectangleMode(discardRectangleMode_),
+        discardRectangleCount(static_cast<uint32_t>(discardRectangles_.size())),
+        pDiscardRectangles(discardRectangles_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineDiscardRectangleStateCreateInfoEXT &
-      operator=( VkPipelineDiscardRectangleStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineDiscardRectangleStateCreateInfoEXT &
+  operator=(PipelineDiscardRectangleStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineDiscardRectangleStateCreateInfoEXT &
-      operator=( PipelineDiscardRectangleStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      flags                 = rhs.flags;
-      discardRectangleMode  = rhs.discardRectangleMode;
-      discardRectangleCount = rhs.discardRectangleCount;
-      pDiscardRectangles    = rhs.pDiscardRectangles;
+  PipelineDiscardRectangleStateCreateInfoEXT &
+  operator=(VkPipelineDiscardRectangleStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineDiscardRectangleStateCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineDiscardRectangleStateCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineDiscardRectangleStateCreateInfoEXT &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PipelineDiscardRectangleStateCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  PipelineDiscardRectangleStateCreateInfoEXT &setDiscardRectangleMode(
+      VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_)
+      VULKAN_HPP_NOEXCEPT {
+    discardRectangleMode = discardRectangleMode_;
+    return *this;
+  }
 
-    PipelineDiscardRectangleStateCreateInfoEXT &
-      setDiscardRectangleMode( VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      discardRectangleMode = discardRectangleMode_;
-      return *this;
-    }
+  PipelineDiscardRectangleStateCreateInfoEXT &setDiscardRectangleCount(
+      uint32_t discardRectangleCount_) VULKAN_HPP_NOEXCEPT {
+    discardRectangleCount = discardRectangleCount_;
+    return *this;
+  }
 
-    PipelineDiscardRectangleStateCreateInfoEXT &
-      setDiscardRectangleCount( uint32_t discardRectangleCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      discardRectangleCount = discardRectangleCount_;
-      return *this;
-    }
+  PipelineDiscardRectangleStateCreateInfoEXT &
+  setPDiscardRectangles(const VULKAN_HPP_NAMESPACE::Rect2D *pDiscardRectangles_)
+      VULKAN_HPP_NOEXCEPT {
+    pDiscardRectangles = pDiscardRectangles_;
+    return *this;
+  }
 
-    PipelineDiscardRectangleStateCreateInfoEXT &
-      setPDiscardRectangles( const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDiscardRectangles = pDiscardRectangles_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineDiscardRectangleStateCreateInfoEXT &setDiscardRectangles(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &discardRectangles_)
+      VULKAN_HPP_NOEXCEPT {
+    discardRectangleCount = static_cast<uint32_t>(discardRectangles_.size());
+    pDiscardRectangles = discardRectangles_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineDiscardRectangleStateCreateInfoEXT & setDiscardRectangles(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      discardRectangleCount = static_cast<uint32_t>( discardRectangles_.size() );
-      pDiscardRectangles    = discardRectangles_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineDiscardRectangleStateCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineDiscardRectangleStateCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineDiscardRectangleStateCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT *>( this );
-    }
+  operator VkPipelineDiscardRectangleStateCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkPipelineDiscardRectangleStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineDiscardRectangleStateCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineDiscardRectangleStateCreateInfoEXT const &) const =
+      default;
 #else
-    bool operator==( PipelineDiscardRectangleStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( discardRectangleMode == rhs.discardRectangleMode ) &&
-             ( discardRectangleCount == rhs.discardRectangleCount ) && ( pDiscardRectangles == rhs.pDiscardRectangles );
-    }
+  bool operator==(PipelineDiscardRectangleStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (discardRectangleMode == rhs.discardRectangleMode) &&
+           (discardRectangleCount == rhs.discardRectangleCount) &&
+           (pDiscardRectangles == rhs.pDiscardRectangles);
+  }
 
-    bool operator!=( PipelineDiscardRectangleStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineDiscardRectangleStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineDiscardRectangleStateCreateInfoEXT;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags = {};
-    VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT                     discardRectangleMode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineDiscardRectangleStateCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags = {};
+  VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode =
       VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT::eInclusive;
-    uint32_t                             discardRectangleCount = {};
-    const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles    = {};
-  };
-  static_assert( sizeof( PipelineDiscardRectangleStateCreateInfoEXT ) ==
-                   sizeof( VkPipelineDiscardRectangleStateCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineDiscardRectangleStateCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  uint32_t discardRectangleCount = {};
+  const VULKAN_HPP_NAMESPACE::Rect2D *pDiscardRectangles = {};
+};
+static_assert(sizeof(PipelineDiscardRectangleStateCreateInfoEXT) ==
+                  sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineDiscardRectangleStateCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineDiscardRectangleStateCreateInfoEXT>
-  {
-    using Type = PipelineDiscardRectangleStateCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineDiscardRectangleStateCreateInfoEXT> {
+  using Type = PipelineDiscardRectangleStateCreateInfoEXT;
+};
 
-  struct PipelineExecutableInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineExecutableInfoKHR;
+struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineExecutableInfoKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {},
-                                                    uint32_t executableIndex_                = {} ) VULKAN_HPP_NOEXCEPT
-      : pipeline( pipeline_ )
-      , executableIndex( executableIndex_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV shadingRateType_ =
+          VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV::eFragmentSize,
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate_ =
+          VULKAN_HPP_NAMESPACE::FragmentShadingRateNV::e1InvocationPerPixel,
+      std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR,
+                 2> const &combinerOps_ =
+          {{VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep,
+            VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep}})
+      VULKAN_HPP_NOEXCEPT : shadingRateType(shadingRateType_),
+                            shadingRate(shadingRate_),
+                            combinerOps(combinerOps_) {}
 
-    PipelineExecutableInfoKHR( VkPipelineExecutableInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV(
+      PipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineExecutableInfoKHR & operator=( VkPipelineExecutableInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    PipelineExecutableInfoKHR & operator=( PipelineExecutableInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      pipeline        = rhs.pipeline;
-      executableIndex = rhs.executableIndex;
-
-      return *this;
-    }
-
-    PipelineExecutableInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineExecutableInfoKHR & setPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipeline = pipeline_;
-      return *this;
-    }
-
-    PipelineExecutableInfoKHR & setExecutableIndex( uint32_t executableIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      executableIndex = executableIndex_;
-      return *this;
-    }
-
-    operator VkPipelineExecutableInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineExecutableInfoKHR *>( this );
-    }
-
-    operator VkPipelineExecutableInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineExecutableInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineExecutableInfoKHR const & ) const = default;
-#else
-    bool operator==( PipelineExecutableInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipeline == rhs.pipeline ) &&
-             ( executableIndex == rhs.executableIndex );
-    }
-
-    bool operator!=( PipelineExecutableInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::ePipelineExecutableInfoKHR;
-    const void *                              pNext           = {};
-    VULKAN_HPP_NAMESPACE::Pipeline            pipeline        = {};
-    uint32_t                                  executableIndex = {};
-  };
-  static_assert( sizeof( PipelineExecutableInfoKHR ) == sizeof( VkPipelineExecutableInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineExecutableInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineExecutableInfoKHR>
-  {
-    using Type = PipelineExecutableInfoKHR;
-  };
-
-  struct PipelineExecutableInternalRepresentationKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::ePipelineExecutableInternalRepresentationKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    PipelineExecutableInternalRepresentationKHR( std::array<char, VK_MAX_DESCRIPTION_SIZE> const & name_        = {},
-                                                 std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
-                                                 VULKAN_HPP_NAMESPACE::Bool32                      isText_      = {},
-                                                 size_t                                            dataSize_    = {},
-                                                 void * pData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : name( name_ )
-      , description( description_ )
-      , isText( isText_ )
-      , dataSize( dataSize_ )
-      , pData( pData_ )
-    {}
-
-    PipelineExecutableInternalRepresentationKHR( VkPipelineExecutableInternalRepresentationKHR const & rhs )
+  PipelineFragmentShadingRateEnumStateCreateInfoNV(
+      VkPipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : PipelineFragmentShadingRateEnumStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineFragmentShadingRateEnumStateCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    PipelineExecutableInternalRepresentationKHR( std::array<char, VK_MAX_DESCRIPTION_SIZE> const &        name_,
-                                                 std::array<char, VK_MAX_DESCRIPTION_SIZE> const &        description_,
-                                                 VULKAN_HPP_NAMESPACE::Bool32                             isText_,
-                                                 VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<T> const & data_ )
-      : name( name_ )
-      , description( description_ )
-      , isText( isText_ )
-      , dataSize( data_.size() * sizeof( T ) )
-      , pData( data_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV &
+  operator=(PipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineExecutableInternalRepresentationKHR &
-      operator=( VkPipelineExecutableInternalRepresentationKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR const *>( &rhs );
-      return *this;
-    }
+  PipelineFragmentShadingRateEnumStateCreateInfoNV &
+  operator=(VkPipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineFragmentShadingRateEnumStateCreateInfoNV const *>(&rhs);
+    return *this;
+  }
 
-    PipelineExecutableInternalRepresentationKHR &
-      operator=( PipelineExecutableInternalRepresentationKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      name        = rhs.name;
-      description = rhs.description;
-      isText      = rhs.isText;
-      dataSize    = rhs.dataSize;
-      pData       = rhs.pData;
+  PipelineFragmentShadingRateEnumStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineFragmentShadingRateEnumStateCreateInfoNV &setShadingRateType(
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV shadingRateType_)
+      VULKAN_HPP_NOEXCEPT {
+    shadingRateType = shadingRateType_;
+    return *this;
+  }
 
-    operator VkPipelineExecutableInternalRepresentationKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineExecutableInternalRepresentationKHR *>( this );
-    }
+  PipelineFragmentShadingRateEnumStateCreateInfoNV &
+  setShadingRate(VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate_)
+      VULKAN_HPP_NOEXCEPT {
+    shadingRate = shadingRate_;
+    return *this;
+  }
 
-    operator VkPipelineExecutableInternalRepresentationKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( this );
-    }
+  PipelineFragmentShadingRateEnumStateCreateInfoNV &setCombinerOps(
+      std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2>
+          combinerOps_) VULKAN_HPP_NOEXCEPT {
+    combinerOps = combinerOps_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineExecutableInternalRepresentationKHR const & ) const = default;
+  operator VkPipelineFragmentShadingRateEnumStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineFragmentShadingRateEnumStateCreateInfoNV *>(this);
+  }
+
+  operator VkPipelineFragmentShadingRateEnumStateCreateInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineFragmentShadingRateEnumStateCreateInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PipelineFragmentShadingRateEnumStateCreateInfoNV const &) const = default;
 #else
-    bool operator==( PipelineExecutableInternalRepresentationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( name == rhs.name ) &&
-             ( description == rhs.description ) && ( isText == rhs.isText ) && ( dataSize == rhs.dataSize ) &&
-             ( pData == rhs.pData );
-    }
+  bool operator==(PipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shadingRateType == rhs.shadingRateType) &&
+           (shadingRate == rhs.shadingRate) && (combinerOps == rhs.combinerOps);
+  }
 
-    bool operator!=( PipelineExecutableInternalRepresentationKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineExecutableInternalRepresentationKHR;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name        = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> description = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                        isText      = {};
-    size_t                                                              dataSize    = {};
-    void *                                                              pData       = {};
-  };
-  static_assert( sizeof( PipelineExecutableInternalRepresentationKHR ) ==
-                   sizeof( VkPipelineExecutableInternalRepresentationKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineExecutableInternalRepresentationKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV shadingRateType =
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV::eFragmentSize;
+  VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate =
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateNV::e1InvocationPerPixel;
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2>
+      combinerOps = {};
+};
+static_assert(sizeof(PipelineFragmentShadingRateEnumStateCreateInfoNV) ==
+                  sizeof(VkPipelineFragmentShadingRateEnumStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineFragmentShadingRateEnumStateCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineExecutableInternalRepresentationKHR>
-  {
-    using Type = PipelineExecutableInternalRepresentationKHR;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV> {
+  using Type = PipelineFragmentShadingRateEnumStateCreateInfoNV;
+};
 
-  struct PipelineExecutablePropertiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineExecutablePropertiesKHR;
+struct PipelineFragmentShadingRateStateCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    PipelineExecutablePropertiesKHR( VULKAN_HPP_NAMESPACE::ShaderStageFlags            stages_      = {},
-                                     std::array<char, VK_MAX_DESCRIPTION_SIZE> const & name_        = {},
-                                     std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
-                                     uint32_t subgroupSize_ = {} ) VULKAN_HPP_NOEXCEPT
-      : stages( stages_ )
-      , name( name_ )
-      , description( description_ )
-      , subgroupSize( subgroupSize_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateStateCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::Extent2D fragmentSize_ = {},
+      std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR,
+                 2> const &combinerOps_ =
+          {{VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep,
+            VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep}})
+      VULKAN_HPP_NOEXCEPT : fragmentSize(fragmentSize_),
+                            combinerOps(combinerOps_) {}
 
-    PipelineExecutablePropertiesKHR( VkPipelineExecutablePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateStateCreateInfoKHR(
+      PipelineFragmentShadingRateStateCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineExecutablePropertiesKHR & operator=( VkPipelineExecutablePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    PipelineExecutablePropertiesKHR & operator=( PipelineExecutablePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      stages       = rhs.stages;
-      name         = rhs.name;
-      description  = rhs.description;
-      subgroupSize = rhs.subgroupSize;
-
-      return *this;
-    }
-
-    operator VkPipelineExecutablePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineExecutablePropertiesKHR *>( this );
-    }
-
-    operator VkPipelineExecutablePropertiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineExecutablePropertiesKHR const & ) const = default;
-#else
-    bool operator==( PipelineExecutablePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stages == rhs.stages ) && ( name == rhs.name ) &&
-             ( description == rhs.description ) && ( subgroupSize == rhs.subgroupSize );
-    }
-
-    bool operator!=( PipelineExecutablePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::ePipelineExecutablePropertiesKHR;
-    void *                                    pNext  = {};
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags    stages = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name         = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> description  = {};
-    uint32_t                                                            subgroupSize = {};
-  };
-  static_assert( sizeof( PipelineExecutablePropertiesKHR ) == sizeof( VkPipelineExecutablePropertiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineExecutablePropertiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineExecutablePropertiesKHR>
-  {
-    using Type = PipelineExecutablePropertiesKHR;
-  };
-
-  union PipelineExecutableStatisticValueKHR
-  {
-    PipelineExecutableStatisticValueKHR( VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR const & rhs )
+  PipelineFragmentShadingRateStateCreateInfoKHR(
+      VkPipelineFragmentShadingRateStateCreateInfoKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR ) );
-    }
+      : PipelineFragmentShadingRateStateCreateInfoKHR(
+            *reinterpret_cast<
+                PipelineFragmentShadingRateStateCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineExecutableStatisticValueKHR( VULKAN_HPP_NAMESPACE::Bool32 b32_ = {} ) : b32( b32_ ) {}
+  VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateStateCreateInfoKHR &
+  operator=(PipelineFragmentShadingRateStateCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineExecutableStatisticValueKHR( int64_t i64_ ) : i64( i64_ ) {}
+  PipelineFragmentShadingRateStateCreateInfoKHR &
+  operator=(VkPipelineFragmentShadingRateStateCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineFragmentShadingRateStateCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-    PipelineExecutableStatisticValueKHR( uint64_t u64_ ) : u64( u64_ ) {}
+  PipelineFragmentShadingRateStateCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineExecutableStatisticValueKHR( double f64_ ) : f64( f64_ ) {}
+  PipelineFragmentShadingRateStateCreateInfoKHR &setFragmentSize(
+      VULKAN_HPP_NAMESPACE::Extent2D const &fragmentSize_) VULKAN_HPP_NOEXCEPT {
+    fragmentSize = fragmentSize_;
+    return *this;
+  }
 
-    PipelineExecutableStatisticValueKHR & setB32( VULKAN_HPP_NAMESPACE::Bool32 b32_ ) VULKAN_HPP_NOEXCEPT
-    {
-      b32 = b32_;
-      return *this;
-    }
+  PipelineFragmentShadingRateStateCreateInfoKHR &setCombinerOps(
+      std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2>
+          combinerOps_) VULKAN_HPP_NOEXCEPT {
+    combinerOps = combinerOps_;
+    return *this;
+  }
 
-    PipelineExecutableStatisticValueKHR & setI64( int64_t i64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      i64 = i64_;
-      return *this;
-    }
+  operator VkPipelineFragmentShadingRateStateCreateInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineFragmentShadingRateStateCreateInfoKHR *>(this);
+  }
 
-    PipelineExecutableStatisticValueKHR & setU64( uint64_t u64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      u64 = u64_;
-      return *this;
-    }
+  operator VkPipelineFragmentShadingRateStateCreateInfoKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineFragmentShadingRateStateCreateInfoKHR *>(
+        this);
+  }
 
-    PipelineExecutableStatisticValueKHR & setF64( double f64_ ) VULKAN_HPP_NOEXCEPT
-    {
-      f64 = f64_;
-      return *this;
-    }
-
-    VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR &
-      operator=( VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      memcpy( static_cast<void *>( this ), &rhs, sizeof( VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR ) );
-      return *this;
-    }
-
-    operator VkPipelineExecutableStatisticValueKHR const &() const
-    {
-      return *reinterpret_cast<const VkPipelineExecutableStatisticValueKHR *>( this );
-    }
-
-    operator VkPipelineExecutableStatisticValueKHR &()
-    {
-      return *reinterpret_cast<VkPipelineExecutableStatisticValueKHR *>( this );
-    }
-
-#ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
-    VULKAN_HPP_NAMESPACE::Bool32 b32;
-    int64_t                      i64;
-    uint64_t                     u64;
-    double                       f64;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PipelineFragmentShadingRateStateCreateInfoKHR const &) const = default;
 #else
-    VkBool32 b32;
-    int64_t  i64;
-    uint64_t u64;
-    double   f64;
-#endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
-  };
+  bool operator==(PipelineFragmentShadingRateStateCreateInfoKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fragmentSize == rhs.fragmentSize) &&
+           (combinerOps == rhs.combinerOps);
+  }
 
-  struct PipelineExecutableStatisticKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineExecutableStatisticKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    PipelineExecutableStatisticKHR( std::array<char, VK_MAX_DESCRIPTION_SIZE> const &          name_        = {},
-                                    std::array<char, VK_MAX_DESCRIPTION_SIZE> const &          description_ = {},
-                                    VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR format_ =
-                                      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR::eBool32,
-                                    VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR value_ = {} )
-      VULKAN_HPP_NOEXCEPT
-      : name( name_ )
-      , description( description_ )
-      , format( format_ )
-      , value( value_ )
-    {}
-
-    PipelineExecutableStatisticKHR( VkPipelineExecutableStatisticKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineExecutableStatisticKHR & operator=( VkPipelineExecutableStatisticKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR const *>( &rhs );
-      return *this;
-    }
-
-    PipelineExecutableStatisticKHR & operator=( PipelineExecutableStatisticKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext       = rhs.pNext;
-      name        = rhs.name;
-      description = rhs.description;
-      format      = rhs.format;
-      value       = rhs.value;
-
-      return *this;
-    }
-
-    operator VkPipelineExecutableStatisticKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineExecutableStatisticKHR *>( this );
-    }
-
-    operator VkPipelineExecutableStatisticKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineExecutableStatisticKHR *>( this );
-    }
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineExecutableStatisticKHR;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name        = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> description = {};
-    VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR          format =
-      VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR::eBool32;
-    VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR value = {};
-  };
-  static_assert( sizeof( PipelineExecutableStatisticKHR ) == sizeof( VkPipelineExecutableStatisticKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineExecutableStatisticKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineExecutableStatisticKHR>
-  {
-    using Type = PipelineExecutableStatisticKHR;
-  };
-
-  struct PipelineInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineInfoKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {} ) VULKAN_HPP_NOEXCEPT
-      : pipeline( pipeline_ )
-    {}
-
-    PipelineInfoKHR( VkPipelineInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineInfoKHR & operator=( VkPipelineInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    PipelineInfoKHR & operator=( PipelineInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      pipeline = rhs.pipeline;
-
-      return *this;
-    }
-
-    PipelineInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineInfoKHR & setPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipeline = pipeline_;
-      return *this;
-    }
-
-    operator VkPipelineInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineInfoKHR *>( this );
-    }
-
-    operator VkPipelineInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineInfoKHR const & ) const = default;
-#else
-    bool     operator==( PipelineInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipeline == rhs.pipeline );
-    }
-
-    bool operator!=( PipelineInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineFragmentShadingRateStateCreateInfoKHR const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::ePipelineInfoKHR;
-    const void *                              pNext    = {};
-    VULKAN_HPP_NAMESPACE::Pipeline            pipeline = {};
-  };
-  static_assert( sizeof( PipelineInfoKHR ) == sizeof( VkPipelineInfoKHR ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineInfoKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Extent2D fragmentSize = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<
+      VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2>
+      combinerOps = {};
+};
+static_assert(sizeof(PipelineFragmentShadingRateStateCreateInfoKHR) ==
+                  sizeof(VkPipelineFragmentShadingRateStateCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineFragmentShadingRateStateCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineInfoKHR>
-  {
-    using Type = PipelineInfoKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR> {
+  using Type = PipelineFragmentShadingRateStateCreateInfoKHR;
+};
 
-  struct PushConstantRange
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PushConstantRange( VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_ = {},
-                                            uint32_t                               offset_     = {},
-                                            uint32_t                               size_ = {} ) VULKAN_HPP_NOEXCEPT
-      : stageFlags( stageFlags_ )
-      , offset( offset_ )
-      , size( size_ )
-    {}
-
-    PushConstantRange( VkPushConstantRange const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PushConstantRange & operator=( VkPushConstantRange const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PushConstantRange const *>( &rhs );
-      return *this;
-    }
-
-    PushConstantRange & setStageFlags( VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageFlags = stageFlags_;
-      return *this;
-    }
-
-    PushConstantRange & setOffset( uint32_t offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
-
-    PushConstantRange & setSize( uint32_t size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
-
-    operator VkPushConstantRange const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPushConstantRange *>( this );
-    }
-
-    operator VkPushConstantRange &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPushConstantRange *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PushConstantRange const & ) const = default;
-#else
-    bool operator==( PushConstantRange const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( stageFlags == rhs.stageFlags ) && ( offset == rhs.offset ) && ( size == rhs.size );
-    }
-
-    bool operator!=( PushConstantRange const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags = {};
-    uint32_t                               offset     = {};
-    uint32_t                               size       = {};
-  };
-  static_assert( sizeof( PushConstantRange ) == sizeof( VkPushConstantRange ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PushConstantRange>::value, "struct wrapper is not a standard layout!" );
-
-  struct PipelineLayoutCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineLayoutCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineLayoutCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags   flags_                  = {},
-      uint32_t                                          setLayoutCount_         = {},
-      const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts_            = {},
-      uint32_t                                          pushConstantRangeCount_ = {},
-      const VULKAN_HPP_NAMESPACE::PushConstantRange *   pPushConstantRanges_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , setLayoutCount( setLayoutCount_ )
-      , pSetLayouts( pSetLayouts_ )
-      , pushConstantRangeCount( pushConstantRangeCount_ )
-      , pPushConstantRanges( pPushConstantRanges_ )
-    {}
-
-    PipelineLayoutCreateInfo( VkPipelineLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineLayoutCreateInfo(
-      VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &
-        setLayouts_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PushConstantRange> const &
-        pushConstantRanges_ = {} )
-      : flags( flags_ )
-      , setLayoutCount( static_cast<uint32_t>( setLayouts_.size() ) )
-      , pSetLayouts( setLayouts_.data() )
-      , pushConstantRangeCount( static_cast<uint32_t>( pushConstantRanges_.size() ) )
-      , pPushConstantRanges( pushConstantRanges_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineLayoutCreateInfo & operator=( VkPipelineLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    PipelineLayoutCreateInfo & operator=( PipelineLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      flags                  = rhs.flags;
-      setLayoutCount         = rhs.setLayoutCount;
-      pSetLayouts            = rhs.pSetLayouts;
-      pushConstantRangeCount = rhs.pushConstantRangeCount;
-      pPushConstantRanges    = rhs.pPushConstantRanges;
-
-      return *this;
-    }
-
-    PipelineLayoutCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineLayoutCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    PipelineLayoutCreateInfo & setSetLayoutCount( uint32_t setLayoutCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      setLayoutCount = setLayoutCount_;
-      return *this;
-    }
-
-    PipelineLayoutCreateInfo &
-      setPSetLayouts( const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSetLayouts = pSetLayouts_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineLayoutCreateInfo & setSetLayouts(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const &
-        setLayouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      setLayoutCount = static_cast<uint32_t>( setLayouts_.size() );
-      pSetLayouts    = setLayouts_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    PipelineLayoutCreateInfo & setPushConstantRangeCount( uint32_t pushConstantRangeCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pushConstantRangeCount = pushConstantRangeCount_;
-      return *this;
-    }
-
-    PipelineLayoutCreateInfo &
-      setPPushConstantRanges( const VULKAN_HPP_NAMESPACE::PushConstantRange * pPushConstantRanges_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPushConstantRanges = pPushConstantRanges_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineLayoutCreateInfo & setPushConstantRanges(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PushConstantRange> const &
-        pushConstantRanges_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pushConstantRangeCount = static_cast<uint32_t>( pushConstantRanges_.size() );
-      pPushConstantRanges    = pushConstantRanges_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPipelineLayoutCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineLayoutCreateInfo *>( this );
-    }
-
-    operator VkPipelineLayoutCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineLayoutCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineLayoutCreateInfo const & ) const = default;
-#else
-    bool operator==( PipelineLayoutCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( setLayoutCount == rhs.setLayoutCount ) && ( pSetLayouts == rhs.pSetLayouts ) &&
-             ( pushConstantRangeCount == rhs.pushConstantRangeCount ) &&
-             ( pPushConstantRanges == rhs.pPushConstantRanges );
-    }
-
-    bool operator!=( PipelineLayoutCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType                  = StructureType::ePipelineLayoutCreateInfo;
-    const void *                                      pNext                  = {};
-    VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags   flags                  = {};
-    uint32_t                                          setLayoutCount         = {};
-    const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts            = {};
-    uint32_t                                          pushConstantRangeCount = {};
-    const VULKAN_HPP_NAMESPACE::PushConstantRange *   pPushConstantRanges    = {};
-  };
-  static_assert( sizeof( PipelineLayoutCreateInfo ) == sizeof( VkPipelineLayoutCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineLayoutCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineLayoutCreateInfo>
-  {
-    using Type = PipelineLayoutCreateInfo;
-  };
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct PipelineLibraryCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePipelineLibraryCreateInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PipelineLibraryCreateInfoKHR( uint32_t                               libraryCount_ = {},
-                                  const VULKAN_HPP_NAMESPACE::Pipeline * pLibraries_   = {} ) VULKAN_HPP_NOEXCEPT
-      : libraryCount( libraryCount_ )
-      , pLibraries( pLibraries_ )
-    {}
-
-    PipelineLibraryCreateInfoKHR( VkPipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineLibraryCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Pipeline> const & libraries_ )
-      : libraryCount( static_cast<uint32_t>( libraries_.size() ) ), pLibraries( libraries_.data() )
-    {}
-#    endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#  endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PipelineLibraryCreateInfoKHR & operator=( VkPipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    PipelineLibraryCreateInfoKHR & operator=( PipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      libraryCount = rhs.libraryCount;
-      pLibraries   = rhs.pLibraries;
-
-      return *this;
-    }
-
-    PipelineLibraryCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PipelineLibraryCreateInfoKHR & setLibraryCount( uint32_t libraryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      libraryCount = libraryCount_;
-      return *this;
-    }
-
-    PipelineLibraryCreateInfoKHR &
-      setPLibraries( const VULKAN_HPP_NAMESPACE::Pipeline * pLibraries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pLibraries = pLibraries_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineLibraryCreateInfoKHR & setLibraries(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Pipeline> const & libraries_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      libraryCount = static_cast<uint32_t>( libraries_.size() );
-      pLibraries   = libraries_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPipelineLibraryCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineLibraryCreateInfoKHR *>( this );
-    }
-
-    operator VkPipelineLibraryCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineLibraryCreateInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineLibraryCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( PipelineLibraryCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( libraryCount == rhs.libraryCount ) &&
-             ( pLibraries == rhs.pLibraries );
-    }
-
-    bool operator!=( PipelineLibraryCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType        = StructureType::ePipelineLibraryCreateInfoKHR;
-    const void *                              pNext        = {};
-    uint32_t                                  libraryCount = {};
-    const VULKAN_HPP_NAMESPACE::Pipeline *    pLibraries   = {};
-  };
-  static_assert( sizeof( PipelineLibraryCreateInfoKHR ) == sizeof( VkPipelineLibraryCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineLibraryCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineLibraryCreateInfoKHR>
-  {
-    using Type = PipelineLibraryCreateInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  struct PipelineRasterizationConservativeStateCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineRasterizationConservativeStateCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineRasterizationConservativeStateCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT flags_ = {},
-      VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT                     conservativeRasterizationMode_ =
-        VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT::eDisabled,
-      float extraPrimitiveOverestimationSize_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , conservativeRasterizationMode( conservativeRasterizationMode_ )
-      , extraPrimitiveOverestimationSize( extraPrimitiveOverestimationSize_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationConservativeStateCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT
+          flags_ = {},
+      VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT
+          conservativeRasterizationMode_ =
+              VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT::eDisabled,
+      float extraPrimitiveOverestimationSize_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        conservativeRasterizationMode(conservativeRasterizationMode_),
+        extraPrimitiveOverestimationSize(extraPrimitiveOverestimationSize_) {}
 
-    PipelineRasterizationConservativeStateCreateInfoEXT(
-      VkPipelineRasterizationConservativeStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationConservativeStateCreateInfoEXT(
+      PipelineRasterizationConservativeStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineRasterizationConservativeStateCreateInfoEXT &
-      operator=( VkPipelineRasterizationConservativeStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  PipelineRasterizationConservativeStateCreateInfoEXT(
+      VkPipelineRasterizationConservativeStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineRasterizationConservativeStateCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineRasterizationConservativeStateCreateInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineRasterizationConservativeStateCreateInfoEXT &
-      operator=( PipelineRasterizationConservativeStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      flags                            = rhs.flags;
-      conservativeRasterizationMode    = rhs.conservativeRasterizationMode;
-      extraPrimitiveOverestimationSize = rhs.extraPrimitiveOverestimationSize;
+  VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationConservativeStateCreateInfoEXT &
+  operator=(PipelineRasterizationConservativeStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PipelineRasterizationConservativeStateCreateInfoEXT &
+  operator=(VkPipelineRasterizationConservativeStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineRasterizationConservativeStateCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    PipelineRasterizationConservativeStateCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineRasterizationConservativeStateCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineRasterizationConservativeStateCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  PipelineRasterizationConservativeStateCreateInfoEXT &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT
+          flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PipelineRasterizationConservativeStateCreateInfoEXT & setConservativeRasterizationMode(
-      VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT conservativeRasterizationMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      conservativeRasterizationMode = conservativeRasterizationMode_;
-      return *this;
-    }
+  PipelineRasterizationConservativeStateCreateInfoEXT &
+  setConservativeRasterizationMode(
+      VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT
+          conservativeRasterizationMode_) VULKAN_HPP_NOEXCEPT {
+    conservativeRasterizationMode = conservativeRasterizationMode_;
+    return *this;
+  }
 
-    PipelineRasterizationConservativeStateCreateInfoEXT &
-      setExtraPrimitiveOverestimationSize( float extraPrimitiveOverestimationSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize_;
-      return *this;
-    }
+  PipelineRasterizationConservativeStateCreateInfoEXT &
+  setExtraPrimitiveOverestimationSize(float extraPrimitiveOverestimationSize_)
+      VULKAN_HPP_NOEXCEPT {
+    extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize_;
+    return *this;
+  }
 
-    operator VkPipelineRasterizationConservativeStateCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT *>( this );
-    }
+  operator VkPipelineRasterizationConservativeStateCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineRasterizationConservativeStateCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineRasterizationConservativeStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT *>( this );
-    }
+  operator VkPipelineRasterizationConservativeStateCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineRasterizationConservativeStateCreateInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineRasterizationConservativeStateCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineRasterizationConservativeStateCreateInfoEXT const &)
+      const = default;
 #else
-    bool operator==( PipelineRasterizationConservativeStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( conservativeRasterizationMode == rhs.conservativeRasterizationMode ) &&
-             ( extraPrimitiveOverestimationSize == rhs.extraPrimitiveOverestimationSize );
-    }
+  bool operator==(PipelineRasterizationConservativeStateCreateInfoEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (conservativeRasterizationMode ==
+            rhs.conservativeRasterizationMode) &&
+           (extraPrimitiveOverestimationSize ==
+            rhs.extraPrimitiveOverestimationSize);
+  }
 
-    bool operator!=( PipelineRasterizationConservativeStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineRasterizationConservativeStateCreateInfoEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT;
-    const void *                                                               pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT flags = {};
-    VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT                     conservativeRasterizationMode =
-      VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT::eDisabled;
-    float extraPrimitiveOverestimationSize = {};
-  };
-  static_assert( sizeof( PipelineRasterizationConservativeStateCreateInfoEXT ) ==
-                   sizeof( VkPipelineRasterizationConservativeStateCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineRasterizationConservativeStateCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT
+      flags = {};
+  VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT
+      conservativeRasterizationMode =
+          VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT::eDisabled;
+  float extraPrimitiveOverestimationSize = {};
+};
+static_assert(sizeof(PipelineRasterizationConservativeStateCreateInfoEXT) ==
+                  sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineRasterizationConservativeStateCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT>
-  {
-    using Type = PipelineRasterizationConservativeStateCreateInfoEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT> {
+  using Type = PipelineRasterizationConservativeStateCreateInfoEXT;
+};
 
-  struct PipelineRasterizationDepthClipStateCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineRasterizationDepthClipStateCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineRasterizationDepthClipStateCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT flags_ = {},
-      VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_                                  = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , depthClipEnable( depthClipEnable_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationDepthClipStateCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT
+          flags_ = {},
+      VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        depthClipEnable(depthClipEnable_) {}
 
-    PipelineRasterizationDepthClipStateCreateInfoEXT( VkPipelineRasterizationDepthClipStateCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationDepthClipStateCreateInfoEXT(
+      PipelineRasterizationDepthClipStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineRasterizationDepthClipStateCreateInfoEXT(
+      VkPipelineRasterizationDepthClipStateCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineRasterizationDepthClipStateCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineRasterizationDepthClipStateCreateInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineRasterizationDepthClipStateCreateInfoEXT &
-      operator=( VkPipelineRasterizationDepthClipStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationDepthClipStateCreateInfoEXT &
+  operator=(PipelineRasterizationDepthClipStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineRasterizationDepthClipStateCreateInfoEXT &
-      operator=( PipelineRasterizationDepthClipStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      depthClipEnable = rhs.depthClipEnable;
+  PipelineRasterizationDepthClipStateCreateInfoEXT &
+  operator=(VkPipelineRasterizationDepthClipStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineRasterizationDepthClipStateCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineRasterizationDepthClipStateCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineRasterizationDepthClipStateCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineRasterizationDepthClipStateCreateInfoEXT &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT
+          flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PipelineRasterizationDepthClipStateCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  PipelineRasterizationDepthClipStateCreateInfoEXT &setDepthClipEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_) VULKAN_HPP_NOEXCEPT {
+    depthClipEnable = depthClipEnable_;
+    return *this;
+  }
 
-    PipelineRasterizationDepthClipStateCreateInfoEXT &
-      setDepthClipEnable( VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthClipEnable = depthClipEnable_;
-      return *this;
-    }
+  operator VkPipelineRasterizationDepthClipStateCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineRasterizationDepthClipStateCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT *>( this );
-    }
+  operator VkPipelineRasterizationDepthClipStateCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineRasterizationDepthClipStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineRasterizationDepthClipStateCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineRasterizationDepthClipStateCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PipelineRasterizationDepthClipStateCreateInfoEXT const &) const = default;
 #else
-    bool operator==( PipelineRasterizationDepthClipStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( depthClipEnable == rhs.depthClipEnable );
-    }
+  bool operator==(PipelineRasterizationDepthClipStateCreateInfoEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (depthClipEnable == rhs.depthClipEnable);
+  }
 
-    bool operator!=( PipelineRasterizationDepthClipStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineRasterizationDepthClipStateCreateInfoEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT flags           = {};
-    VULKAN_HPP_NAMESPACE::Bool32                                            depthClipEnable = {};
-  };
-  static_assert( sizeof( PipelineRasterizationDepthClipStateCreateInfoEXT ) ==
-                   sizeof( VkPipelineRasterizationDepthClipStateCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineRasterizationDepthClipStateCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT
+      flags = {};
+  VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable = {};
+};
+static_assert(sizeof(PipelineRasterizationDepthClipStateCreateInfoEXT) ==
+                  sizeof(VkPipelineRasterizationDepthClipStateCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineRasterizationDepthClipStateCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT>
-  {
-    using Type = PipelineRasterizationDepthClipStateCreateInfoEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT> {
+  using Type = PipelineRasterizationDepthClipStateCreateInfoEXT;
+};
 
-  struct PipelineRasterizationLineStateCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineRasterizationLineStateCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineRasterizationLineStateCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineRasterizationLineStateCreateInfoEXT(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationLineStateCreateInfoEXT(
       VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode_ =
-        VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT::eDefault,
+          VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT::eDefault,
       VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable_ = {},
-      uint32_t                     lineStippleFactor_  = {},
-      uint16_t                     lineStipplePattern_ = {} ) VULKAN_HPP_NOEXCEPT
-      : lineRasterizationMode( lineRasterizationMode_ )
-      , stippledLineEnable( stippledLineEnable_ )
-      , lineStippleFactor( lineStippleFactor_ )
-      , lineStipplePattern( lineStipplePattern_ )
-    {}
+      uint32_t lineStippleFactor_ = {},
+      uint16_t lineStipplePattern_ = {}) VULKAN_HPP_NOEXCEPT
+      : lineRasterizationMode(lineRasterizationMode_),
+        stippledLineEnable(stippledLineEnable_),
+        lineStippleFactor(lineStippleFactor_),
+        lineStipplePattern(lineStipplePattern_) {}
 
-    PipelineRasterizationLineStateCreateInfoEXT( VkPipelineRasterizationLineStateCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationLineStateCreateInfoEXT(
+      PipelineRasterizationLineStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineRasterizationLineStateCreateInfoEXT(
+      VkPipelineRasterizationLineStateCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineRasterizationLineStateCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineRasterizationLineStateCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineRasterizationLineStateCreateInfoEXT &
-      operator=( VkPipelineRasterizationLineStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationLineStateCreateInfoEXT &
+  operator=(PipelineRasterizationLineStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineRasterizationLineStateCreateInfoEXT &
-      operator=( PipelineRasterizationLineStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      lineRasterizationMode = rhs.lineRasterizationMode;
-      stippledLineEnable    = rhs.stippledLineEnable;
-      lineStippleFactor     = rhs.lineStippleFactor;
-      lineStipplePattern    = rhs.lineStipplePattern;
+  PipelineRasterizationLineStateCreateInfoEXT &
+  operator=(VkPipelineRasterizationLineStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineRasterizationLineStateCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineRasterizationLineStateCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineRasterizationLineStateCreateInfoEXT &setLineRasterizationMode(
+      VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode_)
+      VULKAN_HPP_NOEXCEPT {
+    lineRasterizationMode = lineRasterizationMode_;
+    return *this;
+  }
 
-    PipelineRasterizationLineStateCreateInfoEXT & setLineRasterizationMode(
-      VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      lineRasterizationMode = lineRasterizationMode_;
-      return *this;
-    }
+  PipelineRasterizationLineStateCreateInfoEXT &setStippledLineEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable_) VULKAN_HPP_NOEXCEPT {
+    stippledLineEnable = stippledLineEnable_;
+    return *this;
+  }
 
-    PipelineRasterizationLineStateCreateInfoEXT &
-      setStippledLineEnable( VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stippledLineEnable = stippledLineEnable_;
-      return *this;
-    }
+  PipelineRasterizationLineStateCreateInfoEXT &
+  setLineStippleFactor(uint32_t lineStippleFactor_) VULKAN_HPP_NOEXCEPT {
+    lineStippleFactor = lineStippleFactor_;
+    return *this;
+  }
 
-    PipelineRasterizationLineStateCreateInfoEXT &
-      setLineStippleFactor( uint32_t lineStippleFactor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      lineStippleFactor = lineStippleFactor_;
-      return *this;
-    }
+  PipelineRasterizationLineStateCreateInfoEXT &
+  setLineStipplePattern(uint16_t lineStipplePattern_) VULKAN_HPP_NOEXCEPT {
+    lineStipplePattern = lineStipplePattern_;
+    return *this;
+  }
 
-    PipelineRasterizationLineStateCreateInfoEXT &
-      setLineStipplePattern( uint16_t lineStipplePattern_ ) VULKAN_HPP_NOEXCEPT
-    {
-      lineStipplePattern = lineStipplePattern_;
-      return *this;
-    }
+  operator VkPipelineRasterizationLineStateCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineRasterizationLineStateCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineRasterizationLineStateCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT *>( this );
-    }
+  operator VkPipelineRasterizationLineStateCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineRasterizationLineStateCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkPipelineRasterizationLineStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineRasterizationLineStateCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineRasterizationLineStateCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineRasterizationLineStateCreateInfoEXT const &) const =
+      default;
 #else
-    bool operator==( PipelineRasterizationLineStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( lineRasterizationMode == rhs.lineRasterizationMode ) &&
-             ( stippledLineEnable == rhs.stippledLineEnable ) && ( lineStippleFactor == rhs.lineStippleFactor ) &&
-             ( lineStipplePattern == rhs.lineStipplePattern );
-    }
+  bool operator==(PipelineRasterizationLineStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (lineRasterizationMode == rhs.lineRasterizationMode) &&
+           (stippledLineEnable == rhs.stippledLineEnable) &&
+           (lineStippleFactor == rhs.lineStippleFactor) &&
+           (lineStipplePattern == rhs.lineStipplePattern);
+  }
 
-    bool operator!=( PipelineRasterizationLineStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineRasterizationLineStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::ePipelineRasterizationLineStateCreateInfoEXT;
-    const void *                                   pNext = {};
-    VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineRasterizationLineStateCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode =
       VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT::eDefault;
-    VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable = {};
-    uint32_t                     lineStippleFactor  = {};
-    uint16_t                     lineStipplePattern = {};
-  };
-  static_assert( sizeof( PipelineRasterizationLineStateCreateInfoEXT ) ==
-                   sizeof( VkPipelineRasterizationLineStateCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineRasterizationLineStateCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable = {};
+  uint32_t lineStippleFactor = {};
+  uint16_t lineStipplePattern = {};
+};
+static_assert(sizeof(PipelineRasterizationLineStateCreateInfoEXT) ==
+                  sizeof(VkPipelineRasterizationLineStateCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineRasterizationLineStateCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineRasterizationLineStateCreateInfoEXT>
-  {
-    using Type = PipelineRasterizationLineStateCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineRasterizationLineStateCreateInfoEXT> {
+  using Type = PipelineRasterizationLineStateCreateInfoEXT;
+};
 
-  struct PipelineRasterizationStateRasterizationOrderAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineRasterizationStateRasterizationOrderAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineRasterizationStateRasterizationOrderAMD;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineRasterizationStateRasterizationOrderAMD(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationStateRasterizationOrderAMD(
       VULKAN_HPP_NAMESPACE::RasterizationOrderAMD rasterizationOrder_ =
-        VULKAN_HPP_NAMESPACE::RasterizationOrderAMD::eStrict ) VULKAN_HPP_NOEXCEPT
-      : rasterizationOrder( rasterizationOrder_ )
-    {}
+          VULKAN_HPP_NAMESPACE::RasterizationOrderAMD::eStrict)
+      VULKAN_HPP_NOEXCEPT : rasterizationOrder(rasterizationOrder_) {}
 
-    PipelineRasterizationStateRasterizationOrderAMD( VkPipelineRasterizationStateRasterizationOrderAMD const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationStateRasterizationOrderAMD(
+      PipelineRasterizationStateRasterizationOrderAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineRasterizationStateRasterizationOrderAMD(
+      VkPipelineRasterizationStateRasterizationOrderAMD const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineRasterizationStateRasterizationOrderAMD(
+            *reinterpret_cast<
+                PipelineRasterizationStateRasterizationOrderAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineRasterizationStateRasterizationOrderAMD &
-      operator=( VkPipelineRasterizationStateRasterizationOrderAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateRasterizationOrderAMD &
+  operator=(PipelineRasterizationStateRasterizationOrderAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineRasterizationStateRasterizationOrderAMD &
-      operator=( PipelineRasterizationStateRasterizationOrderAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      rasterizationOrder = rhs.rasterizationOrder;
+  PipelineRasterizationStateRasterizationOrderAMD &
+  operator=(VkPipelineRasterizationStateRasterizationOrderAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineRasterizationStateRasterizationOrderAMD const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineRasterizationStateRasterizationOrderAMD &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineRasterizationStateRasterizationOrderAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineRasterizationStateRasterizationOrderAMD &setRasterizationOrder(
+      VULKAN_HPP_NAMESPACE::RasterizationOrderAMD rasterizationOrder_)
+      VULKAN_HPP_NOEXCEPT {
+    rasterizationOrder = rasterizationOrder_;
+    return *this;
+  }
 
-    PipelineRasterizationStateRasterizationOrderAMD &
-      setRasterizationOrder( VULKAN_HPP_NAMESPACE::RasterizationOrderAMD rasterizationOrder_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rasterizationOrder = rasterizationOrder_;
-      return *this;
-    }
+  operator VkPipelineRasterizationStateRasterizationOrderAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineRasterizationStateRasterizationOrderAMD *>(this);
+  }
 
-    operator VkPipelineRasterizationStateRasterizationOrderAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD *>( this );
-    }
+  operator VkPipelineRasterizationStateRasterizationOrderAMD &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineRasterizationStateRasterizationOrderAMD *>(this);
+  }
 
-    operator VkPipelineRasterizationStateRasterizationOrderAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineRasterizationStateRasterizationOrderAMD const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PipelineRasterizationStateRasterizationOrderAMD const &) const = default;
 #else
-    bool operator==( PipelineRasterizationStateRasterizationOrderAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rasterizationOrder == rhs.rasterizationOrder );
-    }
+  bool operator==(PipelineRasterizationStateRasterizationOrderAMD const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (rasterizationOrder == rhs.rasterizationOrder);
+  }
 
-    bool operator!=( PipelineRasterizationStateRasterizationOrderAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineRasterizationStateRasterizationOrderAMD const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType = StructureType::ePipelineRasterizationStateRasterizationOrderAMD;
-    const void *                                pNext = {};
-    VULKAN_HPP_NAMESPACE::RasterizationOrderAMD rasterizationOrder =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineRasterizationStateRasterizationOrderAMD;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::RasterizationOrderAMD rasterizationOrder =
       VULKAN_HPP_NAMESPACE::RasterizationOrderAMD::eStrict;
-  };
-  static_assert( sizeof( PipelineRasterizationStateRasterizationOrderAMD ) ==
-                   sizeof( VkPipelineRasterizationStateRasterizationOrderAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineRasterizationStateRasterizationOrderAMD>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(PipelineRasterizationStateRasterizationOrderAMD) ==
+                  sizeof(VkPipelineRasterizationStateRasterizationOrderAMD),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineRasterizationStateRasterizationOrderAMD>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineRasterizationStateRasterizationOrderAMD>
-  {
-    using Type = PipelineRasterizationStateRasterizationOrderAMD;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineRasterizationStateRasterizationOrderAMD> {
+  using Type = PipelineRasterizationStateRasterizationOrderAMD;
+};
 
-  struct PipelineRasterizationStateStreamCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineRasterizationStateStreamCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineRasterizationStateStreamCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineRasterizationStateStreamCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT flags_ = {},
-      uint32_t rasterizationStream_                                               = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , rasterizationStream( rasterizationStream_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationStateStreamCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT
+          flags_ = {},
+      uint32_t rasterizationStream_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        rasterizationStream(rasterizationStream_) {}
 
-    PipelineRasterizationStateStreamCreateInfoEXT( VkPipelineRasterizationStateStreamCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineRasterizationStateStreamCreateInfoEXT(
+      PipelineRasterizationStateStreamCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineRasterizationStateStreamCreateInfoEXT(
+      VkPipelineRasterizationStateStreamCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineRasterizationStateStreamCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineRasterizationStateStreamCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineRasterizationStateStreamCreateInfoEXT &
-      operator=( VkPipelineRasterizationStateStreamCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateStreamCreateInfoEXT &
+  operator=(PipelineRasterizationStateStreamCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineRasterizationStateStreamCreateInfoEXT &
-      operator=( PipelineRasterizationStateStreamCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      flags               = rhs.flags;
-      rasterizationStream = rhs.rasterizationStream;
+  PipelineRasterizationStateStreamCreateInfoEXT &
+  operator=(VkPipelineRasterizationStateStreamCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineRasterizationStateStreamCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineRasterizationStateStreamCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineRasterizationStateStreamCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineRasterizationStateStreamCreateInfoEXT &
+  setFlags(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT
+               flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PipelineRasterizationStateStreamCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  PipelineRasterizationStateStreamCreateInfoEXT &
+  setRasterizationStream(uint32_t rasterizationStream_) VULKAN_HPP_NOEXCEPT {
+    rasterizationStream = rasterizationStream_;
+    return *this;
+  }
 
-    PipelineRasterizationStateStreamCreateInfoEXT &
-      setRasterizationStream( uint32_t rasterizationStream_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rasterizationStream = rasterizationStream_;
-      return *this;
-    }
+  operator VkPipelineRasterizationStateStreamCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineRasterizationStateStreamCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineRasterizationStateStreamCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT *>( this );
-    }
+  operator VkPipelineRasterizationStateStreamCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineRasterizationStateStreamCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkPipelineRasterizationStateStreamCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineRasterizationStateStreamCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineRasterizationStateStreamCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PipelineRasterizationStateStreamCreateInfoEXT const &) const = default;
 #else
-    bool operator==( PipelineRasterizationStateStreamCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( rasterizationStream == rhs.rasterizationStream );
-    }
+  bool operator==(PipelineRasterizationStateStreamCreateInfoEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (rasterizationStream == rhs.rasterizationStream);
+  }
 
-    bool operator!=( PipelineRasterizationStateStreamCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineRasterizationStateStreamCreateInfoEXT const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationStateStreamCreateInfoEXT;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT flags               = {};
-    uint32_t                                                             rasterizationStream = {};
-  };
-  static_assert( sizeof( PipelineRasterizationStateStreamCreateInfoEXT ) ==
-                   sizeof( VkPipelineRasterizationStateStreamCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineRasterizationStateStreamCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineRasterizationStateStreamCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT flags =
+      {};
+  uint32_t rasterizationStream = {};
+};
+static_assert(sizeof(PipelineRasterizationStateStreamCreateInfoEXT) ==
+                  sizeof(VkPipelineRasterizationStateStreamCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineRasterizationStateStreamCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineRasterizationStateStreamCreateInfoEXT>
-  {
-    using Type = PipelineRasterizationStateStreamCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineRasterizationStateStreamCreateInfoEXT> {
+  using Type = PipelineRasterizationStateStreamCreateInfoEXT;
+};
 
-  struct PipelineRepresentativeFragmentTestStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineRepresentativeFragmentTestStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable_ = {} ) VULKAN_HPP_NOEXCEPT
-      : representativeFragmentTestEnable( representativeFragmentTestEnable_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineRepresentativeFragmentTestStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : representativeFragmentTestEnable(representativeFragmentTestEnable_) {}
 
-    PipelineRepresentativeFragmentTestStateCreateInfoNV(
-      VkPipelineRepresentativeFragmentTestStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PipelineRepresentativeFragmentTestStateCreateInfoNV(
+      PipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineRepresentativeFragmentTestStateCreateInfoNV &
-      operator=( VkPipelineRepresentativeFragmentTestStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  PipelineRepresentativeFragmentTestStateCreateInfoNV(
+      VkPipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineRepresentativeFragmentTestStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineRepresentativeFragmentTestStateCreateInfoNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineRepresentativeFragmentTestStateCreateInfoNV &
-      operator=( PipelineRepresentativeFragmentTestStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      representativeFragmentTestEnable = rhs.representativeFragmentTestEnable;
+  VULKAN_HPP_CONSTEXPR_14 PipelineRepresentativeFragmentTestStateCreateInfoNV &
+  operator=(PipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PipelineRepresentativeFragmentTestStateCreateInfoNV &
+  operator=(VkPipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineRepresentativeFragmentTestStateCreateInfoNV const *>(&rhs);
+    return *this;
+  }
 
-    PipelineRepresentativeFragmentTestStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineRepresentativeFragmentTestStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineRepresentativeFragmentTestStateCreateInfoNV & setRepresentativeFragmentTestEnable(
-      VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      representativeFragmentTestEnable = representativeFragmentTestEnable_;
-      return *this;
-    }
+  PipelineRepresentativeFragmentTestStateCreateInfoNV &
+  setRepresentativeFragmentTestEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable_)
+      VULKAN_HPP_NOEXCEPT {
+    representativeFragmentTestEnable = representativeFragmentTestEnable_;
+    return *this;
+  }
 
-    operator VkPipelineRepresentativeFragmentTestStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineRepresentativeFragmentTestStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineRepresentativeFragmentTestStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineRepresentativeFragmentTestStateCreateInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineRepresentativeFragmentTestStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineRepresentativeFragmentTestStateCreateInfoNV const &)
+      const = default;
 #else
-    bool operator==( PipelineRepresentativeFragmentTestStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( representativeFragmentTestEnable == rhs.representativeFragmentTestEnable );
-    }
+  bool operator==(PipelineRepresentativeFragmentTestStateCreateInfoNV const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (representativeFragmentTestEnable ==
+            rhs.representativeFragmentTestEnable);
+  }
 
-    bool operator!=( PipelineRepresentativeFragmentTestStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineRepresentativeFragmentTestStateCreateInfoNV const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV;
-    const void *                 pNext                            = {};
-    VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable = {};
-  };
-  static_assert( sizeof( PipelineRepresentativeFragmentTestStateCreateInfoNV ) ==
-                   sizeof( VkPipelineRepresentativeFragmentTestStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineRepresentativeFragmentTestStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable = {};
+};
+static_assert(sizeof(PipelineRepresentativeFragmentTestStateCreateInfoNV) ==
+                  sizeof(VkPipelineRepresentativeFragmentTestStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineRepresentativeFragmentTestStateCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV>
-  {
-    using Type = PipelineRepresentativeFragmentTestStateCreateInfoNV;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV> {
+  using Type = PipelineRepresentativeFragmentTestStateCreateInfoNV;
+};
 
-  struct PipelineSampleLocationsStateCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineSampleLocationsStateCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineSampleLocationsStateCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineSampleLocationsStateCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::Bool32                 sampleLocationsEnable_ = {},
-      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_   = {} ) VULKAN_HPP_NOEXCEPT
-      : sampleLocationsEnable( sampleLocationsEnable_ )
-      , sampleLocationsInfo( sampleLocationsInfo_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineSampleLocationsStateCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable_ = {},
+      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_ = {})
+      VULKAN_HPP_NOEXCEPT : sampleLocationsEnable(sampleLocationsEnable_),
+                            sampleLocationsInfo(sampleLocationsInfo_) {}
 
-    PipelineSampleLocationsStateCreateInfoEXT( VkPipelineSampleLocationsStateCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineSampleLocationsStateCreateInfoEXT(
+      PipelineSampleLocationsStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineSampleLocationsStateCreateInfoEXT(
+      VkPipelineSampleLocationsStateCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineSampleLocationsStateCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineSampleLocationsStateCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineSampleLocationsStateCreateInfoEXT &
-      operator=( VkPipelineSampleLocationsStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineSampleLocationsStateCreateInfoEXT &
+  operator=(PipelineSampleLocationsStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineSampleLocationsStateCreateInfoEXT &
-      operator=( PipelineSampleLocationsStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      sampleLocationsEnable = rhs.sampleLocationsEnable;
-      sampleLocationsInfo   = rhs.sampleLocationsInfo;
+  PipelineSampleLocationsStateCreateInfoEXT &
+  operator=(VkPipelineSampleLocationsStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineSampleLocationsStateCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineSampleLocationsStateCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineSampleLocationsStateCreateInfoEXT &setSampleLocationsEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable_) VULKAN_HPP_NOEXCEPT {
+    sampleLocationsEnable = sampleLocationsEnable_;
+    return *this;
+  }
 
-    PipelineSampleLocationsStateCreateInfoEXT &
-      setSampleLocationsEnable( VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationsEnable = sampleLocationsEnable_;
-      return *this;
-    }
+  PipelineSampleLocationsStateCreateInfoEXT &setSampleLocationsInfo(
+      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &sampleLocationsInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    sampleLocationsInfo = sampleLocationsInfo_;
+    return *this;
+  }
 
-    PipelineSampleLocationsStateCreateInfoEXT & setSampleLocationsInfo(
-      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const & sampleLocationsInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationsInfo = sampleLocationsInfo_;
-      return *this;
-    }
+  operator VkPipelineSampleLocationsStateCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineSampleLocationsStateCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineSampleLocationsStateCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT *>( this );
-    }
+  operator VkPipelineSampleLocationsStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkPipelineSampleLocationsStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineSampleLocationsStateCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineSampleLocationsStateCreateInfoEXT const &) const =
+      default;
 #else
-    bool operator==( PipelineSampleLocationsStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( sampleLocationsEnable == rhs.sampleLocationsEnable ) &&
-             ( sampleLocationsInfo == rhs.sampleLocationsInfo );
-    }
+  bool operator==(PipelineSampleLocationsStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (sampleLocationsEnable == rhs.sampleLocationsEnable) &&
+           (sampleLocationsInfo == rhs.sampleLocationsInfo);
+  }
 
-    bool operator!=( PipelineSampleLocationsStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineSampleLocationsStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType = StructureType::ePipelineSampleLocationsStateCreateInfoEXT;
-    const void *                                 pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32                 sampleLocationsEnable = {};
-    VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo   = {};
-  };
-  static_assert( sizeof( PipelineSampleLocationsStateCreateInfoEXT ) ==
-                   sizeof( VkPipelineSampleLocationsStateCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineSampleLocationsStateCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineSampleLocationsStateCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable = {};
+  VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo = {};
+};
+static_assert(sizeof(PipelineSampleLocationsStateCreateInfoEXT) ==
+                  sizeof(VkPipelineSampleLocationsStateCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineSampleLocationsStateCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineSampleLocationsStateCreateInfoEXT>
-  {
-    using Type = PipelineSampleLocationsStateCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineSampleLocationsStateCreateInfoEXT> {
+  using Type = PipelineSampleLocationsStateCreateInfoEXT;
+};
 
-  struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT( uint32_t requiredSubgroupSize_ = {} ) VULKAN_HPP_NOEXCEPT
-      : requiredSubgroupSize( requiredSubgroupSize_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
+      uint32_t requiredSubgroupSize_ = {}) VULKAN_HPP_NOEXCEPT
+      : requiredSubgroupSize(requiredSubgroupSize_) {}
 
-    PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
-      VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
+      PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT &
-      operator=( VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
+      VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT &
-      operator=( PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      requiredSubgroupSize = rhs.requiredSubgroupSize;
+  VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT &
+  operator=(PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT &
+  operator=(VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    operator VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>( this );
-    }
+  operator VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &()
+      const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>( this );
-    }
+  operator VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &)
+      const = default;
 #else
-    bool operator==( PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( requiredSubgroupSize == rhs.requiredSubgroupSize );
-    }
+  bool operator==(PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (requiredSubgroupSize == rhs.requiredSubgroupSize);
+  }
 
-    bool operator!=( PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const
+                      &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
-    void *   pNext                = {};
-    uint32_t requiredSubgroupSize = {};
-  };
-  static_assert( sizeof( PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT ) ==
-                   sizeof( VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  void *pNext = {};
+  uint32_t requiredSubgroupSize = {};
+};
+static_assert(
+    sizeof(PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT) ==
+        sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT),
+    "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT>
-  {
-    using Type = PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT> {
+  using Type = PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
+};
 
-  struct PipelineTessellationDomainOriginStateCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineTessellationDomainOriginStateCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineTessellationDomainOriginStateCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineTessellationDomainOriginStateCreateInfo(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineTessellationDomainOriginStateCreateInfo(
       VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin_ =
-        VULKAN_HPP_NAMESPACE::TessellationDomainOrigin::eUpperLeft ) VULKAN_HPP_NOEXCEPT : domainOrigin( domainOrigin_ )
-    {}
+          VULKAN_HPP_NAMESPACE::TessellationDomainOrigin::eUpperLeft)
+      VULKAN_HPP_NOEXCEPT : domainOrigin(domainOrigin_) {}
 
-    PipelineTessellationDomainOriginStateCreateInfo( VkPipelineTessellationDomainOriginStateCreateInfo const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineTessellationDomainOriginStateCreateInfo(
+      PipelineTessellationDomainOriginStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineTessellationDomainOriginStateCreateInfo(
+      VkPipelineTessellationDomainOriginStateCreateInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : PipelineTessellationDomainOriginStateCreateInfo(
+            *reinterpret_cast<
+                PipelineTessellationDomainOriginStateCreateInfo const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineTessellationDomainOriginStateCreateInfo &
-      operator=( VkPipelineTessellationDomainOriginStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineTessellationDomainOriginStateCreateInfo &
+  operator=(PipelineTessellationDomainOriginStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineTessellationDomainOriginStateCreateInfo &
-      operator=( PipelineTessellationDomainOriginStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext        = rhs.pNext;
-      domainOrigin = rhs.domainOrigin;
+  PipelineTessellationDomainOriginStateCreateInfo &
+  operator=(VkPipelineTessellationDomainOriginStateCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineTessellationDomainOriginStateCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineTessellationDomainOriginStateCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineTessellationDomainOriginStateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineTessellationDomainOriginStateCreateInfo &
+  setDomainOrigin(VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin_)
+      VULKAN_HPP_NOEXCEPT {
+    domainOrigin = domainOrigin_;
+    return *this;
+  }
 
-    PipelineTessellationDomainOriginStateCreateInfo &
-      setDomainOrigin( VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin_ ) VULKAN_HPP_NOEXCEPT
-    {
-      domainOrigin = domainOrigin_;
-      return *this;
-    }
+  operator VkPipelineTessellationDomainOriginStateCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineTessellationDomainOriginStateCreateInfo *>(this);
+  }
 
-    operator VkPipelineTessellationDomainOriginStateCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo *>( this );
-    }
+  operator VkPipelineTessellationDomainOriginStateCreateInfo &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineTessellationDomainOriginStateCreateInfo *>(this);
+  }
 
-    operator VkPipelineTessellationDomainOriginStateCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineTessellationDomainOriginStateCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(
+      PipelineTessellationDomainOriginStateCreateInfo const &) const = default;
 #else
-    bool operator==( PipelineTessellationDomainOriginStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( domainOrigin == rhs.domainOrigin );
-    }
+  bool operator==(PipelineTessellationDomainOriginStateCreateInfo const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (domainOrigin == rhs.domainOrigin);
+  }
 
-    bool operator!=( PipelineTessellationDomainOriginStateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineTessellationDomainOriginStateCreateInfo const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineTessellationDomainOriginStateCreateInfo;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineTessellationDomainOriginStateCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin =
       VULKAN_HPP_NAMESPACE::TessellationDomainOrigin::eUpperLeft;
-  };
-  static_assert( sizeof( PipelineTessellationDomainOriginStateCreateInfo ) ==
-                   sizeof( VkPipelineTessellationDomainOriginStateCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineTessellationDomainOriginStateCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(PipelineTessellationDomainOriginStateCreateInfo) ==
+                  sizeof(VkPipelineTessellationDomainOriginStateCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineTessellationDomainOriginStateCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineTessellationDomainOriginStateCreateInfo>
-  {
-    using Type = PipelineTessellationDomainOriginStateCreateInfo;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineTessellationDomainOriginStateCreateInfo> {
+  using Type = PipelineTessellationDomainOriginStateCreateInfo;
+};
+using PipelineTessellationDomainOriginStateCreateInfoKHR =
+    PipelineTessellationDomainOriginStateCreateInfo;
 
-  struct VertexInputBindingDivisorDescriptionEXT
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR VertexInputBindingDivisorDescriptionEXT( uint32_t binding_ = {},
-                                                                  uint32_t divisor_ = {} ) VULKAN_HPP_NOEXCEPT
-      : binding( binding_ )
-      , divisor( divisor_ )
-    {}
+struct VertexInputBindingDivisorDescriptionEXT {
 
-    VertexInputBindingDivisorDescriptionEXT( VkVertexInputBindingDivisorDescriptionEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR VertexInputBindingDivisorDescriptionEXT(
+      uint32_t binding_ = {}, uint32_t divisor_ = {}) VULKAN_HPP_NOEXCEPT
+      : binding(binding_),
+        divisor(divisor_) {}
 
-    VertexInputBindingDivisorDescriptionEXT &
-      operator=( VkVertexInputBindingDivisorDescriptionEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR VertexInputBindingDivisorDescriptionEXT(
+      VertexInputBindingDivisorDescriptionEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    VertexInputBindingDivisorDescriptionEXT & setBinding( uint32_t binding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      binding = binding_;
-      return *this;
-    }
+  VertexInputBindingDivisorDescriptionEXT(
+      VkVertexInputBindingDivisorDescriptionEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : VertexInputBindingDivisorDescriptionEXT(
+            *reinterpret_cast<VertexInputBindingDivisorDescriptionEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    VertexInputBindingDivisorDescriptionEXT & setDivisor( uint32_t divisor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      divisor = divisor_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDivisorDescriptionEXT &
+  operator=(VertexInputBindingDivisorDescriptionEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkVertexInputBindingDivisorDescriptionEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkVertexInputBindingDivisorDescriptionEXT *>( this );
-    }
+  VertexInputBindingDivisorDescriptionEXT &
+  operator=(VkVertexInputBindingDivisorDescriptionEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkVertexInputBindingDivisorDescriptionEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkVertexInputBindingDivisorDescriptionEXT *>( this );
-    }
+  VertexInputBindingDivisorDescriptionEXT &
+  setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT {
+    binding = binding_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( VertexInputBindingDivisorDescriptionEXT const & ) const = default;
+  VertexInputBindingDivisorDescriptionEXT &
+  setDivisor(uint32_t divisor_) VULKAN_HPP_NOEXCEPT {
+    divisor = divisor_;
+    return *this;
+  }
+
+  operator VkVertexInputBindingDivisorDescriptionEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkVertexInputBindingDivisorDescriptionEXT *>(
+        this);
+  }
+
+  operator VkVertexInputBindingDivisorDescriptionEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkVertexInputBindingDivisorDescriptionEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(VertexInputBindingDivisorDescriptionEXT const &) const = default;
 #else
-    bool operator==( VertexInputBindingDivisorDescriptionEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( binding == rhs.binding ) && ( divisor == rhs.divisor );
-    }
+  bool operator==(VertexInputBindingDivisorDescriptionEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (binding == rhs.binding) && (divisor == rhs.divisor);
+  }
 
-    bool operator!=( VertexInputBindingDivisorDescriptionEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(VertexInputBindingDivisorDescriptionEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t binding = {};
-    uint32_t divisor = {};
-  };
-  static_assert( sizeof( VertexInputBindingDivisorDescriptionEXT ) ==
-                   sizeof( VkVertexInputBindingDivisorDescriptionEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<VertexInputBindingDivisorDescriptionEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t binding = {};
+  uint32_t divisor = {};
+};
+static_assert(sizeof(VertexInputBindingDivisorDescriptionEXT) ==
+                  sizeof(VkVertexInputBindingDivisorDescriptionEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<VertexInputBindingDivisorDescriptionEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  struct PipelineVertexInputDivisorStateCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineVertexInputDivisorStateCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineVertexInputDivisorStateCreateInfoEXT(
-      uint32_t                                                              vertexBindingDivisorCount_ = {},
-      const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT * pVertexBindingDivisors_    = {} )
-      VULKAN_HPP_NOEXCEPT
-      : vertexBindingDivisorCount( vertexBindingDivisorCount_ )
-      , pVertexBindingDivisors( pVertexBindingDivisors_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineVertexInputDivisorStateCreateInfoEXT(
+      uint32_t vertexBindingDivisorCount_ = {},
+      const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT
+          *pVertexBindingDivisors_ = {}) VULKAN_HPP_NOEXCEPT
+      : vertexBindingDivisorCount(vertexBindingDivisorCount_),
+        pVertexBindingDivisors(pVertexBindingDivisors_) {}
 
-    PipelineVertexInputDivisorStateCreateInfoEXT( VkPipelineVertexInputDivisorStateCreateInfoEXT const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR PipelineVertexInputDivisorStateCreateInfoEXT(
+      PipelineVertexInputDivisorStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineVertexInputDivisorStateCreateInfoEXT(
+  PipelineVertexInputDivisorStateCreateInfoEXT(
+      VkPipelineVertexInputDivisorStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineVertexInputDivisorStateCreateInfoEXT(
+            *reinterpret_cast<
+                PipelineVertexInputDivisorStateCreateInfoEXT const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineVertexInputDivisorStateCreateInfoEXT(
       VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT> const & vertexBindingDivisors_ )
-      : vertexBindingDivisorCount( static_cast<uint32_t>( vertexBindingDivisors_.size() ) )
-      , pVertexBindingDivisors( vertexBindingDivisors_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+          const VULKAN_HPP_NAMESPACE::
+              VertexInputBindingDivisorDescriptionEXT> const
+          &vertexBindingDivisors_)
+      : vertexBindingDivisorCount(
+            static_cast<uint32_t>(vertexBindingDivisors_.size())),
+        pVertexBindingDivisors(vertexBindingDivisors_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineVertexInputDivisorStateCreateInfoEXT &
-      operator=( VkPipelineVertexInputDivisorStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputDivisorStateCreateInfoEXT &
+  operator=(PipelineVertexInputDivisorStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineVertexInputDivisorStateCreateInfoEXT &
-      operator=( PipelineVertexInputDivisorStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      vertexBindingDivisorCount = rhs.vertexBindingDivisorCount;
-      pVertexBindingDivisors    = rhs.pVertexBindingDivisors;
+  PipelineVertexInputDivisorStateCreateInfoEXT &
+  operator=(VkPipelineVertexInputDivisorStateCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineVertexInputDivisorStateCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineVertexInputDivisorStateCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineVertexInputDivisorStateCreateInfoEXT &setVertexBindingDivisorCount(
+      uint32_t vertexBindingDivisorCount_) VULKAN_HPP_NOEXCEPT {
+    vertexBindingDivisorCount = vertexBindingDivisorCount_;
+    return *this;
+  }
 
-    PipelineVertexInputDivisorStateCreateInfoEXT &
-      setVertexBindingDivisorCount( uint32_t vertexBindingDivisorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      vertexBindingDivisorCount = vertexBindingDivisorCount_;
-      return *this;
-    }
+  PipelineVertexInputDivisorStateCreateInfoEXT &setPVertexBindingDivisors(
+      const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT
+          *pVertexBindingDivisors_) VULKAN_HPP_NOEXCEPT {
+    pVertexBindingDivisors = pVertexBindingDivisors_;
+    return *this;
+  }
 
-    PipelineVertexInputDivisorStateCreateInfoEXT & setPVertexBindingDivisors(
-      const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT * pVertexBindingDivisors_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      pVertexBindingDivisors = pVertexBindingDivisors_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineVertexInputDivisorStateCreateInfoEXT &
+  setVertexBindingDivisors(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                           const VULKAN_HPP_NAMESPACE::
+                               VertexInputBindingDivisorDescriptionEXT> const
+                               &vertexBindingDivisors_) VULKAN_HPP_NOEXCEPT {
+    vertexBindingDivisorCount =
+        static_cast<uint32_t>(vertexBindingDivisors_.size());
+    pVertexBindingDivisors = vertexBindingDivisors_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineVertexInputDivisorStateCreateInfoEXT & setVertexBindingDivisors(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT> const & vertexBindingDivisors_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      vertexBindingDivisorCount = static_cast<uint32_t>( vertexBindingDivisors_.size() );
-      pVertexBindingDivisors    = vertexBindingDivisors_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineVertexInputDivisorStateCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineVertexInputDivisorStateCreateInfoEXT *>(this);
+  }
 
-    operator VkPipelineVertexInputDivisorStateCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT *>( this );
-    }
+  operator VkPipelineVertexInputDivisorStateCreateInfoEXT &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkPipelineVertexInputDivisorStateCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineVertexInputDivisorStateCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineVertexInputDivisorStateCreateInfoEXT const &) const =
+      default;
 #else
-    bool operator==( PipelineVertexInputDivisorStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( vertexBindingDivisorCount == rhs.vertexBindingDivisorCount ) &&
-             ( pVertexBindingDivisors == rhs.pVertexBindingDivisors );
-    }
+  bool operator==(PipelineVertexInputDivisorStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (vertexBindingDivisorCount == rhs.vertexBindingDivisorCount) &&
+           (pVertexBindingDivisors == rhs.pVertexBindingDivisors);
+  }
 
-    bool operator!=( PipelineVertexInputDivisorStateCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineVertexInputDivisorStateCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT;
-    const void *                              pNext = {};
-    uint32_t                                  vertexBindingDivisorCount                          = {};
-    const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT * pVertexBindingDivisors = {};
-  };
-  static_assert( sizeof( PipelineVertexInputDivisorStateCreateInfoEXT ) ==
-                   sizeof( VkPipelineVertexInputDivisorStateCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineVertexInputDivisorStateCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT;
+  const void *pNext = {};
+  uint32_t vertexBindingDivisorCount = {};
+  const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT
+      *pVertexBindingDivisors = {};
+};
+static_assert(sizeof(PipelineVertexInputDivisorStateCreateInfoEXT) ==
+                  sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineVertexInputDivisorStateCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT>
-  {
-    using Type = PipelineVertexInputDivisorStateCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT> {
+  using Type = PipelineVertexInputDivisorStateCreateInfoEXT;
+};
 
-  struct PipelineViewportCoarseSampleOrderStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineViewportCoarseSampleOrderStateCreateInfoNV(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineViewportCoarseSampleOrderStateCreateInfoNV(
       VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType_ =
-        VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV::eDefault,
-      uint32_t                                                customSampleOrderCount_ = {},
-      const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders_    = {} ) VULKAN_HPP_NOEXCEPT
-      : sampleOrderType( sampleOrderType_ )
-      , customSampleOrderCount( customSampleOrderCount_ )
-      , pCustomSampleOrders( pCustomSampleOrders_ )
-    {}
+          VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV::eDefault,
+      uint32_t customSampleOrderCount_ = {},
+      const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV
+          *pCustomSampleOrders_ = {}) VULKAN_HPP_NOEXCEPT
+      : sampleOrderType(sampleOrderType_),
+        customSampleOrderCount(customSampleOrderCount_),
+        pCustomSampleOrders(pCustomSampleOrders_) {}
 
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV(
-      VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR PipelineViewportCoarseSampleOrderStateCreateInfoNV(
+      PipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV(
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV(
+      VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : PipelineViewportCoarseSampleOrderStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineViewportCoarseSampleOrderStateCreateInfoNV const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV(
       VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const &
-        customSampleOrders_ )
-      : sampleOrderType( sampleOrderType_ )
-      , customSampleOrderCount( static_cast<uint32_t>( customSampleOrders_.size() ) )
-      , pCustomSampleOrders( customSampleOrders_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const
+          &customSampleOrders_)
+      : sampleOrderType(sampleOrderType_),
+        customSampleOrderCount(
+            static_cast<uint32_t>(customSampleOrders_.size())),
+        pCustomSampleOrders(customSampleOrders_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV &
-      operator=( VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineViewportCoarseSampleOrderStateCreateInfoNV &
+  operator=(PipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV &
-      operator=( PipelineViewportCoarseSampleOrderStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      sampleOrderType        = rhs.sampleOrderType;
-      customSampleOrderCount = rhs.customSampleOrderCount;
-      pCustomSampleOrders    = rhs.pCustomSampleOrders;
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV &
+  operator=(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineViewportCoarseSampleOrderStateCreateInfoNV const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV &setSampleOrderType(
+      VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType_)
+      VULKAN_HPP_NOEXCEPT {
+    sampleOrderType = sampleOrderType_;
+    return *this;
+  }
 
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV &
-      setSampleOrderType( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleOrderType = sampleOrderType_;
-      return *this;
-    }
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV &setCustomSampleOrderCount(
+      uint32_t customSampleOrderCount_) VULKAN_HPP_NOEXCEPT {
+    customSampleOrderCount = customSampleOrderCount_;
+    return *this;
+  }
 
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV &
-      setCustomSampleOrderCount( uint32_t customSampleOrderCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      customSampleOrderCount = customSampleOrderCount_;
-      return *this;
-    }
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV &
+  setPCustomSampleOrders(const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV
+                             *pCustomSampleOrders_) VULKAN_HPP_NOEXCEPT {
+    pCustomSampleOrders = pCustomSampleOrders_;
+    return *this;
+  }
 
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV & setPCustomSampleOrders(
-      const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCustomSampleOrders = pCustomSampleOrders_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportCoarseSampleOrderStateCreateInfoNV &setCustomSampleOrders(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const
+          &customSampleOrders_) VULKAN_HPP_NOEXCEPT {
+    customSampleOrderCount = static_cast<uint32_t>(customSampleOrders_.size());
+    pCustomSampleOrders = customSampleOrders_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportCoarseSampleOrderStateCreateInfoNV & setCustomSampleOrders(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const &
-        customSampleOrders_ ) VULKAN_HPP_NOEXCEPT
-    {
-      customSampleOrderCount = static_cast<uint32_t>( customSampleOrders_.size() );
-      pCustomSampleOrders    = customSampleOrders_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineViewportCoarseSampleOrderStateCreateInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportCoarseSampleOrderStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineViewportCoarseSampleOrderStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineViewportCoarseSampleOrderStateCreateInfoNV const &)
+      const = default;
 #else
-    bool operator==( PipelineViewportCoarseSampleOrderStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampleOrderType == rhs.sampleOrderType ) &&
-             ( customSampleOrderCount == rhs.customSampleOrderCount ) &&
-             ( pCustomSampleOrders == rhs.pCustomSampleOrders );
-    }
+  bool operator==(PipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (sampleOrderType == rhs.sampleOrderType) &&
+           (customSampleOrderCount == rhs.customSampleOrderCount) &&
+           (pCustomSampleOrders == rhs.pCustomSampleOrders);
+  }
 
-    bool operator!=( PipelineViewportCoarseSampleOrderStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
       StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV;
-    const void *                                  pNext = {};
-    VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType =
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType =
       VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV::eDefault;
-    uint32_t                                                customSampleOrderCount = {};
-    const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders    = {};
-  };
-  static_assert( sizeof( PipelineViewportCoarseSampleOrderStateCreateInfoNV ) ==
-                   sizeof( VkPipelineViewportCoarseSampleOrderStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineViewportCoarseSampleOrderStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+  uint32_t customSampleOrderCount = {};
+  const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV *pCustomSampleOrders =
+      {};
+};
+static_assert(sizeof(PipelineViewportCoarseSampleOrderStateCreateInfoNV) ==
+                  sizeof(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineViewportCoarseSampleOrderStateCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV>
-  {
-    using Type = PipelineViewportCoarseSampleOrderStateCreateInfoNV;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV> {
+  using Type = PipelineViewportCoarseSampleOrderStateCreateInfoNV;
+};
 
-  struct PipelineViewportExclusiveScissorStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineViewportExclusiveScissorStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineViewportExclusiveScissorStateCreateInfoNV(
-      uint32_t                             exclusiveScissorCount_ = {},
-      const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors_    = {} ) VULKAN_HPP_NOEXCEPT
-      : exclusiveScissorCount( exclusiveScissorCount_ )
-      , pExclusiveScissors( pExclusiveScissors_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineViewportExclusiveScissorStateCreateInfoNV(
+      uint32_t exclusiveScissorCount_ = {},
+      const VULKAN_HPP_NAMESPACE::Rect2D *pExclusiveScissors_ = {})
+      VULKAN_HPP_NOEXCEPT : exclusiveScissorCount(exclusiveScissorCount_),
+                            pExclusiveScissors(pExclusiveScissors_) {}
 
-    PipelineViewportExclusiveScissorStateCreateInfoNV( VkPipelineViewportExclusiveScissorStateCreateInfoNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineViewportExclusiveScissorStateCreateInfoNV(
+      PipelineViewportExclusiveScissorStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineViewportExclusiveScissorStateCreateInfoNV(
+      VkPipelineViewportExclusiveScissorStateCreateInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : PipelineViewportExclusiveScissorStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineViewportExclusiveScissorStateCreateInfoNV const *>(
+                &rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportExclusiveScissorStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors_ )
-      : exclusiveScissorCount( static_cast<uint32_t>( exclusiveScissors_.size() ) )
-      , pExclusiveScissors( exclusiveScissors_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportExclusiveScissorStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &exclusiveScissors_)
+      : exclusiveScissorCount(static_cast<uint32_t>(exclusiveScissors_.size())),
+        pExclusiveScissors(exclusiveScissors_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineViewportExclusiveScissorStateCreateInfoNV &
-      operator=( VkPipelineViewportExclusiveScissorStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineViewportExclusiveScissorStateCreateInfoNV &
+  operator=(PipelineViewportExclusiveScissorStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineViewportExclusiveScissorStateCreateInfoNV &
-      operator=( PipelineViewportExclusiveScissorStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      exclusiveScissorCount = rhs.exclusiveScissorCount;
-      pExclusiveScissors    = rhs.pExclusiveScissors;
+  PipelineViewportExclusiveScissorStateCreateInfoNV &
+  operator=(VkPipelineViewportExclusiveScissorStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineViewportExclusiveScissorStateCreateInfoNV const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineViewportExclusiveScissorStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineViewportExclusiveScissorStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineViewportExclusiveScissorStateCreateInfoNV &setExclusiveScissorCount(
+      uint32_t exclusiveScissorCount_) VULKAN_HPP_NOEXCEPT {
+    exclusiveScissorCount = exclusiveScissorCount_;
+    return *this;
+  }
 
-    PipelineViewportExclusiveScissorStateCreateInfoNV &
-      setExclusiveScissorCount( uint32_t exclusiveScissorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      exclusiveScissorCount = exclusiveScissorCount_;
-      return *this;
-    }
+  PipelineViewportExclusiveScissorStateCreateInfoNV &
+  setPExclusiveScissors(const VULKAN_HPP_NAMESPACE::Rect2D *pExclusiveScissors_)
+      VULKAN_HPP_NOEXCEPT {
+    pExclusiveScissors = pExclusiveScissors_;
+    return *this;
+  }
 
-    PipelineViewportExclusiveScissorStateCreateInfoNV &
-      setPExclusiveScissors( const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pExclusiveScissors = pExclusiveScissors_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportExclusiveScissorStateCreateInfoNV &setExclusiveScissors(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::Rect2D> const &exclusiveScissors_)
+      VULKAN_HPP_NOEXCEPT {
+    exclusiveScissorCount = static_cast<uint32_t>(exclusiveScissors_.size());
+    pExclusiveScissors = exclusiveScissors_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportExclusiveScissorStateCreateInfoNV & setExclusiveScissors(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      exclusiveScissorCount = static_cast<uint32_t>( exclusiveScissors_.size() );
-      pExclusiveScissors    = exclusiveScissors_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineViewportExclusiveScissorStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportExclusiveScissorStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineViewportExclusiveScissorStateCreateInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportExclusiveScissorStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineViewportExclusiveScissorStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineViewportExclusiveScissorStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineViewportExclusiveScissorStateCreateInfoNV const &)
+      const = default;
 #else
-    bool operator==( PipelineViewportExclusiveScissorStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( exclusiveScissorCount == rhs.exclusiveScissorCount ) && ( pExclusiveScissors == rhs.pExclusiveScissors );
-    }
+  bool operator==(PipelineViewportExclusiveScissorStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (exclusiveScissorCount == rhs.exclusiveScissorCount) &&
+           (pExclusiveScissors == rhs.pExclusiveScissors);
+  }
 
-    bool operator!=( PipelineViewportExclusiveScissorStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineViewportExclusiveScissorStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV;
-    const void *                              pNext = {};
-    uint32_t                                  exclusiveScissorCount = {};
-    const VULKAN_HPP_NAMESPACE::Rect2D *      pExclusiveScissors    = {};
-  };
-  static_assert( sizeof( PipelineViewportExclusiveScissorStateCreateInfoNV ) ==
-                   sizeof( VkPipelineViewportExclusiveScissorStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineViewportExclusiveScissorStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV;
+  const void *pNext = {};
+  uint32_t exclusiveScissorCount = {};
+  const VULKAN_HPP_NAMESPACE::Rect2D *pExclusiveScissors = {};
+};
+static_assert(sizeof(PipelineViewportExclusiveScissorStateCreateInfoNV) ==
+                  sizeof(VkPipelineViewportExclusiveScissorStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineViewportExclusiveScissorStateCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV>
-  {
-    using Type = PipelineViewportExclusiveScissorStateCreateInfoNV;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV> {
+  using Type = PipelineViewportExclusiveScissorStateCreateInfoNV;
+};
 
-  struct ShadingRatePaletteNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ShadingRatePaletteNV(
-      uint32_t                                                shadingRatePaletteEntryCount_ = {},
-      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV * pShadingRatePaletteEntries_   = {} ) VULKAN_HPP_NOEXCEPT
-      : shadingRatePaletteEntryCount( shadingRatePaletteEntryCount_ )
-      , pShadingRatePaletteEntries( pShadingRatePaletteEntries_ )
-    {}
-
-    ShadingRatePaletteNV( VkShadingRatePaletteNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ShadingRatePaletteNV(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV> const &
-        shadingRatePaletteEntries_ )
-      : shadingRatePaletteEntryCount( static_cast<uint32_t>( shadingRatePaletteEntries_.size() ) )
-      , pShadingRatePaletteEntries( shadingRatePaletteEntries_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ShadingRatePaletteNV & operator=( VkShadingRatePaletteNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV const *>( &rhs );
-      return *this;
-    }
-
-    ShadingRatePaletteNV & setShadingRatePaletteEntryCount( uint32_t shadingRatePaletteEntryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shadingRatePaletteEntryCount = shadingRatePaletteEntryCount_;
-      return *this;
-    }
-
-    ShadingRatePaletteNV & setPShadingRatePaletteEntries(
-      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV * pShadingRatePaletteEntries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pShadingRatePaletteEntries = pShadingRatePaletteEntries_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ShadingRatePaletteNV & setShadingRatePaletteEntries(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV> const &
-        shadingRatePaletteEntries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shadingRatePaletteEntryCount = static_cast<uint32_t>( shadingRatePaletteEntries_.size() );
-      pShadingRatePaletteEntries   = shadingRatePaletteEntries_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkShadingRatePaletteNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkShadingRatePaletteNV *>( this );
-    }
-
-    operator VkShadingRatePaletteNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkShadingRatePaletteNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ShadingRatePaletteNV const & ) const = default;
-#else
-    bool operator==( ShadingRatePaletteNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( shadingRatePaletteEntryCount == rhs.shadingRatePaletteEntryCount ) &&
-             ( pShadingRatePaletteEntries == rhs.pShadingRatePaletteEntries );
-    }
-
-    bool operator!=( ShadingRatePaletteNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                                                shadingRatePaletteEntryCount = {};
-    const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV * pShadingRatePaletteEntries   = {};
-  };
-  static_assert( sizeof( ShadingRatePaletteNV ) == sizeof( VkShadingRatePaletteNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ShadingRatePaletteNV>::value, "struct wrapper is not a standard layout!" );
-
-  struct PipelineViewportShadingRateImageStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineViewportShadingRateImageStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineViewportShadingRateImageStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::Bool32                       shadingRateImageEnable_ = {},
-      uint32_t                                           viewportCount_          = {},
-      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes_   = {} ) VULKAN_HPP_NOEXCEPT
-      : shadingRateImageEnable( shadingRateImageEnable_ )
-      , viewportCount( viewportCount_ )
-      , pShadingRatePalettes( pShadingRatePalettes_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineViewportShadingRateImageStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_ = {},
+      uint32_t viewportCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV *pShadingRatePalettes_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : shadingRateImageEnable(shadingRateImageEnable_),
+        viewportCount(viewportCount_),
+        pShadingRatePalettes(pShadingRatePalettes_) {}
 
-    PipelineViewportShadingRateImageStateCreateInfoNV( VkPipelineViewportShadingRateImageStateCreateInfoNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineViewportShadingRateImageStateCreateInfoNV(
+      PipelineViewportShadingRateImageStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineViewportShadingRateImageStateCreateInfoNV(
+      VkPipelineViewportShadingRateImageStateCreateInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : PipelineViewportShadingRateImageStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineViewportShadingRateImageStateCreateInfoNV const *>(
+                &rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportShadingRateImageStateCreateInfoNV(
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportShadingRateImageStateCreateInfoNV(
       VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const &
-        shadingRatePalettes_ )
-      : shadingRateImageEnable( shadingRateImageEnable_ )
-      , viewportCount( static_cast<uint32_t>( shadingRatePalettes_.size() ) )
-      , pShadingRatePalettes( shadingRatePalettes_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const
+          &shadingRatePalettes_)
+      : shadingRateImageEnable(shadingRateImageEnable_),
+        viewportCount(static_cast<uint32_t>(shadingRatePalettes_.size())),
+        pShadingRatePalettes(shadingRatePalettes_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineViewportShadingRateImageStateCreateInfoNV &
-      operator=( VkPipelineViewportShadingRateImageStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this =
-        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineViewportShadingRateImageStateCreateInfoNV &
+  operator=(PipelineViewportShadingRateImageStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineViewportShadingRateImageStateCreateInfoNV &
-      operator=( PipelineViewportShadingRateImageStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      shadingRateImageEnable = rhs.shadingRateImageEnable;
-      viewportCount          = rhs.viewportCount;
-      pShadingRatePalettes   = rhs.pShadingRatePalettes;
+  PipelineViewportShadingRateImageStateCreateInfoNV &
+  operator=(VkPipelineViewportShadingRateImageStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::
+            PipelineViewportShadingRateImageStateCreateInfoNV const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineViewportShadingRateImageStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineViewportShadingRateImageStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineViewportShadingRateImageStateCreateInfoNV &setShadingRateImageEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_)
+      VULKAN_HPP_NOEXCEPT {
+    shadingRateImageEnable = shadingRateImageEnable_;
+    return *this;
+  }
 
-    PipelineViewportShadingRateImageStateCreateInfoNV &
-      setShadingRateImageEnable( VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      shadingRateImageEnable = shadingRateImageEnable_;
-      return *this;
-    }
+  PipelineViewportShadingRateImageStateCreateInfoNV &
+  setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT {
+    viewportCount = viewportCount_;
+    return *this;
+  }
 
-    PipelineViewportShadingRateImageStateCreateInfoNV & setViewportCount( uint32_t viewportCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount = viewportCount_;
-      return *this;
-    }
+  PipelineViewportShadingRateImageStateCreateInfoNV &setPShadingRatePalettes(
+      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV *pShadingRatePalettes_)
+      VULKAN_HPP_NOEXCEPT {
+    pShadingRatePalettes = pShadingRatePalettes_;
+    return *this;
+  }
 
-    PipelineViewportShadingRateImageStateCreateInfoNV & setPShadingRatePalettes(
-      const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pShadingRatePalettes = pShadingRatePalettes_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportShadingRateImageStateCreateInfoNV &
+  setShadingRatePalettes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                         const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const
+                             &shadingRatePalettes_) VULKAN_HPP_NOEXCEPT {
+    viewportCount = static_cast<uint32_t>(shadingRatePalettes_.size());
+    pShadingRatePalettes = shadingRatePalettes_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportShadingRateImageStateCreateInfoNV & setShadingRatePalettes(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const &
-        shadingRatePalettes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount        = static_cast<uint32_t>( shadingRatePalettes_.size() );
-      pShadingRatePalettes = shadingRatePalettes_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineViewportShadingRateImageStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineViewportShadingRateImageStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportShadingRateImageStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineViewportShadingRateImageStateCreateInfoNV &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        VkPipelineViewportShadingRateImageStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportShadingRateImageStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineViewportShadingRateImageStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineViewportShadingRateImageStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineViewportShadingRateImageStateCreateInfoNV const &)
+      const = default;
 #else
-    bool operator==( PipelineViewportShadingRateImageStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( shadingRateImageEnable == rhs.shadingRateImageEnable ) && ( viewportCount == rhs.viewportCount ) &&
-             ( pShadingRatePalettes == rhs.pShadingRatePalettes );
-    }
+  bool operator==(PipelineViewportShadingRateImageStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (shadingRateImageEnable == rhs.shadingRateImageEnable) &&
+           (viewportCount == rhs.viewportCount) &&
+           (pShadingRatePalettes == rhs.pShadingRatePalettes);
+  }
 
-    bool operator!=( PipelineViewportShadingRateImageStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineViewportShadingRateImageStateCreateInfoNV const &rhs)
+      const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              shadingRateImageEnable        = {};
-    uint32_t                                  viewportCount                 = {};
-    const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes = {};
-  };
-  static_assert( sizeof( PipelineViewportShadingRateImageStateCreateInfoNV ) ==
-                   sizeof( VkPipelineViewportShadingRateImageStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineViewportShadingRateImageStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable = {};
+  uint32_t viewportCount = {};
+  const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV *pShadingRatePalettes = {};
+};
+static_assert(sizeof(PipelineViewportShadingRateImageStateCreateInfoNV) ==
+                  sizeof(VkPipelineViewportShadingRateImageStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<
+                  PipelineViewportShadingRateImageStateCreateInfoNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV>
-  {
-    using Type = PipelineViewportShadingRateImageStateCreateInfoNV;
-  };
+template <>
+struct CppType<
+    StructureType,
+    StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV> {
+  using Type = PipelineViewportShadingRateImageStateCreateInfoNV;
+};
 
-  struct ViewportSwizzleNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    ViewportSwizzleNV( VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x_ =
-                         VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX,
-                       VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y_ =
-                         VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX,
-                       VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z_ =
-                         VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX,
-                       VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w_ =
-                         VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX ) VULKAN_HPP_NOEXCEPT
-      : x( x_ )
-      , y( y_ )
-      , z( z_ )
-      , w( w_ )
-    {}
+struct ViewportSwizzleNV {
 
-    ViewportSwizzleNV( VkViewportSwizzleNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ViewportSwizzleNV(
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x_ =
+          VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX,
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y_ =
+          VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX,
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z_ =
+          VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX,
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w_ =
+          VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX)
+      VULKAN_HPP_NOEXCEPT : x(x_),
+                            y(y_),
+                            z(z_),
+                            w(w_) {}
 
-    ViewportSwizzleNV & operator=( VkViewportSwizzleNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViewportSwizzleNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR
+  ViewportSwizzleNV(ViewportSwizzleNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ViewportSwizzleNV & setX( VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x_ ) VULKAN_HPP_NOEXCEPT
-    {
-      x = x_;
-      return *this;
-    }
+  ViewportSwizzleNV(VkViewportSwizzleNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : ViewportSwizzleNV(*reinterpret_cast<ViewportSwizzleNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ViewportSwizzleNV & setY( VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y_ ) VULKAN_HPP_NOEXCEPT
-    {
-      y = y_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ViewportSwizzleNV &
+  operator=(ViewportSwizzleNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ViewportSwizzleNV & setZ( VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z_ ) VULKAN_HPP_NOEXCEPT
-    {
-      z = z_;
-      return *this;
-    }
+  ViewportSwizzleNV &
+  operator=(VkViewportSwizzleNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViewportSwizzleNV const *>(
+        &rhs);
+    return *this;
+  }
 
-    ViewportSwizzleNV & setW( VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w_ ) VULKAN_HPP_NOEXCEPT
-    {
-      w = w_;
-      return *this;
-    }
+  ViewportSwizzleNV &setX(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x_)
+      VULKAN_HPP_NOEXCEPT {
+    x = x_;
+    return *this;
+  }
 
-    operator VkViewportSwizzleNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkViewportSwizzleNV *>( this );
-    }
+  ViewportSwizzleNV &setY(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y_)
+      VULKAN_HPP_NOEXCEPT {
+    y = y_;
+    return *this;
+  }
 
-    operator VkViewportSwizzleNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkViewportSwizzleNV *>( this );
-    }
+  ViewportSwizzleNV &setZ(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z_)
+      VULKAN_HPP_NOEXCEPT {
+    z = z_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ViewportSwizzleNV const & ) const = default;
+  ViewportSwizzleNV &setW(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w_)
+      VULKAN_HPP_NOEXCEPT {
+    w = w_;
+    return *this;
+  }
+
+  operator VkViewportSwizzleNV const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkViewportSwizzleNV *>(this);
+  }
+
+  operator VkViewportSwizzleNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkViewportSwizzleNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ViewportSwizzleNV const &) const = default;
 #else
-    bool operator==( ViewportSwizzleNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z ) && ( w == rhs.w );
-    }
+  bool operator==(ViewportSwizzleNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (x == rhs.x) && (y == rhs.y) && (z == rhs.z) && (w == rhs.w);
+  }
 
-    bool operator!=( ViewportSwizzleNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ViewportSwizzleNV const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x = VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
-    VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y = VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
-    VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z = VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
-    VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w = VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
-  };
-  static_assert( sizeof( ViewportSwizzleNV ) == sizeof( VkViewportSwizzleNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ViewportSwizzleNV>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x =
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
+  VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y =
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
+  VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z =
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
+  VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w =
+      VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX;
+};
+static_assert(sizeof(ViewportSwizzleNV) == sizeof(VkViewportSwizzleNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ViewportSwizzleNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct PipelineViewportSwizzleStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineViewportSwizzleStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineViewportSwizzleStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineViewportSwizzleStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_             = {},
-      uint32_t                                                        viewportCount_     = {},
-      const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV *                 pViewportSwizzles_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , viewportCount( viewportCount_ )
-      , pViewportSwizzles( pViewportSwizzles_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineViewportSwizzleStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_ =
+          {},
+      uint32_t viewportCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV *pViewportSwizzles_ = {})
+      VULKAN_HPP_NOEXCEPT : flags(flags_),
+                            viewportCount(viewportCount_),
+                            pViewportSwizzles(pViewportSwizzles_) {}
 
-    PipelineViewportSwizzleStateCreateInfoNV( VkPipelineViewportSwizzleStateCreateInfoNV const & rhs )
-      VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR PipelineViewportSwizzleStateCreateInfoNV(
+      PipelineViewportSwizzleStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportSwizzleStateCreateInfoNV(
+  PipelineViewportSwizzleStateCreateInfoNV(
+      VkPipelineViewportSwizzleStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : PipelineViewportSwizzleStateCreateInfoNV(
+            *reinterpret_cast<PipelineViewportSwizzleStateCreateInfoNV const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportSwizzleStateCreateInfoNV(
       VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> const &
-        viewportSwizzles_ )
-      : flags( flags_ )
-      , viewportCount( static_cast<uint32_t>( viewportSwizzles_.size() ) )
-      , pViewportSwizzles( viewportSwizzles_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> const
+          &viewportSwizzles_)
+      : flags(flags_),
+        viewportCount(static_cast<uint32_t>(viewportSwizzles_.size())),
+        pViewportSwizzles(viewportSwizzles_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineViewportSwizzleStateCreateInfoNV &
-      operator=( VkPipelineViewportSwizzleStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineViewportSwizzleStateCreateInfoNV &
+  operator=(PipelineViewportSwizzleStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineViewportSwizzleStateCreateInfoNV &
-      operator=( PipelineViewportSwizzleStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      flags             = rhs.flags;
-      viewportCount     = rhs.viewportCount;
-      pViewportSwizzles = rhs.pViewportSwizzles;
+  PipelineViewportSwizzleStateCreateInfoNV &
+  operator=(VkPipelineViewportSwizzleStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV const *>(
+        &rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineViewportSwizzleStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineViewportSwizzleStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineViewportSwizzleStateCreateInfoNV &setFlags(
+      VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    PipelineViewportSwizzleStateCreateInfoNV &
-      setFlags( VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  PipelineViewportSwizzleStateCreateInfoNV &
+  setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT {
+    viewportCount = viewportCount_;
+    return *this;
+  }
 
-    PipelineViewportSwizzleStateCreateInfoNV & setViewportCount( uint32_t viewportCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount = viewportCount_;
-      return *this;
-    }
+  PipelineViewportSwizzleStateCreateInfoNV &setPViewportSwizzles(
+      const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV *pViewportSwizzles_)
+      VULKAN_HPP_NOEXCEPT {
+    pViewportSwizzles = pViewportSwizzles_;
+    return *this;
+  }
 
-    PipelineViewportSwizzleStateCreateInfoNV &
-      setPViewportSwizzles( const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV * pViewportSwizzles_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewportSwizzles = pViewportSwizzles_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportSwizzleStateCreateInfoNV &
+  setViewportSwizzles(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                      const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> const
+                          &viewportSwizzles_) VULKAN_HPP_NOEXCEPT {
+    viewportCount = static_cast<uint32_t>(viewportSwizzles_.size());
+    pViewportSwizzles = viewportSwizzles_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportSwizzleStateCreateInfoNV & setViewportSwizzles(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> const &
-        viewportSwizzles_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount     = static_cast<uint32_t>( viewportSwizzles_.size() );
-      pViewportSwizzles = viewportSwizzles_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineViewportSwizzleStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineViewportSwizzleStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportSwizzleStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineViewportSwizzleStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV *>(
+        this);
+  }
 
-    operator VkPipelineViewportSwizzleStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineViewportSwizzleStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(PipelineViewportSwizzleStateCreateInfoNV const &) const = default;
 #else
-    bool operator==( PipelineViewportSwizzleStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( viewportCount == rhs.viewportCount ) && ( pViewportSwizzles == rhs.pViewportSwizzles );
-    }
+  bool operator==(PipelineViewportSwizzleStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (viewportCount == rhs.viewportCount) &&
+           (pViewportSwizzles == rhs.pViewportSwizzles);
+  }
 
-    bool operator!=( PipelineViewportSwizzleStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineViewportSwizzleStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportSwizzleStateCreateInfoNV;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags             = {};
-    uint32_t                                                        viewportCount     = {};
-    const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV *                 pViewportSwizzles = {};
-  };
-  static_assert( sizeof( PipelineViewportSwizzleStateCreateInfoNV ) ==
-                   sizeof( VkPipelineViewportSwizzleStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineViewportSwizzleStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineViewportSwizzleStateCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags = {};
+  uint32_t viewportCount = {};
+  const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV *pViewportSwizzles = {};
+};
+static_assert(sizeof(PipelineViewportSwizzleStateCreateInfoNV) ==
+                  sizeof(VkPipelineViewportSwizzleStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineViewportSwizzleStateCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineViewportSwizzleStateCreateInfoNV>
-  {
-    using Type = PipelineViewportSwizzleStateCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineViewportSwizzleStateCreateInfoNV> {
+  using Type = PipelineViewportSwizzleStateCreateInfoNV;
+};
 
-  struct ViewportWScalingNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ViewportWScalingNV( float xcoeff_ = {}, float ycoeff_ = {} ) VULKAN_HPP_NOEXCEPT
-      : xcoeff( xcoeff_ )
-      , ycoeff( ycoeff_ )
-    {}
-
-    ViewportWScalingNV( VkViewportWScalingNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ViewportWScalingNV & operator=( VkViewportWScalingNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViewportWScalingNV const *>( &rhs );
-      return *this;
-    }
-
-    ViewportWScalingNV & setXcoeff( float xcoeff_ ) VULKAN_HPP_NOEXCEPT
-    {
-      xcoeff = xcoeff_;
-      return *this;
-    }
-
-    ViewportWScalingNV & setYcoeff( float ycoeff_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ycoeff = ycoeff_;
-      return *this;
-    }
-
-    operator VkViewportWScalingNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkViewportWScalingNV *>( this );
-    }
-
-    operator VkViewportWScalingNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkViewportWScalingNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ViewportWScalingNV const & ) const = default;
-#else
-    bool operator==( ViewportWScalingNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( xcoeff == rhs.xcoeff ) && ( ycoeff == rhs.ycoeff );
-    }
-
-    bool operator!=( ViewportWScalingNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    float xcoeff = {};
-    float ycoeff = {};
-  };
-  static_assert( sizeof( ViewportWScalingNV ) == sizeof( VkViewportWScalingNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ViewportWScalingNV>::value, "struct wrapper is not a standard layout!" );
-
-  struct PipelineViewportWScalingStateCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct PipelineViewportWScalingStateCreateInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::ePipelineViewportWScalingStateCreateInfoNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PipelineViewportWScalingStateCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::Bool32                     viewportWScalingEnable_ = {},
-      uint32_t                                         viewportCount_          = {},
-      const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings_     = {} ) VULKAN_HPP_NOEXCEPT
-      : viewportWScalingEnable( viewportWScalingEnable_ )
-      , viewportCount( viewportCount_ )
-      , pViewportWScalings( pViewportWScalings_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PipelineViewportWScalingStateCreateInfoNV(
+      VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_ = {},
+      uint32_t viewportCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ViewportWScalingNV *pViewportWScalings_ = {})
+      VULKAN_HPP_NOEXCEPT : viewportWScalingEnable(viewportWScalingEnable_),
+                            viewportCount(viewportCount_),
+                            pViewportWScalings(pViewportWScalings_) {}
 
-    PipelineViewportWScalingStateCreateInfoNV( VkPipelineViewportWScalingStateCreateInfoNV const & rhs )
+  VULKAN_HPP_CONSTEXPR PipelineViewportWScalingStateCreateInfoNV(
+      PipelineViewportWScalingStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PipelineViewportWScalingStateCreateInfoNV(
+      VkPipelineViewportWScalingStateCreateInfoNV const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : PipelineViewportWScalingStateCreateInfoNV(
+            *reinterpret_cast<
+                PipelineViewportWScalingStateCreateInfoNV const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportWScalingStateCreateInfoNV(
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportWScalingStateCreateInfoNV(
       VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const &
-        viewportWScalings_ )
-      : viewportWScalingEnable( viewportWScalingEnable_ )
-      , viewportCount( static_cast<uint32_t>( viewportWScalings_.size() ) )
-      , pViewportWScalings( viewportWScalings_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const
+          &viewportWScalings_)
+      : viewportWScalingEnable(viewportWScalingEnable_),
+        viewportCount(static_cast<uint32_t>(viewportWScalings_.size())),
+        pViewportWScalings(viewportWScalings_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PipelineViewportWScalingStateCreateInfoNV &
-      operator=( VkPipelineViewportWScalingStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PipelineViewportWScalingStateCreateInfoNV &
+  operator=(PipelineViewportWScalingStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PipelineViewportWScalingStateCreateInfoNV &
-      operator=( PipelineViewportWScalingStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                  = rhs.pNext;
-      viewportWScalingEnable = rhs.viewportWScalingEnable;
-      viewportCount          = rhs.viewportCount;
-      pViewportWScalings     = rhs.pViewportWScalings;
+  PipelineViewportWScalingStateCreateInfoNV &
+  operator=(VkPipelineViewportWScalingStateCreateInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  PipelineViewportWScalingStateCreateInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PipelineViewportWScalingStateCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PipelineViewportWScalingStateCreateInfoNV &setViewportWScalingEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_)
+      VULKAN_HPP_NOEXCEPT {
+    viewportWScalingEnable = viewportWScalingEnable_;
+    return *this;
+  }
 
-    PipelineViewportWScalingStateCreateInfoNV &
-      setViewportWScalingEnable( VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportWScalingEnable = viewportWScalingEnable_;
-      return *this;
-    }
+  PipelineViewportWScalingStateCreateInfoNV &
+  setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT {
+    viewportCount = viewportCount_;
+    return *this;
+  }
 
-    PipelineViewportWScalingStateCreateInfoNV & setViewportCount( uint32_t viewportCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount = viewportCount_;
-      return *this;
-    }
+  PipelineViewportWScalingStateCreateInfoNV &setPViewportWScalings(
+      const VULKAN_HPP_NAMESPACE::ViewportWScalingNV *pViewportWScalings_)
+      VULKAN_HPP_NOEXCEPT {
+    pViewportWScalings = pViewportWScalings_;
+    return *this;
+  }
 
-    PipelineViewportWScalingStateCreateInfoNV &
-      setPViewportWScalings( const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewportWScalings = pViewportWScalings_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PipelineViewportWScalingStateCreateInfoNV &
+  setViewportWScalings(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                       const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const
+                           &viewportWScalings_) VULKAN_HPP_NOEXCEPT {
+    viewportCount = static_cast<uint32_t>(viewportWScalings_.size());
+    pViewportWScalings = viewportWScalings_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PipelineViewportWScalingStateCreateInfoNV & setViewportWScalings(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const &
-        viewportWScalings_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewportCount      = static_cast<uint32_t>( viewportWScalings_.size() );
-      pViewportWScalings = viewportWScalings_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkPipelineViewportWScalingStateCreateInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkPipelineViewportWScalingStateCreateInfoNV *>(this);
+  }
 
-    operator VkPipelineViewportWScalingStateCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV *>( this );
-    }
+  operator VkPipelineViewportWScalingStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV *>(
+        this);
+  }
 
-    operator VkPipelineViewportWScalingStateCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PipelineViewportWScalingStateCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PipelineViewportWScalingStateCreateInfoNV const &) const =
+      default;
 #else
-    bool operator==( PipelineViewportWScalingStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( viewportWScalingEnable == rhs.viewportWScalingEnable ) && ( viewportCount == rhs.viewportCount ) &&
-             ( pViewportWScalings == rhs.pViewportWScalings );
-    }
+  bool operator==(PipelineViewportWScalingStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (viewportWScalingEnable == rhs.viewportWScalingEnable) &&
+           (viewportCount == rhs.viewportCount) &&
+           (pViewportWScalings == rhs.pViewportWScalings);
+  }
 
-    bool operator!=( PipelineViewportWScalingStateCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PipelineViewportWScalingStateCreateInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType = StructureType::ePipelineViewportWScalingStateCreateInfoNV;
-    const void *                                     pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32                     viewportWScalingEnable = {};
-    uint32_t                                         viewportCount          = {};
-    const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings     = {};
-  };
-  static_assert( sizeof( PipelineViewportWScalingStateCreateInfoNV ) ==
-                   sizeof( VkPipelineViewportWScalingStateCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PipelineViewportWScalingStateCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePipelineViewportWScalingStateCreateInfoNV;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable = {};
+  uint32_t viewportCount = {};
+  const VULKAN_HPP_NAMESPACE::ViewportWScalingNV *pViewportWScalings = {};
+};
+static_assert(sizeof(PipelineViewportWScalingStateCreateInfoNV) ==
+                  sizeof(VkPipelineViewportWScalingStateCreateInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<PipelineViewportWScalingStateCreateInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePipelineViewportWScalingStateCreateInfoNV>
-  {
-    using Type = PipelineViewportWScalingStateCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::ePipelineViewportWScalingStateCreateInfoNV> {
+  using Type = PipelineViewportWScalingStateCreateInfoNV;
+};
 
-#ifdef VK_USE_PLATFORM_GGP
-  struct PresentFrameTokenGGP
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePresentFrameTokenGGP;
+#if defined(VK_USE_PLATFORM_GGP)
+struct PresentFrameTokenGGP {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePresentFrameTokenGGP;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PresentFrameTokenGGP( GgpFrameToken frameToken_ = {} ) VULKAN_HPP_NOEXCEPT
-      : frameToken( frameToken_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  PresentFrameTokenGGP(GgpFrameToken frameToken_ = {}) VULKAN_HPP_NOEXCEPT
+      : frameToken(frameToken_) {}
 
-    PresentFrameTokenGGP( VkPresentFrameTokenGGP const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR PresentFrameTokenGGP(PresentFrameTokenGGP const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    PresentFrameTokenGGP & operator=( VkPresentFrameTokenGGP const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP const *>( &rhs );
-      return *this;
-    }
+  PresentFrameTokenGGP(VkPresentFrameTokenGGP const &rhs) VULKAN_HPP_NOEXCEPT
+      : PresentFrameTokenGGP(
+            *reinterpret_cast<PresentFrameTokenGGP const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PresentFrameTokenGGP & operator=( PresentFrameTokenGGP const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      frameToken = rhs.frameToken;
+  VULKAN_HPP_CONSTEXPR_14 PresentFrameTokenGGP &
+  operator=(PresentFrameTokenGGP const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  PresentFrameTokenGGP &
+  operator=(VkPresentFrameTokenGGP const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP const *>(
+            &rhs);
+    return *this;
+  }
 
-    PresentFrameTokenGGP & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  PresentFrameTokenGGP &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    PresentFrameTokenGGP & setFrameToken( GgpFrameToken frameToken_ ) VULKAN_HPP_NOEXCEPT
-    {
-      frameToken = frameToken_;
-      return *this;
-    }
+  PresentFrameTokenGGP &
+  setFrameToken(GgpFrameToken frameToken_) VULKAN_HPP_NOEXCEPT {
+    frameToken = frameToken_;
+    return *this;
+  }
 
-    operator VkPresentFrameTokenGGP const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPresentFrameTokenGGP *>( this );
-    }
+  operator VkPresentFrameTokenGGP const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPresentFrameTokenGGP *>(this);
+  }
 
-    operator VkPresentFrameTokenGGP &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPresentFrameTokenGGP *>( this );
-    }
+  operator VkPresentFrameTokenGGP &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPresentFrameTokenGGP *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PresentFrameTokenGGP const & ) const = default;
-#  else
-    bool operator==( PresentFrameTokenGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( memcmp( &frameToken, &rhs.frameToken, sizeof( GgpFrameToken ) ) == 0 );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PresentFrameTokenGGP const &) const = default;
+#else
+  bool operator==(PresentFrameTokenGGP const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (memcmp(&frameToken, &rhs.frameToken, sizeof(GgpFrameToken)) == 0);
+  }
 
-    bool operator!=( PresentFrameTokenGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(PresentFrameTokenGGP const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::ePresentFrameTokenGGP;
-    const void *                              pNext      = {};
-    GgpFrameToken                             frameToken = {};
-  };
-  static_assert( sizeof( PresentFrameTokenGGP ) == sizeof( VkPresentFrameTokenGGP ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PresentFrameTokenGGP>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePresentFrameTokenGGP;
+  const void *pNext = {};
+  GgpFrameToken frameToken = {};
+};
+static_assert(sizeof(PresentFrameTokenGGP) == sizeof(VkPresentFrameTokenGGP),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PresentFrameTokenGGP>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePresentFrameTokenGGP>
-  {
-    using Type = PresentFrameTokenGGP;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePresentFrameTokenGGP> {
+  using Type = PresentFrameTokenGGP;
+};
 #endif /*VK_USE_PLATFORM_GGP*/
 
-  struct PresentInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePresentInfoKHR;
+struct RectLayerKHR {
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PresentInfoKHR( uint32_t                                   waitSemaphoreCount_ = {},
-                                         const VULKAN_HPP_NAMESPACE::Semaphore *    pWaitSemaphores_    = {},
-                                         uint32_t                                   swapchainCount_     = {},
-                                         const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains_        = {},
-                                         const uint32_t *                           pImageIndices_      = {},
-                                         VULKAN_HPP_NAMESPACE::Result *             pResults_ = {} ) VULKAN_HPP_NOEXCEPT
-      : waitSemaphoreCount( waitSemaphoreCount_ )
-      , pWaitSemaphores( pWaitSemaphores_ )
-      , swapchainCount( swapchainCount_ )
-      , pSwapchains( pSwapchains_ )
-      , pImageIndices( pImageIndices_ )
-      , pResults( pResults_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RectLayerKHR(VULKAN_HPP_NAMESPACE::Offset2D offset_ = {},
+                                    VULKAN_HPP_NAMESPACE::Extent2D extent_ = {},
+                                    uint32_t layer_ = {}) VULKAN_HPP_NOEXCEPT
+      : offset(offset_),
+        extent(extent_),
+        layer(layer_) {}
 
-    PresentInfoKHR( VkPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR
+  RectLayerKHR(RectLayerKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentInfoKHR(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const &    waitSemaphores_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const &               imageIndices_           = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<VULKAN_HPP_NAMESPACE::Result> const & results_                = {} )
-      : waitSemaphoreCount( static_cast<uint32_t>( waitSemaphores_.size() ) )
-      , pWaitSemaphores( waitSemaphores_.data() )
-      , swapchainCount( static_cast<uint32_t>( swapchains_.size() ) )
-      , pSwapchains( swapchains_.data() )
-      , pImageIndices( imageIndices_.data() )
-      , pResults( results_.data() )
-    {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( swapchains_.size() == imageIndices_.size() );
-      VULKAN_HPP_ASSERT( results_.empty() || ( swapchains_.size() == results_.size() ) );
-      VULKAN_HPP_ASSERT( results_.empty() || ( imageIndices_.size() == results_.size() ) );
-#    else
-      if ( swapchains_.size() != imageIndices_.size() )
-      {
-        throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                          "::PresentInfoKHR::PresentInfoKHR: swapchains_.size() != imageIndices_.size()" );
-      }
-      if ( !results_.empty() && ( swapchains_.size() != results_.size() ) )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::PresentInfoKHR::PresentInfoKHR: !results_.empty() && ( swapchains_.size() != results_.size() )" );
-      }
-      if ( !results_.empty() && ( imageIndices_.size() != results_.size() ) )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::PresentInfoKHR::PresentInfoKHR: !results_.empty() && ( imageIndices_.size() != results_.size() )" );
-      }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  RectLayerKHR(VkRectLayerKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : RectLayerKHR(*reinterpret_cast<RectLayerKHR const *>(&rhs)) {}
 
-    PresentInfoKHR & operator=( VkPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentInfoKHR const *>( &rhs );
-      return *this;
-    }
+  explicit RectLayerKHR(Rect2D const &rect2D, uint32_t layer_ = {})
+      : offset(rect2D.offset), extent(rect2D.extent), layer(layer_) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PresentInfoKHR & operator=( PresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      waitSemaphoreCount = rhs.waitSemaphoreCount;
-      pWaitSemaphores    = rhs.pWaitSemaphores;
-      swapchainCount     = rhs.swapchainCount;
-      pSwapchains        = rhs.pSwapchains;
-      pImageIndices      = rhs.pImageIndices;
-      pResults           = rhs.pResults;
+  VULKAN_HPP_CONSTEXPR_14 RectLayerKHR &
+  operator=(RectLayerKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  RectLayerKHR &operator=(VkRectLayerKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RectLayerKHR const *>(&rhs);
+    return *this;
+  }
 
-    PresentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  RectLayerKHR &
+  setOffset(VULKAN_HPP_NAMESPACE::Offset2D const &offset_) VULKAN_HPP_NOEXCEPT {
+    offset = offset_;
+    return *this;
+  }
 
-    PresentInfoKHR & setWaitSemaphoreCount( uint32_t waitSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = waitSemaphoreCount_;
-      return *this;
-    }
+  RectLayerKHR &
+  setExtent(VULKAN_HPP_NAMESPACE::Extent2D const &extent_) VULKAN_HPP_NOEXCEPT {
+    extent = extent_;
+    return *this;
+  }
 
-    PresentInfoKHR & setPWaitSemaphores( const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pWaitSemaphores = pWaitSemaphores_;
-      return *this;
-    }
+  RectLayerKHR &setLayer(uint32_t layer_) VULKAN_HPP_NOEXCEPT {
+    layer = layer_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentInfoKHR & setWaitSemaphores(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & waitSemaphores_ )
+  operator VkRectLayerKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRectLayerKHR *>(this);
+  }
+
+  operator VkRectLayerKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRectLayerKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RectLayerKHR const &) const = default;
+#else
+  bool operator==(RectLayerKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (offset == rhs.offset) && (extent == rhs.extent) &&
+           (layer == rhs.layer);
+  }
+
+  bool operator!=(RectLayerKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::Offset2D offset = {};
+  VULKAN_HPP_NAMESPACE::Extent2D extent = {};
+  uint32_t layer = {};
+};
+static_assert(sizeof(RectLayerKHR) == sizeof(VkRectLayerKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RectLayerKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PresentRegionKHR {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  PresentRegionKHR(uint32_t rectangleCount_ = {},
+                   const VULKAN_HPP_NAMESPACE::RectLayerKHR *pRectangles_ = {})
+      VULKAN_HPP_NOEXCEPT : rectangleCount(rectangleCount_),
+                            pRectangles(pRectangles_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  PresentRegionKHR(PresentRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentRegionKHR(VkPresentRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PresentRegionKHR(*reinterpret_cast<PresentRegionKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentRegionKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                   const VULKAN_HPP_NAMESPACE::RectLayerKHR> const &rectangles_)
+      : rectangleCount(static_cast<uint32_t>(rectangles_.size())),
+        pRectangles(rectangles_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PresentRegionKHR &
+  operator=(PresentRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentRegionKHR &
+  operator=(VkPresentRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentRegionKHR const *>(&rhs);
+    return *this;
+  }
+
+  PresentRegionKHR &
+  setRectangleCount(uint32_t rectangleCount_) VULKAN_HPP_NOEXCEPT {
+    rectangleCount = rectangleCount_;
+    return *this;
+  }
+
+  PresentRegionKHR &
+  setPRectangles(const VULKAN_HPP_NAMESPACE::RectLayerKHR *pRectangles_)
+      VULKAN_HPP_NOEXCEPT {
+    pRectangles = pRectangles_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentRegionKHR &
+  setRectangles(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                const VULKAN_HPP_NAMESPACE::RectLayerKHR> const &rectangles_)
+      VULKAN_HPP_NOEXCEPT {
+    rectangleCount = static_cast<uint32_t>(rectangles_.size());
+    pRectangles = rectangles_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPresentRegionKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPresentRegionKHR *>(this);
+  }
+
+  operator VkPresentRegionKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPresentRegionKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PresentRegionKHR const &) const = default;
+#else
+  bool operator==(PresentRegionKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (rectangleCount == rhs.rectangleCount) &&
+           (pRectangles == rhs.pRectangles);
+  }
+
+  bool operator!=(PresentRegionKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t rectangleCount = {};
+  const VULKAN_HPP_NAMESPACE::RectLayerKHR *pRectangles = {};
+};
+static_assert(sizeof(PresentRegionKHR) == sizeof(VkPresentRegionKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PresentRegionKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PresentRegionsKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePresentRegionsKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PresentRegionsKHR(
+      uint32_t swapchainCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PresentRegionKHR *pRegions_ = {})
+      VULKAN_HPP_NOEXCEPT : swapchainCount(swapchainCount_),
+                            pRegions(pRegions_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  PresentRegionsKHR(PresentRegionsKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentRegionsKHR(VkPresentRegionsKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : PresentRegionsKHR(*reinterpret_cast<PresentRegionsKHR const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentRegionsKHR(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PresentRegionKHR> const &regions_)
+      : swapchainCount(static_cast<uint32_t>(regions_.size())),
+        pRegions(regions_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PresentRegionsKHR &
+  operator=(PresentRegionsKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentRegionsKHR &
+  operator=(VkPresentRegionsKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentRegionsKHR const *>(
+        &rhs);
+    return *this;
+  }
+
+  PresentRegionsKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  PresentRegionsKHR &
+  setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT {
+    swapchainCount = swapchainCount_;
+    return *this;
+  }
+
+  PresentRegionsKHR &
+  setPRegions(const VULKAN_HPP_NAMESPACE::PresentRegionKHR *pRegions_)
+      VULKAN_HPP_NOEXCEPT {
+    pRegions = pRegions_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentRegionsKHR &
+  setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+             const VULKAN_HPP_NAMESPACE::PresentRegionKHR> const &regions_)
+      VULKAN_HPP_NOEXCEPT {
+    swapchainCount = static_cast<uint32_t>(regions_.size());
+    pRegions = regions_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkPresentRegionsKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPresentRegionsKHR *>(this);
+  }
+
+  operator VkPresentRegionsKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPresentRegionsKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PresentRegionsKHR const &) const = default;
+#else
+  bool operator==(PresentRegionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (swapchainCount == rhs.swapchainCount) && (pRegions == rhs.pRegions);
+  }
+
+  bool operator!=(PresentRegionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePresentRegionsKHR;
+  const void *pNext = {};
+  uint32_t swapchainCount = {};
+  const VULKAN_HPP_NAMESPACE::PresentRegionKHR *pRegions = {};
+};
+static_assert(sizeof(PresentRegionsKHR) == sizeof(VkPresentRegionsKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PresentRegionsKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <> struct CppType<StructureType, StructureType::ePresentRegionsKHR> {
+  using Type = PresentRegionsKHR;
+};
+
+struct PresentTimeGOOGLE {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  PresentTimeGOOGLE(uint32_t presentID_ = {},
+                    uint64_t desiredPresentTime_ = {}) VULKAN_HPP_NOEXCEPT
+      : presentID(presentID_),
+        desiredPresentTime(desiredPresentTime_) {}
+
+  VULKAN_HPP_CONSTEXPR
+  PresentTimeGOOGLE(PresentTimeGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentTimeGOOGLE(VkPresentTimeGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
+      : PresentTimeGOOGLE(*reinterpret_cast<PresentTimeGOOGLE const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 PresentTimeGOOGLE &
+  operator=(PresentTimeGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  PresentTimeGOOGLE &
+  operator=(VkPresentTimeGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE const *>(
+        &rhs);
+    return *this;
+  }
+
+  PresentTimeGOOGLE &setPresentID(uint32_t presentID_) VULKAN_HPP_NOEXCEPT {
+    presentID = presentID_;
+    return *this;
+  }
+
+  PresentTimeGOOGLE &
+  setDesiredPresentTime(uint64_t desiredPresentTime_) VULKAN_HPP_NOEXCEPT {
+    desiredPresentTime = desiredPresentTime_;
+    return *this;
+  }
+
+  operator VkPresentTimeGOOGLE const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPresentTimeGOOGLE *>(this);
+  }
+
+  operator VkPresentTimeGOOGLE &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPresentTimeGOOGLE *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PresentTimeGOOGLE const &) const = default;
+#else
+  bool operator==(PresentTimeGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (presentID == rhs.presentID) &&
+           (desiredPresentTime == rhs.desiredPresentTime);
+  }
+
+  bool operator!=(PresentTimeGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  uint32_t presentID = {};
+  uint64_t desiredPresentTime = {};
+};
+static_assert(sizeof(PresentTimeGOOGLE) == sizeof(VkPresentTimeGOOGLE),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PresentTimeGOOGLE>::value,
+              "struct wrapper is not a standard layout!");
+
+struct PresentTimesInfoGOOGLE {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePresentTimesInfoGOOGLE;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR PresentTimesInfoGOOGLE(
+      uint32_t swapchainCount_ = {},
+      const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE *pTimes_ = {})
+      VULKAN_HPP_NOEXCEPT : swapchainCount(swapchainCount_),
+                            pTimes(pTimes_) {}
+
+  VULKAN_HPP_CONSTEXPR PresentTimesInfoGOOGLE(PresentTimesInfoGOOGLE const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  PresentTimesInfoGOOGLE(VkPresentTimesInfoGOOGLE const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = static_cast<uint32_t>( waitSemaphores_.size() );
-      pWaitSemaphores    = waitSemaphores_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : PresentTimesInfoGOOGLE(
+            *reinterpret_cast<PresentTimesInfoGOOGLE const *>(&rhs)) {}
 
-    PresentInfoKHR & setSwapchainCount( uint32_t swapchainCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = swapchainCount_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentTimesInfoGOOGLE(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE> const &times_)
+      : swapchainCount(static_cast<uint32_t>(times_.size())),
+        pTimes(times_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    PresentInfoKHR & setPSwapchains( const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSwapchains = pSwapchains_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 PresentTimesInfoGOOGLE &
+  operator=(PresentTimesInfoGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentInfoKHR & setSwapchains(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = static_cast<uint32_t>( swapchains_.size() );
-      pSwapchains    = swapchains_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentTimesInfoGOOGLE &
+  operator=(VkPresentTimesInfoGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE const *>(
+            &rhs);
+    return *this;
+  }
 
-    PresentInfoKHR & setPImageIndices( const uint32_t * pImageIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pImageIndices = pImageIndices_;
-      return *this;
-    }
+  PresentTimesInfoGOOGLE &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentInfoKHR & setImageIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & imageIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = static_cast<uint32_t>( imageIndices_.size() );
-      pImageIndices  = imageIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentTimesInfoGOOGLE &
+  setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT {
+    swapchainCount = swapchainCount_;
+    return *this;
+  }
 
-    PresentInfoKHR & setPResults( VULKAN_HPP_NAMESPACE::Result * pResults_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pResults = pResults_;
-      return *this;
-    }
+  PresentTimesInfoGOOGLE &
+  setPTimes(const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE *pTimes_)
+      VULKAN_HPP_NOEXCEPT {
+    pTimes = pTimes_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentInfoKHR & setResults(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<VULKAN_HPP_NAMESPACE::Result> const & results_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = static_cast<uint32_t>( results_.size() );
-      pResults       = results_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  PresentTimesInfoGOOGLE &
+  setTimes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+           const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE> const &times_)
+      VULKAN_HPP_NOEXCEPT {
+    swapchainCount = static_cast<uint32_t>(times_.size());
+    pTimes = times_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPresentInfoKHR *>( this );
-    }
+  operator VkPresentTimesInfoGOOGLE const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkPresentTimesInfoGOOGLE *>(this);
+  }
 
-    operator VkPresentInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPresentInfoKHR *>( this );
-    }
+  operator VkPresentTimesInfoGOOGLE &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkPresentTimesInfoGOOGLE *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PresentInfoKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(PresentTimesInfoGOOGLE const &) const = default;
 #else
-    bool operator==( PresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
-             ( pWaitSemaphores == rhs.pWaitSemaphores ) && ( swapchainCount == rhs.swapchainCount ) &&
-             ( pSwapchains == rhs.pSwapchains ) && ( pImageIndices == rhs.pImageIndices ) &&
-             ( pResults == rhs.pResults );
-    }
+  bool operator==(PresentTimesInfoGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (swapchainCount == rhs.swapchainCount) && (pTimes == rhs.pTimes);
+  }
 
-    bool operator!=( PresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(PresentTimesInfoGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType              = StructureType::ePresentInfoKHR;
-    const void *                               pNext              = {};
-    uint32_t                                   waitSemaphoreCount = {};
-    const VULKAN_HPP_NAMESPACE::Semaphore *    pWaitSemaphores    = {};
-    uint32_t                                   swapchainCount     = {};
-    const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains        = {};
-    const uint32_t *                           pImageIndices      = {};
-    VULKAN_HPP_NAMESPACE::Result *             pResults           = {};
-  };
-  static_assert( sizeof( PresentInfoKHR ) == sizeof( VkPresentInfoKHR ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PresentInfoKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::ePresentTimesInfoGOOGLE;
+  const void *pNext = {};
+  uint32_t swapchainCount = {};
+  const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE *pTimes = {};
+};
+static_assert(sizeof(PresentTimesInfoGOOGLE) ==
+                  sizeof(VkPresentTimesInfoGOOGLE),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<PresentTimesInfoGOOGLE>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::ePresentInfoKHR>
-  {
-    using Type = PresentInfoKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::ePresentTimesInfoGOOGLE> {
+  using Type = PresentTimesInfoGOOGLE;
+};
 
-  struct RectLayerKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RectLayerKHR( VULKAN_HPP_NAMESPACE::Offset2D offset_ = {},
-                                       VULKAN_HPP_NAMESPACE::Extent2D extent_ = {},
-                                       uint32_t                       layer_  = {} ) VULKAN_HPP_NOEXCEPT
-      : offset( offset_ )
-      , extent( extent_ )
-      , layer( layer_ )
-    {}
+struct ProtectedSubmitInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eProtectedSubmitInfo;
 
-    RectLayerKHR( VkRectLayerKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ProtectedSubmitInfo(
+      VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_ = {}) VULKAN_HPP_NOEXCEPT
+      : protectedSubmit(protectedSubmit_) {}
 
-    explicit RectLayerKHR( Rect2D const & rect2D, uint32_t layer_ = {} )
-      : offset( rect2D.offset ), extent( rect2D.extent ), layer( layer_ )
-    {}
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR ProtectedSubmitInfo(ProtectedSubmitInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    RectLayerKHR & operator=( VkRectLayerKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RectLayerKHR const *>( &rhs );
-      return *this;
-    }
+  ProtectedSubmitInfo(VkProtectedSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
+      : ProtectedSubmitInfo(
+            *reinterpret_cast<ProtectedSubmitInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    RectLayerKHR & setOffset( VULKAN_HPP_NAMESPACE::Offset2D const & offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ProtectedSubmitInfo &
+  operator=(ProtectedSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    RectLayerKHR & setExtent( VULKAN_HPP_NAMESPACE::Extent2D const & extent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      extent = extent_;
-      return *this;
-    }
+  ProtectedSubmitInfo &
+  operator=(VkProtectedSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo const *>(
+            &rhs);
+    return *this;
+  }
 
-    RectLayerKHR & setLayer( uint32_t layer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layer = layer_;
-      return *this;
-    }
+  ProtectedSubmitInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkRectLayerKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRectLayerKHR *>( this );
-    }
+  ProtectedSubmitInfo &setProtectedSubmit(
+      VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_) VULKAN_HPP_NOEXCEPT {
+    protectedSubmit = protectedSubmit_;
+    return *this;
+  }
 
-    operator VkRectLayerKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRectLayerKHR *>( this );
-    }
+  operator VkProtectedSubmitInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkProtectedSubmitInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RectLayerKHR const & ) const = default;
+  operator VkProtectedSubmitInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkProtectedSubmitInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ProtectedSubmitInfo const &) const = default;
 #else
-    bool operator==( RectLayerKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( offset == rhs.offset ) && ( extent == rhs.extent ) && ( layer == rhs.layer );
-    }
+  bool operator==(ProtectedSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (protectedSubmit == rhs.protectedSubmit);
+  }
 
-    bool operator!=( RectLayerKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ProtectedSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    VULKAN_HPP_NAMESPACE::Offset2D offset = {};
-    VULKAN_HPP_NAMESPACE::Extent2D extent = {};
-    uint32_t                       layer  = {};
-  };
-  static_assert( sizeof( RectLayerKHR ) == sizeof( VkRectLayerKHR ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RectLayerKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eProtectedSubmitInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit = {};
+};
+static_assert(sizeof(ProtectedSubmitInfo) == sizeof(VkProtectedSubmitInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ProtectedSubmitInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct PresentRegionKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PresentRegionKHR( uint32_t                                   rectangleCount_ = {},
-                      const VULKAN_HPP_NAMESPACE::RectLayerKHR * pRectangles_    = {} ) VULKAN_HPP_NOEXCEPT
-      : rectangleCount( rectangleCount_ )
-      , pRectangles( pRectangles_ )
-    {}
+template <> struct CppType<StructureType, StructureType::eProtectedSubmitInfo> {
+  using Type = ProtectedSubmitInfo;
+};
 
-    PresentRegionKHR( VkPresentRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentRegionKHR(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::RectLayerKHR> const & rectangles_ )
-      : rectangleCount( static_cast<uint32_t>( rectangles_.size() ) ), pRectangles( rectangles_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PresentRegionKHR & operator=( VkPresentRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentRegionKHR const *>( &rhs );
-      return *this;
-    }
-
-    PresentRegionKHR & setRectangleCount( uint32_t rectangleCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      rectangleCount = rectangleCount_;
-      return *this;
-    }
-
-    PresentRegionKHR & setPRectangles( const VULKAN_HPP_NAMESPACE::RectLayerKHR * pRectangles_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pRectangles = pRectangles_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentRegionKHR & setRectangles(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::RectLayerKHR> const & rectangles_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      rectangleCount = static_cast<uint32_t>( rectangles_.size() );
-      pRectangles    = rectangles_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPresentRegionKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPresentRegionKHR *>( this );
-    }
-
-    operator VkPresentRegionKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPresentRegionKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PresentRegionKHR const & ) const = default;
-#else
-    bool operator==( PresentRegionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( rectangleCount == rhs.rectangleCount ) && ( pRectangles == rhs.pRectangles );
-    }
-
-    bool operator!=( PresentRegionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                                   rectangleCount = {};
-    const VULKAN_HPP_NAMESPACE::RectLayerKHR * pRectangles    = {};
-  };
-  static_assert( sizeof( PresentRegionKHR ) == sizeof( VkPresentRegionKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PresentRegionKHR>::value, "struct wrapper is not a standard layout!" );
-
-  struct PresentRegionsKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePresentRegionsKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PresentRegionsKHR( uint32_t                                       swapchainCount_ = {},
-                       const VULKAN_HPP_NAMESPACE::PresentRegionKHR * pRegions_       = {} ) VULKAN_HPP_NOEXCEPT
-      : swapchainCount( swapchainCount_ )
-      , pRegions( pRegions_ )
-    {}
-
-    PresentRegionsKHR( VkPresentRegionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentRegionsKHR(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PresentRegionKHR> const & regions_ )
-      : swapchainCount( static_cast<uint32_t>( regions_.size() ) ), pRegions( regions_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PresentRegionsKHR & operator=( VkPresentRegionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentRegionsKHR const *>( &rhs );
-      return *this;
-    }
-
-    PresentRegionsKHR & operator=( PresentRegionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      swapchainCount = rhs.swapchainCount;
-      pRegions       = rhs.pRegions;
-
-      return *this;
-    }
-
-    PresentRegionsKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PresentRegionsKHR & setSwapchainCount( uint32_t swapchainCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = swapchainCount_;
-      return *this;
-    }
-
-    PresentRegionsKHR & setPRegions( const VULKAN_HPP_NAMESPACE::PresentRegionKHR * pRegions_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pRegions = pRegions_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentRegionsKHR & setRegions(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PresentRegionKHR> const & regions_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = static_cast<uint32_t>( regions_.size() );
-      pRegions       = regions_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPresentRegionsKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPresentRegionsKHR *>( this );
-    }
-
-    operator VkPresentRegionsKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPresentRegionsKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PresentRegionsKHR const & ) const = default;
-#else
-    bool operator==( PresentRegionsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainCount == rhs.swapchainCount ) &&
-             ( pRegions == rhs.pRegions );
-    }
-
-    bool operator!=( PresentRegionsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType          = StructureType::ePresentRegionsKHR;
-    const void *                                   pNext          = {};
-    uint32_t                                       swapchainCount = {};
-    const VULKAN_HPP_NAMESPACE::PresentRegionKHR * pRegions       = {};
-  };
-  static_assert( sizeof( PresentRegionsKHR ) == sizeof( VkPresentRegionsKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PresentRegionsKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePresentRegionsKHR>
-  {
-    using Type = PresentRegionsKHR;
-  };
-
-  struct PresentTimeGOOGLE
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PresentTimeGOOGLE( uint32_t presentID_          = {},
-                                            uint64_t desiredPresentTime_ = {} ) VULKAN_HPP_NOEXCEPT
-      : presentID( presentID_ )
-      , desiredPresentTime( desiredPresentTime_ )
-    {}
-
-    PresentTimeGOOGLE( VkPresentTimeGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PresentTimeGOOGLE & operator=( VkPresentTimeGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE const *>( &rhs );
-      return *this;
-    }
-
-    PresentTimeGOOGLE & setPresentID( uint32_t presentID_ ) VULKAN_HPP_NOEXCEPT
-    {
-      presentID = presentID_;
-      return *this;
-    }
-
-    PresentTimeGOOGLE & setDesiredPresentTime( uint64_t desiredPresentTime_ ) VULKAN_HPP_NOEXCEPT
-    {
-      desiredPresentTime = desiredPresentTime_;
-      return *this;
-    }
-
-    operator VkPresentTimeGOOGLE const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPresentTimeGOOGLE *>( this );
-    }
-
-    operator VkPresentTimeGOOGLE &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPresentTimeGOOGLE *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PresentTimeGOOGLE const & ) const = default;
-#else
-    bool operator==( PresentTimeGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( presentID == rhs.presentID ) && ( desiredPresentTime == rhs.desiredPresentTime );
-    }
-
-    bool operator!=( PresentTimeGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t presentID          = {};
-    uint64_t desiredPresentTime = {};
-  };
-  static_assert( sizeof( PresentTimeGOOGLE ) == sizeof( VkPresentTimeGOOGLE ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PresentTimeGOOGLE>::value, "struct wrapper is not a standard layout!" );
-
-  struct PresentTimesInfoGOOGLE
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePresentTimesInfoGOOGLE;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    PresentTimesInfoGOOGLE( uint32_t                                        swapchainCount_ = {},
-                            const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE * pTimes_         = {} ) VULKAN_HPP_NOEXCEPT
-      : swapchainCount( swapchainCount_ )
-      , pTimes( pTimes_ )
-    {}
-
-    PresentTimesInfoGOOGLE( VkPresentTimesInfoGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentTimesInfoGOOGLE(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE> const & times_ )
-      : swapchainCount( static_cast<uint32_t>( times_.size() ) ), pTimes( times_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PresentTimesInfoGOOGLE & operator=( VkPresentTimesInfoGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE const *>( &rhs );
-      return *this;
-    }
-
-    PresentTimesInfoGOOGLE & operator=( PresentTimesInfoGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      swapchainCount = rhs.swapchainCount;
-      pTimes         = rhs.pTimes;
-
-      return *this;
-    }
-
-    PresentTimesInfoGOOGLE & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PresentTimesInfoGOOGLE & setSwapchainCount( uint32_t swapchainCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = swapchainCount_;
-      return *this;
-    }
-
-    PresentTimesInfoGOOGLE & setPTimes( const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE * pTimes_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pTimes = pTimes_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    PresentTimesInfoGOOGLE & setTimes(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE> const & times_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      swapchainCount = static_cast<uint32_t>( times_.size() );
-      pTimes         = times_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkPresentTimesInfoGOOGLE const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPresentTimesInfoGOOGLE *>( this );
-    }
-
-    operator VkPresentTimesInfoGOOGLE &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPresentTimesInfoGOOGLE *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PresentTimesInfoGOOGLE const & ) const = default;
-#else
-    bool operator==( PresentTimesInfoGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainCount == rhs.swapchainCount ) &&
-             ( pTimes == rhs.pTimes );
-    }
-
-    bool operator!=( PresentTimesInfoGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType       sType          = StructureType::ePresentTimesInfoGOOGLE;
-    const void *                                    pNext          = {};
-    uint32_t                                        swapchainCount = {};
-    const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE * pTimes         = {};
-  };
-  static_assert( sizeof( PresentTimesInfoGOOGLE ) == sizeof( VkPresentTimesInfoGOOGLE ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PresentTimesInfoGOOGLE>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePresentTimesInfoGOOGLE>
-  {
-    using Type = PresentTimesInfoGOOGLE;
-  };
-
-  struct PrivateDataSlotCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::ePrivateDataSlotCreateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR PrivateDataSlotCreateInfoEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlagsEXT flags_ = {} )
-      VULKAN_HPP_NOEXCEPT : flags( flags_ )
-    {}
-
-    PrivateDataSlotCreateInfoEXT( VkPrivateDataSlotCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    PrivateDataSlotCreateInfoEXT & operator=( VkPrivateDataSlotCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    PrivateDataSlotCreateInfoEXT & operator=( PrivateDataSlotCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
-
-      return *this;
-    }
-
-    PrivateDataSlotCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    PrivateDataSlotCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    operator VkPrivateDataSlotCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>( this );
-    }
-
-    operator VkPrivateDataSlotCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkPrivateDataSlotCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( PrivateDataSlotCreateInfoEXT const & ) const = default;
-#else
-    bool operator==( PrivateDataSlotCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( PrivateDataSlotCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType = StructureType::ePrivateDataSlotCreateInfoEXT;
-    const void *                                        pNext = {};
-    VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlagsEXT flags = {};
-  };
-  static_assert( sizeof( PrivateDataSlotCreateInfoEXT ) == sizeof( VkPrivateDataSlotCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<PrivateDataSlotCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::ePrivateDataSlotCreateInfoEXT>
-  {
-    using Type = PrivateDataSlotCreateInfoEXT;
-  };
-
-  struct ProtectedSubmitInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eProtectedSubmitInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ProtectedSubmitInfo( VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_ = {} ) VULKAN_HPP_NOEXCEPT
-      : protectedSubmit( protectedSubmit_ )
-    {}
-
-    ProtectedSubmitInfo( VkProtectedSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ProtectedSubmitInfo & operator=( VkProtectedSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo const *>( &rhs );
-      return *this;
-    }
-
-    ProtectedSubmitInfo & operator=( ProtectedSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      protectedSubmit = rhs.protectedSubmit;
-
-      return *this;
-    }
-
-    ProtectedSubmitInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ProtectedSubmitInfo & setProtectedSubmit( VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_ ) VULKAN_HPP_NOEXCEPT
-    {
-      protectedSubmit = protectedSubmit_;
-      return *this;
-    }
-
-    operator VkProtectedSubmitInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkProtectedSubmitInfo *>( this );
-    }
-
-    operator VkProtectedSubmitInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkProtectedSubmitInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ProtectedSubmitInfo const & ) const = default;
-#else
-    bool operator==( ProtectedSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( protectedSubmit == rhs.protectedSubmit );
-    }
-
-    bool operator!=( ProtectedSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eProtectedSubmitInfo;
-    const void *                              pNext           = {};
-    VULKAN_HPP_NAMESPACE::Bool32              protectedSubmit = {};
-  };
-  static_assert( sizeof( ProtectedSubmitInfo ) == sizeof( VkProtectedSubmitInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ProtectedSubmitInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eProtectedSubmitInfo>
-  {
-    using Type = ProtectedSubmitInfo;
-  };
-
-  struct QueryPoolCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eQueryPoolCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR QueryPoolCreateInfo(
-      VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags        flags_      = {},
-      VULKAN_HPP_NAMESPACE::QueryType                   queryType_  = VULKAN_HPP_NAMESPACE::QueryType::eOcclusion,
-      uint32_t                                          queryCount_ = {},
-      VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , queryType( queryType_ )
-      , queryCount( queryCount_ )
-      , pipelineStatistics( pipelineStatistics_ )
-    {}
-
-    QueryPoolCreateInfo( VkQueryPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    QueryPoolCreateInfo & operator=( VkQueryPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    QueryPoolCreateInfo & operator=( QueryPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      flags              = rhs.flags;
-      queryType          = rhs.queryType;
-      queryCount         = rhs.queryCount;
-      pipelineStatistics = rhs.pipelineStatistics;
-
-      return *this;
-    }
-
-    QueryPoolCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    QueryPoolCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    QueryPoolCreateInfo & setQueryType( VULKAN_HPP_NAMESPACE::QueryType queryType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queryType = queryType_;
-      return *this;
-    }
-
-    QueryPoolCreateInfo & setQueryCount( uint32_t queryCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queryCount = queryCount_;
-      return *this;
-    }
-
-    QueryPoolCreateInfo &
-      setPipelineStatistics( VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineStatistics = pipelineStatistics_;
-      return *this;
-    }
-
-    operator VkQueryPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkQueryPoolCreateInfo *>( this );
-    }
-
-    operator VkQueryPoolCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkQueryPoolCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( QueryPoolCreateInfo const & ) const = default;
-#else
-    bool operator==( QueryPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( queryType == rhs.queryType ) && ( queryCount == rhs.queryCount ) &&
-             ( pipelineStatistics == rhs.pipelineStatistics );
-    }
-
-    bool operator!=( QueryPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType              = StructureType::eQueryPoolCreateInfo;
-    const void *                                      pNext              = {};
-    VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags        flags              = {};
-    VULKAN_HPP_NAMESPACE::QueryType                   queryType          = VULKAN_HPP_NAMESPACE::QueryType::eOcclusion;
-    uint32_t                                          queryCount         = {};
-    VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics = {};
-  };
-  static_assert( sizeof( QueryPoolCreateInfo ) == sizeof( VkQueryPoolCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<QueryPoolCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eQueryPoolCreateInfo>
-  {
-    using Type = QueryPoolCreateInfo;
-  };
-
-  struct QueryPoolPerformanceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eQueryPoolPerformanceCreateInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR QueryPoolPerformanceCreateInfoKHR( uint32_t         queueFamilyIndex_  = {},
-                                                            uint32_t         counterIndexCount_ = {},
-                                                            const uint32_t * pCounterIndices_ = {} ) VULKAN_HPP_NOEXCEPT
-      : queueFamilyIndex( queueFamilyIndex_ )
-      , counterIndexCount( counterIndexCount_ )
-      , pCounterIndices( pCounterIndices_ )
-    {}
-
-    QueryPoolPerformanceCreateInfoKHR( VkQueryPoolPerformanceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    QueryPoolPerformanceCreateInfoKHR(
-      uint32_t                                                              queueFamilyIndex_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & counterIndices_ )
-      : queueFamilyIndex( queueFamilyIndex_ )
-      , counterIndexCount( static_cast<uint32_t>( counterIndices_.size() ) )
-      , pCounterIndices( counterIndices_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    QueryPoolPerformanceCreateInfoKHR & operator=( VkQueryPoolPerformanceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    QueryPoolPerformanceCreateInfoKHR & operator=( QueryPoolPerformanceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      queueFamilyIndex  = rhs.queueFamilyIndex;
-      counterIndexCount = rhs.counterIndexCount;
-      pCounterIndices   = rhs.pCounterIndices;
-
-      return *this;
-    }
-
-    QueryPoolPerformanceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    QueryPoolPerformanceCreateInfoKHR & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndex = queueFamilyIndex_;
-      return *this;
-    }
-
-    QueryPoolPerformanceCreateInfoKHR & setCounterIndexCount( uint32_t counterIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      counterIndexCount = counterIndexCount_;
-      return *this;
-    }
-
-    QueryPoolPerformanceCreateInfoKHR & setPCounterIndices( const uint32_t * pCounterIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCounterIndices = pCounterIndices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    QueryPoolPerformanceCreateInfoKHR & setCounterIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & counterIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      counterIndexCount = static_cast<uint32_t>( counterIndices_.size() );
-      pCounterIndices   = counterIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkQueryPoolPerformanceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( this );
-    }
-
-    operator VkQueryPoolPerformanceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkQueryPoolPerformanceCreateInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( QueryPoolPerformanceCreateInfoKHR const & ) const = default;
-#else
-    bool operator==( QueryPoolPerformanceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queueFamilyIndex == rhs.queueFamilyIndex ) &&
-             ( counterIndexCount == rhs.counterIndexCount ) && ( pCounterIndices == rhs.pCounterIndices );
-    }
-
-    bool operator!=( QueryPoolPerformanceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType             = StructureType::eQueryPoolPerformanceCreateInfoKHR;
-    const void *                              pNext             = {};
-    uint32_t                                  queueFamilyIndex  = {};
-    uint32_t                                  counterIndexCount = {};
-    const uint32_t *                          pCounterIndices   = {};
-  };
-  static_assert( sizeof( QueryPoolPerformanceCreateInfoKHR ) == sizeof( VkQueryPoolPerformanceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<QueryPoolPerformanceCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eQueryPoolPerformanceCreateInfoKHR>
-  {
-    using Type = QueryPoolPerformanceCreateInfoKHR;
-  };
-
-  struct QueryPoolPerformanceQueryCreateInfoINTEL
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct QueryPoolPerformanceQueryCreateInfoINTEL {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR QueryPoolPerformanceQueryCreateInfoINTEL(
-      VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL performanceCountersSampling_ =
-        VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL::eManual ) VULKAN_HPP_NOEXCEPT
-      : performanceCountersSampling( performanceCountersSampling_ )
-    {}
-
-    QueryPoolPerformanceQueryCreateInfoINTEL( VkQueryPoolPerformanceQueryCreateInfoINTEL const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR QueryPoolPerformanceQueryCreateInfoINTEL(
+      VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL
+          performanceCountersSampling_ =
+              VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL::eManual)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : performanceCountersSampling(performanceCountersSampling_) {}
 
-    QueryPoolPerformanceQueryCreateInfoINTEL &
-      operator=( VkQueryPoolPerformanceQueryCreateInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR QueryPoolPerformanceQueryCreateInfoINTEL(
+      QueryPoolPerformanceQueryCreateInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    QueryPoolPerformanceQueryCreateInfoINTEL &
-      operator=( QueryPoolPerformanceQueryCreateInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      performanceCountersSampling = rhs.performanceCountersSampling;
+  QueryPoolPerformanceQueryCreateInfoINTEL(
+      VkQueryPoolPerformanceQueryCreateInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
+      : QueryPoolPerformanceQueryCreateInfoINTEL(
+            *reinterpret_cast<QueryPoolPerformanceQueryCreateInfoINTEL const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceQueryCreateInfoINTEL &
+  operator=(QueryPoolPerformanceQueryCreateInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    QueryPoolPerformanceQueryCreateInfoINTEL & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  QueryPoolPerformanceQueryCreateInfoINTEL &
+  operator=(VkQueryPoolPerformanceQueryCreateInfoINTEL const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL const *>(
+        &rhs);
+    return *this;
+  }
 
-    QueryPoolPerformanceQueryCreateInfoINTEL & setPerformanceCountersSampling(
-      VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL performanceCountersSampling_ ) VULKAN_HPP_NOEXCEPT
-    {
-      performanceCountersSampling = performanceCountersSampling_;
-      return *this;
-    }
+  QueryPoolPerformanceQueryCreateInfoINTEL &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkQueryPoolPerformanceQueryCreateInfoINTEL const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkQueryPoolPerformanceQueryCreateInfoINTEL *>( this );
-    }
+  QueryPoolPerformanceQueryCreateInfoINTEL &setPerformanceCountersSampling(
+      VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL
+          performanceCountersSampling_) VULKAN_HPP_NOEXCEPT {
+    performanceCountersSampling = performanceCountersSampling_;
+    return *this;
+  }
 
-    operator VkQueryPoolPerformanceQueryCreateInfoINTEL &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkQueryPoolPerformanceQueryCreateInfoINTEL *>( this );
-    }
+  operator VkQueryPoolPerformanceQueryCreateInfoINTEL const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkQueryPoolPerformanceQueryCreateInfoINTEL *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( QueryPoolPerformanceQueryCreateInfoINTEL const & ) const = default;
+  operator VkQueryPoolPerformanceQueryCreateInfoINTEL &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkQueryPoolPerformanceQueryCreateInfoINTEL *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(QueryPoolPerformanceQueryCreateInfoINTEL const &) const = default;
 #else
-    bool operator==( QueryPoolPerformanceQueryCreateInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( performanceCountersSampling == rhs.performanceCountersSampling );
-    }
+  bool operator==(QueryPoolPerformanceQueryCreateInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (performanceCountersSampling == rhs.performanceCountersSampling);
+  }
 
-    bool operator!=( QueryPoolPerformanceQueryCreateInfoINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(QueryPoolPerformanceQueryCreateInfoINTEL const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType = StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL;
-    const void *                                     pNext = {};
-    VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL performanceCountersSampling =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL performanceCountersSampling =
       VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL::eManual;
-  };
-  static_assert( sizeof( QueryPoolPerformanceQueryCreateInfoINTEL ) ==
-                   sizeof( VkQueryPoolPerformanceQueryCreateInfoINTEL ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<QueryPoolPerformanceQueryCreateInfoINTEL>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(QueryPoolPerformanceQueryCreateInfoINTEL) ==
+                  sizeof(VkQueryPoolPerformanceQueryCreateInfoINTEL),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<QueryPoolPerformanceQueryCreateInfoINTEL>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL>
-  {
-    using Type = QueryPoolPerformanceQueryCreateInfoINTEL;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL> {
+  using Type = QueryPoolPerformanceQueryCreateInfoINTEL;
+};
+using QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
 
-  struct QueueFamilyCheckpointPropertiesNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct QueueFamilyCheckpointProperties2NV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eQueueFamilyCheckpointProperties2Nv;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointProperties2NV(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR
+          checkpointExecutionStageMask_ = {}) VULKAN_HPP_NOEXCEPT
+      : checkpointExecutionStageMask(checkpointExecutionStageMask_) {}
+
+  VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointProperties2NV(
+      QueueFamilyCheckpointProperties2NV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  QueueFamilyCheckpointProperties2NV(
+      VkQueueFamilyCheckpointProperties2NV const &rhs) VULKAN_HPP_NOEXCEPT
+      : QueueFamilyCheckpointProperties2NV(
+            *reinterpret_cast<QueueFamilyCheckpointProperties2NV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 QueueFamilyCheckpointProperties2NV &
+  operator=(QueueFamilyCheckpointProperties2NV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  QueueFamilyCheckpointProperties2NV &operator=(
+      VkQueueFamilyCheckpointProperties2NV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV const *>(&rhs);
+    return *this;
+  }
+
+  operator VkQueueFamilyCheckpointProperties2NV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV *>(
+        this);
+  }
+
+  operator VkQueueFamilyCheckpointProperties2NV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkQueueFamilyCheckpointProperties2NV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(QueueFamilyCheckpointProperties2NV const &) const = default;
+#else
+  bool operator==(QueueFamilyCheckpointProperties2NV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (checkpointExecutionStageMask == rhs.checkpointExecutionStageMask);
+  }
+
+  bool operator!=(QueueFamilyCheckpointProperties2NV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eQueueFamilyCheckpointProperties2Nv;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR checkpointExecutionStageMask =
+      {};
+};
+static_assert(sizeof(QueueFamilyCheckpointProperties2NV) ==
+                  sizeof(VkQueueFamilyCheckpointProperties2NV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<QueueFamilyCheckpointProperties2NV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eQueueFamilyCheckpointProperties2Nv> {
+  using Type = QueueFamilyCheckpointProperties2NV;
+};
+
+struct QueueFamilyCheckpointPropertiesNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eQueueFamilyCheckpointPropertiesNV;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointPropertiesNV(
-      VULKAN_HPP_NAMESPACE::PipelineStageFlags checkpointExecutionStageMask_ = {} ) VULKAN_HPP_NOEXCEPT
-      : checkpointExecutionStageMask( checkpointExecutionStageMask_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointPropertiesNV(
+      VULKAN_HPP_NAMESPACE::PipelineStageFlags checkpointExecutionStageMask_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : checkpointExecutionStageMask(checkpointExecutionStageMask_) {}
 
-    QueueFamilyCheckpointPropertiesNV( VkQueueFamilyCheckpointPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointPropertiesNV(
+      QueueFamilyCheckpointPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    QueueFamilyCheckpointPropertiesNV & operator=( VkQueueFamilyCheckpointPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV const *>( &rhs );
-      return *this;
-    }
+  QueueFamilyCheckpointPropertiesNV(
+      VkQueueFamilyCheckpointPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : QueueFamilyCheckpointPropertiesNV(
+            *reinterpret_cast<QueueFamilyCheckpointPropertiesNV const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    QueueFamilyCheckpointPropertiesNV & operator=( QueueFamilyCheckpointPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      checkpointExecutionStageMask = rhs.checkpointExecutionStageMask;
+  VULKAN_HPP_CONSTEXPR_14 QueueFamilyCheckpointPropertiesNV &
+  operator=(QueueFamilyCheckpointPropertiesNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  QueueFamilyCheckpointPropertiesNV &operator=(
+      VkQueueFamilyCheckpointPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV const *>(&rhs);
+    return *this;
+  }
 
-    operator VkQueueFamilyCheckpointPropertiesNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV *>( this );
-    }
+  operator VkQueueFamilyCheckpointPropertiesNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV *>(this);
+  }
 
-    operator VkQueueFamilyCheckpointPropertiesNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV *>( this );
-    }
+  operator VkQueueFamilyCheckpointPropertiesNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( QueueFamilyCheckpointPropertiesNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(QueueFamilyCheckpointPropertiesNV const &) const = default;
 #else
-    bool operator==( QueueFamilyCheckpointPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( checkpointExecutionStageMask == rhs.checkpointExecutionStageMask );
-    }
+  bool operator==(QueueFamilyCheckpointPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (checkpointExecutionStageMask == rhs.checkpointExecutionStageMask);
+  }
 
-    bool operator!=( QueueFamilyCheckpointPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(QueueFamilyCheckpointPropertiesNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyCheckpointPropertiesNV;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineStageFlags  checkpointExecutionStageMask = {};
-  };
-  static_assert( sizeof( QueueFamilyCheckpointPropertiesNV ) == sizeof( VkQueueFamilyCheckpointPropertiesNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<QueueFamilyCheckpointPropertiesNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eQueueFamilyCheckpointPropertiesNV;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::PipelineStageFlags checkpointExecutionStageMask = {};
+};
+static_assert(sizeof(QueueFamilyCheckpointPropertiesNV) ==
+                  sizeof(VkQueueFamilyCheckpointPropertiesNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<QueueFamilyCheckpointPropertiesNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eQueueFamilyCheckpointPropertiesNV>
-  {
-    using Type = QueueFamilyCheckpointPropertiesNV;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eQueueFamilyCheckpointPropertiesNV> {
+  using Type = QueueFamilyCheckpointPropertiesNV;
+};
 
-  struct QueueFamilyProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    QueueFamilyProperties( VULKAN_HPP_NAMESPACE::QueueFlags queueFlags_                  = {},
-                           uint32_t                         queueCount_                  = {},
-                           uint32_t                         timestampValidBits_          = {},
-                           VULKAN_HPP_NAMESPACE::Extent3D   minImageTransferGranularity_ = {} ) VULKAN_HPP_NOEXCEPT
-      : queueFlags( queueFlags_ )
-      , queueCount( queueCount_ )
-      , timestampValidBits( timestampValidBits_ )
-      , minImageTransferGranularity( minImageTransferGranularity_ )
-    {}
+struct RenderPassAttachmentBeginInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRenderPassAttachmentBeginInfo;
 
-    QueueFamilyProperties( VkQueueFamilyProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassAttachmentBeginInfo(
+      uint32_t attachmentCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_ = {})
+      VULKAN_HPP_NOEXCEPT : attachmentCount(attachmentCount_),
+                            pAttachments(pAttachments_) {}
 
-    QueueFamilyProperties & operator=( VkQueueFamilyProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyProperties const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR RenderPassAttachmentBeginInfo(
+      RenderPassAttachmentBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkQueueFamilyProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkQueueFamilyProperties *>( this );
-    }
-
-    operator VkQueueFamilyProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkQueueFamilyProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( QueueFamilyProperties const & ) const = default;
-#else
-    bool operator==( QueueFamilyProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( queueFlags == rhs.queueFlags ) && ( queueCount == rhs.queueCount ) &&
-             ( timestampValidBits == rhs.timestampValidBits ) &&
-             ( minImageTransferGranularity == rhs.minImageTransferGranularity );
-    }
-
-    bool operator!=( QueueFamilyProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::QueueFlags queueFlags                  = {};
-    uint32_t                         queueCount                  = {};
-    uint32_t                         timestampValidBits          = {};
-    VULKAN_HPP_NAMESPACE::Extent3D   minImageTransferGranularity = {};
-  };
-  static_assert( sizeof( QueueFamilyProperties ) == sizeof( VkQueueFamilyProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<QueueFamilyProperties>::value, "struct wrapper is not a standard layout!" );
-
-  struct QueueFamilyProperties2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eQueueFamilyProperties2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR QueueFamilyProperties2(
-      VULKAN_HPP_NAMESPACE::QueueFamilyProperties queueFamilyProperties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : queueFamilyProperties( queueFamilyProperties_ )
-    {}
-
-    QueueFamilyProperties2( VkQueueFamilyProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    QueueFamilyProperties2 & operator=( VkQueueFamilyProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 const *>( &rhs );
-      return *this;
-    }
-
-    QueueFamilyProperties2 & operator=( QueueFamilyProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      queueFamilyProperties = rhs.queueFamilyProperties;
-
-      return *this;
-    }
-
-    operator VkQueueFamilyProperties2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkQueueFamilyProperties2 *>( this );
-    }
-
-    operator VkQueueFamilyProperties2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkQueueFamilyProperties2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( QueueFamilyProperties2 const & ) const = default;
-#else
-    bool operator==( QueueFamilyProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queueFamilyProperties == rhs.queueFamilyProperties );
-    }
-
-    bool operator!=( QueueFamilyProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType   sType                 = StructureType::eQueueFamilyProperties2;
-    void *                                      pNext                 = {};
-    VULKAN_HPP_NAMESPACE::QueueFamilyProperties queueFamilyProperties = {};
-  };
-  static_assert( sizeof( QueueFamilyProperties2 ) == sizeof( VkQueueFamilyProperties2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<QueueFamilyProperties2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eQueueFamilyProperties2>
-  {
-    using Type = QueueFamilyProperties2;
-  };
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct RayTracingShaderGroupCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eRayTracingShaderGroupCreateInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    RayTracingShaderGroupCreateInfoKHR( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_ =
-                                          VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral,
-                                        uint32_t     generalShader_                   = {},
-                                        uint32_t     closestHitShader_                = {},
-                                        uint32_t     anyHitShader_                    = {},
-                                        uint32_t     intersectionShader_              = {},
-                                        const void * pShaderGroupCaptureReplayHandle_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , generalShader( generalShader_ )
-      , closestHitShader( closestHitShader_ )
-      , anyHitShader( anyHitShader_ )
-      , intersectionShader( intersectionShader_ )
-      , pShaderGroupCaptureReplayHandle( pShaderGroupCaptureReplayHandle_ )
-    {}
-
-    RayTracingShaderGroupCreateInfoKHR( VkRayTracingShaderGroupCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RayTracingShaderGroupCreateInfoKHR &
-      operator=( VkRayTracingShaderGroupCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR & operator=( RayTracingShaderGroupCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                           = rhs.pNext;
-      type                            = rhs.type;
-      generalShader                   = rhs.generalShader;
-      closestHitShader                = rhs.closestHitShader;
-      anyHitShader                    = rhs.anyHitShader;
-      intersectionShader              = rhs.intersectionShader;
-      pShaderGroupCaptureReplayHandle = rhs.pShaderGroupCaptureReplayHandle;
-
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR &
-      setType( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR & setGeneralShader( uint32_t generalShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      generalShader = generalShader_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR & setClosestHitShader( uint32_t closestHitShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      closestHitShader = closestHitShader_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR & setAnyHitShader( uint32_t anyHitShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      anyHitShader = anyHitShader_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR & setIntersectionShader( uint32_t intersectionShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      intersectionShader = intersectionShader_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoKHR &
-      setPShaderGroupCaptureReplayHandle( const void * pShaderGroupCaptureReplayHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pShaderGroupCaptureReplayHandle = pShaderGroupCaptureReplayHandle_;
-      return *this;
-    }
-
-    operator VkRayTracingShaderGroupCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRayTracingShaderGroupCreateInfoKHR *>( this );
-    }
-
-    operator VkRayTracingShaderGroupCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRayTracingShaderGroupCreateInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RayTracingShaderGroupCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( RayTracingShaderGroupCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) &&
-             ( generalShader == rhs.generalShader ) && ( closestHitShader == rhs.closestHitShader ) &&
-             ( anyHitShader == rhs.anyHitShader ) && ( intersectionShader == rhs.intersectionShader ) &&
-             ( pShaderGroupCaptureReplayHandle == rhs.pShaderGroupCaptureReplayHandle );
-    }
-
-    bool operator!=( RayTracingShaderGroupCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType = StructureType::eRayTracingShaderGroupCreateInfoKHR;
-    const void *                                       pNext = {};
-    VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type =
-      VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral;
-    uint32_t     generalShader                   = {};
-    uint32_t     closestHitShader                = {};
-    uint32_t     anyHitShader                    = {};
-    uint32_t     intersectionShader              = {};
-    const void * pShaderGroupCaptureReplayHandle = {};
-  };
-  static_assert( sizeof( RayTracingShaderGroupCreateInfoKHR ) == sizeof( VkRayTracingShaderGroupCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RayTracingShaderGroupCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRayTracingShaderGroupCreateInfoKHR>
-  {
-    using Type = RayTracingShaderGroupCreateInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct RayTracingPipelineInterfaceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eRayTracingPipelineInterfaceCreateInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RayTracingPipelineInterfaceCreateInfoKHR( uint32_t maxPayloadSize_   = {},
-                                                                   uint32_t maxAttributeSize_ = {},
-                                                                   uint32_t maxCallableSize_  = {} ) VULKAN_HPP_NOEXCEPT
-      : maxPayloadSize( maxPayloadSize_ )
-      , maxAttributeSize( maxAttributeSize_ )
-      , maxCallableSize( maxCallableSize_ )
-    {}
-
-    RayTracingPipelineInterfaceCreateInfoKHR( VkRayTracingPipelineInterfaceCreateInfoKHR const & rhs )
+  RenderPassAttachmentBeginInfo(VkRenderPassAttachmentBeginInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : RenderPassAttachmentBeginInfo(
+            *reinterpret_cast<RenderPassAttachmentBeginInfo const *>(&rhs)) {}
 
-    RayTracingPipelineInterfaceCreateInfoKHR &
-      operator=( VkRayTracingPipelineInterfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    RayTracingPipelineInterfaceCreateInfoKHR &
-      operator=( RayTracingPipelineInterfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      maxPayloadSize   = rhs.maxPayloadSize;
-      maxAttributeSize = rhs.maxAttributeSize;
-      maxCallableSize  = rhs.maxCallableSize;
-
-      return *this;
-    }
-
-    RayTracingPipelineInterfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RayTracingPipelineInterfaceCreateInfoKHR & setMaxPayloadSize( uint32_t maxPayloadSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxPayloadSize = maxPayloadSize_;
-      return *this;
-    }
-
-    RayTracingPipelineInterfaceCreateInfoKHR & setMaxAttributeSize( uint32_t maxAttributeSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxAttributeSize = maxAttributeSize_;
-      return *this;
-    }
-
-    RayTracingPipelineInterfaceCreateInfoKHR & setMaxCallableSize( uint32_t maxCallableSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxCallableSize = maxCallableSize_;
-      return *this;
-    }
-
-    operator VkRayTracingPipelineInterfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRayTracingPipelineInterfaceCreateInfoKHR *>( this );
-    }
-
-    operator VkRayTracingPipelineInterfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRayTracingPipelineInterfaceCreateInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RayTracingPipelineInterfaceCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( RayTracingPipelineInterfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPayloadSize == rhs.maxPayloadSize ) &&
-             ( maxAttributeSize == rhs.maxAttributeSize ) && ( maxCallableSize == rhs.maxCallableSize );
-    }
-
-    bool operator!=( RayTracingPipelineInterfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eRayTracingPipelineInterfaceCreateInfoKHR;
-    const void *                              pNext          = {};
-    uint32_t                                  maxPayloadSize = {};
-    uint32_t                                  maxAttributeSize = {};
-    uint32_t                                  maxCallableSize  = {};
-  };
-  static_assert( sizeof( RayTracingPipelineInterfaceCreateInfoKHR ) ==
-                   sizeof( VkRayTracingPipelineInterfaceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RayTracingPipelineInterfaceCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRayTracingPipelineInterfaceCreateInfoKHR>
-  {
-    using Type = RayTracingPipelineInterfaceCreateInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct RayTracingPipelineCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eRayTracingPipelineCreateInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::PipelineCreateFlags                              flags_              = {},
-      uint32_t                                                               stageCount_         = {},
-      const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *            pStages_            = {},
-      uint32_t                                                               groupCount_         = {},
-      const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR *       pGroups_            = {},
-      uint32_t                                                               maxRecursionDepth_  = {},
-      VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR                     libraries_          = {},
-      const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR * pLibraryInterface_  = {},
-      VULKAN_HPP_NAMESPACE::PipelineLayout                                   layout_             = {},
-      VULKAN_HPP_NAMESPACE::Pipeline                                         basePipelineHandle_ = {},
-      int32_t basePipelineIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , stageCount( stageCount_ )
-      , pStages( pStages_ )
-      , groupCount( groupCount_ )
-      , pGroups( pGroups_ )
-      , maxRecursionDepth( maxRecursionDepth_ )
-      , libraries( libraries_ )
-      , pLibraryInterface( pLibraryInterface_ )
-      , layout( layout_ )
-      , basePipelineHandle( basePipelineHandle_ )
-      , basePipelineIndex( basePipelineIndex_ )
-    {}
-
-    RayTracingPipelineCreateInfoKHR( VkRayTracingPipelineCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RayTracingPipelineCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-        stages_,
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassAttachmentBeginInfo(
       VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR> const & groups_             = {},
-      uint32_t                                                                  maxRecursionDepth_  = {},
-      VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR                        libraries_          = {},
-      const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR *    pLibraryInterface_  = {},
-      VULKAN_HPP_NAMESPACE::PipelineLayout                                      layout_             = {},
-      VULKAN_HPP_NAMESPACE::Pipeline                                            basePipelineHandle_ = {},
-      int32_t                                                                   basePipelineIndex_  = {} )
-      : flags( flags_ )
-      , stageCount( static_cast<uint32_t>( stages_.size() ) )
-      , pStages( stages_.data() )
-      , groupCount( static_cast<uint32_t>( groups_.size() ) )
-      , pGroups( groups_.data() )
-      , maxRecursionDepth( maxRecursionDepth_ )
-      , libraries( libraries_ )
-      , pLibraryInterface( pLibraryInterface_ )
-      , layout( layout_ )
-      , basePipelineHandle( basePipelineHandle_ )
-      , basePipelineIndex( basePipelineIndex_ )
-    {}
-#    endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#  endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+          const VULKAN_HPP_NAMESPACE::ImageView> const &attachments_)
+      : attachmentCount(static_cast<uint32_t>(attachments_.size())),
+        pAttachments(attachments_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    RayTracingPipelineCreateInfoKHR & operator=( VkRayTracingPipelineCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 RenderPassAttachmentBeginInfo &operator=(
+      RenderPassAttachmentBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    RayTracingPipelineCreateInfoKHR & operator=( RayTracingPipelineCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      flags              = rhs.flags;
-      stageCount         = rhs.stageCount;
-      pStages            = rhs.pStages;
-      groupCount         = rhs.groupCount;
-      pGroups            = rhs.pGroups;
-      maxRecursionDepth  = rhs.maxRecursionDepth;
-      libraries          = rhs.libraries;
-      pLibraryInterface  = rhs.pLibraryInterface;
-      layout             = rhs.layout;
-      basePipelineHandle = rhs.basePipelineHandle;
-      basePipelineIndex  = rhs.basePipelineIndex;
+  RenderPassAttachmentBeginInfo &
+  operator=(VkRenderPassAttachmentBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo const *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  RenderPassAttachmentBeginInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    RayTracingPipelineCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  RenderPassAttachmentBeginInfo &
+  setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT {
+    attachmentCount = attachmentCount_;
+    return *this;
+  }
 
-    RayTracingPipelineCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  RenderPassAttachmentBeginInfo &
+  setPAttachments(const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_)
+      VULKAN_HPP_NOEXCEPT {
+    pAttachments = pAttachments_;
+    return *this;
+  }
 
-    RayTracingPipelineCreateInfoKHR & setStageCount( uint32_t stageCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = stageCount_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassAttachmentBeginInfo &
+  setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                 const VULKAN_HPP_NAMESPACE::ImageView> const &attachments_)
+      VULKAN_HPP_NOEXCEPT {
+    attachmentCount = static_cast<uint32_t>(attachments_.size());
+    pAttachments = attachments_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    RayTracingPipelineCreateInfoKHR &
-      setPStages( const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo * pStages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pStages = pStages_;
-      return *this;
-    }
+  operator VkRenderPassAttachmentBeginInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRenderPassAttachmentBeginInfo *>(this);
+  }
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RayTracingPipelineCreateInfoKHR & setStages(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-        stages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = static_cast<uint32_t>( stages_.size() );
-      pStages    = stages_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkRenderPassAttachmentBeginInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassAttachmentBeginInfo *>(this);
+  }
 
-    RayTracingPipelineCreateInfoKHR & setGroupCount( uint32_t groupCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      groupCount = groupCount_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoKHR &
-      setPGroups( const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR * pGroups_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pGroups = pGroups_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RayTracingPipelineCreateInfoKHR &
-      setGroups( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-                 const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR> const & groups_ ) VULKAN_HPP_NOEXCEPT
-    {
-      groupCount = static_cast<uint32_t>( groups_.size() );
-      pGroups    = groups_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RayTracingPipelineCreateInfoKHR & setMaxRecursionDepth( uint32_t maxRecursionDepth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxRecursionDepth = maxRecursionDepth_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoKHR &
-      setLibraries( VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR const & libraries_ ) VULKAN_HPP_NOEXCEPT
-    {
-      libraries = libraries_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoKHR & setPLibraryInterface(
-      const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR * pLibraryInterface_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pLibraryInterface = pLibraryInterface_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoKHR & setLayout( VULKAN_HPP_NAMESPACE::PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layout = layout_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoKHR &
-      setBasePipelineHandle( VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineHandle = basePipelineHandle_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoKHR & setBasePipelineIndex( int32_t basePipelineIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineIndex = basePipelineIndex_;
-      return *this;
-    }
-
-    operator VkRayTracingPipelineCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( this );
-    }
-
-    operator VkRayTracingPipelineCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRayTracingPipelineCreateInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RayTracingPipelineCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( RayTracingPipelineCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) && ( groupCount == rhs.groupCount ) &&
-             ( pGroups == rhs.pGroups ) && ( maxRecursionDepth == rhs.maxRecursionDepth ) &&
-             ( libraries == rhs.libraries ) && ( pLibraryInterface == rhs.pLibraryInterface ) &&
-             ( layout == rhs.layout ) && ( basePipelineHandle == rhs.basePipelineHandle ) &&
-             ( basePipelineIndex == rhs.basePipelineIndex );
-    }
-
-    bool operator!=( RayTracingPipelineCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                   sType = StructureType::eRayTracingPipelineCreateInfoKHR;
-    const void *                                                pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCreateFlags                   flags = {};
-    uint32_t                                                    stageCount                    = {};
-    const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo * pStages                       = {};
-    uint32_t                                                    groupCount                    = {};
-    const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR *       pGroups            = {};
-    uint32_t                                                               maxRecursionDepth  = {};
-    VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR                     libraries          = {};
-    const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR * pLibraryInterface  = {};
-    VULKAN_HPP_NAMESPACE::PipelineLayout                                   layout             = {};
-    VULKAN_HPP_NAMESPACE::Pipeline                                         basePipelineHandle = {};
-    int32_t                                                                basePipelineIndex  = {};
-  };
-  static_assert( sizeof( RayTracingPipelineCreateInfoKHR ) == sizeof( VkRayTracingPipelineCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RayTracingPipelineCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRayTracingPipelineCreateInfoKHR>
-  {
-    using Type = RayTracingPipelineCreateInfoKHR;
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  struct RayTracingShaderGroupCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eRayTracingShaderGroupCreateInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    RayTracingShaderGroupCreateInfoNV( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_ =
-                                         VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral,
-                                       uint32_t generalShader_      = {},
-                                       uint32_t closestHitShader_   = {},
-                                       uint32_t anyHitShader_       = {},
-                                       uint32_t intersectionShader_ = {} ) VULKAN_HPP_NOEXCEPT
-      : type( type_ )
-      , generalShader( generalShader_ )
-      , closestHitShader( closestHitShader_ )
-      , anyHitShader( anyHitShader_ )
-      , intersectionShader( intersectionShader_ )
-    {}
-
-    RayTracingShaderGroupCreateInfoNV( VkRayTracingShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RayTracingShaderGroupCreateInfoNV & operator=( VkRayTracingShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoNV & operator=( RayTracingShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      type               = rhs.type;
-      generalShader      = rhs.generalShader;
-      closestHitShader   = rhs.closestHitShader;
-      anyHitShader       = rhs.anyHitShader;
-      intersectionShader = rhs.intersectionShader;
-
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoNV &
-      setType( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_ ) VULKAN_HPP_NOEXCEPT
-    {
-      type = type_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoNV & setGeneralShader( uint32_t generalShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      generalShader = generalShader_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoNV & setClosestHitShader( uint32_t closestHitShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      closestHitShader = closestHitShader_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoNV & setAnyHitShader( uint32_t anyHitShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      anyHitShader = anyHitShader_;
-      return *this;
-    }
-
-    RayTracingShaderGroupCreateInfoNV & setIntersectionShader( uint32_t intersectionShader_ ) VULKAN_HPP_NOEXCEPT
-    {
-      intersectionShader = intersectionShader_;
-      return *this;
-    }
-
-    operator VkRayTracingShaderGroupCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRayTracingShaderGroupCreateInfoNV *>( this );
-    }
-
-    operator VkRayTracingShaderGroupCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRayTracingShaderGroupCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RayTracingShaderGroupCreateInfoNV const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassAttachmentBeginInfo const &) const = default;
 #else
-    bool operator==( RayTracingShaderGroupCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) &&
-             ( generalShader == rhs.generalShader ) && ( closestHitShader == rhs.closestHitShader ) &&
-             ( anyHitShader == rhs.anyHitShader ) && ( intersectionShader == rhs.intersectionShader );
-    }
+  bool operator==(RenderPassAttachmentBeginInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (attachmentCount == rhs.attachmentCount) &&
+           (pAttachments == rhs.pAttachments);
+  }
 
-    bool operator!=( RayTracingShaderGroupCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(RenderPassAttachmentBeginInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType = StructureType::eRayTracingShaderGroupCreateInfoNV;
-    const void *                                       pNext = {};
-    VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type =
-      VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral;
-    uint32_t generalShader      = {};
-    uint32_t closestHitShader   = {};
-    uint32_t anyHitShader       = {};
-    uint32_t intersectionShader = {};
-  };
-  static_assert( sizeof( RayTracingShaderGroupCreateInfoNV ) == sizeof( VkRayTracingShaderGroupCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RayTracingShaderGroupCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassAttachmentBeginInfo;
+  const void *pNext = {};
+  uint32_t attachmentCount = {};
+  const VULKAN_HPP_NAMESPACE::ImageView *pAttachments = {};
+};
+static_assert(sizeof(RenderPassAttachmentBeginInfo) ==
+                  sizeof(VkRenderPassAttachmentBeginInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RenderPassAttachmentBeginInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eRayTracingShaderGroupCreateInfoNV>
-  {
-    using Type = RayTracingShaderGroupCreateInfoNV;
-  };
+template <>
+struct CppType<StructureType, StructureType::eRenderPassAttachmentBeginInfo> {
+  using Type = RenderPassAttachmentBeginInfo;
+};
+using RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
 
-  struct RayTracingPipelineCreateInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eRayTracingPipelineCreateInfoNV;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    RayTracingPipelineCreateInfoNV( VULKAN_HPP_NAMESPACE::PipelineCreateFlags                       flags_      = {},
-                                    uint32_t                                                        stageCount_ = {},
-                                    const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *     pStages_    = {},
-                                    uint32_t                                                        groupCount_ = {},
-                                    const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV * pGroups_    = {},
-                                    uint32_t                             maxRecursionDepth_                     = {},
-                                    VULKAN_HPP_NAMESPACE::PipelineLayout layout_                                = {},
-                                    VULKAN_HPP_NAMESPACE::Pipeline       basePipelineHandle_                    = {},
-                                    int32_t                              basePipelineIndex_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , stageCount( stageCount_ )
-      , pStages( pStages_ )
-      , groupCount( groupCount_ )
-      , pGroups( pGroups_ )
-      , maxRecursionDepth( maxRecursionDepth_ )
-      , layout( layout_ )
-      , basePipelineHandle( basePipelineHandle_ )
-      , basePipelineIndex( basePipelineIndex_ )
-    {}
-
-    RayTracingPipelineCreateInfoNV( VkRayTracingPipelineCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RayTracingPipelineCreateInfoNV(
-      VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-        stages_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-        const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV> const & groups_             = {},
-      uint32_t                                                                 maxRecursionDepth_  = {},
-      VULKAN_HPP_NAMESPACE::PipelineLayout                                     layout_             = {},
-      VULKAN_HPP_NAMESPACE::Pipeline                                           basePipelineHandle_ = {},
-      int32_t                                                                  basePipelineIndex_  = {} )
-      : flags( flags_ )
-      , stageCount( static_cast<uint32_t>( stages_.size() ) )
-      , pStages( stages_.data() )
-      , groupCount( static_cast<uint32_t>( groups_.size() ) )
-      , pGroups( groups_.data() )
-      , maxRecursionDepth( maxRecursionDepth_ )
-      , layout( layout_ )
-      , basePipelineHandle( basePipelineHandle_ )
-      , basePipelineIndex( basePipelineIndex_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RayTracingPipelineCreateInfoNV & operator=( VkRayTracingPipelineCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV & operator=( RayTracingPipelineCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      flags              = rhs.flags;
-      stageCount         = rhs.stageCount;
-      pStages            = rhs.pStages;
-      groupCount         = rhs.groupCount;
-      pGroups            = rhs.pGroups;
-      maxRecursionDepth  = rhs.maxRecursionDepth;
-      layout             = rhs.layout;
-      basePipelineHandle = rhs.basePipelineHandle;
-      basePipelineIndex  = rhs.basePipelineIndex;
-
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV & setFlags( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV & setStageCount( uint32_t stageCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = stageCount_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV &
-      setPStages( const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo * pStages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pStages = pStages_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RayTracingPipelineCreateInfoNV & setStages(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> const &
-        stages_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stageCount = static_cast<uint32_t>( stages_.size() );
-      pStages    = stages_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RayTracingPipelineCreateInfoNV & setGroupCount( uint32_t groupCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      groupCount = groupCount_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV &
-      setPGroups( const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV * pGroups_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pGroups = pGroups_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RayTracingPipelineCreateInfoNV &
-      setGroups( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
-                 const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV> const & groups_ ) VULKAN_HPP_NOEXCEPT
-    {
-      groupCount = static_cast<uint32_t>( groups_.size() );
-      pGroups    = groups_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RayTracingPipelineCreateInfoNV & setMaxRecursionDepth( uint32_t maxRecursionDepth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxRecursionDepth = maxRecursionDepth_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV & setLayout( VULKAN_HPP_NAMESPACE::PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT
-    {
-      layout = layout_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV &
-      setBasePipelineHandle( VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineHandle = basePipelineHandle_;
-      return *this;
-    }
-
-    RayTracingPipelineCreateInfoNV & setBasePipelineIndex( int32_t basePipelineIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      basePipelineIndex = basePipelineIndex_;
-      return *this;
-    }
-
-    operator VkRayTracingPipelineCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( this );
-    }
-
-    operator VkRayTracingPipelineCreateInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRayTracingPipelineCreateInfoNV *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RayTracingPipelineCreateInfoNV const & ) const = default;
-#else
-    bool operator==( RayTracingPipelineCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) && ( groupCount == rhs.groupCount ) &&
-             ( pGroups == rhs.pGroups ) && ( maxRecursionDepth == rhs.maxRecursionDepth ) && ( layout == rhs.layout ) &&
-             ( basePipelineHandle == rhs.basePipelineHandle ) && ( basePipelineIndex == rhs.basePipelineIndex );
-    }
-
-    bool operator!=( RayTracingPipelineCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                   sType = StructureType::eRayTracingPipelineCreateInfoNV;
-    const void *                                                pNext = {};
-    VULKAN_HPP_NAMESPACE::PipelineCreateFlags                   flags = {};
-    uint32_t                                                    stageCount             = {};
-    const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo * pStages                = {};
-    uint32_t                                                    groupCount             = {};
-    const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV * pGroups            = {};
-    uint32_t                                                        maxRecursionDepth  = {};
-    VULKAN_HPP_NAMESPACE::PipelineLayout                            layout             = {};
-    VULKAN_HPP_NAMESPACE::Pipeline                                  basePipelineHandle = {};
-    int32_t                                                         basePipelineIndex  = {};
-  };
-  static_assert( sizeof( RayTracingPipelineCreateInfoNV ) == sizeof( VkRayTracingPipelineCreateInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RayTracingPipelineCreateInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRayTracingPipelineCreateInfoNV>
-  {
-    using Type = RayTracingPipelineCreateInfoNV;
-  };
-
-  struct RefreshCycleDurationGOOGLE
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RefreshCycleDurationGOOGLE( uint64_t refreshDuration_ = {} ) VULKAN_HPP_NOEXCEPT
-      : refreshDuration( refreshDuration_ )
-    {}
-
-    RefreshCycleDurationGOOGLE( VkRefreshCycleDurationGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RefreshCycleDurationGOOGLE & operator=( VkRefreshCycleDurationGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE const *>( &rhs );
-      return *this;
-    }
-
-    operator VkRefreshCycleDurationGOOGLE const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRefreshCycleDurationGOOGLE *>( this );
-    }
-
-    operator VkRefreshCycleDurationGOOGLE &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RefreshCycleDurationGOOGLE const & ) const = default;
-#else
-    bool operator==( RefreshCycleDurationGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( refreshDuration == rhs.refreshDuration );
-    }
-
-    bool operator!=( RefreshCycleDurationGOOGLE const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint64_t refreshDuration = {};
-  };
-  static_assert( sizeof( RefreshCycleDurationGOOGLE ) == sizeof( VkRefreshCycleDurationGOOGLE ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RefreshCycleDurationGOOGLE>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct RenderPassAttachmentBeginInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eRenderPassAttachmentBeginInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    RenderPassAttachmentBeginInfo( uint32_t                                attachmentCount_ = {},
-                                   const VULKAN_HPP_NAMESPACE::ImageView * pAttachments_    = {} ) VULKAN_HPP_NOEXCEPT
-      : attachmentCount( attachmentCount_ )
-      , pAttachments( pAttachments_ )
-    {}
-
-    RenderPassAttachmentBeginInfo( VkRenderPassAttachmentBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassAttachmentBeginInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ImageView> const & attachments_ )
-      : attachmentCount( static_cast<uint32_t>( attachments_.size() ) ), pAttachments( attachments_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RenderPassAttachmentBeginInfo & operator=( VkRenderPassAttachmentBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo const *>( &rhs );
-      return *this;
-    }
-
-    RenderPassAttachmentBeginInfo & operator=( RenderPassAttachmentBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      attachmentCount = rhs.attachmentCount;
-      pAttachments    = rhs.pAttachments;
-
-      return *this;
-    }
-
-    RenderPassAttachmentBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RenderPassAttachmentBeginInfo & setAttachmentCount( uint32_t attachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = attachmentCount_;
-      return *this;
-    }
-
-    RenderPassAttachmentBeginInfo &
-      setPAttachments( const VULKAN_HPP_NAMESPACE::ImageView * pAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttachments = pAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassAttachmentBeginInfo & setAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ImageView> const & attachments_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = static_cast<uint32_t>( attachments_.size() );
-      pAttachments    = attachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkRenderPassAttachmentBeginInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassAttachmentBeginInfo *>( this );
-    }
-
-    operator VkRenderPassAttachmentBeginInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassAttachmentBeginInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassAttachmentBeginInfo const & ) const = default;
-#else
-    bool operator==( RenderPassAttachmentBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachmentCount == rhs.attachmentCount ) &&
-             ( pAttachments == rhs.pAttachments );
-    }
-
-    bool operator!=( RenderPassAttachmentBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eRenderPassAttachmentBeginInfo;
-    const void *                              pNext           = {};
-    uint32_t                                  attachmentCount = {};
-    const VULKAN_HPP_NAMESPACE::ImageView *   pAttachments    = {};
-  };
-  static_assert( sizeof( RenderPassAttachmentBeginInfo ) == sizeof( VkRenderPassAttachmentBeginInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassAttachmentBeginInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassAttachmentBeginInfo>
-  {
-    using Type = RenderPassAttachmentBeginInfo;
-  };
-
-  struct RenderPassBeginInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eRenderPassBeginInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    RenderPassBeginInfo( VULKAN_HPP_NAMESPACE::RenderPass         renderPass_      = {},
-                         VULKAN_HPP_NAMESPACE::Framebuffer        framebuffer_     = {},
-                         VULKAN_HPP_NAMESPACE::Rect2D             renderArea_      = {},
-                         uint32_t                                 clearValueCount_ = {},
-                         const VULKAN_HPP_NAMESPACE::ClearValue * pClearValues_    = {} ) VULKAN_HPP_NOEXCEPT
-      : renderPass( renderPass_ )
-      , framebuffer( framebuffer_ )
-      , renderArea( renderArea_ )
-      , clearValueCount( clearValueCount_ )
-      , pClearValues( pClearValues_ )
-    {}
-
-    RenderPassBeginInfo( VkRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassBeginInfo(
-      VULKAN_HPP_NAMESPACE::RenderPass                                                              renderPass_,
-      VULKAN_HPP_NAMESPACE::Framebuffer                                                             framebuffer_,
-      VULKAN_HPP_NAMESPACE::Rect2D                                                                  renderArea_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ClearValue> const & clearValues_ )
-      : renderPass( renderPass_ )
-      , framebuffer( framebuffer_ )
-      , renderArea( renderArea_ )
-      , clearValueCount( static_cast<uint32_t>( clearValues_.size() ) )
-      , pClearValues( clearValues_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RenderPassBeginInfo & operator=( VkRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassBeginInfo const *>( &rhs );
-      return *this;
-    }
-
-    RenderPassBeginInfo & operator=( RenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      renderPass      = rhs.renderPass;
-      framebuffer     = rhs.framebuffer;
-      renderArea      = rhs.renderArea;
-      clearValueCount = rhs.clearValueCount;
-      pClearValues    = rhs.pClearValues;
-
-      return *this;
-    }
-
-    RenderPassBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RenderPassBeginInfo & setRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      renderPass = renderPass_;
-      return *this;
-    }
-
-    RenderPassBeginInfo & setFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      framebuffer = framebuffer_;
-      return *this;
-    }
-
-    RenderPassBeginInfo & setRenderArea( VULKAN_HPP_NAMESPACE::Rect2D const & renderArea_ ) VULKAN_HPP_NOEXCEPT
-    {
-      renderArea = renderArea_;
-      return *this;
-    }
-
-    RenderPassBeginInfo & setClearValueCount( uint32_t clearValueCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      clearValueCount = clearValueCount_;
-      return *this;
-    }
-
-    RenderPassBeginInfo & setPClearValues( const VULKAN_HPP_NAMESPACE::ClearValue * pClearValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pClearValues = pClearValues_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassBeginInfo & setClearValues(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ClearValue> const & clearValues_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      clearValueCount = static_cast<uint32_t>( clearValues_.size() );
-      pClearValues    = clearValues_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkRenderPassBeginInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassBeginInfo *>( this );
-    }
-
-    operator VkRenderPassBeginInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassBeginInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassBeginInfo const & ) const = default;
-#else
-    bool operator==( RenderPassBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( renderPass == rhs.renderPass ) &&
-             ( framebuffer == rhs.framebuffer ) && ( renderArea == rhs.renderArea ) &&
-             ( clearValueCount == rhs.clearValueCount ) && ( pClearValues == rhs.pClearValues );
-    }
-
-    bool operator!=( RenderPassBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eRenderPassBeginInfo;
-    const void *                              pNext           = {};
-    VULKAN_HPP_NAMESPACE::RenderPass          renderPass      = {};
-    VULKAN_HPP_NAMESPACE::Framebuffer         framebuffer     = {};
-    VULKAN_HPP_NAMESPACE::Rect2D              renderArea      = {};
-    uint32_t                                  clearValueCount = {};
-    const VULKAN_HPP_NAMESPACE::ClearValue *  pClearValues    = {};
-  };
-  static_assert( sizeof( RenderPassBeginInfo ) == sizeof( VkRenderPassBeginInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassBeginInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassBeginInfo>
-  {
-    using Type = RenderPassBeginInfo;
-  };
-
-  struct SubpassDescription
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubpassDescription(
-      VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_       = {},
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
-      uint32_t                                inputAttachmentCount_              = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference * pInputAttachments_       = {},
-      uint32_t                                          colorAttachmentCount_    = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference * pColorAttachments_       = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference * pResolveAttachments_     = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference * pDepthStencilAttachment_ = {},
-      uint32_t                                          preserveAttachmentCount_ = {},
-      const uint32_t *                                  pPreserveAttachments_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , inputAttachmentCount( inputAttachmentCount_ )
-      , pInputAttachments( pInputAttachments_ )
-      , colorAttachmentCount( colorAttachmentCount_ )
-      , pColorAttachments( pColorAttachments_ )
-      , pResolveAttachments( pResolveAttachments_ )
-      , pDepthStencilAttachment( pDepthStencilAttachment_ )
-      , preserveAttachmentCount( preserveAttachmentCount_ )
-      , pPreserveAttachments( pPreserveAttachments_ )
-    {}
-
-    SubpassDescription( VkSubpassDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription(
-      VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_,
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint       pipelineBindPoint_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference> const &
-        inputAttachments_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference> const &
-        colorAttachments_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference> const &
-                                                                            resolveAttachments_      = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference *                     pDepthStencilAttachment_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & preserveAttachments_     = {} )
-      : flags( flags_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , inputAttachmentCount( static_cast<uint32_t>( inputAttachments_.size() ) )
-      , pInputAttachments( inputAttachments_.data() )
-      , colorAttachmentCount( static_cast<uint32_t>( colorAttachments_.size() ) )
-      , pColorAttachments( colorAttachments_.data() )
-      , pResolveAttachments( resolveAttachments_.data() )
-      , pDepthStencilAttachment( pDepthStencilAttachment_ )
-      , preserveAttachmentCount( static_cast<uint32_t>( preserveAttachments_.size() ) )
-      , pPreserveAttachments( preserveAttachments_.data() )
-    {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( resolveAttachments_.empty() || ( colorAttachments_.size() == resolveAttachments_.size() ) );
-#    else
-      if ( !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() ) )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::SubpassDescription::SubpassDescription: !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() )" );
-      }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubpassDescription & operator=( VkSubpassDescription const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescription const *>( &rhs );
-      return *this;
-    }
-
-    SubpassDescription & setFlags( VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    SubpassDescription &
-      setPipelineBindPoint( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineBindPoint = pipelineBindPoint_;
-      return *this;
-    }
-
-    SubpassDescription & setInputAttachmentCount( uint32_t inputAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inputAttachmentCount = inputAttachmentCount_;
-      return *this;
-    }
-
-    SubpassDescription &
-      setPInputAttachments( const VULKAN_HPP_NAMESPACE::AttachmentReference * pInputAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pInputAttachments = pInputAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription & setInputAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference> const &
-        inputAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inputAttachmentCount = static_cast<uint32_t>( inputAttachments_.size() );
-      pInputAttachments    = inputAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubpassDescription & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorAttachmentCount = colorAttachmentCount_;
-      return *this;
-    }
-
-    SubpassDescription &
-      setPColorAttachments( const VULKAN_HPP_NAMESPACE::AttachmentReference * pColorAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pColorAttachments = pColorAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription & setColorAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference> const &
-        colorAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorAttachmentCount = static_cast<uint32_t>( colorAttachments_.size() );
-      pColorAttachments    = colorAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubpassDescription & setPResolveAttachments(
-      const VULKAN_HPP_NAMESPACE::AttachmentReference * pResolveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pResolveAttachments = pResolveAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription & setResolveAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference> const &
-        resolveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorAttachmentCount = static_cast<uint32_t>( resolveAttachments_.size() );
-      pResolveAttachments  = resolveAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubpassDescription & setPDepthStencilAttachment(
-      const VULKAN_HPP_NAMESPACE::AttachmentReference * pDepthStencilAttachment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDepthStencilAttachment = pDepthStencilAttachment_;
-      return *this;
-    }
-
-    SubpassDescription & setPreserveAttachmentCount( uint32_t preserveAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preserveAttachmentCount = preserveAttachmentCount_;
-      return *this;
-    }
-
-    SubpassDescription & setPPreserveAttachments( const uint32_t * pPreserveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPreserveAttachments = pPreserveAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription & setPreserveAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & preserveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preserveAttachmentCount = static_cast<uint32_t>( preserveAttachments_.size() );
-      pPreserveAttachments    = preserveAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkSubpassDescription const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassDescription *>( this );
-    }
-
-    operator VkSubpassDescription &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassDescription *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassDescription const & ) const = default;
-#else
-    bool operator==( SubpassDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( flags == rhs.flags ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) &&
-             ( inputAttachmentCount == rhs.inputAttachmentCount ) && ( pInputAttachments == rhs.pInputAttachments ) &&
-             ( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachments == rhs.pColorAttachments ) &&
-             ( pResolveAttachments == rhs.pResolveAttachments ) &&
-             ( pDepthStencilAttachment == rhs.pDepthStencilAttachment ) &&
-             ( preserveAttachmentCount == rhs.preserveAttachmentCount ) &&
-             ( pPreserveAttachments == rhs.pPreserveAttachments );
-    }
-
-    bool operator!=( SubpassDescription const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags          = {};
-    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint    = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
-    uint32_t                                inputAttachmentCount = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference * pInputAttachments       = {};
-    uint32_t                                          colorAttachmentCount    = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference * pColorAttachments       = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference * pResolveAttachments     = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference * pDepthStencilAttachment = {};
-    uint32_t                                          preserveAttachmentCount = {};
-    const uint32_t *                                  pPreserveAttachments    = {};
-  };
-  static_assert( sizeof( SubpassDescription ) == sizeof( VkSubpassDescription ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassDescription>::value, "struct wrapper is not a standard layout!" );
-
-  struct SubpassDependency
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SubpassDependency( uint32_t                                 srcSubpass_      = {},
-                       uint32_t                                 dstSubpass_      = {},
-                       VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_    = {},
-                       VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_    = {},
-                       VULKAN_HPP_NAMESPACE::AccessFlags        srcAccessMask_   = {},
-                       VULKAN_HPP_NAMESPACE::AccessFlags        dstAccessMask_   = {},
-                       VULKAN_HPP_NAMESPACE::DependencyFlags    dependencyFlags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcSubpass( srcSubpass_ )
-      , dstSubpass( dstSubpass_ )
-      , srcStageMask( srcStageMask_ )
-      , dstStageMask( dstStageMask_ )
-      , srcAccessMask( srcAccessMask_ )
-      , dstAccessMask( dstAccessMask_ )
-      , dependencyFlags( dependencyFlags_ )
-    {}
-
-    SubpassDependency( VkSubpassDependency const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubpassDependency & operator=( VkSubpassDependency const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDependency const *>( &rhs );
-      return *this;
-    }
-
-    SubpassDependency & setSrcSubpass( uint32_t srcSubpass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcSubpass = srcSubpass_;
-      return *this;
-    }
-
-    SubpassDependency & setDstSubpass( uint32_t dstSubpass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstSubpass = dstSubpass_;
-      return *this;
-    }
-
-    SubpassDependency & setSrcStageMask( VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcStageMask = srcStageMask_;
-      return *this;
-    }
-
-    SubpassDependency & setDstStageMask( VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstStageMask = dstStageMask_;
-      return *this;
-    }
-
-    SubpassDependency & setSrcAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcAccessMask = srcAccessMask_;
-      return *this;
-    }
-
-    SubpassDependency & setDstAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstAccessMask = dstAccessMask_;
-      return *this;
-    }
-
-    SubpassDependency & setDependencyFlags( VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyFlags = dependencyFlags_;
-      return *this;
-    }
-
-    operator VkSubpassDependency const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassDependency *>( this );
-    }
-
-    operator VkSubpassDependency &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassDependency *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassDependency const & ) const = default;
-#else
-    bool operator==( SubpassDependency const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( srcSubpass == rhs.srcSubpass ) && ( dstSubpass == rhs.dstSubpass ) &&
-             ( srcStageMask == rhs.srcStageMask ) && ( dstStageMask == rhs.dstStageMask ) &&
-             ( srcAccessMask == rhs.srcAccessMask ) && ( dstAccessMask == rhs.dstAccessMask ) &&
-             ( dependencyFlags == rhs.dependencyFlags );
-    }
-
-    bool operator!=( SubpassDependency const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                                 srcSubpass      = {};
-    uint32_t                                 dstSubpass      = {};
-    VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask    = {};
-    VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask    = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags        srcAccessMask   = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags        dstAccessMask   = {};
-    VULKAN_HPP_NAMESPACE::DependencyFlags    dependencyFlags = {};
-  };
-  static_assert( sizeof( SubpassDependency ) == sizeof( VkSubpassDependency ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassDependency>::value, "struct wrapper is not a standard layout!" );
-
-  struct RenderPassCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eRenderPassCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    RenderPassCreateInfo( VULKAN_HPP_NAMESPACE::RenderPassCreateFlags         flags_           = {},
-                          uint32_t                                            attachmentCount_ = {},
-                          const VULKAN_HPP_NAMESPACE::AttachmentDescription * pAttachments_    = {},
-                          uint32_t                                            subpassCount_    = {},
-                          const VULKAN_HPP_NAMESPACE::SubpassDescription *    pSubpasses_      = {},
-                          uint32_t                                            dependencyCount_ = {},
-                          const VULKAN_HPP_NAMESPACE::SubpassDependency *     pDependencies_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , attachmentCount( attachmentCount_ )
-      , pAttachments( pAttachments_ )
-      , subpassCount( subpassCount_ )
-      , pSubpasses( pSubpasses_ )
-      , dependencyCount( dependencyCount_ )
-      , pDependencies( pDependencies_ )
-    {}
-
-    RenderPassCreateInfo( VkRenderPassCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo(
-      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentDescription> const &
-        attachments_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDescription> const &
-        subpasses_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDependency> const &
-        dependencies_ = {} )
-      : flags( flags_ )
-      , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
-      , pAttachments( attachments_.data() )
-      , subpassCount( static_cast<uint32_t>( subpasses_.size() ) )
-      , pSubpasses( subpasses_.data() )
-      , dependencyCount( static_cast<uint32_t>( dependencies_.size() ) )
-      , pDependencies( dependencies_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RenderPassCreateInfo & operator=( VkRenderPassCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    RenderPassCreateInfo & operator=( RenderPassCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      attachmentCount = rhs.attachmentCount;
-      pAttachments    = rhs.pAttachments;
-      subpassCount    = rhs.subpassCount;
-      pSubpasses      = rhs.pSubpasses;
-      dependencyCount = rhs.dependencyCount;
-      pDependencies   = rhs.pDependencies;
-
-      return *this;
-    }
-
-    RenderPassCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RenderPassCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    RenderPassCreateInfo & setAttachmentCount( uint32_t attachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = attachmentCount_;
-      return *this;
-    }
-
-    RenderPassCreateInfo &
-      setPAttachments( const VULKAN_HPP_NAMESPACE::AttachmentDescription * pAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttachments = pAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo & setAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentDescription> const &
-        attachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = static_cast<uint32_t>( attachments_.size() );
-      pAttachments    = attachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RenderPassCreateInfo & setSubpassCount( uint32_t subpassCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpassCount = subpassCount_;
-      return *this;
-    }
-
-    RenderPassCreateInfo &
-      setPSubpasses( const VULKAN_HPP_NAMESPACE::SubpassDescription * pSubpasses_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSubpasses = pSubpasses_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo & setSubpasses(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDescription> const & subpasses_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      subpassCount = static_cast<uint32_t>( subpasses_.size() );
-      pSubpasses   = subpasses_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RenderPassCreateInfo & setDependencyCount( uint32_t dependencyCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyCount = dependencyCount_;
-      return *this;
-    }
-
-    RenderPassCreateInfo &
-      setPDependencies( const VULKAN_HPP_NAMESPACE::SubpassDependency * pDependencies_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDependencies = pDependencies_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo & setDependencies(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDependency> const &
-        dependencies_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyCount = static_cast<uint32_t>( dependencies_.size() );
-      pDependencies   = dependencies_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkRenderPassCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassCreateInfo *>( this );
-    }
-
-    operator VkRenderPassCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassCreateInfo const & ) const = default;
-#else
-    bool operator==( RenderPassCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( attachmentCount == rhs.attachmentCount ) && ( pAttachments == rhs.pAttachments ) &&
-             ( subpassCount == rhs.subpassCount ) && ( pSubpasses == rhs.pSubpasses ) &&
-             ( dependencyCount == rhs.dependencyCount ) && ( pDependencies == rhs.pDependencies );
-    }
-
-    bool operator!=( RenderPassCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType           = StructureType::eRenderPassCreateInfo;
-    const void *                                        pNext           = {};
-    VULKAN_HPP_NAMESPACE::RenderPassCreateFlags         flags           = {};
-    uint32_t                                            attachmentCount = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentDescription * pAttachments    = {};
-    uint32_t                                            subpassCount    = {};
-    const VULKAN_HPP_NAMESPACE::SubpassDescription *    pSubpasses      = {};
-    uint32_t                                            dependencyCount = {};
-    const VULKAN_HPP_NAMESPACE::SubpassDependency *     pDependencies   = {};
-  };
-  static_assert( sizeof( RenderPassCreateInfo ) == sizeof( VkRenderPassCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassCreateInfo>
-  {
-    using Type = RenderPassCreateInfo;
-  };
-
-  struct SubpassDescription2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSubpassDescription2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubpassDescription2(
-      VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_       = {},
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics,
-      uint32_t                                viewMask_          = {},
-      uint32_t                                inputAttachmentCount_               = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pInputAttachments_       = {},
-      uint32_t                                           colorAttachmentCount_    = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pColorAttachments_       = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pResolveAttachments_     = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilAttachment_ = {},
-      uint32_t                                           preserveAttachmentCount_ = {},
-      const uint32_t *                                   pPreserveAttachments_    = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , viewMask( viewMask_ )
-      , inputAttachmentCount( inputAttachmentCount_ )
-      , pInputAttachments( pInputAttachments_ )
-      , colorAttachmentCount( colorAttachmentCount_ )
-      , pColorAttachments( pColorAttachments_ )
-      , pResolveAttachments( pResolveAttachments_ )
-      , pDepthStencilAttachment( pDepthStencilAttachment_ )
-      , preserveAttachmentCount( preserveAttachmentCount_ )
-      , pPreserveAttachments( pPreserveAttachments_ )
-    {}
-
-    SubpassDescription2( VkSubpassDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription2(
-      VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_,
-      VULKAN_HPP_NAMESPACE::PipelineBindPoint       pipelineBindPoint_,
-      uint32_t                                      viewMask_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference2> const &
-        inputAttachments_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference2> const &
-        colorAttachments_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference2> const &
-                                                                            resolveAttachments_      = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 *                    pDepthStencilAttachment_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & preserveAttachments_     = {} )
-      : flags( flags_ )
-      , pipelineBindPoint( pipelineBindPoint_ )
-      , viewMask( viewMask_ )
-      , inputAttachmentCount( static_cast<uint32_t>( inputAttachments_.size() ) )
-      , pInputAttachments( inputAttachments_.data() )
-      , colorAttachmentCount( static_cast<uint32_t>( colorAttachments_.size() ) )
-      , pColorAttachments( colorAttachments_.data() )
-      , pResolveAttachments( resolveAttachments_.data() )
-      , pDepthStencilAttachment( pDepthStencilAttachment_ )
-      , preserveAttachmentCount( static_cast<uint32_t>( preserveAttachments_.size() ) )
-      , pPreserveAttachments( preserveAttachments_.data() )
-    {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( resolveAttachments_.empty() || ( colorAttachments_.size() == resolveAttachments_.size() ) );
-#    else
-      if ( !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() ) )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::SubpassDescription2::SubpassDescription2: !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() )" );
-      }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubpassDescription2 & operator=( VkSubpassDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescription2 const *>( &rhs );
-      return *this;
-    }
-
-    SubpassDescription2 & operator=( SubpassDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      flags                   = rhs.flags;
-      pipelineBindPoint       = rhs.pipelineBindPoint;
-      viewMask                = rhs.viewMask;
-      inputAttachmentCount    = rhs.inputAttachmentCount;
-      pInputAttachments       = rhs.pInputAttachments;
-      colorAttachmentCount    = rhs.colorAttachmentCount;
-      pColorAttachments       = rhs.pColorAttachments;
-      pResolveAttachments     = rhs.pResolveAttachments;
-      pDepthStencilAttachment = rhs.pDepthStencilAttachment;
-      preserveAttachmentCount = rhs.preserveAttachmentCount;
-      pPreserveAttachments    = rhs.pPreserveAttachments;
-
-      return *this;
-    }
-
-    SubpassDescription2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SubpassDescription2 & setFlags( VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    SubpassDescription2 &
-      setPipelineBindPoint( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pipelineBindPoint = pipelineBindPoint_;
-      return *this;
-    }
-
-    SubpassDescription2 & setViewMask( uint32_t viewMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewMask = viewMask_;
-      return *this;
-    }
-
-    SubpassDescription2 & setInputAttachmentCount( uint32_t inputAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inputAttachmentCount = inputAttachmentCount_;
-      return *this;
-    }
-
-    SubpassDescription2 &
-      setPInputAttachments( const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pInputAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pInputAttachments = pInputAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription2 & setInputAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference2> const &
-        inputAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      inputAttachmentCount = static_cast<uint32_t>( inputAttachments_.size() );
-      pInputAttachments    = inputAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubpassDescription2 & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorAttachmentCount = colorAttachmentCount_;
-      return *this;
-    }
-
-    SubpassDescription2 &
-      setPColorAttachments( const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pColorAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pColorAttachments = pColorAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription2 & setColorAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference2> const &
-        colorAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorAttachmentCount = static_cast<uint32_t>( colorAttachments_.size() );
-      pColorAttachments    = colorAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubpassDescription2 & setPResolveAttachments(
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pResolveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pResolveAttachments = pResolveAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription2 & setResolveAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentReference2> const &
-        resolveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      colorAttachmentCount = static_cast<uint32_t>( resolveAttachments_.size() );
-      pResolveAttachments  = resolveAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubpassDescription2 & setPDepthStencilAttachment(
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilAttachment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDepthStencilAttachment = pDepthStencilAttachment_;
-      return *this;
-    }
-
-    SubpassDescription2 & setPreserveAttachmentCount( uint32_t preserveAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preserveAttachmentCount = preserveAttachmentCount_;
-      return *this;
-    }
-
-    SubpassDescription2 & setPPreserveAttachments( const uint32_t * pPreserveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPreserveAttachments = pPreserveAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubpassDescription2 & setPreserveAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & preserveAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preserveAttachmentCount = static_cast<uint32_t>( preserveAttachments_.size() );
-      pPreserveAttachments    = preserveAttachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkSubpassDescription2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassDescription2 *>( this );
-    }
-
-    operator VkSubpassDescription2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassDescription2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassDescription2 const & ) const = default;
-#else
-    bool operator==( SubpassDescription2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( pipelineBindPoint == rhs.pipelineBindPoint ) && ( viewMask == rhs.viewMask ) &&
-             ( inputAttachmentCount == rhs.inputAttachmentCount ) && ( pInputAttachments == rhs.pInputAttachments ) &&
-             ( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachments == rhs.pColorAttachments ) &&
-             ( pResolveAttachments == rhs.pResolveAttachments ) &&
-             ( pDepthStencilAttachment == rhs.pDepthStencilAttachment ) &&
-             ( preserveAttachmentCount == rhs.preserveAttachmentCount ) &&
-             ( pPreserveAttachments == rhs.pPreserveAttachments );
-    }
-
-    bool operator!=( SubpassDescription2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType          = StructureType::eSubpassDescription2;
-    const void *                                  pNext          = {};
-    VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags          = {};
-    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint    = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics;
-    uint32_t                                viewMask             = {};
-    uint32_t                                inputAttachmentCount = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pInputAttachments       = {};
-    uint32_t                                           colorAttachmentCount    = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pColorAttachments       = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pResolveAttachments     = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilAttachment = {};
-    uint32_t                                           preserveAttachmentCount = {};
-    const uint32_t *                                   pPreserveAttachments    = {};
-  };
-  static_assert( sizeof( SubpassDescription2 ) == sizeof( VkSubpassDescription2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassDescription2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSubpassDescription2>
-  {
-    using Type = SubpassDescription2;
-  };
-
-  struct SubpassDependency2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSubpassDependency2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubpassDependency2( uint32_t                                 srcSubpass_      = {},
-                                             uint32_t                                 dstSubpass_      = {},
-                                             VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_    = {},
-                                             VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_    = {},
-                                             VULKAN_HPP_NAMESPACE::AccessFlags        srcAccessMask_   = {},
-                                             VULKAN_HPP_NAMESPACE::AccessFlags        dstAccessMask_   = {},
-                                             VULKAN_HPP_NAMESPACE::DependencyFlags    dependencyFlags_ = {},
-                                             int32_t viewOffset_ = {} ) VULKAN_HPP_NOEXCEPT
-      : srcSubpass( srcSubpass_ )
-      , dstSubpass( dstSubpass_ )
-      , srcStageMask( srcStageMask_ )
-      , dstStageMask( dstStageMask_ )
-      , srcAccessMask( srcAccessMask_ )
-      , dstAccessMask( dstAccessMask_ )
-      , dependencyFlags( dependencyFlags_ )
-      , viewOffset( viewOffset_ )
-    {}
-
-    SubpassDependency2( VkSubpassDependency2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubpassDependency2 & operator=( VkSubpassDependency2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDependency2 const *>( &rhs );
-      return *this;
-    }
-
-    SubpassDependency2 & operator=( SubpassDependency2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      srcSubpass      = rhs.srcSubpass;
-      dstSubpass      = rhs.dstSubpass;
-      srcStageMask    = rhs.srcStageMask;
-      dstStageMask    = rhs.dstStageMask;
-      srcAccessMask   = rhs.srcAccessMask;
-      dstAccessMask   = rhs.dstAccessMask;
-      dependencyFlags = rhs.dependencyFlags;
-      viewOffset      = rhs.viewOffset;
-
-      return *this;
-    }
-
-    SubpassDependency2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SubpassDependency2 & setSrcSubpass( uint32_t srcSubpass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcSubpass = srcSubpass_;
-      return *this;
-    }
-
-    SubpassDependency2 & setDstSubpass( uint32_t dstSubpass_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstSubpass = dstSubpass_;
-      return *this;
-    }
-
-    SubpassDependency2 & setSrcStageMask( VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcStageMask = srcStageMask_;
-      return *this;
-    }
-
-    SubpassDependency2 & setDstStageMask( VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstStageMask = dstStageMask_;
-      return *this;
-    }
-
-    SubpassDependency2 & setSrcAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      srcAccessMask = srcAccessMask_;
-      return *this;
-    }
-
-    SubpassDependency2 & setDstAccessMask( VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstAccessMask = dstAccessMask_;
-      return *this;
-    }
-
-    SubpassDependency2 &
-      setDependencyFlags( VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyFlags = dependencyFlags_;
-      return *this;
-    }
-
-    SubpassDependency2 & setViewOffset( int32_t viewOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      viewOffset = viewOffset_;
-      return *this;
-    }
-
-    operator VkSubpassDependency2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassDependency2 *>( this );
-    }
-
-    operator VkSubpassDependency2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassDependency2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassDependency2 const & ) const = default;
-#else
-    bool operator==( SubpassDependency2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcSubpass == rhs.srcSubpass ) &&
-             ( dstSubpass == rhs.dstSubpass ) && ( srcStageMask == rhs.srcStageMask ) &&
-             ( dstStageMask == rhs.dstStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) &&
-             ( dstAccessMask == rhs.dstAccessMask ) && ( dependencyFlags == rhs.dependencyFlags ) &&
-             ( viewOffset == rhs.viewOffset );
-    }
-
-    bool operator!=( SubpassDependency2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eSubpassDependency2;
-    const void *                              pNext           = {};
-    uint32_t                                  srcSubpass      = {};
-    uint32_t                                  dstSubpass      = {};
-    VULKAN_HPP_NAMESPACE::PipelineStageFlags  srcStageMask    = {};
-    VULKAN_HPP_NAMESPACE::PipelineStageFlags  dstStageMask    = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags         srcAccessMask   = {};
-    VULKAN_HPP_NAMESPACE::AccessFlags         dstAccessMask   = {};
-    VULKAN_HPP_NAMESPACE::DependencyFlags     dependencyFlags = {};
-    int32_t                                   viewOffset      = {};
-  };
-  static_assert( sizeof( SubpassDependency2 ) == sizeof( VkSubpassDependency2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassDependency2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSubpassDependency2>
-  {
-    using Type = SubpassDependency2;
-  };
-
-  struct RenderPassCreateInfo2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eRenderPassCreateInfo2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RenderPassCreateInfo2( VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_                 = {},
-                                                uint32_t                                    attachmentCount_       = {},
-                                                const VULKAN_HPP_NAMESPACE::AttachmentDescription2 * pAttachments_ = {},
-                                                uint32_t                                             subpassCount_ = {},
-                                                const VULKAN_HPP_NAMESPACE::SubpassDescription2 *    pSubpasses_   = {},
-                                                uint32_t                                         dependencyCount_  = {},
-                                                const VULKAN_HPP_NAMESPACE::SubpassDependency2 * pDependencies_    = {},
-                                                uint32_t         correlatedViewMaskCount_                          = {},
-                                                const uint32_t * pCorrelatedViewMasks_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , attachmentCount( attachmentCount_ )
-      , pAttachments( pAttachments_ )
-      , subpassCount( subpassCount_ )
-      , pSubpasses( pSubpasses_ )
-      , dependencyCount( dependencyCount_ )
-      , pDependencies( pDependencies_ )
-      , correlatedViewMaskCount( correlatedViewMaskCount_ )
-      , pCorrelatedViewMasks( pCorrelatedViewMasks_ )
-    {}
-
-    RenderPassCreateInfo2( VkRenderPassCreateInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo2(
-      VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentDescription2> const &
-        attachments_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDescription2> const &
-        subpasses_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDependency2> const &
-                                                                            dependencies_        = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & correlatedViewMasks_ = {} )
-      : flags( flags_ )
-      , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
-      , pAttachments( attachments_.data() )
-      , subpassCount( static_cast<uint32_t>( subpasses_.size() ) )
-      , pSubpasses( subpasses_.data() )
-      , dependencyCount( static_cast<uint32_t>( dependencies_.size() ) )
-      , pDependencies( dependencies_.data() )
-      , correlatedViewMaskCount( static_cast<uint32_t>( correlatedViewMasks_.size() ) )
-      , pCorrelatedViewMasks( correlatedViewMasks_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    RenderPassCreateInfo2 & operator=( VkRenderPassCreateInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const *>( &rhs );
-      return *this;
-    }
-
-    RenderPassCreateInfo2 & operator=( RenderPassCreateInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      flags                   = rhs.flags;
-      attachmentCount         = rhs.attachmentCount;
-      pAttachments            = rhs.pAttachments;
-      subpassCount            = rhs.subpassCount;
-      pSubpasses              = rhs.pSubpasses;
-      dependencyCount         = rhs.dependencyCount;
-      pDependencies           = rhs.pDependencies;
-      correlatedViewMaskCount = rhs.correlatedViewMaskCount;
-      pCorrelatedViewMasks    = rhs.pCorrelatedViewMasks;
-
-      return *this;
-    }
-
-    RenderPassCreateInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    RenderPassCreateInfo2 & setFlags( VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    RenderPassCreateInfo2 & setAttachmentCount( uint32_t attachmentCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = attachmentCount_;
-      return *this;
-    }
-
-    RenderPassCreateInfo2 &
-      setPAttachments( const VULKAN_HPP_NAMESPACE::AttachmentDescription2 * pAttachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAttachments = pAttachments_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo2 & setAttachments(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentDescription2> const &
-        attachments_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentCount = static_cast<uint32_t>( attachments_.size() );
-      pAttachments    = attachments_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RenderPassCreateInfo2 & setSubpassCount( uint32_t subpassCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpassCount = subpassCount_;
-      return *this;
-    }
-
-    RenderPassCreateInfo2 &
-      setPSubpasses( const VULKAN_HPP_NAMESPACE::SubpassDescription2 * pSubpasses_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSubpasses = pSubpasses_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo2 & setSubpasses(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDescription2> const &
-        subpasses_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpassCount = static_cast<uint32_t>( subpasses_.size() );
-      pSubpasses   = subpasses_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RenderPassCreateInfo2 & setDependencyCount( uint32_t dependencyCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyCount = dependencyCount_;
-      return *this;
-    }
-
-    RenderPassCreateInfo2 &
-      setPDependencies( const VULKAN_HPP_NAMESPACE::SubpassDependency2 * pDependencies_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDependencies = pDependencies_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo2 & setDependencies(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassDependency2> const &
-        dependencies_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyCount = static_cast<uint32_t>( dependencies_.size() );
-      pDependencies   = dependencies_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    RenderPassCreateInfo2 & setCorrelatedViewMaskCount( uint32_t correlatedViewMaskCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      correlatedViewMaskCount = correlatedViewMaskCount_;
-      return *this;
-    }
-
-    RenderPassCreateInfo2 & setPCorrelatedViewMasks( const uint32_t * pCorrelatedViewMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCorrelatedViewMasks = pCorrelatedViewMasks_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassCreateInfo2 & setCorrelatedViewMasks(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & correlatedViewMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      correlatedViewMaskCount = static_cast<uint32_t>( correlatedViewMasks_.size() );
-      pCorrelatedViewMasks    = correlatedViewMasks_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkRenderPassCreateInfo2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassCreateInfo2 *>( this );
-    }
-
-    operator VkRenderPassCreateInfo2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassCreateInfo2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassCreateInfo2 const & ) const = default;
-#else
-    bool operator==( RenderPassCreateInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( attachmentCount == rhs.attachmentCount ) && ( pAttachments == rhs.pAttachments ) &&
-             ( subpassCount == rhs.subpassCount ) && ( pSubpasses == rhs.pSubpasses ) &&
-             ( dependencyCount == rhs.dependencyCount ) && ( pDependencies == rhs.pDependencies ) &&
-             ( correlatedViewMaskCount == rhs.correlatedViewMaskCount ) &&
-             ( pCorrelatedViewMasks == rhs.pCorrelatedViewMasks );
-    }
-
-    bool operator!=( RenderPassCreateInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType            sType           = StructureType::eRenderPassCreateInfo2;
-    const void *                                         pNext           = {};
-    VULKAN_HPP_NAMESPACE::RenderPassCreateFlags          flags           = {};
-    uint32_t                                             attachmentCount = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentDescription2 * pAttachments    = {};
-    uint32_t                                             subpassCount    = {};
-    const VULKAN_HPP_NAMESPACE::SubpassDescription2 *    pSubpasses      = {};
-    uint32_t                                             dependencyCount = {};
-    const VULKAN_HPP_NAMESPACE::SubpassDependency2 *     pDependencies   = {};
-    uint32_t                                             correlatedViewMaskCount = {};
-    const uint32_t *                                     pCorrelatedViewMasks    = {};
-  };
-  static_assert( sizeof( RenderPassCreateInfo2 ) == sizeof( VkRenderPassCreateInfo2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassCreateInfo2>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassCreateInfo2>
-  {
-    using Type = RenderPassCreateInfo2;
-  };
-
-  struct RenderPassFragmentDensityMapCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct RenderPassFragmentDensityMapCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eRenderPassFragmentDensityMapCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RenderPassFragmentDensityMapCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::AttachmentReference fragmentDensityMapAttachment_ = {} ) VULKAN_HPP_NOEXCEPT
-      : fragmentDensityMapAttachment( fragmentDensityMapAttachment_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassFragmentDensityMapCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::AttachmentReference fragmentDensityMapAttachment_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : fragmentDensityMapAttachment(fragmentDensityMapAttachment_) {}
 
-    RenderPassFragmentDensityMapCreateInfoEXT( VkRenderPassFragmentDensityMapCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR RenderPassFragmentDensityMapCreateInfoEXT(
+      RenderPassFragmentDensityMapCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RenderPassFragmentDensityMapCreateInfoEXT(
+      VkRenderPassFragmentDensityMapCreateInfoEXT const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : RenderPassFragmentDensityMapCreateInfoEXT(
+            *reinterpret_cast<
+                RenderPassFragmentDensityMapCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    RenderPassFragmentDensityMapCreateInfoEXT &
-      operator=( VkRenderPassFragmentDensityMapCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 RenderPassFragmentDensityMapCreateInfoEXT &
+  operator=(RenderPassFragmentDensityMapCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    RenderPassFragmentDensityMapCreateInfoEXT &
-      operator=( RenderPassFragmentDensityMapCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      fragmentDensityMapAttachment = rhs.fragmentDensityMapAttachment;
+  RenderPassFragmentDensityMapCreateInfoEXT &
+  operator=(VkRenderPassFragmentDensityMapCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  RenderPassFragmentDensityMapCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    RenderPassFragmentDensityMapCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  RenderPassFragmentDensityMapCreateInfoEXT &setFragmentDensityMapAttachment(
+      VULKAN_HPP_NAMESPACE::AttachmentReference const
+          &fragmentDensityMapAttachment_) VULKAN_HPP_NOEXCEPT {
+    fragmentDensityMapAttachment = fragmentDensityMapAttachment_;
+    return *this;
+  }
 
-    RenderPassFragmentDensityMapCreateInfoEXT & setFragmentDensityMapAttachment(
-      VULKAN_HPP_NAMESPACE::AttachmentReference const & fragmentDensityMapAttachment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fragmentDensityMapAttachment = fragmentDensityMapAttachment_;
-      return *this;
-    }
+  operator VkRenderPassFragmentDensityMapCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkRenderPassFragmentDensityMapCreateInfoEXT *>(this);
+  }
 
-    operator VkRenderPassFragmentDensityMapCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT *>( this );
-    }
+  operator VkRenderPassFragmentDensityMapCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkRenderPassFragmentDensityMapCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassFragmentDensityMapCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassFragmentDensityMapCreateInfoEXT const &) const =
+      default;
 #else
-    bool operator==( RenderPassFragmentDensityMapCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( fragmentDensityMapAttachment == rhs.fragmentDensityMapAttachment );
-    }
+  bool operator==(RenderPassFragmentDensityMapCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fragmentDensityMapAttachment == rhs.fragmentDensityMapAttachment);
+  }
 
-    bool operator!=( RenderPassFragmentDensityMapCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(RenderPassFragmentDensityMapCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassFragmentDensityMapCreateInfoEXT;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::AttachmentReference fragmentDensityMapAttachment = {};
-  };
-  static_assert( sizeof( RenderPassFragmentDensityMapCreateInfoEXT ) ==
-                   sizeof( VkRenderPassFragmentDensityMapCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassFragmentDensityMapCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassFragmentDensityMapCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::AttachmentReference fragmentDensityMapAttachment = {};
+};
+static_assert(sizeof(RenderPassFragmentDensityMapCreateInfoEXT) ==
+                  sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<RenderPassFragmentDensityMapCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassFragmentDensityMapCreateInfoEXT>
-  {
-    using Type = RenderPassFragmentDensityMapCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eRenderPassFragmentDensityMapCreateInfoEXT> {
+  using Type = RenderPassFragmentDensityMapCreateInfoEXT;
+};
 
-  struct RenderPassInputAttachmentAspectCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct RenderPassInputAttachmentAspectCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eRenderPassInputAttachmentAspectCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RenderPassInputAttachmentAspectCreateInfo(
-      uint32_t                                                     aspectReferenceCount_ = {},
-      const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference * pAspectReferences_    = {} ) VULKAN_HPP_NOEXCEPT
-      : aspectReferenceCount( aspectReferenceCount_ )
-      , pAspectReferences( pAspectReferences_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassInputAttachmentAspectCreateInfo(
+      uint32_t aspectReferenceCount_ = {},
+      const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference
+          *pAspectReferences_ = {}) VULKAN_HPP_NOEXCEPT
+      : aspectReferenceCount(aspectReferenceCount_),
+        pAspectReferences(pAspectReferences_) {}
 
-    RenderPassInputAttachmentAspectCreateInfo( VkRenderPassInputAttachmentAspectCreateInfo const & rhs )
+  VULKAN_HPP_CONSTEXPR RenderPassInputAttachmentAspectCreateInfo(
+      RenderPassInputAttachmentAspectCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  RenderPassInputAttachmentAspectCreateInfo(
+      VkRenderPassInputAttachmentAspectCreateInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : RenderPassInputAttachmentAspectCreateInfo(
+            *reinterpret_cast<
+                RenderPassInputAttachmentAspectCreateInfo const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassInputAttachmentAspectCreateInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference> const &
-        aspectReferences_ )
-      : aspectReferenceCount( static_cast<uint32_t>( aspectReferences_.size() ) )
-      , pAspectReferences( aspectReferences_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassInputAttachmentAspectCreateInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference> const
+          &aspectReferences_)
+      : aspectReferenceCount(static_cast<uint32_t>(aspectReferences_.size())),
+        pAspectReferences(aspectReferences_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    RenderPassInputAttachmentAspectCreateInfo &
-      operator=( VkRenderPassInputAttachmentAspectCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 RenderPassInputAttachmentAspectCreateInfo &
+  operator=(RenderPassInputAttachmentAspectCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    RenderPassInputAttachmentAspectCreateInfo &
-      operator=( RenderPassInputAttachmentAspectCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      aspectReferenceCount = rhs.aspectReferenceCount;
-      pAspectReferences    = rhs.pAspectReferences;
+  RenderPassInputAttachmentAspectCreateInfo &
+  operator=(VkRenderPassInputAttachmentAspectCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  RenderPassInputAttachmentAspectCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    RenderPassInputAttachmentAspectCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  RenderPassInputAttachmentAspectCreateInfo &
+  setAspectReferenceCount(uint32_t aspectReferenceCount_) VULKAN_HPP_NOEXCEPT {
+    aspectReferenceCount = aspectReferenceCount_;
+    return *this;
+  }
 
-    RenderPassInputAttachmentAspectCreateInfo &
-      setAspectReferenceCount( uint32_t aspectReferenceCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectReferenceCount = aspectReferenceCount_;
-      return *this;
-    }
+  RenderPassInputAttachmentAspectCreateInfo &setPAspectReferences(
+      const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference
+          *pAspectReferences_) VULKAN_HPP_NOEXCEPT {
+    pAspectReferences = pAspectReferences_;
+    return *this;
+  }
 
-    RenderPassInputAttachmentAspectCreateInfo & setPAspectReferences(
-      const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference * pAspectReferences_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAspectReferences = pAspectReferences_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassInputAttachmentAspectCreateInfo &setAspectReferences(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference> const
+          &aspectReferences_) VULKAN_HPP_NOEXCEPT {
+    aspectReferenceCount = static_cast<uint32_t>(aspectReferences_.size());
+    pAspectReferences = aspectReferences_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassInputAttachmentAspectCreateInfo & setAspectReferences(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference> const &
-        aspectReferences_ ) VULKAN_HPP_NOEXCEPT
-    {
-      aspectReferenceCount = static_cast<uint32_t>( aspectReferences_.size() );
-      pAspectReferences    = aspectReferences_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkRenderPassInputAttachmentAspectCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkRenderPassInputAttachmentAspectCreateInfo *>(this);
+  }
 
-    operator VkRenderPassInputAttachmentAspectCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo *>( this );
-    }
+  operator VkRenderPassInputAttachmentAspectCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo *>(
+        this);
+  }
 
-    operator VkRenderPassInputAttachmentAspectCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassInputAttachmentAspectCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassInputAttachmentAspectCreateInfo const &) const =
+      default;
 #else
-    bool operator==( RenderPassInputAttachmentAspectCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( aspectReferenceCount == rhs.aspectReferenceCount ) &&
-             ( pAspectReferences == rhs.pAspectReferences );
-    }
+  bool operator==(RenderPassInputAttachmentAspectCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (aspectReferenceCount == rhs.aspectReferenceCount) &&
+           (pAspectReferences == rhs.pAspectReferences);
+  }
 
-    bool operator!=( RenderPassInputAttachmentAspectCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(RenderPassInputAttachmentAspectCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassInputAttachmentAspectCreateInfo;
-    const void *                              pNext = {};
-    uint32_t                                  aspectReferenceCount                 = {};
-    const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference * pAspectReferences = {};
-  };
-  static_assert( sizeof( RenderPassInputAttachmentAspectCreateInfo ) ==
-                   sizeof( VkRenderPassInputAttachmentAspectCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassInputAttachmentAspectCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassInputAttachmentAspectCreateInfo;
+  const void *pNext = {};
+  uint32_t aspectReferenceCount = {};
+  const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference
+      *pAspectReferences = {};
+};
+static_assert(sizeof(RenderPassInputAttachmentAspectCreateInfo) ==
+                  sizeof(VkRenderPassInputAttachmentAspectCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<RenderPassInputAttachmentAspectCreateInfo>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassInputAttachmentAspectCreateInfo>
-  {
-    using Type = RenderPassInputAttachmentAspectCreateInfo;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eRenderPassInputAttachmentAspectCreateInfo> {
+  using Type = RenderPassInputAttachmentAspectCreateInfo;
+};
+using RenderPassInputAttachmentAspectCreateInfoKHR =
+    RenderPassInputAttachmentAspectCreateInfo;
 
-  struct RenderPassMultiviewCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eRenderPassMultiviewCreateInfo;
+struct RenderPassMultiviewCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRenderPassMultiviewCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RenderPassMultiviewCreateInfo( uint32_t         subpassCount_         = {},
-                                                        const uint32_t * pViewMasks_           = {},
-                                                        uint32_t         dependencyCount_      = {},
-                                                        const int32_t *  pViewOffsets_         = {},
-                                                        uint32_t         correlationMaskCount_ = {},
-                                                        const uint32_t * pCorrelationMasks_ = {} ) VULKAN_HPP_NOEXCEPT
-      : subpassCount( subpassCount_ )
-      , pViewMasks( pViewMasks_ )
-      , dependencyCount( dependencyCount_ )
-      , pViewOffsets( pViewOffsets_ )
-      , correlationMaskCount( correlationMaskCount_ )
-      , pCorrelationMasks( pCorrelationMasks_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassMultiviewCreateInfo(
+      uint32_t subpassCount_ = {}, const uint32_t *pViewMasks_ = {},
+      uint32_t dependencyCount_ = {}, const int32_t *pViewOffsets_ = {},
+      uint32_t correlationMaskCount_ = {},
+      const uint32_t *pCorrelationMasks_ = {}) VULKAN_HPP_NOEXCEPT
+      : subpassCount(subpassCount_),
+        pViewMasks(pViewMasks_),
+        dependencyCount(dependencyCount_),
+        pViewOffsets(pViewOffsets_),
+        correlationMaskCount(correlationMaskCount_),
+        pCorrelationMasks(pCorrelationMasks_) {}
 
-    RenderPassMultiviewCreateInfo( VkRenderPassMultiviewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR RenderPassMultiviewCreateInfo(
+      RenderPassMultiviewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassMultiviewCreateInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & viewMasks_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const int32_t> const &  viewOffsets_      = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & correlationMasks_ = {} )
-      : subpassCount( static_cast<uint32_t>( viewMasks_.size() ) )
-      , pViewMasks( viewMasks_.data() )
-      , dependencyCount( static_cast<uint32_t>( viewOffsets_.size() ) )
-      , pViewOffsets( viewOffsets_.data() )
-      , correlationMaskCount( static_cast<uint32_t>( correlationMasks_.size() ) )
-      , pCorrelationMasks( correlationMasks_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  RenderPassMultiviewCreateInfo(VkRenderPassMultiviewCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : RenderPassMultiviewCreateInfo(
+            *reinterpret_cast<RenderPassMultiviewCreateInfo const *>(&rhs)) {}
 
-    RenderPassMultiviewCreateInfo & operator=( VkRenderPassMultiviewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassMultiviewCreateInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &viewMasks_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const int32_t> const
+          &viewOffsets_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &correlationMasks_ = {})
+      : subpassCount(static_cast<uint32_t>(viewMasks_.size())),
+        pViewMasks(viewMasks_.data()),
+        dependencyCount(static_cast<uint32_t>(viewOffsets_.size())),
+        pViewOffsets(viewOffsets_.data()),
+        correlationMaskCount(static_cast<uint32_t>(correlationMasks_.size())),
+        pCorrelationMasks(correlationMasks_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    RenderPassMultiviewCreateInfo & operator=( RenderPassMultiviewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      subpassCount         = rhs.subpassCount;
-      pViewMasks           = rhs.pViewMasks;
-      dependencyCount      = rhs.dependencyCount;
-      pViewOffsets         = rhs.pViewOffsets;
-      correlationMaskCount = rhs.correlationMaskCount;
-      pCorrelationMasks    = rhs.pCorrelationMasks;
+  VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo &operator=(
+      RenderPassMultiviewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  operator=(VkRenderPassMultiviewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-    RenderPassMultiviewCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    RenderPassMultiviewCreateInfo & setSubpassCount( uint32_t subpassCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpassCount = subpassCount_;
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  setSubpassCount(uint32_t subpassCount_) VULKAN_HPP_NOEXCEPT {
+    subpassCount = subpassCount_;
+    return *this;
+  }
 
-    RenderPassMultiviewCreateInfo & setPViewMasks( const uint32_t * pViewMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewMasks = pViewMasks_;
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  setPViewMasks(const uint32_t *pViewMasks_) VULKAN_HPP_NOEXCEPT {
+    pViewMasks = pViewMasks_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassMultiviewCreateInfo & setViewMasks(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & viewMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpassCount = static_cast<uint32_t>( viewMasks_.size() );
-      pViewMasks   = viewMasks_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassMultiviewCreateInfo &setViewMasks(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &viewMasks_) VULKAN_HPP_NOEXCEPT {
+    subpassCount = static_cast<uint32_t>(viewMasks_.size());
+    pViewMasks = viewMasks_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    RenderPassMultiviewCreateInfo & setDependencyCount( uint32_t dependencyCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyCount = dependencyCount_;
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  setDependencyCount(uint32_t dependencyCount_) VULKAN_HPP_NOEXCEPT {
+    dependencyCount = dependencyCount_;
+    return *this;
+  }
 
-    RenderPassMultiviewCreateInfo & setPViewOffsets( const int32_t * pViewOffsets_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pViewOffsets = pViewOffsets_;
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  setPViewOffsets(const int32_t *pViewOffsets_) VULKAN_HPP_NOEXCEPT {
+    pViewOffsets = pViewOffsets_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassMultiviewCreateInfo & setViewOffsets(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const int32_t> const & viewOffsets_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dependencyCount = static_cast<uint32_t>( viewOffsets_.size() );
-      pViewOffsets    = viewOffsets_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassMultiviewCreateInfo &setViewOffsets(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const int32_t> const
+          &viewOffsets_) VULKAN_HPP_NOEXCEPT {
+    dependencyCount = static_cast<uint32_t>(viewOffsets_.size());
+    pViewOffsets = viewOffsets_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    RenderPassMultiviewCreateInfo & setCorrelationMaskCount( uint32_t correlationMaskCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      correlationMaskCount = correlationMaskCount_;
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  setCorrelationMaskCount(uint32_t correlationMaskCount_) VULKAN_HPP_NOEXCEPT {
+    correlationMaskCount = correlationMaskCount_;
+    return *this;
+  }
 
-    RenderPassMultiviewCreateInfo & setPCorrelationMasks( const uint32_t * pCorrelationMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCorrelationMasks = pCorrelationMasks_;
-      return *this;
-    }
+  RenderPassMultiviewCreateInfo &
+  setPCorrelationMasks(const uint32_t *pCorrelationMasks_) VULKAN_HPP_NOEXCEPT {
+    pCorrelationMasks = pCorrelationMasks_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassMultiviewCreateInfo & setCorrelationMasks(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & correlationMasks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      correlationMaskCount = static_cast<uint32_t>( correlationMasks_.size() );
-      pCorrelationMasks    = correlationMasks_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassMultiviewCreateInfo &setCorrelationMasks(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &correlationMasks_) VULKAN_HPP_NOEXCEPT {
+    correlationMaskCount = static_cast<uint32_t>(correlationMasks_.size());
+    pCorrelationMasks = correlationMasks_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkRenderPassMultiviewCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>( this );
-    }
+  operator VkRenderPassMultiviewCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>(this);
+  }
 
-    operator VkRenderPassMultiviewCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassMultiviewCreateInfo *>( this );
-    }
+  operator VkRenderPassMultiviewCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassMultiviewCreateInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassMultiviewCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassMultiviewCreateInfo const &) const = default;
 #else
-    bool operator==( RenderPassMultiviewCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subpassCount == rhs.subpassCount ) &&
-             ( pViewMasks == rhs.pViewMasks ) && ( dependencyCount == rhs.dependencyCount ) &&
-             ( pViewOffsets == rhs.pViewOffsets ) && ( correlationMaskCount == rhs.correlationMaskCount ) &&
-             ( pCorrelationMasks == rhs.pCorrelationMasks );
-    }
+  bool operator==(RenderPassMultiviewCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (subpassCount == rhs.subpassCount) &&
+           (pViewMasks == rhs.pViewMasks) &&
+           (dependencyCount == rhs.dependencyCount) &&
+           (pViewOffsets == rhs.pViewOffsets) &&
+           (correlationMaskCount == rhs.correlationMaskCount) &&
+           (pCorrelationMasks == rhs.pCorrelationMasks);
+  }
 
-    bool operator!=( RenderPassMultiviewCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(RenderPassMultiviewCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                = StructureType::eRenderPassMultiviewCreateInfo;
-    const void *                              pNext                = {};
-    uint32_t                                  subpassCount         = {};
-    const uint32_t *                          pViewMasks           = {};
-    uint32_t                                  dependencyCount      = {};
-    const int32_t *                           pViewOffsets         = {};
-    uint32_t                                  correlationMaskCount = {};
-    const uint32_t *                          pCorrelationMasks    = {};
-  };
-  static_assert( sizeof( RenderPassMultiviewCreateInfo ) == sizeof( VkRenderPassMultiviewCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassMultiviewCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassMultiviewCreateInfo;
+  const void *pNext = {};
+  uint32_t subpassCount = {};
+  const uint32_t *pViewMasks = {};
+  uint32_t dependencyCount = {};
+  const int32_t *pViewOffsets = {};
+  uint32_t correlationMaskCount = {};
+  const uint32_t *pCorrelationMasks = {};
+};
+static_assert(sizeof(RenderPassMultiviewCreateInfo) ==
+                  sizeof(VkRenderPassMultiviewCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RenderPassMultiviewCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassMultiviewCreateInfo>
-  {
-    using Type = RenderPassMultiviewCreateInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eRenderPassMultiviewCreateInfo> {
+  using Type = RenderPassMultiviewCreateInfo;
+};
+using RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
 
-  struct SubpassSampleLocationsEXT
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubpassSampleLocationsEXT(
-      uint32_t                                     subpassIndex_        = {},
-      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_ = {} ) VULKAN_HPP_NOEXCEPT
-      : subpassIndex( subpassIndex_ )
-      , sampleLocationsInfo( sampleLocationsInfo_ )
-    {}
+struct SubpassSampleLocationsEXT {
 
-    SubpassSampleLocationsEXT( VkSubpassSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubpassSampleLocationsEXT(
+      uint32_t subpassIndex_ = {},
+      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_ = {})
+      VULKAN_HPP_NOEXCEPT : subpassIndex(subpassIndex_),
+                            sampleLocationsInfo(sampleLocationsInfo_) {}
 
-    SubpassSampleLocationsEXT & operator=( VkSubpassSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR SubpassSampleLocationsEXT(
+      SubpassSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SubpassSampleLocationsEXT & setSubpassIndex( uint32_t subpassIndex_ ) VULKAN_HPP_NOEXCEPT
-    {
-      subpassIndex = subpassIndex_;
-      return *this;
-    }
+  SubpassSampleLocationsEXT(VkSubpassSampleLocationsEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SubpassSampleLocationsEXT(
+            *reinterpret_cast<SubpassSampleLocationsEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SubpassSampleLocationsEXT & setSampleLocationsInfo(
-      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const & sampleLocationsInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      sampleLocationsInfo = sampleLocationsInfo_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SubpassSampleLocationsEXT &
+  operator=(SubpassSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkSubpassSampleLocationsEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassSampleLocationsEXT *>( this );
-    }
+  SubpassSampleLocationsEXT &
+  operator=(VkSubpassSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT const *>(&rhs);
+    return *this;
+  }
 
-    operator VkSubpassSampleLocationsEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassSampleLocationsEXT *>( this );
-    }
+  SubpassSampleLocationsEXT &
+  setSubpassIndex(uint32_t subpassIndex_) VULKAN_HPP_NOEXCEPT {
+    subpassIndex = subpassIndex_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassSampleLocationsEXT const & ) const = default;
+  SubpassSampleLocationsEXT &setSampleLocationsInfo(
+      VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &sampleLocationsInfo_)
+      VULKAN_HPP_NOEXCEPT {
+    sampleLocationsInfo = sampleLocationsInfo_;
+    return *this;
+  }
+
+  operator VkSubpassSampleLocationsEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassSampleLocationsEXT *>(this);
+  }
+
+  operator VkSubpassSampleLocationsEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassSampleLocationsEXT *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SubpassSampleLocationsEXT const &) const = default;
 #else
-    bool operator==( SubpassSampleLocationsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( subpassIndex == rhs.subpassIndex ) && ( sampleLocationsInfo == rhs.sampleLocationsInfo );
-    }
+  bool
+  operator==(SubpassSampleLocationsEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (subpassIndex == rhs.subpassIndex) &&
+           (sampleLocationsInfo == rhs.sampleLocationsInfo);
+  }
 
-    bool operator!=( SubpassSampleLocationsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(SubpassSampleLocationsEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t                                     subpassIndex        = {};
-    VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo = {};
-  };
-  static_assert( sizeof( SubpassSampleLocationsEXT ) == sizeof( VkSubpassSampleLocationsEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassSampleLocationsEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t subpassIndex = {};
+  VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo = {};
+};
+static_assert(sizeof(SubpassSampleLocationsEXT) ==
+                  sizeof(VkSubpassSampleLocationsEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SubpassSampleLocationsEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct RenderPassSampleLocationsBeginInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct RenderPassSampleLocationsBeginInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eRenderPassSampleLocationsBeginInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RenderPassSampleLocationsBeginInfoEXT(
-      uint32_t                                                   attachmentInitialSampleLocationsCount_ = {},
-      const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT * pAttachmentInitialSampleLocations_     = {},
-      uint32_t                                                   postSubpassSampleLocationsCount_       = {},
-      const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT *    pPostSubpassSampleLocations_ = {} ) VULKAN_HPP_NOEXCEPT
-      : attachmentInitialSampleLocationsCount( attachmentInitialSampleLocationsCount_ )
-      , pAttachmentInitialSampleLocations( pAttachmentInitialSampleLocations_ )
-      , postSubpassSampleLocationsCount( postSubpassSampleLocationsCount_ )
-      , pPostSubpassSampleLocations( pPostSubpassSampleLocations_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassSampleLocationsBeginInfoEXT(
+      uint32_t attachmentInitialSampleLocationsCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT
+          *pAttachmentInitialSampleLocations_ = {},
+      uint32_t postSubpassSampleLocationsCount_ = {},
+      const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT
+          *pPostSubpassSampleLocations_ = {}) VULKAN_HPP_NOEXCEPT
+      : attachmentInitialSampleLocationsCount(
+            attachmentInitialSampleLocationsCount_),
+        pAttachmentInitialSampleLocations(pAttachmentInitialSampleLocations_),
+        postSubpassSampleLocationsCount(postSubpassSampleLocationsCount_),
+        pPostSubpassSampleLocations(pPostSubpassSampleLocations_) {}
 
-    RenderPassSampleLocationsBeginInfoEXT( VkRenderPassSampleLocationsBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR RenderPassSampleLocationsBeginInfoEXT(
+      RenderPassSampleLocationsBeginInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassSampleLocationsBeginInfoEXT(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT> const &
-        attachmentInitialSampleLocations_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT> const &
-        postSubpassSampleLocations_ = {} )
-      : attachmentInitialSampleLocationsCount( static_cast<uint32_t>( attachmentInitialSampleLocations_.size() ) )
-      , pAttachmentInitialSampleLocations( attachmentInitialSampleLocations_.data() )
-      , postSubpassSampleLocationsCount( static_cast<uint32_t>( postSubpassSampleLocations_.size() ) )
-      , pPostSubpassSampleLocations( postSubpassSampleLocations_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  RenderPassSampleLocationsBeginInfoEXT(
+      VkRenderPassSampleLocationsBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : RenderPassSampleLocationsBeginInfoEXT(
+            *reinterpret_cast<RenderPassSampleLocationsBeginInfoEXT const *>(
+                &rhs)) {}
 
-    RenderPassSampleLocationsBeginInfoEXT &
-      operator=( VkRenderPassSampleLocationsBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassSampleLocationsBeginInfoEXT(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT> const
+          &attachmentInitialSampleLocations_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT> const
+          &postSubpassSampleLocations_ = {})
+      : attachmentInitialSampleLocationsCount(
+            static_cast<uint32_t>(attachmentInitialSampleLocations_.size())),
+        pAttachmentInitialSampleLocations(
+            attachmentInitialSampleLocations_.data()),
+        postSubpassSampleLocationsCount(
+            static_cast<uint32_t>(postSubpassSampleLocations_.size())),
+        pPostSubpassSampleLocations(postSubpassSampleLocations_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    RenderPassSampleLocationsBeginInfoEXT &
-      operator=( RenderPassSampleLocationsBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                                 = rhs.pNext;
-      attachmentInitialSampleLocationsCount = rhs.attachmentInitialSampleLocationsCount;
-      pAttachmentInitialSampleLocations     = rhs.pAttachmentInitialSampleLocations;
-      postSubpassSampleLocationsCount       = rhs.postSubpassSampleLocationsCount;
-      pPostSubpassSampleLocations           = rhs.pPostSubpassSampleLocations;
+  VULKAN_HPP_CONSTEXPR_14 RenderPassSampleLocationsBeginInfoEXT &
+  operator=(RenderPassSampleLocationsBeginInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  RenderPassSampleLocationsBeginInfoEXT &operator=(
+      VkRenderPassSampleLocationsBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    RenderPassSampleLocationsBeginInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  RenderPassSampleLocationsBeginInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    RenderPassSampleLocationsBeginInfoEXT &
-      setAttachmentInitialSampleLocationsCount( uint32_t attachmentInitialSampleLocationsCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentInitialSampleLocationsCount = attachmentInitialSampleLocationsCount_;
-      return *this;
-    }
+  RenderPassSampleLocationsBeginInfoEXT &
+  setAttachmentInitialSampleLocationsCount(
+      uint32_t attachmentInitialSampleLocationsCount_) VULKAN_HPP_NOEXCEPT {
+    attachmentInitialSampleLocationsCount =
+        attachmentInitialSampleLocationsCount_;
+    return *this;
+  }
 
-    RenderPassSampleLocationsBeginInfoEXT & setPAttachmentInitialSampleLocations(
-      const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT * pAttachmentInitialSampleLocations_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations_;
-      return *this;
-    }
+  RenderPassSampleLocationsBeginInfoEXT &setPAttachmentInitialSampleLocations(
+      const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT
+          *pAttachmentInitialSampleLocations_) VULKAN_HPP_NOEXCEPT {
+    pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassSampleLocationsBeginInfoEXT & setAttachmentInitialSampleLocations(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT> const &
-        attachmentInitialSampleLocations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      attachmentInitialSampleLocationsCount = static_cast<uint32_t>( attachmentInitialSampleLocations_.size() );
-      pAttachmentInitialSampleLocations     = attachmentInitialSampleLocations_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassSampleLocationsBeginInfoEXT &setAttachmentInitialSampleLocations(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT> const
+          &attachmentInitialSampleLocations_) VULKAN_HPP_NOEXCEPT {
+    attachmentInitialSampleLocationsCount =
+        static_cast<uint32_t>(attachmentInitialSampleLocations_.size());
+    pAttachmentInitialSampleLocations =
+        attachmentInitialSampleLocations_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    RenderPassSampleLocationsBeginInfoEXT &
-      setPostSubpassSampleLocationsCount( uint32_t postSubpassSampleLocationsCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      postSubpassSampleLocationsCount = postSubpassSampleLocationsCount_;
-      return *this;
-    }
+  RenderPassSampleLocationsBeginInfoEXT &setPostSubpassSampleLocationsCount(
+      uint32_t postSubpassSampleLocationsCount_) VULKAN_HPP_NOEXCEPT {
+    postSubpassSampleLocationsCount = postSubpassSampleLocationsCount_;
+    return *this;
+  }
 
-    RenderPassSampleLocationsBeginInfoEXT & setPPostSubpassSampleLocations(
-      const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT * pPostSubpassSampleLocations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pPostSubpassSampleLocations = pPostSubpassSampleLocations_;
-      return *this;
-    }
+  RenderPassSampleLocationsBeginInfoEXT &setPPostSubpassSampleLocations(
+      const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT
+          *pPostSubpassSampleLocations_) VULKAN_HPP_NOEXCEPT {
+    pPostSubpassSampleLocations = pPostSubpassSampleLocations_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    RenderPassSampleLocationsBeginInfoEXT & setPostSubpassSampleLocations(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT> const &
-        postSubpassSampleLocations_ ) VULKAN_HPP_NOEXCEPT
-    {
-      postSubpassSampleLocationsCount = static_cast<uint32_t>( postSubpassSampleLocations_.size() );
-      pPostSubpassSampleLocations     = postSubpassSampleLocations_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  RenderPassSampleLocationsBeginInfoEXT &setPostSubpassSampleLocations(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT> const
+          &postSubpassSampleLocations_) VULKAN_HPP_NOEXCEPT {
+    postSubpassSampleLocationsCount =
+        static_cast<uint32_t>(postSubpassSampleLocations_.size());
+    pPostSubpassSampleLocations = postSubpassSampleLocations_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkRenderPassSampleLocationsBeginInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT *>( this );
-    }
+  operator VkRenderPassSampleLocationsBeginInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT *>(
+        this);
+  }
 
-    operator VkRenderPassSampleLocationsBeginInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT *>( this );
-    }
+  operator VkRenderPassSampleLocationsBeginInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassSampleLocationsBeginInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(RenderPassSampleLocationsBeginInfoEXT const &) const = default;
 #else
-    bool operator==( RenderPassSampleLocationsBeginInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( attachmentInitialSampleLocationsCount == rhs.attachmentInitialSampleLocationsCount ) &&
-             ( pAttachmentInitialSampleLocations == rhs.pAttachmentInitialSampleLocations ) &&
-             ( postSubpassSampleLocationsCount == rhs.postSubpassSampleLocationsCount ) &&
-             ( pPostSubpassSampleLocations == rhs.pPostSubpassSampleLocations );
-    }
+  bool operator==(RenderPassSampleLocationsBeginInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (attachmentInitialSampleLocationsCount ==
+            rhs.attachmentInitialSampleLocationsCount) &&
+           (pAttachmentInitialSampleLocations ==
+            rhs.pAttachmentInitialSampleLocations) &&
+           (postSubpassSampleLocationsCount ==
+            rhs.postSubpassSampleLocationsCount) &&
+           (pPostSubpassSampleLocations == rhs.pPostSubpassSampleLocations);
+  }
 
-    bool operator!=( RenderPassSampleLocationsBeginInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(RenderPassSampleLocationsBeginInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassSampleLocationsBeginInfoEXT;
-    const void *                              pNext = {};
-    uint32_t                                  attachmentInitialSampleLocationsCount              = {};
-    const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT * pAttachmentInitialSampleLocations = {};
-    uint32_t                                                   postSubpassSampleLocationsCount   = {};
-    const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT *    pPostSubpassSampleLocations       = {};
-  };
-  static_assert( sizeof( RenderPassSampleLocationsBeginInfoEXT ) == sizeof( VkRenderPassSampleLocationsBeginInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassSampleLocationsBeginInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassSampleLocationsBeginInfoEXT;
+  const void *pNext = {};
+  uint32_t attachmentInitialSampleLocationsCount = {};
+  const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT
+      *pAttachmentInitialSampleLocations = {};
+  uint32_t postSubpassSampleLocationsCount = {};
+  const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT
+      *pPostSubpassSampleLocations = {};
+};
+static_assert(sizeof(RenderPassSampleLocationsBeginInfoEXT) ==
+                  sizeof(VkRenderPassSampleLocationsBeginInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<RenderPassSampleLocationsBeginInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassSampleLocationsBeginInfoEXT>
-  {
-    using Type = RenderPassSampleLocationsBeginInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eRenderPassSampleLocationsBeginInfoEXT> {
+  using Type = RenderPassSampleLocationsBeginInfoEXT;
+};
 
-  struct RenderPassTransformBeginInfoQCOM
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassTransformBeginInfoQCOM;
+struct RenderPassTransformBeginInfoQCOM {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eRenderPassTransformBeginInfoQCOM;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR RenderPassTransformBeginInfoQCOM(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR RenderPassTransformBeginInfoQCOM(
       VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_ =
-        VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity ) VULKAN_HPP_NOEXCEPT : transform( transform_ )
-    {}
+          VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity)
+      VULKAN_HPP_NOEXCEPT : transform(transform_) {}
 
-    RenderPassTransformBeginInfoQCOM( VkRenderPassTransformBeginInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR
+  RenderPassTransformBeginInfoQCOM(RenderPassTransformBeginInfoQCOM const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    RenderPassTransformBeginInfoQCOM & operator=( VkRenderPassTransformBeginInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM const *>( &rhs );
-      return *this;
-    }
+  RenderPassTransformBeginInfoQCOM(
+      VkRenderPassTransformBeginInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
+      : RenderPassTransformBeginInfoQCOM(
+            *reinterpret_cast<RenderPassTransformBeginInfoQCOM const *>(&rhs)) {
+  }
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    RenderPassTransformBeginInfoQCOM & operator=( RenderPassTransformBeginInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext     = rhs.pNext;
-      transform = rhs.transform;
+  VULKAN_HPP_CONSTEXPR_14 RenderPassTransformBeginInfoQCOM &
+  operator=(RenderPassTransformBeginInfoQCOM const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  RenderPassTransformBeginInfoQCOM &
+  operator=(VkRenderPassTransformBeginInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM const *>(&rhs);
+    return *this;
+  }
 
-    RenderPassTransformBeginInfoQCOM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  RenderPassTransformBeginInfoQCOM &setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    RenderPassTransformBeginInfoQCOM &
-      setTransform( VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_ ) VULKAN_HPP_NOEXCEPT
-    {
-      transform = transform_;
-      return *this;
-    }
+  RenderPassTransformBeginInfoQCOM &
+  setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_)
+      VULKAN_HPP_NOEXCEPT {
+    transform = transform_;
+    return *this;
+  }
 
-    operator VkRenderPassTransformBeginInfoQCOM const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkRenderPassTransformBeginInfoQCOM *>( this );
-    }
+  operator VkRenderPassTransformBeginInfoQCOM const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkRenderPassTransformBeginInfoQCOM *>(this);
+  }
 
-    operator VkRenderPassTransformBeginInfoQCOM &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkRenderPassTransformBeginInfoQCOM *>( this );
-    }
+  operator VkRenderPassTransformBeginInfoQCOM &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkRenderPassTransformBeginInfoQCOM *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( RenderPassTransformBeginInfoQCOM const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(RenderPassTransformBeginInfoQCOM const &) const = default;
 #else
-    bool operator==( RenderPassTransformBeginInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( transform == rhs.transform );
-    }
+  bool operator==(RenderPassTransformBeginInfoQCOM const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (transform == rhs.transform);
+  }
 
-    bool operator!=( RenderPassTransformBeginInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(RenderPassTransformBeginInfoQCOM const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType = StructureType::eRenderPassTransformBeginInfoQCOM;
-    void *                                            pNext = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eRenderPassTransformBeginInfoQCOM;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform =
       VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
-  };
-  static_assert( sizeof( RenderPassTransformBeginInfoQCOM ) == sizeof( VkRenderPassTransformBeginInfoQCOM ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<RenderPassTransformBeginInfoQCOM>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(RenderPassTransformBeginInfoQCOM) ==
+                  sizeof(VkRenderPassTransformBeginInfoQCOM),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<RenderPassTransformBeginInfoQCOM>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eRenderPassTransformBeginInfoQCOM>
-  {
-    using Type = RenderPassTransformBeginInfoQCOM;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eRenderPassTransformBeginInfoQCOM> {
+  using Type = RenderPassTransformBeginInfoQCOM;
+};
 
-  struct SamplerCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSamplerCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SamplerCreateInfo(
-      VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags_            = {},
-      VULKAN_HPP_NAMESPACE::Filter             magFilter_        = VULKAN_HPP_NAMESPACE::Filter::eNearest,
-      VULKAN_HPP_NAMESPACE::Filter             minFilter_        = VULKAN_HPP_NAMESPACE::Filter::eNearest,
-      VULKAN_HPP_NAMESPACE::SamplerMipmapMode  mipmapMode_       = VULKAN_HPP_NAMESPACE::SamplerMipmapMode::eNearest,
-      VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeU_     = VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat,
-      VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeV_     = VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat,
-      VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeW_     = VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat,
-      float                                    mipLodBias_       = {},
-      VULKAN_HPP_NAMESPACE::Bool32             anisotropyEnable_ = {},
-      float                                    maxAnisotropy_    = {},
-      VULKAN_HPP_NAMESPACE::Bool32             compareEnable_    = {},
-      VULKAN_HPP_NAMESPACE::CompareOp          compareOp_        = VULKAN_HPP_NAMESPACE::CompareOp::eNever,
-      float                                    minLod_           = {},
-      float                                    maxLod_           = {},
-      VULKAN_HPP_NAMESPACE::BorderColor        borderColor_ = VULKAN_HPP_NAMESPACE::BorderColor::eFloatTransparentBlack,
-      VULKAN_HPP_NAMESPACE::Bool32             unnormalizedCoordinates_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , magFilter( magFilter_ )
-      , minFilter( minFilter_ )
-      , mipmapMode( mipmapMode_ )
-      , addressModeU( addressModeU_ )
-      , addressModeV( addressModeV_ )
-      , addressModeW( addressModeW_ )
-      , mipLodBias( mipLodBias_ )
-      , anisotropyEnable( anisotropyEnable_ )
-      , maxAnisotropy( maxAnisotropy_ )
-      , compareEnable( compareEnable_ )
-      , compareOp( compareOp_ )
-      , minLod( minLod_ )
-      , maxLod( maxLod_ )
-      , borderColor( borderColor_ )
-      , unnormalizedCoordinates( unnormalizedCoordinates_ )
-    {}
-
-    SamplerCreateInfo( VkSamplerCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SamplerCreateInfo & operator=( VkSamplerCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    SamplerCreateInfo & operator=( SamplerCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                   = rhs.pNext;
-      flags                   = rhs.flags;
-      magFilter               = rhs.magFilter;
-      minFilter               = rhs.minFilter;
-      mipmapMode              = rhs.mipmapMode;
-      addressModeU            = rhs.addressModeU;
-      addressModeV            = rhs.addressModeV;
-      addressModeW            = rhs.addressModeW;
-      mipLodBias              = rhs.mipLodBias;
-      anisotropyEnable        = rhs.anisotropyEnable;
-      maxAnisotropy           = rhs.maxAnisotropy;
-      compareEnable           = rhs.compareEnable;
-      compareOp               = rhs.compareOp;
-      minLod                  = rhs.minLod;
-      maxLod                  = rhs.maxLod;
-      borderColor             = rhs.borderColor;
-      unnormalizedCoordinates = rhs.unnormalizedCoordinates;
-
-      return *this;
-    }
-
-    SamplerCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setMagFilter( VULKAN_HPP_NAMESPACE::Filter magFilter_ ) VULKAN_HPP_NOEXCEPT
-    {
-      magFilter = magFilter_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setMinFilter( VULKAN_HPP_NAMESPACE::Filter minFilter_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minFilter = minFilter_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setMipmapMode( VULKAN_HPP_NAMESPACE::SamplerMipmapMode mipmapMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mipmapMode = mipmapMode_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setAddressModeU( VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeU_ ) VULKAN_HPP_NOEXCEPT
-    {
-      addressModeU = addressModeU_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setAddressModeV( VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeV_ ) VULKAN_HPP_NOEXCEPT
-    {
-      addressModeV = addressModeV_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setAddressModeW( VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeW_ ) VULKAN_HPP_NOEXCEPT
-    {
-      addressModeW = addressModeW_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setMipLodBias( float mipLodBias_ ) VULKAN_HPP_NOEXCEPT
-    {
-      mipLodBias = mipLodBias_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setAnisotropyEnable( VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      anisotropyEnable = anisotropyEnable_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setMaxAnisotropy( float maxAnisotropy_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxAnisotropy = maxAnisotropy_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setCompareEnable( VULKAN_HPP_NAMESPACE::Bool32 compareEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compareEnable = compareEnable_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setCompareOp( VULKAN_HPP_NAMESPACE::CompareOp compareOp_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compareOp = compareOp_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setMinLod( float minLod_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minLod = minLod_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setMaxLod( float maxLod_ ) VULKAN_HPP_NOEXCEPT
-    {
-      maxLod = maxLod_;
-      return *this;
-    }
-
-    SamplerCreateInfo & setBorderColor( VULKAN_HPP_NAMESPACE::BorderColor borderColor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      borderColor = borderColor_;
-      return *this;
-    }
-
-    SamplerCreateInfo &
-      setUnnormalizedCoordinates( VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates_ ) VULKAN_HPP_NOEXCEPT
-    {
-      unnormalizedCoordinates = unnormalizedCoordinates_;
-      return *this;
-    }
-
-    operator VkSamplerCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSamplerCreateInfo *>( this );
-    }
-
-    operator VkSamplerCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSamplerCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SamplerCreateInfo const & ) const = default;
-#else
-    bool operator==( SamplerCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( magFilter == rhs.magFilter ) && ( minFilter == rhs.minFilter ) && ( mipmapMode == rhs.mipmapMode ) &&
-             ( addressModeU == rhs.addressModeU ) && ( addressModeV == rhs.addressModeV ) &&
-             ( addressModeW == rhs.addressModeW ) && ( mipLodBias == rhs.mipLodBias ) &&
-             ( anisotropyEnable == rhs.anisotropyEnable ) && ( maxAnisotropy == rhs.maxAnisotropy ) &&
-             ( compareEnable == rhs.compareEnable ) && ( compareOp == rhs.compareOp ) && ( minLod == rhs.minLod ) &&
-             ( maxLod == rhs.maxLod ) && ( borderColor == rhs.borderColor ) &&
-             ( unnormalizedCoordinates == rhs.unnormalizedCoordinates );
-    }
-
-    bool operator!=( SamplerCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType            = StructureType::eSamplerCreateInfo;
-    const void *                              pNext            = {};
-    VULKAN_HPP_NAMESPACE::SamplerCreateFlags  flags            = {};
-    VULKAN_HPP_NAMESPACE::Filter              magFilter        = VULKAN_HPP_NAMESPACE::Filter::eNearest;
-    VULKAN_HPP_NAMESPACE::Filter              minFilter        = VULKAN_HPP_NAMESPACE::Filter::eNearest;
-    VULKAN_HPP_NAMESPACE::SamplerMipmapMode   mipmapMode       = VULKAN_HPP_NAMESPACE::SamplerMipmapMode::eNearest;
-    VULKAN_HPP_NAMESPACE::SamplerAddressMode  addressModeU     = VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat;
-    VULKAN_HPP_NAMESPACE::SamplerAddressMode  addressModeV     = VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat;
-    VULKAN_HPP_NAMESPACE::SamplerAddressMode  addressModeW     = VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat;
-    float                                     mipLodBias       = {};
-    VULKAN_HPP_NAMESPACE::Bool32              anisotropyEnable = {};
-    float                                     maxAnisotropy    = {};
-    VULKAN_HPP_NAMESPACE::Bool32              compareEnable    = {};
-    VULKAN_HPP_NAMESPACE::CompareOp           compareOp        = VULKAN_HPP_NAMESPACE::CompareOp::eNever;
-    float                                     minLod           = {};
-    float                                     maxLod           = {};
-    VULKAN_HPP_NAMESPACE::BorderColor         borderColor = VULKAN_HPP_NAMESPACE::BorderColor::eFloatTransparentBlack;
-    VULKAN_HPP_NAMESPACE::Bool32              unnormalizedCoordinates = {};
-  };
-  static_assert( sizeof( SamplerCreateInfo ) == sizeof( VkSamplerCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SamplerCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSamplerCreateInfo>
-  {
-    using Type = SamplerCreateInfo;
-  };
-
-  struct SamplerCustomBorderColorCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct SamplerCustomBorderColorCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSamplerCustomBorderColorCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    SamplerCustomBorderColorCreateInfoEXT(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  SamplerCustomBorderColorCreateInfoEXT(
       VULKAN_HPP_NAMESPACE::ClearColorValue customBorderColor_ = {},
-      VULKAN_HPP_NAMESPACE::Format          format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined ) VULKAN_HPP_NOEXCEPT
-      : customBorderColor( customBorderColor_ )
-      , format( format_ )
-    {}
+      VULKAN_HPP_NAMESPACE::Format format_ =
+          VULKAN_HPP_NAMESPACE::Format::eUndefined) VULKAN_HPP_NOEXCEPT
+      : customBorderColor(customBorderColor_),
+        format(format_) {}
 
-    SamplerCustomBorderColorCreateInfoEXT( VkSamplerCustomBorderColorCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  SamplerCustomBorderColorCreateInfoEXT(
+      SamplerCustomBorderColorCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SamplerCustomBorderColorCreateInfoEXT &
-      operator=( VkSamplerCustomBorderColorCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerCustomBorderColorCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  SamplerCustomBorderColorCreateInfoEXT(
+      VkSamplerCustomBorderColorCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : SamplerCustomBorderColorCreateInfoEXT(
+            *reinterpret_cast<SamplerCustomBorderColorCreateInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SamplerCustomBorderColorCreateInfoEXT &
-      operator=( SamplerCustomBorderColorCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      customBorderColor = rhs.customBorderColor;
-      format            = rhs.format;
+  SamplerCustomBorderColorCreateInfoEXT &
+  operator=(SamplerCustomBorderColorCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SamplerCustomBorderColorCreateInfoEXT &operator=(
+      VkSamplerCustomBorderColorCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SamplerCustomBorderColorCreateInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    SamplerCustomBorderColorCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SamplerCustomBorderColorCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SamplerCustomBorderColorCreateInfoEXT &
-      setCustomBorderColor( VULKAN_HPP_NAMESPACE::ClearColorValue const & customBorderColor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      customBorderColor = customBorderColor_;
-      return *this;
-    }
+  SamplerCustomBorderColorCreateInfoEXT &setCustomBorderColor(
+      VULKAN_HPP_NAMESPACE::ClearColorValue const &customBorderColor_)
+      VULKAN_HPP_NOEXCEPT {
+    customBorderColor = customBorderColor_;
+    return *this;
+  }
 
-    SamplerCustomBorderColorCreateInfoEXT & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
+  SamplerCustomBorderColorCreateInfoEXT &
+  setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT {
+    format = format_;
+    return *this;
+  }
 
-    operator VkSamplerCustomBorderColorCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT *>( this );
-    }
+  operator VkSamplerCustomBorderColorCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT *>(
+        this);
+  }
 
-    operator VkSamplerCustomBorderColorCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT *>( this );
-    }
+  operator VkSamplerCustomBorderColorCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT *>(this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType             = StructureType::eSamplerCustomBorderColorCreateInfoEXT;
-    const void *                              pNext             = {};
-    VULKAN_HPP_NAMESPACE::ClearColorValue     customBorderColor = {};
-    VULKAN_HPP_NAMESPACE::Format              format            = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-  };
-  static_assert( sizeof( SamplerCustomBorderColorCreateInfoEXT ) == sizeof( VkSamplerCustomBorderColorCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SamplerCustomBorderColorCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSamplerCustomBorderColorCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ClearColorValue customBorderColor = {};
+  VULKAN_HPP_NAMESPACE::Format format =
+      VULKAN_HPP_NAMESPACE::Format::eUndefined;
+};
+static_assert(sizeof(SamplerCustomBorderColorCreateInfoEXT) ==
+                  sizeof(VkSamplerCustomBorderColorCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SamplerCustomBorderColorCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSamplerCustomBorderColorCreateInfoEXT>
-  {
-    using Type = SamplerCustomBorderColorCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSamplerCustomBorderColorCreateInfoEXT> {
+  using Type = SamplerCustomBorderColorCreateInfoEXT;
+};
 
-  struct SamplerReductionModeCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSamplerReductionModeCreateInfo;
+struct SamplerReductionModeCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSamplerReductionModeCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SamplerReductionModeCreateInfo(
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SamplerReductionModeCreateInfo(
       VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode_ =
-        VULKAN_HPP_NAMESPACE::SamplerReductionMode::eWeightedAverage ) VULKAN_HPP_NOEXCEPT
-      : reductionMode( reductionMode_ )
-    {}
+          VULKAN_HPP_NAMESPACE::SamplerReductionMode::eWeightedAverage)
+      VULKAN_HPP_NOEXCEPT : reductionMode(reductionMode_) {}
 
-    SamplerReductionModeCreateInfo( VkSamplerReductionModeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SamplerReductionModeCreateInfo(
+      SamplerReductionModeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SamplerReductionModeCreateInfo & operator=( VkSamplerReductionModeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo const *>( &rhs );
-      return *this;
-    }
+  SamplerReductionModeCreateInfo(VkSamplerReductionModeCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SamplerReductionModeCreateInfo(
+            *reinterpret_cast<SamplerReductionModeCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SamplerReductionModeCreateInfo & operator=( SamplerReductionModeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      reductionMode = rhs.reductionMode;
+  VULKAN_HPP_CONSTEXPR_14 SamplerReductionModeCreateInfo &operator=(
+      SamplerReductionModeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SamplerReductionModeCreateInfo &
+  operator=(VkSamplerReductionModeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-    SamplerReductionModeCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SamplerReductionModeCreateInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SamplerReductionModeCreateInfo &
-      setReductionMode( VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      reductionMode = reductionMode_;
-      return *this;
-    }
+  SamplerReductionModeCreateInfo &
+  setReductionMode(VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode_)
+      VULKAN_HPP_NOEXCEPT {
+    reductionMode = reductionMode_;
+    return *this;
+  }
 
-    operator VkSamplerReductionModeCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSamplerReductionModeCreateInfo *>( this );
-    }
+  operator VkSamplerReductionModeCreateInfo const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSamplerReductionModeCreateInfo *>(this);
+  }
 
-    operator VkSamplerReductionModeCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSamplerReductionModeCreateInfo *>( this );
-    }
+  operator VkSamplerReductionModeCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSamplerReductionModeCreateInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SamplerReductionModeCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SamplerReductionModeCreateInfo const &) const = default;
 #else
-    bool operator==( SamplerReductionModeCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( reductionMode == rhs.reductionMode );
-    }
+  bool operator==(SamplerReductionModeCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (reductionMode == rhs.reductionMode);
+  }
 
-    bool operator!=( SamplerReductionModeCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SamplerReductionModeCreateInfo const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType = StructureType::eSamplerReductionModeCreateInfo;
-    const void *                               pNext = {};
-    VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSamplerReductionModeCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode =
       VULKAN_HPP_NAMESPACE::SamplerReductionMode::eWeightedAverage;
-  };
-  static_assert( sizeof( SamplerReductionModeCreateInfo ) == sizeof( VkSamplerReductionModeCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SamplerReductionModeCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(SamplerReductionModeCreateInfo) ==
+                  sizeof(VkSamplerReductionModeCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SamplerReductionModeCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSamplerReductionModeCreateInfo>
-  {
-    using Type = SamplerReductionModeCreateInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eSamplerReductionModeCreateInfo> {
+  using Type = SamplerReductionModeCreateInfo;
+};
+using SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
 
-  struct SamplerYcbcrConversionCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionCreateInfo(
-      VULKAN_HPP_NAMESPACE::Format                      format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel_ =
-        VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion::eRgbIdentity,
-      VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange_    = VULKAN_HPP_NAMESPACE::SamplerYcbcrRange::eItuFull,
-      VULKAN_HPP_NAMESPACE::ComponentMapping  components_    = {},
-      VULKAN_HPP_NAMESPACE::ChromaLocation    xChromaOffset_ = VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven,
-      VULKAN_HPP_NAMESPACE::ChromaLocation    yChromaOffset_ = VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven,
-      VULKAN_HPP_NAMESPACE::Filter            chromaFilter_  = VULKAN_HPP_NAMESPACE::Filter::eNearest,
-      VULKAN_HPP_NAMESPACE::Bool32            forceExplicitReconstruction_ = {} ) VULKAN_HPP_NOEXCEPT
-      : format( format_ )
-      , ycbcrModel( ycbcrModel_ )
-      , ycbcrRange( ycbcrRange_ )
-      , components( components_ )
-      , xChromaOffset( xChromaOffset_ )
-      , yChromaOffset( yChromaOffset_ )
-      , chromaFilter( chromaFilter_ )
-      , forceExplicitReconstruction( forceExplicitReconstruction_ )
-    {}
-
-    SamplerYcbcrConversionCreateInfo( VkSamplerYcbcrConversionCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SamplerYcbcrConversionCreateInfo & operator=( VkSamplerYcbcrConversionCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo & operator=( SamplerYcbcrConversionCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      format                      = rhs.format;
-      ycbcrModel                  = rhs.ycbcrModel;
-      ycbcrRange                  = rhs.ycbcrRange;
-      components                  = rhs.components;
-      xChromaOffset               = rhs.xChromaOffset;
-      yChromaOffset               = rhs.yChromaOffset;
-      chromaFilter                = rhs.chromaFilter;
-      forceExplicitReconstruction = rhs.forceExplicitReconstruction;
-
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
-    {
-      format = format_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo &
-      setYcbcrModel( VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ycbcrModel = ycbcrModel_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo &
-      setYcbcrRange( VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange_ ) VULKAN_HPP_NOEXCEPT
-    {
-      ycbcrRange = ycbcrRange_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo &
-      setComponents( VULKAN_HPP_NAMESPACE::ComponentMapping const & components_ ) VULKAN_HPP_NOEXCEPT
-    {
-      components = components_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo &
-      setXChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation xChromaOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      xChromaOffset = xChromaOffset_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo &
-      setYChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation yChromaOffset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      yChromaOffset = yChromaOffset_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo & setChromaFilter( VULKAN_HPP_NAMESPACE::Filter chromaFilter_ ) VULKAN_HPP_NOEXCEPT
-    {
-      chromaFilter = chromaFilter_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionCreateInfo &
-      setForceExplicitReconstruction( VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction_ ) VULKAN_HPP_NOEXCEPT
-    {
-      forceExplicitReconstruction = forceExplicitReconstruction_;
-      return *this;
-    }
-
-    operator VkSamplerYcbcrConversionCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( this );
-    }
-
-    operator VkSamplerYcbcrConversionCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSamplerYcbcrConversionCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SamplerYcbcrConversionCreateInfo const & ) const = default;
-#else
-    bool operator==( SamplerYcbcrConversionCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) &&
-             ( ycbcrModel == rhs.ycbcrModel ) && ( ycbcrRange == rhs.ycbcrRange ) && ( components == rhs.components ) &&
-             ( xChromaOffset == rhs.xChromaOffset ) && ( yChromaOffset == rhs.yChromaOffset ) &&
-             ( chromaFilter == rhs.chromaFilter ) && ( forceExplicitReconstruction == rhs.forceExplicitReconstruction );
-    }
-
-    bool operator!=( SamplerYcbcrConversionCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType  = StructureType::eSamplerYcbcrConversionCreateInfo;
-    const void *                                      pNext  = {};
-    VULKAN_HPP_NAMESPACE::Format                      format = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel =
-      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion::eRgbIdentity;
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange    = VULKAN_HPP_NAMESPACE::SamplerYcbcrRange::eItuFull;
-    VULKAN_HPP_NAMESPACE::ComponentMapping  components    = {};
-    VULKAN_HPP_NAMESPACE::ChromaLocation    xChromaOffset = VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven;
-    VULKAN_HPP_NAMESPACE::ChromaLocation    yChromaOffset = VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven;
-    VULKAN_HPP_NAMESPACE::Filter            chromaFilter  = VULKAN_HPP_NAMESPACE::Filter::eNearest;
-    VULKAN_HPP_NAMESPACE::Bool32            forceExplicitReconstruction = {};
-  };
-  static_assert( sizeof( SamplerYcbcrConversionCreateInfo ) == sizeof( VkSamplerYcbcrConversionCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SamplerYcbcrConversionCreateInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSamplerYcbcrConversionCreateInfo>
-  {
-    using Type = SamplerYcbcrConversionCreateInfo;
-  };
-
-  struct SamplerYcbcrConversionImageFormatProperties
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct SamplerYcbcrConversionImageFormatProperties {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSamplerYcbcrConversionImageFormatProperties;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionImageFormatProperties(
-      uint32_t combinedImageSamplerDescriptorCount_ = {} ) VULKAN_HPP_NOEXCEPT
-      : combinedImageSamplerDescriptorCount( combinedImageSamplerDescriptorCount_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionImageFormatProperties(
+      uint32_t combinedImageSamplerDescriptorCount_ = {}) VULKAN_HPP_NOEXCEPT
+      : combinedImageSamplerDescriptorCount(
+            combinedImageSamplerDescriptorCount_) {}
 
-    SamplerYcbcrConversionImageFormatProperties( VkSamplerYcbcrConversionImageFormatProperties const & rhs )
+  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionImageFormatProperties(
+      SamplerYcbcrConversionImageFormatProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  SamplerYcbcrConversionImageFormatProperties(
+      VkSamplerYcbcrConversionImageFormatProperties const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : SamplerYcbcrConversionImageFormatProperties(
+            *reinterpret_cast<
+                SamplerYcbcrConversionImageFormatProperties const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SamplerYcbcrConversionImageFormatProperties &
-      operator=( VkSamplerYcbcrConversionImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionImageFormatProperties &
+  operator=(SamplerYcbcrConversionImageFormatProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SamplerYcbcrConversionImageFormatProperties &
-      operator=( SamplerYcbcrConversionImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                               = rhs.pNext;
-      combinedImageSamplerDescriptorCount = rhs.combinedImageSamplerDescriptorCount;
+  SamplerYcbcrConversionImageFormatProperties &
+  operator=(VkSamplerYcbcrConversionImageFormatProperties const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkSamplerYcbcrConversionImageFormatProperties const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkSamplerYcbcrConversionImageFormatProperties *>(this);
+  }
 
-    operator VkSamplerYcbcrConversionImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties *>( this );
-    }
+  operator VkSamplerYcbcrConversionImageFormatProperties &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties *>(
+        this);
+  }
 
-    operator VkSamplerYcbcrConversionImageFormatProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SamplerYcbcrConversionImageFormatProperties const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SamplerYcbcrConversionImageFormatProperties const &) const =
+      default;
 #else
-    bool operator==( SamplerYcbcrConversionImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( combinedImageSamplerDescriptorCount == rhs.combinedImageSamplerDescriptorCount );
-    }
+  bool operator==(SamplerYcbcrConversionImageFormatProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (combinedImageSamplerDescriptorCount ==
+            rhs.combinedImageSamplerDescriptorCount);
+  }
 
-    bool operator!=( SamplerYcbcrConversionImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SamplerYcbcrConversionImageFormatProperties const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerYcbcrConversionImageFormatProperties;
-    void *                                    pNext = {};
-    uint32_t                                  combinedImageSamplerDescriptorCount = {};
-  };
-  static_assert( sizeof( SamplerYcbcrConversionImageFormatProperties ) ==
-                   sizeof( VkSamplerYcbcrConversionImageFormatProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SamplerYcbcrConversionImageFormatProperties>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSamplerYcbcrConversionImageFormatProperties;
+  void *pNext = {};
+  uint32_t combinedImageSamplerDescriptorCount = {};
+};
+static_assert(sizeof(SamplerYcbcrConversionImageFormatProperties) ==
+                  sizeof(VkSamplerYcbcrConversionImageFormatProperties),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SamplerYcbcrConversionImageFormatProperties>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSamplerYcbcrConversionImageFormatProperties>
-  {
-    using Type = SamplerYcbcrConversionImageFormatProperties;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSamplerYcbcrConversionImageFormatProperties> {
+  using Type = SamplerYcbcrConversionImageFormatProperties;
+};
+using SamplerYcbcrConversionImageFormatPropertiesKHR =
+    SamplerYcbcrConversionImageFormatProperties;
 
-  struct SamplerYcbcrConversionInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSamplerYcbcrConversionInfo;
+struct SamplerYcbcrConversionInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSamplerYcbcrConversionInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SamplerYcbcrConversionInfo( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion_ = {} ) VULKAN_HPP_NOEXCEPT
-      : conversion( conversion_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionInfo(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion_ = {})
+      VULKAN_HPP_NOEXCEPT : conversion(conversion_) {}
 
-    SamplerYcbcrConversionInfo( VkSamplerYcbcrConversionInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionInfo(
+      SamplerYcbcrConversionInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SamplerYcbcrConversionInfo & operator=( VkSamplerYcbcrConversionInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo const *>( &rhs );
-      return *this;
-    }
-
-    SamplerYcbcrConversionInfo & operator=( SamplerYcbcrConversionInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      conversion = rhs.conversion;
-
-      return *this;
-    }
-
-    SamplerYcbcrConversionInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SamplerYcbcrConversionInfo &
-      setConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion_ ) VULKAN_HPP_NOEXCEPT
-    {
-      conversion = conversion_;
-      return *this;
-    }
-
-    operator VkSamplerYcbcrConversionInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSamplerYcbcrConversionInfo *>( this );
-    }
-
-    operator VkSamplerYcbcrConversionInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSamplerYcbcrConversionInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SamplerYcbcrConversionInfo const & ) const = default;
-#else
-    bool operator==( SamplerYcbcrConversionInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( conversion == rhs.conversion );
-    }
-
-    bool operator!=( SamplerYcbcrConversionInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType      = StructureType::eSamplerYcbcrConversionInfo;
-    const void *                                 pNext      = {};
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion = {};
-  };
-  static_assert( sizeof( SamplerYcbcrConversionInfo ) == sizeof( VkSamplerYcbcrConversionInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SamplerYcbcrConversionInfo>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSamplerYcbcrConversionInfo>
-  {
-    using Type = SamplerYcbcrConversionInfo;
-  };
-
-  struct SemaphoreCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSemaphoreCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SemaphoreCreateInfo( VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT : flags( flags_ )
-    {}
-
-    SemaphoreCreateInfo( VkSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SemaphoreCreateInfo & operator=( VkSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    SemaphoreCreateInfo & operator=( SemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-      flags = rhs.flags;
-
-      return *this;
-    }
-
-    SemaphoreCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SemaphoreCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    operator VkSemaphoreCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSemaphoreCreateInfo *>( this );
-    }
-
-    operator VkSemaphoreCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSemaphoreCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SemaphoreCreateInfo const & ) const = default;
-#else
-    bool operator==( SemaphoreCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( SemaphoreCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType = StructureType::eSemaphoreCreateInfo;
-    const void *                               pNext = {};
-    VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags = {};
-  };
-  static_assert( sizeof( SemaphoreCreateInfo ) == sizeof( VkSemaphoreCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SemaphoreCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSemaphoreCreateInfo>
-  {
-    using Type = SemaphoreCreateInfo;
-  };
-
-  struct SemaphoreGetFdInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSemaphoreGetFdInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SemaphoreGetFdInfoKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
-                                                VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
-                                                  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd )
+  SamplerYcbcrConversionInfo(VkSamplerYcbcrConversionInfo const &rhs)
       VULKAN_HPP_NOEXCEPT
-      : semaphore( semaphore_ )
-      , handleType( handleType_ )
-    {}
+      : SamplerYcbcrConversionInfo(
+            *reinterpret_cast<SamplerYcbcrConversionInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SemaphoreGetFdInfoKHR( VkSemaphoreGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionInfo &operator=(
+      SamplerYcbcrConversionInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SemaphoreGetFdInfoKHR & operator=( VkSemaphoreGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR const *>( &rhs );
-      return *this;
-    }
+  SamplerYcbcrConversionInfo &
+  operator=(VkSamplerYcbcrConversionInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo const *>(&rhs);
+    return *this;
+  }
 
-    SemaphoreGetFdInfoKHR & operator=( SemaphoreGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      semaphore  = rhs.semaphore;
-      handleType = rhs.handleType;
+  SamplerYcbcrConversionInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-      return *this;
-    }
+  SamplerYcbcrConversionInfo &
+  setConversion(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion_)
+      VULKAN_HPP_NOEXCEPT {
+    conversion = conversion_;
+    return *this;
+  }
 
-    SemaphoreGetFdInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkSamplerYcbcrConversionInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSamplerYcbcrConversionInfo *>(this);
+  }
 
-    SemaphoreGetFdInfoKHR & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
+  operator VkSamplerYcbcrConversionInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSamplerYcbcrConversionInfo *>(this);
+  }
 
-    SemaphoreGetFdInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkSemaphoreGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( this );
-    }
-
-    operator VkSemaphoreGetFdInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSemaphoreGetFdInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SemaphoreGetFdInfoKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SamplerYcbcrConversionInfo const &) const = default;
 #else
-    bool operator==( SemaphoreGetFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) &&
-             ( handleType == rhs.handleType );
-    }
+  bool
+  operator==(SamplerYcbcrConversionInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (conversion == rhs.conversion);
+  }
 
-    bool operator!=( SemaphoreGetFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(SamplerYcbcrConversionInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                 sType     = StructureType::eSemaphoreGetFdInfoKHR;
-    const void *                                              pNext     = {};
-    VULKAN_HPP_NAMESPACE::Semaphore                           semaphore = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( SemaphoreGetFdInfoKHR ) == sizeof( VkSemaphoreGetFdInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SemaphoreGetFdInfoKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSamplerYcbcrConversionInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion = {};
+};
+static_assert(sizeof(SamplerYcbcrConversionInfo) ==
+                  sizeof(VkSamplerYcbcrConversionInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SamplerYcbcrConversionInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSemaphoreGetFdInfoKHR>
-  {
-    using Type = SemaphoreGetFdInfoKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::eSamplerYcbcrConversionInfo> {
+  using Type = SamplerYcbcrConversionInfo;
+};
+using SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
 
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SemaphoreGetWin32HandleInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSemaphoreGetWin32HandleInfoKHR;
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+struct ScreenSurfaceCreateInfoQNX {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eScreenSurfaceCreateInfoQNX;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SemaphoreGetWin32HandleInfoKHR(
-      VULKAN_HPP_NAMESPACE::Semaphore                           semaphore_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : semaphore( semaphore_ )
-      , handleType( handleType_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ScreenSurfaceCreateInfoQNX(
+      VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateFlagsQNX flags_ = {},
+      struct _screen_context *context_ = {},
+      struct _screen_window *window_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        context(context_),
+        window(window_) {}
 
-    SemaphoreGetWin32HandleInfoKHR( VkSemaphoreGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR ScreenSurfaceCreateInfoQNX(
+      ScreenSurfaceCreateInfoQNX const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SemaphoreGetWin32HandleInfoKHR & operator=( VkSemaphoreGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    SemaphoreGetWin32HandleInfoKHR & operator=( SemaphoreGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      semaphore  = rhs.semaphore;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    SemaphoreGetWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SemaphoreGetWin32HandleInfoKHR & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
-
-    SemaphoreGetWin32HandleInfoKHR &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkSemaphoreGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( this );
-    }
-
-    operator VkSemaphoreGetWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSemaphoreGetWin32HandleInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SemaphoreGetWin32HandleInfoKHR const & ) const = default;
-#  else
-    bool operator==( SemaphoreGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( SemaphoreGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                 sType = StructureType::eSemaphoreGetWin32HandleInfoKHR;
-    const void *                                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Semaphore                           semaphore = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( SemaphoreGetWin32HandleInfoKHR ) == sizeof( VkSemaphoreGetWin32HandleInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SemaphoreGetWin32HandleInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSemaphoreGetWin32HandleInfoKHR>
-  {
-    using Type = SemaphoreGetWin32HandleInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  struct SemaphoreGetZirconHandleInfoFUCHSIA
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
-      StructureType::eTempSemaphoreGetZirconHandleInfoFUCHSIA;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SemaphoreGetZirconHandleInfoFUCHSIA(
-      VULKAN_HPP_NAMESPACE::Semaphore                           semaphore_ = {},
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ =
-        VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd ) VULKAN_HPP_NOEXCEPT
-      : semaphore( semaphore_ )
-      , handleType( handleType_ )
-    {}
-
-    SemaphoreGetZirconHandleInfoFUCHSIA( VkSemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SemaphoreGetZirconHandleInfoFUCHSIA &
-      operator=( VkSemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA const *>( &rhs );
-      return *this;
-    }
-
-    SemaphoreGetZirconHandleInfoFUCHSIA &
-      operator=( SemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      semaphore  = rhs.semaphore;
-      handleType = rhs.handleType;
-
-      return *this;
-    }
-
-    SemaphoreGetZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SemaphoreGetZirconHandleInfoFUCHSIA & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
-
-    SemaphoreGetZirconHandleInfoFUCHSIA &
-      setHandleType( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      handleType = handleType_;
-      return *this;
-    }
-
-    operator VkSemaphoreGetZirconHandleInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( this );
-    }
-
-    operator VkSemaphoreGetZirconHandleInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSemaphoreGetZirconHandleInfoFUCHSIA *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SemaphoreGetZirconHandleInfoFUCHSIA const & ) const = default;
-#  else
-    bool operator==( SemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) &&
-             ( handleType == rhs.handleType );
-    }
-
-    bool operator!=( SemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType     = StructureType::eTempSemaphoreGetZirconHandleInfoFUCHSIA;
-    const void *                              pNext     = {};
-    VULKAN_HPP_NAMESPACE::Semaphore           semaphore = {};
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType =
-      VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd;
-  };
-  static_assert( sizeof( SemaphoreGetZirconHandleInfoFUCHSIA ) == sizeof( VkSemaphoreGetZirconHandleInfoFUCHSIA ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SemaphoreGetZirconHandleInfoFUCHSIA>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eTempSemaphoreGetZirconHandleInfoFUCHSIA>
-  {
-    using Type = SemaphoreGetZirconHandleInfoFUCHSIA;
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-  struct SemaphoreSignalInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSemaphoreSignalInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SemaphoreSignalInfo( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
-                                              uint64_t                        value_     = {} ) VULKAN_HPP_NOEXCEPT
-      : semaphore( semaphore_ )
-      , value( value_ )
-    {}
-
-    SemaphoreSignalInfo( VkSemaphoreSignalInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SemaphoreSignalInfo & operator=( VkSemaphoreSignalInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo const *>( &rhs );
-      return *this;
-    }
-
-    SemaphoreSignalInfo & operator=( SemaphoreSignalInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext     = rhs.pNext;
-      semaphore = rhs.semaphore;
-      value     = rhs.value;
-
-      return *this;
-    }
-
-    SemaphoreSignalInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SemaphoreSignalInfo & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphore = semaphore_;
-      return *this;
-    }
-
-    SemaphoreSignalInfo & setValue( uint64_t value_ ) VULKAN_HPP_NOEXCEPT
-    {
-      value = value_;
-      return *this;
-    }
-
-    operator VkSemaphoreSignalInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSemaphoreSignalInfo *>( this );
-    }
-
-    operator VkSemaphoreSignalInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSemaphoreSignalInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SemaphoreSignalInfo const & ) const = default;
-#else
-    bool operator==( SemaphoreSignalInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) &&
-             ( value == rhs.value );
-    }
-
-    bool operator!=( SemaphoreSignalInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType     = StructureType::eSemaphoreSignalInfo;
-    const void *                              pNext     = {};
-    VULKAN_HPP_NAMESPACE::Semaphore           semaphore = {};
-    uint64_t                                  value     = {};
-  };
-  static_assert( sizeof( SemaphoreSignalInfo ) == sizeof( VkSemaphoreSignalInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SemaphoreSignalInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSemaphoreSignalInfo>
-  {
-    using Type = SemaphoreSignalInfo;
-  };
-
-  struct SemaphoreTypeCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSemaphoreTypeCreateInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SemaphoreTypeCreateInfo(
-      VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType_ = VULKAN_HPP_NAMESPACE::SemaphoreType::eBinary,
-      uint64_t                            initialValue_  = {} ) VULKAN_HPP_NOEXCEPT
-      : semaphoreType( semaphoreType_ )
-      , initialValue( initialValue_ )
-    {}
-
-    SemaphoreTypeCreateInfo( VkSemaphoreTypeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SemaphoreTypeCreateInfo & operator=( VkSemaphoreTypeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo const *>( &rhs );
-      return *this;
-    }
-
-    SemaphoreTypeCreateInfo & operator=( SemaphoreTypeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      semaphoreType = rhs.semaphoreType;
-      initialValue  = rhs.initialValue;
-
-      return *this;
-    }
-
-    SemaphoreTypeCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SemaphoreTypeCreateInfo & setSemaphoreType( VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphoreType = semaphoreType_;
-      return *this;
-    }
-
-    SemaphoreTypeCreateInfo & setInitialValue( uint64_t initialValue_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialValue = initialValue_;
-      return *this;
-    }
-
-    operator VkSemaphoreTypeCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSemaphoreTypeCreateInfo *>( this );
-    }
-
-    operator VkSemaphoreTypeCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSemaphoreTypeCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SemaphoreTypeCreateInfo const & ) const = default;
-#else
-    bool operator==( SemaphoreTypeCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphoreType == rhs.semaphoreType ) &&
-             ( initialValue == rhs.initialValue );
-    }
-
-    bool operator!=( SemaphoreTypeCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::eSemaphoreTypeCreateInfo;
-    const void *                              pNext         = {};
-    VULKAN_HPP_NAMESPACE::SemaphoreType       semaphoreType = VULKAN_HPP_NAMESPACE::SemaphoreType::eBinary;
-    uint64_t                                  initialValue  = {};
-  };
-  static_assert( sizeof( SemaphoreTypeCreateInfo ) == sizeof( VkSemaphoreTypeCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SemaphoreTypeCreateInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSemaphoreTypeCreateInfo>
-  {
-    using Type = SemaphoreTypeCreateInfo;
-  };
-
-  struct SemaphoreWaitInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSemaphoreWaitInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SemaphoreWaitInfo( VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_          = {},
-                                            uint32_t                                 semaphoreCount_ = {},
-                                            const VULKAN_HPP_NAMESPACE::Semaphore *  pSemaphores_    = {},
-                                            const uint64_t *                         pValues_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , semaphoreCount( semaphoreCount_ )
-      , pSemaphores( pSemaphores_ )
-      , pValues( pValues_ )
-    {}
-
-    SemaphoreWaitInfo( VkSemaphoreWaitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SemaphoreWaitInfo(
-      VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags                                                     flags_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & semaphores_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const &                        values_ = {} )
-      : flags( flags_ )
-      , semaphoreCount( static_cast<uint32_t>( semaphores_.size() ) )
-      , pSemaphores( semaphores_.data() )
-      , pValues( values_.data() )
-    {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( semaphores_.size() == values_.size() );
-#    else
-      if ( semaphores_.size() != values_.size() )
-      {
-        throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                          "::SemaphoreWaitInfo::SemaphoreWaitInfo: semaphores_.size() != values_.size()" );
-      }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SemaphoreWaitInfo & operator=( VkSemaphoreWaitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo const *>( &rhs );
-      return *this;
-    }
-
-    SemaphoreWaitInfo & operator=( SemaphoreWaitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext          = rhs.pNext;
-      flags          = rhs.flags;
-      semaphoreCount = rhs.semaphoreCount;
-      pSemaphores    = rhs.pSemaphores;
-      pValues        = rhs.pValues;
-
-      return *this;
-    }
-
-    SemaphoreWaitInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SemaphoreWaitInfo & setFlags( VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    SemaphoreWaitInfo & setSemaphoreCount( uint32_t semaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphoreCount = semaphoreCount_;
-      return *this;
-    }
-
-    SemaphoreWaitInfo & setPSemaphores( const VULKAN_HPP_NAMESPACE::Semaphore * pSemaphores_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSemaphores = pSemaphores_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SemaphoreWaitInfo & setSemaphores(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & semaphores_ )
+  ScreenSurfaceCreateInfoQNX(VkScreenSurfaceCreateInfoQNX const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      semaphoreCount = static_cast<uint32_t>( semaphores_.size() );
-      pSemaphores    = semaphores_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+      : ScreenSurfaceCreateInfoQNX(
+            *reinterpret_cast<ScreenSurfaceCreateInfoQNX const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SemaphoreWaitInfo & setPValues( const uint64_t * pValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pValues = pValues_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ScreenSurfaceCreateInfoQNX &operator=(
+      ScreenSurfaceCreateInfoQNX const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SemaphoreWaitInfo &
-      setValues( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & values_ ) VULKAN_HPP_NOEXCEPT
-    {
-      semaphoreCount = static_cast<uint32_t>( values_.size() );
-      pValues        = values_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ScreenSurfaceCreateInfoQNX &
+  operator=(VkScreenSurfaceCreateInfoQNX const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const *>(&rhs);
+    return *this;
+  }
 
-    operator VkSemaphoreWaitInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSemaphoreWaitInfo *>( this );
-    }
+  ScreenSurfaceCreateInfoQNX &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkSemaphoreWaitInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSemaphoreWaitInfo *>( this );
-    }
+  ScreenSurfaceCreateInfoQNX &
+  setFlags(VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateFlagsQNX flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SemaphoreWaitInfo const & ) const = default;
+  ScreenSurfaceCreateInfoQNX &
+  setContext(struct _screen_context *context_) VULKAN_HPP_NOEXCEPT {
+    context = context_;
+    return *this;
+  }
+
+  ScreenSurfaceCreateInfoQNX &
+  setWindow(struct _screen_window *window_) VULKAN_HPP_NOEXCEPT {
+    window = window_;
+    return *this;
+  }
+
+  operator VkScreenSurfaceCreateInfoQNX const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>(this);
+  }
+
+  operator VkScreenSurfaceCreateInfoQNX &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkScreenSurfaceCreateInfoQNX *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ScreenSurfaceCreateInfoQNX const &) const = default;
 #else
-    bool operator==( SemaphoreWaitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( semaphoreCount == rhs.semaphoreCount ) && ( pSemaphores == rhs.pSemaphores ) &&
-             ( pValues == rhs.pValues );
-    }
+  bool
+  operator==(ScreenSurfaceCreateInfoQNX const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (context == rhs.context) &&
+           (window == rhs.window);
+  }
 
-    bool operator!=( SemaphoreWaitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(ScreenSurfaceCreateInfoQNX const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eSemaphoreWaitInfo;
-    const void *                              pNext          = {};
-    VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags  flags          = {};
-    uint32_t                                  semaphoreCount = {};
-    const VULKAN_HPP_NAMESPACE::Semaphore *   pSemaphores    = {};
-    const uint64_t *                          pValues        = {};
-  };
-  static_assert( sizeof( SemaphoreWaitInfo ) == sizeof( VkSemaphoreWaitInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SemaphoreWaitInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eScreenSurfaceCreateInfoQNX;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateFlagsQNX flags = {};
+  struct _screen_context *context = {};
+  struct _screen_window *window = {};
+};
+static_assert(sizeof(ScreenSurfaceCreateInfoQNX) ==
+                  sizeof(VkScreenSurfaceCreateInfoQNX),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ScreenSurfaceCreateInfoQNX>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSemaphoreWaitInfo>
-  {
-    using Type = SemaphoreWaitInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eScreenSurfaceCreateInfoQNX> {
+  using Type = ScreenSurfaceCreateInfoQNX;
+};
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
 
-  struct SetStateFlagsIndirectCommandNV
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SetStateFlagsIndirectCommandNV( uint32_t data_ = {} ) VULKAN_HPP_NOEXCEPT : data( data_ ) {}
+struct SemaphoreTypeCreateInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSemaphoreTypeCreateInfo;
 
-    SetStateFlagsIndirectCommandNV( VkSetStateFlagsIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SemaphoreTypeCreateInfo(VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType_ =
+                              VULKAN_HPP_NAMESPACE::SemaphoreType::eBinary,
+                          uint64_t initialValue_ = {}) VULKAN_HPP_NOEXCEPT
+      : semaphoreType(semaphoreType_),
+        initialValue(initialValue_) {}
 
-    SetStateFlagsIndirectCommandNV & operator=( VkSetStateFlagsIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR SemaphoreTypeCreateInfo(
+      SemaphoreTypeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SetStateFlagsIndirectCommandNV & setData( uint32_t data_ ) VULKAN_HPP_NOEXCEPT
-    {
-      data = data_;
-      return *this;
-    }
+  SemaphoreTypeCreateInfo(VkSemaphoreTypeCreateInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SemaphoreTypeCreateInfo(
+            *reinterpret_cast<SemaphoreTypeCreateInfo const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkSetStateFlagsIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSetStateFlagsIndirectCommandNV *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 SemaphoreTypeCreateInfo &
+  operator=(SemaphoreTypeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkSetStateFlagsIndirectCommandNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSetStateFlagsIndirectCommandNV *>( this );
-    }
+  SemaphoreTypeCreateInfo &
+  operator=(VkSemaphoreTypeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo const *>(&rhs);
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SetStateFlagsIndirectCommandNV const & ) const = default;
+  SemaphoreTypeCreateInfo &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  SemaphoreTypeCreateInfo &setSemaphoreType(
+      VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType_) VULKAN_HPP_NOEXCEPT {
+    semaphoreType = semaphoreType_;
+    return *this;
+  }
+
+  SemaphoreTypeCreateInfo &
+  setInitialValue(uint64_t initialValue_) VULKAN_HPP_NOEXCEPT {
+    initialValue = initialValue_;
+    return *this;
+  }
+
+  operator VkSemaphoreTypeCreateInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSemaphoreTypeCreateInfo *>(this);
+  }
+
+  operator VkSemaphoreTypeCreateInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSemaphoreTypeCreateInfo *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SemaphoreTypeCreateInfo const &) const = default;
 #else
-    bool operator==( SetStateFlagsIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( data == rhs.data );
-    }
+  bool
+  operator==(SemaphoreTypeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (semaphoreType == rhs.semaphoreType) &&
+           (initialValue == rhs.initialValue);
+  }
 
-    bool operator!=( SetStateFlagsIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(SemaphoreTypeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t data = {};
-  };
-  static_assert( sizeof( SetStateFlagsIndirectCommandNV ) == sizeof( VkSetStateFlagsIndirectCommandNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SetStateFlagsIndirectCommandNV>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSemaphoreTypeCreateInfo;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType =
+      VULKAN_HPP_NAMESPACE::SemaphoreType::eBinary;
+  uint64_t initialValue = {};
+};
+static_assert(sizeof(SemaphoreTypeCreateInfo) ==
+                  sizeof(VkSemaphoreTypeCreateInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SemaphoreTypeCreateInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct ShaderModuleCreateInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eShaderModuleCreateInfo;
+template <>
+struct CppType<StructureType, StructureType::eSemaphoreTypeCreateInfo> {
+  using Type = SemaphoreTypeCreateInfo;
+};
+using SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ShaderModuleCreateInfo( VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_    = {},
-                                                 size_t                                        codeSize_ = {},
-                                                 const uint32_t * pCode_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , codeSize( codeSize_ )
-      , pCode( pCode_ )
-    {}
+struct SetStateFlagsIndirectCommandNV {
 
-    ShaderModuleCreateInfo( VkShaderModuleCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  SetStateFlagsIndirectCommandNV(uint32_t data_ = {}) VULKAN_HPP_NOEXCEPT
+      : data(data_) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ShaderModuleCreateInfo( VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags                         flags_,
-                            VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & code_ )
-      : flags( flags_ ), codeSize( code_.size() * 4 ), pCode( code_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SetStateFlagsIndirectCommandNV(
+      SetStateFlagsIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ShaderModuleCreateInfo & operator=( VkShaderModuleCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const *>( &rhs );
-      return *this;
-    }
+  SetStateFlagsIndirectCommandNV(VkSetStateFlagsIndirectCommandNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SetStateFlagsIndirectCommandNV(
+            *reinterpret_cast<SetStateFlagsIndirectCommandNV const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ShaderModuleCreateInfo & operator=( ShaderModuleCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      flags    = rhs.flags;
-      codeSize = rhs.codeSize;
-      pCode    = rhs.pCode;
+  VULKAN_HPP_CONSTEXPR_14 SetStateFlagsIndirectCommandNV &operator=(
+      SetStateFlagsIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SetStateFlagsIndirectCommandNV &
+  operator=(VkSetStateFlagsIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV const *>(&rhs);
+    return *this;
+  }
 
-    ShaderModuleCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SetStateFlagsIndirectCommandNV &setData(uint32_t data_) VULKAN_HPP_NOEXCEPT {
+    data = data_;
+    return *this;
+  }
 
-    ShaderModuleCreateInfo & setFlags( VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  operator VkSetStateFlagsIndirectCommandNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSetStateFlagsIndirectCommandNV *>(this);
+  }
 
-    ShaderModuleCreateInfo & setCodeSize( size_t codeSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      codeSize = codeSize_;
-      return *this;
-    }
+  operator VkSetStateFlagsIndirectCommandNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSetStateFlagsIndirectCommandNV *>(this);
+  }
 
-    ShaderModuleCreateInfo & setPCode( const uint32_t * pCode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCode = pCode_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ShaderModuleCreateInfo &
-      setCode( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & code_ ) VULKAN_HPP_NOEXCEPT
-    {
-      codeSize = code_.size() * 4;
-      pCode    = code_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkShaderModuleCreateInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkShaderModuleCreateInfo *>( this );
-    }
-
-    operator VkShaderModuleCreateInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkShaderModuleCreateInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ShaderModuleCreateInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SetStateFlagsIndirectCommandNV const &) const = default;
 #else
-    bool operator==( ShaderModuleCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( codeSize == rhs.codeSize ) && ( pCode == rhs.pCode );
-    }
+  bool operator==(SetStateFlagsIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (data == rhs.data);
+  }
 
-    bool operator!=( ShaderModuleCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SetStateFlagsIndirectCommandNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType    = StructureType::eShaderModuleCreateInfo;
-    const void *                                  pNext    = {};
-    VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags    = {};
-    size_t                                        codeSize = {};
-    const uint32_t *                              pCode    = {};
-  };
-  static_assert( sizeof( ShaderModuleCreateInfo ) == sizeof( VkShaderModuleCreateInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ShaderModuleCreateInfo>::value, "struct wrapper is not a standard layout!" );
+public:
+  uint32_t data = {};
+};
+static_assert(sizeof(SetStateFlagsIndirectCommandNV) ==
+                  sizeof(VkSetStateFlagsIndirectCommandNV),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SetStateFlagsIndirectCommandNV>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eShaderModuleCreateInfo>
-  {
-    using Type = ShaderModuleCreateInfo;
-  };
-
-  struct ShaderModuleValidationCacheCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct ShaderModuleValidationCacheCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eShaderModuleValidationCacheCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ShaderModuleValidationCacheCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache_ = {} ) VULKAN_HPP_NOEXCEPT
-      : validationCache( validationCache_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ShaderModuleValidationCacheCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache_ = {})
+      VULKAN_HPP_NOEXCEPT : validationCache(validationCache_) {}
 
-    ShaderModuleValidationCacheCreateInfoEXT( VkShaderModuleValidationCacheCreateInfoEXT const & rhs )
+  VULKAN_HPP_CONSTEXPR ShaderModuleValidationCacheCreateInfoEXT(
+      ShaderModuleValidationCacheCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ShaderModuleValidationCacheCreateInfoEXT(
+      VkShaderModuleValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : ShaderModuleValidationCacheCreateInfoEXT(
+            *reinterpret_cast<ShaderModuleValidationCacheCreateInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 ShaderModuleValidationCacheCreateInfoEXT &
+  operator=(ShaderModuleValidationCacheCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ShaderModuleValidationCacheCreateInfoEXT &
+  operator=(VkShaderModuleValidationCacheCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT const *>(
+        &rhs);
+    return *this;
+  }
+
+  ShaderModuleValidationCacheCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  ShaderModuleValidationCacheCreateInfoEXT &
+  setValidationCache(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache_)
+      VULKAN_HPP_NOEXCEPT {
+    validationCache = validationCache_;
+    return *this;
+  }
+
+  operator VkShaderModuleValidationCacheCreateInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkShaderModuleValidationCacheCreateInfoEXT *>(this);
+  }
+
+  operator VkShaderModuleValidationCacheCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(ShaderModuleValidationCacheCreateInfoEXT const &) const = default;
+#else
+  bool operator==(ShaderModuleValidationCacheCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (validationCache == rhs.validationCache);
+  }
+
+  bool operator!=(ShaderModuleValidationCacheCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eShaderModuleValidationCacheCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache = {};
+};
+static_assert(sizeof(ShaderModuleValidationCacheCreateInfoEXT) ==
+                  sizeof(VkShaderModuleValidationCacheCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<ShaderModuleValidationCacheCreateInfoEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eShaderModuleValidationCacheCreateInfoEXT> {
+  using Type = ShaderModuleValidationCacheCreateInfoEXT;
+};
+
+struct ShaderResourceUsageAMD {
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ShaderResourceUsageAMD(
+      uint32_t numUsedVgprs_ = {}, uint32_t numUsedSgprs_ = {},
+      uint32_t ldsSizePerLocalWorkGroup_ = {}, size_t ldsUsageSizeInBytes_ = {},
+      size_t scratchMemUsageInBytes_ = {}) VULKAN_HPP_NOEXCEPT
+      : numUsedVgprs(numUsedVgprs_),
+        numUsedSgprs(numUsedSgprs_),
+        ldsSizePerLocalWorkGroup(ldsSizePerLocalWorkGroup_),
+        ldsUsageSizeInBytes(ldsUsageSizeInBytes_),
+        scratchMemUsageInBytes(scratchMemUsageInBytes_) {}
+
+  VULKAN_HPP_CONSTEXPR ShaderResourceUsageAMD(ShaderResourceUsageAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  ShaderResourceUsageAMD(VkShaderResourceUsageAMD const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : ShaderResourceUsageAMD(
+            *reinterpret_cast<ShaderResourceUsageAMD const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ShaderModuleValidationCacheCreateInfoEXT &
-      operator=( VkShaderModuleValidationCacheCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ShaderResourceUsageAMD &
+  operator=(ShaderResourceUsageAMD const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ShaderModuleValidationCacheCreateInfoEXT &
-      operator=( ShaderModuleValidationCacheCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      validationCache = rhs.validationCache;
+  ShaderResourceUsageAMD &
+  operator=(VkShaderResourceUsageAMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD const *>(
+            &rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  operator VkShaderResourceUsageAMD const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkShaderResourceUsageAMD *>(this);
+  }
 
-    ShaderModuleValidationCacheCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  operator VkShaderResourceUsageAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkShaderResourceUsageAMD *>(this);
+  }
 
-    ShaderModuleValidationCacheCreateInfoEXT &
-      setValidationCache( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache_ ) VULKAN_HPP_NOEXCEPT
-    {
-      validationCache = validationCache_;
-      return *this;
-    }
-
-    operator VkShaderModuleValidationCacheCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT *>( this );
-    }
-
-    operator VkShaderModuleValidationCacheCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ShaderModuleValidationCacheCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ShaderResourceUsageAMD const &) const = default;
 #else
-    bool operator==( ShaderModuleValidationCacheCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( validationCache == rhs.validationCache );
-    }
+  bool operator==(ShaderResourceUsageAMD const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (numUsedVgprs == rhs.numUsedVgprs) &&
+           (numUsedSgprs == rhs.numUsedSgprs) &&
+           (ldsSizePerLocalWorkGroup == rhs.ldsSizePerLocalWorkGroup) &&
+           (ldsUsageSizeInBytes == rhs.ldsUsageSizeInBytes) &&
+           (scratchMemUsageInBytes == rhs.scratchMemUsageInBytes);
+  }
 
-    bool operator!=( ShaderModuleValidationCacheCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ShaderResourceUsageAMD const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eShaderModuleValidationCacheCreateInfoEXT;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::ValidationCacheEXT  validationCache = {};
-  };
-  static_assert( sizeof( ShaderModuleValidationCacheCreateInfoEXT ) ==
-                   sizeof( VkShaderModuleValidationCacheCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ShaderModuleValidationCacheCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t numUsedVgprs = {};
+  uint32_t numUsedSgprs = {};
+  uint32_t ldsSizePerLocalWorkGroup = {};
+  size_t ldsUsageSizeInBytes = {};
+  size_t scratchMemUsageInBytes = {};
+};
+static_assert(sizeof(ShaderResourceUsageAMD) ==
+                  sizeof(VkShaderResourceUsageAMD),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ShaderResourceUsageAMD>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eShaderModuleValidationCacheCreateInfoEXT>
-  {
-    using Type = ShaderModuleValidationCacheCreateInfoEXT;
-  };
+struct ShaderStatisticsInfoAMD {
 
-  struct ShaderResourceUsageAMD
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ShaderResourceUsageAMD( uint32_t numUsedVgprs_             = {},
-                                                 uint32_t numUsedSgprs_             = {},
-                                                 uint32_t ldsSizePerLocalWorkGroup_ = {},
-                                                 size_t   ldsUsageSizeInBytes_      = {},
-                                                 size_t   scratchMemUsageInBytes_   = {} ) VULKAN_HPP_NOEXCEPT
-      : numUsedVgprs( numUsedVgprs_ )
-      , numUsedSgprs( numUsedSgprs_ )
-      , ldsSizePerLocalWorkGroup( ldsSizePerLocalWorkGroup_ )
-      , ldsUsageSizeInBytes( ldsUsageSizeInBytes_ )
-      , scratchMemUsageInBytes( scratchMemUsageInBytes_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR_14 ShaderStatisticsInfoAMD(
+      VULKAN_HPP_NAMESPACE::ShaderStageFlags shaderStageMask_ = {},
+      VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD resourceUsage_ = {},
+      uint32_t numPhysicalVgprs_ = {}, uint32_t numPhysicalSgprs_ = {},
+      uint32_t numAvailableVgprs_ = {}, uint32_t numAvailableSgprs_ = {},
+      std::array<uint32_t, 3> const &computeWorkGroupSize_ = {})
+      VULKAN_HPP_NOEXCEPT : shaderStageMask(shaderStageMask_),
+                            resourceUsage(resourceUsage_),
+                            numPhysicalVgprs(numPhysicalVgprs_),
+                            numPhysicalSgprs(numPhysicalSgprs_),
+                            numAvailableVgprs(numAvailableVgprs_),
+                            numAvailableSgprs(numAvailableSgprs_),
+                            computeWorkGroupSize(computeWorkGroupSize_) {}
 
-    ShaderResourceUsageAMD( VkShaderResourceUsageAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR_14 ShaderStatisticsInfoAMD(
+      ShaderStatisticsInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ShaderResourceUsageAMD & operator=( VkShaderResourceUsageAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD const *>( &rhs );
-      return *this;
-    }
+  ShaderStatisticsInfoAMD(VkShaderStatisticsInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : ShaderStatisticsInfoAMD(
+            *reinterpret_cast<ShaderStatisticsInfoAMD const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    operator VkShaderResourceUsageAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkShaderResourceUsageAMD *>( this );
-    }
+  VULKAN_HPP_CONSTEXPR_14 ShaderStatisticsInfoAMD &
+  operator=(ShaderStatisticsInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    operator VkShaderResourceUsageAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkShaderResourceUsageAMD *>( this );
-    }
+  ShaderStatisticsInfoAMD &
+  operator=(VkShaderStatisticsInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD const *>(&rhs);
+    return *this;
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ShaderResourceUsageAMD const & ) const = default;
+  operator VkShaderStatisticsInfoAMD const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkShaderStatisticsInfoAMD *>(this);
+  }
+
+  operator VkShaderStatisticsInfoAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkShaderStatisticsInfoAMD *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ShaderStatisticsInfoAMD const &) const = default;
 #else
-    bool operator==( ShaderResourceUsageAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( numUsedVgprs == rhs.numUsedVgprs ) && ( numUsedSgprs == rhs.numUsedSgprs ) &&
-             ( ldsSizePerLocalWorkGroup == rhs.ldsSizePerLocalWorkGroup ) &&
-             ( ldsUsageSizeInBytes == rhs.ldsUsageSizeInBytes ) &&
-             ( scratchMemUsageInBytes == rhs.scratchMemUsageInBytes );
-    }
+  bool
+  operator==(ShaderStatisticsInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (shaderStageMask == rhs.shaderStageMask) &&
+           (resourceUsage == rhs.resourceUsage) &&
+           (numPhysicalVgprs == rhs.numPhysicalVgprs) &&
+           (numPhysicalSgprs == rhs.numPhysicalSgprs) &&
+           (numAvailableVgprs == rhs.numAvailableVgprs) &&
+           (numAvailableSgprs == rhs.numAvailableSgprs) &&
+           (computeWorkGroupSize == rhs.computeWorkGroupSize);
+  }
 
-    bool operator!=( ShaderResourceUsageAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(ShaderStatisticsInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    uint32_t numUsedVgprs             = {};
-    uint32_t numUsedSgprs             = {};
-    uint32_t ldsSizePerLocalWorkGroup = {};
-    size_t   ldsUsageSizeInBytes      = {};
-    size_t   scratchMemUsageInBytes   = {};
-  };
-  static_assert( sizeof( ShaderResourceUsageAMD ) == sizeof( VkShaderResourceUsageAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ShaderResourceUsageAMD>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::ShaderStageFlags shaderStageMask = {};
+  VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD resourceUsage = {};
+  uint32_t numPhysicalVgprs = {};
+  uint32_t numPhysicalSgprs = {};
+  uint32_t numAvailableVgprs = {};
+  uint32_t numAvailableSgprs = {};
+  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> computeWorkGroupSize = {};
+};
+static_assert(sizeof(ShaderStatisticsInfoAMD) ==
+                  sizeof(VkShaderStatisticsInfoAMD),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ShaderStatisticsInfoAMD>::value,
+              "struct wrapper is not a standard layout!");
 
-  struct ShaderStatisticsInfoAMD
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR_14
-    ShaderStatisticsInfoAMD( VULKAN_HPP_NAMESPACE::ShaderStageFlags       shaderStageMask_   = {},
-                             VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD resourceUsage_     = {},
-                             uint32_t                                     numPhysicalVgprs_  = {},
-                             uint32_t                                     numPhysicalSgprs_  = {},
-                             uint32_t                                     numAvailableVgprs_ = {},
-                             uint32_t                                     numAvailableSgprs_ = {},
-                             std::array<uint32_t, 3> const & computeWorkGroupSize_           = {} ) VULKAN_HPP_NOEXCEPT
-      : shaderStageMask( shaderStageMask_ )
-      , resourceUsage( resourceUsage_ )
-      , numPhysicalVgprs( numPhysicalVgprs_ )
-      , numPhysicalSgprs( numPhysicalSgprs_ )
-      , numAvailableVgprs( numAvailableVgprs_ )
-      , numAvailableSgprs( numAvailableSgprs_ )
-      , computeWorkGroupSize( computeWorkGroupSize_ )
-    {}
-
-    ShaderStatisticsInfoAMD( VkShaderStatisticsInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ShaderStatisticsInfoAMD & operator=( VkShaderStatisticsInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD const *>( &rhs );
-      return *this;
-    }
-
-    operator VkShaderStatisticsInfoAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkShaderStatisticsInfoAMD *>( this );
-    }
-
-    operator VkShaderStatisticsInfoAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkShaderStatisticsInfoAMD *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ShaderStatisticsInfoAMD const & ) const = default;
-#else
-    bool operator==( ShaderStatisticsInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( shaderStageMask == rhs.shaderStageMask ) && ( resourceUsage == rhs.resourceUsage ) &&
-             ( numPhysicalVgprs == rhs.numPhysicalVgprs ) && ( numPhysicalSgprs == rhs.numPhysicalSgprs ) &&
-             ( numAvailableVgprs == rhs.numAvailableVgprs ) && ( numAvailableSgprs == rhs.numAvailableSgprs ) &&
-             ( computeWorkGroupSize == rhs.computeWorkGroupSize );
-    }
-
-    bool operator!=( ShaderStatisticsInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ShaderStageFlags            shaderStageMask      = {};
-    VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD      resourceUsage        = {};
-    uint32_t                                          numPhysicalVgprs     = {};
-    uint32_t                                          numPhysicalSgprs     = {};
-    uint32_t                                          numAvailableVgprs    = {};
-    uint32_t                                          numAvailableSgprs    = {};
-    VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, 3> computeWorkGroupSize = {};
-  };
-  static_assert( sizeof( ShaderStatisticsInfoAMD ) == sizeof( VkShaderStatisticsInfoAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ShaderStatisticsInfoAMD>::value, "struct wrapper is not a standard layout!" );
-
-  struct SharedPresentSurfaceCapabilitiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct SharedPresentSurfaceCapabilitiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSharedPresentSurfaceCapabilitiesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SharedPresentSurfaceCapabilitiesKHR(
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags sharedPresentSupportedUsageFlags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : sharedPresentSupportedUsageFlags( sharedPresentSupportedUsageFlags_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SharedPresentSurfaceCapabilitiesKHR(
+      VULKAN_HPP_NAMESPACE::ImageUsageFlags sharedPresentSupportedUsageFlags_ =
+          {}) VULKAN_HPP_NOEXCEPT
+      : sharedPresentSupportedUsageFlags(sharedPresentSupportedUsageFlags_) {}
 
-    SharedPresentSurfaceCapabilitiesKHR( VkSharedPresentSurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SharedPresentSurfaceCapabilitiesKHR(
+      SharedPresentSurfaceCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SharedPresentSurfaceCapabilitiesKHR &
-      operator=( VkSharedPresentSurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR const *>( &rhs );
-      return *this;
-    }
+  SharedPresentSurfaceCapabilitiesKHR(
+      VkSharedPresentSurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : SharedPresentSurfaceCapabilitiesKHR(
+            *reinterpret_cast<SharedPresentSurfaceCapabilitiesKHR const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SharedPresentSurfaceCapabilitiesKHR &
-      operator=( SharedPresentSurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                            = rhs.pNext;
-      sharedPresentSupportedUsageFlags = rhs.sharedPresentSupportedUsageFlags;
+  VULKAN_HPP_CONSTEXPR_14 SharedPresentSurfaceCapabilitiesKHR &
+  operator=(SharedPresentSurfaceCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SharedPresentSurfaceCapabilitiesKHR &operator=(
+      VkSharedPresentSurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkSharedPresentSurfaceCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR *>( this );
-    }
+  operator VkSharedPresentSurfaceCapabilitiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR *>(
+        this);
+  }
 
-    operator VkSharedPresentSurfaceCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR *>( this );
-    }
+  operator VkSharedPresentSurfaceCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SharedPresentSurfaceCapabilitiesKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SharedPresentSurfaceCapabilitiesKHR const &) const = default;
 #else
-    bool operator==( SharedPresentSurfaceCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( sharedPresentSupportedUsageFlags == rhs.sharedPresentSupportedUsageFlags );
-    }
+  bool operator==(SharedPresentSurfaceCapabilitiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (sharedPresentSupportedUsageFlags ==
+            rhs.sharedPresentSupportedUsageFlags);
+  }
 
-    bool operator!=( SharedPresentSurfaceCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SharedPresentSurfaceCapabilitiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSharedPresentSurfaceCapabilitiesKHR;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags     sharedPresentSupportedUsageFlags = {};
-  };
-  static_assert( sizeof( SharedPresentSurfaceCapabilitiesKHR ) == sizeof( VkSharedPresentSurfaceCapabilitiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SharedPresentSurfaceCapabilitiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSharedPresentSurfaceCapabilitiesKHR;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ImageUsageFlags sharedPresentSupportedUsageFlags = {};
+};
+static_assert(sizeof(SharedPresentSurfaceCapabilitiesKHR) ==
+                  sizeof(VkSharedPresentSurfaceCapabilitiesKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SharedPresentSurfaceCapabilitiesKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSharedPresentSurfaceCapabilitiesKHR>
-  {
-    using Type = SharedPresentSurfaceCapabilitiesKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSharedPresentSurfaceCapabilitiesKHR> {
+  using Type = SharedPresentSurfaceCapabilitiesKHR;
+};
 
-  struct SparseImageFormatProperties
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SparseImageFormatProperties( VULKAN_HPP_NAMESPACE::ImageAspectFlags       aspectMask_       = {},
-                                 VULKAN_HPP_NAMESPACE::Extent3D               imageGranularity_ = {},
-                                 VULKAN_HPP_NAMESPACE::SparseImageFormatFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : aspectMask( aspectMask_ )
-      , imageGranularity( imageGranularity_ )
-      , flags( flags_ )
-    {}
-
-    SparseImageFormatProperties( VkSparseImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SparseImageFormatProperties & operator=( VkSparseImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties const *>( &rhs );
-      return *this;
-    }
-
-    operator VkSparseImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseImageFormatProperties *>( this );
-    }
-
-    operator VkSparseImageFormatProperties &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseImageFormatProperties *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseImageFormatProperties const & ) const = default;
-#else
-    bool operator==( SparseImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( aspectMask == rhs.aspectMask ) && ( imageGranularity == rhs.imageGranularity ) && ( flags == rhs.flags );
-    }
-
-    bool operator!=( SparseImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::ImageAspectFlags       aspectMask       = {};
-    VULKAN_HPP_NAMESPACE::Extent3D               imageGranularity = {};
-    VULKAN_HPP_NAMESPACE::SparseImageFormatFlags flags            = {};
-  };
-  static_assert( sizeof( SparseImageFormatProperties ) == sizeof( VkSparseImageFormatProperties ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseImageFormatProperties>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct SparseImageFormatProperties2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSparseImageFormatProperties2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SparseImageFormatProperties2(
-      VULKAN_HPP_NAMESPACE::SparseImageFormatProperties properties_ = {} ) VULKAN_HPP_NOEXCEPT
-      : properties( properties_ )
-    {}
-
-    SparseImageFormatProperties2( VkSparseImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SparseImageFormatProperties2 & operator=( VkSparseImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 const *>( &rhs );
-      return *this;
-    }
-
-    SparseImageFormatProperties2 & operator=( SparseImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      properties = rhs.properties;
-
-      return *this;
-    }
-
-    operator VkSparseImageFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseImageFormatProperties2 *>( this );
-    }
-
-    operator VkSparseImageFormatProperties2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseImageFormatProperties2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseImageFormatProperties2 const & ) const = default;
-#else
-    bool operator==( SparseImageFormatProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( properties == rhs.properties );
-    }
-
-    bool operator!=( SparseImageFormatProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType      = StructureType::eSparseImageFormatProperties2;
-    void *                                            pNext      = {};
-    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties properties = {};
-  };
-  static_assert( sizeof( SparseImageFormatProperties2 ) == sizeof( VkSparseImageFormatProperties2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseImageFormatProperties2>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSparseImageFormatProperties2>
-  {
-    using Type = SparseImageFormatProperties2;
-  };
-
-  struct SparseImageMemoryRequirements
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SparseImageMemoryRequirements( VULKAN_HPP_NAMESPACE::SparseImageFormatProperties formatProperties_     = {},
-                                   uint32_t                                          imageMipTailFirstLod_ = {},
-                                   VULKAN_HPP_NAMESPACE::DeviceSize                  imageMipTailSize_     = {},
-                                   VULKAN_HPP_NAMESPACE::DeviceSize                  imageMipTailOffset_   = {},
-                                   VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailStride_ = {} ) VULKAN_HPP_NOEXCEPT
-      : formatProperties( formatProperties_ )
-      , imageMipTailFirstLod( imageMipTailFirstLod_ )
-      , imageMipTailSize( imageMipTailSize_ )
-      , imageMipTailOffset( imageMipTailOffset_ )
-      , imageMipTailStride( imageMipTailStride_ )
-    {}
-
-    SparseImageMemoryRequirements( VkSparseImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SparseImageMemoryRequirements & operator=( VkSparseImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements const *>( &rhs );
-      return *this;
-    }
-
-    operator VkSparseImageMemoryRequirements const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseImageMemoryRequirements *>( this );
-    }
-
-    operator VkSparseImageMemoryRequirements &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseImageMemoryRequirements *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseImageMemoryRequirements const & ) const = default;
-#else
-    bool operator==( SparseImageMemoryRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( formatProperties == rhs.formatProperties ) && ( imageMipTailFirstLod == rhs.imageMipTailFirstLod ) &&
-             ( imageMipTailSize == rhs.imageMipTailSize ) && ( imageMipTailOffset == rhs.imageMipTailOffset ) &&
-             ( imageMipTailStride == rhs.imageMipTailStride );
-    }
-
-    bool operator!=( SparseImageMemoryRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties formatProperties     = {};
-    uint32_t                                          imageMipTailFirstLod = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  imageMipTailSize     = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  imageMipTailOffset   = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize                  imageMipTailStride   = {};
-  };
-  static_assert( sizeof( SparseImageMemoryRequirements ) == sizeof( VkSparseImageMemoryRequirements ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseImageMemoryRequirements>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  struct SparseImageMemoryRequirements2
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSparseImageMemoryRequirements2;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements2(
-      VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements memoryRequirements_ = {} ) VULKAN_HPP_NOEXCEPT
-      : memoryRequirements( memoryRequirements_ )
-    {}
-
-    SparseImageMemoryRequirements2( VkSparseImageMemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SparseImageMemoryRequirements2 & operator=( VkSparseImageMemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 const *>( &rhs );
-      return *this;
-    }
-
-    SparseImageMemoryRequirements2 & operator=( SparseImageMemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      memoryRequirements = rhs.memoryRequirements;
-
-      return *this;
-    }
-
-    operator VkSparseImageMemoryRequirements2 const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSparseImageMemoryRequirements2 *>( this );
-    }
-
-    operator VkSparseImageMemoryRequirements2 &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSparseImageMemoryRequirements2 *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SparseImageMemoryRequirements2 const & ) const = default;
-#else
-    bool operator==( SparseImageMemoryRequirements2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryRequirements == rhs.memoryRequirements );
-    }
-
-    bool operator!=( SparseImageMemoryRequirements2 const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType = StructureType::eSparseImageMemoryRequirements2;
-    void *                                              pNext = {};
-    VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements memoryRequirements = {};
-  };
-  static_assert( sizeof( SparseImageMemoryRequirements2 ) == sizeof( VkSparseImageMemoryRequirements2 ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SparseImageMemoryRequirements2>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSparseImageMemoryRequirements2>
-  {
-    using Type = SparseImageMemoryRequirements2;
-  };
-
-#ifdef VK_USE_PLATFORM_GGP
-  struct StreamDescriptorSurfaceCreateInfoGGP
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_GGP)
+struct StreamDescriptorSurfaceCreateInfoGGP {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eStreamDescriptorSurfaceCreateInfoGGP;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    StreamDescriptorSurfaceCreateInfoGGP( VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags_ = {},
-                                          GgpStreamDescriptor streamDescriptor_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , streamDescriptor( streamDescriptor_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR StreamDescriptorSurfaceCreateInfoGGP(
+      VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags_ = {},
+      GgpStreamDescriptor streamDescriptor_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        streamDescriptor(streamDescriptor_) {}
 
-    StreamDescriptorSurfaceCreateInfoGGP( VkStreamDescriptorSurfaceCreateInfoGGP const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR StreamDescriptorSurfaceCreateInfoGGP(
+      StreamDescriptorSurfaceCreateInfoGGP const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    StreamDescriptorSurfaceCreateInfoGGP &
-      operator=( VkStreamDescriptorSurfaceCreateInfoGGP const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const *>( &rhs );
-      return *this;
-    }
+  StreamDescriptorSurfaceCreateInfoGGP(
+      VkStreamDescriptorSurfaceCreateInfoGGP const &rhs) VULKAN_HPP_NOEXCEPT
+      : StreamDescriptorSurfaceCreateInfoGGP(
+            *reinterpret_cast<StreamDescriptorSurfaceCreateInfoGGP const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    StreamDescriptorSurfaceCreateInfoGGP &
-      operator=( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      flags            = rhs.flags;
-      streamDescriptor = rhs.streamDescriptor;
+  VULKAN_HPP_CONSTEXPR_14 StreamDescriptorSurfaceCreateInfoGGP &
+  operator=(StreamDescriptorSurfaceCreateInfoGGP const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  StreamDescriptorSurfaceCreateInfoGGP &operator=(
+      VkStreamDescriptorSurfaceCreateInfoGGP const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const *>(
+        &rhs);
+    return *this;
+  }
 
-    StreamDescriptorSurfaceCreateInfoGGP & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  StreamDescriptorSurfaceCreateInfoGGP &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    StreamDescriptorSurfaceCreateInfoGGP &
-      setFlags( VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  StreamDescriptorSurfaceCreateInfoGGP &
+  setFlags(VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    StreamDescriptorSurfaceCreateInfoGGP &
-      setStreamDescriptor( GgpStreamDescriptor streamDescriptor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      streamDescriptor = streamDescriptor_;
-      return *this;
-    }
+  StreamDescriptorSurfaceCreateInfoGGP &setStreamDescriptor(
+      GgpStreamDescriptor streamDescriptor_) VULKAN_HPP_NOEXCEPT {
+    streamDescriptor = streamDescriptor_;
+    return *this;
+  }
 
-    operator VkStreamDescriptorSurfaceCreateInfoGGP const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( this );
-    }
+  operator VkStreamDescriptorSurfaceCreateInfoGGP const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>(
+        this);
+  }
 
-    operator VkStreamDescriptorSurfaceCreateInfoGGP &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkStreamDescriptorSurfaceCreateInfoGGP *>( this );
-    }
+  operator VkStreamDescriptorSurfaceCreateInfoGGP &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkStreamDescriptorSurfaceCreateInfoGGP *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( StreamDescriptorSurfaceCreateInfoGGP const & ) const = default;
-#  else
-    bool operator==( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( memcmp( &streamDescriptor, &rhs.streamDescriptor, sizeof( GgpStreamDescriptor ) ) == 0 );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(StreamDescriptorSurfaceCreateInfoGGP const &) const = default;
+#else
+  bool operator==(StreamDescriptorSurfaceCreateInfoGGP const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) &&
+           (memcmp(&streamDescriptor, &rhs.streamDescriptor,
+                   sizeof(GgpStreamDescriptor)) == 0);
+  }
 
-    bool operator!=( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(StreamDescriptorSurfaceCreateInfoGGP const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eStreamDescriptorSurfaceCreateInfoGGP;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags            = {};
-    GgpStreamDescriptor                                         streamDescriptor = {};
-  };
-  static_assert( sizeof( StreamDescriptorSurfaceCreateInfoGGP ) == sizeof( VkStreamDescriptorSurfaceCreateInfoGGP ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<StreamDescriptorSurfaceCreateInfoGGP>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eStreamDescriptorSurfaceCreateInfoGGP;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags = {};
+  GgpStreamDescriptor streamDescriptor = {};
+};
+static_assert(sizeof(StreamDescriptorSurfaceCreateInfoGGP) ==
+                  sizeof(VkStreamDescriptorSurfaceCreateInfoGGP),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<StreamDescriptorSurfaceCreateInfoGGP>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eStreamDescriptorSurfaceCreateInfoGGP>
-  {
-    using Type = StreamDescriptorSurfaceCreateInfoGGP;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eStreamDescriptorSurfaceCreateInfoGGP> {
+  using Type = StreamDescriptorSurfaceCreateInfoGGP;
+};
 #endif /*VK_USE_PLATFORM_GGP*/
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct StridedBufferRegionKHR
-  {
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR StridedBufferRegionKHR( VULKAN_HPP_NAMESPACE::Buffer     buffer_ = {},
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize stride_ = {},
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize size_   = {} ) VULKAN_HPP_NOEXCEPT
-      : buffer( buffer_ )
-      , offset( offset_ )
-      , stride( stride_ )
-      , size( size_ )
-    {}
-
-    StridedBufferRegionKHR( VkStridedBufferRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-    explicit StridedBufferRegionKHR( IndirectCommandsStreamNV const & indirectCommandsStreamNV,
-                                     VULKAN_HPP_NAMESPACE::DeviceSize stride_ = {},
-                                     VULKAN_HPP_NAMESPACE::DeviceSize size_   = {} )
-      : buffer( indirectCommandsStreamNV.buffer )
-      , offset( indirectCommandsStreamNV.offset )
-      , stride( stride_ )
-      , size( size_ )
-    {}
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    StridedBufferRegionKHR & operator=( VkStridedBufferRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR const *>( &rhs );
-      return *this;
-    }
-
-    StridedBufferRegionKHR & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
-    {
-      buffer = buffer_;
-      return *this;
-    }
-
-    StridedBufferRegionKHR & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
-    {
-      offset = offset_;
-      return *this;
-    }
-
-    StridedBufferRegionKHR & setStride( VULKAN_HPP_NAMESPACE::DeviceSize stride_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stride = stride_;
-      return *this;
-    }
-
-    StridedBufferRegionKHR & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
-    {
-      size = size_;
-      return *this;
-    }
-
-    operator VkStridedBufferRegionKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkStridedBufferRegionKHR *>( this );
-    }
-
-    operator VkStridedBufferRegionKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkStridedBufferRegionKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( StridedBufferRegionKHR const & ) const = default;
-#  else
-    bool operator==( StridedBufferRegionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( stride == rhs.stride ) && ( size == rhs.size );
-    }
-
-    bool operator!=( StridedBufferRegionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Buffer     buffer = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize stride = {};
-    VULKAN_HPP_NAMESPACE::DeviceSize size   = {};
-  };
-  static_assert( sizeof( StridedBufferRegionKHR ) == sizeof( VkStridedBufferRegionKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<StridedBufferRegionKHR>::value, "struct wrapper is not a standard layout!" );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  struct SubmitInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSubmitInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SubmitInfo( uint32_t                                         waitSemaphoreCount_   = {},
-                const VULKAN_HPP_NAMESPACE::Semaphore *          pWaitSemaphores_      = {},
-                const VULKAN_HPP_NAMESPACE::PipelineStageFlags * pWaitDstStageMask_    = {},
-                uint32_t                                         commandBufferCount_   = {},
-                const VULKAN_HPP_NAMESPACE::CommandBuffer *      pCommandBuffers_      = {},
-                uint32_t                                         signalSemaphoreCount_ = {},
-                const VULKAN_HPP_NAMESPACE::Semaphore *          pSignalSemaphores_    = {} ) VULKAN_HPP_NOEXCEPT
-      : waitSemaphoreCount( waitSemaphoreCount_ )
-      , pWaitSemaphores( pWaitSemaphores_ )
-      , pWaitDstStageMask( pWaitDstStageMask_ )
-      , commandBufferCount( commandBufferCount_ )
-      , pCommandBuffers( pCommandBuffers_ )
-      , signalSemaphoreCount( signalSemaphoreCount_ )
-      , pSignalSemaphores( pSignalSemaphores_ )
-    {}
-
-    SubmitInfo( VkSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubmitInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & waitSemaphores_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineStageFlags> const &
-        waitDstStageMask_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::CommandBuffer> const &
-        commandBuffers_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const &
-        signalSemaphores_ = {} )
-      : waitSemaphoreCount( static_cast<uint32_t>( waitSemaphores_.size() ) )
-      , pWaitSemaphores( waitSemaphores_.data() )
-      , pWaitDstStageMask( waitDstStageMask_.data() )
-      , commandBufferCount( static_cast<uint32_t>( commandBuffers_.size() ) )
-      , pCommandBuffers( commandBuffers_.data() )
-      , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphores_.size() ) )
-      , pSignalSemaphores( signalSemaphores_.data() )
-    {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( waitSemaphores_.size() == waitDstStageMask_.size() );
-#    else
-      if ( waitSemaphores_.size() != waitDstStageMask_.size() )
-      {
-        throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                          "::SubmitInfo::SubmitInfo: waitSemaphores_.size() != waitDstStageMask_.size()" );
-      }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubmitInfo & operator=( VkSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubmitInfo const *>( &rhs );
-      return *this;
-    }
-
-    SubmitInfo & operator=( SubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                = rhs.pNext;
-      waitSemaphoreCount   = rhs.waitSemaphoreCount;
-      pWaitSemaphores      = rhs.pWaitSemaphores;
-      pWaitDstStageMask    = rhs.pWaitDstStageMask;
-      commandBufferCount   = rhs.commandBufferCount;
-      pCommandBuffers      = rhs.pCommandBuffers;
-      signalSemaphoreCount = rhs.signalSemaphoreCount;
-      pSignalSemaphores    = rhs.pSignalSemaphores;
-
-      return *this;
-    }
-
-    SubmitInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SubmitInfo & setWaitSemaphoreCount( uint32_t waitSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = waitSemaphoreCount_;
-      return *this;
-    }
-
-    SubmitInfo & setPWaitSemaphores( const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pWaitSemaphores = pWaitSemaphores_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubmitInfo & setWaitSemaphores(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & waitSemaphores_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = static_cast<uint32_t>( waitSemaphores_.size() );
-      pWaitSemaphores    = waitSemaphores_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubmitInfo &
-      setPWaitDstStageMask( const VULKAN_HPP_NAMESPACE::PipelineStageFlags * pWaitDstStageMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pWaitDstStageMask = pWaitDstStageMask_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubmitInfo & setWaitDstStageMask(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::PipelineStageFlags> const &
-        waitDstStageMask_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreCount = static_cast<uint32_t>( waitDstStageMask_.size() );
-      pWaitDstStageMask  = waitDstStageMask_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubmitInfo & setCommandBufferCount( uint32_t commandBufferCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      commandBufferCount = commandBufferCount_;
-      return *this;
-    }
-
-    SubmitInfo & setPCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pCommandBuffers = pCommandBuffers_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubmitInfo & setCommandBuffers(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      commandBufferCount = static_cast<uint32_t>( commandBuffers_.size() );
-      pCommandBuffers    = commandBuffers_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SubmitInfo & setSignalSemaphoreCount( uint32_t signalSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreCount = signalSemaphoreCount_;
-      return *this;
-    }
-
-    SubmitInfo & setPSignalSemaphores( const VULKAN_HPP_NAMESPACE::Semaphore * pSignalSemaphores_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSignalSemaphores = pSignalSemaphores_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SubmitInfo & setSignalSemaphores(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Semaphore> const & signalSemaphores_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreCount = static_cast<uint32_t>( signalSemaphores_.size() );
-      pSignalSemaphores    = signalSemaphores_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkSubmitInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubmitInfo *>( this );
-    }
-
-    operator VkSubmitInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubmitInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubmitInfo const & ) const = default;
-#else
-    bool operator==( SubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
-             ( pWaitSemaphores == rhs.pWaitSemaphores ) && ( pWaitDstStageMask == rhs.pWaitDstStageMask ) &&
-             ( commandBufferCount == rhs.commandBufferCount ) && ( pCommandBuffers == rhs.pCommandBuffers ) &&
-             ( signalSemaphoreCount == rhs.signalSemaphoreCount ) && ( pSignalSemaphores == rhs.pSignalSemaphores );
-    }
-
-    bool operator!=( SubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType                = StructureType::eSubmitInfo;
-    const void *                                     pNext                = {};
-    uint32_t                                         waitSemaphoreCount   = {};
-    const VULKAN_HPP_NAMESPACE::Semaphore *          pWaitSemaphores      = {};
-    const VULKAN_HPP_NAMESPACE::PipelineStageFlags * pWaitDstStageMask    = {};
-    uint32_t                                         commandBufferCount   = {};
-    const VULKAN_HPP_NAMESPACE::CommandBuffer *      pCommandBuffers      = {};
-    uint32_t                                         signalSemaphoreCount = {};
-    const VULKAN_HPP_NAMESPACE::Semaphore *          pSignalSemaphores    = {};
-  };
-  static_assert( sizeof( SubmitInfo ) == sizeof( VkSubmitInfo ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubmitInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSubmitInfo>
-  {
-    using Type = SubmitInfo;
-  };
-
-  struct SubpassBeginInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSubpassBeginInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubpassBeginInfo( VULKAN_HPP_NAMESPACE::SubpassContents contents_ =
-                                             VULKAN_HPP_NAMESPACE::SubpassContents::eInline ) VULKAN_HPP_NOEXCEPT
-      : contents( contents_ )
-    {}
-
-    SubpassBeginInfo( VkSubpassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubpassBeginInfo & operator=( VkSubpassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassBeginInfo const *>( &rhs );
-      return *this;
-    }
-
-    SubpassBeginInfo & operator=( SubpassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      contents = rhs.contents;
-
-      return *this;
-    }
-
-    SubpassBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SubpassBeginInfo & setContents( VULKAN_HPP_NAMESPACE::SubpassContents contents_ ) VULKAN_HPP_NOEXCEPT
-    {
-      contents = contents_;
-      return *this;
-    }
-
-    operator VkSubpassBeginInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassBeginInfo *>( this );
-    }
-
-    operator VkSubpassBeginInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassBeginInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassBeginInfo const & ) const = default;
-#else
-    bool operator==( SubpassBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( contents == rhs.contents );
-    }
-
-    bool operator!=( SubpassBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::eSubpassBeginInfo;
-    const void *                              pNext    = {};
-    VULKAN_HPP_NAMESPACE::SubpassContents     contents = VULKAN_HPP_NAMESPACE::SubpassContents::eInline;
-  };
-  static_assert( sizeof( SubpassBeginInfo ) == sizeof( VkSubpassBeginInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassBeginInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSubpassBeginInfo>
-  {
-    using Type = SubpassBeginInfo;
-  };
-
-  struct SubpassDescriptionDepthStencilResolve
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct SubpassDescriptionDepthStencilResolve {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSubpassDescriptionDepthStencilResolve;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubpassDescriptionDepthStencilResolve(
-      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode_   = VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone,
-      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode_ = VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone,
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilResolveAttachment_ = {} ) VULKAN_HPP_NOEXCEPT
-      : depthResolveMode( depthResolveMode_ )
-      , stencilResolveMode( stencilResolveMode_ )
-      , pDepthStencilResolveAttachment( pDepthStencilResolveAttachment_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SubpassDescriptionDepthStencilResolve(
+      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode_ =
+          VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone,
+      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode_ =
+          VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone,
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2
+          *pDepthStencilResolveAttachment_ = {}) VULKAN_HPP_NOEXCEPT
+      : depthResolveMode(depthResolveMode_),
+        stencilResolveMode(stencilResolveMode_),
+        pDepthStencilResolveAttachment(pDepthStencilResolveAttachment_) {}
 
-    SubpassDescriptionDepthStencilResolve( VkSubpassDescriptionDepthStencilResolve const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SubpassDescriptionDepthStencilResolve(
+      SubpassDescriptionDepthStencilResolve const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SubpassDescriptionDepthStencilResolve &
-      operator=( VkSubpassDescriptionDepthStencilResolve const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve const *>( &rhs );
-      return *this;
-    }
+  SubpassDescriptionDepthStencilResolve(
+      VkSubpassDescriptionDepthStencilResolve const &rhs) VULKAN_HPP_NOEXCEPT
+      : SubpassDescriptionDepthStencilResolve(
+            *reinterpret_cast<SubpassDescriptionDepthStencilResolve const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SubpassDescriptionDepthStencilResolve &
-      operator=( SubpassDescriptionDepthStencilResolve const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                          = rhs.pNext;
-      depthResolveMode               = rhs.depthResolveMode;
-      stencilResolveMode             = rhs.stencilResolveMode;
-      pDepthStencilResolveAttachment = rhs.pDepthStencilResolveAttachment;
+  VULKAN_HPP_CONSTEXPR_14 SubpassDescriptionDepthStencilResolve &
+  operator=(SubpassDescriptionDepthStencilResolve const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SubpassDescriptionDepthStencilResolve &operator=(
+      VkSubpassDescriptionDepthStencilResolve const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve const *>(
+        &rhs);
+    return *this;
+  }
 
-    SubpassDescriptionDepthStencilResolve & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SubpassDescriptionDepthStencilResolve &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SubpassDescriptionDepthStencilResolve &
-      setDepthResolveMode( VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depthResolveMode = depthResolveMode_;
-      return *this;
-    }
+  SubpassDescriptionDepthStencilResolve &setDepthResolveMode(
+      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode_)
+      VULKAN_HPP_NOEXCEPT {
+    depthResolveMode = depthResolveMode_;
+    return *this;
+  }
 
-    SubpassDescriptionDepthStencilResolve &
-      setStencilResolveMode( VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      stencilResolveMode = stencilResolveMode_;
-      return *this;
-    }
+  SubpassDescriptionDepthStencilResolve &setStencilResolveMode(
+      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode_)
+      VULKAN_HPP_NOEXCEPT {
+    stencilResolveMode = stencilResolveMode_;
+    return *this;
+  }
 
-    SubpassDescriptionDepthStencilResolve & setPDepthStencilResolveAttachment(
-      const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilResolveAttachment_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDepthStencilResolveAttachment = pDepthStencilResolveAttachment_;
-      return *this;
-    }
+  SubpassDescriptionDepthStencilResolve &setPDepthStencilResolveAttachment(
+      const VULKAN_HPP_NAMESPACE::AttachmentReference2
+          *pDepthStencilResolveAttachment_) VULKAN_HPP_NOEXCEPT {
+    pDepthStencilResolveAttachment = pDepthStencilResolveAttachment_;
+    return *this;
+  }
 
-    operator VkSubpassDescriptionDepthStencilResolve const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve *>( this );
-    }
+  operator VkSubpassDescriptionDepthStencilResolve const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve *>(
+        this);
+  }
 
-    operator VkSubpassDescriptionDepthStencilResolve &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassDescriptionDepthStencilResolve *>( this );
-    }
+  operator VkSubpassDescriptionDepthStencilResolve &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSubpassDescriptionDepthStencilResolve *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassDescriptionDepthStencilResolve const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(SubpassDescriptionDepthStencilResolve const &) const = default;
 #else
-    bool operator==( SubpassDescriptionDepthStencilResolve const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( depthResolveMode == rhs.depthResolveMode ) &&
-             ( stencilResolveMode == rhs.stencilResolveMode ) &&
-             ( pDepthStencilResolveAttachment == rhs.pDepthStencilResolveAttachment );
-    }
+  bool operator==(SubpassDescriptionDepthStencilResolve const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (depthResolveMode == rhs.depthResolveMode) &&
+           (stencilResolveMode == rhs.stencilResolveMode) &&
+           (pDepthStencilResolveAttachment ==
+            rhs.pDepthStencilResolveAttachment);
+  }
 
-    bool operator!=( SubpassDescriptionDepthStencilResolve const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SubpassDescriptionDepthStencilResolve const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType            = StructureType::eSubpassDescriptionDepthStencilResolve;
-    const void *                              pNext            = {};
-    VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode = VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone;
-    VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode = VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone;
-    const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilResolveAttachment = {};
-  };
-  static_assert( sizeof( SubpassDescriptionDepthStencilResolve ) == sizeof( VkSubpassDescriptionDepthStencilResolve ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassDescriptionDepthStencilResolve>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSubpassDescriptionDepthStencilResolve;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode =
+      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone;
+  VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode =
+      VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone;
+  const VULKAN_HPP_NAMESPACE::AttachmentReference2
+      *pDepthStencilResolveAttachment = {};
+};
+static_assert(sizeof(SubpassDescriptionDepthStencilResolve) ==
+                  sizeof(VkSubpassDescriptionDepthStencilResolve),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SubpassDescriptionDepthStencilResolve>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSubpassDescriptionDepthStencilResolve>
-  {
-    using Type = SubpassDescriptionDepthStencilResolve;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSubpassDescriptionDepthStencilResolve> {
+  using Type = SubpassDescriptionDepthStencilResolve;
+};
+using SubpassDescriptionDepthStencilResolveKHR =
+    SubpassDescriptionDepthStencilResolve;
 
-  struct SubpassEndInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSubpassEndInfo;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SubpassEndInfo() VULKAN_HPP_NOEXCEPT {}
-
-    SubpassEndInfo( VkSubpassEndInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SubpassEndInfo & operator=( VkSubpassEndInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassEndInfo const *>( &rhs );
-      return *this;
-    }
-
-    SubpassEndInfo & operator=( SubpassEndInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = rhs.pNext;
-
-      return *this;
-    }
-
-    SubpassEndInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    operator VkSubpassEndInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSubpassEndInfo *>( this );
-    }
-
-    operator VkSubpassEndInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSubpassEndInfo *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SubpassEndInfo const & ) const = default;
-#else
-    bool operator==( SubpassEndInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
-    }
-
-    bool operator!=( SubpassEndInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassEndInfo;
-    const void *                              pNext = {};
-  };
-  static_assert( sizeof( SubpassEndInfo ) == sizeof( VkSubpassEndInfo ), "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SubpassEndInfo>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSubpassEndInfo>
-  {
-    using Type = SubpassEndInfo;
-  };
-
-  struct SurfaceCapabilities2EXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSurfaceCapabilities2EXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SurfaceCapabilities2EXT(
-      uint32_t                                          minImageCount_       = {},
-      uint32_t                                          maxImageCount_       = {},
-      VULKAN_HPP_NAMESPACE::Extent2D                    currentExtent_       = {},
-      VULKAN_HPP_NAMESPACE::Extent2D                    minImageExtent_      = {},
-      VULKAN_HPP_NAMESPACE::Extent2D                    maxImageExtent_      = {},
-      uint32_t                                          maxImageArrayLayers_ = {},
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR    supportedTransforms_ = {},
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform_ =
-        VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
-      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_  = {},
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags        supportedUsageFlags_      = {},
-      VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT supportedSurfaceCounters_ = {} ) VULKAN_HPP_NOEXCEPT
-      : minImageCount( minImageCount_ )
-      , maxImageCount( maxImageCount_ )
-      , currentExtent( currentExtent_ )
-      , minImageExtent( minImageExtent_ )
-      , maxImageExtent( maxImageExtent_ )
-      , maxImageArrayLayers( maxImageArrayLayers_ )
-      , supportedTransforms( supportedTransforms_ )
-      , currentTransform( currentTransform_ )
-      , supportedCompositeAlpha( supportedCompositeAlpha_ )
-      , supportedUsageFlags( supportedUsageFlags_ )
-      , supportedSurfaceCounters( supportedSurfaceCounters_ )
-    {}
-
-    SurfaceCapabilities2EXT( VkSurfaceCapabilities2EXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SurfaceCapabilities2EXT & operator=( VkSurfaceCapabilities2EXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT const *>( &rhs );
-      return *this;
-    }
-
-    SurfaceCapabilities2EXT & operator=( SurfaceCapabilities2EXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                    = rhs.pNext;
-      minImageCount            = rhs.minImageCount;
-      maxImageCount            = rhs.maxImageCount;
-      currentExtent            = rhs.currentExtent;
-      minImageExtent           = rhs.minImageExtent;
-      maxImageExtent           = rhs.maxImageExtent;
-      maxImageArrayLayers      = rhs.maxImageArrayLayers;
-      supportedTransforms      = rhs.supportedTransforms;
-      currentTransform         = rhs.currentTransform;
-      supportedCompositeAlpha  = rhs.supportedCompositeAlpha;
-      supportedUsageFlags      = rhs.supportedUsageFlags;
-      supportedSurfaceCounters = rhs.supportedSurfaceCounters;
-
-      return *this;
-    }
-
-    operator VkSurfaceCapabilities2EXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceCapabilities2EXT *>( this );
-    }
-
-    operator VkSurfaceCapabilities2EXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceCapabilities2EXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceCapabilities2EXT const & ) const = default;
-#else
-    bool operator==( SurfaceCapabilities2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minImageCount == rhs.minImageCount ) &&
-             ( maxImageCount == rhs.maxImageCount ) && ( currentExtent == rhs.currentExtent ) &&
-             ( minImageExtent == rhs.minImageExtent ) && ( maxImageExtent == rhs.maxImageExtent ) &&
-             ( maxImageArrayLayers == rhs.maxImageArrayLayers ) && ( supportedTransforms == rhs.supportedTransforms ) &&
-             ( currentTransform == rhs.currentTransform ) &&
-             ( supportedCompositeAlpha == rhs.supportedCompositeAlpha ) &&
-             ( supportedUsageFlags == rhs.supportedUsageFlags ) &&
-             ( supportedSurfaceCounters == rhs.supportedSurfaceCounters );
-    }
-
-    bool operator!=( SurfaceCapabilities2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType         sType               = StructureType::eSurfaceCapabilities2EXT;
-    void *                                            pNext               = {};
-    uint32_t                                          minImageCount       = {};
-    uint32_t                                          maxImageCount       = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                    currentExtent       = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                    minImageExtent      = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                    maxImageExtent      = {};
-    uint32_t                                          maxImageArrayLayers = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR    supportedTransforms = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform =
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
-    VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha  = {};
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags        supportedUsageFlags      = {};
-    VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT supportedSurfaceCounters = {};
-  };
-  static_assert( sizeof( SurfaceCapabilities2EXT ) == sizeof( VkSurfaceCapabilities2EXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceCapabilities2EXT>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSurfaceCapabilities2EXT>
-  {
-    using Type = SurfaceCapabilities2EXT;
-  };
-
-  struct SurfaceCapabilitiesKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SurfaceCapabilitiesKHR( uint32_t                                          minImageCount_       = {},
-                            uint32_t                                          maxImageCount_       = {},
-                            VULKAN_HPP_NAMESPACE::Extent2D                    currentExtent_       = {},
-                            VULKAN_HPP_NAMESPACE::Extent2D                    minImageExtent_      = {},
-                            VULKAN_HPP_NAMESPACE::Extent2D                    maxImageExtent_      = {},
-                            uint32_t                                          maxImageArrayLayers_ = {},
-                            VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR    supportedTransforms_ = {},
-                            VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform_ =
-                              VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
-                            VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_ = {},
-                            VULKAN_HPP_NAMESPACE::ImageUsageFlags        supportedUsageFlags_ = {} ) VULKAN_HPP_NOEXCEPT
-      : minImageCount( minImageCount_ )
-      , maxImageCount( maxImageCount_ )
-      , currentExtent( currentExtent_ )
-      , minImageExtent( minImageExtent_ )
-      , maxImageExtent( maxImageExtent_ )
-      , maxImageArrayLayers( maxImageArrayLayers_ )
-      , supportedTransforms( supportedTransforms_ )
-      , currentTransform( currentTransform_ )
-      , supportedCompositeAlpha( supportedCompositeAlpha_ )
-      , supportedUsageFlags( supportedUsageFlags_ )
-    {}
-
-    SurfaceCapabilitiesKHR( VkSurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SurfaceCapabilitiesKHR & operator=( VkSurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR const *>( &rhs );
-      return *this;
-    }
-
-    operator VkSurfaceCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceCapabilitiesKHR *>( this );
-    }
-
-    operator VkSurfaceCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceCapabilitiesKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceCapabilitiesKHR const & ) const = default;
-#else
-    bool operator==( SurfaceCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( minImageCount == rhs.minImageCount ) && ( maxImageCount == rhs.maxImageCount ) &&
-             ( currentExtent == rhs.currentExtent ) && ( minImageExtent == rhs.minImageExtent ) &&
-             ( maxImageExtent == rhs.maxImageExtent ) && ( maxImageArrayLayers == rhs.maxImageArrayLayers ) &&
-             ( supportedTransforms == rhs.supportedTransforms ) && ( currentTransform == rhs.currentTransform ) &&
-             ( supportedCompositeAlpha == rhs.supportedCompositeAlpha ) &&
-             ( supportedUsageFlags == rhs.supportedUsageFlags );
-    }
-
-    bool operator!=( SurfaceCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    uint32_t                                          minImageCount       = {};
-    uint32_t                                          maxImageCount       = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                    currentExtent       = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                    minImageExtent      = {};
-    VULKAN_HPP_NAMESPACE::Extent2D                    maxImageExtent      = {};
-    uint32_t                                          maxImageArrayLayers = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR    supportedTransforms = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform =
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
-    VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha = {};
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags        supportedUsageFlags     = {};
-  };
-  static_assert( sizeof( SurfaceCapabilitiesKHR ) == sizeof( VkSurfaceCapabilitiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceCapabilitiesKHR>::value, "struct wrapper is not a standard layout!" );
-
-  struct SurfaceCapabilities2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSurfaceCapabilities2KHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SurfaceCapabilities2KHR(
-      VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities_ = {} ) VULKAN_HPP_NOEXCEPT
-      : surfaceCapabilities( surfaceCapabilities_ )
-    {}
-
-    SurfaceCapabilities2KHR( VkSurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SurfaceCapabilities2KHR & operator=( VkSurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR const *>( &rhs );
-      return *this;
-    }
-
-    SurfaceCapabilities2KHR & operator=( SurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      surfaceCapabilities = rhs.surfaceCapabilities;
-
-      return *this;
-    }
-
-    operator VkSurfaceCapabilities2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceCapabilities2KHR *>( this );
-    }
-
-    operator VkSurfaceCapabilities2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceCapabilities2KHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceCapabilities2KHR const & ) const = default;
-#else
-    bool operator==( SurfaceCapabilities2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surfaceCapabilities == rhs.surfaceCapabilities );
-    }
-
-    bool operator!=( SurfaceCapabilities2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType               = StructureType::eSurfaceCapabilities2KHR;
-    void *                                       pNext               = {};
-    VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities = {};
-  };
-  static_assert( sizeof( SurfaceCapabilities2KHR ) == sizeof( VkSurfaceCapabilities2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceCapabilities2KHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSurfaceCapabilities2KHR>
-  {
-    using Type = SurfaceCapabilities2KHR;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SurfaceCapabilitiesFullScreenExclusiveEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct SurfaceCapabilitiesFullScreenExclusiveEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesFullScreenExclusiveEXT(
-      VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported_ = {} ) VULKAN_HPP_NOEXCEPT
-      : fullScreenExclusiveSupported( fullScreenExclusiveSupported_ )
-    {}
-
-    SurfaceCapabilitiesFullScreenExclusiveEXT( VkSurfaceCapabilitiesFullScreenExclusiveEXT const & rhs )
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesFullScreenExclusiveEXT(
+      VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported_ = {})
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+      : fullScreenExclusiveSupported(fullScreenExclusiveSupported_) {}
 
-    SurfaceCapabilitiesFullScreenExclusiveEXT &
-      operator=( VkSurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesFullScreenExclusiveEXT(
+      SurfaceCapabilitiesFullScreenExclusiveEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SurfaceCapabilitiesFullScreenExclusiveEXT &
-      operator=( SurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      fullScreenExclusiveSupported = rhs.fullScreenExclusiveSupported;
+  SurfaceCapabilitiesFullScreenExclusiveEXT(
+      VkSurfaceCapabilitiesFullScreenExclusiveEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SurfaceCapabilitiesFullScreenExclusiveEXT(
+            *reinterpret_cast<
+                SurfaceCapabilitiesFullScreenExclusiveEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilitiesFullScreenExclusiveEXT &
+  operator=(SurfaceCapabilitiesFullScreenExclusiveEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SurfaceCapabilitiesFullScreenExclusiveEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SurfaceCapabilitiesFullScreenExclusiveEXT &
+  operator=(VkSurfaceCapabilitiesFullScreenExclusiveEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT const
+            *>(&rhs);
+    return *this;
+  }
 
-    SurfaceCapabilitiesFullScreenExclusiveEXT &
-      setFullScreenExclusiveSupported( VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fullScreenExclusiveSupported = fullScreenExclusiveSupported_;
-      return *this;
-    }
+  SurfaceCapabilitiesFullScreenExclusiveEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    operator VkSurfaceCapabilitiesFullScreenExclusiveEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT *>( this );
-    }
+  SurfaceCapabilitiesFullScreenExclusiveEXT &setFullScreenExclusiveSupported(
+      VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported_)
+      VULKAN_HPP_NOEXCEPT {
+    fullScreenExclusiveSupported = fullScreenExclusiveSupported_;
+    return *this;
+  }
 
-    operator VkSurfaceCapabilitiesFullScreenExclusiveEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceCapabilitiesFullScreenExclusiveEXT *>( this );
-    }
+  operator VkSurfaceCapabilitiesFullScreenExclusiveEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceCapabilitiesFullScreenExclusiveEXT const & ) const = default;
-#  else
-    bool operator==( SurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( fullScreenExclusiveSupported == rhs.fullScreenExclusiveSupported );
-    }
+  operator VkSurfaceCapabilitiesFullScreenExclusiveEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(
+        this);
+  }
 
-    bool operator!=( SurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceCapabilitiesFullScreenExclusiveEXT const &) const =
+      default;
+#else
+  bool operator==(SurfaceCapabilitiesFullScreenExclusiveEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fullScreenExclusiveSupported == rhs.fullScreenExclusiveSupported);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              fullScreenExclusiveSupported = {};
-  };
-  static_assert( sizeof( SurfaceCapabilitiesFullScreenExclusiveEXT ) ==
-                   sizeof( VkSurfaceCapabilitiesFullScreenExclusiveEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceCapabilitiesFullScreenExclusiveEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+  bool operator!=(SurfaceCapabilitiesFullScreenExclusiveEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  template <>
-  struct CppType<StructureType, StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT>
-  {
-    using Type = SurfaceCapabilitiesFullScreenExclusiveEXT;
-  };
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported = {};
+};
+static_assert(sizeof(SurfaceCapabilitiesFullScreenExclusiveEXT) ==
+                  sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SurfaceCapabilitiesFullScreenExclusiveEXT>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT> {
+  using Type = SurfaceCapabilitiesFullScreenExclusiveEXT;
+};
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  struct SurfaceFormatKHR
-  {
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SurfaceFormatKHR( VULKAN_HPP_NAMESPACE::Format        format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-                      VULKAN_HPP_NAMESPACE::ColorSpaceKHR colorSpace_ =
-                        VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear ) VULKAN_HPP_NOEXCEPT
-      : format( format_ )
-      , colorSpace( colorSpace_ )
-    {}
-
-    SurfaceFormatKHR( VkSurfaceFormatKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SurfaceFormatKHR & operator=( VkSurfaceFormatKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR const *>( &rhs );
-      return *this;
-    }
-
-    operator VkSurfaceFormatKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceFormatKHR *>( this );
-    }
-
-    operator VkSurfaceFormatKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceFormatKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceFormatKHR const & ) const = default;
-#else
-    bool operator==( SurfaceFormatKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( format == rhs.format ) && ( colorSpace == rhs.colorSpace );
-    }
-
-    bool operator!=( SurfaceFormatKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    VULKAN_HPP_NAMESPACE::Format        format     = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::ColorSpaceKHR colorSpace = VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear;
-  };
-  static_assert( sizeof( SurfaceFormatKHR ) == sizeof( VkSurfaceFormatKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceFormatKHR>::value, "struct wrapper is not a standard layout!" );
-
-  struct SurfaceFormat2KHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSurfaceFormat2KHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SurfaceFormat2KHR( VULKAN_HPP_NAMESPACE::SurfaceFormatKHR surfaceFormat_ = {} ) VULKAN_HPP_NOEXCEPT
-      : surfaceFormat( surfaceFormat_ )
-    {}
-
-    SurfaceFormat2KHR( VkSurfaceFormat2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SurfaceFormat2KHR & operator=( VkSurfaceFormat2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR const *>( &rhs );
-      return *this;
-    }
-
-    SurfaceFormat2KHR & operator=( SurfaceFormat2KHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext         = rhs.pNext;
-      surfaceFormat = rhs.surfaceFormat;
-
-      return *this;
-    }
-
-    operator VkSurfaceFormat2KHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceFormat2KHR *>( this );
-    }
-
-    operator VkSurfaceFormat2KHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceFormat2KHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceFormat2KHR const & ) const = default;
-#else
-    bool operator==( SurfaceFormat2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surfaceFormat == rhs.surfaceFormat );
-    }
-
-    bool operator!=( SurfaceFormat2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType         = StructureType::eSurfaceFormat2KHR;
-    void *                                    pNext         = {};
-    VULKAN_HPP_NAMESPACE::SurfaceFormatKHR    surfaceFormat = {};
-  };
-  static_assert( sizeof( SurfaceFormat2KHR ) == sizeof( VkSurfaceFormat2KHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceFormat2KHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSurfaceFormat2KHR>
-  {
-    using Type = SurfaceFormat2KHR;
-  };
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SurfaceFullScreenExclusiveInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct SurfaceFullScreenExclusiveInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSurfaceFullScreenExclusiveInfoEXT;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SurfaceFullScreenExclusiveInfoEXT( VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive_ =
-                                         VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT::eDefault ) VULKAN_HPP_NOEXCEPT
-      : fullScreenExclusive( fullScreenExclusive_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveInfoEXT(
+      VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive_ =
+          VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT::eDefault)
+      VULKAN_HPP_NOEXCEPT : fullScreenExclusive(fullScreenExclusive_) {}
 
-    SurfaceFullScreenExclusiveInfoEXT( VkSurfaceFullScreenExclusiveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveInfoEXT(
+      SurfaceFullScreenExclusiveInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SurfaceFullScreenExclusiveInfoEXT & operator=( VkSurfaceFullScreenExclusiveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT const *>( &rhs );
-      return *this;
-    }
+  SurfaceFullScreenExclusiveInfoEXT(
+      VkSurfaceFullScreenExclusiveInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : SurfaceFullScreenExclusiveInfoEXT(
+            *reinterpret_cast<SurfaceFullScreenExclusiveInfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SurfaceFullScreenExclusiveInfoEXT & operator=( SurfaceFullScreenExclusiveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext               = rhs.pNext;
-      fullScreenExclusive = rhs.fullScreenExclusive;
+  VULKAN_HPP_CONSTEXPR_14 SurfaceFullScreenExclusiveInfoEXT &
+  operator=(SurfaceFullScreenExclusiveInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SurfaceFullScreenExclusiveInfoEXT &operator=(
+      VkSurfaceFullScreenExclusiveInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    SurfaceFullScreenExclusiveInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SurfaceFullScreenExclusiveInfoEXT &
+  setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SurfaceFullScreenExclusiveInfoEXT &
-      setFullScreenExclusive( VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive_ ) VULKAN_HPP_NOEXCEPT
-    {
-      fullScreenExclusive = fullScreenExclusive_;
-      return *this;
-    }
+  SurfaceFullScreenExclusiveInfoEXT &setFullScreenExclusive(
+      VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive_)
+      VULKAN_HPP_NOEXCEPT {
+    fullScreenExclusive = fullScreenExclusive_;
+    return *this;
+  }
 
-    operator VkSurfaceFullScreenExclusiveInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT *>( this );
-    }
+  operator VkSurfaceFullScreenExclusiveInfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT *>(this);
+  }
 
-    operator VkSurfaceFullScreenExclusiveInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceFullScreenExclusiveInfoEXT *>( this );
-    }
+  operator VkSurfaceFullScreenExclusiveInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceFullScreenExclusiveInfoEXT *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceFullScreenExclusiveInfoEXT const & ) const = default;
-#  else
-    bool operator==( SurfaceFullScreenExclusiveInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fullScreenExclusive == rhs.fullScreenExclusive );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceFullScreenExclusiveInfoEXT const &) const = default;
+#else
+  bool operator==(SurfaceFullScreenExclusiveInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (fullScreenExclusive == rhs.fullScreenExclusive);
+  }
 
-    bool operator!=( SurfaceFullScreenExclusiveInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(SurfaceFullScreenExclusiveInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType = StructureType::eSurfaceFullScreenExclusiveInfoEXT;
-    void *                                       pNext = {};
-    VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive =
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSurfaceFullScreenExclusiveInfoEXT;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive =
       VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT::eDefault;
-  };
-  static_assert( sizeof( SurfaceFullScreenExclusiveInfoEXT ) == sizeof( VkSurfaceFullScreenExclusiveInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceFullScreenExclusiveInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+};
+static_assert(sizeof(SurfaceFullScreenExclusiveInfoEXT) ==
+                  sizeof(VkSurfaceFullScreenExclusiveInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SurfaceFullScreenExclusiveInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSurfaceFullScreenExclusiveInfoEXT>
-  {
-    using Type = SurfaceFullScreenExclusiveInfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSurfaceFullScreenExclusiveInfoEXT> {
+  using Type = SurfaceFullScreenExclusiveInfoEXT;
+};
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct SurfaceFullScreenExclusiveWin32InfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct SurfaceFullScreenExclusiveWin32InfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveWin32InfoEXT( HMONITOR hmonitor_ = {} ) VULKAN_HPP_NOEXCEPT
-      : hmonitor( hmonitor_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveWin32InfoEXT(
+      HMONITOR hmonitor_ = {}) VULKAN_HPP_NOEXCEPT : hmonitor(hmonitor_) {}
 
-    SurfaceFullScreenExclusiveWin32InfoEXT( VkSurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveWin32InfoEXT(
+      SurfaceFullScreenExclusiveWin32InfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SurfaceFullScreenExclusiveWin32InfoEXT &
-      operator=( VkSurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT const *>( &rhs );
-      return *this;
-    }
+  SurfaceFullScreenExclusiveWin32InfoEXT(
+      VkSurfaceFullScreenExclusiveWin32InfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : SurfaceFullScreenExclusiveWin32InfoEXT(
+            *reinterpret_cast<SurfaceFullScreenExclusiveWin32InfoEXT const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SurfaceFullScreenExclusiveWin32InfoEXT &
-      operator=( SurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      hmonitor = rhs.hmonitor;
+  VULKAN_HPP_CONSTEXPR_14 SurfaceFullScreenExclusiveWin32InfoEXT &
+  operator=(SurfaceFullScreenExclusiveWin32InfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SurfaceFullScreenExclusiveWin32InfoEXT &operator=(
+      VkSurfaceFullScreenExclusiveWin32InfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    SurfaceFullScreenExclusiveWin32InfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SurfaceFullScreenExclusiveWin32InfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SurfaceFullScreenExclusiveWin32InfoEXT & setHmonitor( HMONITOR hmonitor_ ) VULKAN_HPP_NOEXCEPT
-    {
-      hmonitor = hmonitor_;
-      return *this;
-    }
+  SurfaceFullScreenExclusiveWin32InfoEXT &
+  setHmonitor(HMONITOR hmonitor_) VULKAN_HPP_NOEXCEPT {
+    hmonitor = hmonitor_;
+    return *this;
+  }
 
-    operator VkSurfaceFullScreenExclusiveWin32InfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT *>( this );
-    }
+  operator VkSurfaceFullScreenExclusiveWin32InfoEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT *>(
+        this);
+  }
 
-    operator VkSurfaceFullScreenExclusiveWin32InfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceFullScreenExclusiveWin32InfoEXT *>( this );
-    }
+  operator VkSurfaceFullScreenExclusiveWin32InfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceFullScreenExclusiveWin32InfoEXT *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceFullScreenExclusiveWin32InfoEXT const & ) const = default;
-#  else
-    bool operator==( SurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( hmonitor == rhs.hmonitor );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(SurfaceFullScreenExclusiveWin32InfoEXT const &) const = default;
+#else
+  bool operator==(SurfaceFullScreenExclusiveWin32InfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (hmonitor == rhs.hmonitor);
+  }
 
-    bool operator!=( SurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(SurfaceFullScreenExclusiveWin32InfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT;
-    const void *                              pNext    = {};
-    HMONITOR                                  hmonitor = {};
-  };
-  static_assert( sizeof( SurfaceFullScreenExclusiveWin32InfoEXT ) == sizeof( VkSurfaceFullScreenExclusiveWin32InfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceFullScreenExclusiveWin32InfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT;
+  const void *pNext = {};
+  HMONITOR hmonitor = {};
+};
+static_assert(sizeof(SurfaceFullScreenExclusiveWin32InfoEXT) ==
+                  sizeof(VkSurfaceFullScreenExclusiveWin32InfoEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SurfaceFullScreenExclusiveWin32InfoEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT>
-  {
-    using Type = SurfaceFullScreenExclusiveWin32InfoEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT> {
+  using Type = SurfaceFullScreenExclusiveWin32InfoEXT;
+};
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  struct SurfaceProtectedCapabilitiesKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSurfaceProtectedCapabilitiesKHR;
+struct SurfaceProtectedCapabilitiesKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSurfaceProtectedCapabilitiesKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    SurfaceProtectedCapabilitiesKHR( VULKAN_HPP_NAMESPACE::Bool32 supportsProtected_ = {} ) VULKAN_HPP_NOEXCEPT
-      : supportsProtected( supportsProtected_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR(
+      VULKAN_HPP_NAMESPACE::Bool32 supportsProtected_ = {}) VULKAN_HPP_NOEXCEPT
+      : supportsProtected(supportsProtected_) {}
 
-    SurfaceProtectedCapabilitiesKHR( VkSurfaceProtectedCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR(
+      SurfaceProtectedCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SurfaceProtectedCapabilitiesKHR & operator=( VkSurfaceProtectedCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR const *>( &rhs );
-      return *this;
-    }
+  SurfaceProtectedCapabilitiesKHR(VkSurfaceProtectedCapabilitiesKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SurfaceProtectedCapabilitiesKHR(
+            *reinterpret_cast<SurfaceProtectedCapabilitiesKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SurfaceProtectedCapabilitiesKHR & operator=( SurfaceProtectedCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext             = rhs.pNext;
-      supportsProtected = rhs.supportsProtected;
+  VULKAN_HPP_CONSTEXPR_14 SurfaceProtectedCapabilitiesKHR &operator=(
+      SurfaceProtectedCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SurfaceProtectedCapabilitiesKHR &
+  operator=(VkSurfaceProtectedCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR const *>(&rhs);
+    return *this;
+  }
 
-    SurfaceProtectedCapabilitiesKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SurfaceProtectedCapabilitiesKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SurfaceProtectedCapabilitiesKHR &
-      setSupportsProtected( VULKAN_HPP_NAMESPACE::Bool32 supportsProtected_ ) VULKAN_HPP_NOEXCEPT
-    {
-      supportsProtected = supportsProtected_;
-      return *this;
-    }
+  SurfaceProtectedCapabilitiesKHR &setSupportsProtected(
+      VULKAN_HPP_NAMESPACE::Bool32 supportsProtected_) VULKAN_HPP_NOEXCEPT {
+    supportsProtected = supportsProtected_;
+    return *this;
+  }
 
-    operator VkSurfaceProtectedCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR *>( this );
-    }
+  operator VkSurfaceProtectedCapabilitiesKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR *>(this);
+  }
 
-    operator VkSurfaceProtectedCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSurfaceProtectedCapabilitiesKHR *>( this );
-    }
+  operator VkSurfaceProtectedCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSurfaceProtectedCapabilitiesKHR *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SurfaceProtectedCapabilitiesKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SurfaceProtectedCapabilitiesKHR const &) const = default;
 #else
-    bool operator==( SurfaceProtectedCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supportsProtected == rhs.supportsProtected );
-    }
+  bool operator==(SurfaceProtectedCapabilitiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (supportsProtected == rhs.supportsProtected);
+  }
 
-    bool operator!=( SurfaceProtectedCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SurfaceProtectedCapabilitiesKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType             = StructureType::eSurfaceProtectedCapabilitiesKHR;
-    const void *                              pNext             = {};
-    VULKAN_HPP_NAMESPACE::Bool32              supportsProtected = {};
-  };
-  static_assert( sizeof( SurfaceProtectedCapabilitiesKHR ) == sizeof( VkSurfaceProtectedCapabilitiesKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SurfaceProtectedCapabilitiesKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSurfaceProtectedCapabilitiesKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 supportsProtected = {};
+};
+static_assert(sizeof(SurfaceProtectedCapabilitiesKHR) ==
+                  sizeof(VkSurfaceProtectedCapabilitiesKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SurfaceProtectedCapabilitiesKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSurfaceProtectedCapabilitiesKHR>
-  {
-    using Type = SurfaceProtectedCapabilitiesKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::eSurfaceProtectedCapabilitiesKHR> {
+  using Type = SurfaceProtectedCapabilitiesKHR;
+};
 
-  struct SwapchainCounterCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSwapchainCounterCreateInfoEXT;
+struct SwapchainCounterCreateInfoEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eSwapchainCounterCreateInfoEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SwapchainCounterCreateInfoEXT(
-      VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters_ = {} ) VULKAN_HPP_NOEXCEPT
-      : surfaceCounters( surfaceCounters_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SwapchainCounterCreateInfoEXT(
+      VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters_ = {})
+      VULKAN_HPP_NOEXCEPT : surfaceCounters(surfaceCounters_) {}
 
-    SwapchainCounterCreateInfoEXT( VkSwapchainCounterCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SwapchainCounterCreateInfoEXT(
+      SwapchainCounterCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    SwapchainCounterCreateInfoEXT & operator=( VkSwapchainCounterCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
+  SwapchainCounterCreateInfoEXT(VkSwapchainCounterCreateInfoEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : SwapchainCounterCreateInfoEXT(
+            *reinterpret_cast<SwapchainCounterCreateInfoEXT const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SwapchainCounterCreateInfoEXT & operator=( SwapchainCounterCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      surfaceCounters = rhs.surfaceCounters;
+  VULKAN_HPP_CONSTEXPR_14 SwapchainCounterCreateInfoEXT &operator=(
+      SwapchainCounterCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SwapchainCounterCreateInfoEXT &
+  operator=(VkSwapchainCounterCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT const *>(&rhs);
+    return *this;
+  }
 
-    SwapchainCounterCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SwapchainCounterCreateInfoEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SwapchainCounterCreateInfoEXT &
-      setSurfaceCounters( VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters_ ) VULKAN_HPP_NOEXCEPT
-    {
-      surfaceCounters = surfaceCounters_;
-      return *this;
-    }
+  SwapchainCounterCreateInfoEXT &setSurfaceCounters(
+      VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters_)
+      VULKAN_HPP_NOEXCEPT {
+    surfaceCounters = surfaceCounters_;
+    return *this;
+  }
 
-    operator VkSwapchainCounterCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSwapchainCounterCreateInfoEXT *>( this );
-    }
+  operator VkSwapchainCounterCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSwapchainCounterCreateInfoEXT *>(this);
+  }
 
-    operator VkSwapchainCounterCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSwapchainCounterCreateInfoEXT *>( this );
-    }
+  operator VkSwapchainCounterCreateInfoEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSwapchainCounterCreateInfoEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SwapchainCounterCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(SwapchainCounterCreateInfoEXT const &) const = default;
 #else
-    bool operator==( SwapchainCounterCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surfaceCounters == rhs.surfaceCounters );
-    }
+  bool operator==(SwapchainCounterCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (surfaceCounters == rhs.surfaceCounters);
+  }
 
-    bool operator!=( SwapchainCounterCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SwapchainCounterCreateInfoEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType           = StructureType::eSwapchainCounterCreateInfoEXT;
-    const void *                                 pNext           = {};
-    VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters = {};
-  };
-  static_assert( sizeof( SwapchainCounterCreateInfoEXT ) == sizeof( VkSwapchainCounterCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SwapchainCounterCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSwapchainCounterCreateInfoEXT;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters = {};
+};
+static_assert(sizeof(SwapchainCounterCreateInfoEXT) ==
+                  sizeof(VkSwapchainCounterCreateInfoEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<SwapchainCounterCreateInfoEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSwapchainCounterCreateInfoEXT>
-  {
-    using Type = SwapchainCounterCreateInfoEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eSwapchainCounterCreateInfoEXT> {
+  using Type = SwapchainCounterCreateInfoEXT;
+};
 
-  struct SwapchainCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSwapchainCreateInfoKHR;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SwapchainCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_         = {},
-      VULKAN_HPP_NAMESPACE::SurfaceKHR              surface_       = {},
-      uint32_t                                      minImageCount_ = {},
-      VULKAN_HPP_NAMESPACE::Format                  imageFormat_   = VULKAN_HPP_NAMESPACE::Format::eUndefined,
-      VULKAN_HPP_NAMESPACE::ColorSpaceKHR   imageColorSpace_  = VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear,
-      VULKAN_HPP_NAMESPACE::Extent2D        imageExtent_      = {},
-      uint32_t                              imageArrayLayers_ = {},
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_       = {},
-      VULKAN_HPP_NAMESPACE::SharingMode     imageSharingMode_ = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive,
-      uint32_t                              queueFamilyIndexCount_ = {},
-      const uint32_t *                      pQueueFamilyIndices_   = {},
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_ =
-        VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
-      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_ =
-        VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque,
-      VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_  = VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate,
-      VULKAN_HPP_NAMESPACE::Bool32         clipped_      = {},
-      VULKAN_HPP_NAMESPACE::SwapchainKHR   oldSwapchain_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , surface( surface_ )
-      , minImageCount( minImageCount_ )
-      , imageFormat( imageFormat_ )
-      , imageColorSpace( imageColorSpace_ )
-      , imageExtent( imageExtent_ )
-      , imageArrayLayers( imageArrayLayers_ )
-      , imageUsage( imageUsage_ )
-      , imageSharingMode( imageSharingMode_ )
-      , queueFamilyIndexCount( queueFamilyIndexCount_ )
-      , pQueueFamilyIndices( pQueueFamilyIndices_ )
-      , preTransform( preTransform_ )
-      , compositeAlpha( compositeAlpha_ )
-      , presentMode( presentMode_ )
-      , clipped( clipped_ )
-      , oldSwapchain( oldSwapchain_ )
-    {}
-
-    SwapchainCreateInfoKHR( VkSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SwapchainCreateInfoKHR(
-      VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR                         flags_,
-      VULKAN_HPP_NAMESPACE::SurfaceKHR                                      surface_,
-      uint32_t                                                              minImageCount_,
-      VULKAN_HPP_NAMESPACE::Format                                          imageFormat_,
-      VULKAN_HPP_NAMESPACE::ColorSpaceKHR                                   imageColorSpace_,
-      VULKAN_HPP_NAMESPACE::Extent2D                                        imageExtent_,
-      uint32_t                                                              imageArrayLayers_,
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags                                 imageUsage_,
-      VULKAN_HPP_NAMESPACE::SharingMode                                     imageSharingMode_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_,
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR                     preTransform_ =
-        VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity,
-      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_ =
-        VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque,
-      VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_  = VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate,
-      VULKAN_HPP_NAMESPACE::Bool32         clipped_      = {},
-      VULKAN_HPP_NAMESPACE::SwapchainKHR   oldSwapchain_ = {} )
-      : flags( flags_ )
-      , surface( surface_ )
-      , minImageCount( minImageCount_ )
-      , imageFormat( imageFormat_ )
-      , imageColorSpace( imageColorSpace_ )
-      , imageExtent( imageExtent_ )
-      , imageArrayLayers( imageArrayLayers_ )
-      , imageUsage( imageUsage_ )
-      , imageSharingMode( imageSharingMode_ )
-      , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
-      , pQueueFamilyIndices( queueFamilyIndices_.data() )
-      , preTransform( preTransform_ )
-      , compositeAlpha( compositeAlpha_ )
-      , presentMode( presentMode_ )
-      , clipped( clipped_ )
-      , oldSwapchain( oldSwapchain_ )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    SwapchainCreateInfoKHR & operator=( VkSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & operator=( SwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                 = rhs.pNext;
-      flags                 = rhs.flags;
-      surface               = rhs.surface;
-      minImageCount         = rhs.minImageCount;
-      imageFormat           = rhs.imageFormat;
-      imageColorSpace       = rhs.imageColorSpace;
-      imageExtent           = rhs.imageExtent;
-      imageArrayLayers      = rhs.imageArrayLayers;
-      imageUsage            = rhs.imageUsage;
-      imageSharingMode      = rhs.imageSharingMode;
-      queueFamilyIndexCount = rhs.queueFamilyIndexCount;
-      pQueueFamilyIndices   = rhs.pQueueFamilyIndices;
-      preTransform          = rhs.preTransform;
-      compositeAlpha        = rhs.compositeAlpha;
-      presentMode           = rhs.presentMode;
-      clipped               = rhs.clipped;
-      oldSwapchain          = rhs.oldSwapchain;
-
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setSurface( VULKAN_HPP_NAMESPACE::SurfaceKHR surface_ ) VULKAN_HPP_NOEXCEPT
-    {
-      surface = surface_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setMinImageCount( uint32_t minImageCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      minImageCount = minImageCount_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setImageFormat( VULKAN_HPP_NAMESPACE::Format imageFormat_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageFormat = imageFormat_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR &
-      setImageColorSpace( VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageColorSpace = imageColorSpace_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setImageExtent( VULKAN_HPP_NAMESPACE::Extent2D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageExtent = imageExtent_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setImageArrayLayers( uint32_t imageArrayLayers_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageArrayLayers = imageArrayLayers_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setImageUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageUsage = imageUsage_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR &
-      setImageSharingMode( VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      imageSharingMode = imageSharingMode_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setQueueFamilyIndexCount( uint32_t queueFamilyIndexCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = queueFamilyIndexCount_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setPQueueFamilyIndices( const uint32_t * pQueueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pQueueFamilyIndices = pQueueFamilyIndices_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    SwapchainCreateInfoKHR & setQueueFamilyIndices(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT
-    {
-      queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
-      pQueueFamilyIndices   = queueFamilyIndices_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    SwapchainCreateInfoKHR &
-      setPreTransform( VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_ ) VULKAN_HPP_NOEXCEPT
-    {
-      preTransform = preTransform_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR &
-      setCompositeAlpha( VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_ ) VULKAN_HPP_NOEXCEPT
-    {
-      compositeAlpha = compositeAlpha_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setPresentMode( VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_ ) VULKAN_HPP_NOEXCEPT
-    {
-      presentMode = presentMode_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setClipped( VULKAN_HPP_NAMESPACE::Bool32 clipped_ ) VULKAN_HPP_NOEXCEPT
-    {
-      clipped = clipped_;
-      return *this;
-    }
-
-    SwapchainCreateInfoKHR & setOldSwapchain( VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_ ) VULKAN_HPP_NOEXCEPT
-    {
-      oldSwapchain = oldSwapchain_;
-      return *this;
-    }
-
-    operator VkSwapchainCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSwapchainCreateInfoKHR *>( this );
-    }
-
-    operator VkSwapchainCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSwapchainCreateInfoKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SwapchainCreateInfoKHR const & ) const = default;
-#else
-    bool operator==( SwapchainCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( surface == rhs.surface ) &&
-             ( minImageCount == rhs.minImageCount ) && ( imageFormat == rhs.imageFormat ) &&
-             ( imageColorSpace == rhs.imageColorSpace ) && ( imageExtent == rhs.imageExtent ) &&
-             ( imageArrayLayers == rhs.imageArrayLayers ) && ( imageUsage == rhs.imageUsage ) &&
-             ( imageSharingMode == rhs.imageSharingMode ) && ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) &&
-             ( pQueueFamilyIndices == rhs.pQueueFamilyIndices ) && ( preTransform == rhs.preTransform ) &&
-             ( compositeAlpha == rhs.compositeAlpha ) && ( presentMode == rhs.presentMode ) &&
-             ( clipped == rhs.clipped ) && ( oldSwapchain == rhs.oldSwapchain );
-    }
-
-    bool operator!=( SwapchainCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType     sType           = StructureType::eSwapchainCreateInfoKHR;
-    const void *                                  pNext           = {};
-    VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags           = {};
-    VULKAN_HPP_NAMESPACE::SurfaceKHR              surface         = {};
-    uint32_t                                      minImageCount   = {};
-    VULKAN_HPP_NAMESPACE::Format                  imageFormat     = VULKAN_HPP_NAMESPACE::Format::eUndefined;
-    VULKAN_HPP_NAMESPACE::ColorSpaceKHR           imageColorSpace = VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear;
-    VULKAN_HPP_NAMESPACE::Extent2D                imageExtent     = {};
-    uint32_t                                      imageArrayLayers      = {};
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags         imageUsage            = {};
-    VULKAN_HPP_NAMESPACE::SharingMode             imageSharingMode      = VULKAN_HPP_NAMESPACE::SharingMode::eExclusive;
-    uint32_t                                      queueFamilyIndexCount = {};
-    const uint32_t *                              pQueueFamilyIndices   = {};
-    VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform =
-      VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity;
-    VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha =
-      VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque;
-    VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode  = VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate;
-    VULKAN_HPP_NAMESPACE::Bool32         clipped      = {};
-    VULKAN_HPP_NAMESPACE::SwapchainKHR   oldSwapchain = {};
-  };
-  static_assert( sizeof( SwapchainCreateInfoKHR ) == sizeof( VkSwapchainCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SwapchainCreateInfoKHR>::value, "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eSwapchainCreateInfoKHR>
-  {
-    using Type = SwapchainCreateInfoKHR;
-  };
-
-  struct SwapchainDisplayNativeHdrCreateInfoAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct SwapchainDisplayNativeHdrCreateInfoAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR SwapchainDisplayNativeHdrCreateInfoAMD( VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable_ = {} )
-      VULKAN_HPP_NOEXCEPT : localDimmingEnable( localDimmingEnable_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR SwapchainDisplayNativeHdrCreateInfoAMD(
+      VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable_ = {}) VULKAN_HPP_NOEXCEPT
+      : localDimmingEnable(localDimmingEnable_) {}
 
-    SwapchainDisplayNativeHdrCreateInfoAMD( VkSwapchainDisplayNativeHdrCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR SwapchainDisplayNativeHdrCreateInfoAMD(
+      SwapchainDisplayNativeHdrCreateInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    SwapchainDisplayNativeHdrCreateInfoAMD &
-      operator=( VkSwapchainDisplayNativeHdrCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD const *>( &rhs );
-      return *this;
-    }
+  SwapchainDisplayNativeHdrCreateInfoAMD(
+      VkSwapchainDisplayNativeHdrCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : SwapchainDisplayNativeHdrCreateInfoAMD(
+            *reinterpret_cast<SwapchainDisplayNativeHdrCreateInfoAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    SwapchainDisplayNativeHdrCreateInfoAMD &
-      operator=( SwapchainDisplayNativeHdrCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext              = rhs.pNext;
-      localDimmingEnable = rhs.localDimmingEnable;
+  VULKAN_HPP_CONSTEXPR_14 SwapchainDisplayNativeHdrCreateInfoAMD &
+  operator=(SwapchainDisplayNativeHdrCreateInfoAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  SwapchainDisplayNativeHdrCreateInfoAMD &operator=(
+      VkSwapchainDisplayNativeHdrCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD const *>(
+        &rhs);
+    return *this;
+  }
 
-    SwapchainDisplayNativeHdrCreateInfoAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  SwapchainDisplayNativeHdrCreateInfoAMD &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    SwapchainDisplayNativeHdrCreateInfoAMD &
-      setLocalDimmingEnable( VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable_ ) VULKAN_HPP_NOEXCEPT
-    {
-      localDimmingEnable = localDimmingEnable_;
-      return *this;
-    }
+  SwapchainDisplayNativeHdrCreateInfoAMD &setLocalDimmingEnable(
+      VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable_) VULKAN_HPP_NOEXCEPT {
+    localDimmingEnable = localDimmingEnable_;
+    return *this;
+  }
 
-    operator VkSwapchainDisplayNativeHdrCreateInfoAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD *>( this );
-    }
+  operator VkSwapchainDisplayNativeHdrCreateInfoAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD *>(
+        this);
+  }
 
-    operator VkSwapchainDisplayNativeHdrCreateInfoAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkSwapchainDisplayNativeHdrCreateInfoAMD *>( this );
-    }
+  operator VkSwapchainDisplayNativeHdrCreateInfoAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkSwapchainDisplayNativeHdrCreateInfoAMD *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( SwapchainDisplayNativeHdrCreateInfoAMD const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(SwapchainDisplayNativeHdrCreateInfoAMD const &) const = default;
 #else
-    bool operator==( SwapchainDisplayNativeHdrCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( localDimmingEnable == rhs.localDimmingEnable );
-    }
+  bool operator==(SwapchainDisplayNativeHdrCreateInfoAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (localDimmingEnable == rhs.localDimmingEnable);
+  }
 
-    bool operator!=( SwapchainDisplayNativeHdrCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(SwapchainDisplayNativeHdrCreateInfoAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD;
-    const void *                              pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              localDimmingEnable = {};
-  };
-  static_assert( sizeof( SwapchainDisplayNativeHdrCreateInfoAMD ) == sizeof( VkSwapchainDisplayNativeHdrCreateInfoAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<SwapchainDisplayNativeHdrCreateInfoAMD>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable = {};
+};
+static_assert(sizeof(SwapchainDisplayNativeHdrCreateInfoAMD) ==
+                  sizeof(VkSwapchainDisplayNativeHdrCreateInfoAMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<SwapchainDisplayNativeHdrCreateInfoAMD>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD>
-  {
-    using Type = SwapchainDisplayNativeHdrCreateInfoAMD;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD> {
+  using Type = SwapchainDisplayNativeHdrCreateInfoAMD;
+};
 
-  struct TextureLODGatherFormatPropertiesAMD
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct TextureLODGatherFormatPropertiesAMD {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eTextureLodGatherFormatPropertiesAMD;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR TextureLODGatherFormatPropertiesAMD(
-      VULKAN_HPP_NAMESPACE::Bool32 supportsTextureGatherLODBiasAMD_ = {} ) VULKAN_HPP_NOEXCEPT
-      : supportsTextureGatherLODBiasAMD( supportsTextureGatherLODBiasAMD_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR TextureLODGatherFormatPropertiesAMD(
+      VULKAN_HPP_NAMESPACE::Bool32 supportsTextureGatherLODBiasAMD_ = {})
+      VULKAN_HPP_NOEXCEPT
+      : supportsTextureGatherLODBiasAMD(supportsTextureGatherLODBiasAMD_) {}
 
-    TextureLODGatherFormatPropertiesAMD( VkTextureLODGatherFormatPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR TextureLODGatherFormatPropertiesAMD(
+      TextureLODGatherFormatPropertiesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    TextureLODGatherFormatPropertiesAMD &
-      operator=( VkTextureLODGatherFormatPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD const *>( &rhs );
-      return *this;
-    }
+  TextureLODGatherFormatPropertiesAMD(
+      VkTextureLODGatherFormatPropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
+      : TextureLODGatherFormatPropertiesAMD(
+            *reinterpret_cast<TextureLODGatherFormatPropertiesAMD const *>(
+                &rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    TextureLODGatherFormatPropertiesAMD &
-      operator=( TextureLODGatherFormatPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                           = rhs.pNext;
-      supportsTextureGatherLODBiasAMD = rhs.supportsTextureGatherLODBiasAMD;
+  VULKAN_HPP_CONSTEXPR_14 TextureLODGatherFormatPropertiesAMD &
+  operator=(TextureLODGatherFormatPropertiesAMD const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  TextureLODGatherFormatPropertiesAMD &operator=(
+      VkTextureLODGatherFormatPropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD const *>(
+        &rhs);
+    return *this;
+  }
 
-    operator VkTextureLODGatherFormatPropertiesAMD const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD *>( this );
-    }
+  operator VkTextureLODGatherFormatPropertiesAMD const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD *>(
+        this);
+  }
 
-    operator VkTextureLODGatherFormatPropertiesAMD &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD *>( this );
-    }
+  operator VkTextureLODGatherFormatPropertiesAMD &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( TextureLODGatherFormatPropertiesAMD const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(TextureLODGatherFormatPropertiesAMD const &) const = default;
 #else
-    bool operator==( TextureLODGatherFormatPropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( supportsTextureGatherLODBiasAMD == rhs.supportsTextureGatherLODBiasAMD );
-    }
+  bool operator==(TextureLODGatherFormatPropertiesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (supportsTextureGatherLODBiasAMD ==
+            rhs.supportsTextureGatherLODBiasAMD);
+  }
 
-    bool operator!=( TextureLODGatherFormatPropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(TextureLODGatherFormatPropertiesAMD const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eTextureLodGatherFormatPropertiesAMD;
-    void *                                    pNext = {};
-    VULKAN_HPP_NAMESPACE::Bool32              supportsTextureGatherLODBiasAMD = {};
-  };
-  static_assert( sizeof( TextureLODGatherFormatPropertiesAMD ) == sizeof( VkTextureLODGatherFormatPropertiesAMD ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<TextureLODGatherFormatPropertiesAMD>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eTextureLodGatherFormatPropertiesAMD;
+  void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Bool32 supportsTextureGatherLODBiasAMD = {};
+};
+static_assert(sizeof(TextureLODGatherFormatPropertiesAMD) ==
+                  sizeof(VkTextureLODGatherFormatPropertiesAMD),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<TextureLODGatherFormatPropertiesAMD>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eTextureLodGatherFormatPropertiesAMD>
-  {
-    using Type = TextureLODGatherFormatPropertiesAMD;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eTextureLodGatherFormatPropertiesAMD> {
+  using Type = TextureLODGatherFormatPropertiesAMD;
+};
 
-  struct TimelineSemaphoreSubmitInfo
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eTimelineSemaphoreSubmitInfo;
+struct TimelineSemaphoreSubmitInfo {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eTimelineSemaphoreSubmitInfo;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    TimelineSemaphoreSubmitInfo( uint32_t         waitSemaphoreValueCount_   = {},
-                                 const uint64_t * pWaitSemaphoreValues_      = {},
-                                 uint32_t         signalSemaphoreValueCount_ = {},
-                                 const uint64_t * pSignalSemaphoreValues_    = {} ) VULKAN_HPP_NOEXCEPT
-      : waitSemaphoreValueCount( waitSemaphoreValueCount_ )
-      , pWaitSemaphoreValues( pWaitSemaphoreValues_ )
-      , signalSemaphoreValueCount( signalSemaphoreValueCount_ )
-      , pSignalSemaphoreValues( pSignalSemaphoreValues_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR TimelineSemaphoreSubmitInfo(
+      uint32_t waitSemaphoreValueCount_ = {},
+      const uint64_t *pWaitSemaphoreValues_ = {},
+      uint32_t signalSemaphoreValueCount_ = {},
+      const uint64_t *pSignalSemaphoreValues_ = {}) VULKAN_HPP_NOEXCEPT
+      : waitSemaphoreValueCount(waitSemaphoreValueCount_),
+        pWaitSemaphoreValues(pWaitSemaphoreValues_),
+        signalSemaphoreValueCount(signalSemaphoreValueCount_),
+        pSignalSemaphoreValues(pSignalSemaphoreValues_) {}
 
-    TimelineSemaphoreSubmitInfo( VkTimelineSemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR TimelineSemaphoreSubmitInfo(
+      TimelineSemaphoreSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    TimelineSemaphoreSubmitInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ = {} )
-      : waitSemaphoreValueCount( static_cast<uint32_t>( waitSemaphoreValues_.size() ) )
-      , pWaitSemaphoreValues( waitSemaphoreValues_.data() )
-      , signalSemaphoreValueCount( static_cast<uint32_t>( signalSemaphoreValues_.size() ) )
-      , pSignalSemaphoreValues( signalSemaphoreValues_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  TimelineSemaphoreSubmitInfo(VkTimelineSemaphoreSubmitInfo const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : TimelineSemaphoreSubmitInfo(
+            *reinterpret_cast<TimelineSemaphoreSubmitInfo const *>(&rhs)) {}
 
-    TimelineSemaphoreSubmitInfo & operator=( VkTimelineSemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  TimelineSemaphoreSubmitInfo(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &waitSemaphoreValues_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &signalSemaphoreValues_ = {})
+      : waitSemaphoreValueCount(
+            static_cast<uint32_t>(waitSemaphoreValues_.size())),
+        pWaitSemaphoreValues(waitSemaphoreValues_.data()),
+        signalSemaphoreValueCount(
+            static_cast<uint32_t>(signalSemaphoreValues_.size())),
+        pSignalSemaphoreValues(signalSemaphoreValues_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    TimelineSemaphoreSubmitInfo & operator=( TimelineSemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                     = rhs.pNext;
-      waitSemaphoreValueCount   = rhs.waitSemaphoreValueCount;
-      pWaitSemaphoreValues      = rhs.pWaitSemaphoreValues;
-      signalSemaphoreValueCount = rhs.signalSemaphoreValueCount;
-      pSignalSemaphoreValues    = rhs.pSignalSemaphoreValues;
+  VULKAN_HPP_CONSTEXPR_14 TimelineSemaphoreSubmitInfo &operator=(
+      TimelineSemaphoreSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  TimelineSemaphoreSubmitInfo &
+  operator=(VkTimelineSemaphoreSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo const *>(&rhs);
+    return *this;
+  }
 
-    TimelineSemaphoreSubmitInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  TimelineSemaphoreSubmitInfo &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    TimelineSemaphoreSubmitInfo & setWaitSemaphoreValueCount( uint32_t waitSemaphoreValueCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreValueCount = waitSemaphoreValueCount_;
-      return *this;
-    }
+  TimelineSemaphoreSubmitInfo &setWaitSemaphoreValueCount(
+      uint32_t waitSemaphoreValueCount_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreValueCount = waitSemaphoreValueCount_;
+    return *this;
+  }
 
-    TimelineSemaphoreSubmitInfo & setPWaitSemaphoreValues( const uint64_t * pWaitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pWaitSemaphoreValues = pWaitSemaphoreValues_;
-      return *this;
-    }
+  TimelineSemaphoreSubmitInfo &setPWaitSemaphoreValues(
+      const uint64_t *pWaitSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    pWaitSemaphoreValues = pWaitSemaphoreValues_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    TimelineSemaphoreSubmitInfo & setWaitSemaphoreValues(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      waitSemaphoreValueCount = static_cast<uint32_t>( waitSemaphoreValues_.size() );
-      pWaitSemaphoreValues    = waitSemaphoreValues_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  TimelineSemaphoreSubmitInfo &setWaitSemaphoreValues(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &waitSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    waitSemaphoreValueCount =
+        static_cast<uint32_t>(waitSemaphoreValues_.size());
+    pWaitSemaphoreValues = waitSemaphoreValues_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    TimelineSemaphoreSubmitInfo &
-      setSignalSemaphoreValueCount( uint32_t signalSemaphoreValueCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreValueCount = signalSemaphoreValueCount_;
-      return *this;
-    }
+  TimelineSemaphoreSubmitInfo &setSignalSemaphoreValueCount(
+      uint32_t signalSemaphoreValueCount_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreValueCount = signalSemaphoreValueCount_;
+    return *this;
+  }
 
-    TimelineSemaphoreSubmitInfo &
-      setPSignalSemaphoreValues( const uint64_t * pSignalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pSignalSemaphoreValues = pSignalSemaphoreValues_;
-      return *this;
-    }
+  TimelineSemaphoreSubmitInfo &setPSignalSemaphoreValues(
+      const uint64_t *pSignalSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    pSignalSemaphoreValues = pSignalSemaphoreValues_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    TimelineSemaphoreSubmitInfo & setSignalSemaphoreValues(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
-    {
-      signalSemaphoreValueCount = static_cast<uint32_t>( signalSemaphoreValues_.size() );
-      pSignalSemaphoreValues    = signalSemaphoreValues_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  TimelineSemaphoreSubmitInfo &setSignalSemaphoreValues(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &signalSemaphoreValues_) VULKAN_HPP_NOEXCEPT {
+    signalSemaphoreValueCount =
+        static_cast<uint32_t>(signalSemaphoreValues_.size());
+    pSignalSemaphoreValues = signalSemaphoreValues_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkTimelineSemaphoreSubmitInfo const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkTimelineSemaphoreSubmitInfo *>( this );
-    }
+  operator VkTimelineSemaphoreSubmitInfo const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkTimelineSemaphoreSubmitInfo *>(this);
+  }
 
-    operator VkTimelineSemaphoreSubmitInfo &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkTimelineSemaphoreSubmitInfo *>( this );
-    }
+  operator VkTimelineSemaphoreSubmitInfo &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkTimelineSemaphoreSubmitInfo *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( TimelineSemaphoreSubmitInfo const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(TimelineSemaphoreSubmitInfo const &) const = default;
 #else
-    bool operator==( TimelineSemaphoreSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( waitSemaphoreValueCount == rhs.waitSemaphoreValueCount ) &&
-             ( pWaitSemaphoreValues == rhs.pWaitSemaphoreValues ) &&
-             ( signalSemaphoreValueCount == rhs.signalSemaphoreValueCount ) &&
-             ( pSignalSemaphoreValues == rhs.pSignalSemaphoreValues );
-    }
+  bool
+  operator==(TimelineSemaphoreSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (waitSemaphoreValueCount == rhs.waitSemaphoreValueCount) &&
+           (pWaitSemaphoreValues == rhs.pWaitSemaphoreValues) &&
+           (signalSemaphoreValueCount == rhs.signalSemaphoreValueCount) &&
+           (pSignalSemaphoreValues == rhs.pSignalSemaphoreValues);
+  }
 
-    bool operator!=( TimelineSemaphoreSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(TimelineSemaphoreSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType                     = StructureType::eTimelineSemaphoreSubmitInfo;
-    const void *                              pNext                     = {};
-    uint32_t                                  waitSemaphoreValueCount   = {};
-    const uint64_t *                          pWaitSemaphoreValues      = {};
-    uint32_t                                  signalSemaphoreValueCount = {};
-    const uint64_t *                          pSignalSemaphoreValues    = {};
-  };
-  static_assert( sizeof( TimelineSemaphoreSubmitInfo ) == sizeof( VkTimelineSemaphoreSubmitInfo ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<TimelineSemaphoreSubmitInfo>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eTimelineSemaphoreSubmitInfo;
+  const void *pNext = {};
+  uint32_t waitSemaphoreValueCount = {};
+  const uint64_t *pWaitSemaphoreValues = {};
+  uint32_t signalSemaphoreValueCount = {};
+  const uint64_t *pSignalSemaphoreValues = {};
+};
+static_assert(sizeof(TimelineSemaphoreSubmitInfo) ==
+                  sizeof(VkTimelineSemaphoreSubmitInfo),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<TimelineSemaphoreSubmitInfo>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eTimelineSemaphoreSubmitInfo>
-  {
-    using Type = TimelineSemaphoreSubmitInfo;
-  };
+template <>
+struct CppType<StructureType, StructureType::eTimelineSemaphoreSubmitInfo> {
+  using Type = TimelineSemaphoreSubmitInfo;
+};
+using TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  struct TraceRaysIndirectCommandKHR
-  {
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR TraceRaysIndirectCommandKHR( uint32_t width_  = {},
-                                                      uint32_t height_ = {},
-                                                      uint32_t depth_  = {} ) VULKAN_HPP_NOEXCEPT
-      : width( width_ )
-      , height( height_ )
-      , depth( depth_ )
-    {}
+struct TraceRaysIndirectCommandKHR {
 
-    TraceRaysIndirectCommandKHR( VkTraceRaysIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  TraceRaysIndirectCommandKHR(uint32_t width_ = {}, uint32_t height_ = {},
+                              uint32_t depth_ = {}) VULKAN_HPP_NOEXCEPT
+      : width(width_),
+        height(height_),
+        depth(depth_) {}
 
-    explicit TraceRaysIndirectCommandKHR( Extent2D const & extent2D, uint32_t depth_ = {} )
-      : width( extent2D.width ), height( extent2D.height ), depth( depth_ )
-    {}
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR TraceRaysIndirectCommandKHR(
+      TraceRaysIndirectCommandKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    TraceRaysIndirectCommandKHR & operator=( VkTraceRaysIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR const *>( &rhs );
-      return *this;
-    }
+  TraceRaysIndirectCommandKHR(VkTraceRaysIndirectCommandKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : TraceRaysIndirectCommandKHR(
+            *reinterpret_cast<TraceRaysIndirectCommandKHR const *>(&rhs)) {}
 
-    TraceRaysIndirectCommandKHR & setWidth( uint32_t width_ ) VULKAN_HPP_NOEXCEPT
-    {
-      width = width_;
-      return *this;
-    }
+  explicit TraceRaysIndirectCommandKHR(Extent2D const &extent2D,
+                                       uint32_t depth_ = {})
+      : width(extent2D.width), height(extent2D.height), depth(depth_) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    TraceRaysIndirectCommandKHR & setHeight( uint32_t height_ ) VULKAN_HPP_NOEXCEPT
-    {
-      height = height_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommandKHR &operator=(
+      TraceRaysIndirectCommandKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    TraceRaysIndirectCommandKHR & setDepth( uint32_t depth_ ) VULKAN_HPP_NOEXCEPT
-    {
-      depth = depth_;
-      return *this;
-    }
+  TraceRaysIndirectCommandKHR &
+  operator=(VkTraceRaysIndirectCommandKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR const *>(&rhs);
+    return *this;
+  }
 
-    operator VkTraceRaysIndirectCommandKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkTraceRaysIndirectCommandKHR *>( this );
-    }
+  TraceRaysIndirectCommandKHR &setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT {
+    width = width_;
+    return *this;
+  }
 
-    operator VkTraceRaysIndirectCommandKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkTraceRaysIndirectCommandKHR *>( this );
-    }
+  TraceRaysIndirectCommandKHR &setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT {
+    height = height_;
+    return *this;
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( TraceRaysIndirectCommandKHR const & ) const = default;
-#  else
-    bool operator==( TraceRaysIndirectCommandKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( width == rhs.width ) && ( height == rhs.height ) && ( depth == rhs.depth );
-    }
+  TraceRaysIndirectCommandKHR &setDepth(uint32_t depth_) VULKAN_HPP_NOEXCEPT {
+    depth = depth_;
+    return *this;
+  }
 
-    bool operator!=( TraceRaysIndirectCommandKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  operator VkTraceRaysIndirectCommandKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkTraceRaysIndirectCommandKHR *>(this);
+  }
 
-  public:
-    uint32_t width  = {};
-    uint32_t height = {};
-    uint32_t depth  = {};
-  };
-  static_assert( sizeof( TraceRaysIndirectCommandKHR ) == sizeof( VkTraceRaysIndirectCommandKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<TraceRaysIndirectCommandKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+  operator VkTraceRaysIndirectCommandKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkTraceRaysIndirectCommandKHR *>(this);
+  }
 
-  struct ValidationCacheCreateInfoEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eValidationCacheCreateInfoEXT;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ValidationCacheCreateInfoEXT( VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_ = {},
-                                                       size_t       initialDataSize_                              = {},
-                                                       const void * pInitialData_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , initialDataSize( initialDataSize_ )
-      , pInitialData( pInitialData_ )
-    {}
-
-    ValidationCacheCreateInfoEXT( VkValidationCacheCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    ValidationCacheCreateInfoEXT( VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT            flags_,
-                                  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & initialData_ )
-      : flags( flags_ ), initialDataSize( initialData_.size() * sizeof( T ) ), pInitialData( initialData_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    ValidationCacheCreateInfoEXT & operator=( VkValidationCacheCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const *>( &rhs );
-      return *this;
-    }
-
-    ValidationCacheCreateInfoEXT & operator=( ValidationCacheCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext           = rhs.pNext;
-      flags           = rhs.flags;
-      initialDataSize = rhs.initialDataSize;
-      pInitialData    = rhs.pInitialData;
-
-      return *this;
-    }
-
-    ValidationCacheCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    ValidationCacheCreateInfoEXT &
-      setFlags( VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    ValidationCacheCreateInfoEXT & setInitialDataSize( size_t initialDataSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialDataSize = initialDataSize_;
-      return *this;
-    }
-
-    ValidationCacheCreateInfoEXT & setPInitialData( const void * pInitialData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pInitialData = pInitialData_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    ValidationCacheCreateInfoEXT &
-      setInitialData( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & initialData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      initialDataSize = initialData_.size() * sizeof( T );
-      pInitialData    = initialData_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkValidationCacheCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( this );
-    }
-
-    operator VkValidationCacheCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkValidationCacheCreateInfoEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ValidationCacheCreateInfoEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(TraceRaysIndirectCommandKHR const &) const = default;
 #else
-    bool operator==( ValidationCacheCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( initialDataSize == rhs.initialDataSize ) && ( pInitialData == rhs.pInitialData );
-    }
+  bool
+  operator==(TraceRaysIndirectCommandKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (width == rhs.width) && (height == rhs.height) &&
+           (depth == rhs.depth);
+  }
 
-    bool operator!=( ValidationCacheCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool
+  operator!=(TraceRaysIndirectCommandKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType           sType           = StructureType::eValidationCacheCreateInfoEXT;
-    const void *                                        pNext           = {};
-    VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags           = {};
-    size_t                                              initialDataSize = {};
-    const void *                                        pInitialData    = {};
-  };
-  static_assert( sizeof( ValidationCacheCreateInfoEXT ) == sizeof( VkValidationCacheCreateInfoEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ValidationCacheCreateInfoEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  uint32_t width = {};
+  uint32_t height = {};
+  uint32_t depth = {};
+};
+static_assert(sizeof(TraceRaysIndirectCommandKHR) ==
+                  sizeof(VkTraceRaysIndirectCommandKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<TraceRaysIndirectCommandKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eValidationCacheCreateInfoEXT>
-  {
-    using Type = ValidationCacheCreateInfoEXT;
-  };
+struct ValidationFeaturesEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eValidationFeaturesEXT;
 
-  struct ValidationFeaturesEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eValidationFeaturesEXT;
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ValidationFeaturesEXT(
+      uint32_t enabledValidationFeatureCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT
+          *pEnabledValidationFeatures_ = {},
+      uint32_t disabledValidationFeatureCount_ = {},
+      const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT
+          *pDisabledValidationFeatures_ = {}) VULKAN_HPP_NOEXCEPT
+      : enabledValidationFeatureCount(enabledValidationFeatureCount_),
+        pEnabledValidationFeatures(pEnabledValidationFeatures_),
+        disabledValidationFeatureCount(disabledValidationFeatureCount_),
+        pDisabledValidationFeatures(pDisabledValidationFeatures_) {}
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ValidationFeaturesEXT(
-      uint32_t                                                  enabledValidationFeatureCount_  = {},
-      const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT *  pEnabledValidationFeatures_     = {},
-      uint32_t                                                  disabledValidationFeatureCount_ = {},
-      const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT * pDisabledValidationFeatures_ = {} ) VULKAN_HPP_NOEXCEPT
-      : enabledValidationFeatureCount( enabledValidationFeatureCount_ )
-      , pEnabledValidationFeatures( pEnabledValidationFeatures_ )
-      , disabledValidationFeatureCount( disabledValidationFeatureCount_ )
-      , pDisabledValidationFeatures( pDisabledValidationFeatures_ )
-    {}
+  VULKAN_HPP_CONSTEXPR ValidationFeaturesEXT(ValidationFeaturesEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    ValidationFeaturesEXT( VkValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  ValidationFeaturesEXT(VkValidationFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : ValidationFeaturesEXT(
+            *reinterpret_cast<ValidationFeaturesEXT const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ValidationFeaturesEXT(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT> const &
-        enabledValidationFeatures_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT> const &
-        disabledValidationFeatures_ = {} )
-      : enabledValidationFeatureCount( static_cast<uint32_t>( enabledValidationFeatures_.size() ) )
-      , pEnabledValidationFeatures( enabledValidationFeatures_.data() )
-      , disabledValidationFeatureCount( static_cast<uint32_t>( disabledValidationFeatures_.size() ) )
-      , pDisabledValidationFeatures( disabledValidationFeatures_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ValidationFeaturesEXT(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT> const
+          &enabledValidationFeatures_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT> const
+          &disabledValidationFeatures_ = {})
+      : enabledValidationFeatureCount(
+            static_cast<uint32_t>(enabledValidationFeatures_.size())),
+        pEnabledValidationFeatures(enabledValidationFeatures_.data()),
+        disabledValidationFeatureCount(
+            static_cast<uint32_t>(disabledValidationFeatures_.size())),
+        pDisabledValidationFeatures(disabledValidationFeatures_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ValidationFeaturesEXT & operator=( VkValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 ValidationFeaturesEXT &
+  operator=(ValidationFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    ValidationFeaturesEXT & operator=( ValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                          = rhs.pNext;
-      enabledValidationFeatureCount  = rhs.enabledValidationFeatureCount;
-      pEnabledValidationFeatures     = rhs.pEnabledValidationFeatures;
-      disabledValidationFeatureCount = rhs.disabledValidationFeatureCount;
-      pDisabledValidationFeatures    = rhs.pDisabledValidationFeatures;
+  ValidationFeaturesEXT &
+  operator=(VkValidationFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const *>(
+            &rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  ValidationFeaturesEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    ValidationFeaturesEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  ValidationFeaturesEXT &setEnabledValidationFeatureCount(
+      uint32_t enabledValidationFeatureCount_) VULKAN_HPP_NOEXCEPT {
+    enabledValidationFeatureCount = enabledValidationFeatureCount_;
+    return *this;
+  }
 
-    ValidationFeaturesEXT &
-      setEnabledValidationFeatureCount( uint32_t enabledValidationFeatureCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enabledValidationFeatureCount = enabledValidationFeatureCount_;
-      return *this;
-    }
+  ValidationFeaturesEXT &setPEnabledValidationFeatures(
+      const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT
+          *pEnabledValidationFeatures_) VULKAN_HPP_NOEXCEPT {
+    pEnabledValidationFeatures = pEnabledValidationFeatures_;
+    return *this;
+  }
 
-    ValidationFeaturesEXT & setPEnabledValidationFeatures(
-      const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT * pEnabledValidationFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pEnabledValidationFeatures = pEnabledValidationFeatures_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ValidationFeaturesEXT &setEnabledValidationFeatures(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT> const
+          &enabledValidationFeatures_) VULKAN_HPP_NOEXCEPT {
+    enabledValidationFeatureCount =
+        static_cast<uint32_t>(enabledValidationFeatures_.size());
+    pEnabledValidationFeatures = enabledValidationFeatures_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ValidationFeaturesEXT & setEnabledValidationFeatures(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT> const &
-        enabledValidationFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      enabledValidationFeatureCount = static_cast<uint32_t>( enabledValidationFeatures_.size() );
-      pEnabledValidationFeatures    = enabledValidationFeatures_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ValidationFeaturesEXT &setDisabledValidationFeatureCount(
+      uint32_t disabledValidationFeatureCount_) VULKAN_HPP_NOEXCEPT {
+    disabledValidationFeatureCount = disabledValidationFeatureCount_;
+    return *this;
+  }
 
-    ValidationFeaturesEXT &
-      setDisabledValidationFeatureCount( uint32_t disabledValidationFeatureCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      disabledValidationFeatureCount = disabledValidationFeatureCount_;
-      return *this;
-    }
+  ValidationFeaturesEXT &setPDisabledValidationFeatures(
+      const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT
+          *pDisabledValidationFeatures_) VULKAN_HPP_NOEXCEPT {
+    pDisabledValidationFeatures = pDisabledValidationFeatures_;
+    return *this;
+  }
 
-    ValidationFeaturesEXT & setPDisabledValidationFeatures(
-      const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT * pDisabledValidationFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDisabledValidationFeatures = pDisabledValidationFeatures_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ValidationFeaturesEXT &setDisabledValidationFeatures(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT> const
+          &disabledValidationFeatures_) VULKAN_HPP_NOEXCEPT {
+    disabledValidationFeatureCount =
+        static_cast<uint32_t>(disabledValidationFeatures_.size());
+    pDisabledValidationFeatures = disabledValidationFeatures_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ValidationFeaturesEXT & setDisabledValidationFeatures(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT> const &
-        disabledValidationFeatures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      disabledValidationFeatureCount = static_cast<uint32_t>( disabledValidationFeatures_.size() );
-      pDisabledValidationFeatures    = disabledValidationFeatures_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkValidationFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkValidationFeaturesEXT *>(this);
+  }
 
-    operator VkValidationFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkValidationFeaturesEXT *>( this );
-    }
+  operator VkValidationFeaturesEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkValidationFeaturesEXT *>(this);
+  }
 
-    operator VkValidationFeaturesEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkValidationFeaturesEXT *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ValidationFeaturesEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ValidationFeaturesEXT const &) const = default;
 #else
-    bool operator==( ValidationFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( enabledValidationFeatureCount == rhs.enabledValidationFeatureCount ) &&
-             ( pEnabledValidationFeatures == rhs.pEnabledValidationFeatures ) &&
-             ( disabledValidationFeatureCount == rhs.disabledValidationFeatureCount ) &&
-             ( pDisabledValidationFeatures == rhs.pDisabledValidationFeatures );
-    }
+  bool operator==(ValidationFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (enabledValidationFeatureCount ==
+            rhs.enabledValidationFeatureCount) &&
+           (pEnabledValidationFeatures == rhs.pEnabledValidationFeatures) &&
+           (disabledValidationFeatureCount ==
+            rhs.disabledValidationFeatureCount) &&
+           (pDisabledValidationFeatures == rhs.pDisabledValidationFeatures);
+  }
 
-    bool operator!=( ValidationFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ValidationFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType                 sType = StructureType::eValidationFeaturesEXT;
-    const void *                                              pNext = {};
-    uint32_t                                                  enabledValidationFeatureCount  = {};
-    const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT *  pEnabledValidationFeatures     = {};
-    uint32_t                                                  disabledValidationFeatureCount = {};
-    const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT * pDisabledValidationFeatures    = {};
-  };
-  static_assert( sizeof( ValidationFeaturesEXT ) == sizeof( VkValidationFeaturesEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ValidationFeaturesEXT>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eValidationFeaturesEXT;
+  const void *pNext = {};
+  uint32_t enabledValidationFeatureCount = {};
+  const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT
+      *pEnabledValidationFeatures = {};
+  uint32_t disabledValidationFeatureCount = {};
+  const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT
+      *pDisabledValidationFeatures = {};
+};
+static_assert(sizeof(ValidationFeaturesEXT) == sizeof(VkValidationFeaturesEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ValidationFeaturesEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eValidationFeaturesEXT>
-  {
-    using Type = ValidationFeaturesEXT;
-  };
+template <>
+struct CppType<StructureType, StructureType::eValidationFeaturesEXT> {
+  using Type = ValidationFeaturesEXT;
+};
 
-  struct ValidationFlagsEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eValidationFlagsEXT;
+struct ValidationFlagsEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eValidationFlagsEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ValidationFlagsEXT(
-      uint32_t                                         disabledValidationCheckCount_ = {},
-      const VULKAN_HPP_NAMESPACE::ValidationCheckEXT * pDisabledValidationChecks_    = {} ) VULKAN_HPP_NOEXCEPT
-      : disabledValidationCheckCount( disabledValidationCheckCount_ )
-      , pDisabledValidationChecks( pDisabledValidationChecks_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR
+  ValidationFlagsEXT(uint32_t disabledValidationCheckCount_ = {},
+                     const VULKAN_HPP_NAMESPACE::ValidationCheckEXT
+                         *pDisabledValidationChecks_ = {}) VULKAN_HPP_NOEXCEPT
+      : disabledValidationCheckCount(disabledValidationCheckCount_),
+        pDisabledValidationChecks(pDisabledValidationChecks_) {}
 
-    ValidationFlagsEXT( VkValidationFlagsEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR ValidationFlagsEXT(ValidationFlagsEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ValidationFlagsEXT(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ValidationCheckEXT> const &
-        disabledValidationChecks_ )
-      : disabledValidationCheckCount( static_cast<uint32_t>( disabledValidationChecks_.size() ) )
-      , pDisabledValidationChecks( disabledValidationChecks_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  ValidationFlagsEXT(VkValidationFlagsEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : ValidationFlagsEXT(
+            *reinterpret_cast<ValidationFlagsEXT const *>(&rhs)) {}
 
-    ValidationFlagsEXT & operator=( VkValidationFlagsEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationFlagsEXT const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ValidationFlagsEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+                     const VULKAN_HPP_NAMESPACE::ValidationCheckEXT> const
+                         &disabledValidationChecks_)
+      : disabledValidationCheckCount(
+            static_cast<uint32_t>(disabledValidationChecks_.size())),
+        pDisabledValidationChecks(disabledValidationChecks_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ValidationFlagsEXT & operator=( ValidationFlagsEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                        = rhs.pNext;
-      disabledValidationCheckCount = rhs.disabledValidationCheckCount;
-      pDisabledValidationChecks    = rhs.pDisabledValidationChecks;
+  VULKAN_HPP_CONSTEXPR_14 ValidationFlagsEXT &
+  operator=(ValidationFlagsEXT const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  ValidationFlagsEXT &
+  operator=(VkValidationFlagsEXT const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationFlagsEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    ValidationFlagsEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  ValidationFlagsEXT &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    ValidationFlagsEXT & setDisabledValidationCheckCount( uint32_t disabledValidationCheckCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      disabledValidationCheckCount = disabledValidationCheckCount_;
-      return *this;
-    }
+  ValidationFlagsEXT &setDisabledValidationCheckCount(
+      uint32_t disabledValidationCheckCount_) VULKAN_HPP_NOEXCEPT {
+    disabledValidationCheckCount = disabledValidationCheckCount_;
+    return *this;
+  }
 
-    ValidationFlagsEXT & setPDisabledValidationChecks(
-      const VULKAN_HPP_NAMESPACE::ValidationCheckEXT * pDisabledValidationChecks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pDisabledValidationChecks = pDisabledValidationChecks_;
-      return *this;
-    }
+  ValidationFlagsEXT &setPDisabledValidationChecks(
+      const VULKAN_HPP_NAMESPACE::ValidationCheckEXT
+          *pDisabledValidationChecks_) VULKAN_HPP_NOEXCEPT {
+    pDisabledValidationChecks = pDisabledValidationChecks_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    ValidationFlagsEXT & setDisabledValidationChecks(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ValidationCheckEXT> const &
-        disabledValidationChecks_ ) VULKAN_HPP_NOEXCEPT
-    {
-      disabledValidationCheckCount = static_cast<uint32_t>( disabledValidationChecks_.size() );
-      pDisabledValidationChecks    = disabledValidationChecks_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  ValidationFlagsEXT &setDisabledValidationChecks(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::ValidationCheckEXT> const
+          &disabledValidationChecks_) VULKAN_HPP_NOEXCEPT {
+    disabledValidationCheckCount =
+        static_cast<uint32_t>(disabledValidationChecks_.size());
+    pDisabledValidationChecks = disabledValidationChecks_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkValidationFlagsEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkValidationFlagsEXT *>( this );
-    }
+  operator VkValidationFlagsEXT const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkValidationFlagsEXT *>(this);
+  }
 
-    operator VkValidationFlagsEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkValidationFlagsEXT *>( this );
-    }
+  operator VkValidationFlagsEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkValidationFlagsEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ValidationFlagsEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ValidationFlagsEXT const &) const = default;
 #else
-    bool operator==( ValidationFlagsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( disabledValidationCheckCount == rhs.disabledValidationCheckCount ) &&
-             ( pDisabledValidationChecks == rhs.pDisabledValidationChecks );
-    }
+  bool operator==(ValidationFlagsEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (disabledValidationCheckCount == rhs.disabledValidationCheckCount) &&
+           (pDisabledValidationChecks == rhs.pDisabledValidationChecks);
+  }
 
-    bool operator!=( ValidationFlagsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(ValidationFlagsEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType                        = StructureType::eValidationFlagsEXT;
-    const void *                                     pNext                        = {};
-    uint32_t                                         disabledValidationCheckCount = {};
-    const VULKAN_HPP_NAMESPACE::ValidationCheckEXT * pDisabledValidationChecks    = {};
-  };
-  static_assert( sizeof( ValidationFlagsEXT ) == sizeof( VkValidationFlagsEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ValidationFlagsEXT>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eValidationFlagsEXT;
+  const void *pNext = {};
+  uint32_t disabledValidationCheckCount = {};
+  const VULKAN_HPP_NAMESPACE::ValidationCheckEXT *pDisabledValidationChecks =
+      {};
+};
+static_assert(sizeof(ValidationFlagsEXT) == sizeof(VkValidationFlagsEXT),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ValidationFlagsEXT>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eValidationFlagsEXT>
-  {
-    using Type = ValidationFlagsEXT;
-  };
+template <> struct CppType<StructureType, StructureType::eValidationFlagsEXT> {
+  using Type = ValidationFlagsEXT;
+};
 
-#ifdef VK_USE_PLATFORM_VI_NN
-  struct ViSurfaceCreateInfoNN
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eViSurfaceCreateInfoNN;
+#if defined(VK_USE_PLATFORM_VI_NN)
+struct ViSurfaceCreateInfoNN {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eViSurfaceCreateInfoNN;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR ViSurfaceCreateInfoNN( VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags_ = {},
-                                                void * window_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , window( window_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR ViSurfaceCreateInfoNN(
+      VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags_ = {},
+      void *window_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                window(window_) {}
 
-    ViSurfaceCreateInfoNN( VkViSurfaceCreateInfoNN const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR ViSurfaceCreateInfoNN(ViSurfaceCreateInfoNN const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    ViSurfaceCreateInfoNN & operator=( VkViSurfaceCreateInfoNN const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const *>( &rhs );
-      return *this;
-    }
+  ViSurfaceCreateInfoNN(VkViSurfaceCreateInfoNN const &rhs) VULKAN_HPP_NOEXCEPT
+      : ViSurfaceCreateInfoNN(
+            *reinterpret_cast<ViSurfaceCreateInfoNN const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    ViSurfaceCreateInfoNN & operator=( ViSurfaceCreateInfoNN const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      flags  = rhs.flags;
-      window = rhs.window;
+  VULKAN_HPP_CONSTEXPR_14 ViSurfaceCreateInfoNN &
+  operator=(ViSurfaceCreateInfoNN const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  ViSurfaceCreateInfoNN &
+  operator=(VkViSurfaceCreateInfoNN const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this =
+        *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const *>(
+            &rhs);
+    return *this;
+  }
 
-    ViSurfaceCreateInfoNN & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  ViSurfaceCreateInfoNN &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    ViSurfaceCreateInfoNN & setFlags( VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  ViSurfaceCreateInfoNN &setFlags(
+      VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags_) VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    ViSurfaceCreateInfoNN & setWindow( void * window_ ) VULKAN_HPP_NOEXCEPT
-    {
-      window = window_;
-      return *this;
-    }
+  ViSurfaceCreateInfoNN &setWindow(void *window_) VULKAN_HPP_NOEXCEPT {
+    window = window_;
+    return *this;
+  }
 
-    operator VkViSurfaceCreateInfoNN const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkViSurfaceCreateInfoNN *>( this );
-    }
+  operator VkViSurfaceCreateInfoNN const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkViSurfaceCreateInfoNN *>(this);
+  }
 
-    operator VkViSurfaceCreateInfoNN &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkViSurfaceCreateInfoNN *>( this );
-    }
+  operator VkViSurfaceCreateInfoNN &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkViSurfaceCreateInfoNN *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( ViSurfaceCreateInfoNN const & ) const = default;
-#  else
-    bool operator==( ViSurfaceCreateInfoNN const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( window == rhs.window );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(ViSurfaceCreateInfoNN const &) const = default;
+#else
+  bool operator==(ViSurfaceCreateInfoNN const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (window == rhs.window);
+  }
 
-    bool operator!=( ViSurfaceCreateInfoNN const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool operator!=(ViSurfaceCreateInfoNN const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType    sType  = StructureType::eViSurfaceCreateInfoNN;
-    const void *                                 pNext  = {};
-    VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags  = {};
-    void *                                       window = {};
-  };
-  static_assert( sizeof( ViSurfaceCreateInfoNN ) == sizeof( VkViSurfaceCreateInfoNN ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<ViSurfaceCreateInfoNN>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eViSurfaceCreateInfoNN;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags = {};
+  void *window = {};
+};
+static_assert(sizeof(ViSurfaceCreateInfoNN) == sizeof(VkViSurfaceCreateInfoNN),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<ViSurfaceCreateInfoNN>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eViSurfaceCreateInfoNN>
-  {
-    using Type = ViSurfaceCreateInfoNN;
-  };
+template <>
+struct CppType<StructureType, StructureType::eViSurfaceCreateInfoNN> {
+  using Type = ViSurfaceCreateInfoNN;
+};
 #endif /*VK_USE_PLATFORM_VI_NN*/
 
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-  struct WaylandSurfaceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eWaylandSurfaceCreateInfoKHR;
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+struct WaylandSurfaceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eWaylandSurfaceCreateInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR WaylandSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags_   = {},
-                                                      struct wl_display *                                display_ = {},
-                                                      struct wl_surface * surface_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , display( display_ )
-      , surface( surface_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR WaylandSurfaceCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags_ = {},
+      struct wl_display *display_ = {},
+      struct wl_surface *surface_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        display(display_),
+        surface(surface_) {}
 
-    WaylandSurfaceCreateInfoKHR( VkWaylandSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR WaylandSurfaceCreateInfoKHR(
+      WaylandSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    WaylandSurfaceCreateInfoKHR & operator=( VkWaylandSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
+  WaylandSurfaceCreateInfoKHR(VkWaylandSurfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : WaylandSurfaceCreateInfoKHR(
+            *reinterpret_cast<WaylandSurfaceCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    WaylandSurfaceCreateInfoKHR & operator=( WaylandSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext   = rhs.pNext;
-      flags   = rhs.flags;
-      display = rhs.display;
-      surface = rhs.surface;
+  VULKAN_HPP_CONSTEXPR_14 WaylandSurfaceCreateInfoKHR &operator=(
+      WaylandSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  WaylandSurfaceCreateInfoKHR &
+  operator=(VkWaylandSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-    WaylandSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  WaylandSurfaceCreateInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    WaylandSurfaceCreateInfoKHR &
-      setFlags( VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  WaylandSurfaceCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    WaylandSurfaceCreateInfoKHR & setDisplay( struct wl_display * display_ ) VULKAN_HPP_NOEXCEPT
-    {
-      display = display_;
-      return *this;
-    }
+  WaylandSurfaceCreateInfoKHR &
+  setDisplay(struct wl_display *display_) VULKAN_HPP_NOEXCEPT {
+    display = display_;
+    return *this;
+  }
 
-    WaylandSurfaceCreateInfoKHR & setSurface( struct wl_surface * surface_ ) VULKAN_HPP_NOEXCEPT
-    {
-      surface = surface_;
-      return *this;
-    }
+  WaylandSurfaceCreateInfoKHR &
+  setSurface(struct wl_surface *surface_) VULKAN_HPP_NOEXCEPT {
+    surface = surface_;
+    return *this;
+  }
 
-    operator VkWaylandSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkWaylandSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>(this);
+  }
 
-    operator VkWaylandSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkWaylandSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkWaylandSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWaylandSurfaceCreateInfoKHR *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( WaylandSurfaceCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( WaylandSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( display == rhs.display ) &&
-             ( surface == rhs.surface );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(WaylandSurfaceCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(WaylandSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (display == rhs.display) &&
+           (surface == rhs.surface);
+  }
 
-    bool operator!=( WaylandSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool
+  operator!=(WaylandSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType   = StructureType::eWaylandSurfaceCreateInfoKHR;
-    const void *                                       pNext   = {};
-    VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags   = {};
-    struct wl_display *                                display = {};
-    struct wl_surface *                                surface = {};
-  };
-  static_assert( sizeof( WaylandSurfaceCreateInfoKHR ) == sizeof( VkWaylandSurfaceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<WaylandSurfaceCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWaylandSurfaceCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags = {};
+  struct wl_display *display = {};
+  struct wl_surface *surface = {};
+};
+static_assert(sizeof(WaylandSurfaceCreateInfoKHR) ==
+                  sizeof(VkWaylandSurfaceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<WaylandSurfaceCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eWaylandSurfaceCreateInfoKHR>
-  {
-    using Type = WaylandSurfaceCreateInfoKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::eWaylandSurfaceCreateInfoKHR> {
+  using Type = WaylandSurfaceCreateInfoKHR;
+};
 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
 
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct Win32KeyedMutexAcquireReleaseInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct Win32KeyedMutexAcquireReleaseInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    Win32KeyedMutexAcquireReleaseInfoKHR( uint32_t                                   acquireCount_     = {},
-                                          const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_    = {},
-                                          const uint64_t *                           pAcquireKeys_     = {},
-                                          const uint32_t *                           pAcquireTimeouts_ = {},
-                                          uint32_t                                   releaseCount_     = {},
-                                          const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_    = {},
-                                          const uint64_t * pReleaseKeys_ = {} ) VULKAN_HPP_NOEXCEPT
-      : acquireCount( acquireCount_ )
-      , pAcquireSyncs( pAcquireSyncs_ )
-      , pAcquireKeys( pAcquireKeys_ )
-      , pAcquireTimeouts( pAcquireTimeouts_ )
-      , releaseCount( releaseCount_ )
-      , pReleaseSyncs( pReleaseSyncs_ )
-      , pReleaseKeys( pReleaseKeys_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoKHR(
+      uint32_t acquireCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DeviceMemory *pAcquireSyncs_ = {},
+      const uint64_t *pAcquireKeys_ = {},
+      const uint32_t *pAcquireTimeouts_ = {}, uint32_t releaseCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DeviceMemory *pReleaseSyncs_ = {},
+      const uint64_t *pReleaseKeys_ = {}) VULKAN_HPP_NOEXCEPT
+      : acquireCount(acquireCount_),
+        pAcquireSyncs(pAcquireSyncs_),
+        pAcquireKeys(pAcquireKeys_),
+        pAcquireTimeouts(pAcquireTimeouts_),
+        releaseCount(releaseCount_),
+        pReleaseSyncs(pReleaseSyncs_),
+        pReleaseKeys(pReleaseKeys_) {}
 
-    Win32KeyedMutexAcquireReleaseInfoKHR( VkWin32KeyedMutexAcquireReleaseInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
+  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoKHR(
+      Win32KeyedMutexAcquireReleaseInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  Win32KeyedMutexAcquireReleaseInfoKHR(
+      VkWin32KeyedMutexAcquireReleaseInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
+      : Win32KeyedMutexAcquireReleaseInfoKHR(
+            *reinterpret_cast<Win32KeyedMutexAcquireReleaseInfoKHR const *>(
+                &rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &acquireSyncs_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &acquireKeys_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &acquireTimeouts_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &releaseSyncs_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &releaseKeys_ = {})
+      : acquireCount(static_cast<uint32_t>(acquireSyncs_.size())),
+        pAcquireSyncs(acquireSyncs_.data()), pAcquireKeys(acquireKeys_.data()),
+        pAcquireTimeouts(acquireTimeouts_.data()),
+        releaseCount(static_cast<uint32_t>(releaseSyncs_.size())),
+        pReleaseSyncs(releaseSyncs_.data()), pReleaseKeys(releaseKeys_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(acquireSyncs_.size() == acquireKeys_.size());
+    VULKAN_HPP_ASSERT(acquireSyncs_.size() == acquireTimeouts_.size());
+    VULKAN_HPP_ASSERT(acquireKeys_.size() == acquireTimeouts_.size());
+#else
+    if (acquireSyncs_.size() != acquireKeys_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::Win32KeyedMutexAcquireReleaseInfoKHR::"
+                       "Win32KeyedMutexAcquireReleaseInfoKHR: "
+                       "acquireSyncs_.size() != acquireKeys_.size()");
     }
-
-#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoKHR(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & acquireSyncs_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const &                           acquireKeys_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & acquireTimeouts_                       = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const &
-                                                                            releaseSyncs_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & releaseKeys_  = {} )
-      : acquireCount( static_cast<uint32_t>( acquireSyncs_.size() ) )
-      , pAcquireSyncs( acquireSyncs_.data() )
-      , pAcquireKeys( acquireKeys_.data() )
-      , pAcquireTimeouts( acquireTimeouts_.data() )
-      , releaseCount( static_cast<uint32_t>( releaseSyncs_.size() ) )
-      , pReleaseSyncs( releaseSyncs_.data() )
-      , pReleaseKeys( releaseKeys_.data() )
-    {
-#      ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireKeys_.size() );
-      VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireTimeouts_.size() );
-      VULKAN_HPP_ASSERT( acquireKeys_.size() == acquireTimeouts_.size() );
-#      else
-      if ( acquireSyncs_.size() != acquireKeys_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: acquireSyncs_.size() != acquireKeys_.size()" );
-      }
-      if ( acquireSyncs_.size() != acquireTimeouts_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: acquireSyncs_.size() != acquireTimeouts_.size()" );
-      }
-      if ( acquireKeys_.size() != acquireTimeouts_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: acquireKeys_.size() != acquireTimeouts_.size()" );
-      }
-#      endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-
-#      ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( releaseSyncs_.size() == releaseKeys_.size() );
-#      else
-      if ( releaseSyncs_.size() != releaseKeys_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: releaseSyncs_.size() != releaseKeys_.size()" );
-      }
-#      endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+    if (acquireSyncs_.size() != acquireTimeouts_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::Win32KeyedMutexAcquireReleaseInfoKHR::"
+                       "Win32KeyedMutexAcquireReleaseInfoKHR: "
+                       "acquireSyncs_.size() != acquireTimeouts_.size()");
     }
-#    endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#  endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    Win32KeyedMutexAcquireReleaseInfoKHR &
-      operator=( VkWin32KeyedMutexAcquireReleaseInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR const *>( &rhs );
-      return *this;
+    if (acquireKeys_.size() != acquireTimeouts_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::Win32KeyedMutexAcquireReleaseInfoKHR::"
+                       "Win32KeyedMutexAcquireReleaseInfoKHR: "
+                       "acquireKeys_.size() != acquireTimeouts_.size()");
     }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
 
-    Win32KeyedMutexAcquireReleaseInfoKHR &
-      operator=( Win32KeyedMutexAcquireReleaseInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      acquireCount     = rhs.acquireCount;
-      pAcquireSyncs    = rhs.pAcquireSyncs;
-      pAcquireKeys     = rhs.pAcquireKeys;
-      pAcquireTimeouts = rhs.pAcquireTimeouts;
-      releaseCount     = rhs.releaseCount;
-      pReleaseSyncs    = rhs.pReleaseSyncs;
-      pReleaseKeys     = rhs.pReleaseKeys;
-
-      return *this;
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(releaseSyncs_.size() == releaseKeys_.size());
+#else
+    if (releaseSyncs_.size() != releaseKeys_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::Win32KeyedMutexAcquireReleaseInfoKHR::"
+                       "Win32KeyedMutexAcquireReleaseInfoKHR: "
+                       "releaseSyncs_.size() != releaseKeys_.size()");
     }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    Win32KeyedMutexAcquireReleaseInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR &
+  operator=(Win32KeyedMutexAcquireReleaseInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    Win32KeyedMutexAcquireReleaseInfoKHR & setAcquireCount( uint32_t acquireCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount = acquireCount_;
-      return *this;
-    }
+  Win32KeyedMutexAcquireReleaseInfoKHR &operator=(
+      VkWin32KeyedMutexAcquireReleaseInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR const *>(
+        &rhs);
+    return *this;
+  }
 
-    Win32KeyedMutexAcquireReleaseInfoKHR &
-      setPAcquireSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAcquireSyncs = pAcquireSyncs_;
-      return *this;
-    }
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoKHR & setAcquireSyncs(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & acquireSyncs_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount  = static_cast<uint32_t>( acquireSyncs_.size() );
-      pAcquireSyncs = acquireSyncs_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setAcquireCount(uint32_t acquireCount_) VULKAN_HPP_NOEXCEPT {
+    acquireCount = acquireCount_;
+    return *this;
+  }
 
-    Win32KeyedMutexAcquireReleaseInfoKHR & setPAcquireKeys( const uint64_t * pAcquireKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAcquireKeys = pAcquireKeys_;
-      return *this;
-    }
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setPAcquireSyncs(const VULKAN_HPP_NAMESPACE::DeviceMemory *pAcquireSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    pAcquireSyncs = pAcquireSyncs_;
+    return *this;
+  }
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoKHR & setAcquireKeys(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & acquireKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount = static_cast<uint32_t>( acquireKeys_.size() );
-      pAcquireKeys = acquireKeys_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR &setAcquireSyncs(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &acquireSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    acquireCount = static_cast<uint32_t>(acquireSyncs_.size());
+    pAcquireSyncs = acquireSyncs_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    Win32KeyedMutexAcquireReleaseInfoKHR & setPAcquireTimeouts( const uint32_t * pAcquireTimeouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAcquireTimeouts = pAcquireTimeouts_;
-      return *this;
-    }
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setPAcquireKeys(const uint64_t *pAcquireKeys_) VULKAN_HPP_NOEXCEPT {
+    pAcquireKeys = pAcquireKeys_;
+    return *this;
+  }
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoKHR & setAcquireTimeouts(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & acquireTimeouts_ ) VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount     = static_cast<uint32_t>( acquireTimeouts_.size() );
-      pAcquireTimeouts = acquireTimeouts_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR &setAcquireKeys(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &acquireKeys_) VULKAN_HPP_NOEXCEPT {
+    acquireCount = static_cast<uint32_t>(acquireKeys_.size());
+    pAcquireKeys = acquireKeys_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    Win32KeyedMutexAcquireReleaseInfoKHR & setReleaseCount( uint32_t releaseCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      releaseCount = releaseCount_;
-      return *this;
-    }
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setPAcquireTimeouts(const uint32_t *pAcquireTimeouts_) VULKAN_HPP_NOEXCEPT {
+    pAcquireTimeouts = pAcquireTimeouts_;
+    return *this;
+  }
 
-    Win32KeyedMutexAcquireReleaseInfoKHR &
-      setPReleaseSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pReleaseSyncs = pReleaseSyncs_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR &setAcquireTimeouts(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &acquireTimeouts_) VULKAN_HPP_NOEXCEPT {
+    acquireCount = static_cast<uint32_t>(acquireTimeouts_.size());
+    pAcquireTimeouts = acquireTimeouts_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoKHR & setReleaseSyncs(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & releaseSyncs_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      releaseCount  = static_cast<uint32_t>( releaseSyncs_.size() );
-      pReleaseSyncs = releaseSyncs_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setReleaseCount(uint32_t releaseCount_) VULKAN_HPP_NOEXCEPT {
+    releaseCount = releaseCount_;
+    return *this;
+  }
 
-    Win32KeyedMutexAcquireReleaseInfoKHR & setPReleaseKeys( const uint64_t * pReleaseKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pReleaseKeys = pReleaseKeys_;
-      return *this;
-    }
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setPReleaseSyncs(const VULKAN_HPP_NAMESPACE::DeviceMemory *pReleaseSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    pReleaseSyncs = pReleaseSyncs_;
+    return *this;
+  }
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoKHR & setReleaseKeys(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & releaseKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      releaseCount = static_cast<uint32_t>( releaseKeys_.size() );
-      pReleaseKeys = releaseKeys_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR &setReleaseSyncs(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &releaseSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    releaseCount = static_cast<uint32_t>(releaseSyncs_.size());
+    pReleaseSyncs = releaseSyncs_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkWin32KeyedMutexAcquireReleaseInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR *>( this );
-    }
+  Win32KeyedMutexAcquireReleaseInfoKHR &
+  setPReleaseKeys(const uint64_t *pReleaseKeys_) VULKAN_HPP_NOEXCEPT {
+    pReleaseKeys = pReleaseKeys_;
+    return *this;
+  }
 
-    operator VkWin32KeyedMutexAcquireReleaseInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR *>( this );
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoKHR &setReleaseKeys(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &releaseKeys_) VULKAN_HPP_NOEXCEPT {
+    releaseCount = static_cast<uint32_t>(releaseKeys_.size());
+    pReleaseKeys = releaseKeys_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Win32KeyedMutexAcquireReleaseInfoKHR const & ) const = default;
-#  else
-    bool operator==( Win32KeyedMutexAcquireReleaseInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( acquireCount == rhs.acquireCount ) &&
-             ( pAcquireSyncs == rhs.pAcquireSyncs ) && ( pAcquireKeys == rhs.pAcquireKeys ) &&
-             ( pAcquireTimeouts == rhs.pAcquireTimeouts ) && ( releaseCount == rhs.releaseCount ) &&
-             ( pReleaseSyncs == rhs.pReleaseSyncs ) && ( pReleaseKeys == rhs.pReleaseKeys );
-    }
+  operator VkWin32KeyedMutexAcquireReleaseInfoKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR *>(
+        this);
+  }
 
-    bool operator!=( Win32KeyedMutexAcquireReleaseInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  operator VkWin32KeyedMutexAcquireReleaseInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR *>(this);
+  }
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType            = StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR;
-    const void *                               pNext            = {};
-    uint32_t                                   acquireCount     = {};
-    const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs    = {};
-    const uint64_t *                           pAcquireKeys     = {};
-    const uint32_t *                           pAcquireTimeouts = {};
-    uint32_t                                   releaseCount     = {};
-    const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs    = {};
-    const uint64_t *                           pReleaseKeys     = {};
-  };
-  static_assert( sizeof( Win32KeyedMutexAcquireReleaseInfoKHR ) == sizeof( VkWin32KeyedMutexAcquireReleaseInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Win32KeyedMutexAcquireReleaseInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(Win32KeyedMutexAcquireReleaseInfoKHR const &) const = default;
+#else
+  bool operator==(Win32KeyedMutexAcquireReleaseInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (acquireCount == rhs.acquireCount) &&
+           (pAcquireSyncs == rhs.pAcquireSyncs) &&
+           (pAcquireKeys == rhs.pAcquireKeys) &&
+           (pAcquireTimeouts == rhs.pAcquireTimeouts) &&
+           (releaseCount == rhs.releaseCount) &&
+           (pReleaseSyncs == rhs.pReleaseSyncs) &&
+           (pReleaseKeys == rhs.pReleaseKeys);
+  }
 
-  template <>
-  struct CppType<StructureType, StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR>
-  {
-    using Type = Win32KeyedMutexAcquireReleaseInfoKHR;
-  };
+  bool operator!=(Win32KeyedMutexAcquireReleaseInfoKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR;
+  const void *pNext = {};
+  uint32_t acquireCount = {};
+  const VULKAN_HPP_NAMESPACE::DeviceMemory *pAcquireSyncs = {};
+  const uint64_t *pAcquireKeys = {};
+  const uint32_t *pAcquireTimeouts = {};
+  uint32_t releaseCount = {};
+  const VULKAN_HPP_NAMESPACE::DeviceMemory *pReleaseSyncs = {};
+  const uint64_t *pReleaseKeys = {};
+};
+static_assert(sizeof(Win32KeyedMutexAcquireReleaseInfoKHR) ==
+                  sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<Win32KeyedMutexAcquireReleaseInfoKHR>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR> {
+  using Type = Win32KeyedMutexAcquireReleaseInfoKHR;
+};
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct Win32KeyedMutexAcquireReleaseInfoNV
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct Win32KeyedMutexAcquireReleaseInfoNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eWin32KeyedMutexAcquireReleaseInfoNV;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR
-    Win32KeyedMutexAcquireReleaseInfoNV( uint32_t                                   acquireCount_                = {},
-                                         const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_               = {},
-                                         const uint64_t *                           pAcquireKeys_                = {},
-                                         const uint32_t *                           pAcquireTimeoutMilliseconds_ = {},
-                                         uint32_t                                   releaseCount_                = {},
-                                         const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_               = {},
-                                         const uint64_t * pReleaseKeys_ = {} ) VULKAN_HPP_NOEXCEPT
-      : acquireCount( acquireCount_ )
-      , pAcquireSyncs( pAcquireSyncs_ )
-      , pAcquireKeys( pAcquireKeys_ )
-      , pAcquireTimeoutMilliseconds( pAcquireTimeoutMilliseconds_ )
-      , releaseCount( releaseCount_ )
-      , pReleaseSyncs( pReleaseSyncs_ )
-      , pReleaseKeys( pReleaseKeys_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoNV(
+      uint32_t acquireCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DeviceMemory *pAcquireSyncs_ = {},
+      const uint64_t *pAcquireKeys_ = {},
+      const uint32_t *pAcquireTimeoutMilliseconds_ = {},
+      uint32_t releaseCount_ = {},
+      const VULKAN_HPP_NAMESPACE::DeviceMemory *pReleaseSyncs_ = {},
+      const uint64_t *pReleaseKeys_ = {}) VULKAN_HPP_NOEXCEPT
+      : acquireCount(acquireCount_),
+        pAcquireSyncs(pAcquireSyncs_),
+        pAcquireKeys(pAcquireKeys_),
+        pAcquireTimeoutMilliseconds(pAcquireTimeoutMilliseconds_),
+        releaseCount(releaseCount_),
+        pReleaseSyncs(pReleaseSyncs_),
+        pReleaseKeys(pReleaseKeys_) {}
 
-    Win32KeyedMutexAcquireReleaseInfoNV( VkWin32KeyedMutexAcquireReleaseInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoNV(
+      Win32KeyedMutexAcquireReleaseInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoNV(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & acquireSyncs_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const &                           acquireKeys_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & acquireTimeoutMilliseconds_            = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const &
-                                                                            releaseSyncs_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & releaseKeys_  = {} )
-      : acquireCount( static_cast<uint32_t>( acquireSyncs_.size() ) )
-      , pAcquireSyncs( acquireSyncs_.data() )
-      , pAcquireKeys( acquireKeys_.data() )
-      , pAcquireTimeoutMilliseconds( acquireTimeoutMilliseconds_.data() )
-      , releaseCount( static_cast<uint32_t>( releaseSyncs_.size() ) )
-      , pReleaseSyncs( releaseSyncs_.data() )
-      , pReleaseKeys( releaseKeys_.data() )
-    {
-#      ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireKeys_.size() );
-      VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireTimeoutMilliseconds_.size() );
-      VULKAN_HPP_ASSERT( acquireKeys_.size() == acquireTimeoutMilliseconds_.size() );
-#      else
-      if ( acquireSyncs_.size() != acquireKeys_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: acquireSyncs_.size() != acquireKeys_.size()" );
-      }
-      if ( acquireSyncs_.size() != acquireTimeoutMilliseconds_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: acquireSyncs_.size() != acquireTimeoutMilliseconds_.size()" );
-      }
-      if ( acquireKeys_.size() != acquireTimeoutMilliseconds_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: acquireKeys_.size() != acquireTimeoutMilliseconds_.size()" );
-      }
-#      endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  Win32KeyedMutexAcquireReleaseInfoNV(
+      VkWin32KeyedMutexAcquireReleaseInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
+      : Win32KeyedMutexAcquireReleaseInfoNV(
+            *reinterpret_cast<Win32KeyedMutexAcquireReleaseInfoNV const *>(
+                &rhs)) {}
 
-#      ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( releaseSyncs_.size() == releaseKeys_.size() );
-#      else
-      if ( releaseSyncs_.size() != releaseKeys_.size() )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: releaseSyncs_.size() != releaseKeys_.size()" );
-      }
-#      endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#    endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#  endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    Win32KeyedMutexAcquireReleaseInfoNV &
-      operator=( VkWin32KeyedMutexAcquireReleaseInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV const *>( &rhs );
-      return *this;
-    }
-
-    Win32KeyedMutexAcquireReleaseInfoNV &
-      operator=( Win32KeyedMutexAcquireReleaseInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                       = rhs.pNext;
-      acquireCount                = rhs.acquireCount;
-      pAcquireSyncs               = rhs.pAcquireSyncs;
-      pAcquireKeys                = rhs.pAcquireKeys;
-      pAcquireTimeoutMilliseconds = rhs.pAcquireTimeoutMilliseconds;
-      releaseCount                = rhs.releaseCount;
-      pReleaseSyncs               = rhs.pReleaseSyncs;
-      pReleaseKeys                = rhs.pReleaseKeys;
-
-      return *this;
-    }
-
-    Win32KeyedMutexAcquireReleaseInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    Win32KeyedMutexAcquireReleaseInfoNV & setAcquireCount( uint32_t acquireCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount = acquireCount_;
-      return *this;
-    }
-
-    Win32KeyedMutexAcquireReleaseInfoNV &
-      setPAcquireSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAcquireSyncs = pAcquireSyncs_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoNV & setAcquireSyncs(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & acquireSyncs_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount  = static_cast<uint32_t>( acquireSyncs_.size() );
-      pAcquireSyncs = acquireSyncs_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    Win32KeyedMutexAcquireReleaseInfoNV & setPAcquireKeys( const uint64_t * pAcquireKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAcquireKeys = pAcquireKeys_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoNV & setAcquireKeys(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & acquireKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount = static_cast<uint32_t>( acquireKeys_.size() );
-      pAcquireKeys = acquireKeys_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    Win32KeyedMutexAcquireReleaseInfoNV &
-      setPAcquireTimeoutMilliseconds( const uint32_t * pAcquireTimeoutMilliseconds_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoNV & setAcquireTimeoutMilliseconds(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & acquireTimeoutMilliseconds_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      acquireCount                = static_cast<uint32_t>( acquireTimeoutMilliseconds_.size() );
-      pAcquireTimeoutMilliseconds = acquireTimeoutMilliseconds_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    Win32KeyedMutexAcquireReleaseInfoNV & setReleaseCount( uint32_t releaseCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      releaseCount = releaseCount_;
-      return *this;
-    }
-
-    Win32KeyedMutexAcquireReleaseInfoNV &
-      setPReleaseSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pReleaseSyncs = pReleaseSyncs_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoNV & setReleaseSyncs(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & releaseSyncs_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      releaseCount  = static_cast<uint32_t>( releaseSyncs_.size() );
-      pReleaseSyncs = releaseSyncs_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    Win32KeyedMutexAcquireReleaseInfoNV & setPReleaseKeys( const uint64_t * pReleaseKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pReleaseKeys = pReleaseKeys_;
-      return *this;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    Win32KeyedMutexAcquireReleaseInfoNV & setReleaseKeys(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & releaseKeys_ ) VULKAN_HPP_NOEXCEPT
-    {
-      releaseCount = static_cast<uint32_t>( releaseKeys_.size() );
-      pReleaseKeys = releaseKeys_.data();
-      return *this;
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkWin32KeyedMutexAcquireReleaseInfoNV const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV *>( this );
-    }
-
-    operator VkWin32KeyedMutexAcquireReleaseInfoNV &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Win32KeyedMutexAcquireReleaseInfoNV const & ) const = default;
-#  else
-    bool operator==( Win32KeyedMutexAcquireReleaseInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( acquireCount == rhs.acquireCount ) &&
-             ( pAcquireSyncs == rhs.pAcquireSyncs ) && ( pAcquireKeys == rhs.pAcquireKeys ) &&
-             ( pAcquireTimeoutMilliseconds == rhs.pAcquireTimeoutMilliseconds ) &&
-             ( releaseCount == rhs.releaseCount ) && ( pReleaseSyncs == rhs.pReleaseSyncs ) &&
-             ( pReleaseKeys == rhs.pReleaseKeys );
-    }
-
-    bool operator!=( Win32KeyedMutexAcquireReleaseInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType  sType         = StructureType::eWin32KeyedMutexAcquireReleaseInfoNV;
-    const void *                               pNext         = {};
-    uint32_t                                   acquireCount  = {};
-    const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs = {};
-    const uint64_t *                           pAcquireKeys  = {};
-    const uint32_t *                           pAcquireTimeoutMilliseconds = {};
-    uint32_t                                   releaseCount                = {};
-    const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs               = {};
-    const uint64_t *                           pReleaseKeys                = {};
-  };
-  static_assert( sizeof( Win32KeyedMutexAcquireReleaseInfoNV ) == sizeof( VkWin32KeyedMutexAcquireReleaseInfoNV ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Win32KeyedMutexAcquireReleaseInfoNV>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eWin32KeyedMutexAcquireReleaseInfoNV>
-  {
-    using Type = Win32KeyedMutexAcquireReleaseInfoNV;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  struct Win32SurfaceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eWin32SurfaceCreateInfoKHR;
-
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR Win32SurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags_     = {},
-                                                    HINSTANCE                                        hinstance_ = {},
-                                                    HWND hwnd_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , hinstance( hinstance_ )
-      , hwnd( hwnd_ )
-    {}
-
-    Win32SurfaceCreateInfoKHR( VkWin32SurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    Win32SurfaceCreateInfoKHR & operator=( VkWin32SurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
-
-    Win32SurfaceCreateInfoKHR & operator=( Win32SurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext     = rhs.pNext;
-      flags     = rhs.flags;
-      hinstance = rhs.hinstance;
-      hwnd      = rhs.hwnd;
-
-      return *this;
-    }
-
-    Win32SurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    Win32SurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
-
-    Win32SurfaceCreateInfoKHR & setHinstance( HINSTANCE hinstance_ ) VULKAN_HPP_NOEXCEPT
-    {
-      hinstance = hinstance_;
-      return *this;
-    }
-
-    Win32SurfaceCreateInfoKHR & setHwnd( HWND hwnd_ ) VULKAN_HPP_NOEXCEPT
-    {
-      hwnd = hwnd_;
-      return *this;
-    }
-
-    operator VkWin32SurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( this );
-    }
-
-    operator VkWin32SurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkWin32SurfaceCreateInfoKHR *>( this );
-    }
-
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( Win32SurfaceCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( Win32SurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( hinstance == rhs.hinstance ) && ( hwnd == rhs.hwnd );
-    }
-
-    bool operator!=( Win32SurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
-
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType        sType     = StructureType::eWin32SurfaceCreateInfoKHR;
-    const void *                                     pNext     = {};
-    VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags     = {};
-    HINSTANCE                                        hinstance = {};
-    HWND                                             hwnd      = {};
-  };
-  static_assert( sizeof( Win32SurfaceCreateInfoKHR ) == sizeof( VkWin32SurfaceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<Win32SurfaceCreateInfoKHR>::value,
-                 "struct wrapper is not a standard layout!" );
-
-  template <>
-  struct CppType<StructureType, StructureType::eWin32SurfaceCreateInfoKHR>
-  {
-    using Type = Win32SurfaceCreateInfoKHR;
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  struct WriteDescriptorSet
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eWriteDescriptorSet;
-
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR WriteDescriptorSet(
-      VULKAN_HPP_NAMESPACE::DescriptorSet  dstSet_                    = {},
-      uint32_t                             dstBinding_                = {},
-      uint32_t                             dstArrayElement_           = {},
-      uint32_t                             descriptorCount_           = {},
-      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_            = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
-      const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *  pImageInfo_  = {},
-      const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo * pBufferInfo_ = {},
-      const VULKAN_HPP_NAMESPACE::BufferView *           pTexelBufferView_ = {} ) VULKAN_HPP_NOEXCEPT
-      : dstSet( dstSet_ )
-      , dstBinding( dstBinding_ )
-      , dstArrayElement( dstArrayElement_ )
-      , descriptorCount( descriptorCount_ )
-      , descriptorType( descriptorType_ )
-      , pImageInfo( pImageInfo_ )
-      , pBufferInfo( pBufferInfo_ )
-      , pTexelBufferView( pTexelBufferView_ )
-    {}
-
-    WriteDescriptorSet( VkWriteDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    WriteDescriptorSet(
-      VULKAN_HPP_NAMESPACE::DescriptorSet  dstSet_,
-      uint32_t                             dstBinding_,
-      uint32_t                             dstArrayElement_,
-      VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorImageInfo> const & imageInfo_,
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo> const &
-        bufferInfo_ = {},
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::BufferView> const &
-        texelBufferView_ = {} )
-      : dstSet( dstSet_ )
-      , dstBinding( dstBinding_ )
-      , dstArrayElement( dstArrayElement_ )
-      , descriptorCount( static_cast<uint32_t>( !imageInfo_.empty()    ? imageInfo_.size()
-                                                : !bufferInfo_.empty() ? bufferInfo_.size()
-                                                                       : texelBufferView_.size() ) )
-      , descriptorType( descriptorType_ )
-      , pImageInfo( imageInfo_.data() )
-      , pBufferInfo( bufferInfo_.data() )
-      , pTexelBufferView( texelBufferView_.data() )
-    {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-      VULKAN_HPP_ASSERT( ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) == 1 );
-#    else
-      if ( ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) != 1 )
-      {
-        throw LogicError(
-          VULKAN_HPP_NAMESPACE_STRING
-          "::WriteDescriptorSet::WriteDescriptorSet: ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) != 1" );
-      }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    }
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-
-    WriteDescriptorSet & operator=( VkWriteDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSet const *>( &rhs );
-      return *this;
-    }
-
-    WriteDescriptorSet & operator=( WriteDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext            = rhs.pNext;
-      dstSet           = rhs.dstSet;
-      dstBinding       = rhs.dstBinding;
-      dstArrayElement  = rhs.dstArrayElement;
-      descriptorCount  = rhs.descriptorCount;
-      descriptorType   = rhs.descriptorType;
-      pImageInfo       = rhs.pImageInfo;
-      pBufferInfo      = rhs.pBufferInfo;
-      pTexelBufferView = rhs.pTexelBufferView;
-
-      return *this;
-    }
-
-    WriteDescriptorSet & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
-
-    WriteDescriptorSet & setDstSet( VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstSet = dstSet_;
-      return *this;
-    }
-
-    WriteDescriptorSet & setDstBinding( uint32_t dstBinding_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstBinding = dstBinding_;
-      return *this;
-    }
-
-    WriteDescriptorSet & setDstArrayElement( uint32_t dstArrayElement_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dstArrayElement = dstArrayElement_;
-      return *this;
-    }
-
-    WriteDescriptorSet & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount = descriptorCount_;
-      return *this;
-    }
-
-    WriteDescriptorSet & setDescriptorType( VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorType = descriptorType_;
-      return *this;
-    }
-
-    WriteDescriptorSet &
-      setPImageInfo( const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pImageInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pImageInfo = pImageInfo_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    WriteDescriptorSet & setImageInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorImageInfo> const &
-        imageInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount = static_cast<uint32_t>( imageInfo_.size() );
-      pImageInfo      = imageInfo_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    WriteDescriptorSet &
-      setPBufferInfo( const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo * pBufferInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pBufferInfo = pBufferInfo_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    WriteDescriptorSet & setBufferInfo(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo> const &
-        bufferInfo_ ) VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount = static_cast<uint32_t>( bufferInfo_.size() );
-      pBufferInfo     = bufferInfo_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    WriteDescriptorSet &
-      setPTexelBufferView( const VULKAN_HPP_NAMESPACE::BufferView * pTexelBufferView_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pTexelBufferView = pTexelBufferView_;
-      return *this;
-    }
-
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    WriteDescriptorSet & setTexelBufferView(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::BufferView> const & texelBufferView_ )
-      VULKAN_HPP_NOEXCEPT
-    {
-      descriptorCount  = static_cast<uint32_t>( texelBufferView_.size() );
-      pTexelBufferView = texelBufferView_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-
-    operator VkWriteDescriptorSet const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkWriteDescriptorSet *>( this );
-    }
-
-    operator VkWriteDescriptorSet &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkWriteDescriptorSet *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( WriteDescriptorSet const & ) const = default;
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoNV(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &acquireSyncs_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &acquireKeys_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &acquireTimeoutMilliseconds_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &releaseSyncs_ = {},
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &releaseKeys_ = {})
+      : acquireCount(static_cast<uint32_t>(acquireSyncs_.size())),
+        pAcquireSyncs(acquireSyncs_.data()), pAcquireKeys(acquireKeys_.data()),
+        pAcquireTimeoutMilliseconds(acquireTimeoutMilliseconds_.data()),
+        releaseCount(static_cast<uint32_t>(releaseSyncs_.size())),
+        pReleaseSyncs(releaseSyncs_.data()), pReleaseKeys(releaseKeys_.data()) {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(acquireSyncs_.size() == acquireKeys_.size());
+    VULKAN_HPP_ASSERT(acquireSyncs_.size() ==
+                      acquireTimeoutMilliseconds_.size());
+    VULKAN_HPP_ASSERT(acquireKeys_.size() ==
+                      acquireTimeoutMilliseconds_.size());
 #else
-    bool operator==( WriteDescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dstSet == rhs.dstSet ) &&
-             ( dstBinding == rhs.dstBinding ) && ( dstArrayElement == rhs.dstArrayElement ) &&
-             ( descriptorCount == rhs.descriptorCount ) && ( descriptorType == rhs.descriptorType ) &&
-             ( pImageInfo == rhs.pImageInfo ) && ( pBufferInfo == rhs.pBufferInfo ) &&
-             ( pTexelBufferView == rhs.pTexelBufferView );
+    if (acquireSyncs_.size() != acquireKeys_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::Win32KeyedMutexAcquireReleaseInfoNV::"
+                       "Win32KeyedMutexAcquireReleaseInfoNV: "
+                       "acquireSyncs_.size() != acquireKeys_.size()");
     }
+    if (acquireSyncs_.size() != acquireTimeoutMilliseconds_.size()) {
+      throw LogicError(
+          VULKAN_HPP_NAMESPACE_STRING
+          "::Win32KeyedMutexAcquireReleaseInfoNV::"
+          "Win32KeyedMutexAcquireReleaseInfoNV: acquireSyncs_.size() != "
+          "acquireTimeoutMilliseconds_.size()");
+    }
+    if (acquireKeys_.size() != acquireTimeoutMilliseconds_.size()) {
+      throw LogicError(
+          VULKAN_HPP_NAMESPACE_STRING
+          "::Win32KeyedMutexAcquireReleaseInfoNV::"
+          "Win32KeyedMutexAcquireReleaseInfoNV: acquireKeys_.size() != "
+          "acquireTimeoutMilliseconds_.size()");
+    }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
 
-    bool operator!=( WriteDescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+    VULKAN_HPP_ASSERT(releaseSyncs_.size() == releaseKeys_.size());
+#else
+    if (releaseSyncs_.size() != releaseKeys_.size()) {
+      throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                       "::Win32KeyedMutexAcquireReleaseInfoNV::"
+                       "Win32KeyedMutexAcquireReleaseInfoNV: "
+                       "releaseSyncs_.size() != releaseKeys_.size()");
     }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV &
+  operator=(Win32KeyedMutexAcquireReleaseInfoNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  Win32KeyedMutexAcquireReleaseInfoNV &operator=(
+      VkWin32KeyedMutexAcquireReleaseInfoNV const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV const *>(
+        &rhs);
+    return *this;
+  }
+
+  Win32KeyedMutexAcquireReleaseInfoNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  Win32KeyedMutexAcquireReleaseInfoNV &
+  setAcquireCount(uint32_t acquireCount_) VULKAN_HPP_NOEXCEPT {
+    acquireCount = acquireCount_;
+    return *this;
+  }
+
+  Win32KeyedMutexAcquireReleaseInfoNV &
+  setPAcquireSyncs(const VULKAN_HPP_NAMESPACE::DeviceMemory *pAcquireSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    pAcquireSyncs = pAcquireSyncs_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoNV &setAcquireSyncs(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &acquireSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    acquireCount = static_cast<uint32_t>(acquireSyncs_.size());
+    pAcquireSyncs = acquireSyncs_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  Win32KeyedMutexAcquireReleaseInfoNV &
+  setPAcquireKeys(const uint64_t *pAcquireKeys_) VULKAN_HPP_NOEXCEPT {
+    pAcquireKeys = pAcquireKeys_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoNV &setAcquireKeys(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &acquireKeys_) VULKAN_HPP_NOEXCEPT {
+    acquireCount = static_cast<uint32_t>(acquireKeys_.size());
+    pAcquireKeys = acquireKeys_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  Win32KeyedMutexAcquireReleaseInfoNV &setPAcquireTimeoutMilliseconds(
+      const uint32_t *pAcquireTimeoutMilliseconds_) VULKAN_HPP_NOEXCEPT {
+    pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoNV &setAcquireTimeoutMilliseconds(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const
+          &acquireTimeoutMilliseconds_) VULKAN_HPP_NOEXCEPT {
+    acquireCount = static_cast<uint32_t>(acquireTimeoutMilliseconds_.size());
+    pAcquireTimeoutMilliseconds = acquireTimeoutMilliseconds_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  Win32KeyedMutexAcquireReleaseInfoNV &
+  setReleaseCount(uint32_t releaseCount_) VULKAN_HPP_NOEXCEPT {
+    releaseCount = releaseCount_;
+    return *this;
+  }
+
+  Win32KeyedMutexAcquireReleaseInfoNV &
+  setPReleaseSyncs(const VULKAN_HPP_NAMESPACE::DeviceMemory *pReleaseSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    pReleaseSyncs = pReleaseSyncs_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoNV &setReleaseSyncs(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::DeviceMemory> const &releaseSyncs_)
+      VULKAN_HPP_NOEXCEPT {
+    releaseCount = static_cast<uint32_t>(releaseSyncs_.size());
+    pReleaseSyncs = releaseSyncs_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  Win32KeyedMutexAcquireReleaseInfoNV &
+  setPReleaseKeys(const uint64_t *pReleaseKeys_) VULKAN_HPP_NOEXCEPT {
+    pReleaseKeys = pReleaseKeys_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  Win32KeyedMutexAcquireReleaseInfoNV &setReleaseKeys(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const
+          &releaseKeys_) VULKAN_HPP_NOEXCEPT {
+    releaseCount = static_cast<uint32_t>(releaseKeys_.size());
+    pReleaseKeys = releaseKeys_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkWin32KeyedMutexAcquireReleaseInfoNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV *>(
+        this);
+  }
+
+  operator VkWin32KeyedMutexAcquireReleaseInfoNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Win32KeyedMutexAcquireReleaseInfoNV const &) const = default;
+#else
+  bool operator==(Win32KeyedMutexAcquireReleaseInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (acquireCount == rhs.acquireCount) &&
+           (pAcquireSyncs == rhs.pAcquireSyncs) &&
+           (pAcquireKeys == rhs.pAcquireKeys) &&
+           (pAcquireTimeoutMilliseconds == rhs.pAcquireTimeoutMilliseconds) &&
+           (releaseCount == rhs.releaseCount) &&
+           (pReleaseSyncs == rhs.pReleaseSyncs) &&
+           (pReleaseKeys == rhs.pReleaseKeys);
+  }
+
+  bool operator!=(Win32KeyedMutexAcquireReleaseInfoNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType          sType           = StructureType::eWriteDescriptorSet;
-    const void *                                       pNext           = {};
-    VULKAN_HPP_NAMESPACE::DescriptorSet                dstSet          = {};
-    uint32_t                                           dstBinding      = {};
-    uint32_t                                           dstArrayElement = {};
-    uint32_t                                           descriptorCount = {};
-    VULKAN_HPP_NAMESPACE::DescriptorType               descriptorType  = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
-    const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *  pImageInfo      = {};
-    const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo * pBufferInfo     = {};
-    const VULKAN_HPP_NAMESPACE::BufferView *           pTexelBufferView = {};
-  };
-  static_assert( sizeof( WriteDescriptorSet ) == sizeof( VkWriteDescriptorSet ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<WriteDescriptorSet>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWin32KeyedMutexAcquireReleaseInfoNV;
+  const void *pNext = {};
+  uint32_t acquireCount = {};
+  const VULKAN_HPP_NAMESPACE::DeviceMemory *pAcquireSyncs = {};
+  const uint64_t *pAcquireKeys = {};
+  const uint32_t *pAcquireTimeoutMilliseconds = {};
+  uint32_t releaseCount = {};
+  const VULKAN_HPP_NAMESPACE::DeviceMemory *pReleaseSyncs = {};
+  const uint64_t *pReleaseKeys = {};
+};
+static_assert(sizeof(Win32KeyedMutexAcquireReleaseInfoNV) ==
+                  sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<Win32KeyedMutexAcquireReleaseInfoNV>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eWriteDescriptorSet>
-  {
-    using Type = WriteDescriptorSet;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eWin32KeyedMutexAcquireReleaseInfoNV> {
+  using Type = Win32KeyedMutexAcquireReleaseInfoNV;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
-  struct WriteDescriptorSetAccelerationStructureKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+struct Win32SurfaceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eWin32SurfaceCreateInfoKHR;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR Win32SurfaceCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags_ = {},
+      HINSTANCE hinstance_ = {}, HWND hwnd_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        hinstance(hinstance_),
+        hwnd(hwnd_) {}
+
+  VULKAN_HPP_CONSTEXPR Win32SurfaceCreateInfoKHR(
+      Win32SurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  Win32SurfaceCreateInfoKHR(VkWin32SurfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : Win32SurfaceCreateInfoKHR(
+            *reinterpret_cast<Win32SurfaceCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 Win32SurfaceCreateInfoKHR &
+  operator=(Win32SurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
+
+  Win32SurfaceCreateInfoKHR &
+  operator=(VkWin32SurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
+
+  Win32SurfaceCreateInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  Win32SurfaceCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
+
+  Win32SurfaceCreateInfoKHR &
+  setHinstance(HINSTANCE hinstance_) VULKAN_HPP_NOEXCEPT {
+    hinstance = hinstance_;
+    return *this;
+  }
+
+  Win32SurfaceCreateInfoKHR &setHwnd(HWND hwnd_) VULKAN_HPP_NOEXCEPT {
+    hwnd = hwnd_;
+    return *this;
+  }
+
+  operator VkWin32SurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>(this);
+  }
+
+  operator VkWin32SurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWin32SurfaceCreateInfoKHR *>(this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Win32SurfaceCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(Win32SurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (hinstance == rhs.hinstance) &&
+           (hwnd == rhs.hwnd);
+  }
+
+  bool
+  operator!=(Win32SurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWin32SurfaceCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags = {};
+  HINSTANCE hinstance = {};
+  HWND hwnd = {};
+};
+static_assert(sizeof(Win32SurfaceCreateInfoKHR) ==
+                  sizeof(VkWin32SurfaceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<Win32SurfaceCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType, StructureType::eWin32SurfaceCreateInfoKHR> {
+  using Type = Win32SurfaceCreateInfoKHR;
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+struct WriteDescriptorSetAccelerationStructureKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eWriteDescriptorSetAccelerationStructureKHR;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureKHR(
-      uint32_t                                               accelerationStructureCount_ = {},
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures_    = {} ) VULKAN_HPP_NOEXCEPT
-      : accelerationStructureCount( accelerationStructureCount_ )
-      , pAccelerationStructures( pAccelerationStructures_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureKHR(
+      uint32_t accelerationStructureCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR
+          *pAccelerationStructures_ = {}) VULKAN_HPP_NOEXCEPT
+      : accelerationStructureCount(accelerationStructureCount_),
+        pAccelerationStructures(pAccelerationStructures_) {}
 
-    WriteDescriptorSetAccelerationStructureKHR( VkWriteDescriptorSetAccelerationStructureKHR const & rhs )
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureKHR(
+      WriteDescriptorSetAccelerationStructureKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  WriteDescriptorSetAccelerationStructureKHR(
+      VkWriteDescriptorSetAccelerationStructureKHR const &rhs)
       VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+      : WriteDescriptorSetAccelerationStructureKHR(
+            *reinterpret_cast<
+                WriteDescriptorSetAccelerationStructureKHR const *>(&rhs)) {}
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    WriteDescriptorSetAccelerationStructureKHR(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &
-        accelerationStructures_ )
-      : accelerationStructureCount( static_cast<uint32_t>( accelerationStructures_.size() ) )
-      , pAccelerationStructures( accelerationStructures_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSetAccelerationStructureKHR(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+          &accelerationStructures_)
+      : accelerationStructureCount(
+            static_cast<uint32_t>(accelerationStructures_.size())),
+        pAccelerationStructures(accelerationStructures_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    WriteDescriptorSetAccelerationStructureKHR &
-      operator=( VkWriteDescriptorSetAccelerationStructureKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR const *>( &rhs );
-      return *this;
-    }
+  VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureKHR &
+  operator=(WriteDescriptorSetAccelerationStructureKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-    WriteDescriptorSetAccelerationStructureKHR &
-      operator=( WriteDescriptorSetAccelerationStructureKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext                      = rhs.pNext;
-      accelerationStructureCount = rhs.accelerationStructureCount;
-      pAccelerationStructures    = rhs.pAccelerationStructures;
+  WriteDescriptorSetAccelerationStructureKHR &
+  operator=(VkWriteDescriptorSetAccelerationStructureKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR const
+            *>(&rhs);
+    return *this;
+  }
 
-      return *this;
-    }
+  WriteDescriptorSetAccelerationStructureKHR &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    WriteDescriptorSetAccelerationStructureKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  WriteDescriptorSetAccelerationStructureKHR &setAccelerationStructureCount(
+      uint32_t accelerationStructureCount_) VULKAN_HPP_NOEXCEPT {
+    accelerationStructureCount = accelerationStructureCount_;
+    return *this;
+  }
 
-    WriteDescriptorSetAccelerationStructureKHR &
-      setAccelerationStructureCount( uint32_t accelerationStructureCount_ ) VULKAN_HPP_NOEXCEPT
-    {
-      accelerationStructureCount = accelerationStructureCount_;
-      return *this;
-    }
+  WriteDescriptorSetAccelerationStructureKHR &setPAccelerationStructures(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR
+          *pAccelerationStructures_) VULKAN_HPP_NOEXCEPT {
+    pAccelerationStructures = pAccelerationStructures_;
+    return *this;
+  }
 
-    WriteDescriptorSetAccelerationStructureKHR & setPAccelerationStructures(
-      const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pAccelerationStructures = pAccelerationStructures_;
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSetAccelerationStructureKHR &setAccelerationStructures(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+          &accelerationStructures_) VULKAN_HPP_NOEXCEPT {
+    accelerationStructureCount =
+        static_cast<uint32_t>(accelerationStructures_.size());
+    pAccelerationStructures = accelerationStructures_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    WriteDescriptorSetAccelerationStructureKHR & setAccelerationStructures(
-      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &
-        accelerationStructures_ ) VULKAN_HPP_NOEXCEPT
-    {
-      accelerationStructureCount = static_cast<uint32_t>( accelerationStructures_.size() );
-      pAccelerationStructures    = accelerationStructures_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  operator VkWriteDescriptorSetAccelerationStructureKHR const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkWriteDescriptorSetAccelerationStructureKHR *>(this);
+  }
 
-    operator VkWriteDescriptorSetAccelerationStructureKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR *>( this );
-    }
+  operator VkWriteDescriptorSetAccelerationStructureKHR &()
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWriteDescriptorSetAccelerationStructureKHR *>(
+        this);
+  }
 
-    operator VkWriteDescriptorSetAccelerationStructureKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkWriteDescriptorSetAccelerationStructureKHR *>( this );
-    }
-
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( WriteDescriptorSetAccelerationStructureKHR const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(WriteDescriptorSetAccelerationStructureKHR const &) const =
+      default;
 #else
-    bool operator==( WriteDescriptorSetAccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
-             ( accelerationStructureCount == rhs.accelerationStructureCount ) &&
-             ( pAccelerationStructures == rhs.pAccelerationStructures );
-    }
+  bool operator==(WriteDescriptorSetAccelerationStructureKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (accelerationStructureCount == rhs.accelerationStructureCount) &&
+           (pAccelerationStructures == rhs.pAccelerationStructures);
+  }
 
-    bool operator!=( WriteDescriptorSetAccelerationStructureKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(WriteDescriptorSetAccelerationStructureKHR const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWriteDescriptorSetAccelerationStructureKHR;
-    const void *                              pNext = {};
-    uint32_t                                  accelerationStructureCount           = {};
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures = {};
-  };
-  static_assert( sizeof( WriteDescriptorSetAccelerationStructureKHR ) ==
-                   sizeof( VkWriteDescriptorSetAccelerationStructureKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<WriteDescriptorSetAccelerationStructureKHR>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWriteDescriptorSetAccelerationStructureKHR;
+  const void *pNext = {};
+  uint32_t accelerationStructureCount = {};
+  const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR
+      *pAccelerationStructures = {};
+};
+static_assert(sizeof(WriteDescriptorSetAccelerationStructureKHR) ==
+                  sizeof(VkWriteDescriptorSetAccelerationStructureKHR),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<WriteDescriptorSetAccelerationStructureKHR>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eWriteDescriptorSetAccelerationStructureKHR>
-  {
-    using Type = WriteDescriptorSetAccelerationStructureKHR;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eWriteDescriptorSetAccelerationStructureKHR> {
+  using Type = WriteDescriptorSetAccelerationStructureKHR;
+};
 
-  struct WriteDescriptorSetInlineUniformBlockEXT
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+struct WriteDescriptorSetAccelerationStructureNV {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eWriteDescriptorSetAccelerationStructureNV;
+
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureNV(
+      uint32_t accelerationStructureCount_ = {},
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureNV
+          *pAccelerationStructures_ = {}) VULKAN_HPP_NOEXCEPT
+      : accelerationStructureCount(accelerationStructureCount_),
+        pAccelerationStructures(pAccelerationStructures_) {}
+
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureNV(
+      WriteDescriptorSetAccelerationStructureNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  WriteDescriptorSetAccelerationStructureNV(
+      VkWriteDescriptorSetAccelerationStructureNV const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : WriteDescriptorSetAccelerationStructureNV(
+            *reinterpret_cast<
+                WriteDescriptorSetAccelerationStructureNV const *>(&rhs)) {}
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSetAccelerationStructureNV(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const
+          &accelerationStructures_)
+      : accelerationStructureCount(
+            static_cast<uint32_t>(accelerationStructures_.size())),
+        pAccelerationStructures(accelerationStructures_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+  VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureNV &
+  operator=(WriteDescriptorSetAccelerationStructureNV const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+  WriteDescriptorSetAccelerationStructureNV &
+  operator=(VkWriteDescriptorSetAccelerationStructureNV const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV const
+            *>(&rhs);
+    return *this;
+  }
+
+  WriteDescriptorSetAccelerationStructureNV &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
+
+  WriteDescriptorSetAccelerationStructureNV &setAccelerationStructureCount(
+      uint32_t accelerationStructureCount_) VULKAN_HPP_NOEXCEPT {
+    accelerationStructureCount = accelerationStructureCount_;
+    return *this;
+  }
+
+  WriteDescriptorSetAccelerationStructureNV &setPAccelerationStructures(
+      const VULKAN_HPP_NAMESPACE::AccelerationStructureNV
+          *pAccelerationStructures_) VULKAN_HPP_NOEXCEPT {
+    pAccelerationStructures = pAccelerationStructures_;
+    return *this;
+  }
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  WriteDescriptorSetAccelerationStructureNV &setAccelerationStructures(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+          const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const
+          &accelerationStructures_) VULKAN_HPP_NOEXCEPT {
+    accelerationStructureCount =
+        static_cast<uint32_t>(accelerationStructures_.size());
+    pAccelerationStructures = accelerationStructures_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  operator VkWriteDescriptorSetAccelerationStructureNV const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<
+        const VkWriteDescriptorSetAccelerationStructureNV *>(this);
+  }
+
+  operator VkWriteDescriptorSetAccelerationStructureNV &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWriteDescriptorSetAccelerationStructureNV *>(
+        this);
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(WriteDescriptorSetAccelerationStructureNV const &) const =
+      default;
+#else
+  bool operator==(WriteDescriptorSetAccelerationStructureNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (accelerationStructureCount == rhs.accelerationStructureCount) &&
+           (pAccelerationStructures == rhs.pAccelerationStructures);
+  }
+
+  bool operator!=(WriteDescriptorSetAccelerationStructureNV const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
+
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWriteDescriptorSetAccelerationStructureNV;
+  const void *pNext = {};
+  uint32_t accelerationStructureCount = {};
+  const VULKAN_HPP_NAMESPACE::AccelerationStructureNV *pAccelerationStructures =
+      {};
+};
+static_assert(sizeof(WriteDescriptorSetAccelerationStructureNV) ==
+                  sizeof(VkWriteDescriptorSetAccelerationStructureNV),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<WriteDescriptorSetAccelerationStructureNV>::value,
+    "struct wrapper is not a standard layout!");
+
+template <>
+struct CppType<StructureType,
+               StructureType::eWriteDescriptorSetAccelerationStructureNV> {
+  using Type = WriteDescriptorSetAccelerationStructureNV;
+};
+
+struct WriteDescriptorSetInlineUniformBlockEXT {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
       StructureType::eWriteDescriptorSetInlineUniformBlockEXT;
 
-#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR WriteDescriptorSetInlineUniformBlockEXT( uint32_t     dataSize_ = {},
-                                                                  const void * pData_    = {} ) VULKAN_HPP_NOEXCEPT
-      : dataSize( dataSize_ )
-      , pData( pData_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSetInlineUniformBlockEXT(
+      uint32_t dataSize_ = {}, const void *pData_ = {}) VULKAN_HPP_NOEXCEPT
+      : dataSize(dataSize_),
+        pData(pData_) {}
 
-    WriteDescriptorSetInlineUniformBlockEXT( VkWriteDescriptorSetInlineUniformBlockEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
+  VULKAN_HPP_CONSTEXPR WriteDescriptorSetInlineUniformBlockEXT(
+      WriteDescriptorSetInlineUniformBlockEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-#  if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    WriteDescriptorSetInlineUniformBlockEXT( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & data_ )
-      : dataSize( static_cast<uint32_t>( data_.size() * sizeof( T ) ) ), pData( data_.data() )
-    {}
-#  endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
-#endif    // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  WriteDescriptorSetInlineUniformBlockEXT(
+      VkWriteDescriptorSetInlineUniformBlockEXT const &rhs) VULKAN_HPP_NOEXCEPT
+      : WriteDescriptorSetInlineUniformBlockEXT(
+            *reinterpret_cast<WriteDescriptorSetInlineUniformBlockEXT const *>(
+                &rhs)) {}
 
-    WriteDescriptorSetInlineUniformBlockEXT &
-      operator=( VkWriteDescriptorSetInlineUniformBlockEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlockEXT const *>( &rhs );
-      return *this;
-    }
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  WriteDescriptorSetInlineUniformBlockEXT(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &data_)
+      : dataSize(static_cast<uint32_t>(data_.size() * sizeof(T))),
+        pData(data_.data()) {}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    WriteDescriptorSetInlineUniformBlockEXT &
-      operator=( WriteDescriptorSetInlineUniformBlockEXT const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext    = rhs.pNext;
-      dataSize = rhs.dataSize;
-      pData    = rhs.pData;
+  VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetInlineUniformBlockEXT &
+  operator=(WriteDescriptorSetInlineUniformBlockEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  WriteDescriptorSetInlineUniformBlockEXT &
+  operator=(VkWriteDescriptorSetInlineUniformBlockEXT const &rhs)
+      VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlockEXT const *>(
+        &rhs);
+    return *this;
+  }
 
-    WriteDescriptorSetInlineUniformBlockEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  WriteDescriptorSetInlineUniformBlockEXT &
+  setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    WriteDescriptorSetInlineUniformBlockEXT & setDataSize( uint32_t dataSize_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dataSize = dataSize_;
-      return *this;
-    }
+  WriteDescriptorSetInlineUniformBlockEXT &
+  setDataSize(uint32_t dataSize_) VULKAN_HPP_NOEXCEPT {
+    dataSize = dataSize_;
+    return *this;
+  }
 
-    WriteDescriptorSetInlineUniformBlockEXT & setPData( const void * pData_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pData = pData_;
-      return *this;
-    }
+  WriteDescriptorSetInlineUniformBlockEXT &
+  setPData(const void *pData_) VULKAN_HPP_NOEXCEPT {
+    pData = pData_;
+    return *this;
+  }
 
-#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
-    template <typename T>
-    WriteDescriptorSetInlineUniformBlockEXT &
-      setData( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const & data_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dataSize = static_cast<uint32_t>( data_.size() * sizeof( T ) );
-      pData    = data_.data();
-      return *this;
-    }
-#endif  // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+  template <typename T>
+  WriteDescriptorSetInlineUniformBlockEXT &
+  setData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const T> const &data_)
+      VULKAN_HPP_NOEXCEPT {
+    dataSize = static_cast<uint32_t>(data_.size() * sizeof(T));
+    pData = data_.data();
+    return *this;
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    operator VkWriteDescriptorSetInlineUniformBlockEXT const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT *>( this );
-    }
+  operator VkWriteDescriptorSetInlineUniformBlockEXT const &() const
+      VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT *>(
+        this);
+  }
 
-    operator VkWriteDescriptorSetInlineUniformBlockEXT &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkWriteDescriptorSetInlineUniformBlockEXT *>( this );
-    }
+  operator VkWriteDescriptorSetInlineUniformBlockEXT &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkWriteDescriptorSetInlineUniformBlockEXT *>(this);
+  }
 
-#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( WriteDescriptorSetInlineUniformBlockEXT const & ) const = default;
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto
+  operator<=>(WriteDescriptorSetInlineUniformBlockEXT const &) const = default;
 #else
-    bool operator==( WriteDescriptorSetInlineUniformBlockEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData );
-    }
+  bool operator==(WriteDescriptorSetInlineUniformBlockEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (dataSize == rhs.dataSize) && (pData == rhs.pData);
+  }
 
-    bool operator!=( WriteDescriptorSetInlineUniformBlockEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
+  bool operator!=(WriteDescriptorSetInlineUniformBlockEXT const &rhs) const
+      VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
 #endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType sType    = StructureType::eWriteDescriptorSetInlineUniformBlockEXT;
-    const void *                              pNext    = {};
-    uint32_t                                  dataSize = {};
-    const void *                              pData    = {};
-  };
-  static_assert( sizeof( WriteDescriptorSetInlineUniformBlockEXT ) ==
-                   sizeof( VkWriteDescriptorSetInlineUniformBlockEXT ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<WriteDescriptorSetInlineUniformBlockEXT>::value,
-                 "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eWriteDescriptorSetInlineUniformBlockEXT;
+  const void *pNext = {};
+  uint32_t dataSize = {};
+  const void *pData = {};
+};
+static_assert(sizeof(WriteDescriptorSetInlineUniformBlockEXT) ==
+                  sizeof(VkWriteDescriptorSetInlineUniformBlockEXT),
+              "struct and wrapper have different size!");
+static_assert(
+    std::is_standard_layout<WriteDescriptorSetInlineUniformBlockEXT>::value,
+    "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eWriteDescriptorSetInlineUniformBlockEXT>
-  {
-    using Type = WriteDescriptorSetInlineUniformBlockEXT;
-  };
+template <>
+struct CppType<StructureType,
+               StructureType::eWriteDescriptorSetInlineUniformBlockEXT> {
+  using Type = WriteDescriptorSetInlineUniformBlockEXT;
+};
 
-#ifdef VK_USE_PLATFORM_XCB_KHR
-  struct XcbSurfaceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eXcbSurfaceCreateInfoKHR;
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+struct XcbSurfaceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eXcbSurfaceCreateInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR XcbSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags_      = {},
-                                                  xcb_connection_t *                             connection_ = {},
-                                                  xcb_window_t window_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , connection( connection_ )
-      , window( window_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR XcbSurfaceCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags_ = {},
+      xcb_connection_t *connection_ = {},
+      xcb_window_t window_ = {}) VULKAN_HPP_NOEXCEPT : flags(flags_),
+                                                       connection(connection_),
+                                                       window(window_) {}
 
-    XcbSurfaceCreateInfoKHR( VkXcbSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR XcbSurfaceCreateInfoKHR(
+      XcbSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    XcbSurfaceCreateInfoKHR & operator=( VkXcbSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
+  XcbSurfaceCreateInfoKHR(VkXcbSurfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : XcbSurfaceCreateInfoKHR(
+            *reinterpret_cast<XcbSurfaceCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    XcbSurfaceCreateInfoKHR & operator=( XcbSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext      = rhs.pNext;
-      flags      = rhs.flags;
-      connection = rhs.connection;
-      window     = rhs.window;
+  VULKAN_HPP_CONSTEXPR_14 XcbSurfaceCreateInfoKHR &
+  operator=(XcbSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  XcbSurfaceCreateInfoKHR &
+  operator=(VkXcbSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-    XcbSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  XcbSurfaceCreateInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    XcbSurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  XcbSurfaceCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    XcbSurfaceCreateInfoKHR & setConnection( xcb_connection_t * connection_ ) VULKAN_HPP_NOEXCEPT
-    {
-      connection = connection_;
-      return *this;
-    }
+  XcbSurfaceCreateInfoKHR &
+  setConnection(xcb_connection_t *connection_) VULKAN_HPP_NOEXCEPT {
+    connection = connection_;
+    return *this;
+  }
 
-    XcbSurfaceCreateInfoKHR & setWindow( xcb_window_t window_ ) VULKAN_HPP_NOEXCEPT
-    {
-      window = window_;
-      return *this;
-    }
+  XcbSurfaceCreateInfoKHR &setWindow(xcb_window_t window_) VULKAN_HPP_NOEXCEPT {
+    window = window_;
+    return *this;
+  }
 
-    operator VkXcbSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkXcbSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>(this);
+  }
 
-    operator VkXcbSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkXcbSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkXcbSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkXcbSurfaceCreateInfoKHR *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( XcbSurfaceCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( XcbSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
-             ( connection == rhs.connection ) && ( memcmp( &window, &rhs.window, sizeof( xcb_window_t ) ) == 0 );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(XcbSurfaceCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(XcbSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (connection == rhs.connection) &&
+           (memcmp(&window, &rhs.window, sizeof(xcb_window_t)) == 0);
+  }
 
-    bool operator!=( XcbSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool
+  operator!=(XcbSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType      sType      = StructureType::eXcbSurfaceCreateInfoKHR;
-    const void *                                   pNext      = {};
-    VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags      = {};
-    xcb_connection_t *                             connection = {};
-    xcb_window_t                                   window     = {};
-  };
-  static_assert( sizeof( XcbSurfaceCreateInfoKHR ) == sizeof( VkXcbSurfaceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<XcbSurfaceCreateInfoKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eXcbSurfaceCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags = {};
+  xcb_connection_t *connection = {};
+  xcb_window_t window = {};
+};
+static_assert(sizeof(XcbSurfaceCreateInfoKHR) ==
+                  sizeof(VkXcbSurfaceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<XcbSurfaceCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eXcbSurfaceCreateInfoKHR>
-  {
-    using Type = XcbSurfaceCreateInfoKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::eXcbSurfaceCreateInfoKHR> {
+  using Type = XcbSurfaceCreateInfoKHR;
+};
 #endif /*VK_USE_PLATFORM_XCB_KHR*/
 
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-  struct XlibSurfaceCreateInfoKHR
-  {
-    static const bool                                  allowDuplicate = false;
-    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eXlibSurfaceCreateInfoKHR;
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+struct XlibSurfaceCreateInfoKHR {
+  static const bool allowDuplicate = false;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eXlibSurfaceCreateInfoKHR;
 
-#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
-    VULKAN_HPP_CONSTEXPR XlibSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags_ = {},
-                                                   Display *                                       dpy_   = {},
-                                                   Window window_ = {} ) VULKAN_HPP_NOEXCEPT
-      : flags( flags_ )
-      , dpy( dpy_ )
-      , window( window_ )
-    {}
+#if !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS)
+  VULKAN_HPP_CONSTEXPR XlibSurfaceCreateInfoKHR(
+      VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags_ = {},
+      Display *dpy_ = {}, Window window_ = {}) VULKAN_HPP_NOEXCEPT
+      : flags(flags_),
+        dpy(dpy_),
+        window(window_) {}
 
-    XlibSurfaceCreateInfoKHR( VkXlibSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = rhs;
-    }
-#  endif  // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+  VULKAN_HPP_CONSTEXPR XlibSurfaceCreateInfoKHR(
+      XlibSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-    XlibSurfaceCreateInfoKHR & operator=( VkXlibSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const *>( &rhs );
-      return *this;
-    }
+  XlibSurfaceCreateInfoKHR(VkXlibSurfaceCreateInfoKHR const &rhs)
+      VULKAN_HPP_NOEXCEPT
+      : XlibSurfaceCreateInfoKHR(
+            *reinterpret_cast<XlibSurfaceCreateInfoKHR const *>(&rhs)) {}
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
 
-    XlibSurfaceCreateInfoKHR & operator=( XlibSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext  = rhs.pNext;
-      flags  = rhs.flags;
-      dpy    = rhs.dpy;
-      window = rhs.window;
+  VULKAN_HPP_CONSTEXPR_14 XlibSurfaceCreateInfoKHR &
+  operator=(XlibSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT = default;
 
-      return *this;
-    }
+  XlibSurfaceCreateInfoKHR &
+  operator=(VkXlibSurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT {
+    *this = *reinterpret_cast<
+        VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const *>(&rhs);
+    return *this;
+  }
 
-    XlibSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
-    {
-      pNext = pNext_;
-      return *this;
-    }
+  XlibSurfaceCreateInfoKHR &setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT {
+    pNext = pNext_;
+    return *this;
+  }
 
-    XlibSurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
-    {
-      flags = flags_;
-      return *this;
-    }
+  XlibSurfaceCreateInfoKHR &
+  setFlags(VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags_)
+      VULKAN_HPP_NOEXCEPT {
+    flags = flags_;
+    return *this;
+  }
 
-    XlibSurfaceCreateInfoKHR & setDpy( Display * dpy_ ) VULKAN_HPP_NOEXCEPT
-    {
-      dpy = dpy_;
-      return *this;
-    }
+  XlibSurfaceCreateInfoKHR &setDpy(Display *dpy_) VULKAN_HPP_NOEXCEPT {
+    dpy = dpy_;
+    return *this;
+  }
 
-    XlibSurfaceCreateInfoKHR & setWindow( Window window_ ) VULKAN_HPP_NOEXCEPT
-    {
-      window = window_;
-      return *this;
-    }
+  XlibSurfaceCreateInfoKHR &setWindow(Window window_) VULKAN_HPP_NOEXCEPT {
+    window = window_;
+    return *this;
+  }
 
-    operator VkXlibSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkXlibSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>(this);
+  }
 
-    operator VkXlibSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT
-    {
-      return *reinterpret_cast<VkXlibSurfaceCreateInfoKHR *>( this );
-    }
+  operator VkXlibSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT {
+    return *reinterpret_cast<VkXlibSurfaceCreateInfoKHR *>(this);
+  }
 
-#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
-    auto operator<=>( XlibSurfaceCreateInfoKHR const & ) const = default;
-#  else
-    bool operator==( XlibSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( dpy == rhs.dpy ) &&
-             ( memcmp( &window, &rhs.window, sizeof( Window ) ) == 0 );
-    }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(XlibSurfaceCreateInfoKHR const &) const = default;
+#else
+  bool
+  operator==(XlibSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return (sType == rhs.sType) && (pNext == rhs.pNext) &&
+           (flags == rhs.flags) && (dpy == rhs.dpy) &&
+           (memcmp(&window, &rhs.window, sizeof(Window)) == 0);
+  }
 
-    bool operator!=( XlibSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
-    {
-      return !operator==( rhs );
-    }
-#  endif
+  bool
+  operator!=(XlibSurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return !operator==(rhs);
+  }
+#endif
 
-  public:
-    const VULKAN_HPP_NAMESPACE::StructureType       sType  = StructureType::eXlibSurfaceCreateInfoKHR;
-    const void *                                    pNext  = {};
-    VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags  = {};
-    Display *                                       dpy    = {};
-    Window                                          window = {};
-  };
-  static_assert( sizeof( XlibSurfaceCreateInfoKHR ) == sizeof( VkXlibSurfaceCreateInfoKHR ),
-                 "struct and wrapper have different size!" );
-  static_assert( std::is_standard_layout<XlibSurfaceCreateInfoKHR>::value, "struct wrapper is not a standard layout!" );
+public:
+  VULKAN_HPP_NAMESPACE::StructureType sType =
+      StructureType::eXlibSurfaceCreateInfoKHR;
+  const void *pNext = {};
+  VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags = {};
+  Display *dpy = {};
+  Window window = {};
+};
+static_assert(sizeof(XlibSurfaceCreateInfoKHR) ==
+                  sizeof(VkXlibSurfaceCreateInfoKHR),
+              "struct and wrapper have different size!");
+static_assert(std::is_standard_layout<XlibSurfaceCreateInfoKHR>::value,
+              "struct wrapper is not a standard layout!");
 
-  template <>
-  struct CppType<StructureType, StructureType::eXlibSurfaceCreateInfoKHR>
-  {
-    using Type = XlibSurfaceCreateInfoKHR;
-  };
+template <>
+struct CppType<StructureType, StructureType::eXlibSurfaceCreateInfoKHR> {
+  using Type = XlibSurfaceCreateInfoKHR;
+};
 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result createInstance( const VULKAN_HPP_NAMESPACE::InstanceCreateInfo *  pCreateInfo,
-                                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                           VULKAN_HPP_NAMESPACE::Instance *                  pInstance,
-                                           Dispatch const &                                  d ) VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo *>( pCreateInfo ),
-                                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                    reinterpret_cast<VkInstance *>( pInstance ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Instance>::type createInstance(
-    const InstanceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d )
-  {
-    VULKAN_HPP_NAMESPACE::Instance instance;
-    Result                         result = static_cast<Result>( d.vkCreateInstance(
-      reinterpret_cast<const VkInstanceCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkInstance *>( &instance ) ) );
-    return createResultValue( result, instance, VULKAN_HPP_NAMESPACE_STRING "::createInstance" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Instance, Dispatch>>::type createInstanceUnique(
-    const InstanceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d )
-  {
-    VULKAN_HPP_NAMESPACE::Instance instance;
-    Result                         result = static_cast<Result>( d.vkCreateInstance(
-      reinterpret_cast<const VkInstanceCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkInstance *>( &instance ) ) );
+class DebugReportCallbackEXT {
+public:
+  using CType = VkDebugReportCallbackEXT;
 
-    ObjectDestroy<NoParent, Dispatch> deleter( allocator, d );
-    return createResultValue<Instance, Dispatch>(
-      result, instance, VULKAN_HPP_NAMESPACE_STRING "::createInstanceUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::
+              eDebugReportCallbackEXT;
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    enumerateInstanceExtensionProperties( const char *                                pLayerName,
-                                          uint32_t *                                  pPropertyCount,
-                                          VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,
-                                          Dispatch const &                            d ) VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumerateInstanceExtensionProperties(
-      pLayerName, pPropertyCount, reinterpret_cast<VkExtensionProperties *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type
-    enumerateInstanceExtensionProperties( Optional<const std::string> layerName, Dispatch const & d )
-  {
-    std::vector<ExtensionProperties, Allocator> properties;
-    uint32_t                                    propertyCount;
-    Result                                      result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr,
-                                                    &propertyCount,
-                                                    reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type
-    enumerateInstanceExtensionProperties( Optional<const std::string> layerName,
-                                          Allocator const &           vectorAllocator,
-                                          Dispatch const &            d )
-  {
-    std::vector<ExtensionProperties, Allocator> properties( vectorAllocator );
-    uint32_t                                    propertyCount;
-    Result                                      result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr,
-                                                    &propertyCount,
-                                                    reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+public:
+  VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT() = default;
+  VULKAN_HPP_CONSTEXPR
+  DebugReportCallbackEXT(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT DebugReportCallbackEXT(
+      VkDebugReportCallbackEXT debugReportCallbackEXT) VULKAN_HPP_NOEXCEPT
+      : m_debugReportCallbackEXT(debugReportCallbackEXT) {}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result enumerateInstanceLayerProperties( uint32_t *                              pPropertyCount,
-                                                             VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,
-                                                             Dispatch const & d ) VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkEnumerateInstanceLayerProperties( pPropertyCount, reinterpret_cast<VkLayerProperties *>( pProperties ) ) );
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DebugReportCallbackEXT &operator=(
+      VkDebugReportCallbackEXT debugReportCallbackEXT) VULKAN_HPP_NOEXCEPT {
+    m_debugReportCallbackEXT = debugReportCallbackEXT;
+    return *this;
   }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-    enumerateInstanceLayerProperties( Dispatch const & d )
-  {
-    std::vector<LayerProperties, Allocator> properties;
-    uint32_t                                propertyCount;
-    Result                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkEnumerateInstanceLayerProperties(
-          &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-    enumerateInstanceLayerProperties( Allocator const & vectorAllocator, Dispatch const & d )
-  {
-    std::vector<LayerProperties, Allocator> properties( vectorAllocator );
-    uint32_t                                propertyCount;
-    Result                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkEnumerateInstanceLayerProperties(
-          &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result enumerateInstanceVersion( uint32_t * pApiVersion, Dispatch const & d ) VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumerateInstanceVersion( pApiVersion ) );
+  DebugReportCallbackEXT &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_debugReportCallbackEXT = {};
+    return *this;
   }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<uint32_t>::type enumerateInstanceVersion( Dispatch const & d )
-  {
-    uint32_t apiVersion;
-    Result   result = static_cast<Result>( d.vkEnumerateInstanceVersion( &apiVersion ) );
-    return createResultValue( result, apiVersion, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceVersion" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result CommandBuffer::begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo * pBeginInfo,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkBeginCommandBuffer( m_commandBuffer, reinterpret_cast<const VkCommandBufferBeginInfo *>( pBeginInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::begin( const CommandBufferBeginInfo & beginInfo,
-                                                                               Dispatch const &               d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkBeginCommandBuffer( m_commandBuffer, reinterpret_cast<const VkCommandBufferBeginInfo *>( &beginInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::begin" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT(
-    const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin,
-    Dispatch const &                                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginConditionalRenderingEXT(
-      m_commandBuffer, reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( pConditionalRenderingBegin ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::beginConditionalRenderingEXT( const ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin,
-                                                 Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginConditionalRenderingEXT(
-      m_commandBuffer, reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( &conditionalRenderingBegin ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginQuery( VULKAN_HPP_NAMESPACE::QueryPool         queryPool,
-                                                    uint32_t                                query,
-                                                    VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginQuery(
-      m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ) );
-  }
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugReportCallbackEXT const &) const = default;
 #else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                    uint32_t query,
-                                                    VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginQuery(
-      m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ) );
+  bool operator==(DebugReportCallbackEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_debugReportCallbackEXT == rhs.m_debugReportCallbackEXT;
   }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool         queryPool,
-                                                              uint32_t                                query,
-                                                              VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
-                                                              uint32_t                                index,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginQueryIndexedEXT(
-      m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ), index );
+  bool operator!=(DebugReportCallbackEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_debugReportCallbackEXT != rhs.m_debugReportCallbackEXT;
   }
+
+  bool operator<(DebugReportCallbackEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_debugReportCallbackEXT < rhs.m_debugReportCallbackEXT;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDebugReportCallbackEXT() const VULKAN_HPP_NOEXCEPT {
+    return m_debugReportCallbackEXT;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_debugReportCallbackEXT != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_debugReportCallbackEXT == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDebugReportCallbackEXT m_debugReportCallbackEXT = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT) ==
+                  sizeof(VkDebugReportCallbackEXT),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDebugReportCallbackEXT> {
+  using type = VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT> {
+  using Type = VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT;
+};
+
+template <>
+struct CppType<
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDebugReportCallbackEXT> {
+  using Type = VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+class DebugUtilsMessengerEXT {
+public:
+  using CType = VkDebugUtilsMessengerEXT;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
+
+public:
+  VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT() = default;
+  VULKAN_HPP_CONSTEXPR
+  DebugUtilsMessengerEXT(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT DebugUtilsMessengerEXT(
+      VkDebugUtilsMessengerEXT debugUtilsMessengerEXT) VULKAN_HPP_NOEXCEPT
+      : m_debugUtilsMessengerEXT(debugUtilsMessengerEXT) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  DebugUtilsMessengerEXT &operator=(
+      VkDebugUtilsMessengerEXT debugUtilsMessengerEXT) VULKAN_HPP_NOEXCEPT {
+    m_debugUtilsMessengerEXT = debugUtilsMessengerEXT;
+    return *this;
+  }
+#endif
+
+  DebugUtilsMessengerEXT &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_debugUtilsMessengerEXT = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(DebugUtilsMessengerEXT const &) const = default;
 #else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                              uint32_t query,
-                                                              VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
-                                                              uint32_t index,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginQueryIndexedEXT(
-      m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ), index );
+  bool operator==(DebugUtilsMessengerEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_debugUtilsMessengerEXT == rhs.m_debugUtilsMessengerEXT;
   }
+
+  bool operator!=(DebugUtilsMessengerEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_debugUtilsMessengerEXT != rhs.m_debugUtilsMessengerEXT;
+  }
+
+  bool operator<(DebugUtilsMessengerEXT const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_debugUtilsMessengerEXT < rhs.m_debugUtilsMessengerEXT;
+  }
+#endif
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT
+  operator VkDebugUtilsMessengerEXT() const VULKAN_HPP_NOEXCEPT {
+    return m_debugUtilsMessengerEXT;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_debugUtilsMessengerEXT != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_debugUtilsMessengerEXT == VK_NULL_HANDLE;
+  }
+
+private:
+  VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT) ==
+                  sizeof(VkDebugUtilsMessengerEXT),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eDebugUtilsMessengerEXT> {
+  using type = VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT> {
+  using Type = VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT;
+};
+
+template <>
+struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+class Instance;
+template <typename Dispatch>
+class UniqueHandleTraits<DebugReportCallbackEXT, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Instance, Dispatch>;
+};
+using UniqueDebugReportCallbackEXT =
+    UniqueHandle<DebugReportCallbackEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch>
+class UniqueHandleTraits<DebugUtilsMessengerEXT, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Instance, Dispatch>;
+};
+using UniqueDebugUtilsMessengerEXT =
+    UniqueHandle<DebugUtilsMessengerEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+template <typename Dispatch> class UniqueHandleTraits<SurfaceKHR, Dispatch> {
+public:
+  using deleter = ObjectDestroy<Instance, Dispatch>;
+};
+using UniqueSurfaceKHR =
+    UniqueHandle<SurfaceKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+
+class Instance {
+public:
+  using CType = VkInstance;
+
+  static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType
+      objectType = VULKAN_HPP_NAMESPACE::ObjectType::eInstance;
+  static VULKAN_HPP_CONST_OR_CONSTEXPR
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eInstance;
+
+public:
+  VULKAN_HPP_CONSTEXPR Instance() = default;
+  VULKAN_HPP_CONSTEXPR Instance(std::nullptr_t) VULKAN_HPP_NOEXCEPT {}
+  VULKAN_HPP_TYPESAFE_EXPLICIT Instance(VkInstance instance) VULKAN_HPP_NOEXCEPT
+      : m_instance(instance) {}
+
+#if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
+  Instance &operator=(VkInstance instance) VULKAN_HPP_NOEXCEPT {
+    m_instance = instance;
+    return *this;
+  }
+#endif
+
+  Instance &operator=(std::nullptr_t) VULKAN_HPP_NOEXCEPT {
+    m_instance = {};
+    return *this;
+  }
+
+#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
+  auto operator<=>(Instance const &) const = default;
+#else
+  bool operator==(Instance const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_instance == rhs.m_instance;
+  }
+
+  bool operator!=(Instance const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_instance != rhs.m_instance;
+  }
+
+  bool operator<(Instance const &rhs) const VULKAN_HPP_NOEXCEPT {
+    return m_instance < rhs.m_instance;
+  }
+#endif
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createAndroidSurfaceKHR(
+      const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createAndroidSurfaceKHR(
+          const AndroidSurfaceCreateInfoKHR &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createAndroidSurfaceKHRUnique(
+          const AndroidSurfaceCreateInfoKHR &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createDebugReportCallbackEXT(
+      const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT *pCallback,
+      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>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::type
+  createDebugReportCallbackEXT(
+      const DebugReportCallbackCreateInfoEXT &createInfo,
+      Optional<const 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_INLINE typename ResultValueType<UniqueHandle<
+      VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT, Dispatch>>::type
+  createDebugReportCallbackEXTUnique(
+      const DebugReportCallbackCreateInfoEXT &createInfo,
+      Optional<const 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_INLINE void
-    CommandBuffer::beginRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
-                                    VULKAN_HPP_NAMESPACE::SubpassContents             contents,
-                                    Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginRenderPass( m_commandBuffer,
-                            reinterpret_cast<const VkRenderPassBeginInfo *>( pRenderPassBegin ),
-                            static_cast<VkSubpassContents>( contents ) );
-  }
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createDebugUtilsMessengerEXT(
+      const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT *pMessenger,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( const RenderPassBeginInfo &           renderPassBegin,
-                                                         VULKAN_HPP_NAMESPACE::SubpassContents contents,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginRenderPass( m_commandBuffer,
-                            reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ),
-                            static_cast<VkSubpassContents>( contents ) );
-  }
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::type
+  createDebugUtilsMessengerEXT(
+      const DebugUtilsMessengerCreateInfoEXT &createInfo,
+      Optional<const 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_INLINE typename ResultValueType<UniqueHandle<
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT, Dispatch>>::type
+  createDebugUtilsMessengerEXTUnique(
+      const DebugUtilsMessengerCreateInfoEXT &createInfo,
+      Optional<const 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_INLINE void
-    CommandBuffer::beginRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
-                                     const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *    pSubpassBeginInfo,
-                                     Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginRenderPass2( m_commandBuffer,
-                             reinterpret_cast<const VkRenderPassBeginInfo *>( pRenderPassBegin ),
-                             reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ) );
-  }
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createDirectFBSurfaceEXT(
+      const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2( const RenderPassBeginInfo & renderPassBegin,
-                                                          const SubpassBeginInfo &    subpassBeginInfo,
-                                                          Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginRenderPass2( m_commandBuffer,
-                             reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ),
-                             reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) );
-  }
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+      createDirectFBSurfaceEXT(
+          const DirectFBSurfaceCreateInfoEXT &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createDirectFBSurfaceEXTUnique(
+          const DirectFBSurfaceCreateInfoEXT &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createDisplayPlaneSurfaceKHR(
+      const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createDisplayPlaneSurfaceKHR(
+          const DisplaySurfaceCreateInfoKHR &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createDisplayPlaneSurfaceKHRUnique(
+          const DisplaySurfaceCreateInfoKHR &createInfo,
+          Optional<const 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_INLINE void
-    CommandBuffer::beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,
-                                        const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *    pSubpassBeginInfo,
-                                        Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginRenderPass2KHR( m_commandBuffer,
-                                reinterpret_cast<const VkRenderPassBeginInfo *>( pRenderPassBegin ),
-                                reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ) );
-  }
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createHeadlessSurfaceEXT(
+      const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR( const RenderPassBeginInfo & renderPassBegin,
-                                                             const SubpassBeginInfo &    subpassBeginInfo,
-                                                             Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginRenderPass2KHR( m_commandBuffer,
-                                reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ),
-                                reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) );
-  }
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+      createHeadlessSurfaceEXT(
+          const HeadlessSurfaceCreateInfoEXT &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createHeadlessSurfaceEXTUnique(
+          const HeadlessSurfaceCreateInfoEXT &createInfo,
+          Optional<const 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_INLINE void
-    CommandBuffer::beginTransformFeedbackEXT( uint32_t                                 firstCounterBuffer,
-                                              uint32_t                                 counterBufferCount,
-                                              const VULKAN_HPP_NAMESPACE::Buffer *     pCounterBuffers,
-                                              const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,
-                                              Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBeginTransformFeedbackEXT( m_commandBuffer,
-                                      firstCounterBuffer,
-                                      counterBufferCount,
-                                      reinterpret_cast<const VkBuffer *>( pCounterBuffers ),
-                                      reinterpret_cast<const VkDeviceSize *>( pCounterBufferOffsets ) );
-  }
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createIOSSurfaceMVK(
+      const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT(
-    uint32_t                                                   firstCounterBuffer,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     counterBuffers,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets,
-    Dispatch const &                                           d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( counterBuffers.size() == counterBufferOffsets.size() );
-#  else
-    if ( counterBuffers.size() != counterBufferOffsets.size() )
-    {
-      throw LogicError(
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+      createIOSSurfaceMVK(const IOSSurfaceCreateInfoMVK &createInfo,
+                          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createIOSSurfaceMVKUnique(
+          const IOSSurfaceCreateInfoMVK &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createImagePipeSurfaceFUCHSIA(
+      const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA
+          *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createImagePipeSurfaceFUCHSIA(
+          const ImagePipeSurfaceCreateInfoFUCHSIA &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createImagePipeSurfaceFUCHSIAUnique(
+          const ImagePipeSurfaceCreateInfoFUCHSIA &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createMacOSSurfaceMVK(
+      const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createMacOSSurfaceMVK(const MacOSSurfaceCreateInfoMVK &createInfo,
+                            Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createMacOSSurfaceMVKUnique(
+          const MacOSSurfaceCreateInfoMVK &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createMetalSurfaceEXT(
+      const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createMetalSurfaceEXT(const MetalSurfaceCreateInfoEXT &createInfo,
+                            Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createMetalSurfaceEXTUnique(
+          const MetalSurfaceCreateInfoEXT &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createScreenSurfaceQNX(
+      const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createScreenSurfaceQNX(
+          const ScreenSurfaceCreateInfoQNX &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createScreenSurfaceQNXUnique(
+          const ScreenSurfaceCreateInfoQNX &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+
+#if defined(VK_USE_PLATFORM_GGP)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createStreamDescriptorSurfaceGGP(
+      const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP
+          *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createStreamDescriptorSurfaceGGP(
+          const StreamDescriptorSurfaceCreateInfoGGP &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createStreamDescriptorSurfaceGGPUnique(
+          const StreamDescriptorSurfaceCreateInfoGGP &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_GGP*/
+
+#if defined(VK_USE_PLATFORM_VI_NN)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createViSurfaceNN(
+      const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createViSurfaceNN(const ViSurfaceCreateInfoNN &createInfo,
+                        Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createViSurfaceNNUnique(
+          const ViSurfaceCreateInfoNN &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_VI_NN*/
+
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createWaylandSurfaceKHR(
+      const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createWaylandSurfaceKHR(
+          const WaylandSurfaceCreateInfoKHR &createInfo,
+          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createWaylandSurfaceKHRUnique(
+          const WaylandSurfaceCreateInfoKHR &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createWin32SurfaceKHR(
+      const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createWin32SurfaceKHR(const Win32SurfaceCreateInfoKHR &createInfo,
+                            Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createWin32SurfaceKHRUnique(
+          const Win32SurfaceCreateInfoKHR &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createXcbSurfaceKHR(
+      const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createXcbSurfaceKHR(const XcbSurfaceCreateInfoKHR &createInfo,
+                          Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createXcbSurfaceKHRUnique(
+          const XcbSurfaceCreateInfoKHR &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD Result createXlibSurfaceKHR(
+      const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR *pCreateInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+      VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+      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::SurfaceKHR>::type
+      createXlibSurfaceKHR(const XlibSurfaceCreateInfoKHR &createInfo,
+                           Optional<const 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::SurfaceKHR, Dispatch>>::type
+      createXlibSurfaceKHRUnique(
+          const XlibSurfaceCreateInfoKHR &createInfo,
+          Optional<const 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*/
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  void debugReportMessageEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType,
+      uint64_t object, size_t location, int32_t messageCode,
+      const char *pLayerPrefix, const char *pMessage,
+      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 debugReportMessageEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType,
+      uint64_t object, size_t location, int32_t messageCode,
+      const std::string &layerPrefix, const std::string &message,
+      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 destroyDebugReportCallbackEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
+      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 destroyDebugReportCallbackEXT(
+      VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::DebugReportCallbackEXT callback,
+               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::DebugReportCallbackEXT callback,
+               Optional<const 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 destroyDebugUtilsMessengerEXT(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
+      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 destroyDebugUtilsMessengerEXT(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger
+          VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+      Optional<const 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::DebugUtilsMessengerEXT messenger,
+               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::DebugUtilsMessengerEXT messenger,
+               Optional<const 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(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(Optional<const 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
+  destroySurfaceKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                    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
+  destroySurfaceKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface
+                        VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
+                    Optional<const 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::SurfaceKHR surface,
+               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::SurfaceKHR surface,
+               Optional<const 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 enumeratePhysicalDeviceGroups(
+      uint32_t *pPhysicalDeviceGroupCount,
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties
+          *pPhysicalDeviceGroupProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PhysicalDeviceGroupPropertiesAllocator =
+                std::allocator<PhysicalDeviceGroupProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceGroupProperties,
+                  PhysicalDeviceGroupPropertiesAllocator>>::type
+  enumeratePhysicalDeviceGroups(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PhysicalDeviceGroupPropertiesAllocator =
+                std::allocator<PhysicalDeviceGroupProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PhysicalDeviceGroupPropertiesAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             PhysicalDeviceGroupProperties>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceGroupProperties,
+                  PhysicalDeviceGroupPropertiesAllocator>>::type
+  enumeratePhysicalDeviceGroups(
+      PhysicalDeviceGroupPropertiesAllocator
+          &physicalDeviceGroupPropertiesAllocator,
+      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 enumeratePhysicalDeviceGroupsKHR(
+      uint32_t *pPhysicalDeviceGroupCount,
+      VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties
+          *pPhysicalDeviceGroupProperties,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PhysicalDeviceGroupPropertiesAllocator =
+                std::allocator<PhysicalDeviceGroupProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceGroupProperties,
+                  PhysicalDeviceGroupPropertiesAllocator>>::type
+  enumeratePhysicalDeviceGroupsKHR(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PhysicalDeviceGroupPropertiesAllocator =
+                std::allocator<PhysicalDeviceGroupProperties>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PhysicalDeviceGroupPropertiesAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type,
+                             PhysicalDeviceGroupProperties>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDeviceGroupProperties,
+                  PhysicalDeviceGroupPropertiesAllocator>>::type
+  enumeratePhysicalDeviceGroupsKHR(
+      PhysicalDeviceGroupPropertiesAllocator
+          &physicalDeviceGroupPropertiesAllocator,
+      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 enumeratePhysicalDevices(
+      uint32_t *pPhysicalDeviceCount,
+      VULKAN_HPP_NAMESPACE::PhysicalDevice *pPhysicalDevices,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename PhysicalDeviceAllocator = std::allocator<PhysicalDevice>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDevice, PhysicalDeviceAllocator>>::type
+  enumeratePhysicalDevices(
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+  template <typename PhysicalDeviceAllocator = std::allocator<PhysicalDevice>,
+            typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+            typename B = PhysicalDeviceAllocator,
+            typename std::enable_if<
+                std::is_same<typename B::value_type, PhysicalDevice>::value,
+                int>::type = 0>
+  VULKAN_HPP_NODISCARD typename ResultValueType<
+      std::vector<PhysicalDevice, PhysicalDeviceAllocator>>::type
+  enumeratePhysicalDevices(PhysicalDeviceAllocator &physicalDeviceAllocator,
+                           Dispatch const &d
+                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+  PFN_vkVoidFunction
+  getProcAddr(const char *pName,
+              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>
+  PFN_vkVoidFunction
+  getProcAddr(const std::string &name,
+              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 submitDebugUtilsMessageEXT(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT
+          messageSeverity,
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
+      const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT
+          *pCallbackData,
+      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 submitDebugUtilsMessageEXT(
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT
+          messageSeverity,
+      VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
+      const DebugUtilsMessengerCallbackDataEXT &callbackData,
+      Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const
+      VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkInstance() const VULKAN_HPP_NOEXCEPT {
+    return m_instance;
+  }
+
+  explicit operator bool() const VULKAN_HPP_NOEXCEPT {
+    return m_instance != VK_NULL_HANDLE;
+  }
+
+  bool operator!() const VULKAN_HPP_NOEXCEPT {
+    return m_instance == VK_NULL_HANDLE;
+  }
+
+private:
+  VkInstance m_instance = {};
+};
+static_assert(sizeof(VULKAN_HPP_NAMESPACE::Instance) == sizeof(VkInstance),
+              "handle and wrapper have different size!");
+
+template <>
+struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead.")
+    cpp_type<ObjectType::eInstance> {
+  using type = VULKAN_HPP_NAMESPACE::Instance;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::ObjectType,
+               VULKAN_HPP_NAMESPACE::ObjectType::eInstance> {
+  using Type = VULKAN_HPP_NAMESPACE::Instance;
+};
+
+template <>
+struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+               VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eInstance> {
+  using Type = VULKAN_HPP_NAMESPACE::Instance;
+};
+
+template <> struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::Instance> {
+  static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+};
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch> class UniqueHandleTraits<Instance, Dispatch> {
+public:
+  using deleter = ObjectDestroy<NoParent, Dispatch>;
+};
+using UniqueInstance =
+    UniqueHandle<Instance, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+
+template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+VULKAN_HPP_NODISCARD Result
+createInstance(const VULKAN_HPP_NAMESPACE::InstanceCreateInfo *pCreateInfo,
+               const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+               VULKAN_HPP_NAMESPACE::Instance *pInstance,
+               Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+    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::Instance>::type
+    createInstance(const InstanceCreateInfo &createInfo,
+                   Optional<const AllocationCallbacks> allocator
+                       VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                   Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT);
+#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::Instance, Dispatch>>::type
+    createInstanceUnique(const InstanceCreateInfo &createInfo,
+                         Optional<const AllocationCallbacks> allocator
+                             VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                         Dispatch const &d
+                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT);
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+VULKAN_HPP_NODISCARD Result enumerateInstanceExtensionProperties(
+    const char *pLayerName, uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::ExtensionProperties *pProperties,
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+    VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <
+    typename ExtensionPropertiesAllocator = std::allocator<ExtensionProperties>,
+    typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+VULKAN_HPP_NODISCARD typename ResultValueType<
+    std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+enumerateInstanceExtensionProperties(
+    Optional<const std::string> layerName
+        VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT);
+template <
+    typename ExtensionPropertiesAllocator = std::allocator<ExtensionProperties>,
+    typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+    typename B = ExtensionPropertiesAllocator,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, ExtensionProperties>::value,
+        int>::type = 0>
+VULKAN_HPP_NODISCARD typename ResultValueType<
+    std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+enumerateInstanceExtensionProperties(
+    Optional<const std::string> layerName,
+    ExtensionPropertiesAllocator &extensionPropertiesAllocator,
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT);
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+VULKAN_HPP_NODISCARD Result enumerateInstanceLayerProperties(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::LayerProperties *pProperties,
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+    VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename LayerPropertiesAllocator = std::allocator<LayerProperties>,
+          typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+VULKAN_HPP_NODISCARD typename ResultValueType<
+    std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+enumerateInstanceLayerProperties(
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT);
+template <typename LayerPropertiesAllocator = std::allocator<LayerProperties>,
+          typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+          typename B = LayerPropertiesAllocator,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, LayerProperties>::value,
+              int>::type = 0>
+VULKAN_HPP_NODISCARD typename ResultValueType<
+    std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+enumerateInstanceLayerProperties(
+    LayerPropertiesAllocator &layerPropertiesAllocator,
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT);
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+VULKAN_HPP_NODISCARD Result enumerateInstanceVersion(
+    uint32_t *pApiVersion,
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)
+    VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+typename ResultValueType<uint32_t>::type enumerateInstanceVersion(
+    Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT);
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+createInstance(const VULKAN_HPP_NAMESPACE::InstanceCreateInfo *pCreateInfo,
+               const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+               VULKAN_HPP_NAMESPACE::Instance *pInstance,
+               Dispatch const &d) VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateInstance(
+      reinterpret_cast<const VkInstanceCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkInstance *>(pInstance)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Instance>::type
+    createInstance(const InstanceCreateInfo &createInfo,
+                   Optional<const AllocationCallbacks> allocator,
+                   Dispatch const &d) {
+  VULKAN_HPP_NAMESPACE::Instance instance;
+  Result result = static_cast<Result>(d.vkCreateInstance(
+      reinterpret_cast<const VkInstanceCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkInstance *>(&instance)));
+  return createResultValue(result, instance,
+                           VULKAN_HPP_NAMESPACE_STRING "::createInstance");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Instance, Dispatch>>::type
+    createInstanceUnique(const InstanceCreateInfo &createInfo,
+                         Optional<const AllocationCallbacks> allocator,
+                         Dispatch const &d) {
+  VULKAN_HPP_NAMESPACE::Instance instance;
+  Result result = static_cast<Result>(d.vkCreateInstance(
+      reinterpret_cast<const VkInstanceCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkInstance *>(&instance)));
+  ObjectDestroy<NoParent, Dispatch> deleter(allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Instance, Dispatch>(
+      result, instance, VULKAN_HPP_NAMESPACE_STRING "::createInstanceUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+enumerateInstanceExtensionProperties(
+    const char *pLayerName, uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::ExtensionProperties *pProperties,
+    Dispatch const &d) VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumerateInstanceExtensionProperties(
+      pLayerName, pPropertyCount,
+      reinterpret_cast<VkExtensionProperties *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename ExtensionPropertiesAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+enumerateInstanceExtensionProperties(Optional<const std::string> layerName,
+                                     Dispatch const &d) {
+  std::vector<ExtensionProperties, ExtensionPropertiesAllocator> properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumerateInstanceExtensionProperties(
+        layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateInstanceExtensionProperties(
+          layerName ? layerName->c_str() : nullptr, &propertyCount,
+          reinterpret_cast<VkExtensionProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::enumerateInstanceExtensionProperties");
+}
+
+template <typename ExtensionPropertiesAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, ExtensionProperties>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+enumerateInstanceExtensionProperties(
+    Optional<const std::string> layerName,
+    ExtensionPropertiesAllocator &extensionPropertiesAllocator,
+    Dispatch const &d) {
+  std::vector<ExtensionProperties, ExtensionPropertiesAllocator> properties(
+      extensionPropertiesAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumerateInstanceExtensionProperties(
+        layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateInstanceExtensionProperties(
+          layerName ? layerName->c_str() : nullptr, &propertyCount,
+          reinterpret_cast<VkExtensionProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::enumerateInstanceExtensionProperties");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceLayerProperties(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::LayerProperties *pProperties,
+    Dispatch const &d) VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumerateInstanceLayerProperties(
+      pPropertyCount, reinterpret_cast<VkLayerProperties *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename LayerPropertiesAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+enumerateInstanceLayerProperties(Dispatch const &d) {
+  std::vector<LayerProperties, LayerPropertiesAllocator> properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkEnumerateInstanceLayerProperties(&propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateInstanceLayerProperties(
+          &propertyCount,
+          reinterpret_cast<VkLayerProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::enumerateInstanceLayerProperties");
+}
+
+template <typename LayerPropertiesAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, LayerProperties>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+enumerateInstanceLayerProperties(
+    LayerPropertiesAllocator &layerPropertiesAllocator, Dispatch const &d) {
+  std::vector<LayerProperties, LayerPropertiesAllocator> properties(
+      layerPropertiesAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkEnumerateInstanceLayerProperties(&propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateInstanceLayerProperties(
+          &propertyCount,
+          reinterpret_cast<VkLayerProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::enumerateInstanceLayerProperties");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceVersion(
+    uint32_t *pApiVersion, Dispatch const &d) VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumerateInstanceVersion(pApiVersion));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<uint32_t>::type
+enumerateInstanceVersion(Dispatch const &d) {
+  uint32_t apiVersion;
+  Result result =
+      static_cast<Result>(d.vkEnumerateInstanceVersion(&apiVersion));
+  return createResultValue(result, apiVersion,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::enumerateInstanceVersion");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::begin(
+    const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo *pBeginInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkBeginCommandBuffer(
+      m_commandBuffer,
+      reinterpret_cast<const VkCommandBufferBeginInfo *>(pBeginInfo)));
+}
+
+#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 CommandBufferBeginInfo &beginInfo,
+                         Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkBeginCommandBuffer(
+      m_commandBuffer,
+      reinterpret_cast<const VkCommandBufferBeginInfo *>(&beginInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::CommandBuffer::begin");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT(
+    const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT
+        *pConditionalRenderingBegin,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginConditionalRenderingEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>(
+          pConditionalRenderingBegin));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT(
+    const ConditionalRenderingBeginInfoEXT &conditionalRenderingBegin,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginConditionalRenderingEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>(
+          &conditionalRenderingBegin));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT(
+    const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginDebugUtilsLabelEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugUtilsLabelEXT *>(pLabelInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT(
+    const DebugUtilsLabelEXT &labelInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginDebugUtilsLabelEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::beginQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                          uint32_t query,
+                          VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginQuery(m_commandBuffer, static_cast<VkQueryPool>(queryPool), query,
+                    static_cast<VkQueryControlFlags>(flags));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT(
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+    VULKAN_HPP_NAMESPACE::QueryControlFlags flags, uint32_t index,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginQueryIndexedEXT(m_commandBuffer,
+                              static_cast<VkQueryPool>(queryPool), query,
+                              static_cast<VkQueryControlFlags>(flags), index);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass(
+    const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo *pRenderPassBegin,
+    VULKAN_HPP_NAMESPACE::SubpassContents contents,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginRenderPass(
+      m_commandBuffer,
+      reinterpret_cast<const VkRenderPassBeginInfo *>(pRenderPassBegin),
+      static_cast<VkSubpassContents>(contents));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::beginRenderPass(const RenderPassBeginInfo &renderPassBegin,
+                               VULKAN_HPP_NAMESPACE::SubpassContents contents,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginRenderPass(
+      m_commandBuffer,
+      reinterpret_cast<const VkRenderPassBeginInfo *>(&renderPassBegin),
+      static_cast<VkSubpassContents>(contents));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2(
+    const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo *pRenderPassBegin,
+    const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginRenderPass2(
+      m_commandBuffer,
+      reinterpret_cast<const VkRenderPassBeginInfo *>(pRenderPassBegin),
+      reinterpret_cast<const VkSubpassBeginInfo *>(pSubpassBeginInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::beginRenderPass2(const RenderPassBeginInfo &renderPassBegin,
+                                const SubpassBeginInfo &subpassBeginInfo,
+                                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginRenderPass2(
+      m_commandBuffer,
+      reinterpret_cast<const VkRenderPassBeginInfo *>(&renderPassBegin),
+      reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR(
+    const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo *pRenderPassBegin,
+    const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginRenderPass2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkRenderPassBeginInfo *>(pRenderPassBegin),
+      reinterpret_cast<const VkSubpassBeginInfo *>(pSubpassBeginInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR(
+    const RenderPassBeginInfo &renderPassBegin,
+    const SubpassBeginInfo &subpassBeginInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginRenderPass2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkRenderPassBeginInfo *>(&renderPassBegin),
+      reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT(
+    uint32_t firstCounterBuffer, uint32_t counterBufferCount,
+    const VULKAN_HPP_NAMESPACE::Buffer *pCounterBuffers,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pCounterBufferOffsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBeginTransformFeedbackEXT(
+      m_commandBuffer, firstCounterBuffer, counterBufferCount,
+      reinterpret_cast<const VkBuffer *>(pCounterBuffers),
+      reinterpret_cast<const VkDeviceSize *>(pCounterBufferOffsets));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT(
+    uint32_t firstCounterBuffer,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const
+        &counterBufferOffsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(counterBufferOffsets.empty() ||
+                    counterBuffers.size() == counterBufferOffsets.size());
+#else
+  if (!counterBufferOffsets.empty() &&
+      counterBuffers.size() != counterBufferOffsets.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::beginTransformFeedbackEXT: "
+                     "counterBuffers.size() != counterBufferOffsets.size()");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdBeginTransformFeedbackEXT(
+      m_commandBuffer, firstCounterBuffer, counterBuffers.size(),
+      reinterpret_cast<const VkBuffer *>(counterBuffers.data()),
+      reinterpret_cast<const VkDeviceSize *>(counterBufferOffsets.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets(
+    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+    VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t firstSet,
+    uint32_t descriptorSetCount,
+    const VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+    uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindDescriptorSets(
+      m_commandBuffer, static_cast<VkPipelineBindPoint>(pipelineBindPoint),
+      static_cast<VkPipelineLayout>(layout), firstSet, descriptorSetCount,
+      reinterpret_cast<const VkDescriptorSet *>(pDescriptorSets),
+      dynamicOffsetCount, pDynamicOffsets);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets(
+    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+    VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t firstSet,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const &descriptorSets,
+    ArrayProxy<const uint32_t> const &dynamicOffsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindDescriptorSets(
+      m_commandBuffer, static_cast<VkPipelineBindPoint>(pipelineBindPoint),
+      static_cast<VkPipelineLayout>(layout), firstSet, descriptorSets.size(),
+      reinterpret_cast<const VkDescriptorSet *>(descriptorSets.data()),
+      dynamicOffsets.size(), dynamicOffsets.data());
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::bindIndexBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                               VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                               VULKAN_HPP_NAMESPACE::IndexType indexType,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindIndexBuffer(m_commandBuffer, static_cast<VkBuffer>(buffer),
+                         static_cast<VkDeviceSize>(offset),
+                         static_cast<VkIndexType>(indexType));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindPipeline(
+    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindPipeline(m_commandBuffer,
+                      static_cast<VkPipelineBindPoint>(pipelineBindPoint),
+                      static_cast<VkPipeline>(pipeline));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindPipelineShaderGroupNV(
+    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t groupIndex,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindPipelineShaderGroupNV(
+      m_commandBuffer, static_cast<VkPipelineBindPoint>(pipelineBindPoint),
+      static_cast<VkPipeline>(pipeline), groupIndex);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindShadingRateImageNV(
+    VULKAN_HPP_NAMESPACE::ImageView imageView,
+    VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindShadingRateImageNV(m_commandBuffer,
+                                static_cast<VkImageView>(imageView),
+                                static_cast<VkImageLayout>(imageLayout));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT(
+    uint32_t firstBinding, uint32_t bindingCount,
+    const VULKAN_HPP_NAMESPACE::Buffer *pBuffers,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pOffsets,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pSizes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindTransformFeedbackBuffersEXT(
+      m_commandBuffer, firstBinding, bindingCount,
+      reinterpret_cast<const VkBuffer *>(pBuffers),
+      reinterpret_cast<const VkDeviceSize *>(pOffsets),
+      reinterpret_cast<const VkDeviceSize *>(pSizes));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT(
+    uint32_t firstBinding,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(buffers.size() == offsets.size());
+  VULKAN_HPP_ASSERT(sizes.empty() || buffers.size() == sizes.size());
+#else
+  if (buffers.size() != offsets.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::bindTransformFeedbackBuffersEXT: "
+                     "buffers.size() != offsets.size()");
+  }
+  if (!sizes.empty() && buffers.size() != sizes.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::bindTransformFeedbackBuffersEXT: "
+                     "buffers.size() != sizes.size()");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdBindTransformFeedbackBuffersEXT(
+      m_commandBuffer, firstBinding, buffers.size(),
+      reinterpret_cast<const VkBuffer *>(buffers.data()),
+      reinterpret_cast<const VkDeviceSize *>(offsets.data()),
+      reinterpret_cast<const VkDeviceSize *>(sizes.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers(
+    uint32_t firstBinding, uint32_t bindingCount,
+    const VULKAN_HPP_NAMESPACE::Buffer *pBuffers,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pOffsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindVertexBuffers(m_commandBuffer, firstBinding, bindingCount,
+                           reinterpret_cast<const VkBuffer *>(pBuffers),
+                           reinterpret_cast<const VkDeviceSize *>(pOffsets));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers(
+    uint32_t firstBinding,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(buffers.size() == offsets.size());
+#else
+  if (buffers.size() != offsets.size()) {
+    throw LogicError(
         VULKAN_HPP_NAMESPACE_STRING
-        "::VkCommandBuffer::beginTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkCmdBeginTransformFeedbackEXT( m_commandBuffer,
-                                      firstCounterBuffer,
-                                      counterBuffers.size(),
-                                      reinterpret_cast<const VkBuffer *>( counterBuffers.data() ),
-                                      reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) );
+        "::CommandBuffer::bindVertexBuffers: buffers.size() != offsets.size()");
   }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdBindVertexBuffers(
+      m_commandBuffer, firstBinding, buffers.size(),
+      reinterpret_cast<const VkBuffer *>(buffers.data()),
+      reinterpret_cast<const VkDeviceSize *>(offsets.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
-                                                            VULKAN_HPP_NAMESPACE::PipelineLayout    layout,
-                                                            uint32_t                                firstSet,
-                                                            uint32_t                                descriptorSetCount,
-                                                            const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
-                                                            uint32_t         dynamicOffsetCount,
-                                                            const uint32_t * pDynamicOffsets,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindDescriptorSets( m_commandBuffer,
-                               static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
-                               static_cast<VkPipelineLayout>( layout ),
-                               firstSet,
-                               descriptorSetCount,
-                               reinterpret_cast<const VkDescriptorSet *>( pDescriptorSets ),
-                               dynamicOffsetCount,
-                               pDynamicOffsets );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT(
+    uint32_t firstBinding, uint32_t bindingCount,
+    const VULKAN_HPP_NAMESPACE::Buffer *pBuffers,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pOffsets,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pSizes,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pStrides,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBindVertexBuffers2EXT(
+      m_commandBuffer, firstBinding, bindingCount,
+      reinterpret_cast<const VkBuffer *>(pBuffers),
+      reinterpret_cast<const VkDeviceSize *>(pOffsets),
+      reinterpret_cast<const VkDeviceSize *>(pSizes),
+      reinterpret_cast<const VkDeviceSize *>(pStrides));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint                       pipelineBindPoint,
-                                       VULKAN_HPP_NAMESPACE::PipelineLayout                          layout,
-                                       uint32_t                                                      firstSet,
-                                       ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
-                                       ArrayProxy<const uint32_t> const &                            dynamicOffsets,
-                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindDescriptorSets( m_commandBuffer,
-                               static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
-                               static_cast<VkPipelineLayout>( layout ),
-                               firstSet,
-                               descriptorSets.size(),
-                               reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ),
-                               dynamicOffsets.size(),
-                               dynamicOffsets.data() );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                         VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                         VULKAN_HPP_NAMESPACE::IndexType  indexType,
-                                                         Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindIndexBuffer( m_commandBuffer,
-                            static_cast<VkBuffer>( buffer ),
-                            static_cast<VkDeviceSize>( offset ),
-                            static_cast<VkIndexType>( indexType ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT(
+    uint32_t firstBinding,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &strides,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(buffers.size() == offsets.size());
+  VULKAN_HPP_ASSERT(sizes.empty() || buffers.size() == sizes.size());
+  VULKAN_HPP_ASSERT(strides.empty() || buffers.size() == strides.size());
 #else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                         VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                         VULKAN_HPP_NAMESPACE::IndexType indexType,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindIndexBuffer( m_commandBuffer,
-                            static_cast<VkBuffer>( buffer ),
-                            static_cast<VkDeviceSize>( offset ),
-                            static_cast<VkIndexType>( indexType ) );
+  if (buffers.size() != offsets.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() "
+                     "!= offsets.size()");
   }
+  if (!sizes.empty() && buffers.size() != sizes.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() "
+                     "!= sizes.size()");
+  }
+  if (!strides.empty() && buffers.size() != strides.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() "
+                     "!= strides.size()");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdBindVertexBuffers2EXT(
+      m_commandBuffer, firstBinding, buffers.size(),
+      reinterpret_cast<const VkBuffer *>(buffers.data()),
+      reinterpret_cast<const VkDeviceSize *>(offsets.data()),
+      reinterpret_cast<const VkDeviceSize *>(sizes.data()),
+      reinterpret_cast<const VkDeviceSize *>(strides.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindPipeline( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
-                                                      VULKAN_HPP_NAMESPACE::Pipeline          pipeline,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindPipeline(
-      m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindPipeline( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
-                                                      VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindPipeline(
-      m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+                         VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+                         VULKAN_HPP_NAMESPACE::Image dstImage,
+                         VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+                         uint32_t regionCount,
+                         const VULKAN_HPP_NAMESPACE::ImageBlit *pRegions,
+                         VULKAN_HPP_NAMESPACE::Filter filter,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBlitImage(m_commandBuffer, static_cast<VkImage>(srcImage),
+                   static_cast<VkImageLayout>(srcImageLayout),
+                   static_cast<VkImage>(dstImage),
+                   static_cast<VkImageLayout>(dstImageLayout), regionCount,
+                   reinterpret_cast<const VkImageBlit *>(pRegions),
+                   static_cast<VkFilter>(filter));
+}
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::bindPipelineShaderGroupNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
-                                              VULKAN_HPP_NAMESPACE::Pipeline          pipeline,
-                                              uint32_t                                groupIndex,
-                                              Dispatch const &                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindPipelineShaderGroupNV( m_commandBuffer,
-                                      static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
-                                      static_cast<VkPipeline>( pipeline ),
-                                      groupIndex );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::bindPipelineShaderGroupNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
-                                              VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                              uint32_t groupIndex,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindPipelineShaderGroupNV( m_commandBuffer,
-                                      static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
-                                      static_cast<VkPipeline>( pipeline ),
-                                      groupIndex );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView   imageView,
-                                                                VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
-                                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindShadingRateImageNV(
-      m_commandBuffer, static_cast<VkImageView>( imageView ), static_cast<VkImageLayout>( imageLayout ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView imageView,
-                                                                VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
-                                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindShadingRateImageNV(
-      m_commandBuffer, static_cast<VkImageView>( imageView ), static_cast<VkImageLayout>( imageLayout ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::bindTransformFeedbackBuffersEXT( uint32_t                                 firstBinding,
-                                                    uint32_t                                 bindingCount,
-                                                    const VULKAN_HPP_NAMESPACE::Buffer *     pBuffers,
-                                                    const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
-                                                    const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindTransformFeedbackBuffersEXT( m_commandBuffer,
-                                            firstBinding,
-                                            bindingCount,
-                                            reinterpret_cast<const VkBuffer *>( pBuffers ),
-                                            reinterpret_cast<const VkDeviceSize *>( pOffsets ),
-                                            reinterpret_cast<const VkDeviceSize *>( pSizes ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::bindTransformFeedbackBuffersEXT( uint32_t                                               firstBinding,
-                                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
-                                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
-                                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,
-                                                    Dispatch const &                                           d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( buffers.size() == offsets.size() );
-#  else
-    if ( buffers.size() != offsets.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != offsets.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( buffers.size() == sizes.size() );
-#  else
-    if ( buffers.size() != sizes.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != sizes.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( offsets.size() == sizes.size() );
-#  else
-    if ( offsets.size() != sizes.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindTransformFeedbackBuffersEXT: offsets.size() != sizes.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkCmdBindTransformFeedbackBuffersEXT( m_commandBuffer,
-                                            firstBinding,
-                                            buffers.size(),
-                                            reinterpret_cast<const VkBuffer *>( buffers.data() ),
-                                            reinterpret_cast<const VkDeviceSize *>( offsets.data() ),
-                                            reinterpret_cast<const VkDeviceSize *>( sizes.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::blitImage(
+    VULKAN_HPP_NAMESPACE::Image srcImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+    VULKAN_HPP_NAMESPACE::Image dstImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const &regions,
+    VULKAN_HPP_NAMESPACE::Filter filter,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBlitImage(m_commandBuffer, static_cast<VkImage>(srcImage),
+                   static_cast<VkImageLayout>(srcImageLayout),
+                   static_cast<VkImage>(dstImage),
+                   static_cast<VkImageLayout>(dstImageLayout), regions.size(),
+                   reinterpret_cast<const VkImageBlit *>(regions.data()),
+                   static_cast<VkFilter>(filter));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( uint32_t                                 firstBinding,
-                                                           uint32_t                                 bindingCount,
-                                                           const VULKAN_HPP_NAMESPACE::Buffer *     pBuffers,
-                                                           const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindVertexBuffers( m_commandBuffer,
-                              firstBinding,
-                              bindingCount,
-                              reinterpret_cast<const VkBuffer *>( pBuffers ),
-                              reinterpret_cast<const VkDeviceSize *>( pOffsets ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::bindVertexBuffers( uint32_t                                                   firstBinding,
-                                      ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     buffers,
-                                      ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
-                                      Dispatch const &                                           d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( buffers.size() == offsets.size() );
-#  else
-    if ( buffers.size() != offsets.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindVertexBuffers: buffers.size() != offsets.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkCmdBindVertexBuffers( m_commandBuffer,
-                              firstBinding,
-                              buffers.size(),
-                              reinterpret_cast<const VkBuffer *>( buffers.data() ),
-                              reinterpret_cast<const VkDeviceSize *>( offsets.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT( uint32_t                                 firstBinding,
-                                                               uint32_t                                 bindingCount,
-                                                               const VULKAN_HPP_NAMESPACE::Buffer *     pBuffers,
-                                                               const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
-                                                               const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,
-                                                               const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBindVertexBuffers2EXT( m_commandBuffer,
-                                  firstBinding,
-                                  bindingCount,
-                                  reinterpret_cast<const VkBuffer *>( pBuffers ),
-                                  reinterpret_cast<const VkDeviceSize *>( pOffsets ),
-                                  reinterpret_cast<const VkDeviceSize *>( pSizes ),
-                                  reinterpret_cast<const VkDeviceSize *>( pStrides ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::bindVertexBuffers2EXT( uint32_t                                                   firstBinding,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     buffers,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides,
-                                          Dispatch const &                                           d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( buffers.size() == offsets.size() );
-#  else
-    if ( buffers.size() != offsets.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindVertexBuffers2EXT: buffers.size() != offsets.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( buffers.size() == sizes.size() );
-#  else
-    if ( buffers.size() != sizes.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindVertexBuffers2EXT: buffers.size() != sizes.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( buffers.size() == strides.size() );
-#  else
-    if ( buffers.size() != strides.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindVertexBuffers2EXT: buffers.size() != strides.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( offsets.size() == sizes.size() );
-#  else
-    if ( offsets.size() != sizes.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindVertexBuffers2EXT: offsets.size() != sizes.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( offsets.size() == strides.size() );
-#  else
-    if ( offsets.size() != strides.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindVertexBuffers2EXT: offsets.size() != strides.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( sizes.size() == strides.size() );
-#  else
-    if ( sizes.size() != strides.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::bindVertexBuffers2EXT: sizes.size() != strides.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkCmdBindVertexBuffers2EXT( m_commandBuffer,
-                                  firstBinding,
-                                  buffers.size(),
-                                  reinterpret_cast<const VkBuffer *>( buffers.data() ),
-                                  reinterpret_cast<const VkDeviceSize *>( offsets.data() ),
-                                  reinterpret_cast<const VkDeviceSize *>( sizes.data() ),
-                                  reinterpret_cast<const VkDeviceSize *>( strides.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::blitImage( VULKAN_HPP_NAMESPACE::Image             srcImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout       srcImageLayout,
-                                                   VULKAN_HPP_NAMESPACE::Image             dstImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout       dstImageLayout,
-                                                   uint32_t                                regionCount,
-                                                   const VULKAN_HPP_NAMESPACE::ImageBlit * pRegions,
-                                                   VULKAN_HPP_NAMESPACE::Filter            filter,
-                                                   Dispatch const &                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBlitImage( m_commandBuffer,
-                      static_cast<VkImage>( srcImage ),
-                      static_cast<VkImageLayout>( srcImageLayout ),
-                      static_cast<VkImage>( dstImage ),
-                      static_cast<VkImageLayout>( dstImageLayout ),
-                      regionCount,
-                      reinterpret_cast<const VkImageBlit *>( pRegions ),
-                      static_cast<VkFilter>( filter ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::blitImage( VULKAN_HPP_NAMESPACE::Image       srcImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
-                                                   VULKAN_HPP_NAMESPACE::Image       dstImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
-                                                   ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions,
-                                                   VULKAN_HPP_NAMESPACE::Filter                              filter,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBlitImage( m_commandBuffer,
-                      static_cast<VkImage>( srcImage ),
-                      static_cast<VkImageLayout>( srcImageLayout ),
-                      static_cast<VkImage>( dstImage ),
-                      static_cast<VkImageLayout>( dstImageLayout ),
-                      regions.size(),
-                      reinterpret_cast<const VkImageBlit *>( regions.data() ),
-                      static_cast<VkFilter>( filter ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureIndirectKHR(
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfo,
-    VULKAN_HPP_NAMESPACE::Buffer                                            indirectBuffer,
-    VULKAN_HPP_NAMESPACE::DeviceSize                                        indirectOffset,
-    uint32_t                                                                indirectStride,
-    Dispatch const &                                                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBuildAccelerationStructureIndirectKHR(
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::blitImage2KHR(
+    const VULKAN_HPP_NAMESPACE::BlitImageInfo2KHR *pBlitImageInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBlitImage2KHR(
       m_commandBuffer,
-      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( pInfo ),
-      static_cast<VkBuffer>( indirectBuffer ),
-      static_cast<VkDeviceSize>( indirectOffset ),
-      indirectStride );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::buildAccelerationStructureIndirectKHR( const AccelerationStructureBuildGeometryInfoKHR & info,
-                                                          VULKAN_HPP_NAMESPACE::Buffer     indirectBuffer,
-                                                          VULKAN_HPP_NAMESPACE::DeviceSize indirectOffset,
-                                                          uint32_t                         indirectStride,
-                                                          Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBuildAccelerationStructureIndirectKHR(
+      reinterpret_cast<const VkBlitImageInfo2KHR *>(pBlitImageInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::blitImage2KHR(const BlitImageInfo2KHR &blitImageInfo,
+                             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBlitImage2KHR(
       m_commandBuffer,
-      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( &info ),
-      static_cast<VkBuffer>( indirectBuffer ),
-      static_cast<VkDeviceSize>( indirectOffset ),
-      indirectStride );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+      reinterpret_cast<const VkBlitImageInfo2KHR *>(&blitImageInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureKHR(
-    uint32_t                                                                      infoCount,
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR *       pInfos,
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const * ppOffsetInfos,
-    Dispatch const &                                                              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBuildAccelerationStructureKHR(
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV(
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV *pInfo,
+    VULKAN_HPP_NAMESPACE::Buffer instanceData,
+    VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
+    VULKAN_HPP_NAMESPACE::Bool32 update,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
+    VULKAN_HPP_NAMESPACE::Buffer scratch,
+    VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBuildAccelerationStructureNV(
       m_commandBuffer,
-      infoCount,
-      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( pInfos ),
-      reinterpret_cast<const VkAccelerationStructureBuildOffsetInfoKHR * const *>( ppOffsetInfos ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureKHR(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &       infos,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const> const & pOffsetInfos,
-    Dispatch const &                                                                                d ) const
-  {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( infos.size() == pOffsetInfos.size() );
-#    else
-    if ( infos.size() != pOffsetInfos.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkCommandBuffer::buildAccelerationStructureKHR: infos.size() != pOffsetInfos.size()" );
-    }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkCmdBuildAccelerationStructureKHR(
+      reinterpret_cast<const VkAccelerationStructureInfoNV *>(pInfo),
+      static_cast<VkBuffer>(instanceData),
+      static_cast<VkDeviceSize>(instanceOffset), static_cast<VkBool32>(update),
+      static_cast<VkAccelerationStructureNV>(dst),
+      static_cast<VkAccelerationStructureNV>(src),
+      static_cast<VkBuffer>(scratch), static_cast<VkDeviceSize>(scratchOffset));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV(
+    const AccelerationStructureInfoNV &info,
+    VULKAN_HPP_NAMESPACE::Buffer instanceData,
+    VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
+    VULKAN_HPP_NAMESPACE::Bool32 update,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
+    VULKAN_HPP_NAMESPACE::Buffer scratch,
+    VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBuildAccelerationStructureNV(
       m_commandBuffer,
-      infos.size(),
-      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ),
-      reinterpret_cast<const VkAccelerationStructureBuildOffsetInfoKHR * const *>( pOffsetInfos.data() ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+      reinterpret_cast<const VkAccelerationStructureInfoNV *>(&info),
+      static_cast<VkBuffer>(instanceData),
+      static_cast<VkDeviceSize>(instanceOffset), static_cast<VkBool32>(update),
+      static_cast<VkAccelerationStructureNV>(dst),
+      static_cast<VkAccelerationStructureNV>(src),
+      static_cast<VkBuffer>(scratch), static_cast<VkDeviceSize>(scratchOffset));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::buildAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV * pInfo,
-                                                 VULKAN_HPP_NAMESPACE::Buffer                              instanceData,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize               instanceOffset,
-                                                 VULKAN_HPP_NAMESPACE::Bool32                   update,
-                                                 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst,
-                                                 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src,
-                                                 VULKAN_HPP_NAMESPACE::Buffer                   scratch,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize               scratchOffset,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBuildAccelerationStructureNV( m_commandBuffer,
-                                         reinterpret_cast<const VkAccelerationStructureInfoNV *>( pInfo ),
-                                         static_cast<VkBuffer>( instanceData ),
-                                         static_cast<VkDeviceSize>( instanceOffset ),
-                                         static_cast<VkBool32>( update ),
-                                         static_cast<VkAccelerationStructureKHR>( dst ),
-                                         static_cast<VkAccelerationStructureKHR>( src ),
-                                         static_cast<VkBuffer>( scratch ),
-                                         static_cast<VkDeviceSize>( scratchOffset ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR(
+    uint32_t infoCount,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+        *pInfos,
+    const VULKAN_HPP_NAMESPACE::DeviceAddress *pIndirectDeviceAddresses,
+    const uint32_t *pIndirectStrides,
+    const uint32_t *const *ppMaxPrimitiveCounts,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBuildAccelerationStructuresIndirectKHR(
+      m_commandBuffer, infoCount,
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          pInfos),
+      reinterpret_cast<const VkDeviceAddress *>(pIndirectDeviceAddresses),
+      pIndirectStrides, ppMaxPrimitiveCounts);
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::buildAccelerationStructureNV( const AccelerationStructureInfoNV &            info,
-                                                 VULKAN_HPP_NAMESPACE::Buffer                   instanceData,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize               instanceOffset,
-                                                 VULKAN_HPP_NAMESPACE::Bool32                   update,
-                                                 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst,
-                                                 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src,
-                                                 VULKAN_HPP_NAMESPACE::Buffer                   scratch,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize               scratchOffset,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdBuildAccelerationStructureNV( m_commandBuffer,
-                                         reinterpret_cast<const VkAccelerationStructureInfoNV *>( &info ),
-                                         static_cast<VkBuffer>( instanceData ),
-                                         static_cast<VkDeviceSize>( instanceOffset ),
-                                         static_cast<VkBool32>( update ),
-                                         static_cast<VkAccelerationStructureKHR>( dst ),
-                                         static_cast<VkAccelerationStructureKHR>( src ),
-                                         static_cast<VkBuffer>( scratch ),
-                                         static_cast<VkDeviceSize>( scratchOffset ) );
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                   AccelerationStructureBuildGeometryInfoKHR> const &infos,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const
+        &indirectDeviceAddresses,
+    ArrayProxy<const uint32_t> const &indirectStrides,
+    ArrayProxy<const uint32_t *const> const &pMaxPrimitiveCounts,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(infos.size() == indirectDeviceAddresses.size());
+  VULKAN_HPP_ASSERT(infos.size() == indirectStrides.size());
+  VULKAN_HPP_ASSERT(infos.size() == pMaxPrimitiveCounts.size());
+#else
+  if (infos.size() != indirectDeviceAddresses.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::buildAccelerationStructuresIndirectKHR: "
+                     "infos.size() != indirectDeviceAddresses.size()");
   }
+  if (infos.size() != indirectStrides.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::buildAccelerationStructuresIndirectKHR: "
+                     "infos.size() != indirectStrides.size()");
+  }
+  if (infos.size() != pMaxPrimitiveCounts.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::buildAccelerationStructuresIndirectKHR: "
+                     "infos.size() != pMaxPrimitiveCounts.size()");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdBuildAccelerationStructuresIndirectKHR(
+      m_commandBuffer, infos.size(),
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          infos.data()),
+      reinterpret_cast<const VkDeviceAddress *>(indirectDeviceAddresses.data()),
+      indirectStrides.data(), pMaxPrimitiveCounts.data());
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( uint32_t                                      attachmentCount,
-                                                          const VULKAN_HPP_NAMESPACE::ClearAttachment * pAttachments,
-                                                          uint32_t                                      rectCount,
-                                                          const VULKAN_HPP_NAMESPACE::ClearRect *       pRects,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdClearAttachments( m_commandBuffer,
-                             attachmentCount,
-                             reinterpret_cast<const VkClearAttachment *>( pAttachments ),
-                             rectCount,
-                             reinterpret_cast<const VkClearRect *>( pRects ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR(
+    uint32_t infoCount,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+        *pInfos,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const
+        *ppBuildRangeInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdBuildAccelerationStructuresKHR(
+      m_commandBuffer, infoCount,
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          pInfos),
+      reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *const *>(
+          ppBuildRangeInfos));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::clearAttachments( ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments,
-                                     ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const &       rects,
-                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdClearAttachments( m_commandBuffer,
-                             attachments.size(),
-                             reinterpret_cast<const VkClearAttachment *>( attachments.data() ),
-                             rects.size(),
-                             reinterpret_cast<const VkClearRect *>( rects.data() ) );
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                   AccelerationStructureBuildGeometryInfoKHR> const &infos,
+    ArrayProxy<
+        const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR
+            *const> const &pBuildRangeInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(infos.size() == pBuildRangeInfos.size());
+#else
+  if (infos.size() != pBuildRangeInfos.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::buildAccelerationStructuresKHR: "
+                     "infos.size() != pBuildRangeInfos.size()");
   }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdBuildAccelerationStructuresKHR(
+      m_commandBuffer, infos.size(),
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          infos.data()),
+      reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *const *>(
+          pBuildRangeInfos.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( VULKAN_HPP_NAMESPACE::Image                   image,
-                                                         VULKAN_HPP_NAMESPACE::ImageLayout             imageLayout,
-                                                         const VULKAN_HPP_NAMESPACE::ClearColorValue * pColor,
-                                                         uint32_t                                      rangeCount,
-                                                         const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdClearColorImage( m_commandBuffer,
-                            static_cast<VkImage>( image ),
-                            static_cast<VkImageLayout>( imageLayout ),
-                            reinterpret_cast<const VkClearColorValue *>( pColor ),
-                            rangeCount,
-                            reinterpret_cast<const VkImageSubresourceRange *>( pRanges ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::clearAttachments(
+    uint32_t attachmentCount,
+    const VULKAN_HPP_NAMESPACE::ClearAttachment *pAttachments,
+    uint32_t rectCount, const VULKAN_HPP_NAMESPACE::ClearRect *pRects,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdClearAttachments(
+      m_commandBuffer, attachmentCount,
+      reinterpret_cast<const VkClearAttachment *>(pAttachments), rectCount,
+      reinterpret_cast<const VkClearRect *>(pRects));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::clearColorImage( VULKAN_HPP_NAMESPACE::Image                                           image,
-                                    VULKAN_HPP_NAMESPACE::ImageLayout                                     imageLayout,
-                                    const ClearColorValue &                                               color,
-                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,
-                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdClearColorImage( m_commandBuffer,
-                            static_cast<VkImage>( image ),
-                            static_cast<VkImageLayout>( imageLayout ),
-                            reinterpret_cast<const VkClearColorValue *>( &color ),
-                            ranges.size(),
-                            reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::clearAttachments(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const &attachments,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const &rects,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdClearAttachments(
+      m_commandBuffer, attachments.size(),
+      reinterpret_cast<const VkClearAttachment *>(attachments.data()),
+      rects.size(), reinterpret_cast<const VkClearRect *>(rects.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image                          image,
-                                           VULKAN_HPP_NAMESPACE::ImageLayout                    imageLayout,
-                                           const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue * pDepthStencil,
-                                           uint32_t                                             rangeCount,
-                                           const VULKAN_HPP_NAMESPACE::ImageSubresourceRange *  pRanges,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdClearDepthStencilImage( m_commandBuffer,
-                                   static_cast<VkImage>( image ),
-                                   static_cast<VkImageLayout>( imageLayout ),
-                                   reinterpret_cast<const VkClearDepthStencilValue *>( pDepthStencil ),
-                                   rangeCount,
-                                   reinterpret_cast<const VkImageSubresourceRange *>( pRanges ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::clearColorImage(
+    VULKAN_HPP_NAMESPACE::Image image,
+    VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+    const VULKAN_HPP_NAMESPACE::ClearColorValue *pColor, uint32_t rangeCount,
+    const VULKAN_HPP_NAMESPACE::ImageSubresourceRange *pRanges,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdClearColorImage(
+      m_commandBuffer, static_cast<VkImage>(image),
+      static_cast<VkImageLayout>(imageLayout),
+      reinterpret_cast<const VkClearColorValue *>(pColor), rangeCount,
+      reinterpret_cast<const VkImageSubresourceRange *>(pRanges));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image       image,
-                                           VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
-                                           const ClearDepthStencilValue &    depthStencil,
-                                           ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdClearDepthStencilImage( m_commandBuffer,
-                                   static_cast<VkImage>( image ),
-                                   static_cast<VkImageLayout>( imageLayout ),
-                                   reinterpret_cast<const VkClearDepthStencilValue *>( &depthStencil ),
-                                   ranges.size(),
-                                   reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::clearColorImage(
+    VULKAN_HPP_NAMESPACE::Image image,
+    VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, const ClearColorValue &color,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const &ranges,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdClearColorImage(
+      m_commandBuffer, static_cast<VkImage>(image),
+      static_cast<VkImageLayout>(imageLayout),
+      reinterpret_cast<const VkClearColorValue *>(&color), ranges.size(),
+      reinterpret_cast<const VkImageSubresourceRange *>(ranges.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::copyAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyAccelerationStructureKHR( m_commandBuffer,
-                                         reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( pInfo ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR( const CopyAccelerationStructureInfoKHR & info,
-                                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyAccelerationStructureKHR( m_commandBuffer,
-                                         reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage(
+    VULKAN_HPP_NAMESPACE::Image image,
+    VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+    const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue *pDepthStencil,
+    uint32_t rangeCount,
+    const VULKAN_HPP_NAMESPACE::ImageSubresourceRange *pRanges,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdClearDepthStencilImage(
+      m_commandBuffer, static_cast<VkImage>(image),
+      static_cast<VkImageLayout>(imageLayout),
+      reinterpret_cast<const VkClearDepthStencilValue *>(pDepthStencil),
+      rangeCount, reinterpret_cast<const VkImageSubresourceRange *>(pRanges));
+}
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         dst,
-                                                VULKAN_HPP_NAMESPACE::AccelerationStructureKHR         src,
-                                                VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyAccelerationStructureNV( m_commandBuffer,
-                                        static_cast<VkAccelerationStructureKHR>( dst ),
-                                        static_cast<VkAccelerationStructureKHR>( src ),
-                                        static_cast<VkCopyAccelerationStructureModeKHR>( mode ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst,
-                                                VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src,
-                                                VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyAccelerationStructureNV( m_commandBuffer,
-                                        static_cast<VkAccelerationStructureKHR>( dst ),
-                                        static_cast<VkAccelerationStructureKHR>( src ),
-                                        static_cast<VkCopyAccelerationStructureModeKHR>( mode ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR(
-    const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,
-    Dispatch const &                                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyAccelerationStructureToMemoryKHR(
-      m_commandBuffer, reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( pInfo ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::copyAccelerationStructureToMemoryKHR( const CopyAccelerationStructureToMemoryInfoKHR & info,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyAccelerationStructureToMemoryKHR(
-      m_commandBuffer, reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( VULKAN_HPP_NAMESPACE::Buffer             srcBuffer,
-                                                    VULKAN_HPP_NAMESPACE::Buffer             dstBuffer,
-                                                    uint32_t                                 regionCount,
-                                                    const VULKAN_HPP_NAMESPACE::BufferCopy * pRegions,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyBuffer( m_commandBuffer,
-                       static_cast<VkBuffer>( srcBuffer ),
-                       static_cast<VkBuffer>( dstBuffer ),
-                       regionCount,
-                       reinterpret_cast<const VkBufferCopy *>( pRegions ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
-                                                    VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
-                                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyBuffer( m_commandBuffer,
-                       static_cast<VkBuffer>( srcBuffer ),
-                       static_cast<VkBuffer>( dstBuffer ),
-                       regions.size(),
-                       reinterpret_cast<const VkBufferCopy *>( regions.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage(
+    VULKAN_HPP_NAMESPACE::Image image,
+    VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
+    const ClearDepthStencilValue &depthStencil,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const &ranges,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdClearDepthStencilImage(
+      m_commandBuffer, static_cast<VkImage>(image),
+      static_cast<VkImageLayout>(imageLayout),
+      reinterpret_cast<const VkClearDepthStencilValue *>(&depthStencil),
+      ranges.size(),
+      reinterpret_cast<const VkImageSubresourceRange *>(ranges.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer                  srcBuffer,
-                                                           VULKAN_HPP_NAMESPACE::Image                   dstImage,
-                                                           VULKAN_HPP_NAMESPACE::ImageLayout             dstImageLayout,
-                                                           uint32_t                                      regionCount,
-                                                           const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyBufferToImage( m_commandBuffer,
-                              static_cast<VkBuffer>( srcBuffer ),
-                              static_cast<VkImage>( dstImage ),
-                              static_cast<VkImageLayout>( dstImageLayout ),
-                              regionCount,
-                              reinterpret_cast<const VkBufferImageCopy *>( pRegions ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR(
+    const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyAccelerationStructureKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>(pInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer                                    srcBuffer,
-                                      VULKAN_HPP_NAMESPACE::Image                                     dstImage,
-                                      VULKAN_HPP_NAMESPACE::ImageLayout                               dstImageLayout,
-                                      ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,
-                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyBufferToImage( m_commandBuffer,
-                              static_cast<VkBuffer>( srcBuffer ),
-                              static_cast<VkImage>( dstImage ),
-                              static_cast<VkImageLayout>( dstImageLayout ),
-                              regions.size(),
-                              reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR(
+    const CopyAccelerationStructureInfoKHR &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyAccelerationStructureKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>(&info));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyImage( VULKAN_HPP_NAMESPACE::Image             srcImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout       srcImageLayout,
-                                                   VULKAN_HPP_NAMESPACE::Image             dstImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout       dstImageLayout,
-                                                   uint32_t                                regionCount,
-                                                   const VULKAN_HPP_NAMESPACE::ImageCopy * pRegions,
-                                                   Dispatch const &                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyImage( m_commandBuffer,
-                      static_cast<VkImage>( srcImage ),
-                      static_cast<VkImageLayout>( srcImageLayout ),
-                      static_cast<VkImage>( dstImage ),
-                      static_cast<VkImageLayout>( dstImageLayout ),
-                      regionCount,
-                      reinterpret_cast<const VkImageCopy *>( pRegions ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureNV(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
+    VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyAccelerationStructureNV(
+      m_commandBuffer, static_cast<VkAccelerationStructureNV>(dst),
+      static_cast<VkAccelerationStructureNV>(src),
+      static_cast<VkCopyAccelerationStructureModeKHR>(mode));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR(
+    const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyAccelerationStructureToMemoryKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>(
+          pInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyImage( VULKAN_HPP_NAMESPACE::Image       srcImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
-                                                   VULKAN_HPP_NAMESPACE::Image       dstImage,
-                                                   VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
-                                                   ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyImage( m_commandBuffer,
-                      static_cast<VkImage>( srcImage ),
-                      static_cast<VkImageLayout>( srcImageLayout ),
-                      static_cast<VkImage>( dstImage ),
-                      static_cast<VkImageLayout>( dstImageLayout ),
-                      regions.size(),
-                      reinterpret_cast<const VkImageCopy *>( regions.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR(
+    const CopyAccelerationStructureToMemoryInfoKHR &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyAccelerationStructureToMemoryKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>(
+          &info));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image                   srcImage,
-                                                           VULKAN_HPP_NAMESPACE::ImageLayout             srcImageLayout,
-                                                           VULKAN_HPP_NAMESPACE::Buffer                  dstBuffer,
-                                                           uint32_t                                      regionCount,
-                                                           const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyImageToBuffer( m_commandBuffer,
-                              static_cast<VkImage>( srcImage ),
-                              static_cast<VkImageLayout>( srcImageLayout ),
-                              static_cast<VkBuffer>( dstBuffer ),
-                              regionCount,
-                              reinterpret_cast<const VkBufferImageCopy *>( pRegions ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+                          VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                          uint32_t regionCount,
+                          const VULKAN_HPP_NAMESPACE::BufferCopy *pRegions,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBuffer(m_commandBuffer, static_cast<VkBuffer>(srcBuffer),
+                    static_cast<VkBuffer>(dstBuffer), regionCount,
+                    reinterpret_cast<const VkBufferCopy *>(pRegions));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image                                     srcImage,
-                                      VULKAN_HPP_NAMESPACE::ImageLayout                               srcImageLayout,
-                                      VULKAN_HPP_NAMESPACE::Buffer                                    dstBuffer,
-                                      ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,
-                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyImageToBuffer( m_commandBuffer,
-                              static_cast<VkImage>( srcImage ),
-                              static_cast<VkImageLayout>( srcImageLayout ),
-                              static_cast<VkBuffer>( dstBuffer ),
-                              regions.size(),
-                              reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyBuffer(
+    VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+    VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const &regions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBuffer(m_commandBuffer, static_cast<VkBuffer>(srcBuffer),
+                    static_cast<VkBuffer>(dstBuffer), regions.size(),
+                    reinterpret_cast<const VkBufferCopy *>(regions.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR(
-    const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,
-    Dispatch const &                                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyMemoryToAccelerationStructureKHR(
-      m_commandBuffer, reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( pInfo ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::copyMemoryToAccelerationStructureKHR( const CopyMemoryToAccelerationStructureInfoKHR & info,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyMemoryToAccelerationStructureKHR(
-      m_commandBuffer, reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2KHR(
+    const VULKAN_HPP_NAMESPACE::CopyBufferInfo2KHR *pCopyBufferInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBuffer2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyBufferInfo2KHR *>(pCopyBufferInfo));
+}
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool        queryPool,
-                                                              uint32_t                               firstQuery,
-                                                              uint32_t                               queryCount,
-                                                              VULKAN_HPP_NAMESPACE::Buffer           dstBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize       dstOffset,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize       stride,
-                                                              VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyQueryPoolResults( m_commandBuffer,
-                                 static_cast<VkQueryPool>( queryPool ),
-                                 firstQuery,
-                                 queryCount,
-                                 static_cast<VkBuffer>( dstBuffer ),
-                                 static_cast<VkDeviceSize>( dstOffset ),
-                                 static_cast<VkDeviceSize>( stride ),
-                                 static_cast<VkQueryResultFlags>( flags ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                              uint32_t firstQuery,
-                                                              uint32_t queryCount,
-                                                              VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize stride,
-                                                              VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdCopyQueryPoolResults( m_commandBuffer,
-                                 static_cast<VkQueryPool>( queryPool ),
-                                 firstQuery,
-                                 queryCount,
-                                 static_cast<VkBuffer>( dstBuffer ),
-                                 static_cast<VkDeviceSize>( dstOffset ),
-                                 static_cast<VkDeviceSize>( stride ),
-                                 static_cast<VkQueryResultFlags>( flags ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::debugMarkerBeginEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,
-                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDebugMarkerBeginEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( pMarkerInfo ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDebugMarkerBeginEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::copyBuffer2KHR(const CopyBufferInfo2KHR &copyBufferInfo,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBuffer2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyBufferInfo2KHR *>(&copyBufferInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDebugMarkerEndEXT( m_commandBuffer );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDebugMarkerEndEXT( m_commandBuffer );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage(
+    VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+    VULKAN_HPP_NAMESPACE::Image dstImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, uint32_t regionCount,
+    const VULKAN_HPP_NAMESPACE::BufferImageCopy *pRegions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBufferToImage(
+      m_commandBuffer, static_cast<VkBuffer>(srcBuffer),
+      static_cast<VkImage>(dstImage),
+      static_cast<VkImageLayout>(dstImageLayout), regionCount,
+      reinterpret_cast<const VkBufferImageCopy *>(pRegions));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::debugMarkerInsertEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,
-                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDebugMarkerInsertEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( pMarkerInfo ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDebugMarkerInsertEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage(
+    VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
+    VULKAN_HPP_NAMESPACE::Image dstImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const &regions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBufferToImage(
+      m_commandBuffer, static_cast<VkBuffer>(srcBuffer),
+      static_cast<VkImage>(dstImage),
+      static_cast<VkImageLayout>(dstImageLayout), regions.size(),
+      reinterpret_cast<const VkBufferImageCopy *>(regions.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatch( uint32_t         groupCountX,
-                                                  uint32_t         groupCountY,
-                                                  uint32_t         groupCountZ,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatch( m_commandBuffer, groupCountX, groupCountY, groupCountZ );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatch( uint32_t groupCountX,
-                                                  uint32_t groupCountY,
-                                                  uint32_t groupCountZ,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatch( m_commandBuffer, groupCountX, groupCountY, groupCountZ );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR(
+    const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2KHR
+        *pCopyBufferToImageInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBufferToImage2KHR(
+      m_commandBuffer, reinterpret_cast<const VkCopyBufferToImageInfo2KHR *>(
+                           pCopyBufferToImageInfo));
+}
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t         baseGroupX,
-                                                      uint32_t         baseGroupY,
-                                                      uint32_t         baseGroupZ,
-                                                      uint32_t         groupCountX,
-                                                      uint32_t         groupCountY,
-                                                      uint32_t         groupCountZ,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatchBase( m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t baseGroupX,
-                                                      uint32_t baseGroupY,
-                                                      uint32_t baseGroupZ,
-                                                      uint32_t groupCountX,
-                                                      uint32_t groupCountY,
-                                                      uint32_t groupCountZ,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatchBase( m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t         baseGroupX,
-                                                         uint32_t         baseGroupY,
-                                                         uint32_t         baseGroupZ,
-                                                         uint32_t         groupCountX,
-                                                         uint32_t         groupCountY,
-                                                         uint32_t         groupCountZ,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatchBaseKHR(
-      m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t baseGroupX,
-                                                         uint32_t baseGroupY,
-                                                         uint32_t baseGroupZ,
-                                                         uint32_t groupCountX,
-                                                         uint32_t groupCountY,
-                                                         uint32_t groupCountZ,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatchBaseKHR(
-      m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                          VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                          Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatchIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                          VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDispatchIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::draw( uint32_t         vertexCount,
-                                              uint32_t         instanceCount,
-                                              uint32_t         firstVertex,
-                                              uint32_t         firstInstance,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDraw( m_commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::draw( uint32_t vertexCount,
-                                              uint32_t instanceCount,
-                                              uint32_t firstVertex,
-                                              uint32_t firstInstance,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDraw( m_commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( uint32_t         indexCount,
-                                                     uint32_t         instanceCount,
-                                                     uint32_t         firstIndex,
-                                                     int32_t          vertexOffset,
-                                                     uint32_t         firstInstance,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexed( m_commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( uint32_t indexCount,
-                                                     uint32_t instanceCount,
-                                                     uint32_t firstIndex,
-                                                     int32_t vertexOffset,
-                                                     uint32_t firstInstance,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexed( m_commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                             VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                             uint32_t                         drawCount,
-                                                             uint32_t                         stride,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirect(
-      m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                             VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                             uint32_t drawCount,
-                                                             uint32_t stride,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirect(
-      m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                                  VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                  VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                                                  VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                                  uint32_t                         maxDrawCount,
-                                                                  uint32_t                         stride,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirectCount( m_commandBuffer,
-                                     static_cast<VkBuffer>( buffer ),
-                                     static_cast<VkDeviceSize>( offset ),
-                                     static_cast<VkBuffer>( countBuffer ),
-                                     static_cast<VkDeviceSize>( countBufferOffset ),
-                                     maxDrawCount,
-                                     stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                                  VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                  VULKAN_HPP_NAMESPACE::Buffer countBuffer,
-                                                                  VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                                  uint32_t maxDrawCount,
-                                                                  uint32_t stride,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirectCount( m_commandBuffer,
-                                     static_cast<VkBuffer>( buffer ),
-                                     static_cast<VkDeviceSize>( offset ),
-                                     static_cast<VkBuffer>( countBuffer ),
-                                     static_cast<VkDeviceSize>( countBufferOffset ),
-                                     maxDrawCount,
-                                     stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                     VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                                     uint32_t                         maxDrawCount,
-                                                                     uint32_t                         stride,
-                                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirectCountAMD( m_commandBuffer,
-                                        static_cast<VkBuffer>( buffer ),
-                                        static_cast<VkDeviceSize>( offset ),
-                                        static_cast<VkBuffer>( countBuffer ),
-                                        static_cast<VkDeviceSize>( countBufferOffset ),
-                                        maxDrawCount,
-                                        stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                     VULKAN_HPP_NAMESPACE::Buffer countBuffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                                     uint32_t maxDrawCount,
-                                                                     uint32_t stride,
-                                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirectCountAMD( m_commandBuffer,
-                                        static_cast<VkBuffer>( buffer ),
-                                        static_cast<VkDeviceSize>( offset ),
-                                        static_cast<VkBuffer>( countBuffer ),
-                                        static_cast<VkDeviceSize>( countBufferOffset ),
-                                        maxDrawCount,
-                                        stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                     VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                                     uint32_t                         maxDrawCount,
-                                                                     uint32_t                         stride,
-                                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirectCountKHR( m_commandBuffer,
-                                        static_cast<VkBuffer>( buffer ),
-                                        static_cast<VkDeviceSize>( offset ),
-                                        static_cast<VkBuffer>( countBuffer ),
-                                        static_cast<VkDeviceSize>( countBufferOffset ),
-                                        maxDrawCount,
-                                        stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                     VULKAN_HPP_NAMESPACE::Buffer countBuffer,
-                                                                     VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                                     uint32_t maxDrawCount,
-                                                                     uint32_t stride,
-                                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndexedIndirectCountKHR( m_commandBuffer,
-                                        static_cast<VkBuffer>( buffer ),
-                                        static_cast<VkDeviceSize>( offset ),
-                                        static_cast<VkBuffer>( countBuffer ),
-                                        static_cast<VkDeviceSize>( countBufferOffset ),
-                                        maxDrawCount,
-                                        stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirect( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                      uint32_t                         drawCount,
-                                                      uint32_t                         stride,
-                                                      Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirect(
-      m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                      uint32_t drawCount,
-                                                      uint32_t stride,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirect(
-      m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCountEXT( uint32_t                         instanceCount,
-                                                                  uint32_t                         firstInstance,
-                                                                  VULKAN_HPP_NAMESPACE::Buffer     counterBuffer,
-                                                                  VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
-                                                                  uint32_t                         counterOffset,
-                                                                  uint32_t                         vertexStride,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectByteCountEXT( m_commandBuffer,
-                                     instanceCount,
-                                     firstInstance,
-                                     static_cast<VkBuffer>( counterBuffer ),
-                                     static_cast<VkDeviceSize>( counterBufferOffset ),
-                                     counterOffset,
-                                     vertexStride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCountEXT( uint32_t instanceCount,
-                                                                  uint32_t firstInstance,
-                                                                  VULKAN_HPP_NAMESPACE::Buffer counterBuffer,
-                                                                  VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
-                                                                  uint32_t counterOffset,
-                                                                  uint32_t vertexStride,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectByteCountEXT( m_commandBuffer,
-                                     instanceCount,
-                                     firstInstance,
-                                     static_cast<VkBuffer>( counterBuffer ),
-                                     static_cast<VkDeviceSize>( counterBufferOffset ),
-                                     counterOffset,
-                                     vertexStride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                           VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                           VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                                           VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                           uint32_t                         maxDrawCount,
-                                                           uint32_t                         stride,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectCount( m_commandBuffer,
-                              static_cast<VkBuffer>( buffer ),
-                              static_cast<VkDeviceSize>( offset ),
-                              static_cast<VkBuffer>( countBuffer ),
-                              static_cast<VkDeviceSize>( countBufferOffset ),
-                              maxDrawCount,
-                              stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                           VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                           VULKAN_HPP_NAMESPACE::Buffer countBuffer,
-                                                           VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                           uint32_t maxDrawCount,
-                                                           uint32_t stride,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectCount( m_commandBuffer,
-                              static_cast<VkBuffer>( buffer ),
-                              static_cast<VkDeviceSize>( offset ),
-                              static_cast<VkBuffer>( countBuffer ),
-                              static_cast<VkDeviceSize>( countBufferOffset ),
-                              maxDrawCount,
-                              stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                              VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                              uint32_t                         maxDrawCount,
-                                                              uint32_t                         stride,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectCountAMD( m_commandBuffer,
-                                 static_cast<VkBuffer>( buffer ),
-                                 static_cast<VkDeviceSize>( offset ),
-                                 static_cast<VkBuffer>( countBuffer ),
-                                 static_cast<VkDeviceSize>( countBufferOffset ),
-                                 maxDrawCount,
-                                 stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                              VULKAN_HPP_NAMESPACE::Buffer countBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                              uint32_t maxDrawCount,
-                                                              uint32_t stride,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectCountAMD( m_commandBuffer,
-                                 static_cast<VkBuffer>( buffer ),
-                                 static_cast<VkDeviceSize>( offset ),
-                                 static_cast<VkBuffer>( countBuffer ),
-                                 static_cast<VkDeviceSize>( countBufferOffset ),
-                                 maxDrawCount,
-                                 stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                              VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                              uint32_t                         maxDrawCount,
-                                                              uint32_t                         stride,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectCountKHR( m_commandBuffer,
-                                 static_cast<VkBuffer>( buffer ),
-                                 static_cast<VkDeviceSize>( offset ),
-                                 static_cast<VkBuffer>( countBuffer ),
-                                 static_cast<VkDeviceSize>( countBufferOffset ),
-                                 maxDrawCount,
-                                 stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                              VULKAN_HPP_NAMESPACE::Buffer countBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                              uint32_t maxDrawCount,
-                                                              uint32_t stride,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawIndirectCountKHR( m_commandBuffer,
-                                 static_cast<VkBuffer>( buffer ),
-                                 static_cast<VkDeviceSize>( offset ),
-                                 static_cast<VkBuffer>( countBuffer ),
-                                 static_cast<VkDeviceSize>( countBufferOffset ),
-                                 maxDrawCount,
-                                 stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                 VULKAN_HPP_NAMESPACE::Buffer     countBuffer,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                 uint32_t                         maxDrawCount,
-                                                 uint32_t                         stride,
-                                                 Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawMeshTasksIndirectCountNV( m_commandBuffer,
-                                         static_cast<VkBuffer>( buffer ),
-                                         static_cast<VkDeviceSize>( offset ),
-                                         static_cast<VkBuffer>( countBuffer ),
-                                         static_cast<VkDeviceSize>( countBufferOffset ),
-                                         maxDrawCount,
-                                         stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                 VULKAN_HPP_NAMESPACE::Buffer countBuffer,
-                                                 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
-                                                 uint32_t maxDrawCount,
-                                                 uint32_t stride,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawMeshTasksIndirectCountNV( m_commandBuffer,
-                                         static_cast<VkBuffer>( buffer ),
-                                         static_cast<VkDeviceSize>( offset ),
-                                         static_cast<VkBuffer>( countBuffer ),
-                                         static_cast<VkDeviceSize>( countBufferOffset ),
-                                         maxDrawCount,
-                                         stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer     buffer,
-                                                                 VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                 uint32_t                         drawCount,
-                                                                 uint32_t                         stride,
-                                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawMeshTasksIndirectNV(
-      m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                                                 VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                                 uint32_t drawCount,
-                                                                 uint32_t stride,
-                                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawMeshTasksIndirectNV(
-      m_commandBuffer, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksNV( uint32_t         taskCount,
-                                                         uint32_t         firstTask,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawMeshTasksNV( m_commandBuffer, taskCount, firstTask );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksNV( uint32_t taskCount,
-                                                         uint32_t firstTask,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdDrawMeshTasksNV( m_commandBuffer, taskCount, firstTask );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndConditionalRenderingEXT( m_commandBuffer );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndConditionalRenderingEXT( m_commandBuffer );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndDebugUtilsLabelEXT( m_commandBuffer );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndDebugUtilsLabelEXT( m_commandBuffer );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                  uint32_t                        query,
-                                                  Dispatch const &                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndQuery( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                  uint32_t query,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndQuery( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                            uint32_t                        query,
-                                                            uint32_t                        index,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndQueryIndexedEXT( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, index );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                            uint32_t query,
-                                                            uint32_t index,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndQueryIndexedEXT( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, index );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndRenderPass( m_commandBuffer );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndRenderPass( m_commandBuffer );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndRenderPass2( m_commandBuffer, reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2( const SubpassEndInfo & subpassEndInfo,
-                                                        Dispatch const &       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndRenderPass2( m_commandBuffer, reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR(
+    const CopyBufferToImageInfo2KHR &copyBufferToImageInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyBufferToImage2KHR(
+      m_commandBuffer, reinterpret_cast<const VkCopyBufferToImageInfo2KHR *>(
+                           &copyBufferToImageInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndRenderPass2KHR( m_commandBuffer, reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+                         VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+                         VULKAN_HPP_NAMESPACE::Image dstImage,
+                         VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+                         uint32_t regionCount,
+                         const VULKAN_HPP_NAMESPACE::ImageCopy *pRegions,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImage(m_commandBuffer, static_cast<VkImage>(srcImage),
+                   static_cast<VkImageLayout>(srcImageLayout),
+                   static_cast<VkImage>(dstImage),
+                   static_cast<VkImageLayout>(dstImageLayout), regionCount,
+                   reinterpret_cast<const VkImageCopy *>(pRegions));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR( const SubpassEndInfo & subpassEndInfo,
-                                                           Dispatch const &       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndRenderPass2KHR( m_commandBuffer, reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyImage(
+    VULKAN_HPP_NAMESPACE::Image srcImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+    VULKAN_HPP_NAMESPACE::Image dstImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const &regions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImage(m_commandBuffer, static_cast<VkImage>(srcImage),
+                   static_cast<VkImageLayout>(srcImageLayout),
+                   static_cast<VkImage>(dstImage),
+                   static_cast<VkImageLayout>(dstImageLayout), regions.size(),
+                   reinterpret_cast<const VkImageCopy *>(regions.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::endTransformFeedbackEXT( uint32_t                                 firstCounterBuffer,
-                                            uint32_t                                 counterBufferCount,
-                                            const VULKAN_HPP_NAMESPACE::Buffer *     pCounterBuffers,
-                                            const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,
-                                            Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdEndTransformFeedbackEXT( m_commandBuffer,
-                                    firstCounterBuffer,
-                                    counterBufferCount,
-                                    reinterpret_cast<const VkBuffer *>( pCounterBuffers ),
-                                    reinterpret_cast<const VkDeviceSize *>( pCounterBufferOffsets ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyImage2KHR(
+    const VULKAN_HPP_NAMESPACE::CopyImageInfo2KHR *pCopyImageInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImage2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyImageInfo2KHR *>(pCopyImageInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT(
-    uint32_t                                                   firstCounterBuffer,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &     counterBuffers,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets,
-    Dispatch const &                                           d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( counterBuffers.size() == counterBufferOffsets.size() );
-#  else
-    if ( counterBuffers.size() != counterBufferOffsets.size() )
-    {
-      throw LogicError(
-        VULKAN_HPP_NAMESPACE_STRING
-        "::VkCommandBuffer::endTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkCmdEndTransformFeedbackEXT( m_commandBuffer,
-                                    firstCounterBuffer,
-                                    counterBuffers.size(),
-                                    reinterpret_cast<const VkBuffer *>( counterBuffers.data() ),
-                                    reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::copyImage2KHR(const CopyImageInfo2KHR &copyImageInfo,
+                             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImage2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyImageInfo2KHR *>(&copyImageInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::executeCommands( uint32_t                                    commandBufferCount,
-                                                         const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdExecuteCommands(
-      m_commandBuffer, commandBufferCount, reinterpret_cast<const VkCommandBuffer *>( pCommandBuffers ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer(
+    VULKAN_HPP_NAMESPACE::Image srcImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+    VULKAN_HPP_NAMESPACE::Buffer dstBuffer, uint32_t regionCount,
+    const VULKAN_HPP_NAMESPACE::BufferImageCopy *pRegions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImageToBuffer(
+      m_commandBuffer, static_cast<VkImage>(srcImage),
+      static_cast<VkImageLayout>(srcImageLayout),
+      static_cast<VkBuffer>(dstBuffer), regionCount,
+      reinterpret_cast<const VkBufferImageCopy *>(pRegions));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::executeCommands( ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
-                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdExecuteCommands(
-      m_commandBuffer, commandBuffers.size(), reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer(
+    VULKAN_HPP_NAMESPACE::Image srcImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+    VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const &regions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImageToBuffer(
+      m_commandBuffer, static_cast<VkImage>(srcImage),
+      static_cast<VkImageLayout>(srcImageLayout),
+      static_cast<VkBuffer>(dstBuffer), regions.size(),
+      reinterpret_cast<const VkBufferImageCopy *>(regions.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV(
-    VULKAN_HPP_NAMESPACE::Bool32                          isPreprocessed,
-    const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,
-    Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdExecuteGeneratedCommandsNV( m_commandBuffer,
-                                       static_cast<VkBool32>( isPreprocessed ),
-                                       reinterpret_cast<const VkGeneratedCommandsInfoNV *>( pGeneratedCommandsInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR(
+    const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2KHR
+        *pCopyImageToBufferInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImageToBuffer2KHR(
+      m_commandBuffer, reinterpret_cast<const VkCopyImageToBufferInfo2KHR *>(
+                           pCopyImageToBufferInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32    isPreprocessed,
-                                               const GeneratedCommandsInfoNV & generatedCommandsInfo,
-                                               Dispatch const &                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdExecuteGeneratedCommandsNV( m_commandBuffer,
-                                       static_cast<VkBool32>( isPreprocessed ),
-                                       reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR(
+    const CopyImageToBufferInfo2KHR &copyImageToBufferInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyImageToBuffer2KHR(
+      m_commandBuffer, reinterpret_cast<const VkCopyImageToBufferInfo2KHR *>(
+                           &copyImageToBufferInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::fillBuffer( VULKAN_HPP_NAMESPACE::Buffer     dstBuffer,
-                                                    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                                                    VULKAN_HPP_NAMESPACE::DeviceSize size,
-                                                    uint32_t                         data,
-                                                    Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdFillBuffer( m_commandBuffer,
-                       static_cast<VkBuffer>( dstBuffer ),
-                       static_cast<VkDeviceSize>( dstOffset ),
-                       static_cast<VkDeviceSize>( size ),
-                       data );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR(
+    const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyMemoryToAccelerationStructureKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>(
+          pInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR(
+    const CopyMemoryToAccelerationStructureInfoKHR &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyMemoryToAccelerationStructureKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>(
+          &info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults(
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+    uint32_t queryCount, VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+    VULKAN_HPP_NAMESPACE::DeviceSize stride,
+    VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdCopyQueryPoolResults(
+      m_commandBuffer, static_cast<VkQueryPool>(queryPool), firstQuery,
+      queryCount, static_cast<VkBuffer>(dstBuffer),
+      static_cast<VkDeviceSize>(dstOffset), static_cast<VkDeviceSize>(stride),
+      static_cast<VkQueryResultFlags>(flags));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT(
+    const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT *pMarkerInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDebugMarkerBeginEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>(pMarkerInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT(
+    const DebugMarkerMarkerInfoEXT &markerInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDebugMarkerBeginEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>(&markerInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::debugMarkerEndEXT(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDebugMarkerEndEXT(m_commandBuffer);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT(
+    const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT *pMarkerInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDebugMarkerInsertEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>(pMarkerInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT(
+    const DebugMarkerMarkerInfoEXT &markerInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDebugMarkerInsertEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>(&markerInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::dispatch(uint32_t groupCountX, uint32_t groupCountY,
+                        uint32_t groupCountZ,
+                        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDispatch(m_commandBuffer, groupCountX, groupCountY, groupCountZ);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::dispatchBase(uint32_t baseGroupX, uint32_t baseGroupY,
+                            uint32_t baseGroupZ, uint32_t groupCountX,
+                            uint32_t groupCountY, uint32_t groupCountZ,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDispatchBase(m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ,
+                      groupCountX, groupCountY, groupCountZ);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::dispatchBaseKHR(uint32_t baseGroupX, uint32_t baseGroupY,
+                               uint32_t baseGroupZ, uint32_t groupCountX,
+                               uint32_t groupCountY, uint32_t groupCountZ,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDispatchBaseKHR(m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ,
+                         groupCountX, groupCountY, groupCountZ);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::dispatchIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                                VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDispatchIndirect(m_commandBuffer, static_cast<VkBuffer>(buffer),
+                          static_cast<VkDeviceSize>(offset));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::draw(uint32_t vertexCount, uint32_t instanceCount,
+                    uint32_t firstVertex, uint32_t firstInstance,
+                    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDraw(m_commandBuffer, vertexCount, instanceCount, firstVertex,
+              firstInstance);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::drawIndexed(uint32_t indexCount, uint32_t instanceCount,
+                           uint32_t firstIndex, int32_t vertexOffset,
+                           uint32_t firstInstance,
+                           Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndexed(m_commandBuffer, indexCount, instanceCount, firstIndex,
+                     vertexOffset, firstInstance);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset, uint32_t drawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndexedIndirect(m_commandBuffer, static_cast<VkBuffer>(buffer),
+                             static_cast<VkDeviceSize>(offset), drawCount,
+                             stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndexedIndirectCount(
+      m_commandBuffer, static_cast<VkBuffer>(buffer),
+      static_cast<VkDeviceSize>(offset), static_cast<VkBuffer>(countBuffer),
+      static_cast<VkDeviceSize>(countBufferOffset), maxDrawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndexedIndirectCountAMD(
+      m_commandBuffer, static_cast<VkBuffer>(buffer),
+      static_cast<VkDeviceSize>(offset), static_cast<VkBuffer>(countBuffer),
+      static_cast<VkDeviceSize>(countBufferOffset), maxDrawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountKHR(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndexedIndirectCountKHR(
+      m_commandBuffer, static_cast<VkBuffer>(buffer),
+      static_cast<VkDeviceSize>(offset), static_cast<VkBuffer>(countBuffer),
+      static_cast<VkDeviceSize>(countBufferOffset), maxDrawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::drawIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                            VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                            uint32_t drawCount, uint32_t stride,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndirect(m_commandBuffer, static_cast<VkBuffer>(buffer),
+                      static_cast<VkDeviceSize>(offset), drawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCountEXT(
+    uint32_t instanceCount, uint32_t firstInstance,
+    VULKAN_HPP_NAMESPACE::Buffer counterBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
+    uint32_t counterOffset, uint32_t vertexStride,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndirectByteCountEXT(
+      m_commandBuffer, instanceCount, firstInstance,
+      static_cast<VkBuffer>(counterBuffer),
+      static_cast<VkDeviceSize>(counterBufferOffset), counterOffset,
+      vertexStride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndirectCount(
+      m_commandBuffer, static_cast<VkBuffer>(buffer),
+      static_cast<VkDeviceSize>(offset), static_cast<VkBuffer>(countBuffer),
+      static_cast<VkDeviceSize>(countBufferOffset), maxDrawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndirectCountAMD(
+      m_commandBuffer, static_cast<VkBuffer>(buffer),
+      static_cast<VkDeviceSize>(offset), static_cast<VkBuffer>(countBuffer),
+      static_cast<VkDeviceSize>(countBufferOffset), maxDrawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawIndirectCountKHR(
+      m_commandBuffer, static_cast<VkBuffer>(buffer),
+      static_cast<VkDeviceSize>(offset), static_cast<VkBuffer>(countBuffer),
+      static_cast<VkDeviceSize>(countBufferOffset), maxDrawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountNV(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset,
+    VULKAN_HPP_NAMESPACE::Buffer countBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, uint32_t maxDrawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawMeshTasksIndirectCountNV(
+      m_commandBuffer, static_cast<VkBuffer>(buffer),
+      static_cast<VkDeviceSize>(offset), static_cast<VkBuffer>(countBuffer),
+      static_cast<VkDeviceSize>(countBufferOffset), maxDrawCount, stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize offset, uint32_t drawCount,
+    uint32_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawMeshTasksIndirectNV(m_commandBuffer, static_cast<VkBuffer>(buffer),
+                                 static_cast<VkDeviceSize>(offset), drawCount,
+                                 stride);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::drawMeshTasksNV(uint32_t taskCount, uint32_t firstTask,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdDrawMeshTasksNV(m_commandBuffer, taskCount, firstTask);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT(
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndConditionalRenderingEXT(m_commandBuffer);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT(
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndDebugUtilsLabelEXT(m_commandBuffer);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::endQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                        uint32_t query,
+                        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndQuery(m_commandBuffer, static_cast<VkQueryPool>(queryPool), query);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::endQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                                  uint32_t query, uint32_t index,
+                                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndQueryIndexedEXT(m_commandBuffer,
+                            static_cast<VkQueryPool>(queryPool), query, index);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::endRenderPass(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndRenderPass(m_commandBuffer);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2(
+    const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndRenderPass2(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassEndInfo *>(pSubpassEndInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::endRenderPass2(const SubpassEndInfo &subpassEndInfo,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndRenderPass2(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR(
+    const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndRenderPass2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassEndInfo *>(pSubpassEndInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::endRenderPass2KHR(const SubpassEndInfo &subpassEndInfo,
+                                 Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndRenderPass2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT(
+    uint32_t firstCounterBuffer, uint32_t counterBufferCount,
+    const VULKAN_HPP_NAMESPACE::Buffer *pCounterBuffers,
+    const VULKAN_HPP_NAMESPACE::DeviceSize *pCounterBufferOffsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdEndTransformFeedbackEXT(
+      m_commandBuffer, firstCounterBuffer, counterBufferCount,
+      reinterpret_cast<const VkBuffer *>(pCounterBuffers),
+      reinterpret_cast<const VkDeviceSize *>(pCounterBufferOffsets));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT(
+    uint32_t firstCounterBuffer,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const
+        &counterBufferOffsets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(counterBufferOffsets.empty() ||
+                    counterBuffers.size() == counterBufferOffsets.size());
 #else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::fillBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
-                                                    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                                                    VULKAN_HPP_NAMESPACE::DeviceSize size,
-                                                    uint32_t data,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdFillBuffer( m_commandBuffer,
-                       static_cast<VkBuffer>( dstBuffer ),
-                       static_cast<VkDeviceSize>( dstOffset ),
-                       static_cast<VkDeviceSize>( size ),
-                       data );
+  if (!counterBufferOffsets.empty() &&
+      counterBuffers.size() != counterBufferOffsets.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::endTransformFeedbackEXT: "
+                     "counterBuffers.size() != counterBufferOffsets.size()");
   }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdEndTransformFeedbackEXT(
+      m_commandBuffer, firstCounterBuffer, counterBuffers.size(),
+      reinterpret_cast<const VkBuffer *>(counterBuffers.data()),
+      reinterpret_cast<const VkDeviceSize *>(counterBufferOffsets.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdInsertDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::executeCommands(
+    uint32_t commandBufferCount,
+    const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdExecuteCommands(
+      m_commandBuffer, commandBufferCount,
+      reinterpret_cast<const VkCommandBuffer *>(pCommandBuffers));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdInsertDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::executeCommands(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const &commandBuffers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdExecuteCommands(
+      m_commandBuffer, commandBuffers.size(),
+      reinterpret_cast<const VkCommandBuffer *>(commandBuffers.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::nextSubpass( VULKAN_HPP_NAMESPACE::SubpassContents contents,
-                                                     Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdNextSubpass( m_commandBuffer, static_cast<VkSubpassContents>( contents ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::nextSubpass( VULKAN_HPP_NAMESPACE::SubpassContents contents,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdNextSubpass( m_commandBuffer, static_cast<VkSubpassContents>( contents ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV(
+    VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
+    const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV *pGeneratedCommandsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdExecuteGeneratedCommandsNV(
+      m_commandBuffer, static_cast<VkBool32>(isPreprocessed),
+      reinterpret_cast<const VkGeneratedCommandsInfoNV *>(
+          pGeneratedCommandsInfo));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
-                                                      const VULKAN_HPP_NAMESPACE::SubpassEndInfo *   pSubpassEndInfo,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdNextSubpass2( m_commandBuffer,
-                         reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ),
-                         reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2( const SubpassBeginInfo & subpassBeginInfo,
-                                                      const SubpassEndInfo &   subpassEndInfo,
-                                                      Dispatch const &         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdNextSubpass2( m_commandBuffer,
-                         reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ),
-                         reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV(
+    VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
+    const GeneratedCommandsInfoNV &generatedCommandsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdExecuteGeneratedCommandsNV(
+      m_commandBuffer, static_cast<VkBool32>(isPreprocessed),
+      reinterpret_cast<const VkGeneratedCommandsInfoNV *>(
+          &generatedCommandsInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::nextSubpass2KHR( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,
-                                    const VULKAN_HPP_NAMESPACE::SubpassEndInfo *   pSubpassEndInfo,
-                                    Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdNextSubpass2KHR( m_commandBuffer,
-                            reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ),
-                            reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::fillBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                          VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+                          VULKAN_HPP_NAMESPACE::DeviceSize size, uint32_t data,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdFillBuffer(m_commandBuffer, static_cast<VkBuffer>(dstBuffer),
+                    static_cast<VkDeviceSize>(dstOffset),
+                    static_cast<VkDeviceSize>(size), data);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT(
+    const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdInsertDebugUtilsLabelEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugUtilsLabelEXT *>(pLabelInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR( const SubpassBeginInfo & subpassBeginInfo,
-                                                         const SubpassEndInfo &   subpassEndInfo,
-                                                         Dispatch const &         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdNextSubpass2KHR( m_commandBuffer,
-                            reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ),
-                            reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT(
+    const DebugUtilsLabelEXT &labelInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdInsertDebugUtilsLabelEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags          srcStageMask,
-                                    VULKAN_HPP_NAMESPACE::PipelineStageFlags          dstStageMask,
-                                    VULKAN_HPP_NAMESPACE::DependencyFlags             dependencyFlags,
-                                    uint32_t                                          memoryBarrierCount,
-                                    const VULKAN_HPP_NAMESPACE::MemoryBarrier *       pMemoryBarriers,
-                                    uint32_t                                          bufferMemoryBarrierCount,
-                                    const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,
-                                    uint32_t                                          imageMemoryBarrierCount,
-                                    const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *  pImageMemoryBarriers,
-                                    Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPipelineBarrier( m_commandBuffer,
-                            static_cast<VkPipelineStageFlags>( srcStageMask ),
-                            static_cast<VkPipelineStageFlags>( dstStageMask ),
-                            static_cast<VkDependencyFlags>( dependencyFlags ),
-                            memoryBarrierCount,
-                            reinterpret_cast<const VkMemoryBarrier *>( pMemoryBarriers ),
-                            bufferMemoryBarrierCount,
-                            reinterpret_cast<const VkBufferMemoryBarrier *>( pBufferMemoryBarriers ),
-                            imageMemoryBarrierCount,
-                            reinterpret_cast<const VkImageMemoryBarrier *>( pImageMemoryBarriers ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::nextSubpass(VULKAN_HPP_NAMESPACE::SubpassContents contents,
+                           Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdNextSubpass(m_commandBuffer, static_cast<VkSubpassContents>(contents));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2(
+    const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+    const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdNextSubpass2(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassBeginInfo *>(pSubpassBeginInfo),
+      reinterpret_cast<const VkSubpassEndInfo *>(pSubpassEndInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier(
-    VULKAN_HPP_NAMESPACE::PipelineStageFlags                            srcStageMask,
-    VULKAN_HPP_NAMESPACE::PipelineStageFlags                            dstStageMask,
-    VULKAN_HPP_NAMESPACE::DependencyFlags                               dependencyFlags,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &       memoryBarriers,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &  imageMemoryBarriers,
-    Dispatch const &                                                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPipelineBarrier( m_commandBuffer,
-                            static_cast<VkPipelineStageFlags>( srcStageMask ),
-                            static_cast<VkPipelineStageFlags>( dstStageMask ),
-                            static_cast<VkDependencyFlags>( dependencyFlags ),
-                            memoryBarriers.size(),
-                            reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ),
-                            bufferMemoryBarriers.size(),
-                            reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ),
-                            imageMemoryBarriers.size(),
-                            reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::nextSubpass2(const SubpassBeginInfo &subpassBeginInfo,
+                            const SubpassEndInfo &subpassEndInfo,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdNextSubpass2(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo),
+      reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV(
-    const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,
-    Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPreprocessGeneratedCommandsNV(
-      m_commandBuffer, reinterpret_cast<const VkGeneratedCommandsInfoNV *>( pGeneratedCommandsInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR(
+    const VULKAN_HPP_NAMESPACE::SubpassBeginInfo *pSubpassBeginInfo,
+    const VULKAN_HPP_NAMESPACE::SubpassEndInfo *pSubpassEndInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdNextSubpass2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassBeginInfo *>(pSubpassBeginInfo),
+      reinterpret_cast<const VkSubpassEndInfo *>(pSubpassEndInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::preprocessGeneratedCommandsNV( const GeneratedCommandsInfoNV & generatedCommandsInfo,
-                                                  Dispatch const &                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPreprocessGeneratedCommandsNV(
-      m_commandBuffer, reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::nextSubpass2KHR(const SubpassBeginInfo &subpassBeginInfo,
+                               const SubpassEndInfo &subpassEndInfo,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdNextSubpass2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo),
+      reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout   layout,
-                                                       VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
-                                                       uint32_t                               offset,
-                                                       uint32_t                               size,
-                                                       const void *                           pValues,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPushConstants( m_commandBuffer,
-                          static_cast<VkPipelineLayout>( layout ),
-                          static_cast<VkShaderStageFlags>( stageFlags ),
-                          offset,
-                          size,
-                          pValues );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier(
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+    VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
+    uint32_t memoryBarrierCount,
+    const VULKAN_HPP_NAMESPACE::MemoryBarrier *pMemoryBarriers,
+    uint32_t bufferMemoryBarrierCount,
+    const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier *pBufferMemoryBarriers,
+    uint32_t imageMemoryBarrierCount,
+    const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *pImageMemoryBarriers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPipelineBarrier(
+      m_commandBuffer, static_cast<VkPipelineStageFlags>(srcStageMask),
+      static_cast<VkPipelineStageFlags>(dstStageMask),
+      static_cast<VkDependencyFlags>(dependencyFlags), memoryBarrierCount,
+      reinterpret_cast<const VkMemoryBarrier *>(pMemoryBarriers),
+      bufferMemoryBarrierCount,
+      reinterpret_cast<const VkBufferMemoryBarrier *>(pBufferMemoryBarriers),
+      imageMemoryBarrierCount,
+      reinterpret_cast<const VkImageMemoryBarrier *>(pImageMemoryBarriers));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout   layout,
-                                                       VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
-                                                       uint32_t                               offset,
-                                                       ArrayProxy<const T> const &            values,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPushConstants( m_commandBuffer,
-                          static_cast<VkPipelineLayout>( layout ),
-                          static_cast<VkShaderStageFlags>( stageFlags ),
-                          offset,
-                          values.size() * sizeof( T ),
-                          reinterpret_cast<const void *>( values.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier(
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+    VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &memoryBarriers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const
+        &bufferMemoryBarriers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const
+        &imageMemoryBarriers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPipelineBarrier(
+      m_commandBuffer, static_cast<VkPipelineStageFlags>(srcStageMask),
+      static_cast<VkPipelineStageFlags>(dstStageMask),
+      static_cast<VkDependencyFlags>(dependencyFlags), memoryBarriers.size(),
+      reinterpret_cast<const VkMemoryBarrier *>(memoryBarriers.data()),
+      bufferMemoryBarriers.size(),
+      reinterpret_cast<const VkBufferMemoryBarrier *>(
+          bufferMemoryBarriers.data()),
+      imageMemoryBarriers.size(),
+      reinterpret_cast<const VkImageMemoryBarrier *>(
+          imageMemoryBarriers.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::pushDescriptorSetKHR( VULKAN_HPP_NAMESPACE::PipelineBindPoint          pipelineBindPoint,
-                                         VULKAN_HPP_NAMESPACE::PipelineLayout             layout,
-                                         uint32_t                                         set,
-                                         uint32_t                                         descriptorWriteCount,
-                                         const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,
-                                         Dispatch const &                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPushDescriptorSetKHR( m_commandBuffer,
-                                 static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
-                                 static_cast<VkPipelineLayout>( layout ),
-                                 set,
-                                 descriptorWriteCount,
-                                 reinterpret_cast<const VkWriteDescriptorSet *>( pDescriptorWrites ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR(
+    const VULKAN_HPP_NAMESPACE::DependencyInfoKHR *pDependencyInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPipelineBarrier2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkDependencyInfoKHR *>(pDependencyInfo));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR(
-    VULKAN_HPP_NAMESPACE::PipelineBindPoint                            pipelineBindPoint,
-    VULKAN_HPP_NAMESPACE::PipelineLayout                               layout,
-    uint32_t                                                           set,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,
-    Dispatch const &                                                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPushDescriptorSetKHR( m_commandBuffer,
-                                 static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
-                                 static_cast<VkPipelineLayout>( layout ),
-                                 set,
-                                 descriptorWrites.size(),
-                                 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR(
+    const DependencyInfoKHR &dependencyInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPipelineBarrier2KHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkDependencyInfoKHR *>(&dependencyInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR(
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV(
+    const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV *pGeneratedCommandsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPreprocessGeneratedCommandsNV(
+      m_commandBuffer, reinterpret_cast<const VkGeneratedCommandsInfoNV *>(
+                           pGeneratedCommandsInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV(
+    const GeneratedCommandsInfoNV &generatedCommandsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPreprocessGeneratedCommandsNV(
+      m_commandBuffer, reinterpret_cast<const VkGeneratedCommandsInfoNV *>(
+                           &generatedCommandsInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+                             VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
+                             uint32_t offset, uint32_t size,
+                             const void *pValues,
+                             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPushConstants(m_commandBuffer, static_cast<VkPipelineLayout>(layout),
+                       static_cast<VkShaderStageFlags>(stageFlags), offset,
+                       size, pValues);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+                             VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
+                             uint32_t offset, ArrayProxy<const T> const &values,
+                             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPushConstants(m_commandBuffer, static_cast<VkPipelineLayout>(layout),
+                       static_cast<VkShaderStageFlags>(stageFlags), offset,
+                       values.size() * sizeof(T),
+                       reinterpret_cast<const void *>(values.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR(
+    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+    VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t set,
+    uint32_t descriptorWriteCount,
+    const VULKAN_HPP_NAMESPACE::WriteDescriptorSet *pDescriptorWrites,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPushDescriptorSetKHR(
+      m_commandBuffer, static_cast<VkPipelineBindPoint>(pipelineBindPoint),
+      static_cast<VkPipelineLayout>(layout), set, descriptorWriteCount,
+      reinterpret_cast<const VkWriteDescriptorSet *>(pDescriptorWrites));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR(
+    VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+    VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t set,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const
+        &descriptorWrites,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPushDescriptorSetKHR(
+      m_commandBuffer, static_cast<VkPipelineBindPoint>(pipelineBindPoint),
+      static_cast<VkPipelineLayout>(layout), set, descriptorWrites.size(),
+      reinterpret_cast<const VkWriteDescriptorSet *>(descriptorWrites.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR(
     VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-    VULKAN_HPP_NAMESPACE::PipelineLayout           layout,
-    uint32_t                                       set,
-    const void *                                   pData,
-    Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPushDescriptorSetWithTemplateKHR( m_commandBuffer,
-                                             static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                             static_cast<VkPipelineLayout>( layout ),
-                                             set,
-                                             pData );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR(
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-    VULKAN_HPP_NAMESPACE::PipelineLayout layout,
-    uint32_t set,
-    const void * pData,
-    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdPushDescriptorSetWithTemplateKHR( m_commandBuffer,
-                                             static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                             static_cast<VkPipelineLayout>( layout ),
-                                             set,
-                                             pData );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::resetEvent( VULKAN_HPP_NAMESPACE::Event              event,
-                                                    VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdResetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::resetEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                                    VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdResetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                        uint32_t                        firstQuery,
-                                                        uint32_t                        queryCount,
-                                                        Dispatch const &                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdResetQueryPool( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                        uint32_t firstQuery,
-                                                        uint32_t queryCount,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdResetQueryPool( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::resolveImage( VULKAN_HPP_NAMESPACE::Image                srcImage,
-                                                      VULKAN_HPP_NAMESPACE::ImageLayout          srcImageLayout,
-                                                      VULKAN_HPP_NAMESPACE::Image                dstImage,
-                                                      VULKAN_HPP_NAMESPACE::ImageLayout          dstImageLayout,
-                                                      uint32_t                                   regionCount,
-                                                      const VULKAN_HPP_NAMESPACE::ImageResolve * pRegions,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdResolveImage( m_commandBuffer,
-                         static_cast<VkImage>( srcImage ),
-                         static_cast<VkImageLayout>( srcImageLayout ),
-                         static_cast<VkImage>( dstImage ),
-                         static_cast<VkImageLayout>( dstImageLayout ),
-                         regionCount,
-                         reinterpret_cast<const VkImageResolve *>( pRegions ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::resolveImage( VULKAN_HPP_NAMESPACE::Image                                  srcImage,
-                                 VULKAN_HPP_NAMESPACE::ImageLayout                            srcImageLayout,
-                                 VULKAN_HPP_NAMESPACE::Image                                  dstImage,
-                                 VULKAN_HPP_NAMESPACE::ImageLayout                            dstImageLayout,
-                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions,
-                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdResolveImage( m_commandBuffer,
-                         static_cast<VkImage>( srcImage ),
-                         static_cast<VkImageLayout>( srcImageLayout ),
-                         static_cast<VkImage>( dstImage ),
-                         static_cast<VkImageLayout>( dstImageLayout ),
-                         regions.size(),
-                         reinterpret_cast<const VkImageResolve *>( regions.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( const float      blendConstants[4],
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetBlendConstants( m_commandBuffer, blendConstants );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( const float blendConstants[4],
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetBlendConstants( m_commandBuffer, blendConstants );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( const void *     pCheckpointMarker,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetCheckpointNV( m_commandBuffer, pCheckpointMarker );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( const void * pCheckpointMarker,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetCheckpointNV( m_commandBuffer, pCheckpointMarker );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setCoarseSampleOrderNV( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
-                                           uint32_t                                      customSampleOrderCount,
-                                           const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetCoarseSampleOrderNV( m_commandBuffer,
-                                   static_cast<VkCoarseSampleOrderTypeNV>( sampleOrderType ),
-                                   customSampleOrderCount,
-                                   reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( pCustomSampleOrders ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV(
-    VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV                             sampleOrderType,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & customSampleOrders,
-    Dispatch const &                                                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetCoarseSampleOrderNV( m_commandBuffer,
-                                   static_cast<VkCoarseSampleOrderTypeNV>( sampleOrderType ),
-                                   customSampleOrders.size(),
-                                   reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( customSampleOrders.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setCullModeEXT( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetCullModeEXT( m_commandBuffer, static_cast<VkCullModeFlags>( cullMode ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setCullModeEXT( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetCullModeEXT( m_commandBuffer, static_cast<VkCullModeFlags>( cullMode ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthBias( float            depthBiasConstantFactor,
-                                                      float            depthBiasClamp,
-                                                      float            depthBiasSlopeFactor,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthBias( m_commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthBias( float depthBiasConstantFactor,
-                                                      float depthBiasClamp,
-                                                      float depthBiasSlopeFactor,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthBias( m_commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float            minDepthBounds,
-                                                        float            maxDepthBounds,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthBounds( m_commandBuffer, minDepthBounds, maxDepthBounds );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float minDepthBounds,
-                                                        float maxDepthBounds,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthBounds( m_commandBuffer, minDepthBounds, maxDepthBounds );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,
-                                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthBoundsTestEnableEXT( m_commandBuffer, static_cast<VkBool32>( depthBoundsTestEnable ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,
-                                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthBoundsTestEnableEXT( m_commandBuffer, static_cast<VkBool32>( depthBoundsTestEnable ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOpEXT( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthCompareOpEXT( m_commandBuffer, static_cast<VkCompareOp>( depthCompareOp ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOpEXT( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthCompareOpEXT( m_commandBuffer, static_cast<VkCompareOp>( depthCompareOp ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthTestEnableEXT( m_commandBuffer, static_cast<VkBool32>( depthTestEnable ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthTestEnableEXT( m_commandBuffer, static_cast<VkBool32>( depthTestEnable ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,
-                                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthWriteEnableEXT( m_commandBuffer, static_cast<VkBool32>( depthWriteEnable ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,
-                                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDepthWriteEnableEXT( m_commandBuffer, static_cast<VkBool32>( depthWriteEnable ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t         deviceMask,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDeviceMask( m_commandBuffer, deviceMask );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t deviceMask,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDeviceMask( m_commandBuffer, deviceMask );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t         deviceMask,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDeviceMaskKHR( m_commandBuffer, deviceMask );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t deviceMask,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDeviceMaskKHR( m_commandBuffer, deviceMask );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle,
-                                                                uint32_t discardRectangleCount,
-                                                                const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles,
-                                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDiscardRectangleEXT( m_commandBuffer,
-                                   firstDiscardRectangle,
-                                   discardRectangleCount,
-                                   reinterpret_cast<const VkRect2D *>( pDiscardRectangles ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setDiscardRectangleEXT( uint32_t                                               firstDiscardRectangle,
-                                           ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetDiscardRectangleEXT( m_commandBuffer,
-                                   firstDiscardRectangle,
-                                   discardRectangles.size(),
-                                   reinterpret_cast<const VkRect2D *>( discardRectangles.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setEvent( VULKAN_HPP_NAMESPACE::Event              event,
-                                                  VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
-                                                  Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                                  VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor,
-                                                               uint32_t exclusiveScissorCount,
-                                                               const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetExclusiveScissorNV( m_commandBuffer,
-                                  firstExclusiveScissor,
-                                  exclusiveScissorCount,
-                                  reinterpret_cast<const VkRect2D *>( pExclusiveScissors ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setExclusiveScissorNV( uint32_t                                               firstExclusiveScissor,
-                                          ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetExclusiveScissorNV( m_commandBuffer,
-                                  firstExclusiveScissor,
-                                  exclusiveScissors.size(),
-                                  reinterpret_cast<const VkRect2D *>( exclusiveScissors.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setFrontFaceEXT( VULKAN_HPP_NAMESPACE::FrontFace frontFace,
-                                                         Dispatch const &                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetFrontFaceEXT( m_commandBuffer, static_cast<VkFrontFace>( frontFace ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setFrontFaceEXT( VULKAN_HPP_NAMESPACE::FrontFace frontFace,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetFrontFaceEXT( m_commandBuffer, static_cast<VkFrontFace>( frontFace ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEXT( uint32_t         lineStippleFactor,
-                                                           uint16_t         lineStipplePattern,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetLineStippleEXT( m_commandBuffer, lineStippleFactor, lineStipplePattern );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEXT( uint32_t lineStippleFactor,
-                                                           uint16_t lineStipplePattern,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetLineStippleEXT( m_commandBuffer, lineStippleFactor, lineStipplePattern );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetLineWidth( m_commandBuffer, lineWidth );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetLineWidth( m_commandBuffer, lineWidth );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceMarkerINTEL(
-    const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL * pMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCmdSetPerformanceMarkerINTEL(
-      m_commandBuffer, reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( pMarkerInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    CommandBuffer::setPerformanceMarkerINTEL( const PerformanceMarkerInfoINTEL & markerInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkCmdSetPerformanceMarkerINTEL(
-      m_commandBuffer, reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( &markerInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceOverrideINTEL(
-    const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL * pOverrideInfo,
-    Dispatch const &                                           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCmdSetPerformanceOverrideINTEL(
-      m_commandBuffer, reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( pOverrideInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    CommandBuffer::setPerformanceOverrideINTEL( const PerformanceOverrideInfoINTEL & overrideInfo,
-                                                Dispatch const &                     d ) const
-  {
-    Result result = static_cast<Result>( d.vkCmdSetPerformanceOverrideINTEL(
-      m_commandBuffer, reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( &overrideInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceStreamMarkerINTEL(
-    const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL * pMarkerInfo,
-    Dispatch const &                                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCmdSetPerformanceStreamMarkerINTEL(
-      m_commandBuffer, reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( pMarkerInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    CommandBuffer::setPerformanceStreamMarkerINTEL( const PerformanceStreamMarkerInfoINTEL & markerInfo,
-                                                    Dispatch const &                         d ) const
-  {
-    Result result = static_cast<Result>( d.vkCmdSetPerformanceStreamMarkerINTEL(
-      m_commandBuffer, reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( &markerInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setPrimitiveTopologyEXT( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,
-                                            Dispatch const &                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetPrimitiveTopologyEXT( m_commandBuffer, static_cast<VkPrimitiveTopology>( primitiveTopology ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setPrimitiveTopologyEXT( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetPrimitiveTopologyEXT( m_commandBuffer, static_cast<VkPrimitiveTopology>( primitiveTopology ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setSampleLocationsEXT( const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT * pSampleLocationsInfo,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetSampleLocationsEXT( m_commandBuffer,
-                                  reinterpret_cast<const VkSampleLocationsInfoEXT *>( pSampleLocationsInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( const SampleLocationsInfoEXT & sampleLocationsInfo,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetSampleLocationsEXT( m_commandBuffer,
-                                  reinterpret_cast<const VkSampleLocationsInfoEXT *>( &sampleLocationsInfo ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t                             firstScissor,
-                                                    uint32_t                             scissorCount,
-                                                    const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,
-                                                    Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetScissor( m_commandBuffer, firstScissor, scissorCount, reinterpret_cast<const VkRect2D *>( pScissors ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t                                               firstScissor,
-                                                    ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetScissor(
-      m_commandBuffer, firstScissor, scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT( uint32_t                             scissorCount,
-                                                                const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,
-                                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetScissorWithCountEXT( m_commandBuffer, scissorCount, reinterpret_cast<const VkRect2D *>( pScissors ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setScissorWithCountEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetScissorWithCountEXT(
-      m_commandBuffer, scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                               uint32_t                               compareMask,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilCompareMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), compareMask );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                               uint32_t compareMask,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilCompareMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), compareMask );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilOpEXT( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                         VULKAN_HPP_NAMESPACE::StencilOp        failOp,
-                                                         VULKAN_HPP_NAMESPACE::StencilOp        passOp,
-                                                         VULKAN_HPP_NAMESPACE::StencilOp        depthFailOp,
-                                                         VULKAN_HPP_NAMESPACE::CompareOp        compareOp,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilOpEXT( m_commandBuffer,
-                            static_cast<VkStencilFaceFlags>( faceMask ),
-                            static_cast<VkStencilOp>( failOp ),
-                            static_cast<VkStencilOp>( passOp ),
-                            static_cast<VkStencilOp>( depthFailOp ),
-                            static_cast<VkCompareOp>( compareOp ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilOpEXT( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                         VULKAN_HPP_NAMESPACE::StencilOp failOp,
-                                                         VULKAN_HPP_NAMESPACE::StencilOp passOp,
-                                                         VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
-                                                         VULKAN_HPP_NAMESPACE::CompareOp compareOp,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilOpEXT( m_commandBuffer,
-                            static_cast<VkStencilFaceFlags>( faceMask ),
-                            static_cast<VkStencilOp>( failOp ),
-                            static_cast<VkStencilOp>( passOp ),
-                            static_cast<VkStencilOp>( depthFailOp ),
-                            static_cast<VkCompareOp>( compareOp ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilReference( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                             uint32_t                               reference,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilReference( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), reference );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilReference( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                             uint32_t reference,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilReference( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), reference );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,
-                                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilTestEnableEXT( m_commandBuffer, static_cast<VkBool32>( stencilTestEnable ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,
-                                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilTestEnableEXT( m_commandBuffer, static_cast<VkBool32>( stencilTestEnable ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                             uint32_t                               writeMask,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilWriteMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), writeMask );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
-                                                             uint32_t writeMask,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetStencilWriteMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), writeMask );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t                               firstViewport,
-                                                     uint32_t                               viewportCount,
-                                                     const VULKAN_HPP_NAMESPACE::Viewport * pViewports,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewport(
-      m_commandBuffer, firstViewport, viewportCount, reinterpret_cast<const VkViewport *>( pViewports ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport,
-                                                     ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewport(
-      m_commandBuffer, firstViewport, viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV(
-    uint32_t                                           firstViewport,
-    uint32_t                                           viewportCount,
-    const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes,
-    Dispatch const &                                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewportShadingRatePaletteNV( m_commandBuffer,
-                                            firstViewport,
-                                            viewportCount,
-                                            reinterpret_cast<const VkShadingRatePaletteNV *>( pShadingRatePalettes ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV(
-    uint32_t                                                             firstViewport,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & shadingRatePalettes,
-    Dispatch const &                                                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewportShadingRatePaletteNV(
+    VULKAN_HPP_NAMESPACE::PipelineLayout layout, uint32_t set,
+    const void *pData, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdPushDescriptorSetWithTemplateKHR(
       m_commandBuffer,
-      firstViewport,
-      shadingRatePalettes.size(),
-      reinterpret_cast<const VkShadingRatePaletteNV *>( shadingRatePalettes.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
+      static_cast<VkPipelineLayout>(layout), set, pData);
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setViewportWScalingNV( uint32_t                                         firstViewport,
-                                          uint32_t                                         viewportCount,
-                                          const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings,
-                                          Dispatch const &                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewportWScalingNV( m_commandBuffer,
-                                  firstViewport,
-                                  viewportCount,
-                                  reinterpret_cast<const VkViewportWScalingNV *>( pViewportWScalings ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::resetEvent(VULKAN_HPP_NAMESPACE::Event event,
+                          VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdResetEvent(m_commandBuffer, static_cast<VkEvent>(event),
+                    static_cast<VkPipelineStageFlags>(stageMask));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::resetEvent2KHR(
+    VULKAN_HPP_NAMESPACE::Event event,
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stageMask,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdResetEvent2KHR(m_commandBuffer, static_cast<VkEvent>(event),
+                        static_cast<VkPipelineStageFlags2KHR>(stageMask));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                              uint32_t firstQuery, uint32_t queryCount,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdResetQueryPool(m_commandBuffer, static_cast<VkQueryPool>(queryPool),
+                        firstQuery, queryCount);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::resolveImage(VULKAN_HPP_NAMESPACE::Image srcImage,
+                            VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+                            VULKAN_HPP_NAMESPACE::Image dstImage,
+                            VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+                            uint32_t regionCount,
+                            const VULKAN_HPP_NAMESPACE::ImageResolve *pRegions,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdResolveImage(m_commandBuffer, static_cast<VkImage>(srcImage),
+                      static_cast<VkImageLayout>(srcImageLayout),
+                      static_cast<VkImage>(dstImage),
+                      static_cast<VkImageLayout>(dstImageLayout), regionCount,
+                      reinterpret_cast<const VkImageResolve *>(pRegions));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV(
-    uint32_t                                                           firstViewport,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings,
-    Dispatch const &                                                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewportWScalingNV( m_commandBuffer,
-                                  firstViewport,
-                                  viewportWScalings.size(),
-                                  reinterpret_cast<const VkViewportWScalingNV *>( viewportWScalings.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::resolveImage(
+    VULKAN_HPP_NAMESPACE::Image srcImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
+    VULKAN_HPP_NAMESPACE::Image dstImage,
+    VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const &regions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdResolveImage(m_commandBuffer, static_cast<VkImage>(srcImage),
+                      static_cast<VkImageLayout>(srcImageLayout),
+                      static_cast<VkImage>(dstImage),
+                      static_cast<VkImageLayout>(dstImageLayout),
+                      regions.size(),
+                      reinterpret_cast<const VkImageResolve *>(regions.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT( uint32_t                               viewportCount,
-                                                                 const VULKAN_HPP_NAMESPACE::Viewport * pViewports,
-                                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewportWithCountEXT(
-      m_commandBuffer, viewportCount, reinterpret_cast<const VkViewport *>( pViewports ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::setViewportWithCountEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdSetViewportWithCountEXT(
-      m_commandBuffer, viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR(
-    const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pRaygenShaderBindingTable,
-    const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pMissShaderBindingTable,
-    const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pHitShaderBindingTable,
-    const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pCallableShaderBindingTable,
-    VULKAN_HPP_NAMESPACE::Buffer                         buffer,
-    VULKAN_HPP_NAMESPACE::DeviceSize                     offset,
-    Dispatch const &                                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdTraceRaysIndirectKHR( m_commandBuffer,
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( pRaygenShaderBindingTable ),
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( pMissShaderBindingTable ),
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( pHitShaderBindingTable ),
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( pCallableShaderBindingTable ),
-                                 static_cast<VkBuffer>( buffer ),
-                                 static_cast<VkDeviceSize>( offset ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const StridedBufferRegionKHR & raygenShaderBindingTable,
-                                                              const StridedBufferRegionKHR & missShaderBindingTable,
-                                                              const StridedBufferRegionKHR & hitShaderBindingTable,
-                                                              const StridedBufferRegionKHR & callableShaderBindingTable,
-                                                              VULKAN_HPP_NAMESPACE::Buffer   buffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize offset,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdTraceRaysIndirectKHR( m_commandBuffer,
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( &raygenShaderBindingTable ),
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( &missShaderBindingTable ),
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( &hitShaderBindingTable ),
-                                 reinterpret_cast<const VkStridedBufferRegionKHR *>( &callableShaderBindingTable ),
-                                 static_cast<VkBuffer>( buffer ),
-                                 static_cast<VkDeviceSize>( offset ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pRaygenShaderBindingTable,
-                                 const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pMissShaderBindingTable,
-                                 const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pHitShaderBindingTable,
-                                 const VULKAN_HPP_NAMESPACE::StridedBufferRegionKHR * pCallableShaderBindingTable,
-                                 uint32_t                                             width,
-                                 uint32_t                                             height,
-                                 uint32_t                                             depth,
-                                 Dispatch const &                                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdTraceRaysKHR( m_commandBuffer,
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( pRaygenShaderBindingTable ),
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( pMissShaderBindingTable ),
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( pHitShaderBindingTable ),
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( pCallableShaderBindingTable ),
-                         width,
-                         height,
-                         depth );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const StridedBufferRegionKHR & raygenShaderBindingTable,
-                                                      const StridedBufferRegionKHR & missShaderBindingTable,
-                                                      const StridedBufferRegionKHR & hitShaderBindingTable,
-                                                      const StridedBufferRegionKHR & callableShaderBindingTable,
-                                                      uint32_t                       width,
-                                                      uint32_t                       height,
-                                                      uint32_t                       depth,
-                                                      Dispatch const &               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdTraceRaysKHR( m_commandBuffer,
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( &raygenShaderBindingTable ),
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( &missShaderBindingTable ),
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( &hitShaderBindingTable ),
-                         reinterpret_cast<const VkStridedBufferRegionKHR *>( &callableShaderBindingTable ),
-                         width,
-                         height,
-                         depth );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer     raygenShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::Buffer     missShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
-                                                     VULKAN_HPP_NAMESPACE::Buffer     hitShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
-                                                     VULKAN_HPP_NAMESPACE::Buffer     callableShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
-                                                     uint32_t                         width,
-                                                     uint32_t                         height,
-                                                     uint32_t                         depth,
-                                                     Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdTraceRaysNV( m_commandBuffer,
-                        static_cast<VkBuffer>( raygenShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( raygenShaderBindingOffset ),
-                        static_cast<VkBuffer>( missShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( missShaderBindingOffset ),
-                        static_cast<VkDeviceSize>( missShaderBindingStride ),
-                        static_cast<VkBuffer>( hitShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( hitShaderBindingOffset ),
-                        static_cast<VkDeviceSize>( hitShaderBindingStride ),
-                        static_cast<VkBuffer>( callableShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( callableShaderBindingOffset ),
-                        static_cast<VkDeviceSize>( callableShaderBindingStride ),
-                        width,
-                        height,
-                        depth );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
-                                                     VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
-                                                     VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
-                                                     uint32_t width,
-                                                     uint32_t height,
-                                                     uint32_t depth,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdTraceRaysNV( m_commandBuffer,
-                        static_cast<VkBuffer>( raygenShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( raygenShaderBindingOffset ),
-                        static_cast<VkBuffer>( missShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( missShaderBindingOffset ),
-                        static_cast<VkDeviceSize>( missShaderBindingStride ),
-                        static_cast<VkBuffer>( hitShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( hitShaderBindingOffset ),
-                        static_cast<VkDeviceSize>( hitShaderBindingStride ),
-                        static_cast<VkBuffer>( callableShaderBindingTableBuffer ),
-                        static_cast<VkDeviceSize>( callableShaderBindingOffset ),
-                        static_cast<VkDeviceSize>( callableShaderBindingStride ),
-                        width,
-                        height,
-                        depth );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( VULKAN_HPP_NAMESPACE::Buffer     dstBuffer,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize dataSize,
-                                                      const void *                     pData,
-                                                      Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdUpdateBuffer( m_commandBuffer,
-                         static_cast<VkBuffer>( dstBuffer ),
-                         static_cast<VkDeviceSize>( dstOffset ),
-                         static_cast<VkDeviceSize>( dataSize ),
-                         pData );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( VULKAN_HPP_NAMESPACE::Buffer     dstBuffer,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                                                      ArrayProxy<const T> const &      data,
-                                                      Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdUpdateBuffer( m_commandBuffer,
-                         static_cast<VkBuffer>( dstBuffer ),
-                         static_cast<VkDeviceSize>( dstOffset ),
-                         data.size() * sizeof( T ),
-                         reinterpret_cast<const void *>( data.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::waitEvents( uint32_t                                          eventCount,
-                               const VULKAN_HPP_NAMESPACE::Event *               pEvents,
-                               VULKAN_HPP_NAMESPACE::PipelineStageFlags          srcStageMask,
-                               VULKAN_HPP_NAMESPACE::PipelineStageFlags          dstStageMask,
-                               uint32_t                                          memoryBarrierCount,
-                               const VULKAN_HPP_NAMESPACE::MemoryBarrier *       pMemoryBarriers,
-                               uint32_t                                          bufferMemoryBarrierCount,
-                               const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,
-                               uint32_t                                          imageMemoryBarrierCount,
-                               const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *  pImageMemoryBarriers,
-                               Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWaitEvents( m_commandBuffer,
-                       eventCount,
-                       reinterpret_cast<const VkEvent *>( pEvents ),
-                       static_cast<VkPipelineStageFlags>( srcStageMask ),
-                       static_cast<VkPipelineStageFlags>( dstStageMask ),
-                       memoryBarrierCount,
-                       reinterpret_cast<const VkMemoryBarrier *>( pMemoryBarriers ),
-                       bufferMemoryBarrierCount,
-                       reinterpret_cast<const VkBufferMemoryBarrier *>( pBufferMemoryBarriers ),
-                       imageMemoryBarrierCount,
-                       reinterpret_cast<const VkImageMemoryBarrier *>( pImageMemoryBarriers ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    CommandBuffer::waitEvents( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &               events,
-                               VULKAN_HPP_NAMESPACE::PipelineStageFlags                            srcStageMask,
-                               VULKAN_HPP_NAMESPACE::PipelineStageFlags                            dstStageMask,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &       memoryBarriers,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &  imageMemoryBarriers,
-                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWaitEvents( m_commandBuffer,
-                       events.size(),
-                       reinterpret_cast<const VkEvent *>( events.data() ),
-                       static_cast<VkPipelineStageFlags>( srcStageMask ),
-                       static_cast<VkPipelineStageFlags>( dstStageMask ),
-                       memoryBarriers.size(),
-                       reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ),
-                       bufferMemoryBarriers.size(),
-                       reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ),
-                       imageMemoryBarriers.size(),
-                       reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR(
-    uint32_t                                               accelerationStructureCount,
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
-    VULKAN_HPP_NAMESPACE::QueryType                        queryType,
-    VULKAN_HPP_NAMESPACE::QueryPool                        queryPool,
-    uint32_t                                               firstQuery,
-    Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteAccelerationStructuresPropertiesKHR(
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::resolveImage2KHR(
+    const VULKAN_HPP_NAMESPACE::ResolveImageInfo2KHR *pResolveImageInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdResolveImage2KHR(
       m_commandBuffer,
-      accelerationStructureCount,
-      reinterpret_cast<const VkAccelerationStructureKHR *>( pAccelerationStructures ),
-      static_cast<VkQueryType>( queryType ),
-      static_cast<VkQueryPool>( queryPool ),
-      firstQuery );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
-    VULKAN_HPP_NAMESPACE::QueryType                                          queryType,
-    VULKAN_HPP_NAMESPACE::QueryPool                                          queryPool,
-    uint32_t                                                                 firstQuery,
-    Dispatch const &                                                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteAccelerationStructuresPropertiesKHR(
-      m_commandBuffer,
-      accelerationStructures.size(),
-      reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ),
-      static_cast<VkQueryType>( queryType ),
-      static_cast<VkQueryPool>( queryPool ),
-      firstQuery );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+      reinterpret_cast<const VkResolveImageInfo2KHR *>(pResolveImageInfo));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV(
-    uint32_t                                               accelerationStructureCount,
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
-    VULKAN_HPP_NAMESPACE::QueryType                        queryType,
-    VULKAN_HPP_NAMESPACE::QueryPool                        queryPool,
-    uint32_t                                               firstQuery,
-    Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteAccelerationStructuresPropertiesNV(
-      m_commandBuffer,
-      accelerationStructureCount,
-      reinterpret_cast<const VkAccelerationStructureKHR *>( pAccelerationStructures ),
-      static_cast<VkQueryType>( queryType ),
-      static_cast<VkQueryPool>( queryPool ),
-      firstQuery );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
-    VULKAN_HPP_NAMESPACE::QueryType                                          queryType,
-    VULKAN_HPP_NAMESPACE::QueryPool                                          queryPool,
-    uint32_t                                                                 firstQuery,
-    Dispatch const &                                                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteAccelerationStructuresPropertiesNV(
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::resolveImage2KHR(const ResolveImageInfo2KHR &resolveImageInfo,
+                                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdResolveImage2KHR(
       m_commandBuffer,
-      accelerationStructures.size(),
-      reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ),
-      static_cast<VkQueryType>( queryType ),
-      static_cast<VkQueryPool>( queryPool ),
-      firstQuery );
-  }
+      reinterpret_cast<const VkResolveImageInfo2KHR *>(&resolveImageInfo));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
-                                                              VULKAN_HPP_NAMESPACE::Buffer                dstBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize            dstOffset,
-                                                              uint32_t                                    marker,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteBufferMarkerAMD( m_commandBuffer,
-                                 static_cast<VkPipelineStageFlagBits>( pipelineStage ),
-                                 static_cast<VkBuffer>( dstBuffer ),
-                                 static_cast<VkDeviceSize>( dstOffset ),
-                                 marker );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
-                                                              VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
-                                                              VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
-                                                              uint32_t marker,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteBufferMarkerAMD( m_commandBuffer,
-                                 static_cast<VkPipelineStageFlagBits>( pipelineStage ),
-                                 static_cast<VkBuffer>( dstBuffer ),
-                                 static_cast<VkDeviceSize>( dstOffset ),
-                                 marker );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setBlendConstants(const float blendConstants[4],
+                                 Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetBlendConstants(m_commandBuffer, blendConstants);
+}
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
-                                                        VULKAN_HPP_NAMESPACE::QueryPool             queryPool,
-                                                        uint32_t                                    query,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteTimestamp( m_commandBuffer,
-                           static_cast<VkPipelineStageFlagBits>( pipelineStage ),
-                           static_cast<VkQueryPool>( queryPool ),
-                           query );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
-                                                        VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                        uint32_t query,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkCmdWriteTimestamp( m_commandBuffer,
-                           static_cast<VkPipelineStageFlagBits>( pipelineStage ),
-                           static_cast<VkQueryPool>( queryPool ),
-                           query );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setCheckpointNV(const void *pCheckpointMarker,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetCheckpointNV(m_commandBuffer, pCheckpointMarker);
+}
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result CommandBuffer::end( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEndCommandBuffer( m_commandBuffer ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::end( Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkEndCommandBuffer( m_commandBuffer ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::end" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV(
+    VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
+    uint32_t customSampleOrderCount,
+    const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV *pCustomSampleOrders,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetCoarseSampleOrderNV(
+      m_commandBuffer, static_cast<VkCoarseSampleOrderTypeNV>(sampleOrderType),
+      customSampleOrderCount,
+      reinterpret_cast<const VkCoarseSampleOrderCustomNV *>(
+          pCustomSampleOrders));
+}
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result CommandBuffer::reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkResetCommandBuffer( m_commandBuffer, static_cast<VkCommandBufferResetFlags>( flags ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    CommandBuffer::reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags, Dispatch const & d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkResetCommandBuffer( m_commandBuffer, static_cast<VkCommandBufferResetFlags>( flags ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::reset" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkAcquireFullScreenExclusiveModeEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
-  }
-#  else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkAcquireFullScreenExclusiveModeEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireFullScreenExclusiveModeEXT" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR * pAcquireInfo,
-                                  uint32_t *                                            pImageIndex,
-                                  Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkAcquireNextImage2KHR(
-      m_device, reinterpret_cast<const VkAcquireNextImageInfoKHR *>( pAcquireInfo ), pImageIndex ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<uint32_t> Device::acquireNextImage2KHR( const AcquireNextImageInfoKHR & acquireInfo,
-                                                                        Dispatch const &                d ) const
-  {
-    uint32_t imageIndex;
-    Result   result = static_cast<Result>( d.vkAcquireNextImage2KHR(
-      m_device, reinterpret_cast<const VkAcquireNextImageInfoKHR *>( &acquireInfo ), &imageIndex ) );
-    return createResultValue( result,
-                              imageIndex,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR",
-                              { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV(
+    VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const
+        &customSampleOrders,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetCoarseSampleOrderNV(
+      m_commandBuffer, static_cast<VkCoarseSampleOrderTypeNV>(sampleOrderType),
+      customSampleOrders.size(),
+      reinterpret_cast<const VkCoarseSampleOrderCustomNV *>(
+          customSampleOrders.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                        uint64_t                           timeout,
-                                                        VULKAN_HPP_NAMESPACE::Semaphore    semaphore,
-                                                        VULKAN_HPP_NAMESPACE::Fence        fence,
-                                                        uint32_t *                         pImageIndex,
-                                                        Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkAcquireNextImageKHR( m_device,
-                                                         static_cast<VkSwapchainKHR>( swapchain ),
-                                                         timeout,
-                                                         static_cast<VkSemaphore>( semaphore ),
-                                                         static_cast<VkFence>( fence ),
-                                                         pImageIndex ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setCullModeEXT(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetCullModeEXT(m_commandBuffer,
+                        static_cast<VkCullModeFlags>(cullMode));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setDepthBias(float depthBiasConstantFactor, float depthBiasClamp,
+                            float depthBiasSlopeFactor,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDepthBias(m_commandBuffer, depthBiasConstantFactor, depthBiasClamp,
+                      depthBiasSlopeFactor);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setDepthBounds(float minDepthBounds, float maxDepthBounds,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDepthBounds(m_commandBuffer, minDepthBounds, maxDepthBounds);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT(
+    VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDepthBoundsTestEnableEXT(
+      m_commandBuffer, static_cast<VkBool32>(depthBoundsTestEnable));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOpEXT(
+    VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDepthCompareOpEXT(m_commandBuffer,
+                              static_cast<VkCompareOp>(depthCompareOp));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnableEXT(
+    VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDepthTestEnableEXT(m_commandBuffer,
+                               static_cast<VkBool32>(depthTestEnable));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnableEXT(
+    VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDepthWriteEnableEXT(m_commandBuffer,
+                                static_cast<VkBool32>(depthWriteEnable));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setDeviceMask(uint32_t deviceMask,
+                             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDeviceMask(m_commandBuffer, deviceMask);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setDeviceMaskKHR(uint32_t deviceMask,
+                                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDeviceMaskKHR(m_commandBuffer, deviceMask);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT(
+    uint32_t firstDiscardRectangle, uint32_t discardRectangleCount,
+    const VULKAN_HPP_NAMESPACE::Rect2D *pDiscardRectangles,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDiscardRectangleEXT(
+      m_commandBuffer, firstDiscardRectangle, discardRectangleCount,
+      reinterpret_cast<const VkRect2D *>(pDiscardRectangles));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<uint32_t> Device::acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                                       uint64_t                           timeout,
-                                                                       VULKAN_HPP_NAMESPACE::Semaphore    semaphore,
-                                                                       VULKAN_HPP_NAMESPACE::Fence        fence,
-                                                                       Dispatch const &                   d ) const
-  {
-    uint32_t imageIndex;
-    Result   result = static_cast<Result>( d.vkAcquireNextImageKHR( m_device,
-                                                                  static_cast<VkSwapchainKHR>( swapchain ),
-                                                                  timeout,
-                                                                  static_cast<VkSemaphore>( semaphore ),
-                                                                  static_cast<VkFence>( fence ),
-                                                                  &imageIndex ) );
-    return createResultValue( result,
-                              imageIndex,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImageKHR",
-                              { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT(
+    uint32_t firstDiscardRectangle,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &discardRectangles,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetDiscardRectangleEXT(
+      m_commandBuffer, firstDiscardRectangle, discardRectangles.size(),
+      reinterpret_cast<const VkRect2D *>(discardRectangles.data()));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::acquirePerformanceConfigurationINTEL(
-    const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
-    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL *                  pConfiguration,
-    Dispatch const &                                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkAcquirePerformanceConfigurationINTEL(
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setEvent(VULKAN_HPP_NAMESPACE::Event event,
+                        VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,
+                        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetEvent(m_commandBuffer, static_cast<VkEvent>(event),
+                  static_cast<VkPipelineStageFlags>(stageMask));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setEvent2KHR(
+    VULKAN_HPP_NAMESPACE::Event event,
+    const VULKAN_HPP_NAMESPACE::DependencyInfoKHR *pDependencyInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetEvent2KHR(
+      m_commandBuffer, static_cast<VkEvent>(event),
+      reinterpret_cast<const VkDependencyInfoKHR *>(pDependencyInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,
+                            const DependencyInfoKHR &dependencyInfo,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetEvent2KHR(
+      m_commandBuffer, static_cast<VkEvent>(event),
+      reinterpret_cast<const VkDependencyInfoKHR *>(&dependencyInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV(
+    uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount,
+    const VULKAN_HPP_NAMESPACE::Rect2D *pExclusiveScissors,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetExclusiveScissorNV(
+      m_commandBuffer, firstExclusiveScissor, exclusiveScissorCount,
+      reinterpret_cast<const VkRect2D *>(pExclusiveScissors));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV(
+    uint32_t firstExclusiveScissor,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &exclusiveScissors,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetExclusiveScissorNV(
+      m_commandBuffer, firstExclusiveScissor, exclusiveScissors.size(),
+      reinterpret_cast<const VkRect2D *>(exclusiveScissors.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateEnumNV(
+    VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,
+    const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetFragmentShadingRateEnumNV(
+      m_commandBuffer, static_cast<VkFragmentShadingRateNV>(shadingRate),
+      reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>(
+          combinerOps));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR(
+    const VULKAN_HPP_NAMESPACE::Extent2D *pFragmentSize,
+    const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetFragmentShadingRateKHR(
+      m_commandBuffer, reinterpret_cast<const VkExtent2D *>(pFragmentSize),
+      reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>(
+          combinerOps));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR(
+    const Extent2D &fragmentSize,
+    const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetFragmentShadingRateKHR(
+      m_commandBuffer, reinterpret_cast<const VkExtent2D *>(&fragmentSize),
+      reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>(
+          combinerOps));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setFrontFaceEXT(VULKAN_HPP_NAMESPACE::FrontFace frontFace,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetFrontFaceEXT(m_commandBuffer, static_cast<VkFrontFace>(frontFace));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setLineStippleEXT(uint32_t lineStippleFactor,
+                                 uint16_t lineStipplePattern,
+                                 Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetLineStippleEXT(m_commandBuffer, lineStippleFactor,
+                           lineStipplePattern);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setLineWidth(float lineWidth,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetLineWidth(m_commandBuffer, lineWidth);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+CommandBuffer::setPerformanceMarkerINTEL(
+    const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL *pMarkerInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCmdSetPerformanceMarkerINTEL(
+      m_commandBuffer,
+      reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>(pMarkerInfo)));
+}
+
+#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 PerformanceMarkerInfoINTEL &markerInfo, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkCmdSetPerformanceMarkerINTEL(
+      m_commandBuffer,
+      reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>(&markerInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::CommandBuffer::setPerformanceMarkerINTEL");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+CommandBuffer::setPerformanceOverrideINTEL(
+    const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL *pOverrideInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCmdSetPerformanceOverrideINTEL(
+      m_commandBuffer,
+      reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>(pOverrideInfo)));
+}
+
+#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 PerformanceOverrideInfoINTEL &overrideInfo,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkCmdSetPerformanceOverrideINTEL(
+      m_commandBuffer,
+      reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>(&overrideInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::CommandBuffer::setPerformanceOverrideINTEL");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+CommandBuffer::setPerformanceStreamMarkerINTEL(
+    const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL *pMarkerInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCmdSetPerformanceStreamMarkerINTEL(
+      m_commandBuffer,
+      reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>(
+          pMarkerInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    CommandBuffer::setPerformanceStreamMarkerINTEL(
+        const PerformanceStreamMarkerInfoINTEL &markerInfo,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkCmdSetPerformanceStreamMarkerINTEL(
+      m_commandBuffer,
+      reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>(
+          &markerInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::CommandBuffer::setPerformanceStreamMarkerINTEL");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopologyEXT(
+    VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetPrimitiveTopologyEXT(
+      m_commandBuffer, static_cast<VkPrimitiveTopology>(primitiveTopology));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setRayTracingPipelineStackSizeKHR(
+    uint32_t pipelineStackSize, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetRayTracingPipelineStackSizeKHR(m_commandBuffer, pipelineStackSize);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT(
+    const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT *pSampleLocationsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetSampleLocationsEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkSampleLocationsInfoEXT *>(pSampleLocationsInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT(
+    const SampleLocationsInfoEXT &sampleLocationsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetSampleLocationsEXT(
+      m_commandBuffer,
+      reinterpret_cast<const VkSampleLocationsInfoEXT *>(&sampleLocationsInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setScissor(uint32_t firstScissor, uint32_t scissorCount,
+                          const VULKAN_HPP_NAMESPACE::Rect2D *pScissors,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetScissor(m_commandBuffer, firstScissor, scissorCount,
+                    reinterpret_cast<const VkRect2D *>(pScissors));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setScissor(
+    uint32_t firstScissor,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetScissor(m_commandBuffer, firstScissor, scissors.size(),
+                    reinterpret_cast<const VkRect2D *>(scissors.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT(
+    uint32_t scissorCount, const VULKAN_HPP_NAMESPACE::Rect2D *pScissors,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetScissorWithCountEXT(m_commandBuffer, scissorCount,
+                                reinterpret_cast<const VkRect2D *>(pScissors));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetScissorWithCountEXT(
+      m_commandBuffer, scissors.size(),
+      reinterpret_cast<const VkRect2D *>(scissors.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask(
+    VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t compareMask,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetStencilCompareMask(
+      m_commandBuffer, static_cast<VkStencilFaceFlags>(faceMask), compareMask);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setStencilOpEXT(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
+                               VULKAN_HPP_NAMESPACE::StencilOp failOp,
+                               VULKAN_HPP_NAMESPACE::StencilOp passOp,
+                               VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
+                               VULKAN_HPP_NAMESPACE::CompareOp compareOp,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetStencilOpEXT(
+      m_commandBuffer, static_cast<VkStencilFaceFlags>(faceMask),
+      static_cast<VkStencilOp>(failOp), static_cast<VkStencilOp>(passOp),
+      static_cast<VkStencilOp>(depthFailOp),
+      static_cast<VkCompareOp>(compareOp));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setStencilReference(
+    VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t reference,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetStencilReference(
+      m_commandBuffer, static_cast<VkStencilFaceFlags>(faceMask), reference);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnableEXT(
+    VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetStencilTestEnableEXT(m_commandBuffer,
+                                 static_cast<VkBool32>(stencilTestEnable));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask(
+    VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t writeMask,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetStencilWriteMask(
+      m_commandBuffer, static_cast<VkStencilFaceFlags>(faceMask), writeMask);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::setViewport(uint32_t firstViewport, uint32_t viewportCount,
+                           const VULKAN_HPP_NAMESPACE::Viewport *pViewports,
+                           Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewport(m_commandBuffer, firstViewport, viewportCount,
+                     reinterpret_cast<const VkViewport *>(pViewports));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setViewport(
+    uint32_t firstViewport,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewport(m_commandBuffer, firstViewport, viewports.size(),
+                     reinterpret_cast<const VkViewport *>(viewports.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV(
+    uint32_t firstViewport, uint32_t viewportCount,
+    const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV *pShadingRatePalettes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewportShadingRatePaletteNV(
+      m_commandBuffer, firstViewport, viewportCount,
+      reinterpret_cast<const VkShadingRatePaletteNV *>(pShadingRatePalettes));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV(
+    uint32_t firstViewport,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const
+        &shadingRatePalettes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewportShadingRatePaletteNV(
+      m_commandBuffer, firstViewport, shadingRatePalettes.size(),
+      reinterpret_cast<const VkShadingRatePaletteNV *>(
+          shadingRatePalettes.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV(
+    uint32_t firstViewport, uint32_t viewportCount,
+    const VULKAN_HPP_NAMESPACE::ViewportWScalingNV *pViewportWScalings,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewportWScalingNV(
+      m_commandBuffer, firstViewport, viewportCount,
+      reinterpret_cast<const VkViewportWScalingNV *>(pViewportWScalings));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV(
+    uint32_t firstViewport,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const
+        &viewportWScalings,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewportWScalingNV(
+      m_commandBuffer, firstViewport, viewportWScalings.size(),
+      reinterpret_cast<const VkViewportWScalingNV *>(viewportWScalings.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT(
+    uint32_t viewportCount, const VULKAN_HPP_NAMESPACE::Viewport *pViewports,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewportWithCountEXT(
+      m_commandBuffer, viewportCount,
+      reinterpret_cast<const VkViewport *>(pViewports));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdSetViewportWithCountEXT(
+      m_commandBuffer, viewports.size(),
+      reinterpret_cast<const VkViewport *>(viewports.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR(
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pRaygenShaderBindingTable,
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pMissShaderBindingTable,
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pHitShaderBindingTable,
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pCallableShaderBindingTable,
+    VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdTraceRaysIndirectKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          pRaygenShaderBindingTable),
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          pMissShaderBindingTable),
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          pHitShaderBindingTable),
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          pCallableShaderBindingTable),
+      static_cast<VkDeviceAddress>(indirectDeviceAddress));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR(
+    const StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
+    const StridedDeviceAddressRegionKHR &missShaderBindingTable,
+    const StridedDeviceAddressRegionKHR &hitShaderBindingTable,
+    const StridedDeviceAddressRegionKHR &callableShaderBindingTable,
+    VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdTraceRaysIndirectKHR(
+      m_commandBuffer,
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          &raygenShaderBindingTable),
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          &missShaderBindingTable),
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          &hitShaderBindingTable),
+      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+          &callableShaderBindingTable),
+      static_cast<VkDeviceAddress>(indirectDeviceAddress));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR(
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pRaygenShaderBindingTable,
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pMissShaderBindingTable,
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pHitShaderBindingTable,
+    const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR
+        *pCallableShaderBindingTable,
+    uint32_t width, uint32_t height, uint32_t depth,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdTraceRaysKHR(m_commandBuffer,
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          pRaygenShaderBindingTable),
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          pMissShaderBindingTable),
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          pHitShaderBindingTable),
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          pCallableShaderBindingTable),
+                      width, height, depth);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR(
+    const StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
+    const StridedDeviceAddressRegionKHR &missShaderBindingTable,
+    const StridedDeviceAddressRegionKHR &hitShaderBindingTable,
+    const StridedDeviceAddressRegionKHR &callableShaderBindingTable,
+    uint32_t width, uint32_t height, uint32_t depth,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdTraceRaysKHR(m_commandBuffer,
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          &raygenShaderBindingTable),
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          &missShaderBindingTable),
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          &hitShaderBindingTable),
+                      reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(
+                          &callableShaderBindingTable),
+                      width, height, depth);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV(
+    VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
+    VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
+    VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
+    VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
+    VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
+    VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
+    VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
+    uint32_t width, uint32_t height, uint32_t depth,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdTraceRaysNV(m_commandBuffer,
+                     static_cast<VkBuffer>(raygenShaderBindingTableBuffer),
+                     static_cast<VkDeviceSize>(raygenShaderBindingOffset),
+                     static_cast<VkBuffer>(missShaderBindingTableBuffer),
+                     static_cast<VkDeviceSize>(missShaderBindingOffset),
+                     static_cast<VkDeviceSize>(missShaderBindingStride),
+                     static_cast<VkBuffer>(hitShaderBindingTableBuffer),
+                     static_cast<VkDeviceSize>(hitShaderBindingOffset),
+                     static_cast<VkDeviceSize>(hitShaderBindingStride),
+                     static_cast<VkBuffer>(callableShaderBindingTableBuffer),
+                     static_cast<VkDeviceSize>(callableShaderBindingOffset),
+                     static_cast<VkDeviceSize>(callableShaderBindingStride),
+                     width, height, depth);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                            VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+                            VULKAN_HPP_NAMESPACE::DeviceSize dataSize,
+                            const void *pData,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdUpdateBuffer(m_commandBuffer, static_cast<VkBuffer>(dstBuffer),
+                      static_cast<VkDeviceSize>(dstOffset),
+                      static_cast<VkDeviceSize>(dataSize), pData);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_INLINE void
+CommandBuffer::updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+                            VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
+                            ArrayProxy<const T> const &data,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdUpdateBuffer(m_commandBuffer, static_cast<VkBuffer>(dstBuffer),
+                      static_cast<VkDeviceSize>(dstOffset),
+                      data.size() * sizeof(T),
+                      reinterpret_cast<const void *>(data.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::waitEvents(
+    uint32_t eventCount, const VULKAN_HPP_NAMESPACE::Event *pEvents,
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+    uint32_t memoryBarrierCount,
+    const VULKAN_HPP_NAMESPACE::MemoryBarrier *pMemoryBarriers,
+    uint32_t bufferMemoryBarrierCount,
+    const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier *pBufferMemoryBarriers,
+    uint32_t imageMemoryBarrierCount,
+    const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier *pImageMemoryBarriers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWaitEvents(
+      m_commandBuffer, eventCount, reinterpret_cast<const VkEvent *>(pEvents),
+      static_cast<VkPipelineStageFlags>(srcStageMask),
+      static_cast<VkPipelineStageFlags>(dstStageMask), memoryBarrierCount,
+      reinterpret_cast<const VkMemoryBarrier *>(pMemoryBarriers),
+      bufferMemoryBarrierCount,
+      reinterpret_cast<const VkBufferMemoryBarrier *>(pBufferMemoryBarriers),
+      imageMemoryBarrierCount,
+      reinterpret_cast<const VkImageMemoryBarrier *>(pImageMemoryBarriers));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::waitEvents(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &memoryBarriers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const
+        &bufferMemoryBarriers,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const
+        &imageMemoryBarriers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWaitEvents(
+      m_commandBuffer, events.size(),
+      reinterpret_cast<const VkEvent *>(events.data()),
+      static_cast<VkPipelineStageFlags>(srcStageMask),
+      static_cast<VkPipelineStageFlags>(dstStageMask), memoryBarriers.size(),
+      reinterpret_cast<const VkMemoryBarrier *>(memoryBarriers.data()),
+      bufferMemoryBarriers.size(),
+      reinterpret_cast<const VkBufferMemoryBarrier *>(
+          bufferMemoryBarriers.data()),
+      imageMemoryBarriers.size(),
+      reinterpret_cast<const VkImageMemoryBarrier *>(
+          imageMemoryBarriers.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR(
+    uint32_t eventCount, const VULKAN_HPP_NAMESPACE::Event *pEvents,
+    const VULKAN_HPP_NAMESPACE::DependencyInfoKHR *pDependencyInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWaitEvents2KHR(
+      m_commandBuffer, eventCount, reinterpret_cast<const VkEvent *>(pEvents),
+      reinterpret_cast<const VkDependencyInfoKHR *>(pDependencyInfos));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfoKHR> const
+        &dependencyInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(events.size() == dependencyInfos.size());
+#else
+  if (events.size() != dependencyInfos.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::CommandBuffer::waitEvents2KHR: events.size() != "
+                     "dependencyInfos.size()");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkCmdWaitEvents2KHR(
+      m_commandBuffer, events.size(),
+      reinterpret_cast<const VkEvent *>(events.data()),
+      reinterpret_cast<const VkDependencyInfoKHR *>(dependencyInfos.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR(
+    uint32_t accelerationStructureCount,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR
+        *pAccelerationStructures,
+    VULKAN_HPP_NAMESPACE::QueryType queryType,
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteAccelerationStructuresPropertiesKHR(
+      m_commandBuffer, accelerationStructureCount,
+      reinterpret_cast<const VkAccelerationStructureKHR *>(
+          pAccelerationStructures),
+      static_cast<VkQueryType>(queryType), static_cast<VkQueryPool>(queryPool),
+      firstQuery);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+        &accelerationStructures,
+    VULKAN_HPP_NAMESPACE::QueryType queryType,
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteAccelerationStructuresPropertiesKHR(
+      m_commandBuffer, accelerationStructures.size(),
+      reinterpret_cast<const VkAccelerationStructureKHR *>(
+          accelerationStructures.data()),
+      static_cast<VkQueryType>(queryType), static_cast<VkQueryPool>(queryPool),
+      firstQuery);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV(
+    uint32_t accelerationStructureCount,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureNV
+        *pAccelerationStructures,
+    VULKAN_HPP_NAMESPACE::QueryType queryType,
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteAccelerationStructuresPropertiesNV(
+      m_commandBuffer, accelerationStructureCount,
+      reinterpret_cast<const VkAccelerationStructureNV *>(
+          pAccelerationStructures),
+      static_cast<VkQueryType>(queryType), static_cast<VkQueryPool>(queryPool),
+      firstQuery);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const
+        &accelerationStructures,
+    VULKAN_HPP_NAMESPACE::QueryType queryType,
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteAccelerationStructuresPropertiesNV(
+      m_commandBuffer, accelerationStructures.size(),
+      reinterpret_cast<const VkAccelerationStructureNV *>(
+          accelerationStructures.data()),
+      static_cast<VkQueryType>(queryType), static_cast<VkQueryPool>(queryPool),
+      firstQuery);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarker2AMD(
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage,
+    VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, uint32_t marker,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteBufferMarker2AMD(m_commandBuffer,
+                               static_cast<VkPipelineStageFlags2KHR>(stage),
+                               static_cast<VkBuffer>(dstBuffer),
+                               static_cast<VkDeviceSize>(dstOffset), marker);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD(
+    VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
+    VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
+    VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, uint32_t marker,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteBufferMarkerAMD(
+      m_commandBuffer, static_cast<VkPipelineStageFlagBits>(pipelineStage),
+      static_cast<VkBuffer>(dstBuffer), static_cast<VkDeviceSize>(dstOffset),
+      marker);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp(
+    VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteTimestamp(m_commandBuffer,
+                        static_cast<VkPipelineStageFlagBits>(pipelineStage),
+                        static_cast<VkQueryPool>(queryPool), query);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2KHR(
+    VULKAN_HPP_NAMESPACE::PipelineStageFlags2KHR stage,
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkCmdWriteTimestamp2KHR(m_commandBuffer,
+                            static_cast<VkPipelineStageFlags2KHR>(stage),
+                            static_cast<VkQueryPool>(queryPool), query);
+}
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+CommandBuffer::end(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEndCommandBuffer(m_commandBuffer));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    CommandBuffer::end(Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkEndCommandBuffer(m_commandBuffer));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::end");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+CommandBuffer::reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,
+                     Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkResetCommandBuffer(
+      m_commandBuffer, static_cast<VkCommandBufferResetFlags>(flags)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+CommandBuffer::reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,
+                     Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkResetCommandBuffer(
+      m_commandBuffer, static_cast<VkCommandBufferResetFlags>(flags)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::CommandBuffer::reset");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::acquireFullScreenExclusiveModeEXT(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAcquireFullScreenExclusiveModeEXT(
+      m_device, static_cast<VkSwapchainKHR>(swapchain)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::acquireFullScreenExclusiveModeEXT(
+        VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkAcquireFullScreenExclusiveModeEXT(
+      m_device, static_cast<VkSwapchainKHR>(swapchain)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::acquireFullScreenExclusiveModeEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireNextImage2KHR(
+    const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR *pAcquireInfo,
+    uint32_t *pImageIndex, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAcquireNextImage2KHR(
       m_device,
-      reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( pAcquireInfo ),
-      reinterpret_cast<VkPerformanceConfigurationINTEL *>( pConfiguration ) ) );
-  }
+      reinterpret_cast<const VkAcquireNextImageInfoKHR *>(pAcquireInfo),
+      pImageIndex));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>::type
-    Device::acquirePerformanceConfigurationINTEL( const PerformanceConfigurationAcquireInfoINTEL & acquireInfo,
-                                                  Dispatch const &                                 d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration;
-    Result result = static_cast<Result>( d.vkAcquirePerformanceConfigurationINTEL(
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<uint32_t>
+Device::acquireNextImage2KHR(const AcquireNextImageInfoKHR &acquireInfo,
+                             Dispatch const &d) const {
+  uint32_t imageIndex;
+  Result result = static_cast<Result>(d.vkAcquireNextImage2KHR(
       m_device,
-      reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( &acquireInfo ),
-      reinterpret_cast<VkPerformanceConfigurationINTEL *>( &configuration ) ) );
-    return createResultValue(
-      result, configuration, VULKAN_HPP_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTEL" );
-  }
+      reinterpret_cast<const VkAcquireNextImageInfoKHR *>(&acquireInfo),
+      &imageIndex));
+  return createResultValue(result, imageIndex,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::acquireNextImage2KHR",
+                           {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+                            VULKAN_HPP_NAMESPACE::Result::eTimeout,
+                            VULKAN_HPP_NAMESPACE::Result::eNotReady,
+                            VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR});
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::acquireProfilingLockKHR(
-    const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkAcquireProfilingLockKHR( m_device, reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( pInfo ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireNextImageKHR(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, uint64_t timeout,
+    VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+    VULKAN_HPP_NAMESPACE::Fence fence, uint32_t *pImageIndex,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkAcquireNextImageKHR(m_device, static_cast<VkSwapchainKHR>(swapchain),
+                              timeout, static_cast<VkSemaphore>(semaphore),
+                              static_cast<VkFence>(fence), pImageIndex));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::acquireProfilingLockKHR( const AcquireProfilingLockInfoKHR & info, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkAcquireProfilingLockKHR( m_device, reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( &info ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<uint32_t>
+Device::acquireNextImageKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                            uint64_t timeout,
+                            VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+                            VULKAN_HPP_NAMESPACE::Fence fence,
+                            Dispatch const &d) const {
+  uint32_t imageIndex;
+  Result result = static_cast<Result>(
+      d.vkAcquireNextImageKHR(m_device, static_cast<VkSwapchainKHR>(swapchain),
+                              timeout, static_cast<VkSemaphore>(semaphore),
+                              static_cast<VkFence>(fence), &imageIndex));
+  return createResultValue(result, imageIndex,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::acquireNextImageKHR",
+                           {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+                            VULKAN_HPP_NAMESPACE::Result::eTimeout,
+                            VULKAN_HPP_NAMESPACE::Result::eNotReady,
+                            VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR});
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo * pAllocateInfo,
-                                    VULKAN_HPP_NAMESPACE::CommandBuffer *                   pCommandBuffers,
-                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkAllocateCommandBuffers( m_device,
-                                  reinterpret_cast<const VkCommandBufferAllocateInfo *>( pAllocateInfo ),
-                                  reinterpret_cast<VkCommandBuffer *>( pCommandBuffers ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::acquirePerformanceConfigurationINTEL(
+    const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL
+        *pAcquireInfo,
+    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL *pConfiguration,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAcquirePerformanceConfigurationINTEL(
+      m_device,
+      reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>(
+          pAcquireInfo),
+      reinterpret_cast<VkPerformanceConfigurationINTEL *>(pConfiguration)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<CommandBuffer, Allocator>>::type
-    Device::allocateCommandBuffers( const CommandBufferAllocateInfo & allocateInfo, Dispatch const & d ) const
-  {
-    std::vector<CommandBuffer, Allocator> commandBuffers( allocateInfo.commandBufferCount );
-    Result                                result = static_cast<Result>(
-      d.vkAllocateCommandBuffers( m_device,
-                                  reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) );
-    return createResultValue( result, commandBuffers, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<CommandBuffer, Allocator>>::type
-    Device::allocateCommandBuffers( const CommandBufferAllocateInfo & allocateInfo,
-                                    Allocator const &                 vectorAllocator,
-                                    Dispatch const &                  d ) const
-  {
-    std::vector<CommandBuffer, Allocator> commandBuffers( allocateInfo.commandBufferCount, vectorAllocator );
-    Result                                result = static_cast<Result>(
-      d.vkAllocateCommandBuffers( m_device,
-                                  reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) );
-    return createResultValue( result, commandBuffers, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<CommandBuffer, Dispatch>, Allocator>>::type
-    Device::allocateCommandBuffersUnique( const CommandBufferAllocateInfo & allocateInfo, Dispatch const & d ) const
-  {
-    std::vector<UniqueHandle<CommandBuffer, Dispatch>, Allocator> uniqueCommandBuffers;
-    std::vector<CommandBuffer>                                    commandBuffers( allocateInfo.commandBufferCount );
-    Result                                                        result = static_cast<Result>(
-      d.vkAllocateCommandBuffers( m_device,
-                                  reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) );
-    if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
-    {
-      uniqueCommandBuffers.reserve( allocateInfo.commandBufferCount );
-      PoolFree<Device, CommandPool, Dispatch> deleter( *this, allocateInfo.commandPool, d );
-      for ( size_t i = 0; i < allocateInfo.commandBufferCount; i++ )
-      {
-        uniqueCommandBuffers.push_back( UniqueHandle<CommandBuffer, Dispatch>( commandBuffers[i], deleter ) );
-      }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>::type
+    Device::acquirePerformanceConfigurationINTEL(
+        const PerformanceConfigurationAcquireInfoINTEL &acquireInfo,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration;
+  Result result = static_cast<Result>(d.vkAcquirePerformanceConfigurationINTEL(
+      m_device,
+      reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>(
+          &acquireInfo),
+      reinterpret_cast<VkPerformanceConfigurationINTEL *>(&configuration)));
+  return createResultValue(result, configuration,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::acquirePerformanceConfigurationINTEL");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL, Dispatch>>::type
+    Device::acquirePerformanceConfigurationINTELUnique(
+        const PerformanceConfigurationAcquireInfoINTEL &acquireInfo,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration;
+  Result result = static_cast<Result>(d.vkAcquirePerformanceConfigurationINTEL(
+      m_device,
+      reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>(
+          &acquireInfo),
+      reinterpret_cast<VkPerformanceConfigurationINTEL *>(&configuration)));
+  ObjectRelease<Device, Dispatch> deleter(*this, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL,
+                           Dispatch>(
+      result, configuration,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::acquirePerformanceConfigurationINTELUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireProfilingLockKHR(
+    const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAcquireProfilingLockKHR(
+      m_device,
+      reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>(pInfo)));
+}
+
+#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 AcquireProfilingLockInfoKHR &info,
+                                    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkAcquireProfilingLockKHR(
+      m_device,
+      reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>(&info)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::acquireProfilingLockKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateCommandBuffers(
+    const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo *pAllocateInfo,
+    VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAllocateCommandBuffers(
+      m_device,
+      reinterpret_cast<const VkCommandBufferAllocateInfo *>(pAllocateInfo),
+      reinterpret_cast<VkCommandBuffer *>(pCommandBuffers)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename CommandBufferAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::vector<CommandBuffer, CommandBufferAllocator>>::type
+    Device::allocateCommandBuffers(
+        const CommandBufferAllocateInfo &allocateInfo,
+        Dispatch const &d) const {
+  std::vector<CommandBuffer, CommandBufferAllocator> commandBuffers(
+      allocateInfo.commandBufferCount);
+  Result result = static_cast<Result>(d.vkAllocateCommandBuffers(
+      m_device,
+      reinterpret_cast<const VkCommandBufferAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkCommandBuffer *>(commandBuffers.data())));
+  return createResultValue(result, commandBuffers,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateCommandBuffers");
+}
+
+template <
+    typename CommandBufferAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, CommandBuffer>::value, int>::type>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::vector<CommandBuffer, CommandBufferAllocator>>::type
+    Device::allocateCommandBuffers(
+        const CommandBufferAllocateInfo &allocateInfo,
+        CommandBufferAllocator &commandBufferAllocator,
+        Dispatch const &d) const {
+  std::vector<CommandBuffer, CommandBufferAllocator> commandBuffers(
+      allocateInfo.commandBufferCount, commandBufferAllocator);
+  Result result = static_cast<Result>(d.vkAllocateCommandBuffers(
+      m_device,
+      reinterpret_cast<const VkCommandBufferAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkCommandBuffer *>(commandBuffers.data())));
+  return createResultValue(result, commandBuffers,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateCommandBuffers");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch, typename CommandBufferAllocator>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<UniqueHandle<CommandBuffer, Dispatch>,
+                                         CommandBufferAllocator>>::type
+    Device::allocateCommandBuffersUnique(
+        const CommandBufferAllocateInfo &allocateInfo,
+        Dispatch const &d) const {
+  std::vector<UniqueHandle<CommandBuffer, Dispatch>, CommandBufferAllocator>
+      uniqueCommandBuffers;
+  std::vector<CommandBuffer> commandBuffers(allocateInfo.commandBufferCount);
+  Result result = static_cast<Result>(d.vkAllocateCommandBuffers(
+      m_device,
+      reinterpret_cast<const VkCommandBufferAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkCommandBuffer *>(commandBuffers.data())));
+  if (result == VULKAN_HPP_NAMESPACE::Result::eSuccess) {
+    uniqueCommandBuffers.reserve(allocateInfo.commandBufferCount);
+    PoolFree<Device, CommandPool, Dispatch> deleter(
+        *this, allocateInfo.commandPool, d);
+    for (size_t i = 0; i < allocateInfo.commandBufferCount; i++) {
+      uniqueCommandBuffers.push_back(
+          UniqueHandle<CommandBuffer, Dispatch>(commandBuffers[i], deleter));
     }
-
-    return createResultValue(
-      result, uniqueCommandBuffers, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" );
   }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<CommandBuffer, Dispatch>, Allocator>>::type
-    Device::allocateCommandBuffersUnique( const CommandBufferAllocateInfo & allocateInfo,
-                                          Allocator const &                 vectorAllocator,
-                                          Dispatch const &                  d ) const
-  {
-    std::vector<UniqueHandle<CommandBuffer, Dispatch>, Allocator> uniqueCommandBuffers( vectorAllocator );
-    std::vector<CommandBuffer>                                    commandBuffers( allocateInfo.commandBufferCount );
-    Result                                                        result = static_cast<Result>(
-      d.vkAllocateCommandBuffers( m_device,
-                                  reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) );
-    if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
-    {
-      uniqueCommandBuffers.reserve( allocateInfo.commandBufferCount );
-      PoolFree<Device, CommandPool, Dispatch> deleter( *this, allocateInfo.commandPool, d );
-      for ( size_t i = 0; i < allocateInfo.commandBufferCount; i++ )
-      {
-        uniqueCommandBuffers.push_back( UniqueHandle<CommandBuffer, Dispatch>( commandBuffers[i], deleter ) );
-      }
+  return createResultValue(result, std::move(uniqueCommandBuffers),
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateCommandBuffersUnique");
+}
+
+template <typename Dispatch, typename CommandBufferAllocator, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           UniqueHandle<CommandBuffer, Dispatch>>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<UniqueHandle<CommandBuffer, Dispatch>,
+                                         CommandBufferAllocator>>::type
+    Device::allocateCommandBuffersUnique(
+        const CommandBufferAllocateInfo &allocateInfo,
+        CommandBufferAllocator &commandBufferAllocator,
+        Dispatch const &d) const {
+  std::vector<UniqueHandle<CommandBuffer, Dispatch>, CommandBufferAllocator>
+      uniqueCommandBuffers(commandBufferAllocator);
+  std::vector<CommandBuffer> commandBuffers(allocateInfo.commandBufferCount);
+  Result result = static_cast<Result>(d.vkAllocateCommandBuffers(
+      m_device,
+      reinterpret_cast<const VkCommandBufferAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkCommandBuffer *>(commandBuffers.data())));
+  if (result == VULKAN_HPP_NAMESPACE::Result::eSuccess) {
+    uniqueCommandBuffers.reserve(allocateInfo.commandBufferCount);
+    PoolFree<Device, CommandPool, Dispatch> deleter(
+        *this, allocateInfo.commandPool, d);
+    for (size_t i = 0; i < allocateInfo.commandBufferCount; i++) {
+      uniqueCommandBuffers.push_back(
+          UniqueHandle<CommandBuffer, Dispatch>(commandBuffers[i], deleter));
     }
-
-    return createResultValue(
-      result, uniqueCommandBuffers, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" );
   }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+  return createResultValue(result, std::move(uniqueCommandBuffers),
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateCommandBuffersUnique");
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo * pAllocateInfo,
-                                    VULKAN_HPP_NAMESPACE::DescriptorSet *                   pDescriptorSets,
-                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkAllocateDescriptorSets( m_device,
-                                  reinterpret_cast<const VkDescriptorSetAllocateInfo *>( pAllocateInfo ),
-                                  reinterpret_cast<VkDescriptorSet *>( pDescriptorSets ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateDescriptorSets(
+    const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo *pAllocateInfo,
+    VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAllocateDescriptorSets(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetAllocateInfo *>(pAllocateInfo),
+      reinterpret_cast<VkDescriptorSet *>(pDescriptorSets)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DescriptorSet, Allocator>>::type
-    Device::allocateDescriptorSets( const DescriptorSetAllocateInfo & allocateInfo, Dispatch const & d ) const
-  {
-    std::vector<DescriptorSet, Allocator> descriptorSets( allocateInfo.descriptorSetCount );
-    Result                                result = static_cast<Result>(
-      d.vkAllocateDescriptorSets( m_device,
-                                  reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) );
-    return createResultValue( result, descriptorSets, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DescriptorSet, Allocator>>::type
-    Device::allocateDescriptorSets( const DescriptorSetAllocateInfo & allocateInfo,
-                                    Allocator const &                 vectorAllocator,
-                                    Dispatch const &                  d ) const
-  {
-    std::vector<DescriptorSet, Allocator> descriptorSets( allocateInfo.descriptorSetCount, vectorAllocator );
-    Result                                result = static_cast<Result>(
-      d.vkAllocateDescriptorSets( m_device,
-                                  reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) );
-    return createResultValue( result, descriptorSets, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<DescriptorSet, Dispatch>, Allocator>>::type
-    Device::allocateDescriptorSetsUnique( const DescriptorSetAllocateInfo & allocateInfo, Dispatch const & d ) const
-  {
-    std::vector<UniqueHandle<DescriptorSet, Dispatch>, Allocator> uniqueDescriptorSets;
-    std::vector<DescriptorSet>                                    descriptorSets( allocateInfo.descriptorSetCount );
-    Result                                                        result = static_cast<Result>(
-      d.vkAllocateDescriptorSets( m_device,
-                                  reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) );
-    if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
-    {
-      uniqueDescriptorSets.reserve( allocateInfo.descriptorSetCount );
-      PoolFree<Device, DescriptorPool, Dispatch> deleter( *this, allocateInfo.descriptorPool, d );
-      for ( size_t i = 0; i < allocateInfo.descriptorSetCount; i++ )
-      {
-        uniqueDescriptorSets.push_back( UniqueHandle<DescriptorSet, Dispatch>( descriptorSets[i], deleter ) );
-      }
+template <typename DescriptorSetAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::vector<DescriptorSet, DescriptorSetAllocator>>::type
+    Device::allocateDescriptorSets(
+        const DescriptorSetAllocateInfo &allocateInfo,
+        Dispatch const &d) const {
+  std::vector<DescriptorSet, DescriptorSetAllocator> descriptorSets(
+      allocateInfo.descriptorSetCount);
+  Result result = static_cast<Result>(d.vkAllocateDescriptorSets(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkDescriptorSet *>(descriptorSets.data())));
+  return createResultValue(result, descriptorSets,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateDescriptorSets");
+}
+
+template <
+    typename DescriptorSetAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, DescriptorSet>::value, int>::type>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::vector<DescriptorSet, DescriptorSetAllocator>>::type
+    Device::allocateDescriptorSets(
+        const DescriptorSetAllocateInfo &allocateInfo,
+        DescriptorSetAllocator &descriptorSetAllocator,
+        Dispatch const &d) const {
+  std::vector<DescriptorSet, DescriptorSetAllocator> descriptorSets(
+      allocateInfo.descriptorSetCount, descriptorSetAllocator);
+  Result result = static_cast<Result>(d.vkAllocateDescriptorSets(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkDescriptorSet *>(descriptorSets.data())));
+  return createResultValue(result, descriptorSets,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateDescriptorSets");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch, typename DescriptorSetAllocator>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<UniqueHandle<DescriptorSet, Dispatch>,
+                                         DescriptorSetAllocator>>::type
+    Device::allocateDescriptorSetsUnique(
+        const DescriptorSetAllocateInfo &allocateInfo,
+        Dispatch const &d) const {
+  std::vector<UniqueHandle<DescriptorSet, Dispatch>, DescriptorSetAllocator>
+      uniqueDescriptorSets;
+  std::vector<DescriptorSet> descriptorSets(allocateInfo.descriptorSetCount);
+  Result result = static_cast<Result>(d.vkAllocateDescriptorSets(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkDescriptorSet *>(descriptorSets.data())));
+  if (result == VULKAN_HPP_NAMESPACE::Result::eSuccess) {
+    uniqueDescriptorSets.reserve(allocateInfo.descriptorSetCount);
+    PoolFree<Device, DescriptorPool, Dispatch> deleter(
+        *this, allocateInfo.descriptorPool, d);
+    for (size_t i = 0; i < allocateInfo.descriptorSetCount; i++) {
+      uniqueDescriptorSets.push_back(
+          UniqueHandle<DescriptorSet, Dispatch>(descriptorSets[i], deleter));
     }
-
-    return createResultValue(
-      result, uniqueDescriptorSets, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" );
   }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<DescriptorSet, Dispatch>, Allocator>>::type
-    Device::allocateDescriptorSetsUnique( const DescriptorSetAllocateInfo & allocateInfo,
-                                          Allocator const &                 vectorAllocator,
-                                          Dispatch const &                  d ) const
-  {
-    std::vector<UniqueHandle<DescriptorSet, Dispatch>, Allocator> uniqueDescriptorSets( vectorAllocator );
-    std::vector<DescriptorSet>                                    descriptorSets( allocateInfo.descriptorSetCount );
-    Result                                                        result = static_cast<Result>(
-      d.vkAllocateDescriptorSets( m_device,
-                                  reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ),
-                                  reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) );
-    if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
-    {
-      uniqueDescriptorSets.reserve( allocateInfo.descriptorSetCount );
-      PoolFree<Device, DescriptorPool, Dispatch> deleter( *this, allocateInfo.descriptorPool, d );
-      for ( size_t i = 0; i < allocateInfo.descriptorSetCount; i++ )
-      {
-        uniqueDescriptorSets.push_back( UniqueHandle<DescriptorSet, Dispatch>( descriptorSets[i], deleter ) );
-      }
+  return createResultValue(result, std::move(uniqueDescriptorSets),
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateDescriptorSetsUnique");
+}
+
+template <typename Dispatch, typename DescriptorSetAllocator, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           UniqueHandle<DescriptorSet, Dispatch>>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<UniqueHandle<DescriptorSet, Dispatch>,
+                                         DescriptorSetAllocator>>::type
+    Device::allocateDescriptorSetsUnique(
+        const DescriptorSetAllocateInfo &allocateInfo,
+        DescriptorSetAllocator &descriptorSetAllocator,
+        Dispatch const &d) const {
+  std::vector<UniqueHandle<DescriptorSet, Dispatch>, DescriptorSetAllocator>
+      uniqueDescriptorSets(descriptorSetAllocator);
+  std::vector<DescriptorSet> descriptorSets(allocateInfo.descriptorSetCount);
+  Result result = static_cast<Result>(d.vkAllocateDescriptorSets(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<VkDescriptorSet *>(descriptorSets.data())));
+  if (result == VULKAN_HPP_NAMESPACE::Result::eSuccess) {
+    uniqueDescriptorSets.reserve(allocateInfo.descriptorSetCount);
+    PoolFree<Device, DescriptorPool, Dispatch> deleter(
+        *this, allocateInfo.descriptorPool, d);
+    for (size_t i = 0; i < allocateInfo.descriptorSetCount; i++) {
+      uniqueDescriptorSets.push_back(
+          UniqueHandle<DescriptorSet, Dispatch>(descriptorSets[i], deleter));
     }
-
-    return createResultValue(
-      result, uniqueDescriptorSets, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" );
   }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+  return createResultValue(result, std::move(uniqueDescriptorSets),
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::allocateDescriptorSetsUnique");
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::allocateMemory( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo *  pAllocateInfo,
-                                                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                   VULKAN_HPP_NAMESPACE::DeviceMemory *              pMemory,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkAllocateMemory( m_device,
-                                                    reinterpret_cast<const VkMemoryAllocateInfo *>( pAllocateInfo ),
-                                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                    reinterpret_cast<VkDeviceMemory *>( pMemory ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateMemory(
+    const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo *pAllocateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DeviceMemory *pMemory,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAllocateMemory(
+      m_device, reinterpret_cast<const VkMemoryAllocateInfo *>(pAllocateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDeviceMemory *>(pMemory)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceMemory>::type Device::allocateMemory(
-    const MemoryAllocateInfo & allocateInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DeviceMemory memory;
-    Result                             result = static_cast<Result>( d.vkAllocateMemory(
-      m_device,
-      reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDeviceMemory *>( &memory ) ) );
-    return createResultValue( result, memory, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemory" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DeviceMemory, Dispatch>>::type Device::allocateMemoryUnique(
-    const MemoryAllocateInfo & allocateInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DeviceMemory memory;
-    Result                             result = static_cast<Result>( d.vkAllocateMemory(
-      m_device,
-      reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDeviceMemory *>( &memory ) ) );
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceMemory>::type
+    Device::allocateMemory(const MemoryAllocateInfo &allocateInfo,
+                           Optional<const AllocationCallbacks> allocator,
+                           Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory;
+  Result result = static_cast<Result>(d.vkAllocateMemory(
+      m_device, reinterpret_cast<const VkMemoryAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDeviceMemory *>(&memory)));
+  return createResultValue(
+      result, memory, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemory");
+}
 
-    ObjectFree<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DeviceMemory, Dispatch>(
-      result, memory, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemoryUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::DeviceMemory, Dispatch>>::type
+    Device::allocateMemoryUnique(const MemoryAllocateInfo &allocateInfo,
+                                 Optional<const AllocationCallbacks> allocator,
+                                 Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DeviceMemory memory;
+  Result result = static_cast<Result>(d.vkAllocateMemory(
+      m_device, reinterpret_cast<const VkMemoryAllocateInfo *>(&allocateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDeviceMemory *>(&memory)));
+  ObjectFree<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DeviceMemory, Dispatch>(
+      result, memory,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemoryUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindAccelerationStructureMemoryKHR(
-    uint32_t                                                             bindInfoCount,
-    const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR * pBindInfos,
-    Dispatch const &                                                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBindAccelerationStructureMemoryKHR(
-      m_device, bindInfoCount, reinterpret_cast<const VkBindAccelerationStructureMemoryInfoKHR *>( pBindInfos ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindAccelerationStructureMemoryKHR(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR> const & bindInfos,
-    Dispatch const &                                                                       d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindAccelerationStructureMemoryKHR(
-      m_device,
-      bindInfos.size(),
-      reinterpret_cast<const VkBindAccelerationStructureMemoryInfoKHR *>( bindInfos.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::bindAccelerationStructureMemoryNV(
+    uint32_t bindInfoCount,
+    const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV
+        *pBindInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkBindAccelerationStructureMemoryNV(
+      m_device, bindInfoCount,
+      reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>(
+          pBindInfos)));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindAccelerationStructureMemoryNV(
-    uint32_t                                                             bindInfoCount,
-    const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR * pBindInfos,
-    Dispatch const &                                                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBindAccelerationStructureMemoryNV(
-      m_device, bindInfoCount, reinterpret_cast<const VkBindAccelerationStructureMemoryInfoKHR *>( pBindInfos ) ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindAccelerationStructureMemoryNV(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoKHR> const & bindInfos,
-    Dispatch const &                                                                       d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindAccelerationStructureMemoryNV(
-      m_device,
-      bindInfos.size(),
-      reinterpret_cast<const VkBindAccelerationStructureMemoryInfoKHR *>( bindInfos.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::bindAccelerationStructureMemoryNV(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                       BindAccelerationStructureMemoryInfoNV> const &bindInfos,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkBindAccelerationStructureMemoryNV(
+      m_device, bindInfos.size(),
+      reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>(
+          bindInfos.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::bindAccelerationStructureMemoryNV");
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindBufferMemory( VULKAN_HPP_NAMESPACE::Buffer       buffer,
-                                                     VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                                     VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
-                                                     Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBindBufferMemory( m_device,
-                                                      static_cast<VkBuffer>( buffer ),
-                                                      static_cast<VkDeviceMemory>( memory ),
-                                                      static_cast<VkDeviceSize>( memoryOffset ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::bindBufferMemory(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                         VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                         VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkBindBufferMemory(m_device, static_cast<VkBuffer>(buffer),
+                           static_cast<VkDeviceMemory>(memory),
+                           static_cast<VkDeviceSize>(memoryOffset)));
+}
 #else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindBufferMemory( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                              VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                              VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
-                              Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindBufferMemory( m_device,
-                                                               static_cast<VkBuffer>( buffer ),
-                                                               static_cast<VkDeviceMemory>( memory ),
-                                                               static_cast<VkDeviceSize>( memoryOffset ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindBufferMemory2( uint32_t                                           bindInfoCount,
-                                                      const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBindBufferMemory2(
-      m_device, bindInfoCount, reinterpret_cast<const VkBindBufferMemoryInfo *>( pBindInfos ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindBufferMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
-                               Dispatch const &                                                     d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindBufferMemory2(
-      m_device, bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindBufferMemory2KHR( uint32_t bindInfoCount,
-                                                         const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBindBufferMemory2KHR(
-      m_device, bindInfoCount, reinterpret_cast<const VkBindBufferMemoryInfo *>( pBindInfos ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindBufferMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
-                                  Dispatch const &                                                     d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindBufferMemory2KHR(
-      m_device, bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindImageMemory( VULKAN_HPP_NAMESPACE::Image        image,
-                                                    VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                                    VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
-                                                    Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBindImageMemory( 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::bindImageMemory( VULKAN_HPP_NAMESPACE::Image image,
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::bindBufferMemory(VULKAN_HPP_NAMESPACE::Buffer buffer,
                              VULKAN_HPP_NAMESPACE::DeviceMemory memory,
                              VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
-                             Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindImageMemory( m_device,
-                                                              static_cast<VkImage>( image ),
-                                                              static_cast<VkDeviceMemory>( memory ),
-                                                              static_cast<VkDeviceSize>( memoryOffset ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory" );
-  }
+                             Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkBindBufferMemory(m_device, static_cast<VkBuffer>(buffer),
+                           static_cast<VkDeviceMemory>(memory),
+                           static_cast<VkDeviceSize>(memoryOffset)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::bindBufferMemory");
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindImageMemory2( uint32_t                                          bindInfoCount,
-                                                     const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkBindImageMemory2( m_device, bindInfoCount, reinterpret_cast<const VkBindImageMemoryInfo *>( pBindInfos ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory2(
+    uint32_t bindInfoCount,
+    const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo *pBindInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkBindBufferMemory2(
+      m_device, bindInfoCount,
+      reinterpret_cast<const VkBindBufferMemoryInfo *>(pBindInfos)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindImageMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
-                              Dispatch const &                                                    d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindImageMemory2(
-      m_device, bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2" );
-  }
+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,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkBindBufferMemory2(
+      m_device, bindInfos.size(),
+      reinterpret_cast<const VkBindBufferMemoryInfo *>(bindInfos.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::bindBufferMemory2");
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::bindImageMemory2KHR( uint32_t                                          bindInfoCount,
-                                                        const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBindImageMemory2KHR(
-      m_device, bindInfoCount, reinterpret_cast<const VkBindImageMemoryInfo *>( pBindInfos ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory2KHR(
+    uint32_t bindInfoCount,
+    const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo *pBindInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkBindBufferMemory2KHR(
+      m_device, bindInfoCount,
+      reinterpret_cast<const VkBindBufferMemoryInfo *>(pBindInfos)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindImageMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
-                                 Dispatch const &                                                    d ) const
-  {
-    Result result = static_cast<Result>( d.vkBindImageMemory2KHR(
-      m_device, bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2KHR" );
-  }
+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,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkBindBufferMemory2KHR(
+      m_device, bindInfos.size(),
+      reinterpret_cast<const VkBindBufferMemoryInfo *>(bindInfos.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::bindBufferMemory2KHR");
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::buildAccelerationStructureKHR(
-    uint32_t                                                                      infoCount,
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR *       pInfos,
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const * ppOffsetInfos,
-    Dispatch const &                                                              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkBuildAccelerationStructureKHR(
-      m_device,
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::bindImageMemory(VULKAN_HPP_NAMESPACE::Image image,
+                        VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                        VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
+                        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkBindImageMemory(m_device, static_cast<VkImage>(image),
+                          static_cast<VkDeviceMemory>(memory),
+                          static_cast<VkDeviceSize>(memoryOffset)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::bindImageMemory(VULKAN_HPP_NAMESPACE::Image image,
+                            VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                            VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
+                            Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkBindImageMemory(m_device, static_cast<VkImage>(image),
+                          static_cast<VkDeviceMemory>(memory),
+                          static_cast<VkDeviceSize>(memoryOffset)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::bindImageMemory");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory2(
+    uint32_t bindInfoCount,
+    const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo *pBindInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkBindImageMemory2(
+      m_device, bindInfoCount,
+      reinterpret_cast<const VkBindImageMemoryInfo *>(pBindInfos)));
+}
+
+#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,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkBindImageMemory2(
+      m_device, bindInfos.size(),
+      reinterpret_cast<const VkBindImageMemoryInfo *>(bindInfos.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::bindImageMemory2");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory2KHR(
+    uint32_t bindInfoCount,
+    const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo *pBindInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkBindImageMemory2KHR(
+      m_device, bindInfoCount,
+      reinterpret_cast<const VkBindImageMemoryInfo *>(pBindInfos)));
+}
+
+#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,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkBindImageMemory2KHR(
+      m_device, bindInfos.size(),
+      reinterpret_cast<const VkBindImageMemoryInfo *>(bindInfos.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::bindImageMemory2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::buildAccelerationStructuresKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    uint32_t infoCount,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+        *pInfos,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const
+        *ppBuildRangeInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkBuildAccelerationStructuresKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
       infoCount,
-      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( pInfos ),
-      reinterpret_cast<const VkAccelerationStructureBuildOffsetInfoKHR * const *>( ppOffsetInfos ) ) );
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          pInfos),
+      reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *const *>(
+          ppBuildRangeInfos)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Result Device::buildAccelerationStructuresKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::
+                   AccelerationStructureBuildGeometryInfoKHR> const &infos,
+    ArrayProxy<
+        const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR
+            *const> const &pBuildRangeInfos,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(infos.size() == pBuildRangeInfos.size());
+#else
+  if (infos.size() != pBuildRangeInfos.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::Device::buildAccelerationStructuresKHR: infos.size() "
+                     "!= pBuildRangeInfos.size()");
   }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::buildAccelerationStructureKHR(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &       infos,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildOffsetInfoKHR * const> const & pOffsetInfos,
-    Dispatch const &                                                                                d ) const
-  {
-#    ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( infos.size() == pOffsetInfos.size() );
-#    else
-    if ( infos.size() != pOffsetInfos.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkDevice::buildAccelerationStructureKHR: infos.size() != pOffsetInfos.size()" );
-    }
-#    endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    Result result = static_cast<Result>( d.vkBuildAccelerationStructureKHR(
-      m_device,
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  Result result = static_cast<Result>(d.vkBuildAccelerationStructuresKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
       infos.size(),
-      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ),
-      reinterpret_cast<const VkAccelerationStructureBuildOffsetInfoKHR * const *>( pOffsetInfos.data() ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructureKHR",
-                              { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                      uint32_t                       shader,
-                                                      Dispatch const &               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCompileDeferredNV( m_device, static_cast<VkPipeline>( pipeline ), shader ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader, Dispatch const & d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkCompileDeferredNV( m_device, static_cast<VkPipeline>( pipeline ), shader ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::compileDeferredNV" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::copyAccelerationStructureKHR(
-    const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCopyAccelerationStructureKHR(
-      m_device, reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( pInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::copyAccelerationStructureKHR( const CopyAccelerationStructureInfoKHR & info,
-                                                                 Dispatch const &                         d ) const
-  {
-    Result result = static_cast<Result>( d.vkCopyAccelerationStructureKHR(
-      m_device, reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR",
-                              { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::copyAccelerationStructureToMemoryKHR(
-    const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,
-    Dispatch const &                                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCopyAccelerationStructureToMemoryKHR(
-      m_device, reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( pInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::copyAccelerationStructureToMemoryKHR(
-    const CopyAccelerationStructureToMemoryInfoKHR & info, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkCopyAccelerationStructureToMemoryKHR(
-      m_device, reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR",
-                              { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::copyMemoryToAccelerationStructureKHR(
-    const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,
-    Dispatch const &                                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCopyMemoryToAccelerationStructureKHR(
-      m_device, reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( pInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::copyMemoryToAccelerationStructureKHR(
-    const CopyMemoryToAccelerationStructureInfoKHR & info, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkCopyMemoryToAccelerationStructureKHR(
-      m_device, reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR",
-                              { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createAccelerationStructureKHR(
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR * pCreateInfo,
-    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR *                 pAccelerationStructure,
-    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateAccelerationStructureKHR( m_device,
-                                          reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( pCreateInfo ),
-                                          reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                          reinterpret_cast<VkAccelerationStructureKHR *>( pAccelerationStructure ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>::type
-    Device::createAccelerationStructureKHR( const AccelerationStructureCreateInfoKHR & createInfo,
-                                            Optional<const AllocationCallbacks>        allocator,
-                                            Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure;
-    Result                                         result = static_cast<Result>( d.vkCreateAccelerationStructureKHR(
-      m_device,
-      reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkAccelerationStructureKHR *>( &accelerationStructure ) ) );
-    return createResultValue(
-      result, accelerationStructure, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureKHR" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<AccelerationStructureKHR, Dispatch>>::type
-    Device::createAccelerationStructureKHRUnique( const AccelerationStructureCreateInfoKHR & createInfo,
-                                                  Optional<const AllocationCallbacks>        allocator,
-                                                  Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure;
-    Result                                         result = static_cast<Result>( d.vkCreateAccelerationStructureKHR(
-      m_device,
-      reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkAccelerationStructureKHR *>( &accelerationStructure ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<AccelerationStructureKHR, Dispatch>( result,
-                                                                  accelerationStructure,
-                                                                  VULKAN_HPP_NAMESPACE_STRING
-                                                                  "::Device::createAccelerationStructureKHRUnique",
-                                                                  deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV * pCreateInfo,
-                                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks *               pAllocator,
-                                           VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructure,
-                                           Dispatch const &                                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateAccelerationStructureNV( m_device,
-                                         reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( pCreateInfo ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                         reinterpret_cast<VkAccelerationStructureNV *>( pAccelerationStructure ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::type
-    Device::createAccelerationStructureNV( const AccelerationStructureCreateInfoNV & createInfo,
-                                           Optional<const AllocationCallbacks>       allocator,
-                                           Dispatch const &                          d ) const
-  {
-    VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure;
-    Result                                        result = static_cast<Result>( d.vkCreateAccelerationStructureNV(
-      m_device,
-      reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkAccelerationStructureNV *>( &accelerationStructure ) ) );
-    return createResultValue(
-      result, accelerationStructure, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureNV" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<AccelerationStructureNV, Dispatch>>::type
-    Device::createAccelerationStructureNVUnique( const AccelerationStructureCreateInfoNV & createInfo,
-                                                 Optional<const AllocationCallbacks>       allocator,
-                                                 Dispatch const &                          d ) const
-  {
-    VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure;
-    Result                                        result = static_cast<Result>( d.vkCreateAccelerationStructureNV(
-      m_device,
-      reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkAccelerationStructureNV *>( &accelerationStructure ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<AccelerationStructureNV, Dispatch>( result,
-                                                                 accelerationStructure,
-                                                                 VULKAN_HPP_NAMESPACE_STRING
-                                                                 "::Device::createAccelerationStructureNVUnique",
-                                                                 deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createBuffer( const VULKAN_HPP_NAMESPACE::BufferCreateInfo *    pCreateInfo,
-                                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                 VULKAN_HPP_NAMESPACE::Buffer *                    pBuffer,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateBuffer( m_device,
-                                                  reinterpret_cast<const VkBufferCreateInfo *>( pCreateInfo ),
-                                                  reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                  reinterpret_cast<VkBuffer *>( pBuffer ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Buffer>::type Device::createBuffer(
-    const BufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Buffer buffer;
-    Result                       result = static_cast<Result>( d.vkCreateBuffer(
-      m_device,
-      reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkBuffer *>( &buffer ) ) );
-    return createResultValue( result, buffer, VULKAN_HPP_NAMESPACE_STRING "::Device::createBuffer" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Buffer, Dispatch>>::type Device::createBufferUnique(
-    const BufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Buffer buffer;
-    Result                       result = static_cast<Result>( d.vkCreateBuffer(
-      m_device,
-      reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkBuffer *>( &buffer ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Buffer, Dispatch>(
-      result, buffer, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createBufferCollectionFUCHSIA( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA * pImportInfo,
-                                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks *               pAllocator,
-                                           VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA *                 pCollection,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateBufferCollectionFUCHSIA( m_device,
-                                         reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( pImportInfo ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                         reinterpret_cast<VkBufferCollectionFUCHSIA *>( pCollection ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>::type
-    Device::createBufferCollectionFUCHSIA( const BufferCollectionCreateInfoFUCHSIA & importInfo,
-                                           Optional<const AllocationCallbacks>       allocator,
-                                           Dispatch const &                          d ) const
-  {
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection;
-    Result                                        result = static_cast<Result>( d.vkCreateBufferCollectionFUCHSIA(
-      m_device,
-      reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( &importInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkBufferCollectionFUCHSIA *>( &collection ) ) );
-    return createResultValue(
-      result, collection, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIA" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<BufferCollectionFUCHSIA, Dispatch>>::type
-    Device::createBufferCollectionFUCHSIAUnique( const BufferCollectionCreateInfoFUCHSIA & importInfo,
-                                                 Optional<const AllocationCallbacks>       allocator,
-                                                 Dispatch const &                          d ) const
-  {
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection;
-    Result                                        result = static_cast<Result>( d.vkCreateBufferCollectionFUCHSIA(
-      m_device,
-      reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( &importInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkBufferCollectionFUCHSIA *>( &collection ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<BufferCollectionFUCHSIA, Dispatch>(
-      result, collection, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIAUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_FUCHSIA*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createBufferView( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo * pCreateInfo,
-                                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *  pAllocator,
-                                                     VULKAN_HPP_NAMESPACE::BufferView *                 pView,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateBufferView( m_device,
-                                                      reinterpret_cast<const VkBufferViewCreateInfo *>( pCreateInfo ),
-                                                      reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                      reinterpret_cast<VkBufferView *>( pView ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferView>::type Device::createBufferView(
-    const BufferViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::BufferView view;
-    Result                           result = static_cast<Result>( d.vkCreateBufferView(
-      m_device,
-      reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkBufferView *>( &view ) ) );
-    return createResultValue( result, view, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferView" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<BufferView, Dispatch>>::type Device::createBufferViewUnique(
-    const BufferViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::BufferView view;
-    Result                           result = static_cast<Result>( d.vkCreateBufferView(
-      m_device,
-      reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkBufferView *>( &view ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<BufferView, Dispatch>(
-      result, view, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferViewUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createCommandPool( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo * pCreateInfo,
-                                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                                                      VULKAN_HPP_NAMESPACE::CommandPool *                 pCommandPool,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateCommandPool( m_device,
-                                                       reinterpret_cast<const VkCommandPoolCreateInfo *>( pCreateInfo ),
-                                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                       reinterpret_cast<VkCommandPool *>( pCommandPool ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::CommandPool>::type Device::createCommandPool(
-    const CommandPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::CommandPool commandPool;
-    Result                            result = static_cast<Result>( d.vkCreateCommandPool(
-      m_device,
-      reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkCommandPool *>( &commandPool ) ) );
-    return createResultValue( result, commandPool, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPool" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<CommandPool, Dispatch>>::type Device::createCommandPoolUnique(
-    const CommandPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::CommandPool commandPool;
-    Result                            result = static_cast<Result>( d.vkCreateCommandPool(
-      m_device,
-      reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkCommandPool *>( &commandPool ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<CommandPool, Dispatch>(
-      result, commandPool, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPoolUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache                     pipelineCache,
-                                    uint32_t                                                createInfoCount,
-                                    const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfos,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                    VULKAN_HPP_NAMESPACE::Pipeline *                        pPipelines,
-                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateComputePipelines( m_device,
-                                  static_cast<VkPipelineCache>( pipelineCache ),
-                                  createInfoCount,
-                                  reinterpret_cast<const VkComputePipelineCreateInfo *>( pCreateInfos ),
-                                  reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                  reinterpret_cast<VkPipeline *>( pPipelines ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createComputePipelines(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-    Optional<const AllocationCallbacks>                                       allocator,
-    Dispatch const &                                                          d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size() );
-    Result                           result = static_cast<Result>( d.vkCreateComputePipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createComputePipelines(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-    Optional<const AllocationCallbacks>                                       allocator,
-    Allocator const &                                                         vectorAllocator,
-    Dispatch const &                                                          d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size(), vectorAllocator );
-    Result                           result = static_cast<Result>( d.vkCreateComputePipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<Pipeline>
-                    Device::createComputePipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                   const ComputePipelineCreateInfo &   createInfo,
-                                   Optional<const AllocationCallbacks> allocator,
-                                   Dispatch const &                    d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateComputePipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-    return createResultValue( result,
-                              pipeline,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipeline",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createComputePipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                       allocator,
-      Dispatch const &                                                          d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines;
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result                                                   result = static_cast<Result>( d.vkCreateComputePipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          infos.data()),
+      reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *const *>(
+          pBuildRangeInfos.data())));
+  return createResultValue(
       result,
-      uniquePipelines,
-      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique",
-      { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createComputePipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                       pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                       allocator,
-      Allocator const &                                                         vectorAllocator,
-      Dispatch const &                                                          d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines( vectorAllocator );
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result                                                   result = static_cast<Result>( d.vkCreateComputePipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
-      result,
-      uniquePipelines,
-      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique",
-      { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-                    Device::createComputePipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                         const ComputePipelineCreateInfo &   createInfo,
-                                         Optional<const AllocationCallbacks> allocator,
-                                         Dispatch const &                    d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateComputePipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Pipeline, Dispatch>( result,
-                                                  pipeline,
-                                                  VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelineUnique",
-                                                  { Result::eSuccess, Result::ePipelineCompileRequiredEXT },
-                                                  deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createDeferredOperationKHR( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                        VULKAN_HPP_NAMESPACE::DeferredOperationKHR *      pDeferredOperation,
-                                        Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDeferredOperationKHR( m_device,
-                                      reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                      reinterpret_cast<VkDeferredOperationKHR *>( pDeferredOperation ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::type
-    Device::createDeferredOperationKHR( Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation;
-    Result                                     result = static_cast<Result>( d.vkCreateDeferredOperationKHR(
-      m_device,
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDeferredOperationKHR *>( &deferredOperation ) ) );
-    return createResultValue(
-      result, deferredOperation, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHR" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DeferredOperationKHR, Dispatch>>::type
-    Device::createDeferredOperationKHRUnique( Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation;
-    Result                                     result = static_cast<Result>( d.vkCreateDeferredOperationKHR(
-      m_device,
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDeferredOperationKHR *>( &deferredOperation ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DeferredOperationKHR, Dispatch>(
-      result, deferredOperation, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHRUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createDescriptorPool( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo * pCreateInfo,
-                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                  VULKAN_HPP_NAMESPACE::DescriptorPool *                 pDescriptorPool,
-                                  Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDescriptorPool( m_device,
-                                reinterpret_cast<const VkDescriptorPoolCreateInfo *>( pCreateInfo ),
-                                reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                reinterpret_cast<VkDescriptorPool *>( pDescriptorPool ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorPool>::type
-    Device::createDescriptorPool( const DescriptorPoolCreateInfo &    createInfo,
-                                  Optional<const AllocationCallbacks> allocator,
-                                  Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool;
-    Result                               result = static_cast<Result>( d.vkCreateDescriptorPool(
-      m_device,
-      reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorPool *>( &descriptorPool ) ) );
-    return createResultValue( result, descriptorPool, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPool" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DescriptorPool, Dispatch>>::type
-    Device::createDescriptorPoolUnique( const DescriptorPoolCreateInfo &    createInfo,
-                                        Optional<const AllocationCallbacks> allocator,
-                                        Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool;
-    Result                               result = static_cast<Result>( d.vkCreateDescriptorPool(
-      m_device,
-      reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorPool *>( &descriptorPool ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DescriptorPool, Dispatch>(
-      result, descriptorPool, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPoolUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createDescriptorSetLayout( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks *           pAllocator,
-                                       VULKAN_HPP_NAMESPACE::DescriptorSetLayout *                 pSetLayout,
-                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDescriptorSetLayout( m_device,
-                                     reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( pCreateInfo ),
-                                     reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                     reinterpret_cast<VkDescriptorSetLayout *>( pSetLayout ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>::type
-    Device::createDescriptorSetLayout( const DescriptorSetLayoutCreateInfo & createInfo,
-                                       Optional<const AllocationCallbacks>   allocator,
-                                       Dispatch const &                      d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout;
-    Result                                    result = static_cast<Result>( d.vkCreateDescriptorSetLayout(
-      m_device,
-      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorSetLayout *>( &setLayout ) ) );
-    return createResultValue( result, setLayout, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayout" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DescriptorSetLayout, Dispatch>>::type
-    Device::createDescriptorSetLayoutUnique( const DescriptorSetLayoutCreateInfo & createInfo,
-                                             Optional<const AllocationCallbacks>   allocator,
-                                             Dispatch const &                      d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout;
-    Result                                    result = static_cast<Result>( d.vkCreateDescriptorSetLayout(
-      m_device,
-      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorSetLayout *>( &setLayout ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DescriptorSetLayout, Dispatch>(
-      result, setLayout, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayoutUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createDescriptorUpdateTemplate(
-    const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,
-    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate *                 pDescriptorUpdateTemplate,
-    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateDescriptorUpdateTemplate(
-      m_device,
-      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( pCreateInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-      reinterpret_cast<VkDescriptorUpdateTemplate *>( pDescriptorUpdateTemplate ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
-    Device::createDescriptorUpdateTemplate( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                            Optional<const AllocationCallbacks>        allocator,
-                                            Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
-    Result                                         result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplate(
-      m_device,
-      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) );
-    return createResultValue(
-      result, descriptorUpdateTemplate, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplate" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DescriptorUpdateTemplate, Dispatch>>::type
-    Device::createDescriptorUpdateTemplateUnique( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                                  Optional<const AllocationCallbacks>        allocator,
-                                                  Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
-    Result                                         result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplate(
-      m_device,
-      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DescriptorUpdateTemplate, Dispatch>( result,
-                                                                  descriptorUpdateTemplate,
-                                                                  VULKAN_HPP_NAMESPACE_STRING
-                                                                  "::Device::createDescriptorUpdateTemplateUnique",
-                                                                  deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createDescriptorUpdateTemplateKHR(
-    const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,
-    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate *                 pDescriptorUpdateTemplate,
-    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateDescriptorUpdateTemplateKHR(
-      m_device,
-      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( pCreateInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-      reinterpret_cast<VkDescriptorUpdateTemplate *>( pDescriptorUpdateTemplate ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
-    Device::createDescriptorUpdateTemplateKHR( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                               Optional<const AllocationCallbacks>        allocator,
-                                               Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
-    Result                                         result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplateKHR(
-      m_device,
-      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) );
-    return createResultValue(
-      result, descriptorUpdateTemplate, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHR" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DescriptorUpdateTemplate, Dispatch>>::type
-    Device::createDescriptorUpdateTemplateKHRUnique( const DescriptorUpdateTemplateCreateInfo & createInfo,
-                                                     Optional<const AllocationCallbacks>        allocator,
-                                                     Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
-    Result                                         result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplateKHR(
-      m_device,
-      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DescriptorUpdateTemplate, Dispatch>( result,
-                                                                  descriptorUpdateTemplate,
-                                                                  VULKAN_HPP_NAMESPACE_STRING
-                                                                  "::Device::createDescriptorUpdateTemplateKHRUnique",
-                                                                  deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createEvent( const VULKAN_HPP_NAMESPACE::EventCreateInfo *     pCreateInfo,
-                                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                VULKAN_HPP_NAMESPACE::Event *                     pEvent,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateEvent( m_device,
-                                                 reinterpret_cast<const VkEventCreateInfo *>( pCreateInfo ),
-                                                 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                 reinterpret_cast<VkEvent *>( pEvent ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Event>::type Device::createEvent(
-    const EventCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Event event;
-    Result                      result = static_cast<Result>( d.vkCreateEvent(
-      m_device,
-      reinterpret_cast<const VkEventCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkEvent *>( &event ) ) );
-    return createResultValue( result, event, VULKAN_HPP_NAMESPACE_STRING "::Device::createEvent" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Event, Dispatch>>::type Device::createEventUnique(
-    const EventCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Event event;
-    Result                      result = static_cast<Result>( d.vkCreateEvent(
-      m_device,
-      reinterpret_cast<const VkEventCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkEvent *>( &event ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Event, Dispatch>(
-      result, event, VULKAN_HPP_NAMESPACE_STRING "::Device::createEventUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createFence( const VULKAN_HPP_NAMESPACE::FenceCreateInfo *     pCreateInfo,
-                                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                VULKAN_HPP_NAMESPACE::Fence *                     pFence,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateFence( m_device,
-                                                 reinterpret_cast<const VkFenceCreateInfo *>( pCreateInfo ),
-                                                 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                 reinterpret_cast<VkFence *>( pFence ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type Device::createFence(
-    const FenceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Fence fence;
-    Result                      result = static_cast<Result>( d.vkCreateFence(
-      m_device,
-      reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFence *>( &fence ) ) );
-    return createResultValue( result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::createFence" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Fence, Dispatch>>::type Device::createFenceUnique(
-    const FenceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Fence fence;
-    Result                      result = static_cast<Result>( d.vkCreateFence(
-      m_device,
-      reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFence *>( &fence ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Fence, Dispatch>(
-      result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::createFenceUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createFramebuffer( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo * pCreateInfo,
-                                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                                                      VULKAN_HPP_NAMESPACE::Framebuffer *                 pFramebuffer,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateFramebuffer( m_device,
-                                                       reinterpret_cast<const VkFramebufferCreateInfo *>( pCreateInfo ),
-                                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                       reinterpret_cast<VkFramebuffer *>( pFramebuffer ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Framebuffer>::type Device::createFramebuffer(
-    const FramebufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Framebuffer framebuffer;
-    Result                            result = static_cast<Result>( d.vkCreateFramebuffer(
-      m_device,
-      reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFramebuffer *>( &framebuffer ) ) );
-    return createResultValue( result, framebuffer, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebuffer" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Framebuffer, Dispatch>>::type Device::createFramebufferUnique(
-    const FramebufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Framebuffer framebuffer;
-    Result                            result = static_cast<Result>( d.vkCreateFramebuffer(
-      m_device,
-      reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFramebuffer *>( &framebuffer ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Framebuffer, Dispatch>(
-      result, framebuffer, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebufferUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache                      pipelineCache,
-                                     uint32_t                                                 createInfoCount,
-                                     const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo * pCreateInfos,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *        pAllocator,
-                                     VULKAN_HPP_NAMESPACE::Pipeline *                         pPipelines,
-                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateGraphicsPipelines( m_device,
-                                   static_cast<VkPipelineCache>( pipelineCache ),
-                                   createInfoCount,
-                                   reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( pCreateInfos ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                   reinterpret_cast<VkPipeline *>( pPipelines ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createGraphicsPipelines(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-    Optional<const AllocationCallbacks>                                        allocator,
-    Dispatch const &                                                           d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size() );
-    Result                           result = static_cast<Result>( d.vkCreateGraphicsPipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createGraphicsPipelines(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-    Optional<const AllocationCallbacks>                                        allocator,
-    Allocator const &                                                          vectorAllocator,
-    Dispatch const &                                                           d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size(), vectorAllocator );
-    Result                           result = static_cast<Result>( d.vkCreateGraphicsPipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<Pipeline>
-                    Device::createGraphicsPipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                    const GraphicsPipelineCreateInfo &  createInfo,
-                                    Optional<const AllocationCallbacks> allocator,
-                                    Dispatch const &                    d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateGraphicsPipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-    return createResultValue( result,
-                              pipeline,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipeline",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createGraphicsPipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                        allocator,
-      Dispatch const &                                                           d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines;
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result                                                   result = static_cast<Result>( d.vkCreateGraphicsPipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
-      result,
-      uniquePipelines,
-      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique",
-      { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createGraphicsPipelinesUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                        pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,
-      Optional<const AllocationCallbacks>                                        allocator,
-      Allocator const &                                                          vectorAllocator,
-      Dispatch const &                                                           d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines( vectorAllocator );
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result                                                   result = static_cast<Result>( d.vkCreateGraphicsPipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
-      result,
-      uniquePipelines,
-      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique",
-      { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-                    Device::createGraphicsPipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                          const GraphicsPipelineCreateInfo &  createInfo,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateGraphicsPipelines(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Pipeline, Dispatch>( result,
-                                                  pipeline,
-                                                  VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelineUnique",
-                                                  { Result::eSuccess, Result::ePipelineCompileRequiredEXT },
-                                                  deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createImage( const VULKAN_HPP_NAMESPACE::ImageCreateInfo *     pCreateInfo,
-                                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                VULKAN_HPP_NAMESPACE::Image *                     pImage,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateImage( m_device,
-                                                 reinterpret_cast<const VkImageCreateInfo *>( pCreateInfo ),
-                                                 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                 reinterpret_cast<VkImage *>( pImage ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Image>::type Device::createImage(
-    const ImageCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Image image;
-    Result                      result = static_cast<Result>( d.vkCreateImage(
-      m_device,
-      reinterpret_cast<const VkImageCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkImage *>( &image ) ) );
-    return createResultValue( result, image, VULKAN_HPP_NAMESPACE_STRING "::Device::createImage" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Image, Dispatch>>::type Device::createImageUnique(
-    const ImageCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Image image;
-    Result                      result = static_cast<Result>( d.vkCreateImage(
-      m_device,
-      reinterpret_cast<const VkImageCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkImage *>( &image ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Image, Dispatch>(
-      result, image, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createImageView( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo * pCreateInfo,
-                                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                    VULKAN_HPP_NAMESPACE::ImageView *                 pView,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateImageView( m_device,
-                                                     reinterpret_cast<const VkImageViewCreateInfo *>( pCreateInfo ),
-                                                     reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                     reinterpret_cast<VkImageView *>( pView ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageView>::type Device::createImageView(
-    const ImageViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ImageView view;
-    Result                          result = static_cast<Result>( d.vkCreateImageView(
-      m_device,
-      reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkImageView *>( &view ) ) );
-    return createResultValue( result, view, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageView" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<ImageView, Dispatch>>::type Device::createImageViewUnique(
-    const ImageViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ImageView view;
-    Result                          result = static_cast<Result>( d.vkCreateImageView(
-      m_device,
-      reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkImageView *>( &view ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<ImageView, Dispatch>(
-      result, view, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageViewUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createIndirectCommandsLayoutNV(
-    const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV * pCreateInfo,
-    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
-    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV *                 pIndirectCommandsLayout,
-    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateIndirectCommandsLayoutNV( m_device,
-                                          reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( pCreateInfo ),
-                                          reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                          reinterpret_cast<VkIndirectCommandsLayoutNV *>( pIndirectCommandsLayout ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>::type
-    Device::createIndirectCommandsLayoutNV( const IndirectCommandsLayoutCreateInfoNV & createInfo,
-                                            Optional<const AllocationCallbacks>        allocator,
-                                            Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout;
-    Result                                         result = static_cast<Result>( d.vkCreateIndirectCommandsLayoutNV(
-      m_device,
-      reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkIndirectCommandsLayoutNV *>( &indirectCommandsLayout ) ) );
-    return createResultValue(
-      result, indirectCommandsLayout, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNV" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<IndirectCommandsLayoutNV, Dispatch>>::type
-    Device::createIndirectCommandsLayoutNVUnique( const IndirectCommandsLayoutCreateInfoNV & createInfo,
-                                                  Optional<const AllocationCallbacks>        allocator,
-                                                  Dispatch const &                           d ) const
-  {
-    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout;
-    Result                                         result = static_cast<Result>( d.vkCreateIndirectCommandsLayoutNV(
-      m_device,
-      reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkIndirectCommandsLayoutNV *>( &indirectCommandsLayout ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<IndirectCommandsLayoutNV, Dispatch>( result,
-                                                                  indirectCommandsLayout,
-                                                                  VULKAN_HPP_NAMESPACE_STRING
-                                                                  "::Device::createIndirectCommandsLayoutNVUnique",
-                                                                  deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createPipelineCache( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo * pCreateInfo,
-                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks *     pAllocator,
-                                 VULKAN_HPP_NAMESPACE::PipelineCache *                 pPipelineCache,
-                                 Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreatePipelineCache( m_device,
-                               reinterpret_cast<const VkPipelineCacheCreateInfo *>( pCreateInfo ),
-                               reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                               reinterpret_cast<VkPipelineCache *>( pPipelineCache ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineCache>::type
-    Device::createPipelineCache( const PipelineCacheCreateInfo &     createInfo,
-                                 Optional<const AllocationCallbacks> allocator,
-                                 Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache;
-    Result                              result = static_cast<Result>( d.vkCreatePipelineCache(
-      m_device,
-      reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipelineCache *>( &pipelineCache ) ) );
-    return createResultValue( result, pipelineCache, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCache" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<PipelineCache, Dispatch>>::type
-    Device::createPipelineCacheUnique( const PipelineCacheCreateInfo &     createInfo,
-                                       Optional<const AllocationCallbacks> allocator,
-                                       Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache;
-    Result                              result = static_cast<Result>( d.vkCreatePipelineCache(
-      m_device,
-      reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipelineCache *>( &pipelineCache ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<PipelineCache, Dispatch>(
-      result, pipelineCache, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCacheUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createPipelineLayout( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo * pCreateInfo,
-                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                  VULKAN_HPP_NAMESPACE::PipelineLayout *                 pPipelineLayout,
-                                  Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreatePipelineLayout( m_device,
-                                reinterpret_cast<const VkPipelineLayoutCreateInfo *>( pCreateInfo ),
-                                reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                reinterpret_cast<VkPipelineLayout *>( pPipelineLayout ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineLayout>::type
-    Device::createPipelineLayout( const PipelineLayoutCreateInfo &    createInfo,
-                                  Optional<const AllocationCallbacks> allocator,
-                                  Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout;
-    Result                               result = static_cast<Result>( d.vkCreatePipelineLayout(
-      m_device,
-      reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipelineLayout *>( &pipelineLayout ) ) );
-    return createResultValue( result, pipelineLayout, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayout" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<PipelineLayout, Dispatch>>::type
-    Device::createPipelineLayoutUnique( const PipelineLayoutCreateInfo &    createInfo,
-                                        Optional<const AllocationCallbacks> allocator,
-                                        Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout;
-    Result                               result = static_cast<Result>( d.vkCreatePipelineLayout(
-      m_device,
-      reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipelineLayout *>( &pipelineLayout ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<PipelineLayout, Dispatch>(
-      result, pipelineLayout, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayoutUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createPrivateDataSlotEXT( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT * pCreateInfo,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT *                 pPrivateDataSlot,
-                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreatePrivateDataSlotEXT( m_device,
-                                    reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>( pCreateInfo ),
-                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                    reinterpret_cast<VkPrivateDataSlotEXT *>( pPrivateDataSlot ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>::type
-    Device::createPrivateDataSlotEXT( const PrivateDataSlotCreateInfoEXT & createInfo,
-                                      Optional<const AllocationCallbacks>  allocator,
-                                      Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot;
-    Result                                   result = static_cast<Result>( d.vkCreatePrivateDataSlotEXT(
-      m_device,
-      reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPrivateDataSlotEXT *>( &privateDataSlot ) ) );
-    return createResultValue(
-      result, privateDataSlot, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXT" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<PrivateDataSlotEXT, Dispatch>>::type
-    Device::createPrivateDataSlotEXTUnique( const PrivateDataSlotCreateInfoEXT & createInfo,
-                                            Optional<const AllocationCallbacks>  allocator,
-                                            Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot;
-    Result                                   result = static_cast<Result>( d.vkCreatePrivateDataSlotEXT(
-      m_device,
-      reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPrivateDataSlotEXT *>( &privateDataSlot ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<PrivateDataSlotEXT, Dispatch>(
-      result, privateDataSlot, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXTUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createQueryPool( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo * pCreateInfo,
-                                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                    VULKAN_HPP_NAMESPACE::QueryPool *                 pQueryPool,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateQueryPool( m_device,
-                                                     reinterpret_cast<const VkQueryPoolCreateInfo *>( pCreateInfo ),
-                                                     reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                     reinterpret_cast<VkQueryPool *>( pQueryPool ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::QueryPool>::type Device::createQueryPool(
-    const QueryPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::QueryPool queryPool;
-    Result                          result = static_cast<Result>( d.vkCreateQueryPool(
-      m_device,
-      reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkQueryPool *>( &queryPool ) ) );
-    return createResultValue( result, queryPool, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPool" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<QueryPool, Dispatch>>::type Device::createQueryPoolUnique(
-    const QueryPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::QueryPool queryPool;
-    Result                          result = static_cast<Result>( d.vkCreateQueryPool(
-      m_device,
-      reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkQueryPool *>( &queryPool ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<QueryPool, Dispatch>(
-      result, queryPool, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPoolUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::PipelineCache                           pipelineCache,
-                                          uint32_t                                                      createInfoCount,
-                                          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks *             pAllocator,
-                                          VULKAN_HPP_NAMESPACE::Pipeline *                              pPipelines,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateRayTracingPipelinesKHR( m_device,
-                                        static_cast<VkPipelineCache>( pipelineCache ),
-                                        createInfoCount,
-                                        reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( pCreateInfos ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                        reinterpret_cast<VkPipeline *>( pPipelines ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createRayTracingPipelinesKHR(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-    Optional<const AllocationCallbacks>                                             allocator,
-    Dispatch const &                                                                d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size() );
-    Result                           result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
-                              { Result::eSuccess,
-                                Result::eOperationDeferredKHR,
-                                Result::eOperationNotDeferredKHR,
-                                Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createRayTracingPipelinesKHR(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-    Optional<const AllocationCallbacks>                                             allocator,
-    Allocator const &                                                               vectorAllocator,
-    Dispatch const &                                                                d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size(), vectorAllocator );
-    Result                           result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
-                              { Result::eSuccess,
-                                Result::eOperationDeferredKHR,
-                                Result::eOperationNotDeferredKHR,
-                                Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<Pipeline>
-                    Device::createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::PipelineCache     pipelineCache,
-                                         const RayTracingPipelineCreateInfoKHR & createInfo,
-                                         Optional<const AllocationCallbacks>     allocator,
-                                         Dispatch const &                        d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-    return createResultValue( result,
-                              pipeline,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR",
-                              { Result::eSuccess,
-                                Result::eOperationDeferredKHR,
-                                Result::eOperationNotDeferredKHR,
-                                Result::ePipelineCompileRequiredEXT } );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createRayTracingPipelinesKHRUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                             allocator,
-      Dispatch const &                                                                d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines;
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue( result,
-                              uniquePipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique",
-                              { VULKAN_HPP_NAMESPACE::Result::eSuccess,
-                                VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
-                                VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
-                                VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createRayTracingPipelinesKHRUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                             pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                             allocator,
-      Allocator const &                                                               vectorAllocator,
-      Dispatch const &                                                                d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines( vectorAllocator );
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue( result,
-                              uniquePipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique",
-                              { VULKAN_HPP_NAMESPACE::Result::eSuccess,
-                                VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
-                                VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
-                                VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-                    Device::createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::PipelineCache     pipelineCache,
-                                               const RayTracingPipelineCreateInfoKHR & createInfo,
-                                               Optional<const AllocationCallbacks>     allocator,
-                                               Dispatch const &                        d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Pipeline, Dispatch>( result,
-                                                  pipeline,
-                                                  VULKAN_HPP_NAMESPACE_STRING
-                                                  "::Device::createRayTracingPipelineKHRUnique",
-                                                  { Result::eSuccess,
-                                                    Result::eOperationDeferredKHR,
-                                                    Result::eOperationNotDeferredKHR,
-                                                    Result::ePipelineCompileRequiredEXT },
-                                                  deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache                          pipelineCache,
-                                         uint32_t                                                     createInfoCount,
-                                         const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV * pCreateInfos,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks *            pAllocator,
-                                         VULKAN_HPP_NAMESPACE::Pipeline *                             pPipelines,
-                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateRayTracingPipelinesNV( m_device,
-                                       static_cast<VkPipelineCache>( pipelineCache ),
-                                       createInfoCount,
-                                       reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( pCreateInfos ),
-                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                       reinterpret_cast<VkPipeline *>( pPipelines ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createRayTracingPipelinesNV(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-    Optional<const AllocationCallbacks>                                            allocator,
-    Dispatch const &                                                               d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size() );
-    Result                           result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, Allocator>> Device::createRayTracingPipelinesNV(
-    VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-    Optional<const AllocationCallbacks>                                            allocator,
-    Allocator const &                                                              vectorAllocator,
-    Dispatch const &                                                               d ) const
-  {
-    std::vector<Pipeline, Allocator> pipelines( createInfos.size(), vectorAllocator );
-    Result                           result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    return createResultValue( result,
-                              pipelines,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<Pipeline>
-                    Device::createRayTracingPipelineNV( VULKAN_HPP_NAMESPACE::PipelineCache    pipelineCache,
-                                        const RayTracingPipelineCreateInfoNV & createInfo,
-                                        Optional<const AllocationCallbacks>    allocator,
-                                        Dispatch const &                       d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-    return createResultValue( result,
-                              pipeline,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNV",
-                              { Result::eSuccess, Result::ePipelineCompileRequiredEXT } );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createRayTracingPipelinesNVUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-      Optional<const AllocationCallbacks>                                            allocator,
-      Dispatch const &                                                               d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines;
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
-      result,
-      uniquePipelines,
-      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique",
-      { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator>>
-                    Device::createRayTracingPipelinesNVUnique(
-      VULKAN_HPP_NAMESPACE::PipelineCache                                            pipelineCache,
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,
-      Optional<const AllocationCallbacks>                                            allocator,
-      Allocator const &                                                              vectorAllocator,
-      Dispatch const &                                                               d ) const
-  {
-    std::vector<UniqueHandle<Pipeline, Dispatch>, Allocator> uniquePipelines( vectorAllocator );
-    std::vector<Pipeline>                                    pipelines( createInfos.size() );
-    Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      createInfos.size(),
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( pipelines.data() ) ) );
-    if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) ||
-         ( result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT ) )
-    {
-      uniquePipelines.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipelines[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
-      result,
-      uniquePipelines,
-      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique",
-      { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-                    Device::createRayTracingPipelineNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache    pipelineCache,
-                                              const RayTracingPipelineCreateInfoNV & createInfo,
-                                              Optional<const AllocationCallbacks>    allocator,
-                                              Dispatch const &                       d ) const
-  {
-    Pipeline pipeline;
-    Result   result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      1,
-      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkPipeline *>( &pipeline ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Pipeline, Dispatch>( result,
-                                                  pipeline,
-                                                  VULKAN_HPP_NAMESPACE_STRING
-                                                  "::Device::createRayTracingPipelineNVUnique",
-                                                  { Result::eSuccess, Result::ePipelineCompileRequiredEXT },
-                                                  deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo * pCreateInfo,
-                                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *  pAllocator,
-                                                     VULKAN_HPP_NAMESPACE::RenderPass *                 pRenderPass,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateRenderPass( m_device,
-                                                      reinterpret_cast<const VkRenderPassCreateInfo *>( pCreateInfo ),
-                                                      reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                      reinterpret_cast<VkRenderPass *>( pRenderPass ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type Device::createRenderPass(
-    const RenderPassCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::RenderPass renderPass;
-    Result                           result = static_cast<Result>( d.vkCreateRenderPass(
-      m_device,
-      reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkRenderPass *>( &renderPass ) ) );
-    return createResultValue( result, renderPass, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<RenderPass, Dispatch>>::type Device::createRenderPassUnique(
-    const RenderPassCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::RenderPass renderPass;
-    Result                           result = static_cast<Result>( d.vkCreateRenderPass(
-      m_device,
-      reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkRenderPass *>( &renderPass ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<RenderPass, Dispatch>(
-      result, renderPass, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPassUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,
-                                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                                                      VULKAN_HPP_NAMESPACE::RenderPass *                  pRenderPass,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateRenderPass2( m_device,
-                                                       reinterpret_cast<const VkRenderPassCreateInfo2 *>( pCreateInfo ),
-                                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                       reinterpret_cast<VkRenderPass *>( pRenderPass ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type Device::createRenderPass2(
-    const RenderPassCreateInfo2 & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::RenderPass renderPass;
-    Result                           result = static_cast<Result>( d.vkCreateRenderPass2(
-      m_device,
-      reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkRenderPass *>( &renderPass ) ) );
-    return createResultValue( result, renderPass, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<RenderPass, Dispatch>>::type Device::createRenderPass2Unique(
-    const RenderPassCreateInfo2 & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::RenderPass renderPass;
-    Result                           result = static_cast<Result>( d.vkCreateRenderPass2(
-      m_device,
-      reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkRenderPass *>( &renderPass ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<RenderPass, Dispatch>(
-      result, renderPass, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2Unique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,
-                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                                  VULKAN_HPP_NAMESPACE::RenderPass *                  pRenderPass,
-                                  Dispatch const &                                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateRenderPass2KHR( m_device,
-                                reinterpret_cast<const VkRenderPassCreateInfo2 *>( pCreateInfo ),
-                                reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                reinterpret_cast<VkRenderPass *>( pRenderPass ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type Device::createRenderPass2KHR(
-    const RenderPassCreateInfo2 & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::RenderPass renderPass;
-    Result                           result = static_cast<Result>( d.vkCreateRenderPass2KHR(
-      m_device,
-      reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkRenderPass *>( &renderPass ) ) );
-    return createResultValue( result, renderPass, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHR" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<RenderPass, Dispatch>>::type
-    Device::createRenderPass2KHRUnique( const RenderPassCreateInfo2 &       createInfo,
-                                        Optional<const AllocationCallbacks> allocator,
-                                        Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::RenderPass renderPass;
-    Result                           result = static_cast<Result>( d.vkCreateRenderPass2KHR(
-      m_device,
-      reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkRenderPass *>( &renderPass ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<RenderPass, Dispatch>(
-      result, renderPass, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHRUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createSampler( const VULKAN_HPP_NAMESPACE::SamplerCreateInfo *   pCreateInfo,
-                                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                  VULKAN_HPP_NAMESPACE::Sampler *                   pSampler,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateSampler( m_device,
-                                                   reinterpret_cast<const VkSamplerCreateInfo *>( pCreateInfo ),
-                                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                   reinterpret_cast<VkSampler *>( pSampler ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Sampler>::type Device::createSampler(
-    const SamplerCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Sampler sampler;
-    Result                        result = static_cast<Result>( d.vkCreateSampler(
-      m_device,
-      reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSampler *>( &sampler ) ) );
-    return createResultValue( result, sampler, VULKAN_HPP_NAMESPACE_STRING "::Device::createSampler" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Sampler, Dispatch>>::type Device::createSamplerUnique(
-    const SamplerCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Sampler sampler;
-    Result                        result = static_cast<Result>( d.vkCreateSampler(
-      m_device,
-      reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSampler *>( &sampler ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Sampler, Dispatch>(
-      result, sampler, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createSamplerYcbcrConversion( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                          VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion,
-                                          Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateSamplerYcbcrConversion( m_device,
-                                        reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( pCreateInfo ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                        reinterpret_cast<VkSamplerYcbcrConversion *>( pYcbcrConversion ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
-    Device::createSamplerYcbcrConversion( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                          Optional<const AllocationCallbacks>      allocator,
-                                          Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
-    Result                                       result = static_cast<Result>( d.vkCreateSamplerYcbcrConversion(
-      m_device,
-      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) );
-    return createResultValue(
-      result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversion" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SamplerYcbcrConversion, Dispatch>>::type
-    Device::createSamplerYcbcrConversionUnique( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                                Optional<const AllocationCallbacks>      allocator,
-                                                Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
-    Result                                       result = static_cast<Result>( d.vkCreateSamplerYcbcrConversion(
-      m_device,
-      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SamplerYcbcrConversion, Dispatch>(
-      result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createSamplerYcbcrConversionKHR( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                             VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateSamplerYcbcrConversionKHR( m_device,
-                                           reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( pCreateInfo ),
-                                           reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                           reinterpret_cast<VkSamplerYcbcrConversion *>( pYcbcrConversion ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
-    Device::createSamplerYcbcrConversionKHR( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                             Optional<const AllocationCallbacks>      allocator,
-                                             Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
-    Result                                       result = static_cast<Result>( d.vkCreateSamplerYcbcrConversionKHR(
-      m_device,
-      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) );
-    return createResultValue(
-      result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHR" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SamplerYcbcrConversion, Dispatch>>::type
-    Device::createSamplerYcbcrConversionKHRUnique( const SamplerYcbcrConversionCreateInfo & createInfo,
-                                                   Optional<const AllocationCallbacks>      allocator,
-                                                   Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
-    Result                                       result = static_cast<Result>( d.vkCreateSamplerYcbcrConversionKHR(
-      m_device,
-      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SamplerYcbcrConversion, Dispatch>(
-      result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHRUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo * pCreateInfo,
-                                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                    VULKAN_HPP_NAMESPACE::Semaphore *                 pSemaphore,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateSemaphore( m_device,
-                                                     reinterpret_cast<const VkSemaphoreCreateInfo *>( pCreateInfo ),
-                                                     reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                     reinterpret_cast<VkSemaphore *>( pSemaphore ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Semaphore>::type Device::createSemaphore(
-    const SemaphoreCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Semaphore semaphore;
-    Result                          result = static_cast<Result>( d.vkCreateSemaphore(
-      m_device,
-      reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSemaphore *>( &semaphore ) ) );
-    return createResultValue( result, semaphore, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphore" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Semaphore, Dispatch>>::type Device::createSemaphoreUnique(
-    const SemaphoreCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Semaphore semaphore;
-    Result                          result = static_cast<Result>( d.vkCreateSemaphore(
-      m_device,
-      reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSemaphore *>( &semaphore ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Semaphore, Dispatch>(
-      result, semaphore, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphoreUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createShaderModule( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,
-                                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks *    pAllocator,
-                                                       VULKAN_HPP_NAMESPACE::ShaderModule * pShaderModule,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateShaderModule( m_device,
-                              reinterpret_cast<const VkShaderModuleCreateInfo *>( pCreateInfo ),
-                              reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                              reinterpret_cast<VkShaderModule *>( pShaderModule ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ShaderModule>::type Device::createShaderModule(
-    const ShaderModuleCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ShaderModule shaderModule;
-    Result                             result = static_cast<Result>( d.vkCreateShaderModule(
-      m_device,
-      reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkShaderModule *>( &shaderModule ) ) );
-    return createResultValue( result, shaderModule, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModule" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<ShaderModule, Dispatch>>::type
-    Device::createShaderModuleUnique( const ShaderModuleCreateInfo &      createInfo,
-                                      Optional<const AllocationCallbacks> allocator,
-                                      Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ShaderModule shaderModule;
-    Result                             result = static_cast<Result>( d.vkCreateShaderModule(
-      m_device,
-      reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkShaderModule *>( &shaderModule ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<ShaderModule, Dispatch>(
-      result, shaderModule, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModuleUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createSharedSwapchainsKHR( uint32_t                                             swapchainCount,
-                                       const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfos,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks *    pAllocator,
-                                       VULKAN_HPP_NAMESPACE::SwapchainKHR *                 pSwapchains,
-                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateSharedSwapchainsKHR( m_device,
-                                     swapchainCount,
-                                     reinterpret_cast<const VkSwapchainCreateInfoKHR *>( pCreateInfos ),
-                                     reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                     reinterpret_cast<VkSwapchainKHR *>( pSwapchains ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<SwapchainKHR, Allocator>>::type
-    Device::createSharedSwapchainsKHR(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                    allocator,
-      Dispatch const &                                                       d ) const
-  {
-    std::vector<SwapchainKHR, Allocator> swapchains( createInfos.size() );
-    Result                               result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR(
-      m_device,
-      createInfos.size(),
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) );
-    return createResultValue( result, swapchains, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<SwapchainKHR, Allocator>>::type
-    Device::createSharedSwapchainsKHR(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                    allocator,
-      Allocator const &                                                      vectorAllocator,
-      Dispatch const &                                                       d ) const
-  {
-    std::vector<SwapchainKHR, Allocator> swapchains( createInfos.size(), vectorAllocator );
-    Result                               result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR(
-      m_device,
-      createInfos.size(),
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) );
-    return createResultValue( result, swapchains, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<SwapchainKHR>::type Device::createSharedSwapchainKHR(
-    const SwapchainCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    SwapchainKHR swapchain;
-    Result       result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR(
-      m_device,
-      1,
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) );
-    return createResultValue( result, swapchain, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHR" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>, Allocator>>::type
-    Device::createSharedSwapchainsKHRUnique(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                    allocator,
-      Dispatch const &                                                       d ) const
-  {
-    std::vector<UniqueHandle<SwapchainKHR, Dispatch>, Allocator> uniqueSwapchainKHRs;
-    std::vector<SwapchainKHR>                                    swapchainKHRs( createInfos.size() );
-    Result result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR(
-      m_device,
-      createInfos.size(),
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( swapchainKHRs.data() ) ) );
-    if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
-    {
-      uniqueSwapchainKHRs.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniqueSwapchainKHRs.push_back( UniqueHandle<SwapchainKHR, Dispatch>( swapchainKHRs[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
-      result, uniqueSwapchainKHRs, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>, Allocator>>::type
-    Device::createSharedSwapchainsKHRUnique(
-      ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,
-      Optional<const AllocationCallbacks>                                    allocator,
-      Allocator const &                                                      vectorAllocator,
-      Dispatch const &                                                       d ) const
-  {
-    std::vector<UniqueHandle<SwapchainKHR, Dispatch>, Allocator> uniqueSwapchainKHRs( vectorAllocator );
-    std::vector<SwapchainKHR>                                    swapchainKHRs( createInfos.size() );
-    Result result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR(
-      m_device,
-      createInfos.size(),
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( swapchainKHRs.data() ) ) );
-    if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
-    {
-      uniqueSwapchainKHRs.reserve( createInfos.size() );
-      ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-      for ( size_t i = 0; i < createInfos.size(); i++ )
-      {
-        uniqueSwapchainKHRs.push_back( UniqueHandle<SwapchainKHR, Dispatch>( swapchainKHRs[i], deleter ) );
-      }
-    }
-
-    return createResultValue(
-      result, uniqueSwapchainKHRs, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" );
-  }
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SwapchainKHR, Dispatch>>::type
-    Device::createSharedSwapchainKHRUnique( const SwapchainCreateInfoKHR &      createInfo,
-                                            Optional<const AllocationCallbacks> allocator,
-                                            Dispatch const &                    d ) const
-  {
-    SwapchainKHR swapchain;
-    Result       result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR(
-      m_device,
-      1,
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SwapchainKHR, Dispatch>(
-      result, swapchain, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHRUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::createSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfo,
-                                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks *    pAllocator,
-                                                       VULKAN_HPP_NAMESPACE::SwapchainKHR *                 pSwapchain,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateSwapchainKHR( m_device,
-                              reinterpret_cast<const VkSwapchainCreateInfoKHR *>( pCreateInfo ),
-                              reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                              reinterpret_cast<VkSwapchainKHR *>( pSwapchain ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SwapchainKHR>::type Device::createSwapchainKHR(
-    const SwapchainCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain;
-    Result                             result = static_cast<Result>( d.vkCreateSwapchainKHR(
-      m_device,
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) );
-    return createResultValue( result, swapchain, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHR" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SwapchainKHR, Dispatch>>::type
-    Device::createSwapchainKHRUnique( const SwapchainCreateInfoKHR &      createInfo,
-                                      Optional<const AllocationCallbacks> allocator,
-                                      Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain;
-    Result                             result = static_cast<Result>( d.vkCreateSwapchainKHR(
-      m_device,
-      reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SwapchainKHR, Dispatch>(
-      result, swapchain, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHRUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::createValidationCacheEXT( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT * pCreateInfo,
-                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                      VULKAN_HPP_NAMESPACE::ValidationCacheEXT *                 pValidationCache,
-                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateValidationCacheEXT( m_device,
-                                    reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( pCreateInfo ),
-                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                    reinterpret_cast<VkValidationCacheEXT *>( pValidationCache ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::type
-    Device::createValidationCacheEXT( const ValidationCacheCreateInfoEXT & createInfo,
-                                      Optional<const AllocationCallbacks>  allocator,
-                                      Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache;
-    Result                                   result = static_cast<Result>( d.vkCreateValidationCacheEXT(
-      m_device,
-      reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkValidationCacheEXT *>( &validationCache ) ) );
-    return createResultValue(
-      result, validationCache, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXT" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<ValidationCacheEXT, Dispatch>>::type
-    Device::createValidationCacheEXTUnique( const ValidationCacheCreateInfoEXT & createInfo,
-                                            Optional<const AllocationCallbacks>  allocator,
-                                            Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache;
-    Result                                   result = static_cast<Result>( d.vkCreateValidationCacheEXT(
-      m_device,
-      reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkValidationCacheEXT *>( &validationCache ) ) );
-
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<ValidationCacheEXT, Dispatch>(
-      result, validationCache, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXTUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::debugMarkerSetObjectNameEXT(
-    const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT * pNameInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkDebugMarkerSetObjectNameEXT(
-      m_device, reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( pNameInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT & nameInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkDebugMarkerSetObjectNameEXT(
-      m_device, reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( &nameInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::debugMarkerSetObjectTagEXT(
-    const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT * pTagInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkDebugMarkerSetObjectTagEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( pTagInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT & tagInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkDebugMarkerSetObjectTagEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( &tagInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkDeferredOperationJoinKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) ) );
-  }
-#  else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                                             Dispatch const &                           d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkDeferredOperationJoinKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::deferredOperationJoinKHR",
-                              { Result::eSuccess, Result::eThreadDoneKHR, Result::eThreadIdleKHR } );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR    accelerationStructure,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyAccelerationStructureKHR( m_device,
-                                         static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                             Optional<const AllocationCallbacks>            allocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyAccelerationStructureKHR(
-      m_device,
-      static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR    accelerationStructure,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    d.vkDestroyAccelerationStructureKHR( m_device,
-                                         static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-#else
-    d.vkDestroyAccelerationStructureNV( m_device,
-                                        static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                          Optional<const AllocationCallbacks>            allocator,
-                                          Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-#  ifdef VK_ENABLE_BETA_EXTENSIONS
-    d.vkDestroyAccelerationStructureKHR(
-      m_device,
-      static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-#  else
-    d.vkDestroyAccelerationStructureNV(
-      m_device,
-      static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-#  endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR    accelerationStructure,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyAccelerationStructureNV( m_device,
-                                        static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                            Optional<const AllocationCallbacks>            allocator,
-                                            Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyAccelerationStructureNV(
-      m_device,
-      static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer                      buffer,
-                                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBuffer(
-      m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer        buffer,
-                                                Optional<const AllocationCallbacks> allocator,
-                                                Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBuffer(
-      m_device,
-      static_cast<VkBuffer>( buffer ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Buffer                      buffer,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBuffer(
-      m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Buffer        buffer,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBuffer(
-      m_device,
-      static_cast<VkBuffer>( buffer ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA     collection,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferCollectionFUCHSIA( m_device,
-                                        static_cast<VkBufferCollectionFUCHSIA>( collection ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                            Optional<const AllocationCallbacks>           allocator,
-                                            Dispatch const &                              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferCollectionFUCHSIA(
-      m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA     collection,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferCollectionFUCHSIA( m_device,
-                                        static_cast<VkBufferCollectionFUCHSIA>( collection ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                          Optional<const AllocationCallbacks>           allocator,
-                                          Dispatch const &                              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferCollectionFUCHSIA(
-      m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView                  bufferView,
-                                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferView( m_device,
-                           static_cast<VkBufferView>( bufferView ),
-                           reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView    bufferView,
-                                                    Optional<const AllocationCallbacks> allocator,
-                                                    Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferView(
-      m_device,
-      static_cast<VkBufferView>( bufferView ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferView                  bufferView,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferView( m_device,
-                           static_cast<VkBufferView>( bufferView ),
-                           reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferView    bufferView,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyBufferView(
-      m_device,
-      static_cast<VkBufferView>( bufferView ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool                 commandPool,
-                                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyCommandPool( m_device,
-                            static_cast<VkCommandPool>( commandPool ),
-                            reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool   commandPool,
-                                                     Optional<const AllocationCallbacks> allocator,
-                                                     Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyCommandPool(
-      m_device,
-      static_cast<VkCommandPool>( commandPool ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CommandPool                 commandPool,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyCommandPool( m_device,
-                            static_cast<VkCommandPool>( commandPool ),
-                            reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CommandPool   commandPool,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyCommandPool(
-      m_device,
-      static_cast<VkCommandPool>( commandPool ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR        operation,
-                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                         Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDeferredOperationKHR( m_device,
-                                     static_cast<VkDeferredOperationKHR>( operation ),
-                                     reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                                              Optional<const AllocationCallbacks>        allocator,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDeferredOperationKHR(
-      m_device,
-      static_cast<VkDeferredOperationKHR>( operation ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR        operation,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDeferredOperationKHR( m_device,
-                                     static_cast<VkDeferredOperationKHR>( operation ),
-                                     reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                          Optional<const AllocationCallbacks>        allocator,
-                                          Dispatch const &                           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDeferredOperationKHR(
-      m_device,
-      static_cast<VkDeferredOperationKHR>( operation ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
-                                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorPool( m_device,
-                               static_cast<VkDescriptorPool>( descriptorPool ),
-                               reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
-                                                        Optional<const AllocationCallbacks>  allocator,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorPool(
-      m_device,
-      static_cast<VkDescriptorPool>( descriptorPool ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorPool              descriptorPool,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorPool( m_device,
-                               static_cast<VkDescriptorPool>( descriptorPool ),
-                               reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
-                                          Optional<const AllocationCallbacks>  allocator,
-                                          Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorPool(
-      m_device,
-      static_cast<VkDescriptorPool>( descriptorPool ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout         descriptorSetLayout,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                        Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorSetLayout( m_device,
-                                    static_cast<VkDescriptorSetLayout>( descriptorSetLayout ),
-                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
-                                        Optional<const AllocationCallbacks>       allocator,
-                                        Dispatch const &                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorSetLayout(
-      m_device,
-      static_cast<VkDescriptorSetLayout>( descriptorSetLayout ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout         descriptorSetLayout,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorSetLayout( m_device,
-                                    static_cast<VkDescriptorSetLayout>( descriptorSetLayout ),
-                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
-                                          Optional<const AllocationCallbacks>       allocator,
-                                          Dispatch const &                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorSetLayout(
-      m_device,
-      static_cast<VkDescriptorSetLayout>( descriptorSetLayout ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate    descriptorUpdateTemplate,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorUpdateTemplate( m_device,
-                                         static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                             Optional<const AllocationCallbacks>            allocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorUpdateTemplate(
-      m_device,
-      static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate    descriptorUpdateTemplate,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorUpdateTemplate( m_device,
-                                         static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                          Optional<const AllocationCallbacks>            allocator,
-                                          Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorUpdateTemplate(
-      m_device,
-      static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                                const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorUpdateTemplateKHR( m_device,
-                                            static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                            reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                                Optional<const AllocationCallbacks>            allocator,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDescriptorUpdateTemplateKHR(
-      m_device,
-      static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDevice( m_device, reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDevice(
-      m_device,
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyEvent( VULKAN_HPP_NAMESPACE::Event                       event,
-                                               const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyEvent(
-      m_device, static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyEvent( VULKAN_HPP_NAMESPACE::Event         event,
-                                               Optional<const AllocationCallbacks> allocator,
-                                               Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyEvent(
-      m_device,
-      static_cast<VkEvent>( event ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Event                       event,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyEvent(
-      m_device, static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Event         event,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyEvent(
-      m_device,
-      static_cast<VkEvent>( event ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyFence( VULKAN_HPP_NAMESPACE::Fence                       fence,
-                                               const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFence(
-      m_device, static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyFence( VULKAN_HPP_NAMESPACE::Fence         fence,
-                                               Optional<const AllocationCallbacks> allocator,
-                                               Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFence(
-      m_device,
-      static_cast<VkFence>( fence ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Fence                       fence,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFence(
-      m_device, static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Fence         fence,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFence(
-      m_device,
-      static_cast<VkFence>( fence ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer                 framebuffer,
-                                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFramebuffer( m_device,
-                            static_cast<VkFramebuffer>( framebuffer ),
-                            reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer   framebuffer,
-                                                     Optional<const AllocationCallbacks> allocator,
-                                                     Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFramebuffer(
-      m_device,
-      static_cast<VkFramebuffer>( framebuffer ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Framebuffer                 framebuffer,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFramebuffer( m_device,
-                            static_cast<VkFramebuffer>( framebuffer ),
-                            reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Framebuffer   framebuffer,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyFramebuffer(
-      m_device,
-      static_cast<VkFramebuffer>( framebuffer ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyImage( VULKAN_HPP_NAMESPACE::Image                       image,
-                                               const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImage(
-      m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyImage( VULKAN_HPP_NAMESPACE::Image         image,
-                                               Optional<const AllocationCallbacks> allocator,
-                                               Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImage(
-      m_device,
-      static_cast<VkImage>( image ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Image                       image,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImage(
-      m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Image         image,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImage(
-      m_device,
-      static_cast<VkImage>( image ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyImageView( VULKAN_HPP_NAMESPACE::ImageView                   imageView,
-                                                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImageView(
-      m_device, static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyImageView( VULKAN_HPP_NAMESPACE::ImageView     imageView,
-                                                   Optional<const AllocationCallbacks> allocator,
-                                                   Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImageView(
-      m_device,
-      static_cast<VkImageView>( imageView ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ImageView                   imageView,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImageView(
-      m_device, static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ImageView     imageView,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyImageView(
-      m_device,
-      static_cast<VkImageView>( imageView ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV    indirectCommandsLayout,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyIndirectCommandsLayoutNV( m_device,
-                                         static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
-                                             Optional<const AllocationCallbacks>            allocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyIndirectCommandsLayoutNV(
-      m_device,
-      static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV    indirectCommandsLayout,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyIndirectCommandsLayoutNV( m_device,
-                                         static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
-                                          Optional<const AllocationCallbacks>            allocator,
-                                          Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyIndirectCommandsLayoutNV(
-      m_device,
-      static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline                    pipeline,
-                                                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipeline(
-      m_device, static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline      pipeline,
-                                                  Optional<const AllocationCallbacks> allocator,
-                                                  Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipeline(
-      m_device,
-      static_cast<VkPipeline>( pipeline ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Pipeline                    pipeline,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipeline(
-      m_device, static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Pipeline      pipeline,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipeline(
-      m_device,
-      static_cast<VkPipeline>( pipeline ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache               pipelineCache,
-                                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineCache( m_device,
-                              static_cast<VkPipelineCache>( pipelineCache ),
-                              reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                                       Optional<const AllocationCallbacks> allocator,
-                                                       Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineCache(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineCache               pipelineCache,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineCache( m_device,
-                              static_cast<VkPipelineCache>( pipelineCache ),
-                              reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineCache(
-      m_device,
-      static_cast<VkPipelineCache>( pipelineCache ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
-                                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineLayout( m_device,
-                               static_cast<VkPipelineLayout>( pipelineLayout ),
-                               reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
-                                                        Optional<const AllocationCallbacks>  allocator,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineLayout(
-      m_device,
-      static_cast<VkPipelineLayout>( pipelineLayout ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineLayout              pipelineLayout,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineLayout( m_device,
-                               static_cast<VkPipelineLayout>( pipelineLayout ),
-                               reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
-                                          Optional<const AllocationCallbacks>  allocator,
-                                          Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPipelineLayout(
-      m_device,
-      static_cast<VkPipelineLayout>( pipelineLayout ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT          privateDataSlot,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                       Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPrivateDataSlotEXT( m_device,
-                                   static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                                            Optional<const AllocationCallbacks>      allocator,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPrivateDataSlotEXT(
-      m_device,
-      static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT          privateDataSlot,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPrivateDataSlotEXT( m_device,
-                                   static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                          Optional<const AllocationCallbacks>      allocator,
-                                          Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyPrivateDataSlotEXT(
-      m_device,
-      static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool                   queryPool,
-                                                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyQueryPool(
-      m_device, static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool     queryPool,
-                                                   Optional<const AllocationCallbacks> allocator,
-                                                   Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyQueryPool(
-      m_device,
-      static_cast<VkQueryPool>( queryPool ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::QueryPool                   queryPool,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyQueryPool(
-      m_device, static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::QueryPool     queryPool,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyQueryPool(
-      m_device,
-      static_cast<VkQueryPool>( queryPool ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass                  renderPass,
-                                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyRenderPass( m_device,
-                           static_cast<VkRenderPass>( renderPass ),
-                           reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass    renderPass,
-                                                    Optional<const AllocationCallbacks> allocator,
-                                                    Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyRenderPass(
-      m_device,
-      static_cast<VkRenderPass>( renderPass ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::RenderPass                  renderPass,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyRenderPass( m_device,
-                           static_cast<VkRenderPass>( renderPass ),
-                           reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::RenderPass    renderPass,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyRenderPass(
-      m_device,
-      static_cast<VkRenderPass>( renderPass ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroySampler( VULKAN_HPP_NAMESPACE::Sampler                     sampler,
-                                                 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySampler(
-      m_device, static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroySampler( VULKAN_HPP_NAMESPACE::Sampler       sampler,
-                                                 Optional<const AllocationCallbacks> allocator,
-                                                 Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySampler(
-      m_device,
-      static_cast<VkSampler>( sampler ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Sampler                     sampler,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySampler(
-      m_device, static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Sampler       sampler,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySampler(
-      m_device,
-      static_cast<VkSampler>( sampler ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion      ycbcrConversion,
-                                           const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySamplerYcbcrConversion( m_device,
-                                       static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ),
-                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
-                                           Optional<const AllocationCallbacks>          allocator,
-                                           Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySamplerYcbcrConversion(
-      m_device,
-      static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion      ycbcrConversion,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySamplerYcbcrConversion( m_device,
-                                       static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ),
-                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
-                                          Optional<const AllocationCallbacks>          allocator,
-                                          Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySamplerYcbcrConversion(
-      m_device,
-      static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion      ycbcrConversion,
-                                              const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySamplerYcbcrConversionKHR( m_device,
-                                          static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ),
-                                          reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
-                                              Optional<const AllocationCallbacks>          allocator,
-                                              Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySamplerYcbcrConversionKHR(
-      m_device,
-      static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore                   semaphore,
-                                                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySemaphore(
-      m_device, static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore     semaphore,
-                                                   Optional<const AllocationCallbacks> allocator,
-                                                   Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySemaphore(
-      m_device,
-      static_cast<VkSemaphore>( semaphore ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Semaphore                   semaphore,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySemaphore(
-      m_device, static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Semaphore     semaphore,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySemaphore(
-      m_device,
-      static_cast<VkSemaphore>( semaphore ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule                shaderModule,
-                                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyShaderModule( m_device,
-                             static_cast<VkShaderModule>( shaderModule ),
-                             reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule  shaderModule,
-                                                      Optional<const AllocationCallbacks> allocator,
-                                                      Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyShaderModule(
-      m_device,
-      static_cast<VkShaderModule>( shaderModule ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ShaderModule                shaderModule,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyShaderModule( m_device,
-                             static_cast<VkShaderModule>( shaderModule ),
-                             reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ShaderModule  shaderModule,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyShaderModule(
-      m_device,
-      static_cast<VkShaderModule>( shaderModule ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR                swapchain,
-                                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySwapchainKHR( m_device,
-                             static_cast<VkSwapchainKHR>( swapchain ),
-                             reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR  swapchain,
-                                                      Optional<const AllocationCallbacks> allocator,
-                                                      Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySwapchainKHR(
-      m_device,
-      static_cast<VkSwapchainKHR>( swapchain ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR                swapchain,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySwapchainKHR( m_device,
-                             static_cast<VkSwapchainKHR>( swapchain ),
-                             reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR  swapchain,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySwapchainKHR(
-      m_device,
-      static_cast<VkSwapchainKHR>( swapchain ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT          validationCache,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                       Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyValidationCacheEXT( m_device,
-                                   static_cast<VkValidationCacheEXT>( validationCache ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                                            Optional<const AllocationCallbacks>      allocator,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyValidationCacheEXT(
-      m_device,
-      static_cast<VkValidationCacheEXT>( validationCache ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT          validationCache,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyValidationCacheEXT( m_device,
-                                   static_cast<VkValidationCacheEXT>( validationCache ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                          Optional<const AllocationCallbacks>      allocator,
-                                          Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyValidationCacheEXT(
-      m_device,
-      static_cast<VkValidationCacheEXT>( validationCache ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
+      VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR});
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::waitIdle( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkDeviceWaitIdle( m_device ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::compileDeferredNV(
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCompileDeferredNV(
+      m_device, static_cast<VkPipeline>(pipeline), shader));
+}
 #else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::waitIdle( Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkDeviceWaitIdle( m_device ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitIdle" );
-  }
+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 {
+  Result result = static_cast<Result>(d.vkCompileDeferredNV(
+      m_device, static_cast<VkPipeline>(pipeline), shader));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::compileDeferredNV");
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR                  display,
-                                    const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT * pDisplayPowerInfo,
-                                    Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkDisplayPowerControlEXT( m_device,
-                                  static_cast<VkDisplayKHR>( display ),
-                                  reinterpret_cast<const VkDisplayPowerInfoEXT *>( pDisplayPowerInfo ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::copyAccelerationStructureKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCopyAccelerationStructureKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>(pInfo)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::displayPowerControlEXT(
-    VULKAN_HPP_NAMESPACE::DisplayKHR display, const DisplayPowerInfoEXT & displayPowerInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkDisplayPowerControlEXT( m_device,
-                                  static_cast<VkDisplayKHR>( display ),
-                                  reinterpret_cast<const VkDisplayPowerInfoEXT *>( &displayPowerInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::displayPowerControlEXT" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::copyAccelerationStructureKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    const CopyAccelerationStructureInfoKHR &info, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkCopyAccelerationStructureKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>(&info)));
+  return createResultValue(
+      result,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR});
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::flushMappedMemoryRanges( uint32_t                                        memoryRangeCount,
-                                     const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,
-                                     Dispatch const &                                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkFlushMappedMemoryRanges(
-      m_device, memoryRangeCount, reinterpret_cast<const VkMappedMemoryRange *>( pMemoryRanges ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::copyAccelerationStructureToMemoryKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCopyAccelerationStructureToMemoryKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>(
+          pInfo)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::flushMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,
-                                     Dispatch const &                                                  d ) const
-  {
-    Result result = static_cast<Result>( d.vkFlushMappedMemoryRanges(
-      m_device, memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::copyAccelerationStructureToMemoryKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    const CopyAccelerationStructureToMemoryInfoKHR &info,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkCopyAccelerationStructureToMemoryKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>(
+          &info)));
+  return createResultValue(
+      result,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::copyAccelerationStructureToMemoryKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR});
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool           commandPool,
-                                                     uint32_t                                    commandBufferCount,
-                                                     const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeCommandBuffers( m_device,
-                            static_cast<VkCommandPool>( commandPool ),
-                            commandBufferCount,
-                            reinterpret_cast<const VkCommandBuffer *>( pCommandBuffers ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::copyMemoryToAccelerationStructureKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCopyMemoryToAccelerationStructureKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>(
+          pInfo)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool                             commandPool,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
-                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeCommandBuffers( m_device,
-                            static_cast<VkCommandPool>( commandPool ),
-                            commandBuffers.size(),
-                            reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::copyMemoryToAccelerationStructureKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    const CopyMemoryToAccelerationStructureInfoKHR &info,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkCopyMemoryToAccelerationStructureKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>(
+          &info)));
+  return createResultValue(
+      result,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::copyMemoryToAccelerationStructureKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR});
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::free( VULKAN_HPP_NAMESPACE::CommandPool           commandPool,
-                                       uint32_t                                    commandBufferCount,
-                                       const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,
-                                       Dispatch const &                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeCommandBuffers( m_device,
-                            static_cast<VkCommandPool>( commandPool ),
-                            commandBufferCount,
-                            reinterpret_cast<const VkCommandBuffer *>( pCommandBuffers ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::free( VULKAN_HPP_NAMESPACE::CommandPool                             commandPool,
-                                       ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,
-                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeCommandBuffers( m_device,
-                            static_cast<VkCommandPool>( commandPool ),
-                            commandBuffers.size(),
-                            reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool        descriptorPool,
-                                                       uint32_t                                    descriptorSetCount,
-                                                       const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkFreeDescriptorSets( m_device,
-                              static_cast<VkDescriptorPool>( descriptorPool ),
-                              descriptorSetCount,
-                              reinterpret_cast<const VkDescriptorSet *>( pDescriptorSets ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool                          descriptorPool,
-                                ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
-                                Dispatch const &                                              d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkFreeDescriptorSets( m_device,
-                              static_cast<VkDescriptorPool>( descriptorPool ),
-                              descriptorSets.size(),
-                              reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::freeDescriptorSets" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::free( VULKAN_HPP_NAMESPACE::DescriptorPool        descriptorPool,
-                                         uint32_t                                    descriptorSetCount,
-                                         const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,
-                                         Dispatch const &                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkFreeDescriptorSets( m_device,
-                              static_cast<VkDescriptorPool>( descriptorPool ),
-                              descriptorSetCount,
-                              reinterpret_cast<const VkDescriptorSet *>( pDescriptorSets ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::free( VULKAN_HPP_NAMESPACE::DescriptorPool                          descriptorPool,
-                  ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,
-                  Dispatch const &                                              d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkFreeDescriptorSets( m_device,
-                              static_cast<VkDescriptorPool>( descriptorPool ),
-                              descriptorSets.size(),
-                              reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::free" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory                memory,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeMemory(
-      m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory  memory,
-                                             Optional<const AllocationCallbacks> allocator,
-                                             Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeMemory(
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createAccelerationStructureKHR(
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR *pAccelerationStructure,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateAccelerationStructureKHR(
       m_device,
-      static_cast<VkDeviceMemory>( memory ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+      reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>(
+          pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkAccelerationStructureKHR *>(pAccelerationStructure)));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::free( VULKAN_HPP_NAMESPACE::DeviceMemory                memory,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                       Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeMemory(
-      m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::free( VULKAN_HPP_NAMESPACE::DeviceMemory  memory,
-                                       Optional<const AllocationCallbacks> allocator,
-                                       Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkFreeMemory(
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>::type
+    Device::createAccelerationStructureKHR(
+        const AccelerationStructureCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure;
+  Result result = static_cast<Result>(d.vkCreateAccelerationStructureKHR(
       m_device,
-      static_cast<VkDeviceMemory>( memory ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+      reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkAccelerationStructureKHR *>(&accelerationStructure)));
+  return createResultValue(result, accelerationStructure,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createAccelerationStructureKHR");
+}
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getAccelerationStructureAddressKHR(
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR * pInfo,
-    Dispatch const &                                                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<DeviceAddress>( d.vkGetAccelerationStructureDeviceAddressKHR(
-      m_device, reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( pInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getAccelerationStructureAddressKHR(
-    const AccelerationStructureDeviceAddressInfoKHR & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetAccelerationStructureDeviceAddressKHR(
-      m_device, reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( &info ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                              size_t                                         dataSize,
-                                              void *                                         pData,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetAccelerationStructureHandleNV(
-      m_device, static_cast<VkAccelerationStructureKHR>( accelerationStructure ), dataSize, pData ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
-                                              ArrayProxy<T> const &                          data,
-                                              Dispatch const &                               d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkGetAccelerationStructureHandleNV( m_device,
-                                            static_cast<VkAccelerationStructureKHR>( accelerationStructure ),
-                                            data.size() * sizeof( T ),
-                                            reinterpret_cast<void *>( data.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getAccelerationStructureMemoryRequirementsKHR(
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoKHR * pInfo,
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                                  pMemoryRequirements,
-    Dispatch const &                                                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetAccelerationStructureMemoryRequirementsKHR(
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::AccelerationStructureKHR, Dispatch>>::type
+    Device::createAccelerationStructureKHRUnique(
+        const AccelerationStructureCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure;
+  Result result = static_cast<Result>(d.vkCreateAccelerationStructureKHR(
       m_device,
-      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoKHR *>( pInfo ),
-      reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getAccelerationStructureMemoryRequirementsKHR( const AccelerationStructureMemoryRequirementsInfoKHR & info,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
-    d.vkGetAccelerationStructureMemoryRequirementsKHR(
+      reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkAccelerationStructureKHR *>(&accelerationStructure)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR,
+                           Dispatch>(
+      result, accelerationStructure,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createAccelerationStructureKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createAccelerationStructureNV(
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV *pAccelerationStructure,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateAccelerationStructureNV(
       m_device,
-      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoKHR *>( &info ),
-      reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getAccelerationStructureMemoryRequirementsKHR( const AccelerationStructureMemoryRequirementsInfoKHR & info,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                  structureChain;
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
-    d.vkGetAccelerationStructureMemoryRequirementsKHR(
+      reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>(
+          pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkAccelerationStructureNV *>(pAccelerationStructure)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::type
+Device::createAccelerationStructureNV(
+    const AccelerationStructureCreateInfoNV &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure;
+  Result result = static_cast<Result>(d.vkCreateAccelerationStructureNV(
       m_device,
-      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoKHR *>( &info ),
-      reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return structureChain;
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+      reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkAccelerationStructureNV *>(&accelerationStructure)));
+  return createResultValue(result, accelerationStructure,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createAccelerationStructureNV");
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getAccelerationStructureMemoryRequirementsNV(
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV * pInfo,
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR *                              pMemoryRequirements,
-    Dispatch const &                                                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetAccelerationStructureMemoryRequirementsNV(
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::AccelerationStructureNV, Dispatch>>::type
+Device::createAccelerationStructureNVUnique(
+    const AccelerationStructureCreateInfoNV &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure;
+  Result result = static_cast<Result>(d.vkCreateAccelerationStructureNV(
       m_device,
-      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( pInfo ),
-      reinterpret_cast<VkMemoryRequirements2KHR *>( pMemoryRequirements ) );
-  }
+      reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkAccelerationStructureNV *>(&accelerationStructure)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::AccelerationStructureNV,
+                           Dispatch>(
+      result, accelerationStructure,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createAccelerationStructureNVUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBuffer(
+    const VULKAN_HPP_NAMESPACE::BufferCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Buffer *pBuffer,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateBuffer(
+      m_device, reinterpret_cast<const VkBufferCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkBuffer *>(pBuffer)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR
-    Device::getAccelerationStructureMemoryRequirementsNV( const AccelerationStructureMemoryRequirementsInfoNV & info,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR memoryRequirements;
-    d.vkGetAccelerationStructureMemoryRequirementsNV(
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Buffer>::type
+    Device::createBuffer(const BufferCreateInfo &createInfo,
+                         Optional<const AllocationCallbacks> allocator,
+                         Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Buffer buffer;
+  Result result = static_cast<Result>(d.vkCreateBuffer(
+      m_device, reinterpret_cast<const VkBufferCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkBuffer *>(&buffer)));
+  return createResultValue(
+      result, buffer, VULKAN_HPP_NAMESPACE_STRING "::Device::createBuffer");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Buffer, Dispatch>>::type
+    Device::createBufferUnique(const BufferCreateInfo &createInfo,
+                               Optional<const AllocationCallbacks> allocator,
+                               Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Buffer buffer;
+  Result result = static_cast<Result>(d.vkCreateBuffer(
+      m_device, reinterpret_cast<const VkBufferCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkBuffer *>(&buffer)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Buffer, Dispatch>(
+      result, buffer,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createBufferCollectionFUCHSIA(
+    const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA *pImportInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA *pCollection,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateBufferCollectionFUCHSIA(
       m_device,
-      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ),
-      reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getAccelerationStructureMemoryRequirementsNV( const AccelerationStructureMemoryRequirementsInfoNV & info,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                     structureChain;
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR & memoryRequirements =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR>();
-    d.vkGetAccelerationStructureMemoryRequirementsNV(
+      reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>(
+          pImportInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkBufferCollectionFUCHSIA *>(pCollection)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>::type
+    Device::createBufferCollectionFUCHSIA(
+        const BufferCollectionCreateInfoFUCHSIA &importInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection;
+  Result result = static_cast<Result>(d.vkCreateBufferCollectionFUCHSIA(
       m_device,
-      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ),
-      reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+      reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>(
+          &importInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkBufferCollectionFUCHSIA *>(&collection)));
+  return createResultValue(result, collection,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createBufferCollectionFUCHSIA");
+}
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getAndroidHardwareBufferPropertiesANDROID(
-    const struct AHardwareBuffer *                                 buffer,
-    VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID * pProperties,
-    Dispatch const &                                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID(
-      m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( pProperties ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>::type
-    Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID properties;
-    Result result = static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID(
-      m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) );
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" );
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
-    Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d ) const
-  {
-    StructureChain<X, Y, Z...>                                     structureChain;
-    VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID & properties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>();
-    Result result = static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID(
-      m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) );
-    return createResultValue(
-      result, structureChain, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getBufferCollectionProperties2FUCHSIA(
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA              collection,
-    VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA * pProperties,
-    Dispatch const &                                           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetBufferCollectionProperties2FUCHSIA(
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA, Dispatch>>::type
+    Device::createBufferCollectionFUCHSIAUnique(
+        const BufferCollectionCreateInfoFUCHSIA &importInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection;
+  Result result = static_cast<Result>(d.vkCreateBufferCollectionFUCHSIA(
       m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<VkBufferCollectionProperties2FUCHSIA *>( pProperties ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA>::type
-    Device::getBufferCollectionProperties2FUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                   Dispatch const &                              d ) const
-  {
-    VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA properties;
-    Result result = static_cast<Result>( d.vkGetBufferCollectionProperties2FUCHSIA(
-      m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<VkBufferCollectionProperties2FUCHSIA *>( &properties ) ) );
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferCollectionProperties2FUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+      reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>(
+          &importInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkBufferCollectionFUCHSIA *>(&collection)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA,
+                           Dispatch>(
+      result, collection,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createBufferCollectionFUCHSIAUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA             collection,
-                                                  VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA * pProperties,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetBufferCollectionPropertiesFUCHSIA(
-      m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( pProperties ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA>::type
-    Device::getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                  Dispatch const &                              d ) const
-  {
-    VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA properties;
-    Result result = static_cast<Result>( d.vkGetBufferCollectionPropertiesFUCHSIA(
-      m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( &properties ) ) );
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferCollectionPropertiesFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBufferView(
+    const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::BufferView *pView,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateBufferView(
+      m_device, reinterpret_cast<const VkBufferViewCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkBufferView *>(pView)));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<DeviceAddress>(
-      d.vkGetBufferDeviceAddress( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddress( const BufferDeviceAddressInfo & info,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetBufferDeviceAddress( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferView>::type
+    Device::createBufferView(const BufferViewCreateInfo &createInfo,
+                             Optional<const AllocationCallbacks> allocator,
+                             Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::BufferView view;
+  Result result = static_cast<Result>(d.vkCreateBufferView(
+      m_device, reinterpret_cast<const VkBufferViewCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkBufferView *>(&view)));
+  return createResultValue(
+      result, view, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferView");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::BufferView, Dispatch>>::type
+    Device::createBufferViewUnique(
+        const BufferViewCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::BufferView view;
+  Result result = static_cast<Result>(d.vkCreateBufferView(
+      m_device, reinterpret_cast<const VkBufferViewCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkBufferView *>(&view)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::BufferView, Dispatch>(
+      result, view,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferViewUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressEXT(
-    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<DeviceAddress>(
-      d.vkGetBufferDeviceAddressEXT( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCommandPool(
+    const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::CommandPool *pCommandPool,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateCommandPool(
+      m_device, reinterpret_cast<const VkCommandPoolCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkCommandPool *>(pCommandPool)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressEXT( const BufferDeviceAddressInfo & info,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetBufferDeviceAddressEXT( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressKHR(
-    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<DeviceAddress>(
-      d.vkGetBufferDeviceAddressKHR( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressKHR( const BufferDeviceAddressInfo & info,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetBufferDeviceAddressKHR( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer               buffer,
-                                         VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,
-                                         Dispatch const &                           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetBufferMemoryRequirements(
-      m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<VkMemoryRequirements *>( pMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements
-                    Device::getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer buffer,
-                                         Dispatch const &             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements;
-    d.vkGetBufferMemoryRequirements(
-      m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,
-                                          VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
-                                          Dispatch const &                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetBufferMemoryRequirements2( m_device,
-                                      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( pInfo ),
-                                      reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-                    Device::getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info,
-                                          Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
-    d.vkGetBufferMemoryRequirements2( m_device,
-                                      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ),
-                                      reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    Device::getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info,
-                                          Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                  structureChain;
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
-    d.vkGetBufferMemoryRequirements2( m_device,
-                                      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ),
-                                      reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,
-                                             VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
-                                             Dispatch const &                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetBufferMemoryRequirements2KHR( m_device,
-                                         reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( pInfo ),
-                                         reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-                    Device::getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info,
-                                             Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
-    d.vkGetBufferMemoryRequirements2KHR( m_device,
-                                         reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ),
-                                         reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    Device::getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info,
-                                             Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                  structureChain;
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
-    d.vkGetBufferMemoryRequirements2KHR( m_device,
-                                         reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ),
-                                         reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress(
-    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetBufferOpaqueCaptureAddress( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress( const BufferDeviceAddressInfo & info,
-                                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetBufferOpaqueCaptureAddress( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR(
-    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetBufferOpaqueCaptureAddressKHR( m_device,
-                                                 reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR( const BufferDeviceAddressInfo & info,
-                                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetBufferOpaqueCaptureAddressKHR( m_device,
-                                                 reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getCalibratedTimestampsEXT( uint32_t                                                 timestampCount,
-                                        const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT * pTimestampInfos,
-                                        uint64_t *                                               pTimestamps,
-                                        uint64_t *                                               pMaxDeviation,
-                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetCalibratedTimestampsEXT( m_device,
-                                      timestampCount,
-                                      reinterpret_cast<const VkCalibratedTimestampInfoEXT *>( pTimestampInfos ),
-                                      pTimestamps,
-                                      pMaxDeviation ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type Device::getCalibratedTimestampsEXT(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos,
-    ArrayProxy<uint64_t> const &                                               timestamps,
-    Dispatch const &                                                           d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( timestampInfos.size() == timestamps.size() );
-#  else
-    if ( timestampInfos.size() != timestamps.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkDevice::getCalibratedTimestampsEXT: timestampInfos.size() != timestamps.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    uint64_t maxDeviation;
-    Result   result = static_cast<Result>(
-      d.vkGetCalibratedTimestampsEXT( m_device,
-                                      timestampInfos.size(),
-                                      reinterpret_cast<const VkCalibratedTimestampInfoEXT *>( timestampInfos.data() ),
-                                      timestamps.data(),
-                                      &maxDeviation ) );
-    return createResultValue(
-      result, maxDeviation, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint32_t Device::getDeferredOperationMaxConcurrencyKHR(
-    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeferredOperationMaxConcurrencyKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) );
-  }
-#  else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint32_t Device::getDeferredOperationMaxConcurrencyKHR(
-    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeferredOperationMaxConcurrencyKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetDeferredOperationResultKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) ) );
-  }
-#  else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
-                                                                  Dispatch const &                           d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkGetDeferredOperationResultKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::getDeferredOperationResultKHR",
-                              { Result::eSuccess, Result::eNotReady } );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
-                                           VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *          pSupport,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetDescriptorSetLayoutSupport( m_device,
-                                       reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( pCreateInfo ),
-                                       reinterpret_cast<VkDescriptorSetLayoutSupport *>( pSupport ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
-                    Device::getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo,
-                                           Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support;
-    d.vkGetDescriptorSetLayoutSupport( m_device,
-                                       reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ),
-                                       reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) );
-    return support;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    Device::getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo,
-                                           Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                         structureChain;
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport & support =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>();
-    d.vkGetDescriptorSetLayoutSupport( m_device,
-                                       reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ),
-                                       reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,
-                                              VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *          pSupport,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetDescriptorSetLayoutSupportKHR( m_device,
-                                          reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( pCreateInfo ),
-                                          reinterpret_cast<VkDescriptorSetLayoutSupport *>( pSupport ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
-                    Device::getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo,
-                                              Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support;
-    d.vkGetDescriptorSetLayoutSupportKHR( m_device,
-                                          reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ),
-                                          reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) );
-    return support;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    Device::getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo,
-                                              Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                         structureChain;
-    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport & support =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>();
-    d.vkGetDescriptorSetLayoutSupportKHR( m_device,
-                                          reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ),
-                                          reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getAccelerationStructureCompatibilityKHR(
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionKHR * version,
-    Dispatch const &                                              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetDeviceAccelerationStructureCompatibilityKHR(
-      m_device, reinterpret_cast<const VkAccelerationStructureVersionKHR *>( version ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::getAccelerationStructureCompatibilityKHR( const AccelerationStructureVersionKHR & version,
-                                                      Dispatch const &                        d ) const
-  {
-    Result result = static_cast<Result>( d.vkGetDeviceAccelerationStructureCompatibilityKHR(
-      m_device, reinterpret_cast<const VkAccelerationStructureVersionKHR *>( &version ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureCompatibilityKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getGroupPeerMemoryFeatures( uint32_t                                       heapIndex,
-                                        uint32_t                                       localDeviceIndex,
-                                        uint32_t                                       remoteDeviceIndex,
-                                        VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,
-                                        Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetDeviceGroupPeerMemoryFeatures( m_device,
-                                          heapIndex,
-                                          localDeviceIndex,
-                                          remoteDeviceIndex,
-                                          reinterpret_cast<VkPeerMemoryFeatureFlags *>( pPeerMemoryFeatures ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
-                    Device::getGroupPeerMemoryFeatures( uint32_t         heapIndex,
-                                        uint32_t         localDeviceIndex,
-                                        uint32_t         remoteDeviceIndex,
-                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures;
-    d.vkGetDeviceGroupPeerMemoryFeatures( m_device,
-                                          heapIndex,
-                                          localDeviceIndex,
-                                          remoteDeviceIndex,
-                                          reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) );
-    return peerMemoryFeatures;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getGroupPeerMemoryFeaturesKHR( uint32_t                                       heapIndex,
-                                           uint32_t                                       localDeviceIndex,
-                                           uint32_t                                       remoteDeviceIndex,
-                                           VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,
-                                           Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetDeviceGroupPeerMemoryFeaturesKHR( m_device,
-                                             heapIndex,
-                                             localDeviceIndex,
-                                             remoteDeviceIndex,
-                                             reinterpret_cast<VkPeerMemoryFeatureFlags *>( pPeerMemoryFeatures ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
-                    Device::getGroupPeerMemoryFeaturesKHR( uint32_t         heapIndex,
-                                           uint32_t         localDeviceIndex,
-                                           uint32_t         remoteDeviceIndex,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures;
-    d.vkGetDeviceGroupPeerMemoryFeaturesKHR( m_device,
-                                             heapIndex,
-                                             localDeviceIndex,
-                                             remoteDeviceIndex,
-                                             reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) );
-    return peerMemoryFeatures;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getGroupPresentCapabilitiesKHR(
-    VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities,
-    Dispatch const &                                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetDeviceGroupPresentCapabilitiesKHR(
-      m_device, reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( pDeviceGroupPresentCapabilities ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR>::type
-    Device::getGroupPresentCapabilitiesKHR( Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities;
-    Result result = static_cast<Result>( d.vkGetDeviceGroupPresentCapabilitiesKHR(
-      m_device, reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( &deviceGroupPresentCapabilities ) ) );
-    return createResultValue(
-      result, deviceGroupPresentCapabilities, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getGroupSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                             VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR *      pModes,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetDeviceGroupSurfacePresentModes2EXT(
-      m_device,
-      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ),
-      reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( pModes ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
-    Device::getGroupSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                             Dispatch const &                      d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes;
-    Result result = static_cast<Result>( d.vkGetDeviceGroupSurfacePresentModes2EXT(
-      m_device,
-      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-      reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) );
-    return createResultValue( result, modes, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR                       surface,
-                                            VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetDeviceGroupSurfacePresentModesKHR( m_device,
-                                                static_cast<VkSurfaceKHR>( surface ),
-                                                reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( pModes ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
-    Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes;
-    Result                                               result = static_cast<Result>(
-      d.vkGetDeviceGroupSurfacePresentModesKHR( m_device,
-                                                static_cast<VkSurfaceKHR>( surface ),
-                                                reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) );
-    return createResultValue( result, modes, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                                      VULKAN_HPP_NAMESPACE::DeviceSize * pCommittedMemoryInBytes,
-                                                      Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetDeviceMemoryCommitment(
-      m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<VkDeviceSize *>( pCommittedMemoryInBytes ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize
-                    Device::getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                 Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::DeviceSize committedMemoryInBytes;
-    d.vkGetDeviceMemoryCommitment(
-      m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<VkDeviceSize *>( &committedMemoryInBytes ) );
-    return committedMemoryInBytes;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t
-    Device::getMemoryOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeviceMemoryOpaqueCaptureAddress(
-      m_device, reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( pInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress( const DeviceMemoryOpaqueCaptureAddressInfo & info,
-                                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeviceMemoryOpaqueCaptureAddress(
-      m_device, reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t
-    Device::getMemoryOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeviceMemoryOpaqueCaptureAddressKHR(
-      m_device, reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( pInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR(
-    const DeviceMemoryOpaqueCaptureAddressInfo & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeviceMemoryOpaqueCaptureAddressKHR(
-      m_device, reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr( const char *     pName,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeviceProcAddr( m_device, pName );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr( const std::string & name,
-                                                            Dispatch const &    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetDeviceProcAddr( m_device, name.c_str() );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getQueue( uint32_t                      queueFamilyIndex,
-                                           uint32_t                      queueIndex,
-                                           VULKAN_HPP_NAMESPACE::Queue * pQueue,
-                                           Dispatch const &              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetDeviceQueue( m_device, queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>( pQueue ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Queue
-    Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::Queue queue;
-    d.vkGetDeviceQueue( m_device, queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>( &queue ) );
-    return queue;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getQueue2( const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 * pQueueInfo,
-                                            VULKAN_HPP_NAMESPACE::Queue *                  pQueue,
-                                            Dispatch const &                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetDeviceQueue2(
-      m_device, reinterpret_cast<const VkDeviceQueueInfo2 *>( pQueueInfo ), reinterpret_cast<VkQueue *>( pQueue ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Queue Device::getQueue2( const DeviceQueueInfo2 & queueInfo,
-                                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::Queue queue;
-    d.vkGetDeviceQueue2(
-      m_device, reinterpret_cast<const VkDeviceQueueInfo2 *>( &queueInfo ), reinterpret_cast<VkQueue *>( &queue ) );
-    return queue;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getEventStatus( VULKAN_HPP_NAMESPACE::Event event,
-                                                   Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetEventStatus( m_device, static_cast<VkEvent>( event ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getEventStatus( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkGetEventStatus( m_device, static_cast<VkEvent>( event ) ) );
-    return createResultValue(
-      result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEventStatus", { Result::eEventSet, Result::eEventReset } );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR * pGetFdInfo,
-                                                  int *                                           pFd,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetFenceFdKHR( m_device, reinterpret_cast<const VkFenceGetFdInfoKHR *>( pGetFdInfo ), pFd ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<int>::type Device::getFenceFdKHR( const FenceGetFdInfoKHR & getFdInfo,
-                                                                               Dispatch const &          d ) const
-  {
-    int    fd;
-    Result result = static_cast<Result>(
-      d.vkGetFenceFdKHR( m_device, reinterpret_cast<const VkFenceGetFdInfoKHR *>( &getFdInfo ), &fd ) );
-    return createResultValue( result, fd, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence,
-                                                   Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetFenceStatus( m_device, static_cast<VkFence>( fence ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkGetFenceStatus( m_device, static_cast<VkFence>( fence ) ) );
-    return createResultValue(
-      result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceStatus", { Result::eSuccess, Result::eNotReady } );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                    HANDLE *                                                 pHandle,
-                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetFenceWin32HandleKHR(
-      m_device, reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( pGetWin32HandleInfo ), pHandle ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type
-    Device::getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const & d ) const
-  {
-    HANDLE handle;
-    Result result = static_cast<Result>( d.vkGetFenceWin32HandleKHR(
-      m_device, reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) );
-    return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getGeneratedCommandsMemoryRequirementsNV(
-    const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV * pInfo,
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                             pMemoryRequirements,
-    Dispatch const &                                                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetGeneratedCommandsMemoryRequirementsNV(
-      m_device,
-      reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( pInfo ),
-      reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getGeneratedCommandsMemoryRequirementsNV( const GeneratedCommandsMemoryRequirementsInfoNV & info,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
-    d.vkGetGeneratedCommandsMemoryRequirementsNV(
-      m_device,
-      reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ),
-      reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getGeneratedCommandsMemoryRequirementsNV( const GeneratedCommandsMemoryRequirementsInfoNV & info,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                  structureChain;
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
-    d.vkGetGeneratedCommandsMemoryRequirementsNV(
-      m_device,
-      reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ),
-      reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getImageDrmFormatModifierPropertiesEXT(
-    VULKAN_HPP_NAMESPACE::Image                                 image,
-    VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT * pProperties,
-    Dispatch const &                                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetImageDrmFormatModifierPropertiesEXT(
-      m_device,
-      static_cast<VkImage>( image ),
-      reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>::type
-    Device::getImageDrmFormatModifierPropertiesEXT( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT properties;
-    Result result = static_cast<Result>( d.vkGetImageDrmFormatModifierPropertiesEXT(
-      m_device,
-      static_cast<VkImage>( image ),
-      reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( &properties ) ) );
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageDrmFormatModifierPropertiesEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image                image,
-                                        VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,
-                                        Dispatch const &                           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetImageMemoryRequirements(
-      m_device, static_cast<VkImage>( image ), reinterpret_cast<VkMemoryRequirements *>( pMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements
-                    Device::getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image,
-                                        Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements;
-    d.vkGetImageMemoryRequirements(
-      m_device, static_cast<VkImage>( image ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,
-                                         VULKAN_HPP_NAMESPACE::MemoryRequirements2 *                pMemoryRequirements,
-                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetImageMemoryRequirements2( m_device,
-                                     reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( pInfo ),
-                                     reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-                    Device::getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info,
-                                         Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
-    d.vkGetImageMemoryRequirements2( m_device,
-                                     reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ),
-                                     reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    Device::getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info,
-                                         Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                  structureChain;
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
-    d.vkGetImageMemoryRequirements2( m_device,
-                                     reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ),
-                                     reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,
-                                            VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,
-                                            Dispatch const &                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetImageMemoryRequirements2KHR( m_device,
-                                        reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( pInfo ),
-                                        reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-                    Device::getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info,
-                                            Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
-    d.vkGetImageMemoryRequirements2KHR( m_device,
-                                        reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ),
-                                        reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return memoryRequirements;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    Device::getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info,
-                                            Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                  structureChain;
-    VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
-    d.vkGetImageMemoryRequirements2KHR( m_device,
-                                        reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ),
-                                        reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements(
-    VULKAN_HPP_NAMESPACE::Image                           image,
-    uint32_t *                                            pSparseMemoryRequirementCount,
-    VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements * pSparseMemoryRequirements,
-    Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetImageSparseMemoryRequirements(
-      m_device,
-      static_cast<VkImage>( image ),
-      pSparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements *>( pSparseMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements, Allocator>
-    Device::getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d ) const
-  {
-    std::vector<SparseImageMemoryRequirements, Allocator> sparseMemoryRequirements;
-    uint32_t                                              sparseMemoryRequirementCount;
-    d.vkGetImageSparseMemoryRequirements(
-      m_device, static_cast<VkImage>( image ), &sparseMemoryRequirementCount, nullptr );
-    sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
-    d.vkGetImageSparseMemoryRequirements(
-      m_device,
-      static_cast<VkImage>( image ),
-      &sparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) );
-    return sparseMemoryRequirements;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements, Allocator> Device::getImageSparseMemoryRequirements(
-    VULKAN_HPP_NAMESPACE::Image image, Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<SparseImageMemoryRequirements, Allocator> sparseMemoryRequirements( vectorAllocator );
-    uint32_t                                              sparseMemoryRequirementCount;
-    d.vkGetImageSparseMemoryRequirements(
-      m_device, static_cast<VkImage>( image ), &sparseMemoryRequirementCount, nullptr );
-    sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
-    d.vkGetImageSparseMemoryRequirements(
-      m_device,
-      static_cast<VkImage>( image ),
-      &sparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) );
-    return sparseMemoryRequirements;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2(
-    const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,
-    uint32_t *                                                       pSparseMemoryRequirementCount,
-    VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 *           pSparseMemoryRequirements,
-    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetImageSparseMemoryRequirements2(
-      m_device,
-      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( pInfo ),
-      pSparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements2 *>( pSparseMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2, Allocator>
-                    Device::getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info,
-                                               Dispatch const &                           d ) const
-  {
-    std::vector<SparseImageMemoryRequirements2, Allocator> sparseMemoryRequirements;
-    uint32_t                                               sparseMemoryRequirementCount;
-    d.vkGetImageSparseMemoryRequirements2( m_device,
-                                           reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-                                           &sparseMemoryRequirementCount,
-                                           nullptr );
-    sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
-    d.vkGetImageSparseMemoryRequirements2(
-      m_device,
-      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-      &sparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) );
-    return sparseMemoryRequirements;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2, Allocator> Device::getImageSparseMemoryRequirements2(
-    const ImageSparseMemoryRequirementsInfo2 & info, Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<SparseImageMemoryRequirements2, Allocator> sparseMemoryRequirements( vectorAllocator );
-    uint32_t                                               sparseMemoryRequirementCount;
-    d.vkGetImageSparseMemoryRequirements2( m_device,
-                                           reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-                                           &sparseMemoryRequirementCount,
-                                           nullptr );
-    sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
-    d.vkGetImageSparseMemoryRequirements2(
-      m_device,
-      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-      &sparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) );
-    return sparseMemoryRequirements;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2KHR(
-    const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,
-    uint32_t *                                                       pSparseMemoryRequirementCount,
-    VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 *           pSparseMemoryRequirements,
-    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetImageSparseMemoryRequirements2KHR(
-      m_device,
-      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( pInfo ),
-      pSparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements2 *>( pSparseMemoryRequirements ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2, Allocator>
-                    Device::getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info,
-                                                  Dispatch const &                           d ) const
-  {
-    std::vector<SparseImageMemoryRequirements2, Allocator> sparseMemoryRequirements;
-    uint32_t                                               sparseMemoryRequirementCount;
-    d.vkGetImageSparseMemoryRequirements2KHR( m_device,
-                                              reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-                                              &sparseMemoryRequirementCount,
-                                              nullptr );
-    sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
-    d.vkGetImageSparseMemoryRequirements2KHR(
-      m_device,
-      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-      &sparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) );
-    return sparseMemoryRequirements;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2, Allocator> Device::getImageSparseMemoryRequirements2KHR(
-    const ImageSparseMemoryRequirementsInfo2 & info, Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<SparseImageMemoryRequirements2, Allocator> sparseMemoryRequirements( vectorAllocator );
-    uint32_t                                               sparseMemoryRequirementCount;
-    d.vkGetImageSparseMemoryRequirements2KHR( m_device,
-                                              reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-                                              &sparseMemoryRequirementCount,
-                                              nullptr );
-    sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
-    d.vkGetImageSparseMemoryRequirements2KHR(
-      m_device,
-      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ),
-      &sparseMemoryRequirementCount,
-      reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) );
-    return sparseMemoryRequirements;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getImageSubresourceLayout( VULKAN_HPP_NAMESPACE::Image                    image,
-                                                            const VULKAN_HPP_NAMESPACE::ImageSubresource * pSubresource,
-                                                            VULKAN_HPP_NAMESPACE::SubresourceLayout *      pLayout,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetImageSubresourceLayout( m_device,
-                                   static_cast<VkImage>( image ),
-                                   reinterpret_cast<const VkImageSubresource *>( pSubresource ),
-                                   reinterpret_cast<VkSubresourceLayout *>( pLayout ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout
-                    Device::getImageSubresourceLayout( VULKAN_HPP_NAMESPACE::Image image,
-                                       const ImageSubresource &    subresource,
-                                       Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::SubresourceLayout layout;
-    d.vkGetImageSubresourceLayout( m_device,
-                                   static_cast<VkImage>( image ),
-                                   reinterpret_cast<const VkImageSubresource *>( &subresource ),
-                                   reinterpret_cast<VkSubresourceLayout *>( &layout ) );
-    return layout;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView                       imageView,
-                                    VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX * pProperties,
-                                    Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetImageViewAddressNVX( m_device,
-                                  static_cast<VkImageView>( imageView ),
-                                  reinterpret_cast<VkImageViewAddressPropertiesNVX *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX>::type
-    Device::getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView imageView, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX properties;
-    Result                                              result = static_cast<Result>(
-      d.vkGetImageViewAddressNVX( m_device,
-                                  static_cast<VkImageView>( imageView ),
-                                  reinterpret_cast<VkImageViewAddressPropertiesNVX *>( &properties ) ) );
-    return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewAddressNVX" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX * pInfo,
-                                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetImageViewHandleNVX( m_device, reinterpret_cast<const VkImageViewHandleInfoNVX *>( pInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX( const ImageViewHandleInfoNVX & info,
-                                                            Dispatch const &               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetImageViewHandleNVX( m_device, reinterpret_cast<const VkImageViewHandleInfoNVX *>( &info ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getMemoryAndroidHardwareBufferANDROID(
-    const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
-    struct AHardwareBuffer **                                               pBuffer,
-    Dispatch const &                                                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetMemoryAndroidHardwareBufferANDROID(
-      m_device, reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( pInfo ), pBuffer ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<struct AHardwareBuffer *>::type
-    Device::getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info,
-                                                   Dispatch const &                                  d ) const
-  {
-    struct AHardwareBuffer * buffer;
-    Result                   result = static_cast<Result>( d.vkGetMemoryAndroidHardwareBufferANDROID(
-      m_device, reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( &info ), &buffer ) );
-    return createResultValue(
-      result, buffer, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_ANDROID_KHR*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR * pGetFdInfo,
-                                                   int *                                            pFd,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetMemoryFdKHR( m_device, reinterpret_cast<const VkMemoryGetFdInfoKHR *>( pGetFdInfo ), pFd ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<int>::type Device::getMemoryFdKHR( const MemoryGetFdInfoKHR & getFdInfo,
-                                                                                Dispatch const &           d ) const
-  {
-    int    fd;
-    Result result = static_cast<Result>(
-      d.vkGetMemoryFdKHR( m_device, reinterpret_cast<const VkMemoryGetFdInfoKHR *>( &getFdInfo ), &fd ) );
-    return createResultValue( result, fd, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                      int                                                    fd,
-                                      VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR *          pMemoryFdProperties,
-                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetMemoryFdPropertiesKHR( m_device,
-                                    static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-                                    fd,
-                                    reinterpret_cast<VkMemoryFdPropertiesKHR *>( pMemoryFdProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR>::type
-    Device::getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                      int                                                    fd,
-                                      Dispatch const &                                       d ) const
-  {
-    VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR memoryFdProperties;
-    Result                                      result = static_cast<Result>(
-      d.vkGetMemoryFdPropertiesKHR( m_device,
-                                    static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-                                    fd,
-                                    reinterpret_cast<VkMemoryFdPropertiesKHR *>( &memoryFdProperties ) ) );
-    return createResultValue(
-      result, memoryFdProperties, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getMemoryHostPointerPropertiesEXT(
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-    const void *                                           pHostPointer,
-    VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties,
-    Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetMemoryHostPointerPropertiesEXT(
-      m_device,
-      static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-      pHostPointer,
-      reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( pMemoryHostPointerProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT>::type
-    Device::getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                               const void *                                           pHostPointer,
-                                               Dispatch const &                                       d ) const
-  {
-    VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT memoryHostPointerProperties;
-    Result result = static_cast<Result>( d.vkGetMemoryHostPointerPropertiesEXT(
-      m_device,
-      static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-      pHostPointer,
-      reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( &memoryHostPointerProperties ) ) );
-    return createResultValue(
-      result, memoryHostPointerProperties, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-                                     HANDLE *                                                  pHandle,
-                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetMemoryWin32HandleKHR(
-      m_device, reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( pGetWin32HandleInfo ), pHandle ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type
-    Device::getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const & d ) const
-  {
-    HANDLE handle;
-    Result result = static_cast<Result>( d.vkGetMemoryWin32HandleKHR(
-      m_device, reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) );
-    return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::DeviceMemory                    memory,
-                                    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
-                                    HANDLE *                                              pHandle,
-                                    Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetMemoryWin32HandleNV( m_device,
-                                  static_cast<VkDeviceMemory>( memory ),
-                                  static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ),
-                                  pHandle ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type
-    Device::getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::DeviceMemory                    memory,
-                                    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
-                                    Dispatch const &                                      d ) const
-  {
-    HANDLE handle;
-    Result result =
-      static_cast<Result>( d.vkGetMemoryWin32HandleNV( m_device,
-                                                       static_cast<VkDeviceMemory>( memory ),
-                                                       static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ),
-                                                       &handle ) );
-    return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleNV" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getMemoryWin32HandlePropertiesKHR(
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-    HANDLE                                                 handle,
-    VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties,
-    Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetMemoryWin32HandlePropertiesKHR(
-      m_device,
-      static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-      handle,
-      reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( pMemoryWin32HandleProperties ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR>::type
-    Device::getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                               HANDLE                                                 handle,
-                                               Dispatch const &                                       d ) const
-  {
-    VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties;
-    Result result = static_cast<Result>( d.vkGetMemoryWin32HandlePropertiesKHR(
-      m_device,
-      static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-      handle,
-      reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( &memoryWin32HandleProperties ) ) );
-    return createResultValue(
-      result, memoryWin32HandleProperties, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getMemoryZirconHandleFUCHSIA(
-    const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
-    zx_handle_t *                                                  pZirconHandle,
-    Dispatch const &                                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetMemoryZirconHandleFUCHSIA(
-      m_device, reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( pGetZirconHandleInfo ), pZirconHandle ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<zx_handle_t>::type
-    Device::getMemoryZirconHandleFUCHSIA( const MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,
-                                          Dispatch const &                         d ) const
-  {
-    zx_handle_t zirconHandle;
-    Result      result = static_cast<Result>( d.vkGetMemoryZirconHandleFUCHSIA(
-      m_device, reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), &zirconHandle ) );
-    return createResultValue(
-      result, zirconHandle, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getMemoryZirconHandlePropertiesFUCHSIA(
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits      handleType,
-    zx_handle_t                                                 ZirconHandle,
-    VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties,
-    Dispatch const &                                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetMemoryZirconHandlePropertiesFUCHSIA(
-      m_device,
-      static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-      ZirconHandle,
-      reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( pMemoryZirconHandleProperties ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>::type
-    Device::getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                                    zx_handle_t                                            ZirconHandle,
-                                                    Dispatch const &                                       d ) const
-  {
-    VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA memoryZirconHandleProperties;
-    Result result = static_cast<Result>( d.vkGetMemoryZirconHandlePropertiesFUCHSIA(
-      m_device,
-      static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ),
-      ZirconHandle,
-      reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( &memoryZirconHandleProperties ) ) );
-    return createResultValue( result,
-                              memoryZirconHandleProperties,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                             uint32_t *                         pPresentationTimingCount,
-                                             VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE * pPresentationTimings,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE(
-      m_device,
-      static_cast<VkSwapchainKHR>( swapchain ),
-      pPresentationTimingCount,
-      reinterpret_cast<VkPastPresentationTimingGOOGLE *>( pPresentationTimings ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PastPresentationTimingGOOGLE, Allocator>>::type
-    Device::getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const
-  {
-    std::vector<PastPresentationTimingGOOGLE, Allocator> presentationTimings;
-    uint32_t                                             presentationTimingCount;
-    Result                                               result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE(
-        m_device, static_cast<VkSwapchainKHR>( swapchain ), &presentationTimingCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && presentationTimingCount )
-      {
-        presentationTimings.resize( presentationTimingCount );
-        result = static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE(
-          m_device,
-          static_cast<VkSwapchainKHR>( swapchain ),
-          &presentationTimingCount,
-          reinterpret_cast<VkPastPresentationTimingGOOGLE *>( presentationTimings.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() );
-      presentationTimings.resize( presentationTimingCount );
-    }
-    return createResultValue(
-      result, presentationTimings, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PastPresentationTimingGOOGLE, Allocator>>::type
-    Device::getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                             Allocator const &                  vectorAllocator,
-                                             Dispatch const &                   d ) const
-  {
-    std::vector<PastPresentationTimingGOOGLE, Allocator> presentationTimings( vectorAllocator );
-    uint32_t                                             presentationTimingCount;
-    Result                                               result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE(
-        m_device, static_cast<VkSwapchainKHR>( swapchain ), &presentationTimingCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && presentationTimingCount )
-      {
-        presentationTimings.resize( presentationTimingCount );
-        result = static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE(
-          m_device,
-          static_cast<VkSwapchainKHR>( swapchain ),
-          &presentationTimingCount,
-          reinterpret_cast<VkPastPresentationTimingGOOGLE *>( presentationTimings.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() );
-      presentationTimings.resize( presentationTimingCount );
-    }
-    return createResultValue(
-      result, presentationTimings, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
-                                          VULKAN_HPP_NAMESPACE::PerformanceValueINTEL *       pValue,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetPerformanceParameterINTEL( m_device,
-                                        static_cast<VkPerformanceParameterTypeINTEL>( parameter ),
-                                        reinterpret_cast<VkPerformanceValueINTEL *>( pValue ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL>::type
-    Device::getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
-                                          Dispatch const &                                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::PerformanceValueINTEL value;
-    Result                                      result =
-      static_cast<Result>( d.vkGetPerformanceParameterINTEL( m_device,
-                                                             static_cast<VkPerformanceParameterTypeINTEL>( parameter ),
-                                                             reinterpret_cast<VkPerformanceValueINTEL *>( &value ) ) );
-    return createResultValue( result, value, VULKAN_HPP_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
-                                                         size_t *                            pDataSize,
-                                                         void *                              pData,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), pDataSize, pData ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-    Device::getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Dispatch const & d ) const
-  {
-    std::vector<uint8_t, Allocator> data;
-    size_t                          dataSize;
-    Result                          result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, nullptr ) );
-      if ( ( result == Result::eSuccess ) && dataSize )
-      {
-        data.resize( dataSize );
-        result = static_cast<Result>( d.vkGetPipelineCacheData( m_device,
-                                                                static_cast<VkPipelineCache>( pipelineCache ),
-                                                                &dataSize,
-                                                                reinterpret_cast<void *>( data.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( dataSize <= data.size() );
-      data.resize( dataSize );
-    }
-    return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Allocator>>::type Device::getPipelineCacheData(
-    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<uint8_t, Allocator> data( vectorAllocator );
-    size_t                          dataSize;
-    Result                          result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, nullptr ) );
-      if ( ( result == Result::eSuccess ) && dataSize )
-      {
-        data.resize( dataSize );
-        result = static_cast<Result>( d.vkGetPipelineCacheData( m_device,
-                                                                static_cast<VkPipelineCache>( pipelineCache ),
-                                                                &dataSize,
-                                                                reinterpret_cast<void *>( data.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( dataSize <= data.size() );
-      data.resize( dataSize );
-    }
-    return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getPipelineExecutableInternalRepresentationsKHR(
-    const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR *             pExecutableInfo,
-    uint32_t *                                                          pInternalRepresentationCount,
-    VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR * pInternalRepresentations,
-    Dispatch const &                                                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR(
-      m_device,
-      reinterpret_cast<const VkPipelineExecutableInfoKHR *>( pExecutableInfo ),
-      pInternalRepresentationCount,
-      reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( pInternalRepresentations ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutableInternalRepresentationKHR, Allocator>>::type
-    Device::getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                                             Dispatch const &                  d ) const
-  {
-    std::vector<PipelineExecutableInternalRepresentationKHR, Allocator> internalRepresentations;
-    uint32_t                                                            internalRepresentationCount;
-    Result                                                              result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR(
-        m_device,
-        reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-        &internalRepresentationCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && internalRepresentationCount )
-      {
-        internalRepresentations.resize( internalRepresentationCount );
-        result = static_cast<Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR(
-          m_device,
-          reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-          &internalRepresentationCount,
-          reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( internalRepresentations.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( internalRepresentationCount <= internalRepresentations.size() );
-      internalRepresentations.resize( internalRepresentationCount );
-    }
-    return createResultValue( result,
-                              internalRepresentations,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableInternalRepresentationsKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutableInternalRepresentationKHR, Allocator>>::type
-    Device::getPipelineExecutableInternalRepresentationsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                                             Allocator const &                 vectorAllocator,
-                                                             Dispatch const &                  d ) const
-  {
-    std::vector<PipelineExecutableInternalRepresentationKHR, Allocator> internalRepresentations( vectorAllocator );
-    uint32_t                                                            internalRepresentationCount;
-    Result                                                              result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR(
-        m_device,
-        reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-        &internalRepresentationCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && internalRepresentationCount )
-      {
-        internalRepresentations.resize( internalRepresentationCount );
-        result = static_cast<Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR(
-          m_device,
-          reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-          &internalRepresentationCount,
-          reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( internalRepresentations.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( internalRepresentationCount <= internalRepresentations.size() );
-      internalRepresentations.resize( internalRepresentationCount );
-    }
-    return createResultValue( result,
-                              internalRepresentations,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableInternalRepresentationsKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR * pPipelineInfo,
-                                                uint32_t *                                    pExecutableCount,
-                                                VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR * pProperties,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetPipelineExecutablePropertiesKHR( m_device,
-                                              reinterpret_cast<const VkPipelineInfoKHR *>( pPipelineInfo ),
-                                              pExecutableCount,
-                                              reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutablePropertiesKHR, Allocator>>::type
-    Device::getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo, Dispatch const & d ) const
-  {
-    std::vector<PipelineExecutablePropertiesKHR, Allocator> properties;
-    uint32_t                                                executableCount;
-    Result                                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPipelineExecutablePropertiesKHR(
-        m_device, reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), &executableCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && executableCount )
-      {
-        properties.resize( executableCount );
-        result = static_cast<Result>( d.vkGetPipelineExecutablePropertiesKHR(
-          m_device,
-          reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ),
-          &executableCount,
-          reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( executableCount <= properties.size() );
-      properties.resize( executableCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutablePropertiesKHR, Allocator>>::type
-    Device::getPipelineExecutablePropertiesKHR( const PipelineInfoKHR & pipelineInfo,
-                                                Allocator const &       vectorAllocator,
-                                                Dispatch const &        d ) const
-  {
-    std::vector<PipelineExecutablePropertiesKHR, Allocator> properties( vectorAllocator );
-    uint32_t                                                executableCount;
-    Result                                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPipelineExecutablePropertiesKHR(
-        m_device, reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), &executableCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && executableCount )
-      {
-        properties.resize( executableCount );
-        result = static_cast<Result>( d.vkGetPipelineExecutablePropertiesKHR(
-          m_device,
-          reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ),
-          &executableCount,
-          reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( executableCount <= properties.size() );
-      properties.resize( executableCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo,
-                                                uint32_t *                                              pStatisticCount,
-                                                VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR *  pStatistics,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetPipelineExecutableStatisticsKHR( m_device,
-                                              reinterpret_cast<const VkPipelineExecutableInfoKHR *>( pExecutableInfo ),
-                                              pStatisticCount,
-                                              reinterpret_cast<VkPipelineExecutableStatisticKHR *>( pStatistics ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutableStatisticKHR, Allocator>>::type
-    Device::getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                                Dispatch const &                  d ) const
-  {
-    std::vector<PipelineExecutableStatisticKHR, Allocator> statistics;
-    uint32_t                                               statisticCount;
-    Result                                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPipelineExecutableStatisticsKHR(
-        m_device,
-        reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-        &statisticCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && statisticCount )
-      {
-        statistics.resize( statisticCount );
-        result = static_cast<Result>( d.vkGetPipelineExecutableStatisticsKHR(
-          m_device,
-          reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-          &statisticCount,
-          reinterpret_cast<VkPipelineExecutableStatisticKHR *>( statistics.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( statisticCount <= statistics.size() );
-      statistics.resize( statisticCount );
-    }
-    return createResultValue(
-      result, statistics, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PipelineExecutableStatisticKHR, Allocator>>::type
-    Device::getPipelineExecutableStatisticsKHR( const PipelineExecutableInfoKHR & executableInfo,
-                                                Allocator const &                 vectorAllocator,
-                                                Dispatch const &                  d ) const
-  {
-    std::vector<PipelineExecutableStatisticKHR, Allocator> statistics( vectorAllocator );
-    uint32_t                                               statisticCount;
-    Result                                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPipelineExecutableStatisticsKHR(
-        m_device,
-        reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-        &statisticCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && statisticCount )
-      {
-        statistics.resize( statisticCount );
-        result = static_cast<Result>( d.vkGetPipelineExecutableStatisticsKHR(
-          m_device,
-          reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ),
-          &statisticCount,
-          reinterpret_cast<VkPipelineExecutableStatisticKHR *>( statistics.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( statisticCount <= statistics.size() );
-      statistics.resize( statisticCount );
-    }
-    return createResultValue(
-      result, statistics, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType         objectType,
-                                                    uint64_t                                 objectHandle,
-                                                    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                                    uint64_t *                               pData,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPrivateDataEXT( m_device,
-                           static_cast<VkObjectType>( objectType ),
-                           objectHandle,
-                           static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-                           pData );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint64_t Device::getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType         objectType,
-                                                        uint64_t                                 objectHandle,
-                                                        VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    uint64_t data;
-    d.vkGetPrivateDataEXT( m_device,
-                           static_cast<VkObjectType>( objectType ),
-                           objectHandle,
-                           static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-                           &data );
-    return data;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool        queryPool,
-                                                        uint32_t                               firstQuery,
-                                                        uint32_t                               queryCount,
-                                                        size_t                                 dataSize,
-                                                        void *                                 pData,
-                                                        VULKAN_HPP_NAMESPACE::DeviceSize       stride,
-                                                        VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetQueryPoolResults( m_device,
-                                                         static_cast<VkQueryPool>( queryPool ),
-                                                         firstQuery,
-                                                         queryCount,
-                                                         dataSize,
-                                                         pData,
-                                                         static_cast<VkDeviceSize>( stride ),
-                                                         static_cast<VkQueryResultFlags>( flags ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool        queryPool,
-                                                        uint32_t                               firstQuery,
-                                                        uint32_t                               queryCount,
-                                                        ArrayProxy<T> const &                  data,
-                                                        VULKAN_HPP_NAMESPACE::DeviceSize       stride,
-                                                        VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
-                                                        Dispatch const &                       d ) const
-  {
-    Result result = static_cast<Result>( d.vkGetQueryPoolResults( m_device,
-                                                                  static_cast<VkQueryPool>( queryPool ),
-                                                                  firstQuery,
-                                                                  queryCount,
-                                                                  data.size() * sizeof( T ),
-                                                                  reinterpret_cast<void *>( data.data() ),
-                                                                  static_cast<VkDeviceSize>( stride ),
-                                                                  static_cast<VkQueryResultFlags>( flags ) ) );
-    return createResultValue(
-      result, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResults", { Result::eSuccess, Result::eNotReady } );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                             uint32_t                       firstGroup,
-                                                             uint32_t                       groupCount,
-                                                             size_t                         dataSize,
-                                                             void *                         pData,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
-      m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                             uint32_t                       firstGroup,
-                                                             uint32_t                       groupCount,
-                                                             ArrayProxy<T> const &          data,
-                                                             Dispatch const &               d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( m_device,
-                                                           static_cast<VkPipeline>( pipeline ),
-                                                           firstGroup,
-                                                           groupCount,
-                                                           data.size() * sizeof( T ),
-                                                           reinterpret_cast<void *>( data.data() ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                                       uint32_t                       firstGroup,
-                                                                       uint32_t                       groupCount,
-                                                                       size_t                         dataSize,
-                                                                       void *                         pData,
-                                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesKHR(
-      m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                uint32_t                       firstGroup,
-                                                uint32_t                       groupCount,
-                                                ArrayProxy<T> const &          data,
-                                                Dispatch const &               d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesKHR( m_device,
-                                                                   static_cast<VkPipeline>( pipeline ),
-                                                                   firstGroup,
-                                                                   groupCount,
-                                                                   data.size() * sizeof( T ),
-                                                                   reinterpret_cast<void *>( data.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                                                      uint32_t                       firstGroup,
-                                                                      uint32_t                       groupCount,
-                                                                      size_t                         dataSize,
-                                                                      void *                         pData,
-                                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesNV(
-      m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
-                                               uint32_t                       firstGroup,
-                                               uint32_t                       groupCount,
-                                               ArrayProxy<T> const &          data,
-                                               Dispatch const &               d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesNV( m_device,
-                                                                  static_cast<VkPipeline>( pipeline ),
-                                                                  firstGroup,
-                                                                  groupCount,
-                                                                  data.size() * sizeof( T ),
-                                                                  reinterpret_cast<void *>( data.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesNV" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR                 swapchain,
-                                           VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE * pDisplayTimingProperties,
-                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetRefreshCycleDurationGOOGLE(
-      m_device,
-      static_cast<VkSwapchainKHR>( swapchain ),
-      reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( pDisplayTimingProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE>::type
-    Device::getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE displayTimingProperties;
-    Result                                           result = static_cast<Result>( d.vkGetRefreshCycleDurationGOOGLE(
-      m_device,
-      static_cast<VkSwapchainKHR>( swapchain ),
-      reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( &displayTimingProperties ) ) );
-    return createResultValue(
-      result, displayTimingProperties, VULKAN_HPP_NAMESPACE_STRING "::Device::getRefreshCycleDurationGOOGLE" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
-                                                           VULKAN_HPP_NAMESPACE::Extent2D * pGranularity,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetRenderAreaGranularity(
-      m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<VkExtent2D *>( pGranularity ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D
-                    Device::getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass,
-                                      Dispatch const &                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::Extent2D granularity;
-    d.vkGetRenderAreaGranularity(
-      m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<VkExtent2D *>( &granularity ) );
-    return granularity;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
-                                                             uint64_t *                      pValue,
-                                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetSemaphoreCounterValue( m_device, static_cast<VkSemaphore>( semaphore ), pValue ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type
-    Device::getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d ) const
-  {
-    uint64_t value;
-    Result   result =
-      static_cast<Result>( d.vkGetSemaphoreCounterValue( m_device, static_cast<VkSemaphore>( semaphore ), &value ) );
-    return createResultValue( result, value, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValue" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore,
-                                                                uint64_t *                      pValue,
-                                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetSemaphoreCounterValueKHR( m_device, static_cast<VkSemaphore>( semaphore ), pValue ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type
-    Device::getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d ) const
-  {
-    uint64_t value;
-    Result   result =
-      static_cast<Result>( d.vkGetSemaphoreCounterValueKHR( m_device, static_cast<VkSemaphore>( semaphore ), &value ) );
-    return createResultValue( result, value, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValueKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR * pGetFdInfo,
-                                                      int *                                               pFd,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetSemaphoreFdKHR( m_device, reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( pGetFdInfo ), pFd ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<int>::type
-    Device::getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR & getFdInfo, Dispatch const & d ) const
-  {
-    int    fd;
-    Result result = static_cast<Result>(
-      d.vkGetSemaphoreFdKHR( m_device, reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( &getFdInfo ), &fd ) );
-    return createResultValue( result, fd, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSemaphoreWin32HandleKHR(
-    const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
-    HANDLE *                                                     pHandle,
-    Dispatch const &                                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetSemaphoreWin32HandleKHR(
-      m_device, reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( pGetWin32HandleInfo ), pHandle ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type
-    Device::getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo,
-                                        Dispatch const &                       d ) const
-  {
-    HANDLE handle;
-    Result result = static_cast<Result>( d.vkGetSemaphoreWin32HandleKHR(
-      m_device, reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) );
-    return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSemaphoreZirconHandleFUCHSIA(
-    const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
-    zx_handle_t *                                                     pZirconHandle,
-    Dispatch const &                                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetSemaphoreZirconHandleFUCHSIA(
-      m_device,
-      reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( pGetZirconHandleInfo ),
-      pZirconHandle ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<zx_handle_t>::type
-    Device::getSemaphoreZirconHandleFUCHSIA( const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,
-                                             Dispatch const &                            d ) const
-  {
-    zx_handle_t zirconHandle;
-    Result      result = static_cast<Result>( d.vkGetSemaphoreZirconHandleFUCHSIA(
-      m_device,
-      reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ),
-      &zirconHandle ) );
-    return createResultValue(
-      result, zirconHandle, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline            pipeline,
-                                                     VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
-                                                     VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD   infoType,
-                                                     size_t *                                  pInfoSize,
-                                                     void *                                    pInfo,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetShaderInfoAMD( m_device,
-                                                      static_cast<VkPipeline>( pipeline ),
-                                                      static_cast<VkShaderStageFlagBits>( shaderStage ),
-                                                      static_cast<VkShaderInfoTypeAMD>( infoType ),
-                                                      pInfoSize,
-                                                      pInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-    Device::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline            pipeline,
-                              VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
-                              VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD   infoType,
-                              Dispatch const &                          d ) const
-  {
-    std::vector<uint8_t, Allocator> info;
-    size_t                          infoSize;
-    Result                          result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetShaderInfoAMD( m_device,
-                                                          static_cast<VkPipeline>( pipeline ),
-                                                          static_cast<VkShaderStageFlagBits>( shaderStage ),
-                                                          static_cast<VkShaderInfoTypeAMD>( infoType ),
-                                                          &infoSize,
-                                                          nullptr ) );
-      if ( ( result == Result::eSuccess ) && infoSize )
-      {
-        info.resize( infoSize );
-        result = static_cast<Result>( d.vkGetShaderInfoAMD( m_device,
-                                                            static_cast<VkPipeline>( pipeline ),
-                                                            static_cast<VkShaderStageFlagBits>( shaderStage ),
-                                                            static_cast<VkShaderInfoTypeAMD>( infoType ),
-                                                            &infoSize,
-                                                            reinterpret_cast<void *>( info.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( infoSize <= info.size() );
-      info.resize( infoSize );
-    }
-    return createResultValue( result, info, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-    Device::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline            pipeline,
-                              VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
-                              VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD   infoType,
-                              Allocator const &                         vectorAllocator,
-                              Dispatch const &                          d ) const
-  {
-    std::vector<uint8_t, Allocator> info( vectorAllocator );
-    size_t                          infoSize;
-    Result                          result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetShaderInfoAMD( m_device,
-                                                          static_cast<VkPipeline>( pipeline ),
-                                                          static_cast<VkShaderStageFlagBits>( shaderStage ),
-                                                          static_cast<VkShaderInfoTypeAMD>( infoType ),
-                                                          &infoSize,
-                                                          nullptr ) );
-      if ( ( result == Result::eSuccess ) && infoSize )
-      {
-        info.resize( infoSize );
-        result = static_cast<Result>( d.vkGetShaderInfoAMD( m_device,
-                                                            static_cast<VkPipeline>( pipeline ),
-                                                            static_cast<VkShaderStageFlagBits>( shaderStage ),
-                                                            static_cast<VkShaderInfoTypeAMD>( infoType ),
-                                                            &infoSize,
-                                                            reinterpret_cast<void *>( info.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( infoSize <= info.size() );
-      info.resize( infoSize );
-    }
-    return createResultValue( result, info, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSwapchainCounterEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR              swapchain,
-                                                           VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
-                                                           uint64_t *       pCounterValue,
-                                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetSwapchainCounterEXT( m_device,
-                                                            static_cast<VkSwapchainKHR>( swapchain ),
-                                                            static_cast<VkSurfaceCounterFlagBitsEXT>( counter ),
-                                                            pCounterValue ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type
-    Device::getSwapchainCounterEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR              swapchain,
-                                    VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
-                                    Dispatch const &                                d ) const
-  {
-    uint64_t counterValue;
-    Result   result =
-      static_cast<Result>( d.vkGetSwapchainCounterEXT( m_device,
-                                                       static_cast<VkSwapchainKHR>( swapchain ),
-                                                       static_cast<VkSurfaceCounterFlagBitsEXT>( counter ),
-                                                       &counterValue ) );
-    return createResultValue( result, counterValue, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainCounterEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                          uint32_t *                         pSwapchainImageCount,
-                                                          VULKAN_HPP_NAMESPACE::Image *      pSwapchainImages,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetSwapchainImagesKHR( m_device,
-                                                           static_cast<VkSwapchainKHR>( swapchain ),
-                                                           pSwapchainImageCount,
-                                                           reinterpret_cast<VkImage *>( pSwapchainImages ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<Image, Allocator>>::type
-    Device::getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const
-  {
-    std::vector<Image, Allocator> swapchainImages;
-    uint32_t                      swapchainImageCount;
-    Result                        result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetSwapchainImagesKHR(
-        m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && swapchainImageCount )
-      {
-        swapchainImages.resize( swapchainImageCount );
-        result =
-          static_cast<Result>( d.vkGetSwapchainImagesKHR( m_device,
-                                                          static_cast<VkSwapchainKHR>( swapchain ),
-                                                          &swapchainImageCount,
-                                                          reinterpret_cast<VkImage *>( swapchainImages.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() );
-      swapchainImages.resize( swapchainImageCount );
-    }
-    return createResultValue( result, swapchainImages, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<Image, Allocator>>::type Device::getSwapchainImagesKHR(
-    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<Image, Allocator> swapchainImages( vectorAllocator );
-    uint32_t                      swapchainImageCount;
-    Result                        result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetSwapchainImagesKHR(
-        m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && swapchainImageCount )
-      {
-        swapchainImages.resize( swapchainImageCount );
-        result =
-          static_cast<Result>( d.vkGetSwapchainImagesKHR( m_device,
-                                                          static_cast<VkSwapchainKHR>( swapchain ),
-                                                          &swapchainImageCount,
-                                                          reinterpret_cast<VkImage *>( swapchainImages.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() );
-      swapchainImages.resize( swapchainImageCount );
-    }
-    return createResultValue( result, swapchainImages, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetSwapchainStatusKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                          Dispatch const & d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkGetSwapchainStatusKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainStatusKHR",
-                              { Result::eSuccess, Result::eSuboptimalKHR } );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                                              size_t *                                 pDataSize,
-                                                              void *                                   pData,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetValidationCacheDataEXT(
-      m_device, static_cast<VkValidationCacheEXT>( validationCache ), pDataSize, pData ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-    Device::getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                       Dispatch const &                         d ) const
-  {
-    std::vector<uint8_t, Allocator> data;
-    size_t                          dataSize;
-    Result                          result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetValidationCacheDataEXT(
-        m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, nullptr ) );
-      if ( ( result == Result::eSuccess ) && dataSize )
-      {
-        data.resize( dataSize );
-        result =
-          static_cast<Result>( d.vkGetValidationCacheDataEXT( m_device,
-                                                              static_cast<VkValidationCacheEXT>( validationCache ),
-                                                              &dataSize,
-                                                              reinterpret_cast<void *>( data.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( dataSize <= data.size() );
-      data.resize( dataSize );
-    }
-    return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Allocator>>::type
-    Device::getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
-                                       Allocator const &                        vectorAllocator,
-                                       Dispatch const &                         d ) const
-  {
-    std::vector<uint8_t, Allocator> data( vectorAllocator );
-    size_t                          dataSize;
-    Result                          result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetValidationCacheDataEXT(
-        m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, nullptr ) );
-      if ( ( result == Result::eSuccess ) && dataSize )
-      {
-        data.resize( dataSize );
-        result =
-          static_cast<Result>( d.vkGetValidationCacheDataEXT( m_device,
-                                                              static_cast<VkValidationCacheEXT>( validationCache ),
-                                                              &dataSize,
-                                                              reinterpret_cast<void *>( data.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( dataSize <= data.size() );
-      data.resize( dataSize );
-    }
-    return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR * pImportFenceFdInfo,
-                              Dispatch const &                                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkImportFenceFdKHR( m_device, reinterpret_cast<const VkImportFenceFdInfoKHR *>( pImportFenceFdInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::importFenceFdKHR( const ImportFenceFdInfoKHR & importFenceFdInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkImportFenceFdKHR( m_device, reinterpret_cast<const VkImportFenceFdInfoKHR *>( &importFenceFdInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceFdKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::importFenceWin32HandleKHR(
-    const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo,
-    Dispatch const &                                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkImportFenceWin32HandleKHR(
-      m_device, reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( pImportFenceWin32HandleInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo,
-                                       Dispatch const &                      d ) const
-  {
-    Result result = static_cast<Result>( d.vkImportFenceWin32HandleKHR(
-      m_device, reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( &importFenceWin32HandleInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo,
-                                  Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkImportSemaphoreFdKHR(
-      m_device, reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( pImportSemaphoreFdInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkImportSemaphoreFdKHR(
-      m_device, reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( &importSemaphoreFdInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::importSemaphoreWin32HandleKHR(
-    const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo,
-    Dispatch const &                                                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkImportSemaphoreWin32HandleKHR(
-      m_device, reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( pImportSemaphoreWin32HandleInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo,
-                                           Dispatch const &                          d ) const
-  {
-    Result result = static_cast<Result>( d.vkImportSemaphoreWin32HandleKHR(
-      m_device, reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( &importSemaphoreWin32HandleInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::importSemaphoreZirconHandleFUCHSIA(
-    const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo,
-    Dispatch const &                                                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkImportSemaphoreZirconHandleFUCHSIA(
-      m_device,
-      reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( pImportSemaphoreZirconHandleInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::importSemaphoreZirconHandleFUCHSIA(
-    const ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkImportSemaphoreZirconHandleFUCHSIA(
-      m_device,
-      reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( &importSemaphoreZirconHandleInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::initializePerformanceApiINTEL(
-    const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL * pInitializeInfo,
-    Dispatch const &                                                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkInitializePerformanceApiINTEL(
-      m_device, reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( pInitializeInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::initializePerformanceApiINTEL( const InitializePerformanceApiInfoINTEL & initializeInfo,
-                                           Dispatch const &                          d ) const
-  {
-    Result result = static_cast<Result>( d.vkInitializePerformanceApiINTEL(
-      m_device, reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( &initializeInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::invalidateMappedMemoryRanges( uint32_t                                        memoryRangeCount,
-                                          const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,
-                                          Dispatch const &                                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkInvalidateMappedMemoryRanges(
-      m_device, memoryRangeCount, reinterpret_cast<const VkMappedMemoryRange *>( pMemoryRanges ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::invalidateMappedMemoryRanges(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkInvalidateMappedMemoryRanges(
-      m_device, memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory   memory,
-                                              VULKAN_HPP_NAMESPACE::DeviceSize     offset,
-                                              VULKAN_HPP_NAMESPACE::DeviceSize     size,
-                                              VULKAN_HPP_NAMESPACE::MemoryMapFlags flags,
-                                              void **                              ppData,
-                                              Dispatch const &                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkMapMemory( m_device,
-                                               static_cast<VkDeviceMemory>( memory ),
-                                               static_cast<VkDeviceSize>( offset ),
-                                               static_cast<VkDeviceSize>( size ),
-                                               static_cast<VkMemoryMapFlags>( flags ),
-                                               ppData ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void *>::type
-    Device::mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory   memory,
-                       VULKAN_HPP_NAMESPACE::DeviceSize     offset,
-                       VULKAN_HPP_NAMESPACE::DeviceSize     size,
-                       VULKAN_HPP_NAMESPACE::MemoryMapFlags flags,
-                       Dispatch const &                     d ) const
-  {
-    void * pData;
-    Result result = static_cast<Result>( d.vkMapMemory( m_device,
-                                                        static_cast<VkDeviceMemory>( memory ),
-                                                        static_cast<VkDeviceSize>( offset ),
-                                                        static_cast<VkDeviceSize>( size ),
-                                                        static_cast<VkMemoryMapFlags>( flags ),
-                                                        &pData ) );
-    return createResultValue( result, pData, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache         dstCache,
-                                                        uint32_t                                    srcCacheCount,
-                                                        const VULKAN_HPP_NAMESPACE::PipelineCache * pSrcCaches,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkMergePipelineCaches( m_device,
-                                                         static_cast<VkPipelineCache>( dstCache ),
-                                                         srcCacheCount,
-                                                         reinterpret_cast<const VkPipelineCache *>( pSrcCaches ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache                           dstCache,
-                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches,
-                                 Dispatch const &                                              d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkMergePipelineCaches( m_device,
-                                                    static_cast<VkPipelineCache>( dstCache ),
-                                                    srcCaches.size(),
-                                                    reinterpret_cast<const VkPipelineCache *>( srcCaches.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mergePipelineCaches" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT         dstCache,
-                                      uint32_t                                         srcCacheCount,
-                                      const VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pSrcCaches,
-                                      Dispatch const &                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkMergeValidationCachesEXT( m_device,
-                                    static_cast<VkValidationCacheEXT>( dstCache ),
-                                    srcCacheCount,
-                                    reinterpret_cast<const VkValidationCacheEXT *>( pSrcCaches ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT                           dstCache,
-                                      ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches,
-                                      Dispatch const &                                                   d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkMergeValidationCachesEXT( m_device,
-                                    static_cast<VkValidationCacheEXT>( dstCache ),
-                                    srcCaches.size(),
-                                    reinterpret_cast<const VkValidationCacheEXT *>( srcCaches.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mergeValidationCachesEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  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
-  {
-    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 Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<MemoryOpResultFUCHSIA, Allocator>>::type
-    Device::modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
-                                       ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
-                                       Dispatch const &                                                   d ) const
-  {
-    std::vector<MemoryOpResultFUCHSIA, Allocator> 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 Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<MemoryOpResultFUCHSIA, Allocator>>::type
-    Device::modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
-                                       ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
-                                       Allocator const & vectorAllocator,
-                                       Dispatch const &  d ) const
-  {
-    std::vector<MemoryOpResultFUCHSIA, Allocator> opResults( memoryRanges.size(), vectorAllocator );
-    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_INLINE typename ResultValueType<MemoryOpResultFUCHSIA>::type Device::modifyMemoryRangeFUCHSIA(
-    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA op, const MemoryRangeFUCHSIA & memoryRange, Dispatch const & d ) const
-  {
-    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*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::registerEventEXT( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT *  pDeviceEventInfo,
-                                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                     VULKAN_HPP_NAMESPACE::Fence *                     pFence,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkRegisterDeviceEventEXT( m_device,
-                                  reinterpret_cast<const VkDeviceEventInfoEXT *>( pDeviceEventInfo ),
-                                  reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                  reinterpret_cast<VkFence *>( pFence ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
-    Device::registerEventEXT( const DeviceEventInfoEXT &          deviceEventInfo,
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::CommandPool>::type
+    Device::createCommandPool(const CommandPoolCreateInfo &createInfo,
                               Optional<const AllocationCallbacks> allocator,
-                              Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Fence fence;
-    Result                      result = static_cast<Result>( d.vkRegisterDeviceEventEXT(
+                              Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::CommandPool commandPool;
+  Result result = static_cast<Result>(d.vkCreateCommandPool(
+      m_device, reinterpret_cast<const VkCommandPoolCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkCommandPool *>(&commandPool)));
+  return createResultValue(result, commandPool,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createCommandPool");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::CommandPool, Dispatch>>::type
+    Device::createCommandPoolUnique(
+        const CommandPoolCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::CommandPool commandPool;
+  Result result = static_cast<Result>(d.vkCreateCommandPool(
+      m_device, reinterpret_cast<const VkCommandPoolCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkCommandPool *>(&commandPool)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::CommandPool, Dispatch>(
+      result, commandPool,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPoolUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createComputePipelines(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, uint32_t createInfoCount,
+    const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo *pCreateInfos,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateComputePipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfoCount,
+      reinterpret_cast<const VkComputePipelineCreateInfo *>(pCreateInfos),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkPipeline *>(pPipelines)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PipelineAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, PipelineAllocator>>
+    Device::createComputePipelines(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateComputePipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkComputePipelineCreateInfo *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename PipelineAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, Pipeline>::value, int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, PipelineAllocator>>
+    Device::createComputePipelines(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size(),
+                                                     pipelineAllocator);
+  Result result = static_cast<Result>(d.vkCreateComputePipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkComputePipelineCreateInfo *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<Pipeline>
+Device::createComputePipeline(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateComputePipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkComputePipelineCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  return createResultValue(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipeline",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch, typename PipelineAllocator>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createComputePipelinesUnique(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines;
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateComputePipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkComputePipelineCreateInfo *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
+    }
+  }
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch, typename PipelineAllocator, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           UniqueHandle<Pipeline, Dispatch>>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createComputePipelinesUnique(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator,
+    PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines(pipelineAllocator);
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateComputePipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkComputePipelineCreateInfo *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
+    }
+  }
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
+    Device::createComputePipelineUnique(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateComputePipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkComputePipelineCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<Pipeline, Dispatch>(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelineUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT},
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createDeferredOperationKHR(
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR *pDeferredOperation,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDeferredOperationKHR(
+      m_device, reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDeferredOperationKHR *>(pDeferredOperation)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::type
+    Device::createDeferredOperationKHR(
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation;
+  Result result = static_cast<Result>(d.vkCreateDeferredOperationKHR(
       m_device,
-      reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFence *>( &fence ) ) );
-    return createResultValue( result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXT" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Fence, Dispatch>>::type
-    Device::registerEventEXTUnique( const DeviceEventInfoEXT &          deviceEventInfo,
-                                    Optional<const AllocationCallbacks> allocator,
-                                    Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Fence fence;
-    Result                      result = static_cast<Result>( d.vkRegisterDeviceEventEXT(
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDeferredOperationKHR *>(&deferredOperation)));
+  return createResultValue(result, deferredOperation,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createDeferredOperationKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::DeferredOperationKHR, Dispatch>>::type
+Device::createDeferredOperationKHRUnique(
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation;
+  Result result = static_cast<Result>(d.vkCreateDeferredOperationKHR(
       m_device,
-      reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFence *>( &fence ) ) );
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDeferredOperationKHR *>(&deferredOperation)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DeferredOperationKHR,
+                           Dispatch>(
+      result, deferredOperation,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Fence, Dispatch>(
-      result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXTUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR                  display,
-                                     const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT * pDisplayEventInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                     VULKAN_HPP_NAMESPACE::Fence *                     pFence,
-                                     Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkRegisterDisplayEventEXT( m_device,
-                                   static_cast<VkDisplayKHR>( display ),
-                                   reinterpret_cast<const VkDisplayEventInfoEXT *>( pDisplayEventInfo ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                   reinterpret_cast<VkFence *>( pFence ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
-    Device::registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR    display,
-                                     const DisplayEventInfoEXT &         displayEventInfo,
-                                     Optional<const AllocationCallbacks> allocator,
-                                     Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Fence fence;
-    Result                      result = static_cast<Result>( d.vkRegisterDisplayEventEXT(
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorPool(
+    const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DescriptorPool *pDescriptorPool,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDescriptorPool(
       m_device,
-      static_cast<VkDisplayKHR>( display ),
-      reinterpret_cast<const VkDisplayEventInfoEXT *>( &displayEventInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFence *>( &fence ) ) );
-    return createResultValue( result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXT" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Fence, Dispatch>>::type
-    Device::registerDisplayEventEXTUnique( VULKAN_HPP_NAMESPACE::DisplayKHR    display,
-                                           const DisplayEventInfoEXT &         displayEventInfo,
-                                           Optional<const AllocationCallbacks> allocator,
-                                           Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Fence fence;
-    Result                      result = static_cast<Result>( d.vkRegisterDisplayEventEXT(
+      reinterpret_cast<const VkDescriptorPoolCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDescriptorPool *>(pDescriptorPool)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorPool>::type
+    Device::createDescriptorPool(const DescriptorPoolCreateInfo &createInfo,
+                                 Optional<const AllocationCallbacks> allocator,
+                                 Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool;
+  Result result = static_cast<Result>(d.vkCreateDescriptorPool(
       m_device,
-      static_cast<VkDisplayKHR>( display ),
-      reinterpret_cast<const VkDisplayEventInfoEXT *>( &displayEventInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkFence *>( &fence ) ) );
+      reinterpret_cast<const VkDescriptorPoolCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorPool *>(&descriptorPool)));
+  return createResultValue(result, descriptorPool,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createDescriptorPool");
+}
 
-    ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<Fence, Dispatch>(
-      result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXTUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
-                                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkReleaseFullScreenExclusiveModeEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
-  }
-#  else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkReleaseFullScreenExclusiveModeEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseFullScreenExclusiveModeEXT" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::releasePerformanceConfigurationINTEL(
-    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkReleasePerformanceConfigurationINTEL(
-      m_device, static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
-                                                  Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkReleasePerformanceConfigurationINTEL(
-      m_device, static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releasePerformanceConfigurationINTEL" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::releaseProfilingLockKHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkReleaseProfilingLockKHR( m_device );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::releaseProfilingLockKHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkReleaseProfilingLockKHR( m_device );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool           commandPool,
-                                                     VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkResetCommandPool(
-      m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
-                              VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
-                              Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkResetCommandPool(
-      m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetCommandPool" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool           descriptorPool,
-                                                        VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkResetDescriptorPool(
-      m_device, static_cast<VkDescriptorPool>( descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
-                                 VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,
-                                 Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkResetDescriptorPool(
-      m_device, static_cast<VkDescriptorPool>( descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetDescriptorPool" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::resetEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                               Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkResetEvent( m_device, static_cast<VkEvent>( event ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::resetEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                                                             Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkResetEvent( m_device, static_cast<VkEvent>( event ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetEvent" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::resetFences( uint32_t                            fenceCount,
-                                                const VULKAN_HPP_NAMESPACE::Fence * pFences,
-                                                Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkResetFences( m_device, fenceCount, reinterpret_cast<const VkFence *>( pFences ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::resetFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkResetFences( m_device, fences.size(), reinterpret_cast<const VkFence *>( fences.data() ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetFences" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                 uint32_t                        firstQuery,
-                                                 uint32_t                        queryCount,
-                                                 Dispatch const &                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkResetQueryPool( m_device, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                 uint32_t firstQuery,
-                                                 uint32_t queryCount,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkResetQueryPool( m_device, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::resetQueryPoolEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                    uint32_t                        firstQuery,
-                                                    uint32_t                        queryCount,
-                                                    Dispatch const &                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkResetQueryPoolEXT( m_device, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::resetQueryPoolEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
-                                                    uint32_t firstQuery,
-                                                    uint32_t queryCount,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkResetQueryPoolEXT( m_device, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::setBufferCollectionBufferConstraintsFUCHSIA(
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA              collection,
-    const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo,
-    Dispatch const &                                           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkSetBufferCollectionBufferConstraintsFUCHSIA(
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorPool, Dispatch>>::type
+    Device::createDescriptorPoolUnique(
+        const DescriptorPoolCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool;
+  Result result = static_cast<Result>(d.vkCreateDescriptorPool(
       m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( pBufferConstraintsInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setBufferCollectionBufferConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                         const BufferConstraintsInfoFUCHSIA & bufferConstraintsInfo,
-                                                         Dispatch const &                     d ) const
-  {
-    Result result = static_cast<Result>( d.vkSetBufferCollectionBufferConstraintsFUCHSIA(
+      reinterpret_cast<const VkDescriptorPoolCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorPool *>(&descriptorPool)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DescriptorPool, Dispatch>(
+      result, descriptorPool,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPoolUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorSetLayout(
+    const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDescriptorSetLayout(
       m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( &bufferConstraintsInfo ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionBufferConstraintsFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDescriptorSetLayout *>(pSetLayout)));
+}
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Device::setBufferCollectionConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                   const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pImageInfo,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkSetBufferCollectionConstraintsFUCHSIA( m_device,
-                                                 static_cast<VkBufferCollectionFUCHSIA>( collection ),
-                                                 reinterpret_cast<const VkImageCreateInfo *>( pImageInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setBufferCollectionConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                   const ImageCreateInfo &                       imageInfo,
-                                                   Dispatch const &                              d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkSetBufferCollectionConstraintsFUCHSIA( m_device,
-                                                 static_cast<VkBufferCollectionFUCHSIA>( collection ),
-                                                 reinterpret_cast<const VkImageCreateInfo *>( &imageInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionConstraintsFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::setBufferCollectionImageConstraintsFUCHSIA(
-    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA             collection,
-    const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA * pImageConstraintsInfo,
-    Dispatch const &                                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkSetBufferCollectionImageConstraintsFUCHSIA(
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>::type
+    Device::createDescriptorSetLayout(
+        const DescriptorSetLayoutCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout;
+  Result result = static_cast<Result>(d.vkCreateDescriptorSetLayout(
       m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( pImageConstraintsInfo ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setBufferCollectionImageConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
-                                                        const ImageConstraintsInfoFUCHSIA & imageConstraintsInfo,
-                                                        Dispatch const &                    d ) const
-  {
-    Result result = static_cast<Result>( d.vkSetBufferCollectionImageConstraintsFUCHSIA(
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorSetLayout *>(&setLayout)));
+  return createResultValue(result, setLayout,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createDescriptorSetLayout");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSetLayout, Dispatch>>::type
+    Device::createDescriptorSetLayoutUnique(
+        const DescriptorSetLayoutCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout;
+  Result result = static_cast<Result>(d.vkCreateDescriptorSetLayout(
       m_device,
-      static_cast<VkBufferCollectionFUCHSIA>( collection ),
-      reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( &imageConstraintsInfo ) ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionImageConstraintsFUCHSIA" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_FUCHSIA*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::setDebugUtilsObjectNameEXT(
-    const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT * pNameInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkSetDebugUtilsObjectNameEXT(
-      m_device, reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( pNameInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT & nameInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkSetDebugUtilsObjectNameEXT(
-      m_device, reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( &nameInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" );
-  }
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorSetLayout *>(&setLayout)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DescriptorSetLayout, Dispatch>(
+      result, setLayout,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayoutUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::setDebugUtilsObjectTagEXT(
-    const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT * pTagInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkSetDebugUtilsObjectTagEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( pTagInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT & tagInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkSetDebugUtilsObjectTagEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( &tagInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::setEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                             Dispatch const &            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkSetEvent( m_device, static_cast<VkEvent>( event ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setEvent( VULKAN_HPP_NAMESPACE::Event event,
-                                                                           Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkSetEvent( m_device, static_cast<VkEvent>( event ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setEvent" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( uint32_t                                     swapchainCount,
-                                                    const VULKAN_HPP_NAMESPACE::SwapchainKHR *   pSwapchains,
-                                                    const VULKAN_HPP_NAMESPACE::HdrMetadataEXT * pMetadata,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkSetHdrMetadataEXT( m_device,
-                           swapchainCount,
-                           reinterpret_cast<const VkSwapchainKHR *>( pSwapchains ),
-                           reinterpret_cast<const VkHdrMetadataEXT *>( pMetadata ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::setHdrMetadataEXT( ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &   swapchains,
-                               ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata,
-                               Dispatch const &                                               d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( swapchains.size() == metadata.size() );
-#  else
-    if ( swapchains.size() != metadata.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkDevice::setHdrMetadataEXT: swapchains.size() != metadata.size()" );
-    }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkSetHdrMetadataEXT( m_device,
-                           swapchains.size(),
-                           reinterpret_cast<const VkSwapchainKHR *>( swapchains.data() ),
-                           reinterpret_cast<const VkHdrMetadataEXT *>( metadata.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::setLocalDimmingAMD( VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain,
-                                                     VULKAN_HPP_NAMESPACE::Bool32       localDimmingEnable,
-                                                     Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkSetLocalDimmingAMD(
-      m_device, static_cast<VkSwapchainKHR>( swapChain ), static_cast<VkBool32>( localDimmingEnable ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::setLocalDimmingAMD( VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain,
-                                                     VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkSetLocalDimmingAMD(
-      m_device, static_cast<VkSwapchainKHR>( swapChain ), static_cast<VkBool32>( localDimmingEnable ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType         objectType,
-                                                      uint64_t                                 objectHandle,
-                                                      VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                                                      uint64_t                                 data,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkSetPrivateDataEXT( m_device,
-                                                       static_cast<VkObjectType>( objectType ),
-                                                       objectHandle,
-                                                       static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-                                                       data ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType,
-                               uint64_t objectHandle,
-                               VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
-                               uint64_t data,
-                               Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkSetPrivateDataEXT( m_device,
-                                                                static_cast<VkObjectType>( objectType ),
-                                                                objectHandle,
-                                                                static_cast<VkPrivateDataSlotEXT>( privateDataSlot ),
-                                                                data ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateDataEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkSignalSemaphore( m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>( pSignalInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::signalSemaphore( const SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkSignalSemaphore( m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphore" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkSignalSemaphoreKHR( m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>( pSignalInfo ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::signalSemaphoreKHR( const SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkSignalSemaphoreKHR( m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphoreKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::trimCommandPool( VULKAN_HPP_NAMESPACE::CommandPool          commandPool,
-                                                  VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkTrimCommandPool(
-      m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::trimCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
-                                                  VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkTrimCommandPool(
-      m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::trimCommandPoolKHR( VULKAN_HPP_NAMESPACE::CommandPool          commandPool,
-                                                     VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkTrimCommandPoolKHR(
-      m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::trimCommandPoolKHR( VULKAN_HPP_NAMESPACE::CommandPool commandPool,
-                                                     VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkTrimCommandPoolKHR(
-      m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  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
-  {
-    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
-  {
-    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*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUninitializePerformanceApiINTEL( m_device );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUninitializePerformanceApiINTEL( m_device );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::unmapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                              Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUnmapMemory( m_device, static_cast<VkDeviceMemory>( memory ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Device::unmapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUnmapMemory( m_device, static_cast<VkDeviceMemory>( memory ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::updateDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorSet            descriptorSet,
-                                             VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                             const void *                                   pData,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUpdateDescriptorSetWithTemplate( m_device,
-                                         static_cast<VkDescriptorSet>( descriptorSet ),
-                                         static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                         pData );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::updateDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
-                                             VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                             const void * pData,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUpdateDescriptorSetWithTemplate( m_device,
-                                         static_cast<VkDescriptorSet>( descriptorSet ),
-                                         static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                         pData );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::updateDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorSet            descriptorSet,
-                                                VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                                const void *                                   pData,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUpdateDescriptorSetWithTemplateKHR( m_device,
-                                            static_cast<VkDescriptorSet>( descriptorSet ),
-                                            static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                            pData );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::updateDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
-                                                VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
-                                                const void * pData,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUpdateDescriptorSetWithTemplateKHR( m_device,
-                                            static_cast<VkDescriptorSet>( descriptorSet ),
-                                            static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ),
-                                            pData );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::updateDescriptorSets( uint32_t                                         descriptorWriteCount,
-                                  const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,
-                                  uint32_t                                         descriptorCopyCount,
-                                  const VULKAN_HPP_NAMESPACE::CopyDescriptorSet *  pDescriptorCopies,
-                                  Dispatch const &                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUpdateDescriptorSets( m_device,
-                              descriptorWriteCount,
-                              reinterpret_cast<const VkWriteDescriptorSet *>( pDescriptorWrites ),
-                              descriptorCopyCount,
-                              reinterpret_cast<const VkCopyDescriptorSet *>( pDescriptorCopies ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Device::updateDescriptorSets( ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,
-                                  ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const &  descriptorCopies,
-                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkUpdateDescriptorSets( m_device,
-                              descriptorWrites.size(),
-                              reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ),
-                              descriptorCopies.size(),
-                              reinterpret_cast<const VkCopyDescriptorSet *>( descriptorCopies.data() ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::waitForFences( uint32_t                            fenceCount,
-                                                  const VULKAN_HPP_NAMESPACE::Fence * pFences,
-                                                  VULKAN_HPP_NAMESPACE::Bool32        waitAll,
-                                                  uint64_t                            timeout,
-                                                  Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkWaitForFences(
-      m_device, fenceCount, reinterpret_cast<const VkFence *>( pFences ), static_cast<VkBool32>( waitAll ), timeout ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
-                                                  VULKAN_HPP_NAMESPACE::Bool32                          waitAll,
-                                                  uint64_t                                              timeout,
-                                                  Dispatch const &                                      d ) const
-  {
-    Result result = static_cast<Result>( d.vkWaitForFences( m_device,
-                                                            fences.size(),
-                                                            reinterpret_cast<const VkFence *>( fences.data() ),
-                                                            static_cast<VkBool32>( waitAll ),
-                                                            timeout ) );
-    return createResultValue(
-      result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences", { Result::eSuccess, Result::eTimeout } );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,
-                                                   uint64_t                                        timeout,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkWaitSemaphores( m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>( pWaitInfo ), timeout ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::waitSemaphores( const SemaphoreWaitInfo & waitInfo,
-                                                   uint64_t                  timeout,
-                                                   Dispatch const &          d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkWaitSemaphores( m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) );
-    return createResultValue(
-      result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores", { Result::eSuccess, Result::eTimeout } );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,
-                                                      uint64_t                                        timeout,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkWaitSemaphoresKHR( m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>( pWaitInfo ), timeout ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::waitSemaphoresKHR( const SemaphoreWaitInfo & waitInfo,
-                                                      uint64_t                  timeout,
-                                                      Dispatch const &          d ) const
-  {
-    Result result = static_cast<Result>(
-      d.vkWaitSemaphoresKHR( m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) );
-    return createResultValue(
-      result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR", { Result::eSuccess, Result::eTimeout } );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Device::writeAccelerationStructuresPropertiesKHR(
-    uint32_t                                               accelerationStructureCount,
-    const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,
-    VULKAN_HPP_NAMESPACE::QueryType                        queryType,
-    size_t                                                 dataSize,
-    void *                                                 pData,
-    size_t                                                 stride,
-    Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkWriteAccelerationStructuresPropertiesKHR(
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createDescriptorUpdateTemplate(
+    const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate *pDescriptorUpdateTemplate,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDescriptorUpdateTemplate(
       m_device,
-      accelerationStructureCount,
-      reinterpret_cast<const VkAccelerationStructureKHR *>( pAccelerationStructures ),
-      static_cast<VkQueryType>( queryType ),
-      dataSize,
-      pData,
-      stride ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename T, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::writeAccelerationStructuresPropertiesKHR(
-    ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,
-    VULKAN_HPP_NAMESPACE::QueryType                                          queryType,
-    ArrayProxy<T> const &                                                    data,
-    size_t                                                                   stride,
-    Dispatch const &                                                         d ) const
-  {
-    Result result = static_cast<Result>( d.vkWriteAccelerationStructuresPropertiesKHR(
+      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(
+          pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDescriptorUpdateTemplate *>(
+          pDescriptorUpdateTemplate)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
+    Device::createDescriptorUpdateTemplate(
+        const DescriptorUpdateTemplateCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
+  Result result = static_cast<Result>(d.vkCreateDescriptorUpdateTemplate(
       m_device,
-      accelerationStructures.size(),
-      reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ),
-      static_cast<VkQueryType>( queryType ),
-      data.size() * sizeof( T ),
-      reinterpret_cast<void *>( data.data() ),
-      stride ) );
-    return createResultValue( result,
-                              VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_ENABLE_BETA_EXTENSIONS*/
+      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorUpdateTemplate *>(
+          &descriptorUpdateTemplate)));
+  return createResultValue(result, descriptorUpdateTemplate,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createDescriptorUpdateTemplate");
+}
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createAndroidSurfaceKHR( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR * pCreateInfo,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks *         pAllocator,
-                                       VULKAN_HPP_NAMESPACE::SurfaceKHR *                        pSurface,
-                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateAndroidSurfaceKHR( m_instance,
-                                   reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( pCreateInfo ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                   reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createAndroidSurfaceKHR( const AndroidSurfaceCreateInfoKHR & createInfo,
-                                       Optional<const AllocationCallbacks> allocator,
-                                       Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateAndroidSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHR" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createAndroidSurfaceKHRUnique( const AndroidSurfaceCreateInfoKHR & createInfo,
-                                             Optional<const AllocationCallbacks> allocator,
-                                             Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateAndroidSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>>::type
+    Device::createDescriptorUpdateTemplateUnique(
+        const DescriptorUpdateTemplateCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
+  Result result = static_cast<Result>(d.vkCreateDescriptorUpdateTemplate(
+      m_device,
+      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorUpdateTemplate *>(
+          &descriptorUpdateTemplate)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate,
+                           Dispatch>(
+      result, descriptorUpdateTemplate,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createDescriptorUpdateTemplateUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHRUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_ANDROID_KHR*/
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createDescriptorUpdateTemplateKHR(
+    const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate *pDescriptorUpdateTemplate,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDescriptorUpdateTemplateKHR(
+      m_device,
+      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(
+          pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDescriptorUpdateTemplate *>(
+          pDescriptorUpdateTemplate)));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createDebugReportCallbackEXT( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT * pCreateInfo,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                            VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT *                 pCallback,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDebugReportCallbackEXT( m_instance,
-                                        reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( pCreateInfo ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                        reinterpret_cast<VkDebugReportCallbackEXT *>( pCallback ) ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::type
-    Instance::createDebugReportCallbackEXT( const DebugReportCallbackCreateInfoEXT & createInfo,
-                                            Optional<const AllocationCallbacks>      allocator,
-                                            Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback;
-    Result                                       result = static_cast<Result>( d.vkCreateDebugReportCallbackEXT(
-      m_instance,
-      reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDebugReportCallbackEXT *>( &callback ) ) );
-    return createResultValue(
-      result, callback, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXT" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DebugReportCallbackEXT, Dispatch>>::type
-    Instance::createDebugReportCallbackEXTUnique( const DebugReportCallbackCreateInfoEXT & createInfo,
-                                                  Optional<const AllocationCallbacks>      allocator,
-                                                  Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback;
-    Result                                       result = static_cast<Result>( d.vkCreateDebugReportCallbackEXT(
-      m_instance,
-      reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDebugReportCallbackEXT *>( &callback ) ) );
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type
+    Device::createDescriptorUpdateTemplateKHR(
+        const DescriptorUpdateTemplateCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
+  Result result = static_cast<Result>(d.vkCreateDescriptorUpdateTemplateKHR(
+      m_device,
+      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorUpdateTemplate *>(
+          &descriptorUpdateTemplate)));
+  return createResultValue(result, descriptorUpdateTemplate,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createDescriptorUpdateTemplateKHR");
+}
 
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DebugReportCallbackEXT, Dispatch>(
-      result, callback, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXTUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>>::type
+    Device::createDescriptorUpdateTemplateKHRUnique(
+        const DescriptorUpdateTemplateCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate;
+  Result result = static_cast<Result>(d.vkCreateDescriptorUpdateTemplateKHR(
+      m_device,
+      reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDescriptorUpdateTemplate *>(
+          &descriptorUpdateTemplate)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate,
+                           Dispatch>(
+      result, descriptorUpdateTemplate,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createDescriptorUpdateTemplateKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createDebugUtilsMessengerEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT * pCreateInfo,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks *              pAllocator,
-                                            VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT *                 pMessenger,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDebugUtilsMessengerEXT( m_instance,
-                                        reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( pCreateInfo ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                        reinterpret_cast<VkDebugUtilsMessengerEXT *>( pMessenger ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createEvent(const VULKAN_HPP_NAMESPACE::EventCreateInfo *pCreateInfo,
+                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                    VULKAN_HPP_NAMESPACE::Event *pEvent,
+                    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateEvent(
+      m_device, reinterpret_cast<const VkEventCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkEvent *>(pEvent)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::type
-    Instance::createDebugUtilsMessengerEXT( const DebugUtilsMessengerCreateInfoEXT & createInfo,
-                                            Optional<const AllocationCallbacks>      allocator,
-                                            Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger;
-    Result                                       result = static_cast<Result>( d.vkCreateDebugUtilsMessengerEXT(
-      m_instance,
-      reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDebugUtilsMessengerEXT *>( &messenger ) ) );
-    return createResultValue(
-      result, messenger, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXT" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<DebugUtilsMessengerEXT, Dispatch>>::type
-    Instance::createDebugUtilsMessengerEXTUnique( const DebugUtilsMessengerCreateInfoEXT & createInfo,
-                                                  Optional<const AllocationCallbacks>      allocator,
-                                                  Dispatch const &                         d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger;
-    Result                                       result = static_cast<Result>( d.vkCreateDebugUtilsMessengerEXT(
-      m_instance,
-      reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDebugUtilsMessengerEXT *>( &messenger ) ) );
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Event>::type
+    Device::createEvent(const EventCreateInfo &createInfo,
+                        Optional<const AllocationCallbacks> allocator,
+                        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Event event;
+  Result result = static_cast<Result>(d.vkCreateEvent(
+      m_device, reinterpret_cast<const VkEventCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkEvent *>(&event)));
+  return createResultValue(result, event,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::createEvent");
+}
 
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<DebugUtilsMessengerEXT, Dispatch>(
-      result, messenger, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXTUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Event, Dispatch>>::type
+    Device::createEventUnique(const EventCreateInfo &createInfo,
+                              Optional<const AllocationCallbacks> allocator,
+                              Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Event event;
+  Result result = static_cast<Result>(d.vkCreateEvent(
+      m_device, reinterpret_cast<const VkEventCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkEvent *>(&event)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Event, Dispatch>(
+      result, event, VULKAN_HPP_NAMESPACE_STRING "::Device::createEventUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createDirectFBSurfaceEXT( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT * pCreateInfo,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                        VULKAN_HPP_NAMESPACE::SurfaceKHR *                         pSurface,
-                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDirectFBSurfaceEXT( m_instance,
-                                    reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( pCreateInfo ),
-                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                    reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createDirectFBSurfaceEXT( const DirectFBSurfaceCreateInfoEXT & createInfo,
-                                        Optional<const AllocationCallbacks>  allocator,
-                                        Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateDirectFBSurfaceEXT(
-      m_instance,
-      reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXT" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createDirectFBSurfaceEXTUnique( const DirectFBSurfaceCreateInfoEXT & createInfo,
-                                              Optional<const AllocationCallbacks>  allocator,
-                                              Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateDirectFBSurfaceEXT(
-      m_instance,
-      reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createFence(const VULKAN_HPP_NAMESPACE::FenceCreateInfo *pCreateInfo,
+                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                    VULKAN_HPP_NAMESPACE::Fence *pFence,
+                    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateFence(
+      m_device, reinterpret_cast<const VkFenceCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkFence *>(pFence)));
+}
 
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXTUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createDisplayPlaneSurfaceKHR( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR * pCreateInfo,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks *         pAllocator,
-                                            VULKAN_HPP_NAMESPACE::SurfaceKHR *                        pSurface,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDisplayPlaneSurfaceKHR( m_instance,
-                                        reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( pCreateInfo ),
-                                        reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                        reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createDisplayPlaneSurfaceKHR( const DisplaySurfaceCreateInfoKHR & createInfo,
-                                            Optional<const AllocationCallbacks> allocator,
-                                            Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateDisplayPlaneSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHR" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createDisplayPlaneSurfaceKHRUnique( const DisplaySurfaceCreateInfoKHR & createInfo,
-                                                  Optional<const AllocationCallbacks> allocator,
-                                                  Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateDisplayPlaneSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
+    Device::createFence(const FenceCreateInfo &createInfo,
+                        Optional<const AllocationCallbacks> allocator,
+                        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Fence fence;
+  Result result = static_cast<Result>(d.vkCreateFence(
+      m_device, reinterpret_cast<const VkFenceCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFence *>(&fence)));
+  return createResultValue(result, fence,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::createFence");
+}
 
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHRUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
+    Device::createFenceUnique(const FenceCreateInfo &createInfo,
+                              Optional<const AllocationCallbacks> allocator,
+                              Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Fence fence;
+  Result result = static_cast<Result>(d.vkCreateFence(
+      m_device, reinterpret_cast<const VkFenceCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFence *>(&fence)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Fence, Dispatch>(
+      result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::createFenceUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createHeadlessSurfaceEXT( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT * pCreateInfo,
-                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks *          pAllocator,
-                                        VULKAN_HPP_NAMESPACE::SurfaceKHR *                         pSurface,
-                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateHeadlessSurfaceEXT( m_instance,
-                                    reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( pCreateInfo ),
-                                    reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                    reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createFramebuffer(
+    const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Framebuffer *pFramebuffer,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateFramebuffer(
+      m_device, reinterpret_cast<const VkFramebufferCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkFramebuffer *>(pFramebuffer)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createHeadlessSurfaceEXT( const HeadlessSurfaceCreateInfoEXT & createInfo,
-                                        Optional<const AllocationCallbacks>  allocator,
-                                        Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateHeadlessSurfaceEXT(
-      m_instance,
-      reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXT" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createHeadlessSurfaceEXTUnique( const HeadlessSurfaceCreateInfoEXT & createInfo,
-                                              Optional<const AllocationCallbacks>  allocator,
-                                              Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateHeadlessSurfaceEXT(
-      m_instance,
-      reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Framebuffer>::type
+    Device::createFramebuffer(const FramebufferCreateInfo &createInfo,
+                              Optional<const AllocationCallbacks> allocator,
+                              Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Framebuffer framebuffer;
+  Result result = static_cast<Result>(d.vkCreateFramebuffer(
+      m_device, reinterpret_cast<const VkFramebufferCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFramebuffer *>(&framebuffer)));
+  return createResultValue(result, framebuffer,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createFramebuffer");
+}
 
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXTUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Framebuffer, Dispatch>>::type
+    Device::createFramebufferUnique(
+        const FramebufferCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Framebuffer framebuffer;
+  Result result = static_cast<Result>(d.vkCreateFramebuffer(
+      m_device, reinterpret_cast<const VkFramebufferCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFramebuffer *>(&framebuffer)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Framebuffer, Dispatch>(
+      result, framebuffer,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebufferUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_USE_PLATFORM_IOS_MVK
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createIOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK * pCreateInfo,
-                                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks *     pAllocator,
-                                   VULKAN_HPP_NAMESPACE::SurfaceKHR *                    pSurface,
-                                   Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateIOSSurfaceMVK( m_instance,
-                               reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( pCreateInfo ),
-                               reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                               reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createIOSSurfaceMVK( const IOSSurfaceCreateInfoMVK &     createInfo,
-                                   Optional<const AllocationCallbacks> allocator,
-                                   Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateIOSSurfaceMVK(
-      m_instance,
-      reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVK" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createIOSSurfaceMVKUnique( const IOSSurfaceCreateInfoMVK &     createInfo,
-                                         Optional<const AllocationCallbacks> allocator,
-                                         Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateIOSSurfaceMVK(
-      m_instance,
-      reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createGraphicsPipelines(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, uint32_t createInfoCount,
+    const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo *pCreateInfos,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateGraphicsPipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfoCount,
+      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(pCreateInfos),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkPipeline *>(pPipelines)));
+}
 
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVKUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_IOS_MVK*/
-
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Instance::createImagePipeSurfaceFUCHSIA(
-    const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
-    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *               pAllocator,
-    VULKAN_HPP_NAMESPACE::SurfaceKHR *                              pSurface,
-    Dispatch const &                                                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateImagePipeSurfaceFUCHSIA( m_instance,
-                                         reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( pCreateInfo ),
-                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                         reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createImagePipeSurfaceFUCHSIA( const ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,
-                                             Optional<const AllocationCallbacks>       allocator,
-                                             Dispatch const &                          d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateImagePipeSurfaceFUCHSIA(
-      m_instance,
-      reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIA" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createImagePipeSurfaceFUCHSIAUnique( const ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,
-                                                   Optional<const AllocationCallbacks>       allocator,
-                                                   Dispatch const &                          d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateImagePipeSurfaceFUCHSIA(
-      m_instance,
-      reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIAUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_FUCHSIA*/
-
-#ifdef VK_USE_PLATFORM_MACOS_MVK
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createMacOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                     VULKAN_HPP_NAMESPACE::SurfaceKHR *                      pSurface,
-                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateMacOSSurfaceMVK( m_instance,
-                                 reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( pCreateInfo ),
-                                 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createMacOSSurfaceMVK( const MacOSSurfaceCreateInfoMVK &   createInfo,
-                                     Optional<const AllocationCallbacks> allocator,
-                                     Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateMacOSSurfaceMVK(
-      m_instance,
-      reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVK" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createMacOSSurfaceMVKUnique( const MacOSSurfaceCreateInfoMVK &   createInfo,
-                                           Optional<const AllocationCallbacks> allocator,
-                                           Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateMacOSSurfaceMVK(
-      m_instance,
-      reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVKUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_MACOS_MVK*/
-
-#ifdef VK_USE_PLATFORM_METAL_EXT
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createMetalSurfaceEXT( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                     VULKAN_HPP_NAMESPACE::SurfaceKHR *                      pSurface,
-                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateMetalSurfaceEXT( m_instance,
-                                 reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( pCreateInfo ),
-                                 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createMetalSurfaceEXT( const MetalSurfaceCreateInfoEXT &   createInfo,
-                                     Optional<const AllocationCallbacks> allocator,
-                                     Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateMetalSurfaceEXT(
-      m_instance,
-      reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXT" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createMetalSurfaceEXTUnique( const MetalSurfaceCreateInfoEXT &   createInfo,
-                                           Optional<const AllocationCallbacks> allocator,
-                                           Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateMetalSurfaceEXT(
-      m_instance,
-      reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXTUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_METAL_EXT*/
-
-#ifdef VK_USE_PLATFORM_GGP
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Instance::createStreamDescriptorSurfaceGGP(
-    const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
-    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                  pAllocator,
-    VULKAN_HPP_NAMESPACE::SurfaceKHR *                                 pSurface,
-    Dispatch const &                                                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateStreamDescriptorSurfaceGGP(
-      m_instance,
-      reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( pCreateInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-      reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createStreamDescriptorSurfaceGGP( const StreamDescriptorSurfaceCreateInfoGGP & createInfo,
-                                                Optional<const AllocationCallbacks>          allocator,
-                                                Dispatch const &                             d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateStreamDescriptorSurfaceGGP(
-      m_instance,
-      reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGP" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createStreamDescriptorSurfaceGGPUnique( const StreamDescriptorSurfaceCreateInfoGGP & createInfo,
-                                                      Optional<const AllocationCallbacks>          allocator,
-                                                      Dispatch const &                             d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateStreamDescriptorSurfaceGGP(
-      m_instance,
-      reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGPUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_GGP*/
-
-#ifdef VK_USE_PLATFORM_VI_NN
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Instance::createViSurfaceNN( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN * pCreateInfo,
-                                                        const VULKAN_HPP_NAMESPACE::AllocationCallbacks *   pAllocator,
-                                                        VULKAN_HPP_NAMESPACE::SurfaceKHR *                  pSurface,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateViSurfaceNN( m_instance,
-                                                       reinterpret_cast<const VkViSurfaceCreateInfoNN *>( pCreateInfo ),
-                                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                       reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type Instance::createViSurfaceNN(
-    const ViSurfaceCreateInfoNN & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateViSurfaceNN(
-      m_instance,
-      reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNN" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createViSurfaceNNUnique( const ViSurfaceCreateInfoNN &       createInfo,
-                                       Optional<const AllocationCallbacks> allocator,
-                                       Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateViSurfaceNN(
-      m_instance,
-      reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNNUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_VI_NN*/
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createWaylandSurfaceKHR( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR * pCreateInfo,
-                                       const VULKAN_HPP_NAMESPACE::AllocationCallbacks *         pAllocator,
-                                       VULKAN_HPP_NAMESPACE::SurfaceKHR *                        pSurface,
-                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateWaylandSurfaceKHR( m_instance,
-                                   reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( pCreateInfo ),
-                                   reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                   reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createWaylandSurfaceKHR( const WaylandSurfaceCreateInfoKHR & createInfo,
-                                       Optional<const AllocationCallbacks> allocator,
-                                       Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateWaylandSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHR" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createWaylandSurfaceKHRUnique( const WaylandSurfaceCreateInfoKHR & createInfo,
-                                             Optional<const AllocationCallbacks> allocator,
-                                             Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateWaylandSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHRUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_WAYLAND_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createWin32SurfaceKHR( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR * pCreateInfo,
-                                     const VULKAN_HPP_NAMESPACE::AllocationCallbacks *       pAllocator,
-                                     VULKAN_HPP_NAMESPACE::SurfaceKHR *                      pSurface,
-                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateWin32SurfaceKHR( m_instance,
-                                 reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( pCreateInfo ),
-                                 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createWin32SurfaceKHR( const Win32SurfaceCreateInfoKHR &   createInfo,
-                                     Optional<const AllocationCallbacks> allocator,
-                                     Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateWin32SurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHR" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createWin32SurfaceKHRUnique( const Win32SurfaceCreateInfoKHR &   createInfo,
-                                           Optional<const AllocationCallbacks> allocator,
-                                           Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateWin32SurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHRUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createXcbSurfaceKHR( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR * pCreateInfo,
-                                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks *     pAllocator,
-                                   VULKAN_HPP_NAMESPACE::SurfaceKHR *                    pSurface,
-                                   Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateXcbSurfaceKHR( m_instance,
-                               reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( pCreateInfo ),
-                               reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                               reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createXcbSurfaceKHR( const XcbSurfaceCreateInfoKHR &     createInfo,
-                                   Optional<const AllocationCallbacks> allocator,
-                                   Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateXcbSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHR" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createXcbSurfaceKHRUnique( const XcbSurfaceCreateInfoKHR &     createInfo,
-                                         Optional<const AllocationCallbacks> allocator,
-                                         Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateXcbSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHRUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_XCB_KHR*/
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    Instance::createXlibSurfaceKHR( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR * pCreateInfo,
-                                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                    VULKAN_HPP_NAMESPACE::SurfaceKHR *                     pSurface,
-                                    Dispatch const &                                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateXlibSurfaceKHR( m_instance,
-                                reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( pCreateInfo ),
-                                reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
-    Instance::createXlibSurfaceKHR( const XlibSurfaceCreateInfoKHR &    createInfo,
-                                    Optional<const AllocationCallbacks> allocator,
-                                    Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateXlibSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-    return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHR" );
-  }
-#    ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<SurfaceKHR, Dispatch>>::type
-    Instance::createXlibSurfaceKHRUnique( const XlibSurfaceCreateInfoKHR &    createInfo,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
-    Result                           result = static_cast<Result>( d.vkCreateXlibSurfaceKHR(
-      m_instance,
-      reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
-
-    ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
-    return createResultValue<SurfaceKHR, Dispatch>(
-      result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHRUnique", deleter );
-  }
-#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif     /*VK_USE_PLATFORM_XLIB_KHR*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT      flags,
-                                                          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType,
-                                                          uint64_t                                       object,
-                                                          size_t                                         location,
-                                                          int32_t                                        messageCode,
-                                                          const char *                                   pLayerPrefix,
-                                                          const char *                                   pMessage,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDebugReportMessageEXT( m_instance,
-                               static_cast<VkDebugReportFlagsEXT>( flags ),
-                               static_cast<VkDebugReportObjectTypeEXT>( objectType ),
-                               object,
-                               location,
-                               messageCode,
-                               pLayerPrefix,
-                               pMessage );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT      flags,
-                                                          VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType,
-                                                          uint64_t                                       object,
-                                                          size_t                                         location,
-                                                          int32_t                                        messageCode,
-                                                          const std::string &                            layerPrefix,
-                                                          const std::string &                            message,
-                                                          Dispatch const &                               d ) const
-  {
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    VULKAN_HPP_ASSERT( layerPrefix.size() == message.size() );
-#  else
-    if ( layerPrefix.size() != message.size() )
-    {
-      throw LogicError( VULKAN_HPP_NAMESPACE_STRING
-                        "::VkInstance::debugReportMessageEXT: layerPrefix.size() != message.size()" );
+template <typename PipelineAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, PipelineAllocator>>
+    Device::createGraphicsPipelines(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateGraphicsPipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename PipelineAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, Pipeline>::value, int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, PipelineAllocator>>
+    Device::createGraphicsPipelines(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size(),
+                                                     pipelineAllocator);
+  Result result = static_cast<Result>(d.vkCreateGraphicsPipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<Pipeline>
+Device::createGraphicsPipeline(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateGraphicsPipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  return createResultValue(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipeline",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch, typename PipelineAllocator>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createGraphicsPipelinesUnique(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines;
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateGraphicsPipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
     }
-#  endif /*VULKAN_HPP_NO_EXCEPTIONS*/
-    d.vkDebugReportMessageEXT( m_instance,
-                               static_cast<VkDebugReportFlagsEXT>( flags ),
-                               static_cast<VkDebugReportObjectTypeEXT>( objectType ),
-                               object,
-                               location,
-                               messageCode,
-                               layerPrefix.c_str(),
-                               message.c_str() );
   }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Instance::destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT      callback,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugReportCallbackEXT( m_instance,
-                                       static_cast<VkDebugReportCallbackEXT>( callback ),
-                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
-                                                                  Optional<const AllocationCallbacks> allocator,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugReportCallbackEXT(
-      m_instance,
-      static_cast<VkDebugReportCallbackEXT>( callback ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT      callback,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugReportCallbackEXT( m_instance,
-                                       static_cast<VkDebugReportCallbackEXT>( callback ),
-                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
-                                            Optional<const AllocationCallbacks>          allocator,
-                                            Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugReportCallbackEXT(
-      m_instance,
-      static_cast<VkDebugReportCallbackEXT>( callback ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Instance::destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT      messenger,
-                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugUtilsMessengerEXT( m_instance,
-                                       static_cast<VkDebugUtilsMessengerEXT>( messenger ),
-                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Instance::destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
-                                             Optional<const AllocationCallbacks>          allocator,
-                                             Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugUtilsMessengerEXT(
-      m_instance,
-      static_cast<VkDebugUtilsMessengerEXT>( messenger ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT      messenger,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugUtilsMessengerEXT( m_instance,
-                                       static_cast<VkDebugUtilsMessengerEXT>( messenger ),
-                                       reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
-                                            Optional<const AllocationCallbacks>          allocator,
-                                            Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyDebugUtilsMessengerEXT(
-      m_instance,
-      static_cast<VkDebugUtilsMessengerEXT>( messenger ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyInstance( m_instance, reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( Optional<const AllocationCallbacks> allocator,
-                                            Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroyInstance(
-      m_instance,
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR                  surface,
-                                                      const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySurfaceKHR(
-      m_instance, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR    surface,
-                                                      Optional<const AllocationCallbacks> allocator,
-                                                      Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySurfaceKHR(
-      m_instance,
-      static_cast<VkSurfaceKHR>( surface ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR                  surface,
-                                            const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySurfaceKHR(
-      m_instance, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR    surface,
-                                            Optional<const AllocationCallbacks> allocator,
-                                            Dispatch const &                    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkDestroySurfaceKHR(
-      m_instance,
-      static_cast<VkSurfaceKHR>( surface ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDeviceGroups(
-    uint32_t *                                            pPhysicalDeviceGroupCount,
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,
-    Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups(
-      m_instance,
-      pPhysicalDeviceGroupCount,
-      reinterpret_cast<VkPhysicalDeviceGroupProperties *>( pPhysicalDeviceGroupProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-    Instance::enumeratePhysicalDeviceGroups( Dispatch const & d ) const
-  {
-    std::vector<PhysicalDeviceGroupProperties, Allocator> physicalDeviceGroupProperties;
-    uint32_t                                              physicalDeviceGroupCount;
-    Result                                                result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount )
-      {
-        physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups(
-          m_instance,
-          &physicalDeviceGroupCount,
-          reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() );
-      physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
+template <typename Dispatch, typename PipelineAllocator, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           UniqueHandle<Pipeline, Dispatch>>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createGraphicsPipelinesUnique(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator,
+    PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines(pipelineAllocator);
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateGraphicsPipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
     }
-    return createResultValue(
-      result, physicalDeviceGroupProperties, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" );
   }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-    Instance::enumeratePhysicalDeviceGroups( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<PhysicalDeviceGroupProperties, Allocator> physicalDeviceGroupProperties( vectorAllocator );
-    uint32_t                                              physicalDeviceGroupCount;
-    Result                                                result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount )
-      {
-        physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups(
-          m_instance,
-          &physicalDeviceGroupCount,
-          reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() );
-      physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
+    Device::createGraphicsPipelineUnique(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateGraphicsPipelines(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<Pipeline, Dispatch>(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelineUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT},
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createImage(const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pCreateInfo,
+                    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                    VULKAN_HPP_NAMESPACE::Image *pImage,
+                    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateImage(
+      m_device, reinterpret_cast<const VkImageCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkImage *>(pImage)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Image>::type
+    Device::createImage(const ImageCreateInfo &createInfo,
+                        Optional<const AllocationCallbacks> allocator,
+                        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Image image;
+  Result result = static_cast<Result>(d.vkCreateImage(
+      m_device, reinterpret_cast<const VkImageCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkImage *>(&image)));
+  return createResultValue(result, image,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::createImage");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Image, Dispatch>>::type
+    Device::createImageUnique(const ImageCreateInfo &createInfo,
+                              Optional<const AllocationCallbacks> allocator,
+                              Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Image image;
+  Result result = static_cast<Result>(d.vkCreateImage(
+      m_device, reinterpret_cast<const VkImageCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkImage *>(&image)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Image, Dispatch>(
+      result, image, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createImageView(
+    const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::ImageView *pView,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateImageView(
+      m_device, reinterpret_cast<const VkImageViewCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkImageView *>(pView)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageView>::type
+    Device::createImageView(const ImageViewCreateInfo &createInfo,
+                            Optional<const AllocationCallbacks> allocator,
+                            Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ImageView view;
+  Result result = static_cast<Result>(d.vkCreateImageView(
+      m_device, reinterpret_cast<const VkImageViewCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkImageView *>(&view)));
+  return createResultValue(
+      result, view, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageView");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::ImageView, Dispatch>>::type
+    Device::createImageViewUnique(const ImageViewCreateInfo &createInfo,
+                                  Optional<const AllocationCallbacks> allocator,
+                                  Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ImageView view;
+  Result result = static_cast<Result>(d.vkCreateImageView(
+      m_device, reinterpret_cast<const VkImageViewCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkImageView *>(&view)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::ImageView, Dispatch>(
+      result, view,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createImageViewUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createIndirectCommandsLayoutNV(
+    const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV *pIndirectCommandsLayout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateIndirectCommandsLayoutNV(
+      m_device,
+      reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>(
+          pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkIndirectCommandsLayoutNV *>(pIndirectCommandsLayout)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>::type
+    Device::createIndirectCommandsLayoutNV(
+        const IndirectCommandsLayoutCreateInfoNV &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout;
+  Result result = static_cast<Result>(d.vkCreateIndirectCommandsLayoutNV(
+      m_device,
+      reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkIndirectCommandsLayoutNV *>(&indirectCommandsLayout)));
+  return createResultValue(result, indirectCommandsLayout,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createIndirectCommandsLayoutNV");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV, Dispatch>>::type
+    Device::createIndirectCommandsLayoutNVUnique(
+        const IndirectCommandsLayoutCreateInfoNV &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout;
+  Result result = static_cast<Result>(d.vkCreateIndirectCommandsLayoutNV(
+      m_device,
+      reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkIndirectCommandsLayoutNV *>(&indirectCommandsLayout)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV,
+                           Dispatch>(
+      result, indirectCommandsLayout,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createIndirectCommandsLayoutNVUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineCache(
+    const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::PipelineCache *pPipelineCache,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreatePipelineCache(
+      m_device,
+      reinterpret_cast<const VkPipelineCacheCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkPipelineCache *>(pPipelineCache)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineCache>::type
+    Device::createPipelineCache(const PipelineCacheCreateInfo &createInfo,
+                                Optional<const AllocationCallbacks> allocator,
+                                Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache;
+  Result result = static_cast<Result>(d.vkCreatePipelineCache(
+      m_device,
+      reinterpret_cast<const VkPipelineCacheCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipelineCache *>(&pipelineCache)));
+  return createResultValue(result, pipelineCache,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createPipelineCache");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineCache, Dispatch>>::type
+    Device::createPipelineCacheUnique(
+        const PipelineCacheCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache;
+  Result result = static_cast<Result>(d.vkCreatePipelineCache(
+      m_device,
+      reinterpret_cast<const VkPipelineCacheCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipelineCache *>(&pipelineCache)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::PipelineCache, Dispatch>(
+      result, pipelineCache,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCacheUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineLayout(
+    const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::PipelineLayout *pPipelineLayout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreatePipelineLayout(
+      m_device,
+      reinterpret_cast<const VkPipelineLayoutCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkPipelineLayout *>(pPipelineLayout)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineLayout>::type
+    Device::createPipelineLayout(const PipelineLayoutCreateInfo &createInfo,
+                                 Optional<const AllocationCallbacks> allocator,
+                                 Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout;
+  Result result = static_cast<Result>(d.vkCreatePipelineLayout(
+      m_device,
+      reinterpret_cast<const VkPipelineLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipelineLayout *>(&pipelineLayout)));
+  return createResultValue(result, pipelineLayout,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createPipelineLayout");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineLayout, Dispatch>>::type
+    Device::createPipelineLayoutUnique(
+        const PipelineLayoutCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout;
+  Result result = static_cast<Result>(d.vkCreatePipelineLayout(
+      m_device,
+      reinterpret_cast<const VkPipelineLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipelineLayout *>(&pipelineLayout)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::PipelineLayout, Dispatch>(
+      result, pipelineLayout,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayoutUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPrivateDataSlotEXT(
+    const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT *pPrivateDataSlot,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreatePrivateDataSlotEXT(
+      m_device,
+      reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkPrivateDataSlotEXT *>(pPrivateDataSlot)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>::type
+    Device::createPrivateDataSlotEXT(
+        const PrivateDataSlotCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot;
+  Result result = static_cast<Result>(d.vkCreatePrivateDataSlotEXT(
+      m_device,
+      reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPrivateDataSlotEXT *>(&privateDataSlot)));
+  return createResultValue(result, privateDataSlot,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createPrivateDataSlotEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT, Dispatch>>::type
+Device::createPrivateDataSlotEXTUnique(
+    const PrivateDataSlotCreateInfoEXT &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot;
+  Result result = static_cast<Result>(d.vkCreatePrivateDataSlotEXT(
+      m_device,
+      reinterpret_cast<const VkPrivateDataSlotCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPrivateDataSlotEXT *>(&privateDataSlot)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT, Dispatch>(
+      result, privateDataSlot,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createQueryPool(
+    const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::QueryPool *pQueryPool,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateQueryPool(
+      m_device, reinterpret_cast<const VkQueryPoolCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkQueryPool *>(pQueryPool)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::QueryPool>::type
+    Device::createQueryPool(const QueryPoolCreateInfo &createInfo,
+                            Optional<const AllocationCallbacks> allocator,
+                            Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::QueryPool queryPool;
+  Result result = static_cast<Result>(d.vkCreateQueryPool(
+      m_device, reinterpret_cast<const VkQueryPoolCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkQueryPool *>(&queryPool)));
+  return createResultValue(result, queryPool,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createQueryPool");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::QueryPool, Dispatch>>::type
+    Device::createQueryPoolUnique(const QueryPoolCreateInfo &createInfo,
+                                  Optional<const AllocationCallbacks> allocator,
+                                  Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::QueryPool queryPool;
+  Result result = static_cast<Result>(d.vkCreateQueryPool(
+      m_device, reinterpret_cast<const VkQueryPoolCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkQueryPool *>(&queryPool)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::QueryPool, Dispatch>(
+      result, queryPool,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPoolUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createRayTracingPipelinesKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, uint32_t createInfoCount,
+    const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR *pCreateInfos,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateRayTracingPipelinesKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      static_cast<VkPipelineCache>(pipelineCache), createInfoCount,
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(pCreateInfos),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkPipeline *>(pPipelines)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PipelineAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, PipelineAllocator>>
+    Device::createRayTracingPipelinesKHR(
+        VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        ArrayProxy<
+            const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename PipelineAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, Pipeline>::value, int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<std::vector<Pipeline, PipelineAllocator>>
+    Device::createRayTracingPipelinesKHR(
+        VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        ArrayProxy<
+            const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size(),
+                                                     pipelineAllocator);
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<Pipeline>
+Device::createRayTracingPipelineKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  return createResultValue(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch, typename PipelineAllocator>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createRayTracingPipelinesKHRUnique(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<
+        const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines;
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
     }
-    return createResultValue(
-      result, physicalDeviceGroupProperties, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" );
   }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createRayTracingPipelinesKHRUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDeviceGroupsKHR(
-    uint32_t *                                            pPhysicalDeviceGroupCount,
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,
-    Dispatch const &                                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR(
-      m_instance,
-      pPhysicalDeviceGroupCount,
-      reinterpret_cast<VkPhysicalDeviceGroupProperties *>( pPhysicalDeviceGroupProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-    Instance::enumeratePhysicalDeviceGroupsKHR( Dispatch const & d ) const
-  {
-    std::vector<PhysicalDeviceGroupProperties, Allocator> physicalDeviceGroupProperties;
-    uint32_t                                              physicalDeviceGroupCount;
-    Result                                                result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount )
-      {
-        physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR(
-          m_instance,
-          &physicalDeviceGroupCount,
-          reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() );
-      physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
+template <typename Dispatch, typename PipelineAllocator, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           UniqueHandle<Pipeline, Dispatch>>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createRayTracingPipelinesKHRUnique(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<
+        const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator,
+    PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines(pipelineAllocator);
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
     }
-    return createResultValue( result,
-                              physicalDeviceGroupProperties,
-                              VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" );
   }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceGroupProperties, Allocator>>::type
-    Instance::enumeratePhysicalDeviceGroupsKHR( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<PhysicalDeviceGroupProperties, Allocator> physicalDeviceGroupProperties( vectorAllocator );
-    uint32_t                                              physicalDeviceGroupCount;
-    Result                                                result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount )
-      {
-        physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR(
-          m_instance,
-          &physicalDeviceGroupCount,
-          reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() );
-      physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createRayTracingPipelinesKHRUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
+    Device::createRayTracingPipelineKHRUnique(
+        VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(deferredOperation),
+      static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<Pipeline, Dispatch>(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHRUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT},
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createRayTracingPipelinesNV(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, uint32_t createInfoCount,
+    const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV *pCreateInfos,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Pipeline *pPipelines,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateRayTracingPipelinesNV(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfoCount,
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(pCreateInfos),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkPipeline *>(pPipelines)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PipelineAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<Pipeline, PipelineAllocator>>
+Device::createRayTracingPipelinesNV(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesNV(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename PipelineAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, Pipeline>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<Pipeline, PipelineAllocator>>
+Device::createRayTracingPipelinesNV(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator,
+    PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<Pipeline, PipelineAllocator> pipelines(createInfos.size(),
+                                                     pipelineAllocator);
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesNV(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  return createResultValue(
+      result, pipelines,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<Pipeline>
+Device::createRayTracingPipelineNV(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesNV(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  return createResultValue(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNV",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch, typename PipelineAllocator>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createRayTracingPipelinesNVUnique(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines;
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesNV(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
     }
-    return createResultValue( result,
-                              physicalDeviceGroupProperties,
-                              VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" );
   }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDevices( uint32_t * pPhysicalDeviceCount,
-                                                               VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices,
-                                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumeratePhysicalDevices(
-      m_instance, pPhysicalDeviceCount, reinterpret_cast<VkPhysicalDevice *>( pPhysicalDevices ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDevice, Allocator>>::type
-    Instance::enumeratePhysicalDevices( Dispatch const & d ) const
-  {
-    std::vector<PhysicalDevice, Allocator> physicalDevices;
-    uint32_t                               physicalDeviceCount;
-    Result                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && physicalDeviceCount )
-      {
-        physicalDevices.resize( physicalDeviceCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDevices(
-          m_instance, &physicalDeviceCount, reinterpret_cast<VkPhysicalDevice *>( physicalDevices.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() );
-      physicalDevices.resize( physicalDeviceCount );
+template <typename Dispatch, typename PipelineAllocator, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           UniqueHandle<Pipeline, Dispatch>>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<
+    std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>>
+Device::createRayTracingPipelinesNVUnique(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const
+        &createInfos,
+    Optional<const AllocationCallbacks> allocator,
+    PipelineAllocator &pipelineAllocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<Pipeline, Dispatch>, PipelineAllocator>
+      uniquePipelines(pipelineAllocator);
+  std::vector<Pipeline> pipelines(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesNV(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), createInfos.size(),
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(
+          createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(pipelines.data())));
+  if ((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) ||
+      (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT)) {
+    uniquePipelines.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniquePipelines.push_back(
+          UniqueHandle<Pipeline, Dispatch>(pipelines[i], deleter));
     }
-    return createResultValue(
-      result, physicalDevices, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" );
   }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDevice, Allocator>>::type
-    Instance::enumeratePhysicalDevices( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<PhysicalDevice, Allocator> physicalDevices( vectorAllocator );
-    uint32_t                               physicalDeviceCount;
-    Result                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && physicalDeviceCount )
-      {
-        physicalDevices.resize( physicalDeviceCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDevices(
-          m_instance, &physicalDeviceCount, reinterpret_cast<VkPhysicalDevice *>( physicalDevices.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() );
-      physicalDevices.resize( physicalDeviceCount );
+  return createResultValue(
+      result, std::move(uniquePipelines),
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT});
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
+    Device::createRayTracingPipelineNVUnique(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  Pipeline pipeline;
+  Result result = static_cast<Result>(d.vkCreateRayTracingPipelinesNV(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), 1,
+      reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkPipeline *>(&pipeline)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<Pipeline, Dispatch>(
+      result, pipeline,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNVUnique",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT},
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass(
+    const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::RenderPass *pRenderPass,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateRenderPass(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkRenderPass *>(pRenderPass)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
+    Device::createRenderPass(const RenderPassCreateInfo &createInfo,
+                             Optional<const AllocationCallbacks> allocator,
+                             Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass;
+  Result result = static_cast<Result>(d.vkCreateRenderPass(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkRenderPass *>(&renderPass)));
+  return createResultValue(result, renderPass,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createRenderPass");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type
+    Device::createRenderPassUnique(
+        const RenderPassCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass;
+  Result result = static_cast<Result>(d.vkCreateRenderPass(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkRenderPass *>(&renderPass)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>(
+      result, renderPass,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPassUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass2(
+    const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::RenderPass *pRenderPass,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateRenderPass2(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo2 *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkRenderPass *>(pRenderPass)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
+    Device::createRenderPass2(const RenderPassCreateInfo2 &createInfo,
+                              Optional<const AllocationCallbacks> allocator,
+                              Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass;
+  Result result = static_cast<Result>(d.vkCreateRenderPass2(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo2 *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkRenderPass *>(&renderPass)));
+  return createResultValue(result, renderPass,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createRenderPass2");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type
+    Device::createRenderPass2Unique(
+        const RenderPassCreateInfo2 &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass;
+  Result result = static_cast<Result>(d.vkCreateRenderPass2(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo2 *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkRenderPass *>(&renderPass)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>(
+      result, renderPass,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2Unique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass2KHR(
+    const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::RenderPass *pRenderPass,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateRenderPass2KHR(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo2 *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkRenderPass *>(pRenderPass)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type
+    Device::createRenderPass2KHR(const RenderPassCreateInfo2 &createInfo,
+                                 Optional<const AllocationCallbacks> allocator,
+                                 Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass;
+  Result result = static_cast<Result>(d.vkCreateRenderPass2KHR(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo2 *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkRenderPass *>(&renderPass)));
+  return createResultValue(result, renderPass,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createRenderPass2KHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type
+    Device::createRenderPass2KHRUnique(
+        const RenderPassCreateInfo2 &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::RenderPass renderPass;
+  Result result = static_cast<Result>(d.vkCreateRenderPass2KHR(
+      m_device, reinterpret_cast<const VkRenderPassCreateInfo2 *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkRenderPass *>(&renderPass)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>(
+      result, renderPass,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSampler(
+    const VULKAN_HPP_NAMESPACE::SamplerCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Sampler *pSampler,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateSampler(
+      m_device, reinterpret_cast<const VkSamplerCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSampler *>(pSampler)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Sampler>::type
+    Device::createSampler(const SamplerCreateInfo &createInfo,
+                          Optional<const AllocationCallbacks> allocator,
+                          Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Sampler sampler;
+  Result result = static_cast<Result>(d.vkCreateSampler(
+      m_device, reinterpret_cast<const VkSamplerCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSampler *>(&sampler)));
+  return createResultValue(
+      result, sampler, VULKAN_HPP_NAMESPACE_STRING "::Device::createSampler");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Sampler, Dispatch>>::type
+    Device::createSamplerUnique(const SamplerCreateInfo &createInfo,
+                                Optional<const AllocationCallbacks> allocator,
+                                Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Sampler sampler;
+  Result result = static_cast<Result>(d.vkCreateSampler(
+      m_device, reinterpret_cast<const VkSamplerCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSampler *>(&sampler)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Sampler, Dispatch>(
+      result, sampler,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createSamplerYcbcrConversion(
+    const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion *pYcbcrConversion,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateSamplerYcbcrConversion(
+      m_device,
+      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSamplerYcbcrConversion *>(pYcbcrConversion)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
+    Device::createSamplerYcbcrConversion(
+        const SamplerYcbcrConversionCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
+  Result result = static_cast<Result>(d.vkCreateSamplerYcbcrConversion(
+      m_device,
+      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSamplerYcbcrConversion *>(&ycbcrConversion)));
+  return createResultValue(result, ycbcrConversion,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSamplerYcbcrConversion");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>>::type
+    Device::createSamplerYcbcrConversionUnique(
+        const SamplerYcbcrConversionCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
+  Result result = static_cast<Result>(d.vkCreateSamplerYcbcrConversion(
+      m_device,
+      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSamplerYcbcrConversion *>(&ycbcrConversion)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion,
+                           Dispatch>(
+      result, ycbcrConversion,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createSamplerYcbcrConversionUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::createSamplerYcbcrConversionKHR(
+    const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion *pYcbcrConversion,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateSamplerYcbcrConversionKHR(
+      m_device,
+      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSamplerYcbcrConversion *>(pYcbcrConversion)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type
+    Device::createSamplerYcbcrConversionKHR(
+        const SamplerYcbcrConversionCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
+  Result result = static_cast<Result>(d.vkCreateSamplerYcbcrConversionKHR(
+      m_device,
+      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSamplerYcbcrConversion *>(&ycbcrConversion)));
+  return createResultValue(result, ycbcrConversion,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSamplerYcbcrConversionKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<
+        VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>>::type
+    Device::createSamplerYcbcrConversionKHRUnique(
+        const SamplerYcbcrConversionCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion;
+  Result result = static_cast<Result>(d.vkCreateSamplerYcbcrConversionKHR(
+      m_device,
+      reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSamplerYcbcrConversion *>(&ycbcrConversion)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion,
+                           Dispatch>(
+      result, ycbcrConversion,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::createSamplerYcbcrConversionKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSemaphore(
+    const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Semaphore *pSemaphore,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateSemaphore(
+      m_device, reinterpret_cast<const VkSemaphoreCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSemaphore *>(pSemaphore)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Semaphore>::type
+    Device::createSemaphore(const SemaphoreCreateInfo &createInfo,
+                            Optional<const AllocationCallbacks> allocator,
+                            Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore;
+  Result result = static_cast<Result>(d.vkCreateSemaphore(
+      m_device, reinterpret_cast<const VkSemaphoreCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSemaphore *>(&semaphore)));
+  return createResultValue(result, semaphore,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSemaphore");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Semaphore, Dispatch>>::type
+    Device::createSemaphoreUnique(const SemaphoreCreateInfo &createInfo,
+                                  Optional<const AllocationCallbacks> allocator,
+                                  Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Semaphore semaphore;
+  Result result = static_cast<Result>(d.vkCreateSemaphore(
+      m_device, reinterpret_cast<const VkSemaphoreCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSemaphore *>(&semaphore)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Semaphore, Dispatch>(
+      result, semaphore,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphoreUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createShaderModule(
+    const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::ShaderModule *pShaderModule,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateShaderModule(
+      m_device, reinterpret_cast<const VkShaderModuleCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkShaderModule *>(pShaderModule)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::ShaderModule>::type
+    Device::createShaderModule(const ShaderModuleCreateInfo &createInfo,
+                               Optional<const AllocationCallbacks> allocator,
+                               Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ShaderModule shaderModule;
+  Result result = static_cast<Result>(d.vkCreateShaderModule(
+      m_device, reinterpret_cast<const VkShaderModuleCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkShaderModule *>(&shaderModule)));
+  return createResultValue(result, shaderModule,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createShaderModule");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderModule, Dispatch>>::type
+    Device::createShaderModuleUnique(
+        const ShaderModuleCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ShaderModule shaderModule;
+  Result result = static_cast<Result>(d.vkCreateShaderModule(
+      m_device, reinterpret_cast<const VkShaderModuleCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkShaderModule *>(&shaderModule)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::ShaderModule, Dispatch>(
+      result, shaderModule,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModuleUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSharedSwapchainsKHR(
+    uint32_t swapchainCount,
+    const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR *pCreateInfos,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateSharedSwapchainsKHR(
+      m_device, swapchainCount,
+      reinterpret_cast<const VkSwapchainCreateInfoKHR *>(pCreateInfos),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSwapchainKHR *>(pSwapchains)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename SwapchainKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::vector<SwapchainKHR, SwapchainKHRAllocator>>::type
+    Device::createSharedSwapchainsKHR(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  std::vector<SwapchainKHR, SwapchainKHRAllocator> swapchains(
+      createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateSharedSwapchainsKHR(
+      m_device, createInfos.size(),
+      reinterpret_cast<const VkSwapchainCreateInfoKHR *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(swapchains.data())));
+  return createResultValue(result, swapchains,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSharedSwapchainsKHR");
+}
+
+template <
+    typename SwapchainKHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, SwapchainKHR>::value, int>::type>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::vector<SwapchainKHR, SwapchainKHRAllocator>>::type
+    Device::createSharedSwapchainsKHR(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        SwapchainKHRAllocator &swapchainKHRAllocator, Dispatch const &d) const {
+  std::vector<SwapchainKHR, SwapchainKHRAllocator> swapchains(
+      createInfos.size(), swapchainKHRAllocator);
+  Result result = static_cast<Result>(d.vkCreateSharedSwapchainsKHR(
+      m_device, createInfos.size(),
+      reinterpret_cast<const VkSwapchainCreateInfoKHR *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(swapchains.data())));
+  return createResultValue(result, swapchains,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSharedSwapchainsKHR");
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<SwapchainKHR>::type
+    Device::createSharedSwapchainKHR(
+        const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  SwapchainKHR swapchain;
+  Result result = static_cast<Result>(d.vkCreateSharedSwapchainsKHR(
+      m_device, 1,
+      reinterpret_cast<const VkSwapchainCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(&swapchain)));
+  return createResultValue(result, swapchain,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSharedSwapchainKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch, typename SwapchainKHRAllocator>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>,
+                                         SwapchainKHRAllocator>>::type
+    Device::createSharedSwapchainsKHRUnique(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  std::vector<UniqueHandle<SwapchainKHR, Dispatch>, SwapchainKHRAllocator>
+      uniqueSwapchains;
+  std::vector<SwapchainKHR> swapchains(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateSharedSwapchainsKHR(
+      m_device, createInfos.size(),
+      reinterpret_cast<const VkSwapchainCreateInfoKHR *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(swapchains.data())));
+  if (result == VULKAN_HPP_NAMESPACE::Result::eSuccess) {
+    uniqueSwapchains.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniqueSwapchains.push_back(
+          UniqueHandle<SwapchainKHR, Dispatch>(swapchains[i], deleter));
     }
-    return createResultValue(
-      result, physicalDevices, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" );
   }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+  return createResultValue(result, std::move(uniqueSwapchains),
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSharedSwapchainsKHRUnique");
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr( const char *     pName,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetInstanceProcAddr( m_instance, pName );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr( const std::string & name,
-                                                              Dispatch const &    d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetInstanceProcAddr( m_instance, name.c_str() );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT(
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
-    VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT              messageTypes,
-    const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT * pCallbackData,
-    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkSubmitDebugUtilsMessageEXT( m_instance,
-                                    static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ),
-                                    static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ),
-                                    reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( pCallbackData ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    Instance::submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
-                                          VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT        messageTypes,
-                                          const DebugUtilsMessengerCallbackDataEXT &                 callbackData,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkSubmitDebugUtilsMessageEXT( m_instance,
-                                    static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ),
-                                    static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ),
-                                    reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( &callbackData ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::acquireXlibDisplayEXT( Display *                        dpy,
-                                                                  VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkAcquireXlibDisplayEXT( m_physicalDevice, dpy, static_cast<VkDisplayKHR>( display ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type PhysicalDevice::acquireXlibDisplayEXT(
-    Display & dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkAcquireXlibDisplayEXT( m_physicalDevice, &dpy, static_cast<VkDisplayKHR>( display ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::createDevice( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo *    pCreateInfo,
-                                                         const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
-                                                         VULKAN_HPP_NAMESPACE::Device *                    pDevice,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkCreateDevice( m_physicalDevice,
-                                                  reinterpret_cast<const VkDeviceCreateInfo *>( pCreateInfo ),
-                                                  reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                                  reinterpret_cast<VkDevice *>( pDevice ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Device>::type PhysicalDevice::createDevice(
-    const DeviceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Device device;
-    Result                       result = static_cast<Result>( d.vkCreateDevice(
-      m_physicalDevice,
-      reinterpret_cast<const VkDeviceCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDevice *>( &device ) ) );
-    return createResultValue( result, device, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDevice" );
-  }
-#  ifndef VULKAN_HPP_NO_SMART_HANDLE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<Device, Dispatch>>::type PhysicalDevice::createDeviceUnique(
-    const DeviceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Device device;
-    Result                       result = static_cast<Result>( d.vkCreateDevice(
-      m_physicalDevice,
-      reinterpret_cast<const VkDeviceCreateInfo *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDevice *>( &device ) ) );
-
-    ObjectDestroy<NoParent, Dispatch> deleter( allocator, d );
-    return createResultValue<Device, Dispatch>(
-      result, device, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDeviceUnique", deleter );
-  }
-#  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
-#endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR                       display,
-                                          const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR * pCreateInfo,
-                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks *      pAllocator,
-                                          VULKAN_HPP_NAMESPACE::DisplayModeKHR *                 pMode,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkCreateDisplayModeKHR( m_physicalDevice,
-                                static_cast<VkDisplayKHR>( display ),
-                                reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( pCreateInfo ),
-                                reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
-                                reinterpret_cast<VkDisplayModeKHR *>( pMode ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayModeKHR>::type
-    PhysicalDevice::createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR    display,
-                                          const DisplayModeCreateInfoKHR &    createInfo,
-                                          Optional<const AllocationCallbacks> allocator,
-                                          Dispatch const &                    d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DisplayModeKHR mode;
-    Result                               result = static_cast<Result>( d.vkCreateDisplayModeKHR(
-      m_physicalDevice,
-      static_cast<VkDisplayKHR>( display ),
-      reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( &createInfo ),
-      reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const AllocationCallbacks *>( allocator ) ),
-      reinterpret_cast<VkDisplayModeKHR *>( &mode ) ) );
-    return createResultValue( result, mode, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDisplayModeKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::enumerateDeviceExtensionProperties( const char *                                pLayerName,
-                                                        uint32_t *                                  pPropertyCount,
-                                                        VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumerateDeviceExtensionProperties(
-      m_physicalDevice, pLayerName, pPropertyCount, reinterpret_cast<VkExtensionProperties *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type
-    PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName,
-                                                        Dispatch const &            d ) const
-  {
-    std::vector<ExtensionProperties, Allocator> properties;
-    uint32_t                                    propertyCount;
-    Result                                      result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumerateDeviceExtensionProperties(
-        m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkEnumerateDeviceExtensionProperties( m_physicalDevice,
-                                                  layerName ? layerName->c_str() : nullptr,
-                                                  &propertyCount,
-                                                  reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
+template <typename Dispatch, typename SwapchainKHRAllocator, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           UniqueHandle<SwapchainKHR, Dispatch>>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<UniqueHandle<SwapchainKHR, Dispatch>,
+                                         SwapchainKHRAllocator>>::type
+    Device::createSharedSwapchainsKHRUnique(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const
+            &createInfos,
+        Optional<const AllocationCallbacks> allocator,
+        SwapchainKHRAllocator &swapchainKHRAllocator, Dispatch const &d) const {
+  std::vector<UniqueHandle<SwapchainKHR, Dispatch>, SwapchainKHRAllocator>
+      uniqueSwapchains(swapchainKHRAllocator);
+  std::vector<SwapchainKHR> swapchains(createInfos.size());
+  Result result = static_cast<Result>(d.vkCreateSharedSwapchainsKHR(
+      m_device, createInfos.size(),
+      reinterpret_cast<const VkSwapchainCreateInfoKHR *>(createInfos.data()),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(swapchains.data())));
+  if (result == VULKAN_HPP_NAMESPACE::Result::eSuccess) {
+    uniqueSwapchains.reserve(createInfos.size());
+    ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+    for (size_t i = 0; i < createInfos.size(); i++) {
+      uniqueSwapchains.push_back(
+          UniqueHandle<SwapchainKHR, Dispatch>(swapchains[i], deleter));
     }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" );
   }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<ExtensionProperties, Allocator>>::type
-    PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName,
-                                                        Allocator const &           vectorAllocator,
-                                                        Dispatch const &            d ) const
-  {
-    std::vector<ExtensionProperties, Allocator> properties( vectorAllocator );
-    uint32_t                                    propertyCount;
-    Result                                      result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumerateDeviceExtensionProperties(
-        m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkEnumerateDeviceExtensionProperties( m_physicalDevice,
-                                                  layerName ? layerName->c_str() : nullptr,
-                                                  &propertyCount,
-                                                  reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" );
-  }
+  return createResultValue(result, std::move(uniqueSwapchains),
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSharedSwapchainsKHRUnique");
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<SwapchainKHR, Dispatch>>::type
+    Device::createSharedSwapchainKHRUnique(
+        const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  SwapchainKHR swapchain;
+  Result result = static_cast<Result>(d.vkCreateSharedSwapchainsKHR(
+      m_device, 1,
+      reinterpret_cast<const VkSwapchainCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(&swapchain)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<SwapchainKHR, Dispatch>(
+      result, swapchain,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::enumerateDeviceLayerProperties( uint32_t *                              pPropertyCount,
-                                                    VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumerateDeviceLayerProperties(
-      m_physicalDevice, pPropertyCount, reinterpret_cast<VkLayerProperties *>( pProperties ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSwapchainKHR(
+    const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchain,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateSwapchainKHR(
+      m_device, reinterpret_cast<const VkSwapchainCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSwapchainKHR *>(pSwapchain)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-    PhysicalDevice::enumerateDeviceLayerProperties( Dispatch const & d ) const
-  {
-    std::vector<LayerProperties, Allocator> properties;
-    uint32_t                                propertyCount;
-    Result                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkEnumerateDeviceLayerProperties(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<LayerProperties, Allocator>>::type
-    PhysicalDevice::enumerateDeviceLayerProperties( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<LayerProperties, Allocator> properties( vectorAllocator );
-    uint32_t                                propertyCount;
-    Result                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkEnumerateDeviceLayerProperties(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SwapchainKHR>::type
+    Device::createSwapchainKHR(const SwapchainCreateInfoKHR &createInfo,
+                               Optional<const AllocationCallbacks> allocator,
+                               Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain;
+  Result result = static_cast<Result>(d.vkCreateSwapchainKHR(
+      m_device, reinterpret_cast<const VkSwapchainCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(&swapchain)));
+  return createResultValue(result, swapchain,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createSwapchainKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>::type
+    Device::createSwapchainKHRUnique(
+        const SwapchainCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain;
+  Result result = static_cast<Result>(d.vkCreateSwapchainKHR(
+      m_device, reinterpret_cast<const VkSwapchainCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSwapchainKHR *>(&swapchain)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>(
+      result, swapchain,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
-    uint32_t                                                 queueFamilyIndex,
-    uint32_t *                                               pCounterCount,
-    VULKAN_HPP_NAMESPACE::PerformanceCounterKHR *            pCounters,
-    VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR * pCounterDescriptions,
-    Dispatch const &                                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-      m_physicalDevice,
-      queueFamilyIndex,
-      pCounterCount,
-      reinterpret_cast<VkPerformanceCounterKHR *>( pCounters ),
-      reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( pCounterDescriptions ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createValidationCacheEXT(
+    const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::ValidationCacheEXT *pValidationCache,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateValidationCacheEXT(
+      m_device,
+      reinterpret_cast<const VkValidationCacheCreateInfoEXT *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkValidationCacheEXT *>(pValidationCache)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
-    PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
-      uint32_t                                                        queueFamilyIndex,
-      ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const & counters,
-      Dispatch const &                                                d ) const
-  {
-    std::vector<PerformanceCounterDescriptionKHR, Allocator> counterDescriptions;
-    uint32_t                                                 counterCount;
-    Result                                                   result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-        m_physicalDevice,
-        queueFamilyIndex,
-        counters.size(),
-        reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ),
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && counterCount )
-      {
-        counterDescriptions.resize( counterCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-          m_physicalDevice,
-          queueFamilyIndex,
-          counters.size(),
-          reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ),
-          reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( counterDescriptions.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( counterCount <= counterDescriptions.size() );
-      counterDescriptions.resize( counterCount );
-    }
-    return createResultValue( result,
-                              counterDescriptions,
-                              VULKAN_HPP_NAMESPACE_STRING
-                              "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
-    PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
-      uint32_t                                                        queueFamilyIndex,
-      ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const & counters,
-      Allocator const &                                               vectorAllocator,
-      Dispatch const &                                                d ) const
-  {
-    std::vector<PerformanceCounterDescriptionKHR, Allocator> counterDescriptions( vectorAllocator );
-    uint32_t                                                 counterCount;
-    Result                                                   result;
-    do
-    {
-      result = static_cast<Result>( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-        m_physicalDevice,
-        queueFamilyIndex,
-        counters.size(),
-        reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ),
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && counterCount )
-      {
-        counterDescriptions.resize( counterCount );
-        result = static_cast<Result>( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-          m_physicalDevice,
-          queueFamilyIndex,
-          counters.size(),
-          reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ),
-          reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( counterDescriptions.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( counterCount <= counterDescriptions.size() );
-      counterDescriptions.resize( counterCount );
-    }
-    return createResultValue( result,
-                              counterDescriptions,
-                              VULKAN_HPP_NAMESPACE_STRING
-                              "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::type
+    Device::createValidationCacheEXT(
+        const ValidationCacheCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache;
+  Result result = static_cast<Result>(d.vkCreateValidationCacheEXT(
+      m_device,
+      reinterpret_cast<const VkValidationCacheCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkValidationCacheEXT *>(&validationCache)));
+  return createResultValue(result, validationCache,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::createValidationCacheEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::ValidationCacheEXT, Dispatch>>::type
+Device::createValidationCacheEXTUnique(
+    const ValidationCacheCreateInfoEXT &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache;
+  Result result = static_cast<Result>(d.vkCreateValidationCacheEXT(
+      m_device,
+      reinterpret_cast<const VkValidationCacheCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkValidationCacheEXT *>(&validationCache)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::ValidationCacheEXT, Dispatch>(
+      result, validationCache,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR                  display,
-                                                  uint32_t *                                        pPropertyCount,
-                                                  VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR * pProperties,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetDisplayModeProperties2KHR( m_physicalDevice,
-                                        static_cast<VkDisplayKHR>( display ),
-                                        pPropertyCount,
-                                        reinterpret_cast<VkDisplayModeProperties2KHR *>( pProperties ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::debugMarkerSetObjectNameEXT(
+    const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT *pNameInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkDebugMarkerSetObjectNameEXT(
+      m_device,
+      reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>(pNameInfo)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayModeProperties2KHR, Allocator>>::type
-    PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const
-  {
-    std::vector<DisplayModeProperties2KHR, Allocator> properties;
-    uint32_t                                          propertyCount;
-    Result                                            result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetDisplayModeProperties2KHR(
-        m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkGetDisplayModeProperties2KHR( m_physicalDevice,
-                                            static_cast<VkDisplayKHR>( display ),
-                                            &propertyCount,
-                                            reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayModeProperties2KHR, Allocator>>::type
-    PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                                  Allocator const &                vectorAllocator,
-                                                  Dispatch const &                 d ) const
-  {
-    std::vector<DisplayModeProperties2KHR, Allocator> properties( vectorAllocator );
-    uint32_t                                          propertyCount;
-    Result                                            result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetDisplayModeProperties2KHR(
-        m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkGetDisplayModeProperties2KHR( m_physicalDevice,
-                                            static_cast<VkDisplayKHR>( display ),
-                                            &propertyCount,
-                                            reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::debugMarkerSetObjectNameEXT(
+        const DebugMarkerObjectNameInfoEXT &nameInfo, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkDebugMarkerSetObjectNameEXT(
+      m_device,
+      reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>(&nameInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::debugMarkerSetObjectNameEXT");
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR                 display,
-                                                 uint32_t *                                       pPropertyCount,
-                                                 VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR * pProperties,
-                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetDisplayModePropertiesKHR( m_physicalDevice,
-                                       static_cast<VkDisplayKHR>( display ),
-                                       pPropertyCount,
-                                       reinterpret_cast<VkDisplayModePropertiesKHR *>( pProperties ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::debugMarkerSetObjectTagEXT(
+    const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT *pTagInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkDebugMarkerSetObjectTagEXT(
+      m_device,
+      reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>(pTagInfo)));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayModePropertiesKHR, Allocator>>::type
-    PhysicalDevice::getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const
-  {
-    std::vector<DisplayModePropertiesKHR, Allocator> properties;
-    uint32_t                                         propertyCount;
-    Result                                           result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetDisplayModePropertiesKHR(
-        m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkGetDisplayModePropertiesKHR( m_physicalDevice,
-                                           static_cast<VkDisplayKHR>( display ),
-                                           &propertyCount,
-                                           reinterpret_cast<VkDisplayModePropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayModePropertiesKHR, Allocator>>::type
-    PhysicalDevice::getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                                 Allocator const &                vectorAllocator,
-                                                 Dispatch const &                 d ) const
-  {
-    std::vector<DisplayModePropertiesKHR, Allocator> properties( vectorAllocator );
-    uint32_t                                         propertyCount;
-    Result                                           result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetDisplayModePropertiesKHR(
-        m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>(
-          d.vkGetDisplayModePropertiesKHR( m_physicalDevice,
-                                           static_cast<VkDisplayKHR>( display ),
-                                           &propertyCount,
-                                           reinterpret_cast<VkDisplayModePropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneCapabilities2KHR(
-    const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
-    VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR * pCapabilities,
-    Dispatch const &                                     d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetDisplayPlaneCapabilities2KHR( m_physicalDevice,
-                                           reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( pDisplayPlaneInfo ),
-                                           reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( pCapabilities ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR>::type
-    PhysicalDevice::getDisplayPlaneCapabilities2KHR( const DisplayPlaneInfo2KHR & displayPlaneInfo,
-                                                     Dispatch const &             d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR capabilities;
-    Result                                             result = static_cast<Result>(
-      d.vkGetDisplayPlaneCapabilities2KHR( m_physicalDevice,
-                                           reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( &displayPlaneInfo ),
-                                           reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( &capabilities ) ) );
-    return createResultValue(
-      result, capabilities, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR                mode,
-                                                    uint32_t                                            planeIndex,
-                                                    VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR * pCapabilities,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetDisplayPlaneCapabilitiesKHR( m_physicalDevice,
-                                          static_cast<VkDisplayModeKHR>( mode ),
-                                          planeIndex,
-                                          reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( pCapabilities ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR>::type
-    PhysicalDevice::getDisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode,
-                                                    uint32_t                             planeIndex,
-                                                    Dispatch const &                     d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities;
-    Result                                            result = static_cast<Result>(
-      d.vkGetDisplayPlaneCapabilitiesKHR( m_physicalDevice,
-                                          static_cast<VkDisplayModeKHR>( mode ),
-                                          planeIndex,
-                                          reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( &capabilities ) ) );
-    return createResultValue(
-      result, capabilities, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilitiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t                           planeIndex,
-                                                         uint32_t *                         pDisplayCount,
-                                                         VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplays,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR(
-      m_physicalDevice, planeIndex, pDisplayCount, reinterpret_cast<VkDisplayKHR *>( pDisplays ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayKHR, Allocator>>::type
-    PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const & d ) const
-  {
-    std::vector<DisplayKHR, Allocator> displays;
-    uint32_t                           displayCount;
-    Result                             result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && displayCount )
-      {
-        displays.resize( displayCount );
-        result = static_cast<Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR(
-          m_physicalDevice, planeIndex, &displayCount, reinterpret_cast<VkDisplayKHR *>( displays.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( displayCount <= displays.size() );
-      displays.resize( displayCount );
-    }
-    return createResultValue(
-      result, displays, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayKHR, Allocator>>::type
-    PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t          planeIndex,
-                                                         Allocator const & vectorAllocator,
-                                                         Dispatch const &  d ) const
-  {
-    std::vector<DisplayKHR, Allocator> displays( vectorAllocator );
-    uint32_t                           displayCount;
-    Result                             result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && displayCount )
-      {
-        displays.resize( displayCount );
-        result = static_cast<Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR(
-          m_physicalDevice, planeIndex, &displayCount, reinterpret_cast<VkDisplayKHR *>( displays.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( displayCount <= displays.size() );
-      displays.resize( displayCount );
-    }
-    return createResultValue(
-      result, displays, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getCalibrateableTimeDomainsEXT( uint32_t *                            pTimeDomainCount,
-                                                    VULKAN_HPP_NAMESPACE::TimeDomainEXT * pTimeDomains,
-                                                    Dispatch const &                      d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
-      m_physicalDevice, pTimeDomainCount, reinterpret_cast<VkTimeDomainEXT *>( pTimeDomains ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<TimeDomainEXT, Allocator>>::type
-    PhysicalDevice::getCalibrateableTimeDomainsEXT( Dispatch const & d ) const
-  {
-    std::vector<TimeDomainEXT, Allocator> timeDomains;
-    uint32_t                              timeDomainCount;
-    Result                                result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && timeDomainCount )
-      {
-        timeDomains.resize( timeDomainCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
-          m_physicalDevice, &timeDomainCount, reinterpret_cast<VkTimeDomainEXT *>( timeDomains.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() );
-      timeDomains.resize( timeDomainCount );
-    }
-    return createResultValue(
-      result, timeDomains, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<TimeDomainEXT, Allocator>>::type
-    PhysicalDevice::getCalibrateableTimeDomainsEXT( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<TimeDomainEXT, Allocator> timeDomains( vectorAllocator );
-    uint32_t                              timeDomainCount;
-    Result                                result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && timeDomainCount )
-      {
-        timeDomains.resize( timeDomainCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
-          m_physicalDevice, &timeDomainCount, reinterpret_cast<VkTimeDomainEXT *>( timeDomains.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() );
-      timeDomains.resize( timeDomainCount );
-    }
-    return createResultValue(
-      result, timeDomains, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getCooperativeMatrixPropertiesNV( uint32_t * pPropertyCount,
-                                                      VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV * pProperties,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
-      m_physicalDevice, pPropertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<CooperativeMatrixPropertiesNV, Allocator>>::type
-    PhysicalDevice::getCooperativeMatrixPropertiesNV( Dispatch const & d ) const
-  {
-    std::vector<CooperativeMatrixPropertiesNV, Allocator> properties;
-    uint32_t                                              propertyCount;
-    Result                                                result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
-          m_physicalDevice,
-          &propertyCount,
-          reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<CooperativeMatrixPropertiesNV, Allocator>>::type
-    PhysicalDevice::getCooperativeMatrixPropertiesNV( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<CooperativeMatrixPropertiesNV, Allocator> properties( vectorAllocator );
-    uint32_t                                              propertyCount;
-    Result                                                result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
-          m_physicalDevice,
-          &propertyCount,
-          reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT(
-    uint32_t queueFamilyIndex, IDirectFB * dfb, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Bool32>(
-      d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT( m_physicalDevice, queueFamilyIndex, dfb ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT(
-    uint32_t queueFamilyIndex, IDirectFB & dfb, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT( m_physicalDevice, queueFamilyIndex, &dfb );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayPlaneProperties2KHR( uint32_t *                                         pPropertyCount,
-                                                   VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR * pProperties,
-                                                   Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
-      m_physicalDevice, pPropertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPlaneProperties2KHR, Allocator>>::type
-    PhysicalDevice::getDisplayPlaneProperties2KHR( Dispatch const & d ) const
-  {
-    std::vector<DisplayPlaneProperties2KHR, Allocator> properties;
-    uint32_t                                           propertyCount;
-    Result                                             result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPlaneProperties2KHR, Allocator>>::type
-    PhysicalDevice::getDisplayPlaneProperties2KHR( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<DisplayPlaneProperties2KHR, Allocator> properties( vectorAllocator );
-    uint32_t                                           propertyCount;
-    Result                                             result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayPlanePropertiesKHR( uint32_t *                                        pPropertyCount,
-                                                  VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR * pProperties,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
-      m_physicalDevice, pPropertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPlanePropertiesKHR, Allocator>>::type
-    PhysicalDevice::getDisplayPlanePropertiesKHR( Dispatch const & d ) const
-  {
-    std::vector<DisplayPlanePropertiesKHR, Allocator> properties;
-    uint32_t                                          propertyCount;
-    Result                                            result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPlanePropertiesKHR, Allocator>>::type
-    PhysicalDevice::getDisplayPlanePropertiesKHR( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<DisplayPlanePropertiesKHR, Allocator> properties( vectorAllocator );
-    uint32_t                                          propertyCount;
-    Result                                            result;
-    do
-    {
-      result = static_cast<Result>(
-        d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayProperties2KHR( uint32_t *                                    pPropertyCount,
-                                              VULKAN_HPP_NAMESPACE::DisplayProperties2KHR * pProperties,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR(
-      m_physicalDevice, pPropertyCount, reinterpret_cast<VkDisplayProperties2KHR *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayProperties2KHR, Allocator>>::type
-    PhysicalDevice::getDisplayProperties2KHR( Dispatch const & d ) const
-  {
-    std::vector<DisplayProperties2KHR, Allocator> properties;
-    uint32_t                                      propertyCount;
-    Result                                        result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayProperties2KHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayProperties2KHR, Allocator>>::type
-    PhysicalDevice::getDisplayProperties2KHR( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<DisplayProperties2KHR, Allocator> properties( vectorAllocator );
-    uint32_t                                      propertyCount;
-    Result                                        result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayProperties2KHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getDisplayPropertiesKHR( uint32_t *                                   pPropertyCount,
-                                             VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR * pProperties,
-                                             Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR(
-      m_physicalDevice, pPropertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>( pProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPropertiesKHR, Allocator>>::type
-    PhysicalDevice::getDisplayPropertiesKHR( Dispatch const & d ) const
-  {
-    std::vector<DisplayPropertiesKHR, Allocator> properties;
-    uint32_t                                     propertyCount;
-    Result                                       result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayPropertiesKHR, Allocator>>::type
-    PhysicalDevice::getDisplayPropertiesKHR( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<DisplayPropertiesKHR, Allocator> properties( vectorAllocator );
-    uint32_t                                     propertyCount;
-    Result                                       result;
-    do
-    {
-      result =
-        static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && propertyCount )
-      {
-        properties.resize( propertyCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR(
-          m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>( properties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
-      properties.resize( propertyCount );
-    }
-    return createResultValue(
-      result, properties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferProperties(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
-    VULKAN_HPP_NAMESPACE::ExternalBufferProperties *               pExternalBufferProperties,
-    Dispatch const &                                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceExternalBufferProperties(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( pExternalBufferInfo ),
-      reinterpret_cast<VkExternalBufferProperties *>( pExternalBufferProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties
-    PhysicalDevice::getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo & externalBufferInfo,
-                                                 Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties;
-    d.vkGetPhysicalDeviceExternalBufferProperties(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ),
-      reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) );
-    return externalBufferProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferPropertiesKHR(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
-    VULKAN_HPP_NAMESPACE::ExternalBufferProperties *               pExternalBufferProperties,
-    Dispatch const &                                               d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceExternalBufferPropertiesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( pExternalBufferInfo ),
-      reinterpret_cast<VkExternalBufferProperties *>( pExternalBufferProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties
-    PhysicalDevice::getExternalBufferPropertiesKHR( const PhysicalDeviceExternalBufferInfo & externalBufferInfo,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties;
-    d.vkGetPhysicalDeviceExternalBufferPropertiesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ),
-      reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) );
-    return externalBufferProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getExternalFenceProperties(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
-    VULKAN_HPP_NAMESPACE::ExternalFenceProperties *               pExternalFenceProperties,
-    Dispatch const &                                              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceExternalFenceProperties(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( pExternalFenceInfo ),
-      reinterpret_cast<VkExternalFenceProperties *>( pExternalFenceProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties
-    PhysicalDevice::getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo & externalFenceInfo,
-                                                Dispatch const &                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties;
-    d.vkGetPhysicalDeviceExternalFenceProperties(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ),
-      reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) );
-    return externalFenceProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getExternalFencePropertiesKHR(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
-    VULKAN_HPP_NAMESPACE::ExternalFenceProperties *               pExternalFenceProperties,
-    Dispatch const &                                              d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceExternalFencePropertiesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( pExternalFenceInfo ),
-      reinterpret_cast<VkExternalFenceProperties *>( pExternalFenceProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties
-    PhysicalDevice::getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo & externalFenceInfo,
-                                                   Dispatch const &                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties;
-    d.vkGetPhysicalDeviceExternalFencePropertiesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ),
-      reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) );
-    return externalFenceProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getExternalImageFormatPropertiesNV(
-    VULKAN_HPP_NAMESPACE::Format                            format,
-    VULKAN_HPP_NAMESPACE::ImageType                         type,
-    VULKAN_HPP_NAMESPACE::ImageTiling                       tiling,
-    VULKAN_HPP_NAMESPACE::ImageUsageFlags                   usage,
-    VULKAN_HPP_NAMESPACE::ImageCreateFlags                  flags,
-    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV   externalHandleType,
-    VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV * pExternalImageFormatProperties,
-    Dispatch const &                                        d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
-      m_physicalDevice,
-      static_cast<VkFormat>( format ),
-      static_cast<VkImageType>( type ),
-      static_cast<VkImageTiling>( tiling ),
-      static_cast<VkImageUsageFlags>( usage ),
-      static_cast<VkImageCreateFlags>( flags ),
-      static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ),
-      reinterpret_cast<VkExternalImageFormatPropertiesNV *>( pExternalImageFormatProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV>::type
-    PhysicalDevice::getExternalImageFormatPropertiesNV(
-      VULKAN_HPP_NAMESPACE::Format                          format,
-      VULKAN_HPP_NAMESPACE::ImageType                       type,
-      VULKAN_HPP_NAMESPACE::ImageTiling                     tiling,
-      VULKAN_HPP_NAMESPACE::ImageUsageFlags                 usage,
-      VULKAN_HPP_NAMESPACE::ImageCreateFlags                flags,
-      VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType,
-      Dispatch const &                                      d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV externalImageFormatProperties;
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
-      m_physicalDevice,
-      static_cast<VkFormat>( format ),
-      static_cast<VkImageType>( type ),
-      static_cast<VkImageTiling>( tiling ),
-      static_cast<VkImageUsageFlags>( usage ),
-      static_cast<VkImageCreateFlags>( flags ),
-      static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ),
-      reinterpret_cast<VkExternalImageFormatPropertiesNV *>( &externalImageFormatProperties ) ) );
-    return createResultValue( result,
-                              externalImageFormatProperties,
-                              VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphoreProperties(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties *               pExternalSemaphoreProperties,
-    Dispatch const &                                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceExternalSemaphoreProperties(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( pExternalSemaphoreInfo ),
-      reinterpret_cast<VkExternalSemaphoreProperties *>( pExternalSemaphoreProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
-    PhysicalDevice::getExternalSemaphoreProperties( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties;
-    d.vkGetPhysicalDeviceExternalSemaphoreProperties(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ),
-      reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) );
-    return externalSemaphoreProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphorePropertiesKHR(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties *               pExternalSemaphoreProperties,
-    Dispatch const &                                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( pExternalSemaphoreInfo ),
-      reinterpret_cast<VkExternalSemaphoreProperties *>( pExternalSemaphoreProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties PhysicalDevice::getExternalSemaphorePropertiesKHR(
-    const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties;
-    d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ),
-      reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) );
-    return externalSemaphoreProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getFeatures( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pFeatures,
-                                                      Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceFeatures( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures *>( pFeatures ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures
-                    PhysicalDevice::getFeatures( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features;
-    d.vkGetPhysicalDeviceFeatures( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures *>( &features ) );
-    return features;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,
-                                                       Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( pFeatures ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
-                    PhysicalDevice::getFeatures2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features;
-    d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) );
-    return features;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getFeatures2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                      structureChain;
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 & features =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>();
-    d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( pFeatures ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
-                    PhysicalDevice::getFeatures2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features;
-    d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) );
-    return features;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getFeatures2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                      structureChain;
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 & features =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>();
-    d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getFormatProperties( VULKAN_HPP_NAMESPACE::Format             format,
-                                         VULKAN_HPP_NAMESPACE::FormatProperties * pFormatProperties,
-                                         Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceFormatProperties(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties *>( pFormatProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties
-                    PhysicalDevice::getFormatProperties( VULKAN_HPP_NAMESPACE::Format format,
-                                         Dispatch const &             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::FormatProperties formatProperties;
-    d.vkGetPhysicalDeviceFormatProperties(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties *>( &formatProperties ) );
-    return formatProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format              format,
-                                          VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,
-                                          Dispatch const &                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceFormatProperties2(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( pFormatProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
-                    PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format,
-                                          Dispatch const &             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties;
-    d.vkGetPhysicalDeviceFormatProperties2(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) );
-    return formatProperties;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format,
-                                          Dispatch const &             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                structureChain;
-    VULKAN_HPP_NAMESPACE::FormatProperties2 & formatProperties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>();
-    d.vkGetPhysicalDeviceFormatProperties2(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format              format,
-                                             VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,
-                                             Dispatch const &                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceFormatProperties2KHR(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( pFormatProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
-                    PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format,
-                                             Dispatch const &             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties;
-    d.vkGetPhysicalDeviceFormatProperties2KHR(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) );
-    return formatProperties;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format,
-                                             Dispatch const &             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                structureChain;
-    VULKAN_HPP_NAMESPACE::FormatProperties2 & formatProperties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>();
-    d.vkGetPhysicalDeviceFormatProperties2KHR(
-      m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format                  format,
-                                              VULKAN_HPP_NAMESPACE::ImageType               type,
-                                              VULKAN_HPP_NAMESPACE::ImageTiling             tiling,
-                                              VULKAN_HPP_NAMESPACE::ImageUsageFlags         usage,
-                                              VULKAN_HPP_NAMESPACE::ImageCreateFlags        flags,
-                                              VULKAN_HPP_NAMESPACE::ImageFormatProperties * pImageFormatProperties,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties(
-      m_physicalDevice,
-      static_cast<VkFormat>( format ),
-      static_cast<VkImageType>( type ),
-      static_cast<VkImageTiling>( tiling ),
-      static_cast<VkImageUsageFlags>( usage ),
-      static_cast<VkImageCreateFlags>( flags ),
-      reinterpret_cast<VkImageFormatProperties *>( pImageFormatProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties>::type
-    PhysicalDevice::getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format           format,
-                                              VULKAN_HPP_NAMESPACE::ImageType        type,
-                                              VULKAN_HPP_NAMESPACE::ImageTiling      tiling,
-                                              VULKAN_HPP_NAMESPACE::ImageUsageFlags  usage,
-                                              VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
-                                              Dispatch const &                       d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties;
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties(
-      m_physicalDevice,
-      static_cast<VkFormat>( format ),
-      static_cast<VkImageType>( type ),
-      static_cast<VkImageTiling>( tiling ),
-      static_cast<VkImageUsageFlags>( usage ),
-      static_cast<VkImageCreateFlags>( flags ),
-      reinterpret_cast<VkImageFormatProperties *>( &imageFormatProperties ) ) );
-    return createResultValue(
-      result, imageFormatProperties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 *               pImageFormatProperties,
-    Dispatch const &                                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ),
-      reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
-    PhysicalDevice::getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                               Dispatch const &                       d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties;
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ),
-      reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) );
-    return createResultValue(
-      result, imageFormatProperties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" );
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
-    PhysicalDevice::getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                               Dispatch const &                       d ) const
-  {
-    StructureChain<X, Y, Z...>                     structureChain;
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 & imageFormatProperties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>();
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ),
-      reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) );
-    return createResultValue(
-      result, structureChain, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2KHR(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 *               pImageFormatProperties,
-    Dispatch const &                                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ),
-      reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
-    PhysicalDevice::getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                                  Dispatch const &                       d ) const
-  {
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties;
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ),
-      reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) );
-    return createResultValue(
-      result, imageFormatProperties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" );
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
-    PhysicalDevice::getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo,
-                                                  Dispatch const &                       d ) const
-  {
-    StructureChain<X, Y, Z...>                     structureChain;
-    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 & imageFormatProperties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>();
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ),
-      reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) );
-    return createResultValue(
-      result, structureChain, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getMemoryProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties * pMemoryProperties,
-                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceMemoryProperties( m_physicalDevice,
-                                           reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( pMemoryProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties
-                    PhysicalDevice::getMemoryProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties;
-    d.vkGetPhysicalDeviceMemoryProperties( m_physicalDevice,
-                                           reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( &memoryProperties ) );
-    return memoryProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getMemoryProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceMemoryProperties2(
-      m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( pMemoryProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-                    PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
-    d.vkGetPhysicalDeviceMemoryProperties2(
-      m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) );
-    return memoryProperties;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                              structureChain;
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 & memoryProperties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>();
-    d.vkGetPhysicalDeviceMemoryProperties2(
-      m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getMemoryProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,
-                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceMemoryProperties2KHR(
-      m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( pMemoryProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-                    PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
-    d.vkGetPhysicalDeviceMemoryProperties2KHR(
-      m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) );
-    return memoryProperties;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                              structureChain;
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 & memoryProperties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>();
-    d.vkGetPhysicalDeviceMemoryProperties2KHR(
-      m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getMultisamplePropertiesEXT(
-    VULKAN_HPP_NAMESPACE::SampleCountFlagBits        samples,
-    VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT * pMultisampleProperties,
-    Dispatch const &                                 d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceMultisamplePropertiesEXT(
-      m_physicalDevice,
-      static_cast<VkSampleCountFlagBits>( samples ),
-      reinterpret_cast<VkMultisamplePropertiesEXT *>( pMultisampleProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
-                    PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
-                                                 Dispatch const &                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT multisampleProperties;
-    d.vkGetPhysicalDeviceMultisamplePropertiesEXT(
-      m_physicalDevice,
-      static_cast<VkSampleCountFlagBits>( samples ),
-      reinterpret_cast<VkMultisamplePropertiesEXT *>( &multisampleProperties ) );
-    return multisampleProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                                                    uint32_t *                       pRectCount,
-                                                                    VULKAN_HPP_NAMESPACE::Rect2D *   pRects,
-                                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDevicePresentRectanglesKHR(
-      m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), pRectCount, reinterpret_cast<VkRect2D *>( pRects ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<Rect2D, Allocator>>::type
-    PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
-  {
-    std::vector<Rect2D, Allocator> rects;
-    uint32_t                       rectCount;
-    Result                         result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDevicePresentRectanglesKHR(
-        m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && rectCount )
-      {
-        rects.resize( rectCount );
-        result = static_cast<Result>(
-          d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice,
-                                                     static_cast<VkSurfaceKHR>( surface ),
-                                                     &rectCount,
-                                                     reinterpret_cast<VkRect2D *>( rects.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( rectCount <= rects.size() );
-      rects.resize( rectCount );
-    }
-    return createResultValue( result, rects, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<Rect2D, Allocator>>::type
-    PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                             Allocator const &                vectorAllocator,
-                                             Dispatch const &                 d ) const
-  {
-    std::vector<Rect2D, Allocator> rects( vectorAllocator );
-    uint32_t                       rectCount;
-    Result                         result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDevicePresentRectanglesKHR(
-        m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && rectCount )
-      {
-        rects.resize( rectCount );
-        result = static_cast<Result>(
-          d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice,
-                                                     static_cast<VkSurfaceKHR>( surface ),
-                                                     &rectCount,
-                                                     reinterpret_cast<VkRect2D *>( rects.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( rectCount <= rects.size() );
-      rects.resize( rectCount );
-    }
-    return createResultValue( result, rects, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties * pProperties,
-                                                        Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties *>( pProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties
-                    PhysicalDevice::getProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties;
-    d.vkGetPhysicalDeviceProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties *>( &properties ) );
-    return properties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceProperties2( m_physicalDevice,
-                                      reinterpret_cast<VkPhysicalDeviceProperties2 *>( pProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
-                    PhysicalDevice::getProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties;
-    d.vkGetPhysicalDeviceProperties2( m_physicalDevice,
-                                      reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) );
-    return properties;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                        structureChain;
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 & properties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>();
-    d.vkGetPhysicalDeviceProperties2( m_physicalDevice,
-                                      reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,
-                                       Dispatch const &                                  d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice,
-                                         reinterpret_cast<VkPhysicalDeviceProperties2 *>( pProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
-                    PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties;
-    d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice,
-                                         reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) );
-    return properties;
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-                    PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    StructureChain<X, Y, Z...>                        structureChain;
-    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 & properties =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>();
-    d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice,
-                                         reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) );
-    return structureChain;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR(
-    const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
-    uint32_t *                                                      pNumPasses,
-    Dispatch const &                                                d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( pPerformanceQueryCreateInfo ),
-      pNumPasses );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE uint32_t PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR(
-    const QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    uint32_t numPasses;
-    d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( &performanceQueryCreateInfo ),
-      &numPasses );
-    return numPasses;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getQueueFamilyProperties( uint32_t *                                    pQueueFamilyPropertyCount,
-                                              VULKAN_HPP_NAMESPACE::QueueFamilyProperties * pQueueFamilyProperties,
-                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice,
-                                                pQueueFamilyPropertyCount,
-                                                reinterpret_cast<VkQueueFamilyProperties *>( pQueueFamilyProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties, Allocator>
-                    PhysicalDevice::getQueueFamilyProperties( Dispatch const & d ) const
-  {
-    std::vector<QueueFamilyProperties, Allocator> queueFamilyProperties;
-    uint32_t                                      queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    d.vkGetPhysicalDeviceQueueFamilyProperties(
-      m_physicalDevice,
-      &queueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) );
-    return queueFamilyProperties;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties, Allocator>
-    PhysicalDevice::getQueueFamilyProperties( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<QueueFamilyProperties, Allocator> queueFamilyProperties( vectorAllocator );
-    uint32_t                                      queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    d.vkGetPhysicalDeviceQueueFamilyProperties(
-      m_physicalDevice,
-      &queueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) );
-    return queueFamilyProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getQueueFamilyProperties2( uint32_t *                                     pQueueFamilyPropertyCount,
-                                               VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,
-                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceQueueFamilyProperties2(
-      m_physicalDevice,
-      pQueueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties2 *>( pQueueFamilyProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2, Allocator>
-                    PhysicalDevice::getQueueFamilyProperties2( Dispatch const & d ) const
-  {
-    std::vector<QueueFamilyProperties2, Allocator> queueFamilyProperties;
-    uint32_t                                       queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    d.vkGetPhysicalDeviceQueueFamilyProperties2(
-      m_physicalDevice,
-      &queueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) );
-    return queueFamilyProperties;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2, Allocator>
-    PhysicalDevice::getQueueFamilyProperties2( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<QueueFamilyProperties2, Allocator> queueFamilyProperties( vectorAllocator );
-    uint32_t                                       queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    d.vkGetPhysicalDeviceQueueFamilyProperties2(
-      m_physicalDevice,
-      &queueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) );
-    return queueFamilyProperties;
-  }
-  template <typename StructureChain, typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<StructureChain, Allocator>
-                    PhysicalDevice::getQueueFamilyProperties2( Dispatch const & d ) const
-  {
-    std::vector<StructureChain, Allocator> queueFamilyProperties;
-    uint32_t                               queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> localVector( queueFamilyPropertyCount );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      localVector[i].pNext =
-        queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext;
-    }
-    d.vkGetPhysicalDeviceQueueFamilyProperties2(
-      m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( localVector.data() ) );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = localVector[i];
-    }
-    return queueFamilyProperties;
-  }
-  template <typename StructureChain, typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<StructureChain, Allocator>
-    PhysicalDevice::getQueueFamilyProperties2( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<StructureChain, Allocator> queueFamilyProperties( vectorAllocator );
-    uint32_t                               queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> localVector( queueFamilyPropertyCount );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      localVector[i].pNext =
-        queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext;
-    }
-    d.vkGetPhysicalDeviceQueueFamilyProperties2(
-      m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( localVector.data() ) );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = localVector[i];
-    }
-    return queueFamilyProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getQueueFamilyProperties2KHR( uint32_t * pQueueFamilyPropertyCount,
-                                                  VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,
-                                                  Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
-      m_physicalDevice,
-      pQueueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties2 *>( pQueueFamilyProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2, Allocator>
-                    PhysicalDevice::getQueueFamilyProperties2KHR( Dispatch const & d ) const
-  {
-    std::vector<QueueFamilyProperties2, Allocator> queueFamilyProperties;
-    uint32_t                                       queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
-      m_physicalDevice,
-      &queueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) );
-    return queueFamilyProperties;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2, Allocator>
-    PhysicalDevice::getQueueFamilyProperties2KHR( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<QueueFamilyProperties2, Allocator> queueFamilyProperties( vectorAllocator );
-    uint32_t                                       queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
-      m_physicalDevice,
-      &queueFamilyPropertyCount,
-      reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) );
-    return queueFamilyProperties;
-  }
-  template <typename StructureChain, typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<StructureChain, Allocator>
-                    PhysicalDevice::getQueueFamilyProperties2KHR( Dispatch const & d ) const
-  {
-    std::vector<StructureChain, Allocator> queueFamilyProperties;
-    uint32_t                               queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> localVector( queueFamilyPropertyCount );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      localVector[i].pNext =
-        queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext;
-    }
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
-      m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( localVector.data() ) );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = localVector[i];
-    }
-    return queueFamilyProperties;
-  }
-  template <typename StructureChain, typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<StructureChain, Allocator>
-    PhysicalDevice::getQueueFamilyProperties2KHR( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<StructureChain, Allocator> queueFamilyProperties( vectorAllocator );
-    uint32_t                               queueFamilyPropertyCount;
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
-    queueFamilyProperties.resize( queueFamilyPropertyCount );
-    std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> localVector( queueFamilyPropertyCount );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      localVector[i].pNext =
-        queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext;
-    }
-    d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
-      m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( localVector.data() ) );
-    for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ )
-    {
-      queueFamilyProperties[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = localVector[i];
-    }
-    return queueFamilyProperties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void
-    PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format                        format,
-                                                    VULKAN_HPP_NAMESPACE::ImageType                     type,
-                                                    VULKAN_HPP_NAMESPACE::SampleCountFlagBits           samples,
-                                                    VULKAN_HPP_NAMESPACE::ImageUsageFlags               usage,
-                                                    VULKAN_HPP_NAMESPACE::ImageTiling                   tiling,
-                                                    uint32_t *                                          pPropertyCount,
-                                                    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties * pProperties,
-                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceSparseImageFormatProperties(
-      m_physicalDevice,
-      static_cast<VkFormat>( format ),
-      static_cast<VkImageType>( type ),
-      static_cast<VkSampleCountFlagBits>( samples ),
-      static_cast<VkImageUsageFlags>( usage ),
-      static_cast<VkImageTiling>( tiling ),
-      pPropertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties *>( pProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties, Allocator>
-                    PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
-                                                    VULKAN_HPP_NAMESPACE::ImageType           type,
-                                                    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
-                                                    VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage,
-                                                    VULKAN_HPP_NAMESPACE::ImageTiling         tiling,
-                                                    Dispatch const &                          d ) const
-  {
-    std::vector<SparseImageFormatProperties, Allocator> properties;
-    uint32_t                                            propertyCount;
-    d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice,
-                                                      static_cast<VkFormat>( format ),
-                                                      static_cast<VkImageType>( type ),
-                                                      static_cast<VkSampleCountFlagBits>( samples ),
-                                                      static_cast<VkImageUsageFlags>( usage ),
-                                                      static_cast<VkImageTiling>( tiling ),
-                                                      &propertyCount,
-                                                      nullptr );
-    properties.resize( propertyCount );
-    d.vkGetPhysicalDeviceSparseImageFormatProperties(
-      m_physicalDevice,
-      static_cast<VkFormat>( format ),
-      static_cast<VkImageType>( type ),
-      static_cast<VkSampleCountFlagBits>( samples ),
-      static_cast<VkImageUsageFlags>( usage ),
-      static_cast<VkImageTiling>( tiling ),
-      &propertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) );
-    return properties;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties, Allocator>
-                    PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
-                                                    VULKAN_HPP_NAMESPACE::ImageType           type,
-                                                    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
-                                                    VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage,
-                                                    VULKAN_HPP_NAMESPACE::ImageTiling         tiling,
-                                                    Allocator const &                         vectorAllocator,
-                                                    Dispatch const &                          d ) const
-  {
-    std::vector<SparseImageFormatProperties, Allocator> properties( vectorAllocator );
-    uint32_t                                            propertyCount;
-    d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice,
-                                                      static_cast<VkFormat>( format ),
-                                                      static_cast<VkImageType>( type ),
-                                                      static_cast<VkSampleCountFlagBits>( samples ),
-                                                      static_cast<VkImageUsageFlags>( usage ),
-                                                      static_cast<VkImageTiling>( tiling ),
-                                                      &propertyCount,
-                                                      nullptr );
-    properties.resize( propertyCount );
-    d.vkGetPhysicalDeviceSparseImageFormatProperties(
-      m_physicalDevice,
-      static_cast<VkFormat>( format ),
-      static_cast<VkImageType>( type ),
-      static_cast<VkSampleCountFlagBits>( samples ),
-      static_cast<VkImageUsageFlags>( usage ),
-      static_cast<VkImageTiling>( tiling ),
-      &propertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) );
-    return properties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
-    uint32_t *                                                         pPropertyCount,
-    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 *               pProperties,
-    Dispatch const &                                                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( pFormatInfo ),
-      pPropertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties2 *>( pProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2, Allocator>
-    PhysicalDevice::getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                                     Dispatch const &                             d ) const
-  {
-    std::vector<SparseImageFormatProperties2, Allocator> properties;
-    uint32_t                                             propertyCount;
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      nullptr );
-    properties.resize( propertyCount );
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) );
-    return properties;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2, Allocator>
-    PhysicalDevice::getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                                     Allocator const &                            vectorAllocator,
-                                                     Dispatch const &                             d ) const
-  {
-    std::vector<SparseImageFormatProperties2, Allocator> properties( vectorAllocator );
-    uint32_t                                             propertyCount;
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      nullptr );
-    properties.resize( propertyCount );
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) );
-    return properties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2KHR(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
-    uint32_t *                                                         pPropertyCount,
-    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 *               pProperties,
-    Dispatch const &                                                   d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( pFormatInfo ),
-      pPropertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties2 *>( pProperties ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2, Allocator>
-    PhysicalDevice::getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                                        Dispatch const &                             d ) const
-  {
-    std::vector<SparseImageFormatProperties2, Allocator> properties;
-    uint32_t                                             propertyCount;
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      nullptr );
-    properties.resize( propertyCount );
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) );
-    return properties;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2, Allocator>
-    PhysicalDevice::getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                                        Allocator const &                            vectorAllocator,
-                                                        Dispatch const &                             d ) const
-  {
-    std::vector<SparseImageFormatProperties2, Allocator> properties( vectorAllocator );
-    uint32_t                                             propertyCount;
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      nullptr );
-    properties.resize( propertyCount );
-    d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ),
-      &propertyCount,
-      reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) );
-    return properties;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV(
-    uint32_t *                                                   pCombinationCount,
-    VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV * pCombinations,
-    Dispatch const &                                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-      m_physicalDevice,
-      pCombinationCount,
-      reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( pCombinations ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<FramebufferMixedSamplesCombinationNV, Allocator>>::type
-    PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( Dispatch const & d ) const
-  {
-    std::vector<FramebufferMixedSamplesCombinationNV, Allocator> combinations;
-    uint32_t                                                     combinationCount;
-    Result                                                       result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-        m_physicalDevice, &combinationCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && combinationCount )
-      {
-        combinations.resize( combinationCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-          m_physicalDevice,
-          &combinationCount,
-          reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( combinations.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( combinationCount <= combinations.size() );
-      combinations.resize( combinationCount );
-    }
-    return createResultValue( result,
-                              combinations,
-                              VULKAN_HPP_NAMESPACE_STRING
-                              "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<FramebufferMixedSamplesCombinationNV, Allocator>>::type
-    PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( Allocator const & vectorAllocator,
-                                                                       Dispatch const &  d ) const
-  {
-    std::vector<FramebufferMixedSamplesCombinationNV, Allocator> combinations( vectorAllocator );
-    uint32_t                                                     combinationCount;
-    Result                                                       result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-        m_physicalDevice, &combinationCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && combinationCount )
-      {
-        combinations.resize( combinationCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-          m_physicalDevice,
-          &combinationCount,
-          reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( combinations.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( combinationCount <= combinations.size() );
-      combinations.resize( combinationCount );
-    }
-    return createResultValue( result,
-                              combinations,
-                              VULKAN_HPP_NAMESPACE_STRING
-                              "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR                surface,
-                                                VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT * pSurfaceCapabilities,
-                                                Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT(
-      m_physicalDevice,
-      static_cast<VkSurfaceKHR>( surface ),
-      reinterpret_cast<VkSurfaceCapabilities2EXT *>( pSurfaceCapabilities ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT>::type
-    PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT surfaceCapabilities;
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT(
-      m_physicalDevice,
-      static_cast<VkSurfaceKHR>( surface ),
-      reinterpret_cast<VkSurfaceCapabilities2EXT *>( &surfaceCapabilities ) ) );
-    return createResultValue(
-      result, surfaceCapabilities, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceCapabilities2KHR(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-    VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR *             pSurfaceCapabilities,
-    Dispatch const &                                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ),
-      reinterpret_cast<VkSurfaceCapabilities2KHR *>( pSurfaceCapabilities ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>::type
-    PhysicalDevice::getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                                Dispatch const &                      d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR surfaceCapabilities;
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-      reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) );
-    return createResultValue(
-      result, surfaceCapabilities, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" );
-  }
-  template <typename X, typename Y, typename... Z, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
-    PhysicalDevice::getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                                Dispatch const &                      d ) const
-  {
-    StructureChain<X, Y, Z...>                      structureChain;
-    VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR & surfaceCapabilities =
-      structureChain.template get<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>();
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-      reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) );
-    return createResultValue(
-      result, structureChain, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR               surface,
-                                               VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR * pSurfaceCapabilities,
-                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
-      m_physicalDevice,
-      static_cast<VkSurfaceKHR>( surface ),
-      reinterpret_cast<VkSurfaceCapabilitiesKHR *>( pSurfaceCapabilities ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR>::type
-    PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities;
-    Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
-      m_physicalDevice,
-      static_cast<VkSurfaceKHR>( surface ),
-      reinterpret_cast<VkSurfaceCapabilitiesKHR *>( &surfaceCapabilities ) ) );
-    return createResultValue(
-      result, surfaceCapabilities, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-                                           uint32_t *                                pSurfaceFormatCount,
-                                           VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR * pSurfaceFormats,
-                                           Dispatch const &                          d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ),
-      pSurfaceFormatCount,
-      reinterpret_cast<VkSurfaceFormat2KHR *>( pSurfaceFormats ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<SurfaceFormat2KHR, Allocator>>::type
-    PhysicalDevice::getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const & d ) const
-  {
-    std::vector<SurfaceFormat2KHR, Allocator> surfaceFormats;
-    uint32_t                                  surfaceFormatCount;
-    Result                                    result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR(
-        m_physicalDevice,
-        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-        &surfaceFormatCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && surfaceFormatCount )
-      {
-        surfaceFormats.resize( surfaceFormatCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR(
-          m_physicalDevice,
-          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-          &surfaceFormatCount,
-          reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() );
-      surfaceFormats.resize( surfaceFormatCount );
-    }
-    return createResultValue(
-      result, surfaceFormats, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<SurfaceFormat2KHR, Allocator>>::type
-    PhysicalDevice::getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                           Allocator const &                     vectorAllocator,
-                                           Dispatch const &                      d ) const
-  {
-    std::vector<SurfaceFormat2KHR, Allocator> surfaceFormats( vectorAllocator );
-    uint32_t                                  surfaceFormatCount;
-    Result                                    result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR(
-        m_physicalDevice,
-        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-        &surfaceFormatCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && surfaceFormatCount )
-      {
-        surfaceFormats.resize( surfaceFormatCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR(
-          m_physicalDevice,
-          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-          &surfaceFormatCount,
-          reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() );
-      surfaceFormats.resize( surfaceFormatCount );
-    }
-    return createResultValue(
-      result, surfaceFormats, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR         surface,
-                                          uint32_t *                               pSurfaceFormatCount,
-                                          VULKAN_HPP_NAMESPACE::SurfaceFormatKHR * pSurfaceFormats,
-                                          Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice,
-                                              static_cast<VkSurfaceKHR>( surface ),
-                                              pSurfaceFormatCount,
-                                              reinterpret_cast<VkSurfaceFormatKHR *>( pSurfaceFormats ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<SurfaceFormatKHR, Allocator>>::type
-    PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
-  {
-    std::vector<SurfaceFormatKHR, Allocator> surfaceFormats;
-    uint32_t                                 surfaceFormatCount;
-    Result                                   result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR(
-        m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && surfaceFormatCount )
-      {
-        surfaceFormats.resize( surfaceFormatCount );
-        result = static_cast<Result>(
-          d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice,
-                                                  static_cast<VkSurfaceKHR>( surface ),
-                                                  &surfaceFormatCount,
-                                                  reinterpret_cast<VkSurfaceFormatKHR *>( surfaceFormats.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() );
-      surfaceFormats.resize( surfaceFormatCount );
-    }
-    return createResultValue(
-      result, surfaceFormats, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<SurfaceFormatKHR, Allocator>>::type
-    PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                          Allocator const &                vectorAllocator,
-                                          Dispatch const &                 d ) const
-  {
-    std::vector<SurfaceFormatKHR, Allocator> surfaceFormats( vectorAllocator );
-    uint32_t                                 surfaceFormatCount;
-    Result                                   result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR(
-        m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && surfaceFormatCount )
-      {
-        surfaceFormats.resize( surfaceFormatCount );
-        result = static_cast<Result>(
-          d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice,
-                                                  static_cast<VkSurfaceKHR>( surface ),
-                                                  &surfaceFormatCount,
-                                                  reinterpret_cast<VkSurfaceFormatKHR *>( surfaceFormats.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() );
-      surfaceFormats.resize( surfaceFormatCount );
-    }
-    return createResultValue(
-      result, surfaceFormats, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getSurfacePresentModes2EXT(
-    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
-    uint32_t *                                                  pPresentModeCount,
-    VULKAN_HPP_NAMESPACE::PresentModeKHR *                      pPresentModes,
-    Dispatch const &                                            d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
-      m_physicalDevice,
-      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ),
-      pPresentModeCount,
-      reinterpret_cast<VkPresentModeKHR *>( pPresentModes ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type
-    PhysicalDevice::getSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                                Dispatch const &                      d ) const
-  {
-    std::vector<PresentModeKHR, Allocator> presentModes;
-    uint32_t                               presentModeCount;
-    Result                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
-        m_physicalDevice,
-        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-        &presentModeCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && presentModeCount )
-      {
-        presentModes.resize( presentModeCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
-          m_physicalDevice,
-          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-          &presentModeCount,
-          reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() );
-      presentModes.resize( presentModeCount );
-    }
-    return createResultValue(
-      result, presentModes, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type
-    PhysicalDevice::getSurfacePresentModes2EXT( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
-                                                Allocator const &                     vectorAllocator,
-                                                Dispatch const &                      d ) const
-  {
-    std::vector<PresentModeKHR, Allocator> presentModes( vectorAllocator );
-    uint32_t                               presentModeCount;
-    Result                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
-        m_physicalDevice,
-        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-        &presentModeCount,
-        nullptr ) );
-      if ( ( result == Result::eSuccess ) && presentModeCount )
-      {
-        presentModes.resize( presentModeCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
-          m_physicalDevice,
-          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ),
-          &presentModeCount,
-          reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() );
-      presentModes.resize( presentModeCount );
-    }
-    return createResultValue(
-      result, presentModes, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR       surface,
-                                               uint32_t *                             pPresentModeCount,
-                                               VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes,
-                                               Dispatch const &                       d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice,
-                                                   static_cast<VkSurfaceKHR>( surface ),
-                                                   pPresentModeCount,
-                                                   reinterpret_cast<VkPresentModeKHR *>( pPresentModes ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type
-    PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
-  {
-    std::vector<PresentModeKHR, Allocator> presentModes;
-    uint32_t                               presentModeCount;
-    Result                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR(
-        m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && presentModeCount )
-      {
-        presentModes.resize( presentModeCount );
-        result = static_cast<Result>(
-          d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice,
-                                                       static_cast<VkSurfaceKHR>( surface ),
-                                                       &presentModeCount,
-                                                       reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() );
-      presentModes.resize( presentModeCount );
-    }
-    return createResultValue(
-      result, presentModes, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PresentModeKHR, Allocator>>::type
-    PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                               Allocator const &                vectorAllocator,
-                                               Dispatch const &                 d ) const
-  {
-    std::vector<PresentModeKHR, Allocator> presentModes( vectorAllocator );
-    uint32_t                               presentModeCount;
-    Result                                 result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR(
-        m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && presentModeCount )
-      {
-        presentModes.resize( presentModeCount );
-        result = static_cast<Result>(
-          d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice,
-                                                       static_cast<VkSurfaceKHR>( surface ),
-                                                       &presentModeCount,
-                                                       reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() );
-      presentModes.resize( presentModeCount );
-    }
-    return createResultValue(
-      result, presentModes, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceSupportKHR( uint32_t                         queueFamilyIndex,
-                                                                 VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
-                                                                 VULKAN_HPP_NAMESPACE::Bool32 *   pSupported,
-                                                                 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceSupportKHR( m_physicalDevice,
-                                                                        queueFamilyIndex,
-                                                                        static_cast<VkSurfaceKHR>( surface ),
-                                                                        reinterpret_cast<VkBool32 *>( pSupported ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Bool32>::type PhysicalDevice::getSurfaceSupportKHR(
-    uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::Bool32 supported;
-    Result                       result =
-      static_cast<Result>( d.vkGetPhysicalDeviceSurfaceSupportKHR( m_physicalDevice,
-                                                                   queueFamilyIndex,
-                                                                   static_cast<VkSurfaceKHR>( surface ),
-                                                                   reinterpret_cast<VkBool32 *>( &supported ) ) );
-    return createResultValue( result, supported, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result
-    PhysicalDevice::getToolPropertiesEXT( uint32_t *                                              pToolCount,
-                                          VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT * pToolProperties,
-                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkGetPhysicalDeviceToolPropertiesEXT(
-      m_physicalDevice, pToolCount, reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>( pToolProperties ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceToolPropertiesEXT, Allocator>>::type
-    PhysicalDevice::getToolPropertiesEXT( Dispatch const & d ) const
-  {
-    std::vector<PhysicalDeviceToolPropertiesEXT, Allocator> toolProperties;
-    uint32_t                                                toolCount;
-    Result                                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && toolCount )
-      {
-        toolProperties.resize( toolCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceToolPropertiesEXT(
-          m_physicalDevice,
-          &toolCount,
-          reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>( toolProperties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() );
-      toolProperties.resize( toolCount );
-    }
-    return createResultValue(
-      result, toolProperties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" );
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<std::vector<PhysicalDeviceToolPropertiesEXT, Allocator>>::type
-    PhysicalDevice::getToolPropertiesEXT( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<PhysicalDeviceToolPropertiesEXT, Allocator> toolProperties( vectorAllocator );
-    uint32_t                                                toolCount;
-    Result                                                  result;
-    do
-    {
-      result = static_cast<Result>( d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, nullptr ) );
-      if ( ( result == Result::eSuccess ) && toolCount )
-      {
-        toolProperties.resize( toolCount );
-        result = static_cast<Result>( d.vkGetPhysicalDeviceToolPropertiesEXT(
-          m_physicalDevice,
-          &toolCount,
-          reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>( toolProperties.data() ) ) );
-      }
-    } while ( result == Result::eIncomplete );
-    if ( result == Result::eSuccess )
-    {
-      VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() );
-      toolProperties.resize( toolCount );
-    }
-    return createResultValue(
-      result, toolProperties, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR(
-    uint32_t queueFamilyIndex, struct wl_display * display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Bool32>(
-      d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, display ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR(
-    uint32_t queueFamilyIndex, struct wl_display & display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &display );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WAYLAND_KHR*/
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR(
-    uint32_t queueFamilyIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Bool32>(
-      d.vkGetPhysicalDeviceWin32PresentationSupportKHR( m_physicalDevice, queueFamilyIndex ) );
-  }
-#  else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR(
-    uint32_t queueFamilyIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetPhysicalDeviceWin32PresentationSupportKHR( m_physicalDevice, queueFamilyIndex );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_WIN32_KHR*/
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t           queueFamilyIndex,
-                                                                         xcb_connection_t * connection,
-                                                                         xcb_visualid_t     visual_id,
-                                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Bool32>(
-      d.vkGetPhysicalDeviceXcbPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, connection, visual_id ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t           queueFamilyIndex,
-                                                                         xcb_connection_t & connection,
-                                                                         xcb_visualid_t     visual_id,
-                                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetPhysicalDeviceXcbPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &connection, visual_id );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XCB_KHR*/
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t         queueFamilyIndex,
-                                                                          Display *        dpy,
-                                                                          VisualID         visualID,
-                                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Bool32>(
-      d.vkGetPhysicalDeviceXlibPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, dpy, visualID ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t         queueFamilyIndex,
-                                                                          Display &        dpy,
-                                                                          VisualID         visualID,
-                                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return d.vkGetPhysicalDeviceXlibPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &dpy, visualID );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XLIB_KHR*/
-
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::getRandROutputDisplayEXT( Display *                          dpy,
-                                                                     RROutput                           rrOutput,
-                                                                     VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay,
-                                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkGetRandROutputDisplayEXT( m_physicalDevice, dpy, rrOutput, reinterpret_cast<VkDisplayKHR *>( pDisplay ) ) );
-  }
-#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type
-    PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput, Dispatch const & d ) const
-  {
-    VULKAN_HPP_NAMESPACE::DisplayKHR display;
-    Result                           result = static_cast<Result>(
-      d.vkGetRandROutputDisplayEXT( m_physicalDevice, &dpy, rrOutput, reinterpret_cast<VkDisplayKHR *>( &display ) ) );
-    return createResultValue(
-      result, display, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXT" );
-  }
-#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-#endif   /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result PhysicalDevice::releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display,
-                                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( display ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    PhysicalDevice::releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( display ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::releaseDisplayEXT" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Queue::getCheckpointDataNV( uint32_t *                               pCheckpointDataCount,
-                                                     VULKAN_HPP_NAMESPACE::CheckpointDataNV * pCheckpointData,
-                                                     Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkGetQueueCheckpointDataNV(
-      m_queue, pCheckpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( pCheckpointData ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<CheckpointDataNV, Allocator> Queue::getCheckpointDataNV( Dispatch const & d ) const
-  {
-    std::vector<CheckpointDataNV, Allocator> checkpointData;
-    uint32_t                                 checkpointDataCount;
-    d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, nullptr );
-    checkpointData.resize( checkpointDataCount );
-    d.vkGetQueueCheckpointDataNV(
-      m_queue, &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) );
-    return checkpointData;
-  }
-  template <typename Allocator, typename Dispatch>
-  VULKAN_HPP_INLINE std::vector<CheckpointDataNV, Allocator>
-                    Queue::getCheckpointDataNV( Allocator const & vectorAllocator, Dispatch const & d ) const
-  {
-    std::vector<CheckpointDataNV, Allocator> checkpointData( vectorAllocator );
-    uint32_t                                 checkpointDataCount;
-    d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, nullptr );
-    checkpointData.resize( checkpointDataCount );
-    d.vkGetQueueCheckpointDataNV(
-      m_queue, &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) );
-    return checkpointData;
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                                         Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkQueueBeginDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                                         Dispatch const &           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkQueueBeginDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Queue::bindSparse( uint32_t                                     bindInfoCount,
-                                              const VULKAN_HPP_NAMESPACE::BindSparseInfo * pBindInfo,
-                                              VULKAN_HPP_NAMESPACE::Fence                  fence,
-                                              Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkQueueBindSparse( m_queue,
-                                                     bindInfoCount,
-                                                     reinterpret_cast<const VkBindSparseInfo *>( pBindInfo ),
-                                                     static_cast<VkFence>( fence ) ) );
-  }
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Queue::bindSparse( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo,
-                       VULKAN_HPP_NAMESPACE::Fence                                    fence,
-                       Dispatch const &                                               d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkQueueBindSparse( m_queue,
-                                                bindInfo.size(),
-                                                reinterpret_cast<const VkBindSparseInfo *>( bindInfo.data() ),
-                                                static_cast<VkFence>( fence ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::bindSparse" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::debugMarkerSetObjectTagEXT(
+        const DebugMarkerObjectTagInfoEXT &tagInfo, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkDebugMarkerSetObjectTagEXT(
+      m_device,
+      reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>(&tagInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::debugMarkerSetObjectTagEXT");
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkQueueEndDebugUtilsLabelEXT( m_queue );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::deferredOperationJoinKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkDeferredOperationJoinKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation)));
+}
 #else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkQueueEndDebugUtilsLabelEXT( m_queue );
-  }
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::deferredOperationJoinKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkDeferredOperationJoinKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation)));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::deferredOperationJoinKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eThreadDoneKHR,
+       VULKAN_HPP_NAMESPACE::Result::eThreadIdleKHR});
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,
-                                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkQueueInsertDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyAccelerationStructureKHR(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureKHR(
+      m_device, static_cast<VkAccelerationStructureKHR>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo,
-                                                          Dispatch const &           d ) const VULKAN_HPP_NOEXCEPT
-  {
-    d.vkQueueInsertDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyAccelerationStructureKHR(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureKHR(
+      m_device, static_cast<VkAccelerationStructureKHR>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Queue::presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR * pPresentInfo,
-                                              Dispatch const &                             d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>(
-      d.vkQueuePresentKHR( m_queue, reinterpret_cast<const VkPresentInfoKHR *>( pPresentInfo ) ) );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroy(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureKHR(
+      m_device, static_cast<VkAccelerationStructureKHR>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Queue::presentKHR( const PresentInfoKHR & presentInfo, Dispatch const & d ) const
-  {
-    Result result =
-      static_cast<Result>( d.vkQueuePresentKHR( m_queue, reinterpret_cast<const VkPresentInfoKHR *>( &presentInfo ) ) );
-    return createResultValue(
-      result, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR } );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroy(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureKHR(
+      m_device, static_cast<VkAccelerationStructureKHR>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Queue::setPerformanceConfigurationINTEL(
-    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkQueueSetPerformanceConfigurationINTEL(
-      m_queue, static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
-                                             Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkQueueSetPerformanceConfigurationINTEL(
-      m_queue, static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" );
-  }
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyAccelerationStructureNV(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
 
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Queue::submit( uint32_t                                 submitCount,
-                                          const VULKAN_HPP_NAMESPACE::SubmitInfo * pSubmits,
-                                          VULKAN_HPP_NAMESPACE::Fence              fence,
-                                          Dispatch const &                         d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkQueueSubmit(
-      m_queue, submitCount, reinterpret_cast<const VkSubmitInfo *>( pSubmits ), static_cast<VkFence>( fence ) ) );
-  }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Queue::submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits,
-                   VULKAN_HPP_NAMESPACE::Fence                                fence,
-                   Dispatch const &                                           d ) const
-  {
-    Result result = static_cast<Result>( d.vkQueueSubmit( m_queue,
-                                                          submits.size(),
-                                                          reinterpret_cast<const VkSubmitInfo *>( submits.data() ),
-                                                          static_cast<VkFence>( fence ) ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyAccelerationStructureNV(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE Result Queue::waitIdle( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
-  {
-    return static_cast<Result>( d.vkQueueWaitIdle( m_queue ) );
-  }
-#else
-  template <typename Dispatch>
-  VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::waitIdle( Dispatch const & d ) const
-  {
-    Result result = static_cast<Result>( d.vkQueueWaitIdle( m_queue ) );
-    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::waitIdle" );
-  }
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroy(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroy(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyAccelerationStructureNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  template <>
-  struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  template <>
-  struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  template <>
-  struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <>
-  struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyBuffer(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBuffer(
+      m_device, static_cast<VkBuffer>(buffer),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                      Optional<const AllocationCallbacks> allocator,
+                      Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBuffer(
+      m_device, static_cast<VkBuffer>(buffer),
+      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::Buffer buffer,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBuffer(
+      m_device, static_cast<VkBuffer>(buffer),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBuffer(
+      m_device, static_cast<VkBuffer>(buffer),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyBufferCollectionFUCHSIA(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferCollectionFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyBufferCollectionFUCHSIA(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferCollectionFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <>
-  struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferCollectionFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferCollectionFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-  template <>
-  struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ControlOpsMemoryAllocateInfoFUCHSIA, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  template <>
-  struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <>
-  struct StructExtends<DeferredOperationInfoKHR, RayTracingPipelineCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeferredOperationInfoKHR, AccelerationStructureBuildGeometryInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeferredOperationInfoKHR, CopyAccelerationStructureInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeferredOperationInfoKHR, CopyMemoryToAccelerationStructureInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeferredOperationInfoKHR, CopyAccelerationStructureToMemoryInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  template <>
-  struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfoEXT, DescriptorPoolCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DevicePrivateDataCreateInfoEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DeviceQueueGlobalPriorityCreateInfoEXT, DeviceQueueCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  template <>
-  struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  template <>
-  struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  template <>
-  struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyBufferView(
+    VULKAN_HPP_NAMESPACE::BufferView bufferView,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferView(
+      m_device, static_cast<VkBufferView>(bufferView),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyBufferView(VULKAN_HPP_NAMESPACE::BufferView bufferView,
+                          Optional<const AllocationCallbacks> allocator,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferView(
+      m_device, static_cast<VkBufferView>(bufferView),
+      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::BufferView bufferView,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferView(
+      m_device, static_cast<VkBufferView>(bufferView),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::BufferView bufferView,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyBufferView(
+      m_device, static_cast<VkBufferView>(bufferView),
+      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::destroyCommandPool(
+    VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyCommandPool(
+      m_device, static_cast<VkCommandPool>(commandPool),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                           Optional<const AllocationCallbacks> allocator,
+                           Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyCommandPool(
+      m_device, static_cast<VkCommandPool>(commandPool),
+      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::CommandPool commandPool,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyCommandPool(
+      m_device, static_cast<VkCommandPool>(commandPool),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyCommandPool(
+      m_device, static_cast<VkCommandPool>(commandPool),
+      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::destroyDeferredOperationKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDeferredOperationKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyDeferredOperationKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDeferredOperationKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation),
+      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::DeferredOperationKHR operation,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDeferredOperationKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDeferredOperationKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation),
+      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::destroyDescriptorPool(
+    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorPool(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyDescriptorPool(
+    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorPool(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      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::DescriptorPool descriptorPool,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorPool(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorPool(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      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::destroyDescriptorSetLayout(
+    VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorSetLayout(
+      m_device, static_cast<VkDescriptorSetLayout>(descriptorSetLayout),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyDescriptorSetLayout(
+    VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorSetLayout(
+      m_device, static_cast<VkDescriptorSetLayout>(descriptorSetLayout),
+      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::DescriptorSetLayout descriptorSetLayout,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorSetLayout(
+      m_device, static_cast<VkDescriptorSetLayout>(descriptorSetLayout),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorSetLayout(
+      m_device, static_cast<VkDescriptorSetLayout>(descriptorSetLayout),
+      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::destroyDescriptorUpdateTemplate(
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorUpdateTemplate(
+      m_device,
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplate(
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorUpdateTemplate(
+      m_device,
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
+      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::destroyDescriptorUpdateTemplateKHR(
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorUpdateTemplateKHR(
+      m_device,
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR(
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorUpdateTemplateKHR(
+      m_device,
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
+      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::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorUpdateTemplate(
+      m_device,
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroy(
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDescriptorUpdateTemplate(
+      m_device,
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
+      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(const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDevice(
+      m_device, reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDevice(
+      m_device,
+      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::destroyEvent(
+    VULKAN_HPP_NAMESPACE::Event event,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyEvent(m_device, static_cast<VkEvent>(event),
+                   reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyEvent(VULKAN_HPP_NAMESPACE::Event event,
+                     Optional<const AllocationCallbacks> allocator,
+                     Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyEvent(
+      m_device, static_cast<VkEvent>(event),
+      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::Event event,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyEvent(m_device, static_cast<VkEvent>(event),
+                   reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Event event,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyEvent(
+      m_device, static_cast<VkEvent>(event),
+      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::destroyFence(
+    VULKAN_HPP_NAMESPACE::Fence fence,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFence(m_device, static_cast<VkFence>(fence),
+                   reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyFence(VULKAN_HPP_NAMESPACE::Fence fence,
+                     Optional<const AllocationCallbacks> allocator,
+                     Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFence(
+      m_device, static_cast<VkFence>(fence),
+      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::Fence fence,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFence(m_device, static_cast<VkFence>(fence),
+                   reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Fence fence,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFence(
+      m_device, static_cast<VkFence>(fence),
+      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::destroyFramebuffer(
+    VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFramebuffer(
+      m_device, static_cast<VkFramebuffer>(framebuffer),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyFramebuffer(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
+                           Optional<const AllocationCallbacks> allocator,
+                           Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFramebuffer(
+      m_device, static_cast<VkFramebuffer>(framebuffer),
+      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::Framebuffer framebuffer,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFramebuffer(
+      m_device, static_cast<VkFramebuffer>(framebuffer),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyFramebuffer(
+      m_device, static_cast<VkFramebuffer>(framebuffer),
+      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::destroyImage(
+    VULKAN_HPP_NAMESPACE::Image image,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImage(m_device, static_cast<VkImage>(image),
+                   reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyImage(VULKAN_HPP_NAMESPACE::Image image,
+                     Optional<const AllocationCallbacks> allocator,
+                     Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImage(
+      m_device, static_cast<VkImage>(image),
+      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::Image image,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImage(m_device, static_cast<VkImage>(image),
+                   reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Image image,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImage(
+      m_device, static_cast<VkImage>(image),
+      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::destroyImageView(
+    VULKAN_HPP_NAMESPACE::ImageView imageView,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImageView(
+      m_device, static_cast<VkImageView>(imageView),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyImageView(VULKAN_HPP_NAMESPACE::ImageView imageView,
+                         Optional<const AllocationCallbacks> allocator,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImageView(
+      m_device, static_cast<VkImageView>(imageView),
+      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::ImageView imageView,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImageView(
+      m_device, static_cast<VkImageView>(imageView),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::ImageView imageView,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyImageView(
+      m_device, static_cast<VkImageView>(imageView),
+      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::destroyIndirectCommandsLayoutNV(
+    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyIndirectCommandsLayoutNV(
+      m_device, static_cast<VkIndirectCommandsLayoutNV>(indirectCommandsLayout),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutNV(
+    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyIndirectCommandsLayoutNV(
+      m_device, static_cast<VkIndirectCommandsLayoutNV>(indirectCommandsLayout),
+      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::IndirectCommandsLayoutNV indirectCommandsLayout,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyIndirectCommandsLayoutNV(
+      m_device, static_cast<VkIndirectCommandsLayoutNV>(indirectCommandsLayout),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroy(
+    VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyIndirectCommandsLayoutNV(
+      m_device, static_cast<VkIndirectCommandsLayoutNV>(indirectCommandsLayout),
+      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::destroyPipeline(
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipeline(
+      m_device, static_cast<VkPipeline>(pipeline),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                        Optional<const AllocationCallbacks> allocator,
+                        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipeline(
+      m_device, static_cast<VkPipeline>(pipeline),
+      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::Pipeline pipeline,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipeline(
+      m_device, static_cast<VkPipeline>(pipeline),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipeline(
+      m_device, static_cast<VkPipeline>(pipeline),
+      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::destroyPipelineCache(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineCache(
+      m_device, static_cast<VkPipelineCache>(pipelineCache),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyPipelineCache(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+                             Optional<const AllocationCallbacks> allocator,
+                             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineCache(
+      m_device, static_cast<VkPipelineCache>(pipelineCache),
+      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::PipelineCache pipelineCache,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineCache(
+      m_device, static_cast<VkPipelineCache>(pipelineCache),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineCache(
+      m_device, static_cast<VkPipelineCache>(pipelineCache),
+      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::destroyPipelineLayout(
+    VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineLayout(
+      m_device, static_cast<VkPipelineLayout>(pipelineLayout),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyPipelineLayout(
+    VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineLayout(
+      m_device, static_cast<VkPipelineLayout>(pipelineLayout),
+      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::PipelineLayout pipelineLayout,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineLayout(
+      m_device, static_cast<VkPipelineLayout>(pipelineLayout),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPipelineLayout(
+      m_device, static_cast<VkPipelineLayout>(pipelineLayout),
+      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::destroyPrivateDataSlotEXT(
+    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPrivateDataSlotEXT(
+      m_device, static_cast<VkPrivateDataSlotEXT>(privateDataSlot),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT(
+    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPrivateDataSlotEXT(
+      m_device, static_cast<VkPrivateDataSlotEXT>(privateDataSlot),
+      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::PrivateDataSlotEXT privateDataSlot,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPrivateDataSlotEXT(
+      m_device, static_cast<VkPrivateDataSlotEXT>(privateDataSlot),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyPrivateDataSlotEXT(
+      m_device, static_cast<VkPrivateDataSlotEXT>(privateDataSlot),
+      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::destroyQueryPool(
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyQueryPool(
+      m_device, static_cast<VkQueryPool>(queryPool),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                         Optional<const AllocationCallbacks> allocator,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyQueryPool(
+      m_device, static_cast<VkQueryPool>(queryPool),
+      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::QueryPool queryPool,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyQueryPool(
+      m_device, static_cast<VkQueryPool>(queryPool),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyQueryPool(
+      m_device, static_cast<VkQueryPool>(queryPool),
+      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::destroyRenderPass(
+    VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyRenderPass(
+      m_device, static_cast<VkRenderPass>(renderPass),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+                          Optional<const AllocationCallbacks> allocator,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyRenderPass(
+      m_device, static_cast<VkRenderPass>(renderPass),
+      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::RenderPass renderPass,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyRenderPass(
+      m_device, static_cast<VkRenderPass>(renderPass),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyRenderPass(
+      m_device, static_cast<VkRenderPass>(renderPass),
+      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::destroySampler(
+    VULKAN_HPP_NAMESPACE::Sampler sampler,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySampler(
+      m_device, static_cast<VkSampler>(sampler),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroySampler(VULKAN_HPP_NAMESPACE::Sampler sampler,
+                       Optional<const AllocationCallbacks> allocator,
+                       Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySampler(
+      m_device, static_cast<VkSampler>(sampler),
+      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::Sampler sampler,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySampler(
+      m_device, static_cast<VkSampler>(sampler),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Sampler sampler,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySampler(
+      m_device, static_cast<VkSampler>(sampler),
+      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::destroySamplerYcbcrConversion(
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySamplerYcbcrConversion(
+      m_device, static_cast<VkSamplerYcbcrConversion>(ycbcrConversion),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversion(
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySamplerYcbcrConversion(
+      m_device, static_cast<VkSamplerYcbcrConversion>(ycbcrConversion),
+      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::destroySamplerYcbcrConversionKHR(
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySamplerYcbcrConversionKHR(
+      m_device, static_cast<VkSamplerYcbcrConversion>(ycbcrConversion),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR(
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySamplerYcbcrConversionKHR(
+      m_device, static_cast<VkSamplerYcbcrConversion>(ycbcrConversion),
+      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::SamplerYcbcrConversion ycbcrConversion,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySamplerYcbcrConversion(
+      m_device, static_cast<VkSamplerYcbcrConversion>(ycbcrConversion),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySamplerYcbcrConversion(
+      m_device, static_cast<VkSamplerYcbcrConversion>(ycbcrConversion),
+      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::destroySemaphore(
+    VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySemaphore(
+      m_device, static_cast<VkSemaphore>(semaphore),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroySemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+                         Optional<const AllocationCallbacks> allocator,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySemaphore(
+      m_device, static_cast<VkSemaphore>(semaphore),
+      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::Semaphore semaphore,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySemaphore(
+      m_device, static_cast<VkSemaphore>(semaphore),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySemaphore(
+      m_device, static_cast<VkSemaphore>(semaphore),
+      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::destroyShaderModule(
+    VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyShaderModule(
+      m_device, static_cast<VkShaderModule>(shaderModule),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroyShaderModule(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
+                            Optional<const AllocationCallbacks> allocator,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyShaderModule(
+      m_device, static_cast<VkShaderModule>(shaderModule),
+      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::ShaderModule shaderModule,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyShaderModule(
+      m_device, static_cast<VkShaderModule>(shaderModule),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyShaderModule(
+      m_device, static_cast<VkShaderModule>(shaderModule),
+      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::destroySwapchainKHR(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySwapchainKHR(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroySwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                            Optional<const AllocationCallbacks> allocator,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySwapchainKHR(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      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::SwapchainKHR swapchain,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySwapchainKHR(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySwapchainKHR(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      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::destroyValidationCacheEXT(
+    VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyValidationCacheEXT(
+      m_device, static_cast<VkValidationCacheEXT>(validationCache),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::destroyValidationCacheEXT(
+    VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyValidationCacheEXT(
+      m_device, static_cast<VkValidationCacheEXT>(validationCache),
+      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::ValidationCacheEXT validationCache,
+                const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyValidationCacheEXT(
+      m_device, static_cast<VkValidationCacheEXT>(validationCache),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::destroy(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+                Optional<const AllocationCallbacks> allocator,
+                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyValidationCacheEXT(
+      m_device, static_cast<VkValidationCacheEXT>(validationCache),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::waitIdle(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkDeviceWaitIdle(m_device));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::waitIdle(Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkDeviceWaitIdle(m_device));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::waitIdle");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::displayPowerControlEXT(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display,
+    const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT *pDisplayPowerInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkDisplayPowerControlEXT(
+      m_device, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayPowerInfoEXT *>(pDisplayPowerInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+Device::displayPowerControlEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                               const DisplayPowerInfoEXT &displayPowerInfo,
+                               Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkDisplayPowerControlEXT(
+      m_device, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayPowerInfoEXT *>(&displayPowerInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::displayPowerControlEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::flushMappedMemoryRanges(
+    uint32_t memoryRangeCount,
+    const VULKAN_HPP_NAMESPACE::MappedMemoryRange *pMemoryRanges,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkFlushMappedMemoryRanges(
+      m_device, memoryRangeCount,
+      reinterpret_cast<const VkMappedMemoryRange *>(pMemoryRanges)));
+}
+
+#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,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkFlushMappedMemoryRanges(
+      m_device, memoryRanges.size(),
+      reinterpret_cast<const VkMappedMemoryRange *>(memoryRanges.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::flushMappedMemoryRanges");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::freeCommandBuffers(
+    VULKAN_HPP_NAMESPACE::CommandPool commandPool, uint32_t commandBufferCount,
+    const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeCommandBuffers(
+      m_device, static_cast<VkCommandPool>(commandPool), commandBufferCount,
+      reinterpret_cast<const VkCommandBuffer *>(pCommandBuffers));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::freeCommandBuffers(
+    VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const &commandBuffers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeCommandBuffers(
+      m_device, static_cast<VkCommandPool>(commandPool), commandBuffers.size(),
+      reinterpret_cast<const VkCommandBuffer *>(commandBuffers.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::free(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+             uint32_t commandBufferCount,
+             const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers,
+             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeCommandBuffers(
+      m_device, static_cast<VkCommandPool>(commandPool), commandBufferCount,
+      reinterpret_cast<const VkCommandBuffer *>(pCommandBuffers));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::free(
+    VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const &commandBuffers,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeCommandBuffers(
+      m_device, static_cast<VkCommandPool>(commandPool), commandBuffers.size(),
+      reinterpret_cast<const VkCommandBuffer *>(commandBuffers.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE Result Device::freeDescriptorSets(
+    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+    uint32_t descriptorSetCount,
+    const VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkFreeDescriptorSets(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      descriptorSetCount,
+      reinterpret_cast<const VkDescriptorSet *>(pDescriptorSets)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+Device::freeDescriptorSets(
+    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const &descriptorSets,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkFreeDescriptorSets(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      descriptorSets.size(),
+      reinterpret_cast<const VkDescriptorSet *>(descriptorSets.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::freeDescriptorSets");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE Result
+Device::free(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+             uint32_t descriptorSetCount,
+             const VULKAN_HPP_NAMESPACE::DescriptorSet *pDescriptorSets,
+             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkFreeDescriptorSets(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      descriptorSetCount,
+      reinterpret_cast<const VkDescriptorSet *>(pDescriptorSets)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::free(
+    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const &descriptorSets,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkFreeDescriptorSets(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      descriptorSets.size(),
+      reinterpret_cast<const VkDescriptorSet *>(descriptorSets.data())));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::free");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::freeMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                   const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                   Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeMemory(m_device, static_cast<VkDeviceMemory>(memory),
+                 reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::freeMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                   Optional<const AllocationCallbacks> allocator,
+                   Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeMemory(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      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::free(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+             const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeMemory(m_device, static_cast<VkDeviceMemory>(memory),
+                 reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::free(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+             Optional<const AllocationCallbacks> allocator,
+             Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkFreeMemory(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      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::getAccelerationStructureBuildSizesKHR(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR
+        *pBuildInfo,
+    const uint32_t *pMaxPrimitiveCounts,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR *pSizeInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetAccelerationStructureBuildSizesKHR(
+      m_device, static_cast<VkAccelerationStructureBuildTypeKHR>(buildType),
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          pBuildInfo),
+      pMaxPrimitiveCounts,
+      reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>(pSizeInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR
+    Device::getAccelerationStructureBuildSizesKHR(
+        VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
+        const AccelerationStructureBuildGeometryInfoKHR &buildInfo,
+        ArrayProxy<const uint32_t> const &maxPrimitiveCounts,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(maxPrimitiveCounts.size() == buildInfo.geometryCount);
+#else
+  if (maxPrimitiveCounts.size() != buildInfo.geometryCount) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::Device::getAccelerationStructureBuildSizesKHR: "
+                     "maxPrimitiveCounts.size() != buildInfo.geometryCount");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR sizeInfo;
+  d.vkGetAccelerationStructureBuildSizesKHR(
+      m_device, static_cast<VkAccelerationStructureBuildTypeKHR>(buildType),
+      reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(
+          &buildInfo),
+      maxPrimitiveCounts.data(),
+      reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>(&sizeInfo));
+  return sizeInfo;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress Device::getAccelerationStructureAddressKHR(
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR
+        *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<DeviceAddress>(
+      d.vkGetAccelerationStructureDeviceAddressKHR(
+          m_device,
+          reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>(
+              pInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress Device::getAccelerationStructureAddressKHR(
+    const AccelerationStructureDeviceAddressInfoKHR &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetAccelerationStructureDeviceAddressKHR(
+      m_device,
+      reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>(
+          &info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getAccelerationStructureHandleNV(
+    VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+    size_t dataSize, void *pData, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetAccelerationStructureHandleNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      dataSize, pData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::getAccelerationStructureHandleNV(
+        VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+        ArrayProxy<T> const &data, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkGetAccelerationStructureHandleNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getAccelerationStructureHandleNV");
+}
+
+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,
+        size_t dataSize, Dispatch const &d) const {
+  VULKAN_HPP_ASSERT(dataSize % sizeof(T) == 0);
+  std::vector<T, Allocator> data(dataSize / sizeof(T));
+  Result result = static_cast<Result>(d.vkGetAccelerationStructureHandleNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getAccelerationStructureHandleNV");
+}
+
+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,
+        Dispatch const &d) const {
+  T data;
+  Result result = static_cast<Result>(d.vkGetAccelerationStructureHandleNV(
+      m_device, static_cast<VkAccelerationStructureNV>(accelerationStructure),
+      sizeof(T), reinterpret_cast<void *>(&data)));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getAccelerationStructureHandleNV");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getAccelerationStructureMemoryRequirementsNV(
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV
+        *pInfo,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetAccelerationStructureMemoryRequirementsNV(
+      m_device,
+      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>(
+          pInfo),
+      reinterpret_cast<VkMemoryRequirements2KHR *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR
+    Device::getAccelerationStructureMemoryRequirementsNV(
+        const AccelerationStructureMemoryRequirementsInfoNV &info,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR memoryRequirements;
+  d.vkGetAccelerationStructureMemoryRequirementsNV(
+      m_device,
+      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>(
+          &info),
+      reinterpret_cast<VkMemoryRequirements2KHR *>(&memoryRequirements));
+  return memoryRequirements;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getAccelerationStructureMemoryRequirementsNV(
+    const AccelerationStructureMemoryRequirementsInfoNV &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR &memoryRequirements =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR>();
+  d.vkGetAccelerationStructureMemoryRequirementsNV(
+      m_device,
+      reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>(
+          &info),
+      reinterpret_cast<VkMemoryRequirements2KHR *>(&memoryRequirements));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getAndroidHardwareBufferPropertiesANDROID(
+    const struct AHardwareBuffer *buffer,
+    VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetAndroidHardwareBufferPropertiesANDROID(
+      m_device, buffer,
+      reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>(
+          pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>::type
+    Device::getAndroidHardwareBufferPropertiesANDROID(
+        const struct AHardwareBuffer &buffer, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID properties;
+  Result result =
+      static_cast<Result>(d.vkGetAndroidHardwareBufferPropertiesANDROID(
+          m_device, &buffer,
+          reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>(
+              &properties)));
+  return createResultValue(
+      result, properties,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::getAndroidHardwareBufferPropertiesANDROID");
+}
+
+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 {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID &properties =
+      structureChain.template get<
+          VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>();
+  Result result =
+      static_cast<Result>(d.vkGetAndroidHardwareBufferPropertiesANDROID(
+          m_device, &buffer,
+          reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>(
+              &properties)));
+  return createResultValue(
+      result, structureChain,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::getAndroidHardwareBufferPropertiesANDROID");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  template <>
-  struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-  template <>
-  struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getBufferCollectionProperties2FUCHSIA(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+    VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetBufferCollectionProperties2FUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<VkBufferCollectionProperties2FUCHSIA *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA>::type
+    Device::getBufferCollectionProperties2FUCHSIA(
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIA properties;
+  Result result = static_cast<Result>(d.vkGetBufferCollectionProperties2FUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<VkBufferCollectionProperties2FUCHSIA *>(&properties)));
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getBufferCollectionProperties2FUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getBufferCollectionPropertiesFUCHSIA(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+    VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetBufferCollectionPropertiesFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA>::type
+    Device::getBufferCollectionPropertiesFUCHSIA(
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA properties;
+  Result result = static_cast<Result>(d.vkGetBufferCollectionPropertiesFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>(&properties)));
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getBufferCollectionPropertiesFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddress(
+    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<DeviceAddress>(d.vkGetBufferDeviceAddress(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(pInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress
+Device::getBufferAddress(const BufferDeviceAddressInfo &info,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetBufferDeviceAddress(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressEXT(
+    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<DeviceAddress>(d.vkGetBufferDeviceAddressEXT(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(pInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress
+Device::getBufferAddressEXT(const BufferDeviceAddressInfo &info,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetBufferDeviceAddressEXT(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressKHR(
+    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<DeviceAddress>(d.vkGetBufferDeviceAddressKHR(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(pInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceAddress
+Device::getBufferAddressKHR(const BufferDeviceAddressInfo &info,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetBufferDeviceAddressKHR(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements(
+    VULKAN_HPP_NAMESPACE::Buffer buffer,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetBufferMemoryRequirements(
+      m_device, static_cast<VkBuffer>(buffer),
+      reinterpret_cast<VkMemoryRequirements *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements
+Device::getBufferMemoryRequirements(VULKAN_HPP_NAMESPACE::Buffer buffer,
+                                    Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements;
+  d.vkGetBufferMemoryRequirements(
+      m_device, static_cast<VkBuffer>(buffer),
+      reinterpret_cast<VkMemoryRequirements *>(&memoryRequirements));
+  return memoryRequirements;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2(
+    const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 *pInfo,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetBufferMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(pInfo),
+      reinterpret_cast<VkMemoryRequirements2 *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
+Device::getBufferMemoryRequirements2(const BufferMemoryRequirementsInfo2 &info,
+                                     Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
+  d.vkGetBufferMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return memoryRequirements;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getBufferMemoryRequirements2(const BufferMemoryRequirementsInfo2 &info,
+                                     Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements =
+      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
+  d.vkGetBufferMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2KHR(
+    const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 *pInfo,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetBufferMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(pInfo),
+      reinterpret_cast<VkMemoryRequirements2 *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
+Device::getBufferMemoryRequirements2KHR(
+    const BufferMemoryRequirementsInfo2 &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
+  d.vkGetBufferMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return memoryRequirements;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getBufferMemoryRequirements2KHR(
+    const BufferMemoryRequirementsInfo2 &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements =
+      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
+  d.vkGetBufferMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress(
+    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetBufferOpaqueCaptureAddress(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(pInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress(
+    const BufferDeviceAddressInfo &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetBufferOpaqueCaptureAddress(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR(
+    const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetBufferOpaqueCaptureAddressKHR(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(pInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR(
+    const BufferDeviceAddressInfo &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetBufferOpaqueCaptureAddressKHR(
+      m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getCalibratedTimestampsEXT(
+    uint32_t timestampCount,
+    const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT *pTimestampInfos,
+    uint64_t *pTimestamps, uint64_t *pMaxDeviation,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetCalibratedTimestampsEXT(
+      m_device, timestampCount,
+      reinterpret_cast<const VkCalibratedTimestampInfoEXT *>(pTimestampInfos),
+      pTimestamps, pMaxDeviation));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<uint64_t>::type Device::getCalibratedTimestampsEXT(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const
+            &timestampInfos,
+        ArrayProxy<uint64_t> const &timestamps, Dispatch const &d) const {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(timestampInfos.size() == timestamps.size());
+#else
+  if (timestampInfos.size() != timestamps.size()) {
+    throw LogicError(VULKAN_HPP_NAMESPACE_STRING
+                     "::VkDevice::getCalibratedTimestampsEXT: "
+                     "timestampInfos.size() != timestamps.size()");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+  uint64_t maxDeviation;
+  Result result = static_cast<Result>(d.vkGetCalibratedTimestampsEXT(
+      m_device, timestampInfos.size(),
+      reinterpret_cast<const VkCalibratedTimestampInfoEXT *>(
+          timestampInfos.data()),
+      timestamps.data(), &maxDeviation));
+  return createResultValue(result, maxDeviation,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getCalibratedTimestampsEXT");
+}
+
+template <typename Uint64_tAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type
+    Device::getCalibratedTimestampsEXT(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const
+            &timestampInfos,
+        Dispatch const &d) const {
+  std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t> data(
+      std::piecewise_construct, std::forward_as_tuple(timestampInfos.size()),
+      std::forward_as_tuple(0));
+  std::vector<uint64_t, Uint64_tAllocator> &timestamps = data.first;
+  uint64_t &maxDeviation = data.second;
+  Result result = static_cast<Result>(d.vkGetCalibratedTimestampsEXT(
+      m_device, timestampInfos.size(),
+      reinterpret_cast<const VkCalibratedTimestampInfoEXT *>(
+          timestampInfos.data()),
+      timestamps.data(), &maxDeviation));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getCalibratedTimestampsEXT");
+}
+
+template <typename Uint64_tAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, uint64_t>::value, int>::type>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type
+    Device::getCalibratedTimestampsEXT(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const
+            &timestampInfos,
+        Uint64_tAllocator &uint64_tAllocator, Dispatch const &d) const {
+  std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t> data(
+      std::piecewise_construct,
+      std::forward_as_tuple(timestampInfos.size(), uint64_tAllocator),
+      std::forward_as_tuple(0));
+  std::vector<uint64_t, Uint64_tAllocator> &timestamps = data.first;
+  uint64_t &maxDeviation = data.second;
+  Result result = static_cast<Result>(d.vkGetCalibratedTimestampsEXT(
+      m_device, timestampInfos.size(),
+      reinterpret_cast<const VkCalibratedTimestampInfoEXT *>(
+          timestampInfos.data()),
+      timestamps.data(), &maxDeviation));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getCalibratedTimestampsEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint32_t Device::getDeferredOperationMaxConcurrencyKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetDeferredOperationMaxConcurrencyKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation));
+}
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getDeferredOperationResultKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDeferredOperationResultKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getDeferredOperationResultKHR(
+    VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkGetDeferredOperationResultKHR(
+      m_device, static_cast<VkDeferredOperationKHR>(operation)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getDeferredOperationResultKHR",
+                           {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+                            VULKAN_HPP_NAMESPACE::Result::eNotReady});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSupport(
+    const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo *pCreateInfo,
+    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *pSupport,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDescriptorSetLayoutSupport(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(pCreateInfo),
+      reinterpret_cast<VkDescriptorSetLayoutSupport *>(pSupport));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
+    Device::getDescriptorSetLayoutSupport(
+        const DescriptorSetLayoutCreateInfo &createInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support;
+  d.vkGetDescriptorSetLayoutSupport(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
+  return support;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getDescriptorSetLayoutSupport(
+    const DescriptorSetLayoutCreateInfo &createInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport &support =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>();
+  d.vkGetDescriptorSetLayoutSupport(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSupportKHR(
+    const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo *pCreateInfo,
+    VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport *pSupport,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDescriptorSetLayoutSupportKHR(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(pCreateInfo),
+      reinterpret_cast<VkDescriptorSetLayoutSupport *>(pSupport));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
+    Device::getDescriptorSetLayoutSupportKHR(
+        const DescriptorSetLayoutCreateInfo &createInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support;
+  d.vkGetDescriptorSetLayoutSupportKHR(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
+  return support;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getDescriptorSetLayoutSupportKHR(
+    const DescriptorSetLayoutCreateInfo &createInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport &support =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>();
+  d.vkGetDescriptorSetLayoutSupportKHR(
+      m_device,
+      reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
+      reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getAccelerationStructureCompatibilityKHR(
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR
+        *pVersionInfo,
+    VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR *pCompatibility,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDeviceAccelerationStructureCompatibilityKHR(
+      m_device,
+      reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>(
+          pVersionInfo),
+      reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>(
+          pCompatibility));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR
+    Device::getAccelerationStructureCompatibilityKHR(
+        const AccelerationStructureVersionInfoKHR &versionInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR compatibility;
+  d.vkGetDeviceAccelerationStructureCompatibilityKHR(
+      m_device,
+      reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>(
+          &versionInfo),
+      reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>(
+          &compatibility));
+  return compatibility;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeatures(
+    uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
+    VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags *pPeerMemoryFeatures,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDeviceGroupPeerMemoryFeatures(
+      m_device, heapIndex, localDeviceIndex, remoteDeviceIndex,
+      reinterpret_cast<VkPeerMemoryFeatureFlags *>(pPeerMemoryFeatures));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
+    Device::getGroupPeerMemoryFeatures(
+        uint32_t heapIndex, uint32_t localDeviceIndex,
+        uint32_t remoteDeviceIndex,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures;
+  d.vkGetDeviceGroupPeerMemoryFeatures(
+      m_device, heapIndex, localDeviceIndex, remoteDeviceIndex,
+      reinterpret_cast<VkPeerMemoryFeatureFlags *>(&peerMemoryFeatures));
+  return peerMemoryFeatures;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeaturesKHR(
+    uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
+    VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags *pPeerMemoryFeatures,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDeviceGroupPeerMemoryFeaturesKHR(
+      m_device, heapIndex, localDeviceIndex, remoteDeviceIndex,
+      reinterpret_cast<VkPeerMemoryFeatureFlags *>(pPeerMemoryFeatures));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
+    Device::getGroupPeerMemoryFeaturesKHR(
+        uint32_t heapIndex, uint32_t localDeviceIndex,
+        uint32_t remoteDeviceIndex,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures;
+  d.vkGetDeviceGroupPeerMemoryFeaturesKHR(
+      m_device, heapIndex, localDeviceIndex, remoteDeviceIndex,
+      reinterpret_cast<VkPeerMemoryFeatureFlags *>(&peerMemoryFeatures));
+  return peerMemoryFeatures;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getGroupPresentCapabilitiesKHR(
+    VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR
+        *pDeviceGroupPresentCapabilities,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDeviceGroupPresentCapabilitiesKHR(
+      m_device, reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>(
+                    pDeviceGroupPresentCapabilities)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR>::type
+    Device::getGroupPresentCapabilitiesKHR(Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR
+      deviceGroupPresentCapabilities;
+  Result result = static_cast<Result>(d.vkGetDeviceGroupPresentCapabilitiesKHR(
+      m_device, reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>(
+                    &deviceGroupPresentCapabilities)));
+  return createResultValue(result, deviceGroupPresentCapabilities,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getGroupPresentCapabilitiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getGroupSurfacePresentModes2EXT(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+    VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR *pModes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDeviceGroupSurfacePresentModes2EXT(
+      m_device,
+      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(pSurfaceInfo),
+      reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>(pModes)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
+    Device::getGroupSurfacePresentModes2EXT(
+        const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes;
+  Result result = static_cast<Result>(d.vkGetDeviceGroupSurfacePresentModes2EXT(
+      m_device,
+      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
+      reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>(&modes)));
+  return createResultValue(result, modes,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getGroupSurfacePresentModes2EXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getGroupSurfacePresentModesKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+    VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR *pModes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDeviceGroupSurfacePresentModesKHR(
+      m_device, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>(pModes)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type
+    Device::getGroupSurfacePresentModesKHR(
+        VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes;
+  Result result = static_cast<Result>(d.vkGetDeviceGroupSurfacePresentModesKHR(
+      m_device, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>(&modes)));
+  return createResultValue(result, modes,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getGroupSurfacePresentModesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getMemoryCommitment(
+    VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+    VULKAN_HPP_NAMESPACE::DeviceSize *pCommittedMemoryInBytes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDeviceMemoryCommitment(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      reinterpret_cast<VkDeviceSize *>(pCommittedMemoryInBytes));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize
+Device::getMemoryCommitment(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::DeviceSize committedMemoryInBytes;
+  d.vkGetDeviceMemoryCommitment(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      reinterpret_cast<VkDeviceSize *>(&committedMemoryInBytes));
+  return committedMemoryInBytes;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress(
+    const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetDeviceMemoryOpaqueCaptureAddress(
+      m_device,
+      reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>(pInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress(
+    const DeviceMemoryOpaqueCaptureAddressInfo &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetDeviceMemoryOpaqueCaptureAddress(
+      m_device,
+      reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR(
+    const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetDeviceMemoryOpaqueCaptureAddressKHR(
+      m_device,
+      reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>(pInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR(
+    const DeviceMemoryOpaqueCaptureAddressInfo &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetDeviceMemoryOpaqueCaptureAddressKHR(
+      m_device,
+      reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr(
+    const char *pName, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetDeviceProcAddr(m_device, pName);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr(
+    const std::string &name, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetDeviceProcAddr(m_device, name.c_str());
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::getQueue(uint32_t queueFamilyIndex, uint32_t queueIndex,
+                 VULKAN_HPP_NAMESPACE::Queue *pQueue,
+                 Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDeviceQueue(m_device, queueFamilyIndex, queueIndex,
+                     reinterpret_cast<VkQueue *>(pQueue));
+}
+
+#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 {
+  VULKAN_HPP_NAMESPACE::Queue queue;
+  d.vkGetDeviceQueue(m_device, queueFamilyIndex, queueIndex,
+                     reinterpret_cast<VkQueue *>(&queue));
+  return queue;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::getQueue2(const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 *pQueueInfo,
+                  VULKAN_HPP_NAMESPACE::Queue *pQueue,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetDeviceQueue2(m_device,
+                      reinterpret_cast<const VkDeviceQueueInfo2 *>(pQueueInfo),
+                      reinterpret_cast<VkQueue *>(pQueue));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Queue
+Device::getQueue2(const DeviceQueueInfo2 &queueInfo,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::Queue queue;
+  d.vkGetDeviceQueue2(m_device,
+                      reinterpret_cast<const VkDeviceQueueInfo2 *>(&queueInfo),
+                      reinterpret_cast<VkQueue *>(&queue));
+  return queue;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getEventStatus(VULKAN_HPP_NAMESPACE::Event event,
+                       Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetEventStatus(m_device, static_cast<VkEvent>(event)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getEventStatus(
+    VULKAN_HPP_NAMESPACE::Event event, Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkGetEventStatus(m_device, static_cast<VkEvent>(event)));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEventStatus",
+      {VULKAN_HPP_NAMESPACE::Result::eEventSet,
+       VULKAN_HPP_NAMESPACE::Result::eEventReset});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getFenceFdKHR(const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR *pGetFdInfo,
+                      int *pFd, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetFenceFdKHR(
+      m_device, reinterpret_cast<const VkFenceGetFdInfoKHR *>(pGetFdInfo),
+      pFd));
+}
+
+#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 FenceGetFdInfoKHR &getFdInfo,
+                          Dispatch const &d) const {
+  int fd;
+  Result result = static_cast<Result>(d.vkGetFenceFdKHR(
+      m_device, reinterpret_cast<const VkFenceGetFdInfoKHR *>(&getFdInfo),
+      &fd));
+  return createResultValue(
+      result, fd, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getFenceStatus(VULKAN_HPP_NAMESPACE::Fence fence,
+                       Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetFenceStatus(m_device, static_cast<VkFence>(fence)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceStatus(
+    VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkGetFenceStatus(m_device, static_cast<VkFence>(fence)));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceStatus",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eNotReady});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceWin32HandleKHR(
+    const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR *pGetWin32HandleInfo,
+    HANDLE *pHandle, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetFenceWin32HandleKHR(
+      m_device,
+      reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>(
+          pGetWin32HandleInfo),
+      pHandle));
+}
+
+#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 FenceGetWin32HandleInfoKHR &getWin32HandleInfo,
+        Dispatch const &d) const {
+  HANDLE handle;
+  Result result = static_cast<Result>(d.vkGetFenceWin32HandleKHR(
+      m_device,
+      reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>(
+          &getWin32HandleInfo),
+      &handle));
+  return createResultValue(result, handle,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getFenceWin32HandleKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getGeneratedCommandsMemoryRequirementsNV(
+    const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV
+        *pInfo,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetGeneratedCommandsMemoryRequirementsNV(
+      m_device,
+      reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>(
+          pInfo),
+      reinterpret_cast<VkMemoryRequirements2 *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
+Device::getGeneratedCommandsMemoryRequirementsNV(
+    const GeneratedCommandsMemoryRequirementsInfoNV &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
+  d.vkGetGeneratedCommandsMemoryRequirementsNV(
+      m_device,
+      reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>(
+          &info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return memoryRequirements;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getGeneratedCommandsMemoryRequirementsNV(
+    const GeneratedCommandsMemoryRequirementsInfoNV &info,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements =
+      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
+  d.vkGetGeneratedCommandsMemoryRequirementsNV(
+      m_device,
+      reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>(
+          &info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getImageDrmFormatModifierPropertiesEXT(
+    VULKAN_HPP_NAMESPACE::Image image,
+    VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetImageDrmFormatModifierPropertiesEXT(
+      m_device, static_cast<VkImage>(image),
+      reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>::type
+Device::getImageDrmFormatModifierPropertiesEXT(
+    VULKAN_HPP_NAMESPACE::Image image, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT properties;
+  Result result =
+      static_cast<Result>(d.vkGetImageDrmFormatModifierPropertiesEXT(
+          m_device, static_cast<VkImage>(image),
+          reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>(
+              &properties)));
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getImageDrmFormatModifierPropertiesEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getImageMemoryRequirements(
+    VULKAN_HPP_NAMESPACE::Image image,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetImageMemoryRequirements(
+      m_device, static_cast<VkImage>(image),
+      reinterpret_cast<VkMemoryRequirements *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements
+Device::getImageMemoryRequirements(VULKAN_HPP_NAMESPACE::Image image,
+                                   Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements;
+  d.vkGetImageMemoryRequirements(
+      m_device, static_cast<VkImage>(image),
+      reinterpret_cast<VkMemoryRequirements *>(&memoryRequirements));
+  return memoryRequirements;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2(
+    const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 *pInfo,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetImageMemoryRequirements2(
+      m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(pInfo),
+      reinterpret_cast<VkMemoryRequirements2 *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
+Device::getImageMemoryRequirements2(const ImageMemoryRequirementsInfo2 &info,
+                                    Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
+  d.vkGetImageMemoryRequirements2(
+      m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return memoryRequirements;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getImageMemoryRequirements2(const ImageMemoryRequirementsInfo2 &info,
+                                    Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements =
+      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
+  d.vkGetImageMemoryRequirements2(
+      m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2KHR(
+    const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 *pInfo,
+    VULKAN_HPP_NAMESPACE::MemoryRequirements2 *pMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetImageMemoryRequirements2KHR(
+      m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(pInfo),
+      reinterpret_cast<VkMemoryRequirements2 *>(pMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
+Device::getImageMemoryRequirements2KHR(const ImageMemoryRequirementsInfo2 &info,
+                                       Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
+  d.vkGetImageMemoryRequirements2KHR(
+      m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return memoryRequirements;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+Device::getImageMemoryRequirements2KHR(const ImageMemoryRequirementsInfo2 &info,
+                                       Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements =
+      structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
+  d.vkGetImageMemoryRequirements2KHR(
+      m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
+      reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements(
+    VULKAN_HPP_NAMESPACE::Image image, uint32_t *pSparseMemoryRequirementCount,
+    VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements
+        *pSparseMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetImageSparseMemoryRequirements(
+      m_device, static_cast<VkImage>(image), pSparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements *>(
+          pSparseMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+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 {
+  std::vector<SparseImageMemoryRequirements,
+              SparseImageMemoryRequirementsAllocator>
+      sparseMemoryRequirements;
+  uint32_t sparseMemoryRequirementCount;
+  d.vkGetImageSparseMemoryRequirements(m_device, static_cast<VkImage>(image),
+                                       &sparseMemoryRequirementCount, nullptr);
+  sparseMemoryRequirements.resize(sparseMemoryRequirementCount);
+  d.vkGetImageSparseMemoryRequirements(
+      m_device, static_cast<VkImage>(image), &sparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements *>(
+          sparseMemoryRequirements.data()));
+  VULKAN_HPP_ASSERT(sparseMemoryRequirementCount <=
+                    sparseMemoryRequirements.size());
+  return sparseMemoryRequirements;
+}
+
+template <
+    typename SparseImageMemoryRequirementsAllocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         SparseImageMemoryRequirements>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements,
+                                  SparseImageMemoryRequirementsAllocator>
+    Device::getImageSparseMemoryRequirements(
+        VULKAN_HPP_NAMESPACE::Image image,
+        SparseImageMemoryRequirementsAllocator
+            &sparseImageMemoryRequirementsAllocator,
+        Dispatch const &d) const {
+  std::vector<SparseImageMemoryRequirements,
+              SparseImageMemoryRequirementsAllocator>
+      sparseMemoryRequirements(sparseImageMemoryRequirementsAllocator);
+  uint32_t sparseMemoryRequirementCount;
+  d.vkGetImageSparseMemoryRequirements(m_device, static_cast<VkImage>(image),
+                                       &sparseMemoryRequirementCount, nullptr);
+  sparseMemoryRequirements.resize(sparseMemoryRequirementCount);
+  d.vkGetImageSparseMemoryRequirements(
+      m_device, static_cast<VkImage>(image), &sparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements *>(
+          sparseMemoryRequirements.data()));
+  VULKAN_HPP_ASSERT(sparseMemoryRequirementCount <=
+                    sparseMemoryRequirements.size());
+  return sparseMemoryRequirements;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2(
+    const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 *pInfo,
+    uint32_t *pSparseMemoryRequirementCount,
+    VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2
+        *pSparseMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetImageSparseMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(pInfo),
+      pSparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements2 *>(
+          pSparseMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename SparseImageMemoryRequirements2Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<
+    SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
+Device::getImageSparseMemoryRequirements2(
+    const ImageSparseMemoryRequirementsInfo2 &info, Dispatch const &d) const {
+  std::vector<SparseImageMemoryRequirements2,
+              SparseImageMemoryRequirements2Allocator>
+      sparseMemoryRequirements;
+  uint32_t sparseMemoryRequirementCount;
+  d.vkGetImageSparseMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount, nullptr);
+  sparseMemoryRequirements.resize(sparseMemoryRequirementCount);
+  d.vkGetImageSparseMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements2 *>(
+          sparseMemoryRequirements.data()));
+  VULKAN_HPP_ASSERT(sparseMemoryRequirementCount <=
+                    sparseMemoryRequirements.size());
+  return sparseMemoryRequirements;
+}
+
+template <
+    typename SparseImageMemoryRequirements2Allocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         SparseImageMemoryRequirements2>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2,
+                                  SparseImageMemoryRequirements2Allocator>
+    Device::getImageSparseMemoryRequirements2(
+        const ImageSparseMemoryRequirementsInfo2 &info,
+        SparseImageMemoryRequirements2Allocator
+            &sparseImageMemoryRequirements2Allocator,
+        Dispatch const &d) const {
+  std::vector<SparseImageMemoryRequirements2,
+              SparseImageMemoryRequirements2Allocator>
+      sparseMemoryRequirements(sparseImageMemoryRequirements2Allocator);
+  uint32_t sparseMemoryRequirementCount;
+  d.vkGetImageSparseMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount, nullptr);
+  sparseMemoryRequirements.resize(sparseMemoryRequirementCount);
+  d.vkGetImageSparseMemoryRequirements2(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements2 *>(
+          sparseMemoryRequirements.data()));
+  VULKAN_HPP_ASSERT(sparseMemoryRequirementCount <=
+                    sparseMemoryRequirements.size());
+  return sparseMemoryRequirements;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2KHR(
+    const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 *pInfo,
+    uint32_t *pSparseMemoryRequirementCount,
+    VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2
+        *pSparseMemoryRequirements,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetImageSparseMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(pInfo),
+      pSparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements2 *>(
+          pSparseMemoryRequirements));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename SparseImageMemoryRequirements2Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<
+    SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
+Device::getImageSparseMemoryRequirements2KHR(
+    const ImageSparseMemoryRequirementsInfo2 &info, Dispatch const &d) const {
+  std::vector<SparseImageMemoryRequirements2,
+              SparseImageMemoryRequirements2Allocator>
+      sparseMemoryRequirements;
+  uint32_t sparseMemoryRequirementCount;
+  d.vkGetImageSparseMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount, nullptr);
+  sparseMemoryRequirements.resize(sparseMemoryRequirementCount);
+  d.vkGetImageSparseMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements2 *>(
+          sparseMemoryRequirements.data()));
+  VULKAN_HPP_ASSERT(sparseMemoryRequirementCount <=
+                    sparseMemoryRequirements.size());
+  return sparseMemoryRequirements;
+}
+
+template <
+    typename SparseImageMemoryRequirements2Allocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         SparseImageMemoryRequirements2>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2,
+                                  SparseImageMemoryRequirements2Allocator>
+    Device::getImageSparseMemoryRequirements2KHR(
+        const ImageSparseMemoryRequirementsInfo2 &info,
+        SparseImageMemoryRequirements2Allocator
+            &sparseImageMemoryRequirements2Allocator,
+        Dispatch const &d) const {
+  std::vector<SparseImageMemoryRequirements2,
+              SparseImageMemoryRequirements2Allocator>
+      sparseMemoryRequirements(sparseImageMemoryRequirements2Allocator);
+  uint32_t sparseMemoryRequirementCount;
+  d.vkGetImageSparseMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount, nullptr);
+  sparseMemoryRequirements.resize(sparseMemoryRequirementCount);
+  d.vkGetImageSparseMemoryRequirements2KHR(
+      m_device,
+      reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
+      &sparseMemoryRequirementCount,
+      reinterpret_cast<VkSparseImageMemoryRequirements2 *>(
+          sparseMemoryRequirements.data()));
+  VULKAN_HPP_ASSERT(sparseMemoryRequirementCount <=
+                    sparseMemoryRequirements.size());
+  return sparseMemoryRequirements;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getImageSubresourceLayout(
+    VULKAN_HPP_NAMESPACE::Image image,
+    const VULKAN_HPP_NAMESPACE::ImageSubresource *pSubresource,
+    VULKAN_HPP_NAMESPACE::SubresourceLayout *pLayout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetImageSubresourceLayout(
+      m_device, static_cast<VkImage>(image),
+      reinterpret_cast<const VkImageSubresource *>(pSubresource),
+      reinterpret_cast<VkSubresourceLayout *>(pLayout));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout
+Device::getImageSubresourceLayout(VULKAN_HPP_NAMESPACE::Image image,
+                                  const ImageSubresource &subresource,
+                                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::SubresourceLayout layout;
+  d.vkGetImageSubresourceLayout(
+      m_device, static_cast<VkImage>(image),
+      reinterpret_cast<const VkImageSubresource *>(&subresource),
+      reinterpret_cast<VkSubresourceLayout *>(&layout));
+  return layout;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageViewAddressNVX(
+    VULKAN_HPP_NAMESPACE::ImageView imageView,
+    VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetImageViewAddressNVX(
+      m_device, static_cast<VkImageView>(imageView),
+      reinterpret_cast<VkImageViewAddressPropertiesNVX *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX>::type
+    Device::getImageViewAddressNVX(VULKAN_HPP_NAMESPACE::ImageView imageView,
+                                   Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX properties;
+  Result result = static_cast<Result>(d.vkGetImageViewAddressNVX(
+      m_device, static_cast<VkImageView>(imageView),
+      reinterpret_cast<VkImageViewAddressPropertiesNVX *>(&properties)));
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getImageViewAddressNVX");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX(
+    const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX *pInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetImageViewHandleNVX(
+      m_device, reinterpret_cast<const VkImageViewHandleInfoNVX *>(pInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE uint32_t
+Device::getImageViewHandleNVX(const ImageViewHandleInfoNVX &info,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetImageViewHandleNVX(
+      m_device, reinterpret_cast<const VkImageViewHandleInfoNVX *>(&info));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getMemoryAndroidHardwareBufferANDROID(
+    const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID
+        *pInfo,
+    struct AHardwareBuffer **pBuffer,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryAndroidHardwareBufferANDROID(
+      m_device,
+      reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>(
+          pInfo),
+      pBuffer));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<struct AHardwareBuffer *>::type
+    Device::getMemoryAndroidHardwareBufferANDROID(
+        const MemoryGetAndroidHardwareBufferInfoANDROID &info,
+        Dispatch const &d) const {
+  struct AHardwareBuffer *buffer;
+  Result result = static_cast<Result>(d.vkGetMemoryAndroidHardwareBufferANDROID(
+      m_device,
+      reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>(
+          &info),
+      &buffer));
+  return createResultValue(result, buffer,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryAndroidHardwareBufferANDROID");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <>
-  struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  template <>
-  struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryFdKHR(
+    const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR *pGetFdInfo, int *pFd,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryFdKHR(
+      m_device, reinterpret_cast<const VkMemoryGetFdInfoKHR *>(pGetFdInfo),
+      pFd));
+}
+
+#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 MemoryGetFdInfoKHR &getFdInfo,
+                           Dispatch const &d) const {
+  int fd;
+  Result result = static_cast<Result>(d.vkGetMemoryFdKHR(
+      m_device, reinterpret_cast<const VkMemoryGetFdInfoKHR *>(&getFdInfo),
+      &fd));
+  return createResultValue(
+      result, fd, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryFdPropertiesKHR(
+    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd,
+    VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR *pMemoryFdProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryFdPropertiesKHR(
+      m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType), fd,
+      reinterpret_cast<VkMemoryFdPropertiesKHR *>(pMemoryFdProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR>::type
+    Device::getMemoryFdPropertiesKHR(
+        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+        int fd, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR memoryFdProperties;
+  Result result = static_cast<Result>(d.vkGetMemoryFdPropertiesKHR(
+      m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType), fd,
+      reinterpret_cast<VkMemoryFdPropertiesKHR *>(&memoryFdProperties)));
+  return createResultValue(result, memoryFdProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryFdPropertiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getMemoryHostPointerPropertiesEXT(
+    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+    const void *pHostPointer,
+    VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT
+        *pMemoryHostPointerProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryHostPointerPropertiesEXT(
+      m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
+      pHostPointer,
+      reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>(
+          pMemoryHostPointerProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT>::type
+    Device::getMemoryHostPointerPropertiesEXT(
+        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+        const void *pHostPointer, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT
+      memoryHostPointerProperties;
+  Result result = static_cast<Result>(d.vkGetMemoryHostPointerPropertiesEXT(
+      m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
+      pHostPointer,
+      reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>(
+          &memoryHostPointerProperties)));
+  return createResultValue(result, memoryHostPointerProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryHostPointerPropertiesEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleKHR(
+    const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR
+        *pGetWin32HandleInfo,
+    HANDLE *pHandle, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryWin32HandleKHR(
+      m_device,
+      reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>(
+          pGetWin32HandleInfo),
+      pHandle));
+}
+
+#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 MemoryGetWin32HandleInfoKHR &getWin32HandleInfo,
+        Dispatch const &d) const {
+  HANDLE handle;
+  Result result = static_cast<Result>(d.vkGetMemoryWin32HandleKHR(
+      m_device,
+      reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>(
+          &getWin32HandleInfo),
+      &handle));
+  return createResultValue(result, handle,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryWin32HandleKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleNV(
+    VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
+    HANDLE *pHandle, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryWin32HandleNV(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      static_cast<VkExternalMemoryHandleTypeFlagsNV>(handleType), pHandle));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<HANDLE>::type
+    Device::getMemoryWin32HandleNV(
+        VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,
+        Dispatch const &d) const {
+  HANDLE handle;
+  Result result = static_cast<Result>(d.vkGetMemoryWin32HandleNV(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      static_cast<VkExternalMemoryHandleTypeFlagsNV>(handleType), &handle));
+  return createResultValue(result, handle,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryWin32HandleNV");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <>
-  struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getMemoryWin32HandlePropertiesKHR(
+    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+    HANDLE handle,
+    VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR
+        *pMemoryWin32HandleProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryWin32HandlePropertiesKHR(
+      m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
+      handle,
+      reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>(
+          pMemoryWin32HandleProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR>::type
+    Device::getMemoryWin32HandlePropertiesKHR(
+        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+        HANDLE handle, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR
+      memoryWin32HandleProperties;
+  Result result = static_cast<Result>(d.vkGetMemoryWin32HandlePropertiesKHR(
+      m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
+      handle,
+      reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>(
+          &memoryWin32HandleProperties)));
+  return createResultValue(result, memoryWin32HandleProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryWin32HandlePropertiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getMemoryZirconHandleFUCHSIA(
+    const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA
+        *pGetZirconHandleInfo,
+    zx_handle_t *pZirconHandle, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryZirconHandleFUCHSIA(
+      m_device,
+      reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>(
+          pGetZirconHandleInfo),
+      pZirconHandle));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<zx_handle_t>::type
+    Device::getMemoryZirconHandleFUCHSIA(
+        const MemoryGetZirconHandleInfoFUCHSIA &getZirconHandleInfo,
+        Dispatch const &d) const {
+  zx_handle_t zirconHandle;
+  Result result = static_cast<Result>(d.vkGetMemoryZirconHandleFUCHSIA(
+      m_device,
+      reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>(
+          &getZirconHandleInfo),
+      &zirconHandle));
+  return createResultValue(result, zirconHandle,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryZirconHandleFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-  template <>
-  struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceImageRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceImageRobustnessFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceInlineUniformBlockFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceInlineUniformBlockFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceInlineUniformBlockPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMemoryControlPropertiesFUCHSIA, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePrivateDataFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePrivateDataFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <>
-  struct StructExtends<PhysicalDeviceRayTracingFeaturesKHR, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceRayTracingFeaturesKHR, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <>
-  struct StructExtends<PhysicalDeviceRayTracingPropertiesKHR, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  template <>
-  struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSubgroupSizeControlFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSubgroupSizeControlFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceSubgroupSizeControlPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTexelBufferAlignmentPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, GraphicsPipelineCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, ComputePipelineCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, RayTracingPipelineCreateInfoNV>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <>
-  struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, RayTracingPipelineCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  template <>
-  struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, PipelineShaderStageCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineVertexInputDivisorStateCreateInfoEXT, PipelineVertexInputStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_GGP
-  template <>
-  struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getMemoryZirconHandlePropertiesFUCHSIA(
+    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+    zx_handle_t zirconHandle,
+    VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA
+        *pMemoryZirconHandleProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetMemoryZirconHandlePropertiesFUCHSIA(
+      m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
+      zirconHandle,
+      reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>(
+          pMemoryZirconHandleProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>::type
+Device::getMemoryZirconHandlePropertiesFUCHSIA(
+    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+    zx_handle_t zirconHandle, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA
+      memoryZirconHandleProperties;
+  Result result =
+      static_cast<Result>(d.vkGetMemoryZirconHandlePropertiesFUCHSIA(
+          m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
+          zirconHandle,
+          reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>(
+              &memoryZirconHandleProperties)));
+  return createResultValue(result, memoryZirconHandleProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getMemoryZirconHandlePropertiesFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getPastPresentationTimingGOOGLE(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+    uint32_t *pPresentationTimingCount,
+    VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE *pPresentationTimings,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPastPresentationTimingGOOGLE(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      pPresentationTimingCount,
+      reinterpret_cast<VkPastPresentationTimingGOOGLE *>(
+          pPresentationTimings)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PastPresentationTimingGOOGLEAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator>>::type
+Device::getPastPresentationTimingGOOGLE(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const &d) const {
+  std::vector<PastPresentationTimingGOOGLE,
+              PastPresentationTimingGOOGLEAllocator>
+      presentationTimings;
+  uint32_t presentationTimingCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPastPresentationTimingGOOGLE(
+        m_device, static_cast<VkSwapchainKHR>(swapchain),
+        &presentationTimingCount, nullptr));
+    if ((result == Result::eSuccess) && presentationTimingCount) {
+      presentationTimings.resize(presentationTimingCount);
+      result = static_cast<Result>(d.vkGetPastPresentationTimingGOOGLE(
+          m_device, static_cast<VkSwapchainKHR>(swapchain),
+          &presentationTimingCount,
+          reinterpret_cast<VkPastPresentationTimingGOOGLE *>(
+              presentationTimings.data())));
+      VULKAN_HPP_ASSERT(presentationTimingCount <= presentationTimings.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (presentationTimingCount < presentationTimings.size())) {
+    presentationTimings.resize(presentationTimingCount);
+  }
+  return createResultValue(result, presentationTimings,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPastPresentationTimingGOOGLE");
+}
+
+template <
+    typename PastPresentationTimingGOOGLEAllocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         PastPresentationTimingGOOGLE>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator>>::type
+Device::getPastPresentationTimingGOOGLE(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+    PastPresentationTimingGOOGLEAllocator
+        &pastPresentationTimingGOOGLEAllocator,
+    Dispatch const &d) const {
+  std::vector<PastPresentationTimingGOOGLE,
+              PastPresentationTimingGOOGLEAllocator>
+      presentationTimings(pastPresentationTimingGOOGLEAllocator);
+  uint32_t presentationTimingCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPastPresentationTimingGOOGLE(
+        m_device, static_cast<VkSwapchainKHR>(swapchain),
+        &presentationTimingCount, nullptr));
+    if ((result == Result::eSuccess) && presentationTimingCount) {
+      presentationTimings.resize(presentationTimingCount);
+      result = static_cast<Result>(d.vkGetPastPresentationTimingGOOGLE(
+          m_device, static_cast<VkSwapchainKHR>(swapchain),
+          &presentationTimingCount,
+          reinterpret_cast<VkPastPresentationTimingGOOGLE *>(
+              presentationTimings.data())));
+      VULKAN_HPP_ASSERT(presentationTimingCount <= presentationTimings.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (presentationTimingCount < presentationTimings.size())) {
+    presentationTimings.resize(presentationTimingCount);
+  }
+  return createResultValue(result, presentationTimings,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPastPresentationTimingGOOGLE");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getPerformanceParameterINTEL(
+    VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
+    VULKAN_HPP_NAMESPACE::PerformanceValueINTEL *pValue,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPerformanceParameterINTEL(
+      m_device, static_cast<VkPerformanceParameterTypeINTEL>(parameter),
+      reinterpret_cast<VkPerformanceValueINTEL *>(pValue)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL>::type
+    Device::getPerformanceParameterINTEL(
+        VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::PerformanceValueINTEL value;
+  Result result = static_cast<Result>(d.vkGetPerformanceParameterINTEL(
+      m_device, static_cast<VkPerformanceParameterTypeINTEL>(parameter),
+      reinterpret_cast<VkPerformanceValueINTEL *>(&value)));
+  return createResultValue(result, value,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPerformanceParameterINTEL");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineCacheData(
+    VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, size_t *pDataSize,
+    void *pData, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPipelineCacheData(
+      m_device, static_cast<VkPipelineCache>(pipelineCache), pDataSize, pData));
+}
+
+#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 {
+  std::vector<uint8_t, Uint8_tAllocator> data;
+  size_t dataSize;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPipelineCacheData(
+        m_device, static_cast<VkPipelineCache>(pipelineCache), &dataSize,
+        nullptr));
+    if ((result == Result::eSuccess) && dataSize) {
+      data.resize(dataSize);
+      result = static_cast<Result>(d.vkGetPipelineCacheData(
+          m_device, static_cast<VkPipelineCache>(pipelineCache), &dataSize,
+          reinterpret_cast<void *>(data.data())));
+      VULKAN_HPP_ASSERT(dataSize <= data.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (dataSize < data.size())) {
+    data.resize(dataSize);
+  }
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPipelineCacheData");
+}
+
+template <typename Uint8_tAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, uint8_t>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+    Device::getPipelineCacheData(
+        VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+        Uint8_tAllocator &uint8_tAllocator, Dispatch const &d) const {
+  std::vector<uint8_t, Uint8_tAllocator> data(uint8_tAllocator);
+  size_t dataSize;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPipelineCacheData(
+        m_device, static_cast<VkPipelineCache>(pipelineCache), &dataSize,
+        nullptr));
+    if ((result == Result::eSuccess) && dataSize) {
+      data.resize(dataSize);
+      result = static_cast<Result>(d.vkGetPipelineCacheData(
+          m_device, static_cast<VkPipelineCache>(pipelineCache), &dataSize,
+          reinterpret_cast<void *>(data.data())));
+      VULKAN_HPP_ASSERT(dataSize <= data.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (dataSize < data.size())) {
+    data.resize(dataSize);
+  }
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPipelineCacheData");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getPipelineExecutableInternalRepresentationsKHR(
+    const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR *pExecutableInfo,
+    uint32_t *pInternalRepresentationCount,
+    VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR
+        *pInternalRepresentations,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetPipelineExecutableInternalRepresentationsKHR(
+          m_device,
+          reinterpret_cast<const VkPipelineExecutableInfoKHR *>(
+              pExecutableInfo),
+          pInternalRepresentationCount,
+          reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>(
+              pInternalRepresentations)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PipelineExecutableInternalRepresentationKHRAllocator,
+          typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PipelineExecutableInternalRepresentationKHR,
+                PipelineExecutableInternalRepresentationKHRAllocator>>::type
+Device::getPipelineExecutableInternalRepresentationsKHR(
+    const PipelineExecutableInfoKHR &executableInfo, Dispatch const &d) const {
+  std::vector<PipelineExecutableInternalRepresentationKHR,
+              PipelineExecutableInternalRepresentationKHRAllocator>
+      internalRepresentations;
+  uint32_t internalRepresentationCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPipelineExecutableInternalRepresentationsKHR(
+            m_device,
+            reinterpret_cast<const VkPipelineExecutableInfoKHR *>(
+                &executableInfo),
+            &internalRepresentationCount, nullptr));
+    if ((result == Result::eSuccess) && internalRepresentationCount) {
+      internalRepresentations.resize(internalRepresentationCount);
+      result = static_cast<Result>(
+          d.vkGetPipelineExecutableInternalRepresentationsKHR(
+              m_device,
+              reinterpret_cast<const VkPipelineExecutableInfoKHR *>(
+                  &executableInfo),
+              &internalRepresentationCount,
+              reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>(
+                  internalRepresentations.data())));
+      VULKAN_HPP_ASSERT(internalRepresentationCount <=
+                        internalRepresentations.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (internalRepresentationCount < internalRepresentations.size())) {
+    internalRepresentations.resize(internalRepresentationCount);
+  }
+  return createResultValue(
+      result, internalRepresentations,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::getPipelineExecutableInternalRepresentationsKHR");
+}
+
+template <typename PipelineExecutableInternalRepresentationKHRAllocator,
+          typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           PipelineExecutableInternalRepresentationKHR>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PipelineExecutableInternalRepresentationKHR,
+                PipelineExecutableInternalRepresentationKHRAllocator>>::type
+Device::getPipelineExecutableInternalRepresentationsKHR(
+    const PipelineExecutableInfoKHR &executableInfo,
+    PipelineExecutableInternalRepresentationKHRAllocator
+        &pipelineExecutableInternalRepresentationKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<PipelineExecutableInternalRepresentationKHR,
+              PipelineExecutableInternalRepresentationKHRAllocator>
+      internalRepresentations(
+          pipelineExecutableInternalRepresentationKHRAllocator);
+  uint32_t internalRepresentationCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPipelineExecutableInternalRepresentationsKHR(
+            m_device,
+            reinterpret_cast<const VkPipelineExecutableInfoKHR *>(
+                &executableInfo),
+            &internalRepresentationCount, nullptr));
+    if ((result == Result::eSuccess) && internalRepresentationCount) {
+      internalRepresentations.resize(internalRepresentationCount);
+      result = static_cast<Result>(
+          d.vkGetPipelineExecutableInternalRepresentationsKHR(
+              m_device,
+              reinterpret_cast<const VkPipelineExecutableInfoKHR *>(
+                  &executableInfo),
+              &internalRepresentationCount,
+              reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>(
+                  internalRepresentations.data())));
+      VULKAN_HPP_ASSERT(internalRepresentationCount <=
+                        internalRepresentations.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (internalRepresentationCount < internalRepresentations.size())) {
+    internalRepresentations.resize(internalRepresentationCount);
+  }
+  return createResultValue(
+      result, internalRepresentations,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::getPipelineExecutableInternalRepresentationsKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getPipelineExecutablePropertiesKHR(
+    const VULKAN_HPP_NAMESPACE::PipelineInfoKHR *pPipelineInfo,
+    uint32_t *pExecutableCount,
+    VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPipelineExecutablePropertiesKHR(
+      m_device, reinterpret_cast<const VkPipelineInfoKHR *>(pPipelineInfo),
+      pExecutableCount,
+      reinterpret_cast<VkPipelineExecutablePropertiesKHR *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PipelineExecutablePropertiesKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PipelineExecutablePropertiesKHR,
+                PipelineExecutablePropertiesKHRAllocator>>::type
+Device::getPipelineExecutablePropertiesKHR(const PipelineInfoKHR &pipelineInfo,
+                                           Dispatch const &d) const {
+  std::vector<PipelineExecutablePropertiesKHR,
+              PipelineExecutablePropertiesKHRAllocator>
+      properties;
+  uint32_t executableCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPipelineExecutablePropertiesKHR(
+        m_device, reinterpret_cast<const VkPipelineInfoKHR *>(&pipelineInfo),
+        &executableCount, nullptr));
+    if ((result == Result::eSuccess) && executableCount) {
+      properties.resize(executableCount);
+      result = static_cast<Result>(d.vkGetPipelineExecutablePropertiesKHR(
+          m_device, reinterpret_cast<const VkPipelineInfoKHR *>(&pipelineInfo),
+          &executableCount,
+          reinterpret_cast<VkPipelineExecutablePropertiesKHR *>(
+              properties.data())));
+      VULKAN_HPP_ASSERT(executableCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (executableCount < properties.size())) {
+    properties.resize(executableCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPipelineExecutablePropertiesKHR");
+}
+
+template <typename PipelineExecutablePropertiesKHRAllocator, typename Dispatch,
+          typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           PipelineExecutablePropertiesKHR>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PipelineExecutablePropertiesKHR,
+                PipelineExecutablePropertiesKHRAllocator>>::type
+Device::getPipelineExecutablePropertiesKHR(
+    const PipelineInfoKHR &pipelineInfo,
+    PipelineExecutablePropertiesKHRAllocator
+        &pipelineExecutablePropertiesKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<PipelineExecutablePropertiesKHR,
+              PipelineExecutablePropertiesKHRAllocator>
+      properties(pipelineExecutablePropertiesKHRAllocator);
+  uint32_t executableCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPipelineExecutablePropertiesKHR(
+        m_device, reinterpret_cast<const VkPipelineInfoKHR *>(&pipelineInfo),
+        &executableCount, nullptr));
+    if ((result == Result::eSuccess) && executableCount) {
+      properties.resize(executableCount);
+      result = static_cast<Result>(d.vkGetPipelineExecutablePropertiesKHR(
+          m_device, reinterpret_cast<const VkPipelineInfoKHR *>(&pipelineInfo),
+          &executableCount,
+          reinterpret_cast<VkPipelineExecutablePropertiesKHR *>(
+              properties.data())));
+      VULKAN_HPP_ASSERT(executableCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (executableCount < properties.size())) {
+    properties.resize(executableCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPipelineExecutablePropertiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getPipelineExecutableStatisticsKHR(
+    const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR *pExecutableInfo,
+    uint32_t *pStatisticCount,
+    VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR *pStatistics,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPipelineExecutableStatisticsKHR(
+      m_device,
+      reinterpret_cast<const VkPipelineExecutableInfoKHR *>(pExecutableInfo),
+      pStatisticCount,
+      reinterpret_cast<VkPipelineExecutableStatisticKHR *>(pStatistics)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PipelineExecutableStatisticKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PipelineExecutableStatisticKHR,
+                PipelineExecutableStatisticKHRAllocator>>::type
+Device::getPipelineExecutableStatisticsKHR(
+    const PipelineExecutableInfoKHR &executableInfo, Dispatch const &d) const {
+  std::vector<PipelineExecutableStatisticKHR,
+              PipelineExecutableStatisticKHRAllocator>
+      statistics;
+  uint32_t statisticCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPipelineExecutableStatisticsKHR(
+        m_device,
+        reinterpret_cast<const VkPipelineExecutableInfoKHR *>(&executableInfo),
+        &statisticCount, nullptr));
+    if ((result == Result::eSuccess) && statisticCount) {
+      statistics.resize(statisticCount);
+      result = static_cast<Result>(d.vkGetPipelineExecutableStatisticsKHR(
+          m_device,
+          reinterpret_cast<const VkPipelineExecutableInfoKHR *>(
+              &executableInfo),
+          &statisticCount,
+          reinterpret_cast<VkPipelineExecutableStatisticKHR *>(
+              statistics.data())));
+      VULKAN_HPP_ASSERT(statisticCount <= statistics.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (statisticCount < statistics.size())) {
+    statistics.resize(statisticCount);
+  }
+  return createResultValue(result, statistics,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPipelineExecutableStatisticsKHR");
+}
+
+template <
+    typename PipelineExecutableStatisticKHRAllocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         PipelineExecutableStatisticKHR>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PipelineExecutableStatisticKHR,
+                PipelineExecutableStatisticKHRAllocator>>::type
+Device::getPipelineExecutableStatisticsKHR(
+    const PipelineExecutableInfoKHR &executableInfo,
+    PipelineExecutableStatisticKHRAllocator
+        &pipelineExecutableStatisticKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<PipelineExecutableStatisticKHR,
+              PipelineExecutableStatisticKHRAllocator>
+      statistics(pipelineExecutableStatisticKHRAllocator);
+  uint32_t statisticCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPipelineExecutableStatisticsKHR(
+        m_device,
+        reinterpret_cast<const VkPipelineExecutableInfoKHR *>(&executableInfo),
+        &statisticCount, nullptr));
+    if ((result == Result::eSuccess) && statisticCount) {
+      statistics.resize(statisticCount);
+      result = static_cast<Result>(d.vkGetPipelineExecutableStatisticsKHR(
+          m_device,
+          reinterpret_cast<const VkPipelineExecutableInfoKHR *>(
+              &executableInfo),
+          &statisticCount,
+          reinterpret_cast<VkPipelineExecutableStatisticKHR *>(
+              statistics.data())));
+      VULKAN_HPP_ASSERT(statisticCount <= statistics.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (statisticCount < statistics.size())) {
+    statistics.resize(statisticCount);
+  }
+  return createResultValue(result, statistics,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getPipelineExecutableStatisticsKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::getPrivateDataEXT(
+    VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, uint64_t *pData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPrivateDataEXT(
+      m_device, static_cast<VkObjectType>(objectType), objectHandle,
+      static_cast<VkPrivateDataSlotEXT>(privateDataSlot), pData);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateDataEXT(
+    VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  uint64_t data;
+  d.vkGetPrivateDataEXT(
+      m_device, static_cast<VkObjectType>(objectType), objectHandle,
+      static_cast<VkPrivateDataSlotEXT>(privateDataSlot), &data);
+  return data;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getQueryPoolResults(
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+    uint32_t queryCount, size_t dataSize, void *pData,
+    VULKAN_HPP_NAMESPACE::DeviceSize stride,
+    VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetQueryPoolResults(
+      m_device, static_cast<VkQueryPool>(queryPool), firstQuery, queryCount,
+      dataSize, pData, static_cast<VkDeviceSize>(stride),
+      static_cast<VkQueryResultFlags>(flags)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getQueryPoolResults(
+    VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery,
+    uint32_t queryCount, ArrayProxy<T> const &data,
+    VULKAN_HPP_NAMESPACE::DeviceSize stride,
+    VULKAN_HPP_NAMESPACE::QueryResultFlags flags, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkGetQueryPoolResults(
+      m_device, static_cast<VkQueryPool>(queryPool), firstQuery, queryCount,
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data()),
+      static_cast<VkDeviceSize>(stride),
+      static_cast<VkQueryResultFlags>(flags)));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResults",
+      {Result::eSuccess, Result::eNotReady});
+}
+
+template <typename T, typename Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<T, Allocator>>
+Device::getQueryPoolResults(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                            uint32_t firstQuery, uint32_t queryCount,
+                            size_t dataSize,
+                            VULKAN_HPP_NAMESPACE::DeviceSize stride,
+                            VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
+                            Dispatch const &d) const {
+  VULKAN_HPP_ASSERT(dataSize % sizeof(T) == 0);
+  std::vector<T, Allocator> data(dataSize / sizeof(T));
+  Result result = static_cast<Result>(d.vkGetQueryPoolResults(
+      m_device, static_cast<VkQueryPool>(queryPool), firstQuery, queryCount,
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data()),
+      static_cast<VkDeviceSize>(stride),
+      static_cast<VkQueryResultFlags>(flags)));
+  return createResultValue(
+      result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResults",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eNotReady});
+}
+
+template <typename T, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<T>
+Device::getQueryPoolResult(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                           uint32_t firstQuery, uint32_t queryCount,
+                           VULKAN_HPP_NAMESPACE::DeviceSize stride,
+                           VULKAN_HPP_NAMESPACE::QueryResultFlags flags,
+                           Dispatch const &d) const {
+  T data;
+  Result result = static_cast<Result>(d.vkGetQueryPoolResults(
+      m_device, static_cast<VkQueryPool>(queryPool), firstQuery, queryCount,
+      sizeof(T), reinterpret_cast<void *>(&data),
+      static_cast<VkDeviceSize>(stride),
+      static_cast<VkQueryResultFlags>(flags)));
+  return createResultValue(
+      result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResult",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eNotReady});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getRayTracingCaptureReplayShaderGroupHandlesKHR(
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+    uint32_t groupCount, size_t dataSize, void *pData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+          m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+          dataSize, pData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::getRayTracingCaptureReplayShaderGroupHandlesKHR(
+        VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+        uint32_t groupCount, ArrayProxy<T> const &data,
+        Dispatch const &d) const {
+  Result result =
+      static_cast<Result>(d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+          m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+          data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING
+      "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR");
+}
+
+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, uint32_t firstGroup,
+        uint32_t groupCount, size_t dataSize, Dispatch const &d) const {
+  VULKAN_HPP_ASSERT(dataSize % sizeof(T) == 0);
+  std::vector<T, Allocator> data(dataSize / sizeof(T));
+  Result result =
+      static_cast<Result>(d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+          m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+          data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(
+      result, data,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR");
+}
+
+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, uint32_t firstGroup,
+        uint32_t groupCount, Dispatch const &d) const {
+  T data;
+  Result result =
+      static_cast<Result>(d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+          m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+          sizeof(T), reinterpret_cast<void *>(&data)));
+  return createResultValue(
+      result, data,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::getRayTracingCaptureReplayShaderGroupHandleKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getRayTracingShaderGroupHandlesKHR(
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+    uint32_t groupCount, size_t dataSize, void *pData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesKHR(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      dataSize, pData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::getRayTracingShaderGroupHandlesKHR(
+        VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+        uint32_t groupCount, ArrayProxy<T> const &data,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesKHR(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getRayTracingShaderGroupHandlesKHR");
+}
+
+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, uint32_t firstGroup,
+        uint32_t groupCount, size_t dataSize, Dispatch const &d) const {
+  VULKAN_HPP_ASSERT(dataSize % sizeof(T) == 0);
+  std::vector<T, Allocator> data(dataSize / sizeof(T));
+  Result result = static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesKHR(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getRayTracingShaderGroupHandlesKHR");
+}
+
+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, uint32_t firstGroup,
+        uint32_t groupCount, Dispatch const &d) const {
+  T data;
+  Result result = static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesKHR(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      sizeof(T), reinterpret_cast<void *>(&data)));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getRayTracingShaderGroupHandleKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getRayTracingShaderGroupHandlesNV(
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+    uint32_t groupCount, size_t dataSize, void *pData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesNV(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      dataSize, pData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::getRayTracingShaderGroupHandlesNV(
+        VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup,
+        uint32_t groupCount, ArrayProxy<T> const &data,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesNV(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getRayTracingShaderGroupHandlesNV");
+}
+
+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, uint32_t firstGroup,
+        uint32_t groupCount, size_t dataSize, Dispatch const &d) const {
+  VULKAN_HPP_ASSERT(dataSize % sizeof(T) == 0);
+  std::vector<T, Allocator> data(dataSize / sizeof(T));
+  Result result = static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesNV(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      data.size() * sizeof(T), reinterpret_cast<void *>(data.data())));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getRayTracingShaderGroupHandlesNV");
+}
+
+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, uint32_t firstGroup,
+        uint32_t groupCount, Dispatch const &d) const {
+  T data;
+  Result result = static_cast<Result>(d.vkGetRayTracingShaderGroupHandlesNV(
+      m_device, static_cast<VkPipeline>(pipeline), firstGroup, groupCount,
+      sizeof(T), reinterpret_cast<void *>(&data)));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getRayTracingShaderGroupHandleNV");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE DeviceSize Device::getRayTracingShaderGroupStackSizeKHR(
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t group,
+    VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<DeviceSize>(d.vkGetRayTracingShaderGroupStackSizeKHR(
+      m_device, static_cast<VkPipeline>(pipeline), group,
+      static_cast<VkShaderGroupShaderKHR>(groupShader)));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getRefreshCycleDurationGOOGLE(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+    VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE *pDisplayTimingProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetRefreshCycleDurationGOOGLE(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      reinterpret_cast<VkRefreshCycleDurationGOOGLE *>(
+          pDisplayTimingProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE>::type
+    Device::getRefreshCycleDurationGOOGLE(
+        VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE displayTimingProperties;
+  Result result = static_cast<Result>(d.vkGetRefreshCycleDurationGOOGLE(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      reinterpret_cast<VkRefreshCycleDurationGOOGLE *>(
+          &displayTimingProperties)));
+  return createResultValue(result, displayTimingProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getRefreshCycleDurationGOOGLE");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::getRenderAreaGranularity(VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+                                 VULKAN_HPP_NAMESPACE::Extent2D *pGranularity,
+                                 Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetRenderAreaGranularity(m_device, static_cast<VkRenderPass>(renderPass),
+                               reinterpret_cast<VkExtent2D *>(pGranularity));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D
+Device::getRenderAreaGranularity(VULKAN_HPP_NAMESPACE::RenderPass renderPass,
+                                 Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::Extent2D granularity;
+  d.vkGetRenderAreaGranularity(m_device, static_cast<VkRenderPass>(renderPass),
+                               reinterpret_cast<VkExtent2D *>(&granularity));
+  return granularity;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreCounterValue(
+    VULKAN_HPP_NAMESPACE::Semaphore semaphore, uint64_t *pValue,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSemaphoreCounterValue(
+      m_device, static_cast<VkSemaphore>(semaphore), pValue));
+}
+
+#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 {
+  uint64_t value;
+  Result result = static_cast<Result>(d.vkGetSemaphoreCounterValue(
+      m_device, static_cast<VkSemaphore>(semaphore), &value));
+  return createResultValue(result, value,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getSemaphoreCounterValue");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getSemaphoreCounterValueKHR(VULKAN_HPP_NAMESPACE::Semaphore semaphore,
+                                    uint64_t *pValue, Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSemaphoreCounterValueKHR(
+      m_device, static_cast<VkSemaphore>(semaphore), pValue));
+}
+
+#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 {
+  uint64_t value;
+  Result result = static_cast<Result>(d.vkGetSemaphoreCounterValueKHR(
+      m_device, static_cast<VkSemaphore>(semaphore), &value));
+  return createResultValue(result, value,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getSemaphoreCounterValueKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreFdKHR(
+    const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSemaphoreFdKHR(
+      m_device, reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>(pGetFdInfo),
+      pFd));
+}
+
+#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 SemaphoreGetFdInfoKHR &getFdInfo,
+                              Dispatch const &d) const {
+  int fd;
+  Result result = static_cast<Result>(d.vkGetSemaphoreFdKHR(
+      m_device, reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>(&getFdInfo),
+      &fd));
+  return createResultValue(
+      result, fd, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getSemaphoreWin32HandleKHR(
+    const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR
+        *pGetWin32HandleInfo,
+    HANDLE *pHandle, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSemaphoreWin32HandleKHR(
+      m_device,
+      reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>(
+          pGetWin32HandleInfo),
+      pHandle));
+}
+
+#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 SemaphoreGetWin32HandleInfoKHR &getWin32HandleInfo,
+        Dispatch const &d) const {
+  HANDLE handle;
+  Result result = static_cast<Result>(d.vkGetSemaphoreWin32HandleKHR(
+      m_device,
+      reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>(
+          &getWin32HandleInfo),
+      &handle));
+  return createResultValue(result, handle,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getSemaphoreWin32HandleKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getSemaphoreZirconHandleFUCHSIA(
+    const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA
+        *pGetZirconHandleInfo,
+    zx_handle_t *pZirconHandle, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSemaphoreZirconHandleFUCHSIA(
+      m_device,
+      reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>(
+          pGetZirconHandleInfo),
+      pZirconHandle));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<zx_handle_t>::type
+    Device::getSemaphoreZirconHandleFUCHSIA(
+        const SemaphoreGetZirconHandleInfoFUCHSIA &getZirconHandleInfo,
+        Dispatch const &d) const {
+  zx_handle_t zirconHandle;
+  Result result = static_cast<Result>(d.vkGetSemaphoreZirconHandleFUCHSIA(
+      m_device,
+      reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>(
+          &getZirconHandleInfo),
+      &zirconHandle));
+  return createResultValue(result, zirconHandle,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getSemaphoreZirconHandleFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getShaderInfoAMD(
+    VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+    VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
+    VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType, size_t *pInfoSize,
+    void *pInfo, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetShaderInfoAMD(
+      m_device, static_cast<VkPipeline>(pipeline),
+      static_cast<VkShaderStageFlagBits>(shaderStage),
+      static_cast<VkShaderInfoTypeAMD>(infoType), pInfoSize, pInfo));
+}
+
+#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::getShaderInfoAMD(
+        VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+        VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
+        VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,
+        Dispatch const &d) const {
+  std::vector<uint8_t, Uint8_tAllocator> info;
+  size_t infoSize;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetShaderInfoAMD(
+        m_device, static_cast<VkPipeline>(pipeline),
+        static_cast<VkShaderStageFlagBits>(shaderStage),
+        static_cast<VkShaderInfoTypeAMD>(infoType), &infoSize, nullptr));
+    if ((result == Result::eSuccess) && infoSize) {
+      info.resize(infoSize);
+      result = static_cast<Result>(d.vkGetShaderInfoAMD(
+          m_device, static_cast<VkPipeline>(pipeline),
+          static_cast<VkShaderStageFlagBits>(shaderStage),
+          static_cast<VkShaderInfoTypeAMD>(infoType), &infoSize,
+          reinterpret_cast<void *>(info.data())));
+      VULKAN_HPP_ASSERT(infoSize <= info.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (infoSize < info.size())) {
+    info.resize(infoSize);
+  }
+  return createResultValue(
+      result, info, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD");
+}
+
+template <typename Uint8_tAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, uint8_t>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+    Device::getShaderInfoAMD(
+        VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+        VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
+        VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,
+        Uint8_tAllocator &uint8_tAllocator, Dispatch const &d) const {
+  std::vector<uint8_t, Uint8_tAllocator> info(uint8_tAllocator);
+  size_t infoSize;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetShaderInfoAMD(
+        m_device, static_cast<VkPipeline>(pipeline),
+        static_cast<VkShaderStageFlagBits>(shaderStage),
+        static_cast<VkShaderInfoTypeAMD>(infoType), &infoSize, nullptr));
+    if ((result == Result::eSuccess) && infoSize) {
+      info.resize(infoSize);
+      result = static_cast<Result>(d.vkGetShaderInfoAMD(
+          m_device, static_cast<VkPipeline>(pipeline),
+          static_cast<VkShaderStageFlagBits>(shaderStage),
+          static_cast<VkShaderInfoTypeAMD>(infoType), &infoSize,
+          reinterpret_cast<void *>(info.data())));
+      VULKAN_HPP_ASSERT(infoSize <= info.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (infoSize < info.size())) {
+    info.resize(infoSize);
+  }
+  return createResultValue(
+      result, info, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainCounterEXT(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+    VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
+    uint64_t *pCounterValue, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSwapchainCounterEXT(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      static_cast<VkSurfaceCounterFlagBitsEXT>(counter), pCounterValue));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<uint64_t>::type
+    Device::getSwapchainCounterEXT(
+        VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+        VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,
+        Dispatch const &d) const {
+  uint64_t counterValue;
+  Result result = static_cast<Result>(d.vkGetSwapchainCounterEXT(
+      m_device, static_cast<VkSwapchainKHR>(swapchain),
+      static_cast<VkSurfaceCounterFlagBitsEXT>(counter), &counterValue));
+  return createResultValue(result, counterValue,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getSwapchainCounterEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getSwapchainImagesKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                              uint32_t *pSwapchainImageCount,
+                              VULKAN_HPP_NAMESPACE::Image *pSwapchainImages,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSwapchainImagesKHR(
+      m_device, static_cast<VkSwapchainKHR>(swapchain), pSwapchainImageCount,
+      reinterpret_cast<VkImage *>(pSwapchainImages)));
+}
+
+#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 {
+  std::vector<Image, ImageAllocator> swapchainImages;
+  uint32_t swapchainImageCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetSwapchainImagesKHR(
+        m_device, static_cast<VkSwapchainKHR>(swapchain), &swapchainImageCount,
+        nullptr));
+    if ((result == Result::eSuccess) && swapchainImageCount) {
+      swapchainImages.resize(swapchainImageCount);
+      result = static_cast<Result>(d.vkGetSwapchainImagesKHR(
+          m_device, static_cast<VkSwapchainKHR>(swapchain),
+          &swapchainImageCount,
+          reinterpret_cast<VkImage *>(swapchainImages.data())));
+      VULKAN_HPP_ASSERT(swapchainImageCount <= swapchainImages.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (swapchainImageCount < swapchainImages.size())) {
+    swapchainImages.resize(swapchainImageCount);
+  }
+  return createResultValue(result, swapchainImages,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getSwapchainImagesKHR");
+}
+
+template <typename ImageAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, Image>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<Image, ImageAllocator>>::type
+    Device::getSwapchainImagesKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                                  ImageAllocator &imageAllocator,
+                                  Dispatch const &d) const {
+  std::vector<Image, ImageAllocator> swapchainImages(imageAllocator);
+  uint32_t swapchainImageCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetSwapchainImagesKHR(
+        m_device, static_cast<VkSwapchainKHR>(swapchain), &swapchainImageCount,
+        nullptr));
+    if ((result == Result::eSuccess) && swapchainImageCount) {
+      swapchainImages.resize(swapchainImageCount);
+      result = static_cast<Result>(d.vkGetSwapchainImagesKHR(
+          m_device, static_cast<VkSwapchainKHR>(swapchain),
+          &swapchainImageCount,
+          reinterpret_cast<VkImage *>(swapchainImages.data())));
+      VULKAN_HPP_ASSERT(swapchainImageCount <= swapchainImages.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (swapchainImageCount < swapchainImages.size())) {
+    swapchainImages.resize(swapchainImageCount);
+  }
+  return createResultValue(result, swapchainImages,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getSwapchainImagesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::getSwapchainStatusKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+                              Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetSwapchainStatusKHR(
+      m_device, static_cast<VkSwapchainKHR>(swapchain)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainStatusKHR(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkGetSwapchainStatusKHR(
+      m_device, static_cast<VkSwapchainKHR>(swapchain)));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainStatusKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getValidationCacheDataEXT(
+    VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, size_t *pDataSize,
+    void *pData, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetValidationCacheDataEXT(
+      m_device, static_cast<VkValidationCacheEXT>(validationCache), pDataSize,
+      pData));
+}
+
+#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::getValidationCacheDataEXT(
+        VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+        Dispatch const &d) const {
+  std::vector<uint8_t, Uint8_tAllocator> data;
+  size_t dataSize;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetValidationCacheDataEXT(
+        m_device, static_cast<VkValidationCacheEXT>(validationCache), &dataSize,
+        nullptr));
+    if ((result == Result::eSuccess) && dataSize) {
+      data.resize(dataSize);
+      result = static_cast<Result>(d.vkGetValidationCacheDataEXT(
+          m_device, static_cast<VkValidationCacheEXT>(validationCache),
+          &dataSize, reinterpret_cast<void *>(data.data())));
+      VULKAN_HPP_ASSERT(dataSize <= data.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (dataSize < data.size())) {
+    data.resize(dataSize);
+  }
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getValidationCacheDataEXT");
+}
+
+template <typename Uint8_tAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, uint8_t>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
+    Device::getValidationCacheDataEXT(
+        VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,
+        Uint8_tAllocator &uint8_tAllocator, Dispatch const &d) const {
+  std::vector<uint8_t, Uint8_tAllocator> data(uint8_tAllocator);
+  size_t dataSize;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetValidationCacheDataEXT(
+        m_device, static_cast<VkValidationCacheEXT>(validationCache), &dataSize,
+        nullptr));
+    if ((result == Result::eSuccess) && dataSize) {
+      data.resize(dataSize);
+      result = static_cast<Result>(d.vkGetValidationCacheDataEXT(
+          m_device, static_cast<VkValidationCacheEXT>(validationCache),
+          &dataSize, reinterpret_cast<void *>(data.data())));
+      VULKAN_HPP_ASSERT(dataSize <= data.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (dataSize < data.size())) {
+    data.resize(dataSize);
+  }
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::getValidationCacheDataEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importFenceFdKHR(
+    const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR *pImportFenceFdInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkImportFenceFdKHR(
+      m_device,
+      reinterpret_cast<const VkImportFenceFdInfoKHR *>(pImportFenceFdInfo)));
+}
+
+#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 ImportFenceFdInfoKHR &importFenceFdInfo,
+                             Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkImportFenceFdKHR(
+      m_device,
+      reinterpret_cast<const VkImportFenceFdInfoKHR *>(&importFenceFdInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::importFenceFdKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importFenceWin32HandleKHR(
+    const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR
+        *pImportFenceWin32HandleInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkImportFenceWin32HandleKHR(
+      m_device, reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>(
+                    pImportFenceWin32HandleInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::importFenceWin32HandleKHR(
+        const ImportFenceWin32HandleInfoKHR &importFenceWin32HandleInfo,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkImportFenceWin32HandleKHR(
+      m_device, reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>(
+                    &importFenceWin32HandleInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::importFenceWin32HandleKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importSemaphoreFdKHR(
+    const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR
+        *pImportSemaphoreFdInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkImportSemaphoreFdKHR(
+      m_device, reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>(
+                    pImportSemaphoreFdInfo)));
+}
+
+#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 ImportSemaphoreFdInfoKHR &importSemaphoreFdInfo,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkImportSemaphoreFdKHR(
+      m_device, reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>(
+                    &importSemaphoreFdInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::importSemaphoreFdKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::importSemaphoreWin32HandleKHR(
+    const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR
+        *pImportSemaphoreWin32HandleInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkImportSemaphoreWin32HandleKHR(
+      m_device, reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>(
+                    pImportSemaphoreWin32HandleInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::importSemaphoreWin32HandleKHR(
+        const ImportSemaphoreWin32HandleInfoKHR &importSemaphoreWin32HandleInfo,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkImportSemaphoreWin32HandleKHR(
+      m_device, reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>(
+                    &importSemaphoreWin32HandleInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::importSemaphoreWin32HandleKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::importSemaphoreZirconHandleFUCHSIA(
+    const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA
+        *pImportSemaphoreZirconHandleInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkImportSemaphoreZirconHandleFUCHSIA(
+      m_device,
+      reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>(
+          pImportSemaphoreZirconHandleInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::importSemaphoreZirconHandleFUCHSIA(
+        const ImportSemaphoreZirconHandleInfoFUCHSIA
+            &importSemaphoreZirconHandleInfo,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkImportSemaphoreZirconHandleFUCHSIA(
+      m_device,
+      reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>(
+          &importSemaphoreZirconHandleInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::importSemaphoreZirconHandleFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::initializePerformanceApiINTEL(
+    const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL
+        *pInitializeInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkInitializePerformanceApiINTEL(
+      m_device, reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>(
+                    pInitializeInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::initializePerformanceApiINTEL(
+        const InitializePerformanceApiInfoINTEL &initializeInfo,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkInitializePerformanceApiINTEL(
+      m_device, reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>(
+                    &initializeInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::initializePerformanceApiINTEL");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::invalidateMappedMemoryRanges(
+    uint32_t memoryRangeCount,
+    const VULKAN_HPP_NAMESPACE::MappedMemoryRange *pMemoryRanges,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkInvalidateMappedMemoryRanges(
+      m_device, memoryRangeCount,
+      reinterpret_cast<const VkMappedMemoryRange *>(pMemoryRanges)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::invalidateMappedMemoryRanges(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const
+            &memoryRanges,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkInvalidateMappedMemoryRanges(
+      m_device, memoryRanges.size(),
+      reinterpret_cast<const VkMappedMemoryRange *>(memoryRanges.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::invalidateMappedMemoryRanges");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::mapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                  VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                  VULKAN_HPP_NAMESPACE::DeviceSize size,
+                  VULKAN_HPP_NAMESPACE::MemoryMapFlags flags, void **ppData,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkMapMemory(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      static_cast<VkDeviceSize>(offset), static_cast<VkDeviceSize>(size),
+      static_cast<VkMemoryMapFlags>(flags), ppData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void *>::type
+    Device::mapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                      VULKAN_HPP_NAMESPACE::DeviceSize offset,
+                      VULKAN_HPP_NAMESPACE::DeviceSize size,
+                      VULKAN_HPP_NAMESPACE::MemoryMapFlags flags,
+                      Dispatch const &d) const {
+  void *pData;
+  Result result = static_cast<Result>(d.vkMapMemory(
+      m_device, static_cast<VkDeviceMemory>(memory),
+      static_cast<VkDeviceSize>(offset), static_cast<VkDeviceSize>(size),
+      static_cast<VkMemoryMapFlags>(flags), &pData));
+  return createResultValue(result, pData,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mergePipelineCaches(
+    VULKAN_HPP_NAMESPACE::PipelineCache dstCache, uint32_t srcCacheCount,
+    const VULKAN_HPP_NAMESPACE::PipelineCache *pSrcCaches,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkMergePipelineCaches(
+      m_device, static_cast<VkPipelineCache>(dstCache), srcCacheCount,
+      reinterpret_cast<const VkPipelineCache *>(pSrcCaches)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::mergePipelineCaches(
+        VULKAN_HPP_NAMESPACE::PipelineCache dstCache,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const &srcCaches,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkMergePipelineCaches(
+      m_device, static_cast<VkPipelineCache>(dstCache), srcCaches.size(),
+      reinterpret_cast<const VkPipelineCache *>(srcCaches.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::mergePipelineCaches");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mergeValidationCachesEXT(
+    VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache, uint32_t srcCacheCount,
+    const VULKAN_HPP_NAMESPACE::ValidationCacheEXT *pSrcCaches,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkMergeValidationCachesEXT(
+      m_device, static_cast<VkValidationCacheEXT>(dstCache), srcCacheCount,
+      reinterpret_cast<const VkValidationCacheEXT *>(pSrcCaches)));
+}
+
+#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,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const
+            &srcCaches,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkMergeValidationCachesEXT(
+      m_device, static_cast<VkValidationCacheEXT>(dstCache), srcCaches.size(),
+      reinterpret_cast<const VkValidationCacheEXT *>(srcCaches.data())));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::mergeValidationCachesEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+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 {
+  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<MemoryOpResultFUCHSIA,
+                                         MemoryOpResultFUCHSIAAllocator>>::type
+    Device::modifyMemoryRangesFUCHSIA(
+        VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA op,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const
+            &memoryRanges,
+        Dispatch const &d) const {
+  std::vector<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<MemoryOpResultFUCHSIA,
+                                         MemoryOpResultFUCHSIAAllocator>>::type
+    Device::modifyMemoryRangesFUCHSIA(
+        VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA op,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const
+            &memoryRanges,
+        MemoryOpResultFUCHSIAAllocator &memoryOpResultFUCHSIAAllocator,
+        Dispatch const &d) const {
+  std::vector<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<MemoryOpResultFUCHSIA>::type
+    Device::modifyMemoryRangeFUCHSIA(
+        VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA op,
+        const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA &memoryRange,
+        Dispatch const &d) const {
+  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*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::registerEventEXT(
+    const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT *pDeviceEventInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Fence *pFence,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkRegisterDeviceEventEXT(
+      m_device,
+      reinterpret_cast<const VkDeviceEventInfoEXT *>(pDeviceEventInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkFence *>(pFence)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
+Device::registerEventEXT(const DeviceEventInfoEXT &deviceEventInfo,
+                         Optional<const AllocationCallbacks> allocator,
+                         Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Fence fence;
+  Result result = static_cast<Result>(d.vkRegisterDeviceEventEXT(
+      m_device,
+      reinterpret_cast<const VkDeviceEventInfoEXT *>(&deviceEventInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFence *>(&fence)));
+  return createResultValue(
+      result, fence, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
+Device::registerEventEXTUnique(const DeviceEventInfoEXT &deviceEventInfo,
+                               Optional<const AllocationCallbacks> allocator,
+                               Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Fence fence;
+  Result result = static_cast<Result>(d.vkRegisterDeviceEventEXT(
+      m_device,
+      reinterpret_cast<const VkDeviceEventInfoEXT *>(&deviceEventInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFence *>(&fence)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Fence, Dispatch>(
+      result, fence,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXTUnique", deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::registerDisplayEventEXT(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display,
+    const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT *pDisplayEventInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Fence *pFence,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkRegisterDisplayEventEXT(
+      m_device, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayEventInfoEXT *>(pDisplayEventInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkFence *>(pFence)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type
+Device::registerDisplayEventEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                                const DisplayEventInfoEXT &displayEventInfo,
+                                Optional<const AllocationCallbacks> allocator,
+                                Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Fence fence;
+  Result result = static_cast<Result>(d.vkRegisterDisplayEventEXT(
+      m_device, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayEventInfoEXT *>(&displayEventInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFence *>(&fence)));
+  return createResultValue(result, fence,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::registerDisplayEventEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type
+Device::registerDisplayEventEXTUnique(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display,
+    const DisplayEventInfoEXT &displayEventInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Fence fence;
+  Result result = static_cast<Result>(d.vkRegisterDisplayEventEXT(
+      m_device, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayEventInfoEXT *>(&displayEventInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkFence *>(&fence)));
+  ObjectDestroy<Device, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Fence, Dispatch>(
+      result, fence,
+      VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::releaseFullScreenExclusiveModeEXT(
+    VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkReleaseFullScreenExclusiveModeEXT(
+      m_device, static_cast<VkSwapchainKHR>(swapchain)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::releaseFullScreenExclusiveModeEXT(
+        VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkReleaseFullScreenExclusiveModeEXT(
+      m_device, static_cast<VkSwapchainKHR>(swapchain)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::releaseFullScreenExclusiveModeEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::releasePerformanceConfigurationINTEL(
+    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkReleasePerformanceConfigurationINTEL(
+      m_device, static_cast<VkPerformanceConfigurationINTEL>(configuration)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::releasePerformanceConfigurationINTEL(
+        VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkReleasePerformanceConfigurationINTEL(
+      m_device, static_cast<VkPerformanceConfigurationINTEL>(configuration)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::releasePerformanceConfigurationINTEL");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::release(
+    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkReleasePerformanceConfigurationINTEL(
+      m_device, static_cast<VkPerformanceConfigurationINTEL>(configuration)));
+}
+#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 {
+  Result result = static_cast<Result>(d.vkReleasePerformanceConfigurationINTEL(
+      m_device, static_cast<VkPerformanceConfigurationINTEL>(configuration)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::release");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::releaseProfilingLockKHR(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkReleaseProfilingLockKHR(m_device);
+}
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::resetCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                         VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
+                         Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkResetCommandPool(m_device, static_cast<VkCommandPool>(commandPool),
+                           static_cast<VkCommandPoolResetFlags>(flags)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+Device::resetCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                         VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,
+                         Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkResetCommandPool(m_device, static_cast<VkCommandPool>(commandPool),
+                           static_cast<VkCommandPoolResetFlags>(flags)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::resetCommandPool");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Result Device::resetDescriptorPool(
+    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+    VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkResetDescriptorPool(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      static_cast<VkDescriptorPoolResetFlags>(flags)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+Device::resetDescriptorPool(
+    VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,
+    VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkResetDescriptorPool(
+      m_device, static_cast<VkDescriptorPool>(descriptorPool),
+      static_cast<VkDescriptorPoolResetFlags>(flags)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::resetDescriptorPool");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::resetEvent(VULKAN_HPP_NAMESPACE::Event event,
+                   Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkResetEvent(m_device, static_cast<VkEvent>(event)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+Device::resetEvent(VULKAN_HPP_NAMESPACE::Event event, Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkResetEvent(m_device, static_cast<VkEvent>(event)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::resetEvent");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetFences(
+    uint32_t fenceCount, const VULKAN_HPP_NAMESPACE::Fence *pFences,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkResetFences(
+      m_device, fenceCount, reinterpret_cast<const VkFence *>(pFences)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+Device::resetFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences,
+                    Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkResetFences(m_device, fences.size(),
+                      reinterpret_cast<const VkFence *>(fences.data())));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::resetFences");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                       uint32_t firstQuery, uint32_t queryCount,
+                       Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkResetQueryPool(m_device, static_cast<VkQueryPool>(queryPool), firstQuery,
+                     queryCount);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::resetQueryPoolEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
+                          uint32_t firstQuery, uint32_t queryCount,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkResetQueryPoolEXT(m_device, static_cast<VkQueryPool>(queryPool),
+                        firstQuery, queryCount);
+}
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::setBufferCollectionBufferConstraintsFUCHSIA(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+    const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA
+        *pBufferConstraintsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSetBufferCollectionBufferConstraintsFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>(
+          pBufferConstraintsInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::setBufferCollectionBufferConstraintsFUCHSIA(
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+        const BufferConstraintsInfoFUCHSIA &bufferConstraintsInfo,
+        Dispatch const &d) const {
+  Result result =
+      static_cast<Result>(d.vkSetBufferCollectionBufferConstraintsFUCHSIA(
+          m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+          reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>(
+              &bufferConstraintsInfo)));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING
+      "::Device::setBufferCollectionBufferConstraintsFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::setBufferCollectionConstraintsFUCHSIA(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+    const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pImageInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSetBufferCollectionConstraintsFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(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::setBufferCollectionConstraintsFUCHSIA(
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+        const ImageCreateInfo &imageInfo, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkSetBufferCollectionConstraintsFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<const VkImageCreateInfo *>(&imageInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::setBufferCollectionConstraintsFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::setBufferCollectionImageConstraintsFUCHSIA(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+    const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA
+        *pImageConstraintsInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSetBufferCollectionImageConstraintsFUCHSIA(
+      m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+      reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>(
+          pImageConstraintsInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::setBufferCollectionImageConstraintsFUCHSIA(
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,
+        const ImageConstraintsInfoFUCHSIA &imageConstraintsInfo,
+        Dispatch const &d) const {
+  Result result =
+      static_cast<Result>(d.vkSetBufferCollectionImageConstraintsFUCHSIA(
+          m_device, static_cast<VkBufferCollectionFUCHSIA>(collection),
+          reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>(
+              &imageConstraintsInfo)));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING
+      "::Device::setBufferCollectionImageConstraintsFUCHSIA");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::setDebugUtilsObjectNameEXT(
+    const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *pNameInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSetDebugUtilsObjectNameEXT(
+      m_device,
+      reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>(pNameInfo)));
+}
+
+#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 DebugUtilsObjectNameInfoEXT &nameInfo, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkSetDebugUtilsObjectNameEXT(
+      m_device,
+      reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>(&nameInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::setDebugUtilsObjectNameEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setDebugUtilsObjectTagEXT(
+    const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT *pTagInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSetDebugUtilsObjectTagEXT(
+      m_device,
+      reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>(pTagInfo)));
+}
+
+#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 DebugUtilsObjectTagInfoEXT &tagInfo,
+                                      Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkSetDebugUtilsObjectTagEXT(
+      m_device,
+      reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>(&tagInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::setDebugUtilsObjectTagEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::setEvent(VULKAN_HPP_NAMESPACE::Event event,
+                 Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkSetEvent(m_device, static_cast<VkEvent>(event)));
+}
+#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 {
+  Result result =
+      static_cast<Result>(d.vkSetEvent(m_device, static_cast<VkEvent>(event)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Device::setEvent");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::setHdrMetadataEXT(uint32_t swapchainCount,
+                          const VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains,
+                          const VULKAN_HPP_NAMESPACE::HdrMetadataEXT *pMetadata,
+                          Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkSetHdrMetadataEXT(m_device, swapchainCount,
+                        reinterpret_cast<const VkSwapchainKHR *>(pSwapchains),
+                        reinterpret_cast<const VkHdrMetadataEXT *>(pMetadata));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::setHdrMetadataEXT(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &swapchains,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const &metadata,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS {
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  VULKAN_HPP_ASSERT(swapchains.size() == metadata.size());
+#else
+  if (swapchains.size() != metadata.size()) {
+    throw LogicError(
+        VULKAN_HPP_NAMESPACE_STRING
+        "::Device::setHdrMetadataEXT: swapchains.size() != metadata.size()");
+  }
+#endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+  d.vkSetHdrMetadataEXT(
+      m_device, swapchains.size(),
+      reinterpret_cast<const VkSwapchainKHR *>(swapchains.data()),
+      reinterpret_cast<const VkHdrMetadataEXT *>(metadata.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::setLocalDimmingAMD(VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain,
+                           VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable,
+                           Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkSetLocalDimmingAMD(m_device, static_cast<VkSwapchainKHR>(swapChain),
+                         static_cast<VkBool32>(localDimmingEnable));
+}
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setPrivateDataEXT(
+    VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, uint64_t data,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSetPrivateDataEXT(
+      m_device, static_cast<VkObjectType>(objectType), objectHandle,
+      static_cast<VkPrivateDataSlotEXT>(privateDataSlot), data));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+Device::setPrivateDataEXT(
+    VULKAN_HPP_NAMESPACE::ObjectType objectType, uint64_t objectHandle,
+    VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT privateDataSlot, uint64_t data,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkSetPrivateDataEXT(
+      m_device, static_cast<VkObjectType>(objectType), objectHandle,
+      static_cast<VkPrivateDataSlotEXT>(privateDataSlot), data));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::setPrivateDataEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::signalSemaphore(
+    const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo *pSignalInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSignalSemaphore(
+      m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>(pSignalInfo)));
+}
+
+#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 SemaphoreSignalInfo &signalInfo,
+                            Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkSignalSemaphore(
+      m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>(&signalInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::signalSemaphore");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::signalSemaphoreKHR(
+    const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo *pSignalInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkSignalSemaphoreKHR(
+      m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>(pSignalInfo)));
+}
+
+#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 SemaphoreSignalInfo &signalInfo,
+                               Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkSignalSemaphoreKHR(
+      m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>(&signalInfo)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::signalSemaphoreKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::trimCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                        VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
+                        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkTrimCommandPool(m_device, static_cast<VkCommandPool>(commandPool),
+                      static_cast<VkCommandPoolTrimFlags>(flags));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::trimCommandPoolKHR(VULKAN_HPP_NAMESPACE::CommandPool commandPool,
+                           VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,
+                           Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkTrimCommandPoolKHR(m_device, static_cast<VkCommandPool>(commandPool),
+                         static_cast<VkCommandPoolTrimFlags>(flags));
+}
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+#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 {
+  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 {
+  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*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL(
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkUninitializePerformanceApiINTEL(m_device);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Device::unmapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkUnmapMemory(m_device, static_cast<VkDeviceMemory>(memory));
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplate(
+    VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    const void *pData, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkUpdateDescriptorSetWithTemplate(
+      m_device, static_cast<VkDescriptorSet>(descriptorSet),
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate), pData);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplateKHR(
+    VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,
+    VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
+    const void *pData, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkUpdateDescriptorSetWithTemplateKHR(
+      m_device, static_cast<VkDescriptorSet>(descriptorSet),
+      static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate), pData);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::updateDescriptorSets(
+    uint32_t descriptorWriteCount,
+    const VULKAN_HPP_NAMESPACE::WriteDescriptorSet *pDescriptorWrites,
+    uint32_t descriptorCopyCount,
+    const VULKAN_HPP_NAMESPACE::CopyDescriptorSet *pDescriptorCopies,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkUpdateDescriptorSets(
+      m_device, descriptorWriteCount,
+      reinterpret_cast<const VkWriteDescriptorSet *>(pDescriptorWrites),
+      descriptorCopyCount,
+      reinterpret_cast<const VkCopyDescriptorSet *>(pDescriptorCopies));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Device::updateDescriptorSets(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const
+        &descriptorWrites,
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const
+        &descriptorCopies,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkUpdateDescriptorSets(
+      m_device, descriptorWrites.size(),
+      reinterpret_cast<const VkWriteDescriptorSet *>(descriptorWrites.data()),
+      descriptorCopies.size(),
+      reinterpret_cast<const VkCopyDescriptorSet *>(descriptorCopies.data()));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForFences(
+    uint32_t fenceCount, const VULKAN_HPP_NAMESPACE::Fence *pFences,
+    VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkWaitForFences(
+      m_device, fenceCount, reinterpret_cast<const VkFence *>(pFences),
+      static_cast<VkBool32>(waitAll), timeout));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForFences(
+    ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences,
+    VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout,
+    Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkWaitForFences(
+      m_device, fences.size(), reinterpret_cast<const VkFence *>(fences.data()),
+      static_cast<VkBool32>(waitAll), timeout));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eTimeout});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphores(
+    const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo *pWaitInfo, uint64_t timeout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkWaitSemaphores(
+      m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>(pWaitInfo),
+      timeout));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::waitSemaphores(const SemaphoreWaitInfo &waitInfo, uint64_t timeout,
+                       Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkWaitSemaphores(
+      m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>(&waitInfo),
+      timeout));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eTimeout});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphoresKHR(
+    const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo *pWaitInfo, uint64_t timeout,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkWaitSemaphoresKHR(
+      m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>(pWaitInfo),
+      timeout));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::waitSemaphoresKHR(const SemaphoreWaitInfo &waitInfo, uint64_t timeout,
+                          Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkWaitSemaphoresKHR(
+      m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>(&waitInfo),
+      timeout));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR",
+      {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+       VULKAN_HPP_NAMESPACE::Result::eTimeout});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Device::writeAccelerationStructuresPropertiesKHR(
+    uint32_t accelerationStructureCount,
+    const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR
+        *pAccelerationStructures,
+    VULKAN_HPP_NAMESPACE::QueryType queryType, size_t dataSize, void *pData,
+    size_t stride, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkWriteAccelerationStructuresPropertiesKHR(
+      m_device, accelerationStructureCount,
+      reinterpret_cast<const VkAccelerationStructureKHR *>(
+          pAccelerationStructures),
+      static_cast<VkQueryType>(queryType), dataSize, pData, stride));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename T, typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Device::writeAccelerationStructuresPropertiesKHR(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+            &accelerationStructures,
+        VULKAN_HPP_NAMESPACE::QueryType queryType, ArrayProxy<T> const &data,
+        size_t stride, Dispatch const &d) const {
+  Result result =
+      static_cast<Result>(d.vkWriteAccelerationStructuresPropertiesKHR(
+          m_device, accelerationStructures.size(),
+          reinterpret_cast<const VkAccelerationStructureKHR *>(
+              accelerationStructures.data()),
+          static_cast<VkQueryType>(queryType), data.size() * sizeof(T),
+          reinterpret_cast<void *>(data.data()), stride));
+  return createResultValue(
+      result, VULKAN_HPP_NAMESPACE_STRING
+      "::Device::writeAccelerationStructuresPropertiesKHR");
+}
+
+template <typename T, typename Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<T, Allocator>>::type
+    Device::writeAccelerationStructuresPropertiesKHR(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+            &accelerationStructures,
+        VULKAN_HPP_NAMESPACE::QueryType queryType, size_t dataSize,
+        size_t stride, Dispatch const &d) const {
+  VULKAN_HPP_ASSERT(dataSize % sizeof(T) == 0);
+  std::vector<T, Allocator> data(dataSize / sizeof(T));
+  Result result =
+      static_cast<Result>(d.vkWriteAccelerationStructuresPropertiesKHR(
+          m_device, accelerationStructures.size(),
+          reinterpret_cast<const VkAccelerationStructureKHR *>(
+              accelerationStructures.data()),
+          static_cast<VkQueryType>(queryType), data.size() * sizeof(T),
+          reinterpret_cast<void *>(data.data()), stride));
+  return createResultValue(
+      result, data,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Device::writeAccelerationStructuresPropertiesKHR");
+}
+
+template <typename T, typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<T>::type
+    Device::writeAccelerationStructuresPropertyKHR(
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const
+            &accelerationStructures,
+        VULKAN_HPP_NAMESPACE::QueryType queryType, size_t stride,
+        Dispatch const &d) const {
+  T data;
+  Result result =
+      static_cast<Result>(d.vkWriteAccelerationStructuresPropertiesKHR(
+          m_device, accelerationStructures.size(),
+          reinterpret_cast<const VkAccelerationStructureKHR *>(
+              accelerationStructures.data()),
+          static_cast<VkQueryType>(queryType), sizeof(T),
+          reinterpret_cast<void *>(&data), stride));
+  return createResultValue(result, data,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Device::writeAccelerationStructuresPropertyKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createAndroidSurfaceKHR(
+    const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateAndroidSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createAndroidSurfaceKHR(
+        const AndroidSurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateAndroidSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createAndroidSurfaceKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createAndroidSurfaceKHRUnique(
+        const AndroidSurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateAndroidSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::createDebugReportCallbackEXT(
+    const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT *pCallback,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDebugReportCallbackEXT(
+      m_instance,
+      reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDebugReportCallbackEXT *>(pCallback)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::type
+    Instance::createDebugReportCallbackEXT(
+        const DebugReportCallbackCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback;
+  Result result = static_cast<Result>(d.vkCreateDebugReportCallbackEXT(
+      m_instance,
+      reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDebugReportCallbackEXT *>(&callback)));
+  return createResultValue(result, callback,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createDebugReportCallbackEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT, Dispatch>>::type
+Instance::createDebugReportCallbackEXTUnique(
+    const DebugReportCallbackCreateInfoEXT &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback;
+  Result result = static_cast<Result>(d.vkCreateDebugReportCallbackEXT(
+      m_instance,
+      reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDebugReportCallbackEXT *>(&callback)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT,
+                           Dispatch>(
+      result, callback,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Instance::createDebugReportCallbackEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::createDebugUtilsMessengerEXT(
+    const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT *pMessenger,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDebugUtilsMessengerEXT(
+      m_instance,
+      reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDebugUtilsMessengerEXT *>(pMessenger)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::type
+    Instance::createDebugUtilsMessengerEXT(
+        const DebugUtilsMessengerCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger;
+  Result result = static_cast<Result>(d.vkCreateDebugUtilsMessengerEXT(
+      m_instance,
+      reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDebugUtilsMessengerEXT *>(&messenger)));
+  return createResultValue(result, messenger,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createDebugUtilsMessengerEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT, Dispatch>>::type
+Instance::createDebugUtilsMessengerEXTUnique(
+    const DebugUtilsMessengerCreateInfoEXT &createInfo,
+    Optional<const AllocationCallbacks> allocator, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger;
+  Result result = static_cast<Result>(d.vkCreateDebugUtilsMessengerEXT(
+      m_instance,
+      reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDebugUtilsMessengerEXT *>(&messenger)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT,
+                           Dispatch>(
+      result, messenger,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Instance::createDebugUtilsMessengerEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::createDirectFBSurfaceEXT(
+    const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDirectFBSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createDirectFBSurfaceEXT(
+        const DirectFBSurfaceCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateDirectFBSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createDirectFBSurfaceEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createDirectFBSurfaceEXTUnique(
+        const DirectFBSurfaceCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateDirectFBSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::createDisplayPlaneSurfaceKHR(
+    const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDisplayPlaneSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createDisplayPlaneSurfaceKHR(
+        const DisplaySurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateDisplayPlaneSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createDisplayPlaneSurfaceKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createDisplayPlaneSurfaceKHRUnique(
+        const DisplaySurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateDisplayPlaneSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Instance::createDisplayPlaneSurfaceKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::createHeadlessSurfaceEXT(
+    const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateHeadlessSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createHeadlessSurfaceEXT(
+        const HeadlessSurfaceCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateHeadlessSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createHeadlessSurfaceEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createHeadlessSurfaceEXTUnique(
+        const HeadlessSurfaceCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateHeadlessSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createIOSSurfaceMVK(
+    const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateIOSSurfaceMVK(
+      m_instance,
+      reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createIOSSurfaceMVK(const IOSSurfaceCreateInfoMVK &createInfo,
+                                  Optional<const AllocationCallbacks> allocator,
+                                  Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateIOSSurfaceMVK(
+      m_instance,
+      reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createIOSSurfaceMVK");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createIOSSurfaceMVKUnique(
+        const IOSSurfaceCreateInfoMVK &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateIOSSurfaceMVK(
+      m_instance,
+      reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVKUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::createImagePipeSurfaceFUCHSIA(
+    const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateImagePipeSurfaceFUCHSIA(
+      m_instance,
+      reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>(
+          pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createImagePipeSurfaceFUCHSIA(
+        const ImagePipeSurfaceCreateInfoFUCHSIA &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateImagePipeSurfaceFUCHSIA(
+      m_instance,
+      reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createImagePipeSurfaceFUCHSIA");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createImagePipeSurfaceFUCHSIAUnique(
+        const ImagePipeSurfaceCreateInfoFUCHSIA &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateImagePipeSurfaceFUCHSIA(
+      m_instance,
+      reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Instance::createImagePipeSurfaceFUCHSIAUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createMacOSSurfaceMVK(
+    const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateMacOSSurfaceMVK(
+      m_instance,
+      reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createMacOSSurfaceMVK(
+        const MacOSSurfaceCreateInfoMVK &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateMacOSSurfaceMVK(
+      m_instance,
+      reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createMacOSSurfaceMVK");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createMacOSSurfaceMVKUnique(
+        const MacOSSurfaceCreateInfoMVK &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateMacOSSurfaceMVK(
+      m_instance,
+      reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVKUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createMetalSurfaceEXT(
+    const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateMetalSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createMetalSurfaceEXT(
+        const MetalSurfaceCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateMetalSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createMetalSurfaceEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createMetalSurfaceEXTUnique(
+        const MetalSurfaceCreateInfoEXT &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateMetalSurfaceEXT(
+      m_instance,
+      reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createScreenSurfaceQNX(
+    const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateScreenSurfaceQNX(
+      m_instance,
+      reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createScreenSurfaceQNX(
+        const ScreenSurfaceCreateInfoQNX &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateScreenSurfaceQNX(
+      m_instance,
+      reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createScreenSurfaceQNX");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createScreenSurfaceQNXUnique(
+        const ScreenSurfaceCreateInfoQNX &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateScreenSurfaceQNX(
+      m_instance,
+      reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createScreenSurfaceQNXUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+
+#if defined(VK_USE_PLATFORM_GGP)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::createStreamDescriptorSurfaceGGP(
+    const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP
+        *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateStreamDescriptorSurfaceGGP(
+      m_instance,
+      reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>(
+          pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createStreamDescriptorSurfaceGGP(
+        const StreamDescriptorSurfaceCreateInfoGGP &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateStreamDescriptorSurfaceGGP(
+      m_instance,
+      reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createStreamDescriptorSurfaceGGP");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createStreamDescriptorSurfaceGGPUnique(
+        const StreamDescriptorSurfaceCreateInfoGGP &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateStreamDescriptorSurfaceGGP(
+      m_instance,
+      reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>(
+          &createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::Instance::createStreamDescriptorSurfaceGGPUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_GGP*/
-  template <>
-  struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_VI_NN)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createViSurfaceNN(
+    const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateViSurfaceNN(
+      m_instance,
+      reinterpret_cast<const VkViSurfaceCreateInfoNN *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createViSurfaceNN(const ViSurfaceCreateInfoNN &createInfo,
+                                Optional<const AllocationCallbacks> allocator,
+                                Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateViSurfaceNN(
+      m_instance,
+      reinterpret_cast<const VkViSurfaceCreateInfoNN *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createViSurfaceNN");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createViSurfaceNNUnique(
+        const ViSurfaceCreateInfoNN &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateViSurfaceNN(
+      m_instance,
+      reinterpret_cast<const VkViSurfaceCreateInfoNN *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNNUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_VI_NN*/
+
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createWaylandSurfaceKHR(
+    const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateWaylandSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createWaylandSurfaceKHR(
+        const WaylandSurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateWaylandSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createWaylandSurfaceKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createWaylandSurfaceKHRUnique(
+        const WaylandSurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateWaylandSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createWin32SurfaceKHR(
+    const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateWin32SurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createWin32SurfaceKHR(
+        const Win32SurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateWin32SurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createWin32SurfaceKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createWin32SurfaceKHRUnique(
+        const Win32SurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateWin32SurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createXcbSurfaceKHR(
+    const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateXcbSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createXcbSurfaceKHR(const XcbSurfaceCreateInfoKHR &createInfo,
+                                  Optional<const AllocationCallbacks> allocator,
+                                  Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateXcbSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createXcbSurfaceKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createXcbSurfaceKHRUnique(
+        const XcbSurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateXcbSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createXlibSurfaceKHR(
+    const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::SurfaceKHR *pSurface,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateXlibSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkSurfaceKHR *>(pSurface)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
+    Instance::createXlibSurfaceKHR(
+        const XlibSurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateXlibSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  return createResultValue(result, surface,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::createXlibSurfaceKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
+    Instance::createXlibSurfaceKHRUnique(
+        const XlibSurfaceCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
+  Result result = static_cast<Result>(d.vkCreateXlibSurfaceKHR(
+      m_instance,
+      reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkSurfaceKHR *>(&surface)));
+  ObjectDestroy<Instance, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
+      result, surface,
+      VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Instance::debugReportMessageEXT(
+    VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType, uint64_t object,
+    size_t location, int32_t messageCode, const char *pLayerPrefix,
+    const char *pMessage, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDebugReportMessageEXT(
+      m_instance, static_cast<VkDebugReportFlagsEXT>(flags),
+      static_cast<VkDebugReportObjectTypeEXT>(objectType), object, location,
+      messageCode, pLayerPrefix, pMessage);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Instance::debugReportMessageEXT(
+    VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
+    VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType, uint64_t object,
+    size_t location, int32_t messageCode, const std::string &layerPrefix,
+    const std::string &message, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDebugReportMessageEXT(
+      m_instance, static_cast<VkDebugReportFlagsEXT>(flags),
+      static_cast<VkDebugReportObjectTypeEXT>(objectType), object, location,
+      messageCode, layerPrefix.c_str(), message.c_str());
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Instance::destroyDebugReportCallbackEXT(
+    VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugReportCallbackEXT(
+      m_instance, static_cast<VkDebugReportCallbackEXT>(callback),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Instance::destroyDebugReportCallbackEXT(
+    VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugReportCallbackEXT(
+      m_instance, static_cast<VkDebugReportCallbackEXT>(callback),
+      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
+Instance::destroy(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
+                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugReportCallbackEXT(
+      m_instance, static_cast<VkDebugReportCallbackEXT>(callback),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Instance::destroy(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,
+                  Optional<const AllocationCallbacks> allocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugReportCallbackEXT(
+      m_instance, static_cast<VkDebugReportCallbackEXT>(callback),
+      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 Instance::destroyDebugUtilsMessengerEXT(
+    VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugUtilsMessengerEXT(
+      m_instance, static_cast<VkDebugUtilsMessengerEXT>(messenger),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Instance::destroyDebugUtilsMessengerEXT(
+    VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
+    Optional<const AllocationCallbacks> allocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugUtilsMessengerEXT(
+      m_instance, static_cast<VkDebugUtilsMessengerEXT>(messenger),
+      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
+Instance::destroy(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
+                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugUtilsMessengerEXT(
+      m_instance, static_cast<VkDebugUtilsMessengerEXT>(messenger),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Instance::destroy(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,
+                  Optional<const AllocationCallbacks> allocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyDebugUtilsMessengerEXT(
+      m_instance, static_cast<VkDebugUtilsMessengerEXT>(messenger),
+      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
+Instance::destroy(const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyInstance(
+      m_instance, reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Instance::destroy(Optional<const AllocationCallbacks> allocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroyInstance(
+      m_instance,
+      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 Instance::destroySurfaceKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySurfaceKHR(
+      m_instance, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Instance::destroySurfaceKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                            Optional<const AllocationCallbacks> allocator,
+                            Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySurfaceKHR(
+      m_instance, static_cast<VkSurfaceKHR>(surface),
+      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
+Instance::destroy(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySurfaceKHR(
+      m_instance, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Instance::destroy(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                  Optional<const AllocationCallbacks> allocator,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkDestroySurfaceKHR(
+      m_instance, static_cast<VkSurfaceKHR>(surface),
+      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
+Instance::enumeratePhysicalDeviceGroups(
+    uint32_t *pPhysicalDeviceGroupCount,
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties
+        *pPhysicalDeviceGroupProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumeratePhysicalDeviceGroups(
+      m_instance, pPhysicalDeviceGroupCount,
+      reinterpret_cast<VkPhysicalDeviceGroupProperties *>(
+          pPhysicalDeviceGroupProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PhysicalDeviceGroupPropertiesAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceGroupProperties,
+                PhysicalDeviceGroupPropertiesAllocator>>::type
+Instance::enumeratePhysicalDeviceGroups(Dispatch const &d) const {
+  std::vector<PhysicalDeviceGroupProperties,
+              PhysicalDeviceGroupPropertiesAllocator>
+      physicalDeviceGroupProperties;
+  uint32_t physicalDeviceGroupCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroups(
+        m_instance, &physicalDeviceGroupCount, nullptr));
+    if ((result == Result::eSuccess) && physicalDeviceGroupCount) {
+      physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+      result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroups(
+          m_instance, &physicalDeviceGroupCount,
+          reinterpret_cast<VkPhysicalDeviceGroupProperties *>(
+              physicalDeviceGroupProperties.data())));
+      VULKAN_HPP_ASSERT(physicalDeviceGroupCount <=
+                        physicalDeviceGroupProperties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (physicalDeviceGroupCount < physicalDeviceGroupProperties.size())) {
+    physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+  }
+  return createResultValue(result, physicalDeviceGroupProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::enumeratePhysicalDeviceGroups");
+}
+
+template <
+    typename PhysicalDeviceGroupPropertiesAllocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         PhysicalDeviceGroupProperties>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceGroupProperties,
+                PhysicalDeviceGroupPropertiesAllocator>>::type
+Instance::enumeratePhysicalDeviceGroups(
+    PhysicalDeviceGroupPropertiesAllocator
+        &physicalDeviceGroupPropertiesAllocator,
+    Dispatch const &d) const {
+  std::vector<PhysicalDeviceGroupProperties,
+              PhysicalDeviceGroupPropertiesAllocator>
+      physicalDeviceGroupProperties(physicalDeviceGroupPropertiesAllocator);
+  uint32_t physicalDeviceGroupCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroups(
+        m_instance, &physicalDeviceGroupCount, nullptr));
+    if ((result == Result::eSuccess) && physicalDeviceGroupCount) {
+      physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+      result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroups(
+          m_instance, &physicalDeviceGroupCount,
+          reinterpret_cast<VkPhysicalDeviceGroupProperties *>(
+              physicalDeviceGroupProperties.data())));
+      VULKAN_HPP_ASSERT(physicalDeviceGroupCount <=
+                        physicalDeviceGroupProperties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (physicalDeviceGroupCount < physicalDeviceGroupProperties.size())) {
+    physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+  }
+  return createResultValue(result, physicalDeviceGroupProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::enumeratePhysicalDeviceGroups");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::enumeratePhysicalDeviceGroupsKHR(
+    uint32_t *pPhysicalDeviceGroupCount,
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties
+        *pPhysicalDeviceGroupProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumeratePhysicalDeviceGroupsKHR(
+      m_instance, pPhysicalDeviceGroupCount,
+      reinterpret_cast<VkPhysicalDeviceGroupProperties *>(
+          pPhysicalDeviceGroupProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PhysicalDeviceGroupPropertiesAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceGroupProperties,
+                PhysicalDeviceGroupPropertiesAllocator>>::type
+Instance::enumeratePhysicalDeviceGroupsKHR(Dispatch const &d) const {
+  std::vector<PhysicalDeviceGroupProperties,
+              PhysicalDeviceGroupPropertiesAllocator>
+      physicalDeviceGroupProperties;
+  uint32_t physicalDeviceGroupCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroupsKHR(
+        m_instance, &physicalDeviceGroupCount, nullptr));
+    if ((result == Result::eSuccess) && physicalDeviceGroupCount) {
+      physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+      result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroupsKHR(
+          m_instance, &physicalDeviceGroupCount,
+          reinterpret_cast<VkPhysicalDeviceGroupProperties *>(
+              physicalDeviceGroupProperties.data())));
+      VULKAN_HPP_ASSERT(physicalDeviceGroupCount <=
+                        physicalDeviceGroupProperties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (physicalDeviceGroupCount < physicalDeviceGroupProperties.size())) {
+    physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+  }
+  return createResultValue(result, physicalDeviceGroupProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::enumeratePhysicalDeviceGroupsKHR");
+}
+
+template <
+    typename PhysicalDeviceGroupPropertiesAllocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         PhysicalDeviceGroupProperties>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceGroupProperties,
+                PhysicalDeviceGroupPropertiesAllocator>>::type
+Instance::enumeratePhysicalDeviceGroupsKHR(
+    PhysicalDeviceGroupPropertiesAllocator
+        &physicalDeviceGroupPropertiesAllocator,
+    Dispatch const &d) const {
+  std::vector<PhysicalDeviceGroupProperties,
+              PhysicalDeviceGroupPropertiesAllocator>
+      physicalDeviceGroupProperties(physicalDeviceGroupPropertiesAllocator);
+  uint32_t physicalDeviceGroupCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroupsKHR(
+        m_instance, &physicalDeviceGroupCount, nullptr));
+    if ((result == Result::eSuccess) && physicalDeviceGroupCount) {
+      physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+      result = static_cast<Result>(d.vkEnumeratePhysicalDeviceGroupsKHR(
+          m_instance, &physicalDeviceGroupCount,
+          reinterpret_cast<VkPhysicalDeviceGroupProperties *>(
+              physicalDeviceGroupProperties.data())));
+      VULKAN_HPP_ASSERT(physicalDeviceGroupCount <=
+                        physicalDeviceGroupProperties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (physicalDeviceGroupCount < physicalDeviceGroupProperties.size())) {
+    physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
+  }
+  return createResultValue(result, physicalDeviceGroupProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::enumeratePhysicalDeviceGroupsKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Instance::enumeratePhysicalDevices(
+    uint32_t *pPhysicalDeviceCount,
+    VULKAN_HPP_NAMESPACE::PhysicalDevice *pPhysicalDevices,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumeratePhysicalDevices(
+      m_instance, pPhysicalDeviceCount,
+      reinterpret_cast<VkPhysicalDevice *>(pPhysicalDevices)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PhysicalDeviceAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDevice, PhysicalDeviceAllocator>>::type
+Instance::enumeratePhysicalDevices(Dispatch const &d) const {
+  std::vector<PhysicalDevice, PhysicalDeviceAllocator> physicalDevices;
+  uint32_t physicalDeviceCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumeratePhysicalDevices(
+        m_instance, &physicalDeviceCount, nullptr));
+    if ((result == Result::eSuccess) && physicalDeviceCount) {
+      physicalDevices.resize(physicalDeviceCount);
+      result = static_cast<Result>(d.vkEnumeratePhysicalDevices(
+          m_instance, &physicalDeviceCount,
+          reinterpret_cast<VkPhysicalDevice *>(physicalDevices.data())));
+      VULKAN_HPP_ASSERT(physicalDeviceCount <= physicalDevices.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (physicalDeviceCount < physicalDevices.size())) {
+    physicalDevices.resize(physicalDeviceCount);
+  }
+  return createResultValue(result, physicalDevices,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::enumeratePhysicalDevices");
+}
+
+template <
+    typename PhysicalDeviceAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, PhysicalDevice>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDevice, PhysicalDeviceAllocator>>::type
+Instance::enumeratePhysicalDevices(
+    PhysicalDeviceAllocator &physicalDeviceAllocator, Dispatch const &d) const {
+  std::vector<PhysicalDevice, PhysicalDeviceAllocator> physicalDevices(
+      physicalDeviceAllocator);
+  uint32_t physicalDeviceCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumeratePhysicalDevices(
+        m_instance, &physicalDeviceCount, nullptr));
+    if ((result == Result::eSuccess) && physicalDeviceCount) {
+      physicalDevices.resize(physicalDeviceCount);
+      result = static_cast<Result>(d.vkEnumeratePhysicalDevices(
+          m_instance, &physicalDeviceCount,
+          reinterpret_cast<VkPhysicalDevice *>(physicalDevices.data())));
+      VULKAN_HPP_ASSERT(physicalDeviceCount <= physicalDevices.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (physicalDeviceCount < physicalDevices.size())) {
+    physicalDevices.resize(physicalDeviceCount);
+  }
+  return createResultValue(result, physicalDevices,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::Instance::enumeratePhysicalDevices");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr(
+    const char *pName, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetInstanceProcAddr(m_instance, pName);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr(
+    const std::string &name, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetInstanceProcAddr(m_instance, name.c_str());
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT(
+    VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
+    VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
+    const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT
+        *pCallbackData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkSubmitDebugUtilsMessageEXT(
+      m_instance,
+      static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>(messageSeverity),
+      static_cast<VkDebugUtilsMessageTypeFlagsEXT>(messageTypes),
+      reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>(
+          pCallbackData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT(
+    VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
+    VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
+    const DebugUtilsMessengerCallbackDataEXT &callbackData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkSubmitDebugUtilsMessageEXT(
+      m_instance,
+      static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>(messageSeverity),
+      static_cast<VkDebugUtilsMessageTypeFlagsEXT>(messageTypes),
+      reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>(
+          &callbackData));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::acquireWinrtDisplayNV(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                                      Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAcquireWinrtDisplayNV(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    PhysicalDevice::acquireWinrtDisplayNV(
+        VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkAcquireWinrtDisplayNV(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::acquireWinrtDisplayNV");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::acquireXlibDisplayEXT(
+    Display *dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkAcquireXlibDisplayEXT(
+      m_physicalDevice, dpy, static_cast<VkDisplayKHR>(display)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    PhysicalDevice::acquireXlibDisplayEXT(
+        Display &dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkAcquireXlibDisplayEXT(
+      m_physicalDevice, &dpy, static_cast<VkDisplayKHR>(display)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::acquireXlibDisplayEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::createDevice(
+    const VULKAN_HPP_NAMESPACE::DeviceCreateInfo *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::Device *pDevice,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDevice(
+      m_physicalDevice,
+      reinterpret_cast<const VkDeviceCreateInfo *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDevice *>(pDevice)));
+}
+
+#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 DeviceCreateInfo &createInfo,
+                                 Optional<const AllocationCallbacks> allocator,
+                                 Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Device device;
+  Result result = static_cast<Result>(d.vkCreateDevice(
+      m_physicalDevice,
+      reinterpret_cast<const VkDeviceCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDevice *>(&device)));
+  return createResultValue(result, device,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::createDevice");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::Device, Dispatch>>::type
+    PhysicalDevice::createDeviceUnique(
+        const DeviceCreateInfo &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Device device;
+  Result result = static_cast<Result>(d.vkCreateDevice(
+      m_physicalDevice,
+      reinterpret_cast<const VkDeviceCreateInfo *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDevice *>(&device)));
+  ObjectDestroy<NoParent, Dispatch> deleter(allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::Device, Dispatch>(
+      result, device,
+      VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDeviceUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::createDisplayModeKHR(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display,
+    const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR *pCreateInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *pAllocator,
+    VULKAN_HPP_NAMESPACE::DisplayModeKHR *pMode,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkCreateDisplayModeKHR(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayModeCreateInfoKHR *>(pCreateInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(pAllocator),
+      reinterpret_cast<VkDisplayModeKHR *>(pMode)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayModeKHR>::type
+    PhysicalDevice::createDisplayModeKHR(
+        VULKAN_HPP_NAMESPACE::DisplayKHR display,
+        const DisplayModeCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayModeKHR mode;
+  Result result = static_cast<Result>(d.vkCreateDisplayModeKHR(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayModeCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDisplayModeKHR *>(&mode)));
+  return createResultValue(result, mode,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::createDisplayModeKHR");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayModeKHR, Dispatch>>::type
+    PhysicalDevice::createDisplayModeKHRUnique(
+        VULKAN_HPP_NAMESPACE::DisplayKHR display,
+        const DisplayModeCreateInfoKHR &createInfo,
+        Optional<const AllocationCallbacks> allocator,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayModeKHR mode;
+  Result result = static_cast<Result>(d.vkCreateDisplayModeKHR(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display),
+      reinterpret_cast<const VkDisplayModeCreateInfoKHR *>(&createInfo),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+          static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(
+              allocator)),
+      reinterpret_cast<VkDisplayModeKHR *>(&mode)));
+  ObjectDestroy<PhysicalDevice, Dispatch> deleter(*this, allocator, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DisplayModeKHR, Dispatch>(
+      result, mode,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::createDisplayModeKHRUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::enumerateDeviceExtensionProperties(
+    const char *pLayerName, uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::ExtensionProperties *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumerateDeviceExtensionProperties(
+      m_physicalDevice, pLayerName, pPropertyCount,
+      reinterpret_cast<VkExtensionProperties *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename ExtensionPropertiesAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+PhysicalDevice::enumerateDeviceExtensionProperties(
+    Optional<const std::string> layerName, Dispatch const &d) const {
+  std::vector<ExtensionProperties, ExtensionPropertiesAllocator> properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumerateDeviceExtensionProperties(
+        m_physicalDevice, layerName ? layerName->c_str() : nullptr,
+        &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateDeviceExtensionProperties(
+          m_physicalDevice, layerName ? layerName->c_str() : nullptr,
+          &propertyCount,
+          reinterpret_cast<VkExtensionProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(
+      result, properties,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::enumerateDeviceExtensionProperties");
+}
+
+template <typename ExtensionPropertiesAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, ExtensionProperties>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<ExtensionProperties, ExtensionPropertiesAllocator>>::type
+PhysicalDevice::enumerateDeviceExtensionProperties(
+    Optional<const std::string> layerName,
+    ExtensionPropertiesAllocator &extensionPropertiesAllocator,
+    Dispatch const &d) const {
+  std::vector<ExtensionProperties, ExtensionPropertiesAllocator> properties(
+      extensionPropertiesAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumerateDeviceExtensionProperties(
+        m_physicalDevice, layerName ? layerName->c_str() : nullptr,
+        &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateDeviceExtensionProperties(
+          m_physicalDevice, layerName ? layerName->c_str() : nullptr,
+          &propertyCount,
+          reinterpret_cast<VkExtensionProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(
+      result, properties,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::enumerateDeviceExtensionProperties");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::enumerateDeviceLayerProperties(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::LayerProperties *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkEnumerateDeviceLayerProperties(
+      m_physicalDevice, pPropertyCount,
+      reinterpret_cast<VkLayerProperties *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename LayerPropertiesAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+PhysicalDevice::enumerateDeviceLayerProperties(Dispatch const &d) const {
+  std::vector<LayerProperties, LayerPropertiesAllocator> properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumerateDeviceLayerProperties(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateDeviceLayerProperties(
+          m_physicalDevice, &propertyCount,
+          reinterpret_cast<VkLayerProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::enumerateDeviceLayerProperties");
+}
+
+template <typename LayerPropertiesAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, LayerProperties>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<LayerProperties, LayerPropertiesAllocator>>::type
+PhysicalDevice::enumerateDeviceLayerProperties(
+    LayerPropertiesAllocator &layerPropertiesAllocator,
+    Dispatch const &d) const {
+  std::vector<LayerProperties, LayerPropertiesAllocator> properties(
+      layerPropertiesAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkEnumerateDeviceLayerProperties(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkEnumerateDeviceLayerProperties(
+          m_physicalDevice, &propertyCount,
+          reinterpret_cast<VkLayerProperties *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::enumerateDeviceLayerProperties");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
+    uint32_t queueFamilyIndex, uint32_t *pCounterCount,
+    VULKAN_HPP_NAMESPACE::PerformanceCounterKHR *pCounters,
+    VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR
+        *pCounterDescriptions,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+          m_physicalDevice, queueFamilyIndex, pCounterCount,
+          reinterpret_cast<VkPerformanceCounterKHR *>(pCounters),
+          reinterpret_cast<VkPerformanceCounterDescriptionKHR *>(
+              pCounterDescriptions)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Allocator, typename Dispatch>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
+    PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
+        uint32_t queueFamilyIndex,
+        ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const &counters,
+        Dispatch const &d) const {
+  std::vector<PerformanceCounterDescriptionKHR, Allocator> counterDescriptions;
+  uint32_t counterCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+            m_physicalDevice, queueFamilyIndex, counters.size(),
+            reinterpret_cast<VkPerformanceCounterKHR *>(counters.data()),
+            nullptr));
+    if ((result == Result::eSuccess) && counterCount) {
+      counterDescriptions.resize(counterCount);
+      result = static_cast<Result>(
+          d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+              m_physicalDevice, queueFamilyIndex, counters.size(),
+              reinterpret_cast<VkPerformanceCounterKHR *>(counters.data()),
+              reinterpret_cast<VkPerformanceCounterDescriptionKHR *>(
+                  counterDescriptions.data())));
+    }
+  } while (result == Result::eIncomplete);
+  if (result == Result::eSuccess) {
+    VULKAN_HPP_ASSERT(counterCount <= counterDescriptions.size());
+    counterDescriptions.resize(counterCount);
+  }
+  return createResultValue(
+      result, counterDescriptions,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR");
+}
+
+template <typename Allocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           PerformanceCounterDescriptionKHR>::value,
+              int>::type>
+VULKAN_HPP_DEPRECATED(
+    "This function is deprecated. Use one of the other flavours of it.")
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PerformanceCounterDescriptionKHR, Allocator>>::type
+    PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
+        uint32_t queueFamilyIndex,
+        ArrayProxy<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> const &counters,
+        Allocator const &vectorAllocator, Dispatch const &d) const {
+  std::vector<PerformanceCounterDescriptionKHR, Allocator> counterDescriptions(
+      vectorAllocator);
+  uint32_t counterCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+            m_physicalDevice, queueFamilyIndex, counters.size(),
+            reinterpret_cast<VkPerformanceCounterKHR *>(counters.data()),
+            nullptr));
+    if ((result == Result::eSuccess) && counterCount) {
+      counterDescriptions.resize(counterCount);
+      result = static_cast<Result>(
+          d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+              m_physicalDevice, queueFamilyIndex, counters.size(),
+              reinterpret_cast<VkPerformanceCounterKHR *>(counters.data()),
+              reinterpret_cast<VkPerformanceCounterDescriptionKHR *>(
+                  counterDescriptions.data())));
+    }
+  } while (result == Result::eIncomplete);
+  if (result == Result::eSuccess) {
+    VULKAN_HPP_ASSERT(counterCount <= counterDescriptions.size());
+    counterDescriptions.resize(counterCount);
+  }
+  return createResultValue(
+      result, counterDescriptions,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR");
+}
+
+template <typename PerformanceCounterKHRAllocator,
+          typename PerformanceCounterDescriptionKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<
+    std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
+    std::vector<PerformanceCounterDescriptionKHR,
+                PerformanceCounterDescriptionKHRAllocator>>>::type
+PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
+    uint32_t queueFamilyIndex, Dispatch const &d) const {
+  std::pair<std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
+            std::vector<PerformanceCounterDescriptionKHR,
+                        PerformanceCounterDescriptionKHRAllocator>>
+      data;
+  std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator> &counters =
+      data.first;
+  std::vector<PerformanceCounterDescriptionKHR,
+              PerformanceCounterDescriptionKHRAllocator> &counterDescriptions =
+      data.second;
+  uint32_t counterCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+            m_physicalDevice, queueFamilyIndex, &counterCount, nullptr,
+            nullptr));
+    if ((result == Result::eSuccess) && counterCount) {
+      counters.resize(counterCount);
+      counterDescriptions.resize(counterCount);
+      result = static_cast<Result>(
+          d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+              m_physicalDevice, queueFamilyIndex, &counterCount,
+              reinterpret_cast<VkPerformanceCounterKHR *>(counters.data()),
+              reinterpret_cast<VkPerformanceCounterDescriptionKHR *>(
+                  counterDescriptions.data())));
+      VULKAN_HPP_ASSERT(counterCount <= counters.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (counterCount < counters.size())) {
+    counters.resize(counterCount);
+    counterDescriptions.resize(counterCount);
+  }
+  return createResultValue(
+      result, data,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR");
+}
+
+template <
+    typename PerformanceCounterKHRAllocator,
+    typename PerformanceCounterDescriptionKHRAllocator, typename Dispatch,
+    typename B1, typename B2,
+    typename std::enable_if<
+        std::is_same<typename B1::value_type, PerformanceCounterKHR>::value &&
+            std::is_same<typename B2::value_type,
+                         PerformanceCounterDescriptionKHR>::value,
+        int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<
+    std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
+    std::vector<PerformanceCounterDescriptionKHR,
+                PerformanceCounterDescriptionKHRAllocator>>>::type
+PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(
+    uint32_t queueFamilyIndex,
+    PerformanceCounterKHRAllocator &performanceCounterKHRAllocator,
+    PerformanceCounterDescriptionKHRAllocator
+        &performanceCounterDescriptionKHRAllocator,
+    Dispatch const &d) const {
+  std::pair<std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
+            std::vector<PerformanceCounterDescriptionKHR,
+                        PerformanceCounterDescriptionKHRAllocator>>
+      data(std::piecewise_construct,
+           std::forward_as_tuple(performanceCounterKHRAllocator),
+           std::forward_as_tuple(performanceCounterDescriptionKHRAllocator));
+  std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator> &counters =
+      data.first;
+  std::vector<PerformanceCounterDescriptionKHR,
+              PerformanceCounterDescriptionKHRAllocator> &counterDescriptions =
+      data.second;
+  uint32_t counterCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+            m_physicalDevice, queueFamilyIndex, &counterCount, nullptr,
+            nullptr));
+    if ((result == Result::eSuccess) && counterCount) {
+      counters.resize(counterCount);
+      counterDescriptions.resize(counterCount);
+      result = static_cast<Result>(
+          d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+              m_physicalDevice, queueFamilyIndex, &counterCount,
+              reinterpret_cast<VkPerformanceCounterKHR *>(counters.data()),
+              reinterpret_cast<VkPerformanceCounterDescriptionKHR *>(
+                  counterDescriptions.data())));
+      VULKAN_HPP_ASSERT(counterCount <= counters.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (counterCount < counters.size())) {
+    counters.resize(counterCount);
+    counterDescriptions.resize(counterCount);
+  }
+  return createResultValue(
+      result, data,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayModeProperties2KHR(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display, uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDisplayModeProperties2KHR(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display), pPropertyCount,
+      reinterpret_cast<VkDisplayModeProperties2KHR *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename DisplayModeProperties2KHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type
+PhysicalDevice::getDisplayModeProperties2KHR(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const &d) const {
+  std::vector<DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>
+      properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetDisplayModeProperties2KHR(
+        m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+        nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetDisplayModeProperties2KHR(
+          m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+          reinterpret_cast<VkDisplayModeProperties2KHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayModeProperties2KHR");
+}
+
+template <
+    typename DisplayModeProperties2KHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, DisplayModeProperties2KHR>::value,
+        int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type
+PhysicalDevice::getDisplayModeProperties2KHR(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display,
+    DisplayModeProperties2KHRAllocator &displayModeProperties2KHRAllocator,
+    Dispatch const &d) const {
+  std::vector<DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>
+      properties(displayModeProperties2KHRAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetDisplayModeProperties2KHR(
+        m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+        nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetDisplayModeProperties2KHR(
+          m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+          reinterpret_cast<VkDisplayModeProperties2KHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayModeProperties2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayModePropertiesKHR(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display, uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDisplayModePropertiesKHR(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display), pPropertyCount,
+      reinterpret_cast<VkDisplayModePropertiesKHR *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename DisplayModePropertiesKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type
+PhysicalDevice::getDisplayModePropertiesKHR(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const &d) const {
+  std::vector<DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>
+      properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetDisplayModePropertiesKHR(
+        m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+        nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetDisplayModePropertiesKHR(
+          m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+          reinterpret_cast<VkDisplayModePropertiesKHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayModePropertiesKHR");
+}
+
+template <
+    typename DisplayModePropertiesKHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, DisplayModePropertiesKHR>::value,
+        int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type
+PhysicalDevice::getDisplayModePropertiesKHR(
+    VULKAN_HPP_NAMESPACE::DisplayKHR display,
+    DisplayModePropertiesKHRAllocator &displayModePropertiesKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>
+      properties(displayModePropertiesKHRAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetDisplayModePropertiesKHR(
+        m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+        nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetDisplayModePropertiesKHR(
+          m_physicalDevice, static_cast<VkDisplayKHR>(display), &propertyCount,
+          reinterpret_cast<VkDisplayModePropertiesKHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayModePropertiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayPlaneCapabilities2KHR(
+    const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR *pDisplayPlaneInfo,
+    VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR *pCapabilities,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDisplayPlaneCapabilities2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkDisplayPlaneInfo2KHR *>(pDisplayPlaneInfo),
+      reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>(pCapabilities)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR>::type
+    PhysicalDevice::getDisplayPlaneCapabilities2KHR(
+        const DisplayPlaneInfo2KHR &displayPlaneInfo, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR capabilities;
+  Result result = static_cast<Result>(d.vkGetDisplayPlaneCapabilities2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkDisplayPlaneInfo2KHR *>(&displayPlaneInfo),
+      reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>(&capabilities)));
+  return createResultValue(result, capabilities,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPlaneCapabilities2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayPlaneCapabilitiesKHR(
+    VULKAN_HPP_NAMESPACE::DisplayModeKHR mode, uint32_t planeIndex,
+    VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR *pCapabilities,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDisplayPlaneCapabilitiesKHR(
+      m_physicalDevice, static_cast<VkDisplayModeKHR>(mode), planeIndex,
+      reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>(pCapabilities)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR>::type
+    PhysicalDevice::getDisplayPlaneCapabilitiesKHR(
+        VULKAN_HPP_NAMESPACE::DisplayModeKHR mode, uint32_t planeIndex,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities;
+  Result result = static_cast<Result>(d.vkGetDisplayPlaneCapabilitiesKHR(
+      m_physicalDevice, static_cast<VkDisplayModeKHR>(mode), planeIndex,
+      reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>(&capabilities)));
+  return createResultValue(result, capabilities,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPlaneCapabilitiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR(
+    uint32_t planeIndex, uint32_t *pDisplayCount,
+    VULKAN_HPP_NAMESPACE::DisplayKHR *pDisplays,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetDisplayPlaneSupportedDisplaysKHR(
+      m_physicalDevice, planeIndex, pDisplayCount,
+      reinterpret_cast<VkDisplayKHR *>(pDisplays)));
+}
+
+#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 {
+  std::vector<DisplayKHR, DisplayKHRAllocator> displays;
+  uint32_t displayCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetDisplayPlaneSupportedDisplaysKHR(
+        m_physicalDevice, planeIndex, &displayCount, nullptr));
+    if ((result == Result::eSuccess) && displayCount) {
+      displays.resize(displayCount);
+      result = static_cast<Result>(d.vkGetDisplayPlaneSupportedDisplaysKHR(
+          m_physicalDevice, planeIndex, &displayCount,
+          reinterpret_cast<VkDisplayKHR *>(displays.data())));
+      VULKAN_HPP_ASSERT(displayCount <= displays.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (displayCount < displays.size())) {
+    displays.resize(displayCount);
+  }
+  return createResultValue(
+      result, displays,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR");
+}
+
+template <
+    typename DisplayKHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, DisplayKHR>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<DisplayKHR, DisplayKHRAllocator>>::type
+    PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR(
+        uint32_t planeIndex, DisplayKHRAllocator &displayKHRAllocator,
+        Dispatch const &d) const {
+  std::vector<DisplayKHR, DisplayKHRAllocator> displays(displayKHRAllocator);
+  uint32_t displayCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetDisplayPlaneSupportedDisplaysKHR(
+        m_physicalDevice, planeIndex, &displayCount, nullptr));
+    if ((result == Result::eSuccess) && displayCount) {
+      displays.resize(displayCount);
+      result = static_cast<Result>(d.vkGetDisplayPlaneSupportedDisplaysKHR(
+          m_physicalDevice, planeIndex, &displayCount,
+          reinterpret_cast<VkDisplayKHR *>(displays.data())));
+      VULKAN_HPP_ASSERT(displayCount <= displays.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (displayCount < displays.size())) {
+    displays.resize(displayCount);
+  }
+  return createResultValue(
+      result, displays,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getCalibrateableTimeDomainsEXT(
+    uint32_t *pTimeDomainCount,
+    VULKAN_HPP_NAMESPACE::TimeDomainEXT *pTimeDomains,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+      m_physicalDevice, pTimeDomainCount,
+      reinterpret_cast<VkTimeDomainEXT *>(pTimeDomains)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename TimeDomainEXTAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<TimeDomainEXT, TimeDomainEXTAllocator>>::type
+PhysicalDevice::getCalibrateableTimeDomainsEXT(Dispatch const &d) const {
+  std::vector<TimeDomainEXT, TimeDomainEXTAllocator> timeDomains;
+  uint32_t timeDomainCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+            m_physicalDevice, &timeDomainCount, nullptr));
+    if ((result == Result::eSuccess) && timeDomainCount) {
+      timeDomains.resize(timeDomainCount);
+      result =
+          static_cast<Result>(d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+              m_physicalDevice, &timeDomainCount,
+              reinterpret_cast<VkTimeDomainEXT *>(timeDomains.data())));
+      VULKAN_HPP_ASSERT(timeDomainCount <= timeDomains.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (timeDomainCount < timeDomains.size())) {
+    timeDomains.resize(timeDomainCount);
+  }
+  return createResultValue(result, timeDomains,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getCalibrateableTimeDomainsEXT");
+}
+
+template <
+    typename TimeDomainEXTAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, TimeDomainEXT>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<TimeDomainEXT, TimeDomainEXTAllocator>>::type
+PhysicalDevice::getCalibrateableTimeDomainsEXT(
+    TimeDomainEXTAllocator &timeDomainEXTAllocator, Dispatch const &d) const {
+  std::vector<TimeDomainEXT, TimeDomainEXTAllocator> timeDomains(
+      timeDomainEXTAllocator);
+  uint32_t timeDomainCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+            m_physicalDevice, &timeDomainCount, nullptr));
+    if ((result == Result::eSuccess) && timeDomainCount) {
+      timeDomains.resize(timeDomainCount);
+      result =
+          static_cast<Result>(d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+              m_physicalDevice, &timeDomainCount,
+              reinterpret_cast<VkTimeDomainEXT *>(timeDomains.data())));
+      VULKAN_HPP_ASSERT(timeDomainCount <= timeDomains.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (timeDomainCount < timeDomains.size())) {
+    timeDomains.resize(timeDomainCount);
+  }
+  return createResultValue(result, timeDomains,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getCalibrateableTimeDomainsEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getCooperativeMatrixPropertiesNV(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+      m_physicalDevice, pPropertyCount,
+      reinterpret_cast<VkCooperativeMatrixPropertiesNV *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename CooperativeMatrixPropertiesNVAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<CooperativeMatrixPropertiesNV,
+                CooperativeMatrixPropertiesNVAllocator>>::type
+PhysicalDevice::getCooperativeMatrixPropertiesNV(Dispatch const &d) const {
+  std::vector<CooperativeMatrixPropertiesNV,
+              CooperativeMatrixPropertiesNVAllocator>
+      properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+            m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(
+          d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+              m_physicalDevice, &propertyCount,
+              reinterpret_cast<VkCooperativeMatrixPropertiesNV *>(
+                  properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(
+      result, properties,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getCooperativeMatrixPropertiesNV");
+}
+
+template <
+    typename CooperativeMatrixPropertiesNVAllocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         CooperativeMatrixPropertiesNV>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<CooperativeMatrixPropertiesNV,
+                CooperativeMatrixPropertiesNVAllocator>>::type
+PhysicalDevice::getCooperativeMatrixPropertiesNV(
+    CooperativeMatrixPropertiesNVAllocator
+        &cooperativeMatrixPropertiesNVAllocator,
+    Dispatch const &d) const {
+  std::vector<CooperativeMatrixPropertiesNV,
+              CooperativeMatrixPropertiesNVAllocator>
+      properties(cooperativeMatrixPropertiesNVAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+            m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(
+          d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+              m_physicalDevice, &propertyCount,
+              reinterpret_cast<VkCooperativeMatrixPropertiesNV *>(
+                  properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(
+      result, properties,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getCooperativeMatrixPropertiesNV");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT(
+    uint32_t queueFamilyIndex, IDirectFB *dfb,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Bool32>(
+      d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
+          m_physicalDevice, queueFamilyIndex, dfb));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT(
+    uint32_t queueFamilyIndex, IDirectFB &dfb,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
+      m_physicalDevice, queueFamilyIndex, &dfb);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayPlaneProperties2KHR(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
+      m_physicalDevice, pPropertyCount,
+      reinterpret_cast<VkDisplayPlaneProperties2KHR *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename DisplayPlaneProperties2KHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type
+PhysicalDevice::getDisplayPlaneProperties2KHR(Dispatch const &d) const {
+  std::vector<DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>
+      properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
+            m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result =
+          static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
+              m_physicalDevice, &propertyCount,
+              reinterpret_cast<VkDisplayPlaneProperties2KHR *>(
+                  properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPlaneProperties2KHR");
+}
+
+template <
+    typename DisplayPlaneProperties2KHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, DisplayPlaneProperties2KHR>::value,
+        int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type
+PhysicalDevice::getDisplayPlaneProperties2KHR(
+    DisplayPlaneProperties2KHRAllocator &displayPlaneProperties2KHRAllocator,
+    Dispatch const &d) const {
+  std::vector<DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>
+      properties(displayPlaneProperties2KHRAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result =
+        static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
+            m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result =
+          static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
+              m_physicalDevice, &propertyCount,
+              reinterpret_cast<VkDisplayPlaneProperties2KHR *>(
+                  properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPlaneProperties2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayPlanePropertiesKHR(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
+      m_physicalDevice, pPropertyCount,
+      reinterpret_cast<VkDisplayPlanePropertiesKHR *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename DisplayPlanePropertiesKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type
+PhysicalDevice::getDisplayPlanePropertiesKHR(Dispatch const &d) const {
+  std::vector<DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>
+      properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result =
+          static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
+              m_physicalDevice, &propertyCount,
+              reinterpret_cast<VkDisplayPlanePropertiesKHR *>(
+                  properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPlanePropertiesKHR");
+}
+
+template <
+    typename DisplayPlanePropertiesKHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, DisplayPlanePropertiesKHR>::value,
+        int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<
+    DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type
+PhysicalDevice::getDisplayPlanePropertiesKHR(
+    DisplayPlanePropertiesKHRAllocator &displayPlanePropertiesKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>
+      properties(displayPlanePropertiesKHRAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result =
+          static_cast<Result>(d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
+              m_physicalDevice, &propertyCount,
+              reinterpret_cast<VkDisplayPlanePropertiesKHR *>(
+                  properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPlanePropertiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayProperties2KHR(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::DisplayProperties2KHR *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceDisplayProperties2KHR(
+      m_physicalDevice, pPropertyCount,
+      reinterpret_cast<VkDisplayProperties2KHR *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename DisplayProperties2KHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type
+PhysicalDevice::getDisplayProperties2KHR(Dispatch const &d) const {
+  std::vector<DisplayProperties2KHR, DisplayProperties2KHRAllocator> properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayProperties2KHR(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayProperties2KHR(
+          m_physicalDevice, &propertyCount,
+          reinterpret_cast<VkDisplayProperties2KHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayProperties2KHR");
+}
+
+template <
+    typename DisplayProperties2KHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, DisplayProperties2KHR>::value,
+        int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type
+PhysicalDevice::getDisplayProperties2KHR(
+    DisplayProperties2KHRAllocator &displayProperties2KHRAllocator,
+    Dispatch const &d) const {
+  std::vector<DisplayProperties2KHR, DisplayProperties2KHRAllocator> properties(
+      displayProperties2KHRAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayProperties2KHR(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayProperties2KHR(
+          m_physicalDevice, &propertyCount,
+          reinterpret_cast<VkDisplayProperties2KHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayProperties2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getDisplayPropertiesKHR(
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceDisplayPropertiesKHR(
+      m_physicalDevice, pPropertyCount,
+      reinterpret_cast<VkDisplayPropertiesKHR *>(pProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename DisplayPropertiesKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type
+PhysicalDevice::getDisplayPropertiesKHR(Dispatch const &d) const {
+  std::vector<DisplayPropertiesKHR, DisplayPropertiesKHRAllocator> properties;
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayPropertiesKHR(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayPropertiesKHR(
+          m_physicalDevice, &propertyCount,
+          reinterpret_cast<VkDisplayPropertiesKHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPropertiesKHR");
+}
+
+template <typename DisplayPropertiesKHRAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, DisplayPropertiesKHR>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type
+PhysicalDevice::getDisplayPropertiesKHR(
+    DisplayPropertiesKHRAllocator &displayPropertiesKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<DisplayPropertiesKHR, DisplayPropertiesKHRAllocator> properties(
+      displayPropertiesKHRAllocator);
+  uint32_t propertyCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayPropertiesKHR(
+        m_physicalDevice, &propertyCount, nullptr));
+    if ((result == Result::eSuccess) && propertyCount) {
+      properties.resize(propertyCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceDisplayPropertiesKHR(
+          m_physicalDevice, &propertyCount,
+          reinterpret_cast<VkDisplayPropertiesKHR *>(properties.data())));
+      VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (propertyCount < properties.size())) {
+    properties.resize(propertyCount);
+  }
+  return createResultValue(result, properties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getDisplayPropertiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferProperties(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo
+        *pExternalBufferInfo,
+    VULKAN_HPP_NAMESPACE::ExternalBufferProperties *pExternalBufferProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceExternalBufferProperties(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>(
+          pExternalBufferInfo),
+      reinterpret_cast<VkExternalBufferProperties *>(
+          pExternalBufferProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties
+    PhysicalDevice::getExternalBufferProperties(
+        const PhysicalDeviceExternalBufferInfo &externalBufferInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties;
+  d.vkGetPhysicalDeviceExternalBufferProperties(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>(
+          &externalBufferInfo),
+      reinterpret_cast<VkExternalBufferProperties *>(
+          &externalBufferProperties));
+  return externalBufferProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferPropertiesKHR(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo
+        *pExternalBufferInfo,
+    VULKAN_HPP_NAMESPACE::ExternalBufferProperties *pExternalBufferProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceExternalBufferPropertiesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>(
+          pExternalBufferInfo),
+      reinterpret_cast<VkExternalBufferProperties *>(
+          pExternalBufferProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties
+    PhysicalDevice::getExternalBufferPropertiesKHR(
+        const PhysicalDeviceExternalBufferInfo &externalBufferInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties;
+  d.vkGetPhysicalDeviceExternalBufferPropertiesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>(
+          &externalBufferInfo),
+      reinterpret_cast<VkExternalBufferProperties *>(
+          &externalBufferProperties));
+  return externalBufferProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getExternalFenceProperties(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo
+        *pExternalFenceInfo,
+    VULKAN_HPP_NAMESPACE::ExternalFenceProperties *pExternalFenceProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceExternalFenceProperties(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>(
+          pExternalFenceInfo),
+      reinterpret_cast<VkExternalFenceProperties *>(pExternalFenceProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties
+    PhysicalDevice::getExternalFenceProperties(
+        const PhysicalDeviceExternalFenceInfo &externalFenceInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties;
+  d.vkGetPhysicalDeviceExternalFenceProperties(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>(
+          &externalFenceInfo),
+      reinterpret_cast<VkExternalFenceProperties *>(&externalFenceProperties));
+  return externalFenceProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getExternalFencePropertiesKHR(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo
+        *pExternalFenceInfo,
+    VULKAN_HPP_NAMESPACE::ExternalFenceProperties *pExternalFenceProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceExternalFencePropertiesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>(
+          pExternalFenceInfo),
+      reinterpret_cast<VkExternalFenceProperties *>(pExternalFenceProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties
+    PhysicalDevice::getExternalFencePropertiesKHR(
+        const PhysicalDeviceExternalFenceInfo &externalFenceInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties;
+  d.vkGetPhysicalDeviceExternalFencePropertiesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>(
+          &externalFenceInfo),
+      reinterpret_cast<VkExternalFenceProperties *>(&externalFenceProperties));
+  return externalFenceProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getExternalImageFormatPropertiesNV(
+    VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+    VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+    VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+    VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
+    VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType,
+    VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV
+        *pExternalImageFormatProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
+          m_physicalDevice, static_cast<VkFormat>(format),
+          static_cast<VkImageType>(type), static_cast<VkImageTiling>(tiling),
+          static_cast<VkImageUsageFlags>(usage),
+          static_cast<VkImageCreateFlags>(flags),
+          static_cast<VkExternalMemoryHandleTypeFlagsNV>(externalHandleType),
+          reinterpret_cast<VkExternalImageFormatPropertiesNV *>(
+              pExternalImageFormatProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV>::type
+    PhysicalDevice::getExternalImageFormatPropertiesNV(
+        VULKAN_HPP_NAMESPACE::Format format,
+        VULKAN_HPP_NAMESPACE::ImageType type,
+        VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+        VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+        VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
+        VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV
+            externalHandleType,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV
+      externalImageFormatProperties;
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
+          m_physicalDevice, static_cast<VkFormat>(format),
+          static_cast<VkImageType>(type), static_cast<VkImageTiling>(tiling),
+          static_cast<VkImageUsageFlags>(usage),
+          static_cast<VkImageCreateFlags>(flags),
+          static_cast<VkExternalMemoryHandleTypeFlagsNV>(externalHandleType),
+          reinterpret_cast<VkExternalImageFormatPropertiesNV *>(
+              &externalImageFormatProperties)));
+  return createResultValue(
+      result, externalImageFormatProperties,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getExternalImageFormatPropertiesNV");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphoreProperties(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo
+        *pExternalSemaphoreInfo,
+    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+        *pExternalSemaphoreProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceExternalSemaphoreProperties(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>(
+          pExternalSemaphoreInfo),
+      reinterpret_cast<VkExternalSemaphoreProperties *>(
+          pExternalSemaphoreProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+    PhysicalDevice::getExternalSemaphoreProperties(
+        const PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties;
+  d.vkGetPhysicalDeviceExternalSemaphoreProperties(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>(
+          &externalSemaphoreInfo),
+      reinterpret_cast<VkExternalSemaphoreProperties *>(
+          &externalSemaphoreProperties));
+  return externalSemaphoreProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphorePropertiesKHR(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo
+        *pExternalSemaphoreInfo,
+    VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+        *pExternalSemaphoreProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>(
+          pExternalSemaphoreInfo),
+      reinterpret_cast<VkExternalSemaphoreProperties *>(
+          pExternalSemaphoreProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
+    PhysicalDevice::getExternalSemaphorePropertiesKHR(
+        const PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties;
+  d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>(
+          &externalSemaphoreInfo),
+      reinterpret_cast<VkExternalSemaphoreProperties *>(
+          &externalSemaphoreProperties));
+  return externalSemaphoreProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getFeatures(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pFeatures,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceFeatures(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures *>(pFeatures));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures
+    PhysicalDevice::getFeatures(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features;
+  d.vkGetPhysicalDeviceFeatures(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures *>(&features));
+  return features;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 *pFeatures,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceFeatures2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures2 *>(pFeatures));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
+    PhysicalDevice::getFeatures2(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features;
+  d.vkGetPhysicalDeviceFeatures2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
+  return features;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+PhysicalDevice::getFeatures2(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 &features =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>();
+  d.vkGetPhysicalDeviceFeatures2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2KHR(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 *pFeatures,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceFeatures2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures2 *>(pFeatures));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
+    PhysicalDevice::getFeatures2KHR(Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features;
+  d.vkGetPhysicalDeviceFeatures2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
+  return features;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+PhysicalDevice::getFeatures2KHR(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 &features =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>();
+  d.vkGetPhysicalDeviceFeatures2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties(
+    VULKAN_HPP_NAMESPACE::Format format,
+    VULKAN_HPP_NAMESPACE::FormatProperties *pFormatProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties *>(pFormatProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties
+PhysicalDevice::getFormatProperties(VULKAN_HPP_NAMESPACE::Format format,
+                                    Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::FormatProperties formatProperties;
+  d.vkGetPhysicalDeviceFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties *>(&formatProperties));
+  return formatProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties2(
+    VULKAN_HPP_NAMESPACE::Format format,
+    VULKAN_HPP_NAMESPACE::FormatProperties2 *pFormatProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceFormatProperties2(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties2 *>(pFormatProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
+PhysicalDevice::getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format,
+                                     Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties;
+  d.vkGetPhysicalDeviceFormatProperties2(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
+  return formatProperties;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+PhysicalDevice::getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format,
+                                     Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::FormatProperties2 &formatProperties =
+      structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>();
+  d.vkGetPhysicalDeviceFormatProperties2(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties2KHR(
+    VULKAN_HPP_NAMESPACE::Format format,
+    VULKAN_HPP_NAMESPACE::FormatProperties2 *pFormatProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceFormatProperties2KHR(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties2 *>(pFormatProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
+PhysicalDevice::getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format,
+                                        Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties;
+  d.vkGetPhysicalDeviceFormatProperties2KHR(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
+  return formatProperties;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+PhysicalDevice::getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format,
+                                        Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::FormatProperties2 &formatProperties =
+      structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>();
+  d.vkGetPhysicalDeviceFormatProperties2KHR(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getFragmentShadingRatesKHR(
+    uint32_t *pFragmentShadingRateCount,
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR
+        *pFragmentShadingRates,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceFragmentShadingRatesKHR(
+      m_physicalDevice, pFragmentShadingRateCount,
+      reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>(
+          pFragmentShadingRates)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PhysicalDeviceFragmentShadingRateKHRAllocator,
+          typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceFragmentShadingRateKHR,
+                PhysicalDeviceFragmentShadingRateKHRAllocator>>::type
+PhysicalDevice::getFragmentShadingRatesKHR(Dispatch const &d) const {
+  std::vector<PhysicalDeviceFragmentShadingRateKHR,
+              PhysicalDeviceFragmentShadingRateKHRAllocator>
+      fragmentShadingRates;
+  uint32_t fragmentShadingRateCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceFragmentShadingRatesKHR(
+        m_physicalDevice, &fragmentShadingRateCount, nullptr));
+    if ((result == Result::eSuccess) && fragmentShadingRateCount) {
+      fragmentShadingRates.resize(fragmentShadingRateCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceFragmentShadingRatesKHR(
+          m_physicalDevice, &fragmentShadingRateCount,
+          reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>(
+              fragmentShadingRates.data())));
+      VULKAN_HPP_ASSERT(fragmentShadingRateCount <=
+                        fragmentShadingRates.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (fragmentShadingRateCount < fragmentShadingRates.size())) {
+    fragmentShadingRates.resize(fragmentShadingRateCount);
+  }
+  return createResultValue(result, fragmentShadingRates,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getFragmentShadingRatesKHR");
+}
+
+template <typename PhysicalDeviceFragmentShadingRateKHRAllocator,
+          typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           PhysicalDeviceFragmentShadingRateKHR>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceFragmentShadingRateKHR,
+                PhysicalDeviceFragmentShadingRateKHRAllocator>>::type
+PhysicalDevice::getFragmentShadingRatesKHR(
+    PhysicalDeviceFragmentShadingRateKHRAllocator
+        &physicalDeviceFragmentShadingRateKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<PhysicalDeviceFragmentShadingRateKHR,
+              PhysicalDeviceFragmentShadingRateKHRAllocator>
+      fragmentShadingRates(physicalDeviceFragmentShadingRateKHRAllocator);
+  uint32_t fragmentShadingRateCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceFragmentShadingRatesKHR(
+        m_physicalDevice, &fragmentShadingRateCount, nullptr));
+    if ((result == Result::eSuccess) && fragmentShadingRateCount) {
+      fragmentShadingRates.resize(fragmentShadingRateCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceFragmentShadingRatesKHR(
+          m_physicalDevice, &fragmentShadingRateCount,
+          reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>(
+              fragmentShadingRates.data())));
+      VULKAN_HPP_ASSERT(fragmentShadingRateCount <=
+                        fragmentShadingRates.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (fragmentShadingRateCount < fragmentShadingRates.size())) {
+    fragmentShadingRates.resize(fragmentShadingRateCount);
+  }
+  return createResultValue(result, fragmentShadingRates,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getFragmentShadingRatesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getImageFormatProperties(
+    VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+    VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+    VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+    VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
+    VULKAN_HPP_NAMESPACE::ImageFormatProperties *pImageFormatProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      static_cast<VkImageType>(type), static_cast<VkImageTiling>(tiling),
+      static_cast<VkImageUsageFlags>(usage),
+      static_cast<VkImageCreateFlags>(flags),
+      reinterpret_cast<VkImageFormatProperties *>(pImageFormatProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties>::type
+    PhysicalDevice::getImageFormatProperties(
+        VULKAN_HPP_NAMESPACE::Format format,
+        VULKAN_HPP_NAMESPACE::ImageType type,
+        VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+        VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+        VULKAN_HPP_NAMESPACE::ImageCreateFlags flags, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties;
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties(
+          m_physicalDevice, static_cast<VkFormat>(format),
+          static_cast<VkImageType>(type), static_cast<VkImageTiling>(tiling),
+          static_cast<VkImageUsageFlags>(usage),
+          static_cast<VkImageCreateFlags>(flags),
+          reinterpret_cast<VkImageFormatProperties *>(&imageFormatProperties)));
+  return createResultValue(result, imageFormatProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getImageFormatProperties");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getImageFormatProperties2(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2
+        *pImageFormatInfo,
+    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 *pImageFormatProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties2(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(
+          pImageFormatInfo),
+      reinterpret_cast<VkImageFormatProperties2 *>(pImageFormatProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
+    PhysicalDevice::getImageFormatProperties2(
+        const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties;
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties2(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(
+              &imageFormatInfo),
+          reinterpret_cast<VkImageFormatProperties2 *>(
+              &imageFormatProperties)));
+  return createResultValue(result, imageFormatProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getImageFormatProperties2");
+}
+
+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::getImageFormatProperties2(
+        const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+        Dispatch const &d) const {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::ImageFormatProperties2 &imageFormatProperties =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>();
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties2(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(
+              &imageFormatInfo),
+          reinterpret_cast<VkImageFormatProperties2 *>(
+              &imageFormatProperties)));
+  return createResultValue(result, structureChain,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getImageFormatProperties2");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getImageFormatProperties2KHR(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2
+        *pImageFormatInfo,
+    VULKAN_HPP_NAMESPACE::ImageFormatProperties2 *pImageFormatProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(
+          pImageFormatInfo),
+      reinterpret_cast<VkImageFormatProperties2 *>(pImageFormatProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type
+    PhysicalDevice::getImageFormatProperties2KHR(
+        const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties;
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties2KHR(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(
+              &imageFormatInfo),
+          reinterpret_cast<VkImageFormatProperties2 *>(
+              &imageFormatProperties)));
+  return createResultValue(result, imageFormatProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getImageFormatProperties2KHR");
+}
+
+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::getImageFormatProperties2KHR(
+        const PhysicalDeviceImageFormatInfo2 &imageFormatInfo,
+        Dispatch const &d) const {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::ImageFormatProperties2 &imageFormatProperties =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>();
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceImageFormatProperties2KHR(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(
+              &imageFormatInfo),
+          reinterpret_cast<VkImageFormatProperties2 *>(
+              &imageFormatProperties)));
+  return createResultValue(result, structureChain,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getImageFormatProperties2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties *pMemoryProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceMemoryProperties(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties *>(pMemoryProperties));
+}
+
+#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 {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties;
+  d.vkGetPhysicalDeviceMemoryProperties(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties *>(&memoryProperties));
+  return memoryProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties2(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 *pMemoryProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceMemoryProperties2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(pMemoryProperties));
+}
+
+#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 {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
+  d.vkGetPhysicalDeviceMemoryProperties2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
+  return memoryProperties;
+}
+
+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 {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 &memoryProperties =
+      structureChain.template get<
+          VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>();
+  d.vkGetPhysicalDeviceMemoryProperties2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties2KHR(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 *pMemoryProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceMemoryProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(pMemoryProperties));
+}
+
+#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 {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
+  d.vkGetPhysicalDeviceMemoryProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
+  return memoryProperties;
+}
+
+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 {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 &memoryProperties =
+      structureChain.template get<
+          VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>();
+  d.vkGetPhysicalDeviceMemoryProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getMultisamplePropertiesEXT(
+    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+    VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT *pMultisampleProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceMultisamplePropertiesEXT(
+      m_physicalDevice, static_cast<VkSampleCountFlagBits>(samples),
+      reinterpret_cast<VkMultisamplePropertiesEXT *>(pMultisampleProperties));
+}
+
+#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,
+        Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT multisampleProperties;
+  d.vkGetPhysicalDeviceMultisamplePropertiesEXT(
+      m_physicalDevice, static_cast<VkSampleCountFlagBits>(samples),
+      reinterpret_cast<VkMultisamplePropertiesEXT *>(&multisampleProperties));
+  return multisampleProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getPresentRectanglesKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface, uint32_t *pRectCount,
+    VULKAN_HPP_NAMESPACE::Rect2D *pRects,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDevicePresentRectanglesKHR(
+      m_physicalDevice, static_cast<VkSurfaceKHR>(surface), pRectCount,
+      reinterpret_cast<VkRect2D *>(pRects)));
+}
+
+#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 {
+  std::vector<Rect2D, Rect2DAllocator> rects;
+  uint32_t rectCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDevicePresentRectanglesKHR(
+        m_physicalDevice, static_cast<VkSurfaceKHR>(surface), &rectCount,
+        nullptr));
+    if ((result == Result::eSuccess) && rectCount) {
+      rects.resize(rectCount);
+      result = static_cast<Result>(d.vkGetPhysicalDevicePresentRectanglesKHR(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface), &rectCount,
+          reinterpret_cast<VkRect2D *>(rects.data())));
+      VULKAN_HPP_ASSERT(rectCount <= rects.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (rectCount < rects.size())) {
+    rects.resize(rectCount);
+  }
+  return createResultValue(result, rects,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getPresentRectanglesKHR");
+}
+
+template <typename Rect2DAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, Rect2D>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    typename ResultValueType<std::vector<Rect2D, Rect2DAllocator>>::type
+    PhysicalDevice::getPresentRectanglesKHR(
+        VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+        Rect2DAllocator &rect2DAllocator, Dispatch const &d) const {
+  std::vector<Rect2D, Rect2DAllocator> rects(rect2DAllocator);
+  uint32_t rectCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDevicePresentRectanglesKHR(
+        m_physicalDevice, static_cast<VkSurfaceKHR>(surface), &rectCount,
+        nullptr));
+    if ((result == Result::eSuccess) && rectCount) {
+      rects.resize(rectCount);
+      result = static_cast<Result>(d.vkGetPhysicalDevicePresentRectanglesKHR(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface), &rectCount,
+          reinterpret_cast<VkRect2D *>(rects.data())));
+      VULKAN_HPP_ASSERT(rectCount <= rects.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (rectCount < rects.size())) {
+    rects.resize(rectCount);
+  }
+  return createResultValue(result, rects,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getPresentRectanglesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getProperties(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceProperties(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties *>(pProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties
+    PhysicalDevice::getProperties(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties;
+  d.vkGetPhysicalDeviceProperties(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties *>(&properties));
+  return properties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getProperties2(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceProperties2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties2 *>(pProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
+    PhysicalDevice::getProperties2(Dispatch const &d) const
+    VULKAN_HPP_NOEXCEPT {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties;
+  d.vkGetPhysicalDeviceProperties2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
+  return properties;
+}
+
+template <typename X, typename Y, typename... Z, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
+PhysicalDevice::getProperties2(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 &properties =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>();
+  d.vkGetPhysicalDeviceProperties2(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getProperties2KHR(
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties2 *>(pProperties));
+}
+
+#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 {
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties;
+  d.vkGetPhysicalDeviceProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
+  return properties;
+}
+
+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 {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 &properties =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>();
+  d.vkGetPhysicalDeviceProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
+  return structureChain;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR(
+    const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR
+        *pPerformanceQueryCreateInfo,
+    uint32_t *pNumPasses, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>(
+          pPerformanceQueryCreateInfo),
+      pNumPasses);
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t
+PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR(
+    const QueryPoolPerformanceCreateInfoKHR &performanceQueryCreateInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  uint32_t numPasses;
+  d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>(
+          &performanceQueryCreateInfo),
+      &numPasses);
+  return numPasses;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties(
+    uint32_t *pQueueFamilyPropertyCount,
+    VULKAN_HPP_NAMESPACE::QueueFamilyProperties *pQueueFamilyProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceQueueFamilyProperties(
+      m_physicalDevice, pQueueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties *>(pQueueFamilyProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename QueueFamilyPropertiesAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    std::vector<QueueFamilyProperties, QueueFamilyPropertiesAllocator>
+    PhysicalDevice::getQueueFamilyProperties(Dispatch const &d) const {
+  std::vector<QueueFamilyProperties, QueueFamilyPropertiesAllocator>
+      queueFamilyProperties;
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  queueFamilyProperties.resize(queueFamilyPropertyCount);
+  d.vkGetPhysicalDeviceQueueFamilyProperties(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  return queueFamilyProperties;
+}
+
+template <
+    typename QueueFamilyPropertiesAllocator, typename Dispatch, 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,
+        Dispatch const &d) const {
+  std::vector<QueueFamilyProperties, QueueFamilyPropertiesAllocator>
+      queueFamilyProperties(queueFamilyPropertiesAllocator);
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  queueFamilyProperties.resize(queueFamilyPropertyCount);
+  d.vkGetPhysicalDeviceQueueFamilyProperties(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  return queueFamilyProperties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2(
+    uint32_t *pQueueFamilyPropertyCount,
+    VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 *pQueueFamilyProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, pQueueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(pQueueFamilyProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename QueueFamilyProperties2Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
+    PhysicalDevice::getQueueFamilyProperties2(Dispatch const &d) const {
+  std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
+      queueFamilyProperties;
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  queueFamilyProperties.resize(queueFamilyPropertyCount);
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  return queueFamilyProperties;
+}
+
+template <
+    typename QueueFamilyProperties2Allocator, typename Dispatch, 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,
+        Dispatch const &d) const {
+  std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
+      queueFamilyProperties(queueFamilyProperties2Allocator);
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  queueFamilyProperties.resize(queueFamilyPropertyCount);
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  return queueFamilyProperties;
+}
+
+template <typename StructureChain, typename StructureChainAllocator,
+          typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator>
+    PhysicalDevice::getQueueFamilyProperties2(Dispatch const &d) const {
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  std::vector<StructureChain, StructureChainAllocator> returnVector(
+      queueFamilyPropertyCount);
+  std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
+      queueFamilyProperties(queueFamilyPropertyCount);
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    queueFamilyProperties[i].pNext =
+        returnVector[i]
+            .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>()
+            .pNext;
+  }
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    returnVector[i]
+        .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() =
+        queueFamilyProperties[i];
+  }
+  return returnVector;
+}
+
+template <
+    typename StructureChain, typename StructureChainAllocator,
+    typename Dispatch, 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,
+        Dispatch const &d) const {
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  std::vector<StructureChain, StructureChainAllocator> returnVector(
+      queueFamilyPropertyCount, structureChainAllocator);
+  std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
+      queueFamilyProperties(queueFamilyPropertyCount);
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    queueFamilyProperties[i].pNext =
+        returnVector[i]
+            .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>()
+            .pNext;
+  }
+  d.vkGetPhysicalDeviceQueueFamilyProperties2(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    returnVector[i]
+        .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() =
+        queueFamilyProperties[i];
+  }
+  return returnVector;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2KHR(
+    uint32_t *pQueueFamilyPropertyCount,
+    VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 *pQueueFamilyProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, pQueueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(pQueueFamilyProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename QueueFamilyProperties2Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
+    std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
+    PhysicalDevice::getQueueFamilyProperties2KHR(Dispatch const &d) const {
+  std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
+      queueFamilyProperties;
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  queueFamilyProperties.resize(queueFamilyPropertyCount);
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  return queueFamilyProperties;
+}
+
+template <
+    typename QueueFamilyProperties2Allocator, typename Dispatch, 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,
+        Dispatch const &d) const {
+  std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
+      queueFamilyProperties(queueFamilyProperties2Allocator);
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  queueFamilyProperties.resize(queueFamilyPropertyCount);
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  return queueFamilyProperties;
+}
+
+template <typename StructureChain, typename StructureChainAllocator,
+          typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator>
+    PhysicalDevice::getQueueFamilyProperties2KHR(Dispatch const &d) const {
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  std::vector<StructureChain, StructureChainAllocator> returnVector(
+      queueFamilyPropertyCount);
+  std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
+      queueFamilyProperties(queueFamilyPropertyCount);
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    queueFamilyProperties[i].pNext =
+        returnVector[i]
+            .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>()
+            .pNext;
+  }
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    returnVector[i]
+        .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() =
+        queueFamilyProperties[i];
+  }
+  return returnVector;
+}
+
+template <
+    typename StructureChain, typename StructureChainAllocator,
+    typename Dispatch, 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,
+        Dispatch const &d) const {
+  uint32_t queueFamilyPropertyCount;
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount, nullptr);
+  std::vector<StructureChain, StructureChainAllocator> returnVector(
+      queueFamilyPropertyCount, structureChainAllocator);
+  std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
+      queueFamilyProperties(queueFamilyPropertyCount);
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    queueFamilyProperties[i].pNext =
+        returnVector[i]
+            .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>()
+            .pNext;
+  }
+  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+      m_physicalDevice, &queueFamilyPropertyCount,
+      reinterpret_cast<VkQueueFamilyProperties2 *>(
+          queueFamilyProperties.data()));
+  VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
+  for (uint32_t i = 0; i < queueFamilyPropertyCount; i++) {
+    returnVector[i]
+        .template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() =
+        queueFamilyProperties[i];
+  }
+  return returnVector;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getScreenPresentationSupportQNX(
+    uint32_t queueFamilyIndex, struct _screen_window *window,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Bool32>(d.vkGetPhysicalDeviceScreenPresentationSupportQNX(
+      m_physicalDevice, queueFamilyIndex, window));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getScreenPresentationSupportQNX(
+    uint32_t queueFamilyIndex, struct _screen_window &window,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetPhysicalDeviceScreenPresentationSupportQNX(
+      m_physicalDevice, queueFamilyIndex, &window);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties(
+    VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+    VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+    VULKAN_HPP_NAMESPACE::ImageTiling tiling, uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceSparseImageFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      static_cast<VkImageType>(type),
+      static_cast<VkSampleCountFlagBits>(samples),
+      static_cast<VkImageUsageFlags>(usage), static_cast<VkImageTiling>(tiling),
+      pPropertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties *>(pProperties));
+}
+
+#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, VULKAN_HPP_NAMESPACE::ImageType type,
+    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+    VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+    VULKAN_HPP_NAMESPACE::ImageTiling tiling, Dispatch const &d) const {
+  std::vector<SparseImageFormatProperties, SparseImageFormatPropertiesAllocator>
+      properties;
+  uint32_t propertyCount;
+  d.vkGetPhysicalDeviceSparseImageFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      static_cast<VkImageType>(type),
+      static_cast<VkSampleCountFlagBits>(samples),
+      static_cast<VkImageUsageFlags>(usage), static_cast<VkImageTiling>(tiling),
+      &propertyCount, nullptr);
+  properties.resize(propertyCount);
+  d.vkGetPhysicalDeviceSparseImageFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      static_cast<VkImageType>(type),
+      static_cast<VkSampleCountFlagBits>(samples),
+      static_cast<VkImageUsageFlags>(usage), static_cast<VkImageTiling>(tiling),
+      &propertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties *>(properties.data()));
+  VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+  return properties;
+}
+
+template <
+    typename SparseImageFormatPropertiesAllocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         SparseImageFormatProperties>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<
+    SparseImageFormatProperties, SparseImageFormatPropertiesAllocator>
+PhysicalDevice::getSparseImageFormatProperties(
+    VULKAN_HPP_NAMESPACE::Format format, VULKAN_HPP_NAMESPACE::ImageType type,
+    VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+    VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
+    VULKAN_HPP_NAMESPACE::ImageTiling tiling,
+    SparseImageFormatPropertiesAllocator &sparseImageFormatPropertiesAllocator,
+    Dispatch const &d) const {
+  std::vector<SparseImageFormatProperties, SparseImageFormatPropertiesAllocator>
+      properties(sparseImageFormatPropertiesAllocator);
+  uint32_t propertyCount;
+  d.vkGetPhysicalDeviceSparseImageFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      static_cast<VkImageType>(type),
+      static_cast<VkSampleCountFlagBits>(samples),
+      static_cast<VkImageUsageFlags>(usage), static_cast<VkImageTiling>(tiling),
+      &propertyCount, nullptr);
+  properties.resize(propertyCount);
+  d.vkGetPhysicalDeviceSparseImageFormatProperties(
+      m_physicalDevice, static_cast<VkFormat>(format),
+      static_cast<VkImageType>(type),
+      static_cast<VkSampleCountFlagBits>(samples),
+      static_cast<VkImageUsageFlags>(usage), static_cast<VkImageTiling>(tiling),
+      &propertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties *>(properties.data()));
+  VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+  return properties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2
+        *pFormatInfo,
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          pFormatInfo),
+      pPropertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties2 *>(pProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename SparseImageFormatProperties2Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2,
+                                  SparseImageFormatProperties2Allocator>
+    PhysicalDevice::getSparseImageFormatProperties2(
+        const PhysicalDeviceSparseImageFormatInfo2 &formatInfo,
+        Dispatch const &d) const {
+  std::vector<SparseImageFormatProperties2,
+              SparseImageFormatProperties2Allocator>
+      properties;
+  uint32_t propertyCount;
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount, nullptr);
+  properties.resize(propertyCount);
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties2 *>(properties.data()));
+  VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+  return properties;
+}
+
+template <
+    typename SparseImageFormatProperties2Allocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         SparseImageFormatProperties2>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2,
+                                  SparseImageFormatProperties2Allocator>
+    PhysicalDevice::getSparseImageFormatProperties2(
+        const PhysicalDeviceSparseImageFormatInfo2 &formatInfo,
+        SparseImageFormatProperties2Allocator
+            &sparseImageFormatProperties2Allocator,
+        Dispatch const &d) const {
+  std::vector<SparseImageFormatProperties2,
+              SparseImageFormatProperties2Allocator>
+      properties(sparseImageFormatProperties2Allocator);
+  uint32_t propertyCount;
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount, nullptr);
+  properties.resize(propertyCount);
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties2 *>(properties.data()));
+  VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+  return properties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2KHR(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2
+        *pFormatInfo,
+    uint32_t *pPropertyCount,
+    VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 *pProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          pFormatInfo),
+      pPropertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties2 *>(pProperties));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename SparseImageFormatProperties2Allocator, typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2,
+                                  SparseImageFormatProperties2Allocator>
+    PhysicalDevice::getSparseImageFormatProperties2KHR(
+        const PhysicalDeviceSparseImageFormatInfo2 &formatInfo,
+        Dispatch const &d) const {
+  std::vector<SparseImageFormatProperties2,
+              SparseImageFormatProperties2Allocator>
+      properties;
+  uint32_t propertyCount;
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount, nullptr);
+  properties.resize(propertyCount);
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties2 *>(properties.data()));
+  VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+  return properties;
+}
+
+template <
+    typename SparseImageFormatProperties2Allocator, typename Dispatch,
+    typename B,
+    typename std::enable_if<std::is_same<typename B::value_type,
+                                         SparseImageFormatProperties2>::value,
+                            int>::type>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2,
+                                  SparseImageFormatProperties2Allocator>
+    PhysicalDevice::getSparseImageFormatProperties2KHR(
+        const PhysicalDeviceSparseImageFormatInfo2 &formatInfo,
+        SparseImageFormatProperties2Allocator
+            &sparseImageFormatProperties2Allocator,
+        Dispatch const &d) const {
+  std::vector<SparseImageFormatProperties2,
+              SparseImageFormatProperties2Allocator>
+      properties(sparseImageFormatProperties2Allocator);
+  uint32_t propertyCount;
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount, nullptr);
+  properties.resize(propertyCount);
+  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(
+          &formatInfo),
+      &propertyCount,
+      reinterpret_cast<VkSparseImageFormatProperties2 *>(properties.data()));
+  VULKAN_HPP_ASSERT(propertyCount <= properties.size());
+  return properties;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV(
+    uint32_t *pCombinationCount,
+    VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV *pCombinations,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
+          m_physicalDevice, pCombinationCount,
+          reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>(
+              pCombinations)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename FramebufferMixedSamplesCombinationNVAllocator,
+          typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<FramebufferMixedSamplesCombinationNV,
+                FramebufferMixedSamplesCombinationNVAllocator>>::type
+PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV(
+    Dispatch const &d) const {
+  std::vector<FramebufferMixedSamplesCombinationNV,
+              FramebufferMixedSamplesCombinationNVAllocator>
+      combinations;
+  uint32_t combinationCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
+            m_physicalDevice, &combinationCount, nullptr));
+    if ((result == Result::eSuccess) && combinationCount) {
+      combinations.resize(combinationCount);
+      result = static_cast<Result>(
+          d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
+              m_physicalDevice, &combinationCount,
+              reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>(
+                  combinations.data())));
+      VULKAN_HPP_ASSERT(combinationCount <= combinations.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (combinationCount < combinations.size())) {
+    combinations.resize(combinationCount);
+  }
+  return createResultValue(
+      result, combinations,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV");
+}
+
+template <typename FramebufferMixedSamplesCombinationNVAllocator,
+          typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           FramebufferMixedSamplesCombinationNV>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<FramebufferMixedSamplesCombinationNV,
+                FramebufferMixedSamplesCombinationNVAllocator>>::type
+PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV(
+    FramebufferMixedSamplesCombinationNVAllocator
+        &framebufferMixedSamplesCombinationNVAllocator,
+    Dispatch const &d) const {
+  std::vector<FramebufferMixedSamplesCombinationNV,
+              FramebufferMixedSamplesCombinationNVAllocator>
+      combinations(framebufferMixedSamplesCombinationNVAllocator);
+  uint32_t combinationCount;
+  Result result;
+  do {
+    result = static_cast<Result>(
+        d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
+            m_physicalDevice, &combinationCount, nullptr));
+    if ((result == Result::eSuccess) && combinationCount) {
+      combinations.resize(combinationCount);
+      result = static_cast<Result>(
+          d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
+              m_physicalDevice, &combinationCount,
+              reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>(
+                  combinations.data())));
+      VULKAN_HPP_ASSERT(combinationCount <= combinations.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (combinationCount < combinations.size())) {
+    combinations.resize(combinationCount);
+  }
+  return createResultValue(
+      result, combinations,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfaceCapabilities2EXT(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+    VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT *pSurfaceCapabilities,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfaceCapabilities2EXT(
+      m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<VkSurfaceCapabilities2EXT *>(pSurfaceCapabilities)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT>::type
+    PhysicalDevice::getSurfaceCapabilities2EXT(
+        VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT surfaceCapabilities;
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceSurfaceCapabilities2EXT(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+          reinterpret_cast<VkSurfaceCapabilities2EXT *>(&surfaceCapabilities)));
+  return createResultValue(result, surfaceCapabilities,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceCapabilities2EXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfaceCapabilities2KHR(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+    VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR *pSurfaceCapabilities,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfaceCapabilities2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(pSurfaceInfo),
+      reinterpret_cast<VkSurfaceCapabilities2KHR *>(pSurfaceCapabilities)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>::type
+    PhysicalDevice::getSurfaceCapabilities2KHR(
+        const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR surfaceCapabilities;
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceSurfaceCapabilities2KHR(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(
+              &surfaceInfo),
+          reinterpret_cast<VkSurfaceCapabilities2KHR *>(&surfaceCapabilities)));
+  return createResultValue(result, surfaceCapabilities,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceCapabilities2KHR");
+}
+
+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 PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+        Dispatch const &d) const {
+  StructureChain<X, Y, Z...> structureChain;
+  VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR &surfaceCapabilities =
+      structureChain
+          .template get<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>();
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceSurfaceCapabilities2KHR(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(
+              &surfaceInfo),
+          reinterpret_cast<VkSurfaceCapabilities2KHR *>(&surfaceCapabilities)));
+  return createResultValue(result, structureChain,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceCapabilities2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfaceCapabilitiesKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+    VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR *pSurfaceCapabilities,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
+      m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<VkSurfaceCapabilitiesKHR *>(pSurfaceCapabilities)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR>::type
+    PhysicalDevice::getSurfaceCapabilitiesKHR(
+        VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities;
+  Result result =
+      static_cast<Result>(d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+          reinterpret_cast<VkSurfaceCapabilitiesKHR *>(&surfaceCapabilities)));
+  return createResultValue(result, surfaceCapabilities,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceCapabilitiesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfaceFormats2KHR(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+    uint32_t *pSurfaceFormatCount,
+    VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR *pSurfaceFormats,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormats2KHR(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(pSurfaceInfo),
+      pSurfaceFormatCount,
+      reinterpret_cast<VkSurfaceFormat2KHR *>(pSurfaceFormats)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename SurfaceFormat2KHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type
+PhysicalDevice::getSurfaceFormats2KHR(
+    const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo, Dispatch const &d) const {
+  std::vector<SurfaceFormat2KHR, SurfaceFormat2KHRAllocator> surfaceFormats;
+  uint32_t surfaceFormatCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormats2KHR(
+        m_physicalDevice,
+        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
+        &surfaceFormatCount, nullptr));
+    if ((result == Result::eSuccess) && surfaceFormatCount) {
+      surfaceFormats.resize(surfaceFormatCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormats2KHR(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(
+              &surfaceInfo),
+          &surfaceFormatCount,
+          reinterpret_cast<VkSurfaceFormat2KHR *>(surfaceFormats.data())));
+      VULKAN_HPP_ASSERT(surfaceFormatCount <= surfaceFormats.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (surfaceFormatCount < surfaceFormats.size())) {
+    surfaceFormats.resize(surfaceFormatCount);
+  }
+  return createResultValue(result, surfaceFormats,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceFormats2KHR");
+}
+
+template <typename SurfaceFormat2KHRAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, SurfaceFormat2KHR>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type
+PhysicalDevice::getSurfaceFormats2KHR(
+    const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+    SurfaceFormat2KHRAllocator &surfaceFormat2KHRAllocator,
+    Dispatch const &d) const {
+  std::vector<SurfaceFormat2KHR, SurfaceFormat2KHRAllocator> surfaceFormats(
+      surfaceFormat2KHRAllocator);
+  uint32_t surfaceFormatCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormats2KHR(
+        m_physicalDevice,
+        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
+        &surfaceFormatCount, nullptr));
+    if ((result == Result::eSuccess) && surfaceFormatCount) {
+      surfaceFormats.resize(surfaceFormatCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormats2KHR(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(
+              &surfaceInfo),
+          &surfaceFormatCount,
+          reinterpret_cast<VkSurfaceFormat2KHR *>(surfaceFormats.data())));
+      VULKAN_HPP_ASSERT(surfaceFormatCount <= surfaceFormats.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (surfaceFormatCount < surfaceFormats.size())) {
+    surfaceFormats.resize(surfaceFormatCount);
+  }
+  return createResultValue(result, surfaceFormats,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceFormats2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfaceFormatsKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface, uint32_t *pSurfaceFormatCount,
+    VULKAN_HPP_NAMESPACE::SurfaceFormatKHR *pSurfaceFormats,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormatsKHR(
+      m_physicalDevice, static_cast<VkSurfaceKHR>(surface), pSurfaceFormatCount,
+      reinterpret_cast<VkSurfaceFormatKHR *>(pSurfaceFormats)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename SurfaceFormatKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type
+PhysicalDevice::getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+                                     Dispatch const &d) const {
+  std::vector<SurfaceFormatKHR, SurfaceFormatKHRAllocator> surfaceFormats;
+  uint32_t surfaceFormatCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormatsKHR(
+        m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+        &surfaceFormatCount, nullptr));
+    if ((result == Result::eSuccess) && surfaceFormatCount) {
+      surfaceFormats.resize(surfaceFormatCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormatsKHR(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+          &surfaceFormatCount,
+          reinterpret_cast<VkSurfaceFormatKHR *>(surfaceFormats.data())));
+      VULKAN_HPP_ASSERT(surfaceFormatCount <= surfaceFormats.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (surfaceFormatCount < surfaceFormats.size())) {
+    surfaceFormats.resize(surfaceFormatCount);
+  }
+  return createResultValue(result, surfaceFormats,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceFormatsKHR");
+}
+
+template <typename SurfaceFormatKHRAllocator, typename Dispatch, typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type, SurfaceFormatKHR>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type
+PhysicalDevice::getSurfaceFormatsKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+    SurfaceFormatKHRAllocator &surfaceFormatKHRAllocator,
+    Dispatch const &d) const {
+  std::vector<SurfaceFormatKHR, SurfaceFormatKHRAllocator> surfaceFormats(
+      surfaceFormatKHRAllocator);
+  uint32_t surfaceFormatCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormatsKHR(
+        m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+        &surfaceFormatCount, nullptr));
+    if ((result == Result::eSuccess) && surfaceFormatCount) {
+      surfaceFormats.resize(surfaceFormatCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceFormatsKHR(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+          &surfaceFormatCount,
+          reinterpret_cast<VkSurfaceFormatKHR *>(surfaceFormats.data())));
+      VULKAN_HPP_ASSERT(surfaceFormatCount <= surfaceFormats.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (surfaceFormatCount < surfaceFormats.size())) {
+    surfaceFormats.resize(surfaceFormatCount);
+  }
+  return createResultValue(result, surfaceFormats,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceFormatsKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfacePresentModes2EXT(
+    const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
+    uint32_t *pPresentModeCount,
+    VULKAN_HPP_NAMESPACE::PresentModeKHR *pPresentModes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
+      m_physicalDevice,
+      reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(pSurfaceInfo),
+      pPresentModeCount, reinterpret_cast<VkPresentModeKHR *>(pPresentModes)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PresentModeKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+PhysicalDevice::getSurfacePresentModes2EXT(
+    const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo, Dispatch const &d) const {
+  std::vector<PresentModeKHR, PresentModeKHRAllocator> presentModes;
+  uint32_t presentModeCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
+        m_physicalDevice,
+        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
+        &presentModeCount, nullptr));
+    if ((result == Result::eSuccess) && presentModeCount) {
+      presentModes.resize(presentModeCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(
+              &surfaceInfo),
+          &presentModeCount,
+          reinterpret_cast<VkPresentModeKHR *>(presentModes.data())));
+      VULKAN_HPP_ASSERT(presentModeCount <= presentModes.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (presentModeCount < presentModes.size())) {
+    presentModes.resize(presentModeCount);
+  }
+  return createResultValue(result, presentModes,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfacePresentModes2EXT");
+}
+
+template <
+    typename PresentModeKHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, PresentModeKHR>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+PhysicalDevice::getSurfacePresentModes2EXT(
+    const PhysicalDeviceSurfaceInfo2KHR &surfaceInfo,
+    PresentModeKHRAllocator &presentModeKHRAllocator, Dispatch const &d) const {
+  std::vector<PresentModeKHR, PresentModeKHRAllocator> presentModes(
+      presentModeKHRAllocator);
+  uint32_t presentModeCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
+        m_physicalDevice,
+        reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
+        &presentModeCount, nullptr));
+    if ((result == Result::eSuccess) && presentModeCount) {
+      presentModes.resize(presentModeCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModes2EXT(
+          m_physicalDevice,
+          reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(
+              &surfaceInfo),
+          &presentModeCount,
+          reinterpret_cast<VkPresentModeKHR *>(presentModes.data())));
+      VULKAN_HPP_ASSERT(presentModeCount <= presentModes.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (presentModeCount < presentModes.size())) {
+    presentModes.resize(presentModeCount);
+  }
+  return createResultValue(result, presentModes,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfacePresentModes2EXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  template <>
-  struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfacePresentModesKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface, uint32_t *pPresentModeCount,
+    VULKAN_HPP_NAMESPACE::PresentModeKHR *pPresentModes,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModesKHR(
+      m_physicalDevice, static_cast<VkSurfaceKHR>(surface), pPresentModeCount,
+      reinterpret_cast<VkPresentModeKHR *>(pPresentModes)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PresentModeKHRAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+PhysicalDevice::getSurfacePresentModesKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const &d) const {
+  std::vector<PresentModeKHR, PresentModeKHRAllocator> presentModes;
+  uint32_t presentModeCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModesKHR(
+        m_physicalDevice, static_cast<VkSurfaceKHR>(surface), &presentModeCount,
+        nullptr));
+    if ((result == Result::eSuccess) && presentModeCount) {
+      presentModes.resize(presentModeCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModesKHR(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+          &presentModeCount,
+          reinterpret_cast<VkPresentModeKHR *>(presentModes.data())));
+      VULKAN_HPP_ASSERT(presentModeCount <= presentModes.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (presentModeCount < presentModes.size())) {
+    presentModes.resize(presentModeCount);
+  }
+  return createResultValue(result, presentModes,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfacePresentModesKHR");
+}
+
+template <
+    typename PresentModeKHRAllocator, typename Dispatch, typename B,
+    typename std::enable_if<
+        std::is_same<typename B::value_type, PresentModeKHR>::value, int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PresentModeKHR, PresentModeKHRAllocator>>::type
+PhysicalDevice::getSurfacePresentModesKHR(
+    VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+    PresentModeKHRAllocator &presentModeKHRAllocator, Dispatch const &d) const {
+  std::vector<PresentModeKHR, PresentModeKHRAllocator> presentModes(
+      presentModeKHRAllocator);
+  uint32_t presentModeCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModesKHR(
+        m_physicalDevice, static_cast<VkSurfaceKHR>(surface), &presentModeCount,
+        nullptr));
+    if ((result == Result::eSuccess) && presentModeCount) {
+      presentModes.resize(presentModeCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceSurfacePresentModesKHR(
+          m_physicalDevice, static_cast<VkSurfaceKHR>(surface),
+          &presentModeCount,
+          reinterpret_cast<VkPresentModeKHR *>(presentModes.data())));
+      VULKAN_HPP_ASSERT(presentModeCount <= presentModes.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) &&
+      (presentModeCount < presentModes.size())) {
+    presentModes.resize(presentModeCount);
+  }
+  return createResultValue(result, presentModes,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfacePresentModesKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getSurfaceSupportKHR(
+    uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+    VULKAN_HPP_NAMESPACE::Bool32 *pSupported,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceSurfaceSupportKHR(
+      m_physicalDevice, queueFamilyIndex, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<VkBool32 *>(pSupported)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::Bool32>::type
+    PhysicalDevice::getSurfaceSupportKHR(
+        uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface,
+        Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::Bool32 supported;
+  Result result = static_cast<Result>(d.vkGetPhysicalDeviceSurfaceSupportKHR(
+      m_physicalDevice, queueFamilyIndex, static_cast<VkSurfaceKHR>(surface),
+      reinterpret_cast<VkBool32 *>(&supported)));
+  return createResultValue(result, supported,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getSurfaceSupportKHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getToolPropertiesEXT(
+    uint32_t *pToolCount,
+    VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT *pToolProperties,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkGetPhysicalDeviceToolPropertiesEXT(
+      m_physicalDevice, pToolCount,
+      reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>(pToolProperties)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename PhysicalDeviceToolPropertiesEXTAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceToolPropertiesEXT,
+                PhysicalDeviceToolPropertiesEXTAllocator>>::type
+PhysicalDevice::getToolPropertiesEXT(Dispatch const &d) const {
+  std::vector<PhysicalDeviceToolPropertiesEXT,
+              PhysicalDeviceToolPropertiesEXTAllocator>
+      toolProperties;
+  uint32_t toolCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceToolPropertiesEXT(
+        m_physicalDevice, &toolCount, nullptr));
+    if ((result == Result::eSuccess) && toolCount) {
+      toolProperties.resize(toolCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceToolPropertiesEXT(
+          m_physicalDevice, &toolCount,
+          reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>(
+              toolProperties.data())));
+      VULKAN_HPP_ASSERT(toolCount <= toolProperties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (toolCount < toolProperties.size())) {
+    toolProperties.resize(toolCount);
+  }
+  return createResultValue(result, toolProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getToolPropertiesEXT");
+}
+
+template <typename PhysicalDeviceToolPropertiesEXTAllocator, typename Dispatch,
+          typename B,
+          typename std::enable_if<
+              std::is_same<typename B::value_type,
+                           PhysicalDeviceToolPropertiesEXT>::value,
+              int>::type>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<PhysicalDeviceToolPropertiesEXT,
+                PhysicalDeviceToolPropertiesEXTAllocator>>::type
+PhysicalDevice::getToolPropertiesEXT(
+    PhysicalDeviceToolPropertiesEXTAllocator
+        &physicalDeviceToolPropertiesEXTAllocator,
+    Dispatch const &d) const {
+  std::vector<PhysicalDeviceToolPropertiesEXT,
+              PhysicalDeviceToolPropertiesEXTAllocator>
+      toolProperties(physicalDeviceToolPropertiesEXTAllocator);
+  uint32_t toolCount;
+  Result result;
+  do {
+    result = static_cast<Result>(d.vkGetPhysicalDeviceToolPropertiesEXT(
+        m_physicalDevice, &toolCount, nullptr));
+    if ((result == Result::eSuccess) && toolCount) {
+      toolProperties.resize(toolCount);
+      result = static_cast<Result>(d.vkGetPhysicalDeviceToolPropertiesEXT(
+          m_physicalDevice, &toolCount,
+          reinterpret_cast<VkPhysicalDeviceToolPropertiesEXT *>(
+              toolProperties.data())));
+      VULKAN_HPP_ASSERT(toolCount <= toolProperties.size());
+    }
+  } while (result == Result::eIncomplete);
+  if ((result == Result::eSuccess) && (toolCount < toolProperties.size())) {
+    toolProperties.resize(toolCount);
+  }
+  return createResultValue(result, toolProperties,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getToolPropertiesEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR(
+    uint32_t queueFamilyIndex, struct wl_display *display,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Bool32>(d.vkGetPhysicalDeviceWaylandPresentationSupportKHR(
+      m_physicalDevice, queueFamilyIndex, display));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR(
+    uint32_t queueFamilyIndex, struct wl_display &display,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetPhysicalDeviceWaylandPresentationSupportKHR(
+      m_physicalDevice, queueFamilyIndex, &display);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR(
+    uint32_t queueFamilyIndex, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Bool32>(d.vkGetPhysicalDeviceWin32PresentationSupportKHR(
+      m_physicalDevice, queueFamilyIndex));
+}
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-  template <>
-  struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR(
+    uint32_t queueFamilyIndex, xcb_connection_t *connection,
+    xcb_visualid_t visual_id, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Bool32>(d.vkGetPhysicalDeviceXcbPresentationSupportKHR(
+      m_physicalDevice, queueFamilyIndex, connection, visual_id));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR(
+    uint32_t queueFamilyIndex, xcb_connection_t &connection,
+    xcb_visualid_t visual_id, Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetPhysicalDeviceXcbPresentationSupportKHR(
+      m_physicalDevice, queueFamilyIndex, &connection, visual_id);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR(
+    uint32_t queueFamilyIndex, Display *dpy, VisualID visualID,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Bool32>(d.vkGetPhysicalDeviceXlibPresentationSupportKHR(
+      m_physicalDevice, queueFamilyIndex, dpy, visualID));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR(
+    uint32_t queueFamilyIndex, Display &dpy, VisualID visualID,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return d.vkGetPhysicalDeviceXlibPresentationSupportKHR(
+      m_physicalDevice, queueFamilyIndex, &dpy, visualID);
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+PhysicalDevice::getRandROutputDisplayEXT(
+    Display *dpy, RROutput rrOutput, VULKAN_HPP_NAMESPACE::DisplayKHR *pDisplay,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetRandROutputDisplayEXT(m_physicalDevice, dpy, rrOutput,
+                                   reinterpret_cast<VkDisplayKHR *>(pDisplay)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type
+    PhysicalDevice::getRandROutputDisplayEXT(Display &dpy, RROutput rrOutput,
+                                             Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayKHR display;
+  Result result = static_cast<Result>(
+      d.vkGetRandROutputDisplayEXT(m_physicalDevice, &dpy, rrOutput,
+                                   reinterpret_cast<VkDisplayKHR *>(&display)));
+  return createResultValue(result, display,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getRandROutputDisplayEXT");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<
+    UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type
+PhysicalDevice::getRandROutputDisplayEXTUnique(Display &dpy, RROutput rrOutput,
+                                               Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayKHR display;
+  Result result = static_cast<Result>(
+      d.vkGetRandROutputDisplayEXT(m_physicalDevice, &dpy, rrOutput,
+                                   reinterpret_cast<VkDisplayKHR *>(&display)));
+  ObjectRelease<PhysicalDevice, Dispatch> deleter(*this, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>(
+      result, display,
+      VULKAN_HPP_NAMESPACE_STRING
+      "::PhysicalDevice::getRandROutputDisplayEXTUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getWinrtDisplayNV(
+    uint32_t deviceRelativeId, VULKAN_HPP_NAMESPACE::DisplayKHR *pDisplay,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkGetWinrtDisplayNV(m_physicalDevice, deviceRelativeId,
+                            reinterpret_cast<VkDisplayKHR *>(pDisplay)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type
+    PhysicalDevice::getWinrtDisplayNV(uint32_t deviceRelativeId,
+                                      Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayKHR display;
+  Result result = static_cast<Result>(
+      d.vkGetWinrtDisplayNV(m_physicalDevice, deviceRelativeId,
+                            reinterpret_cast<VkDisplayKHR *>(&display)));
+  return createResultValue(result, display,
+                           VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::getWinrtDisplayNV");
+}
+
+#ifndef VULKAN_HPP_NO_SMART_HANDLE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<
+        UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type
+    PhysicalDevice::getWinrtDisplayNVUnique(uint32_t deviceRelativeId,
+                                            Dispatch const &d) const {
+  VULKAN_HPP_NAMESPACE::DisplayKHR display;
+  Result result = static_cast<Result>(
+      d.vkGetWinrtDisplayNV(m_physicalDevice, deviceRelativeId,
+                            reinterpret_cast<VkDisplayKHR *>(&display)));
+  ObjectRelease<PhysicalDevice, Dispatch> deleter(*this, d);
+  return createResultValue<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>(
+      result, display,
+      VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNVUnique",
+      deleter);
+}
+#endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  template <>
-  struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
-  {
-    enum
-    {
-      value = true
-    };
-  };
-  template <>
-  struct StructExtends<WriteDescriptorSetInlineUniformBlockEXT, WriteDescriptorSet>
-  {
-    enum
-    {
-      value = true
-    };
-  };
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE Result
+PhysicalDevice::releaseDisplayEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkReleaseDisplayEXT(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_INLINE typename ResultValueType<void>::type
+PhysicalDevice::releaseDisplayEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,
+                                  Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkReleaseDisplayEXT(
+      m_physicalDevice, static_cast<VkDisplayKHR>(display)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::PhysicalDevice::releaseDisplayEXT");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Queue::getCheckpointData2NV(
+    uint32_t *pCheckpointDataCount,
+    VULKAN_HPP_NAMESPACE::CheckpointData2NV *pCheckpointData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetQueueCheckpointData2NV(
+      m_queue, pCheckpointDataCount,
+      reinterpret_cast<VkCheckpointData2NV *>(pCheckpointData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename CheckpointData2NVAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<CheckpointData2NV, CheckpointData2NVAllocator>
+    Queue::getCheckpointData2NV(Dispatch const &d) const {
+  std::vector<CheckpointData2NV, CheckpointData2NVAllocator> checkpointData;
+  uint32_t checkpointDataCount;
+  d.vkGetQueueCheckpointData2NV(m_queue, &checkpointDataCount, nullptr);
+  checkpointData.resize(checkpointDataCount);
+  d.vkGetQueueCheckpointData2NV(
+      m_queue, &checkpointDataCount,
+      reinterpret_cast<VkCheckpointData2NV *>(checkpointData.data()));
+  VULKAN_HPP_ASSERT(checkpointDataCount <= checkpointData.size());
+  return checkpointData;
+}
+
+template <typename CheckpointData2NVAllocator, typename Dispatch, 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 {
+  std::vector<CheckpointData2NV, CheckpointData2NVAllocator> checkpointData(
+      checkpointData2NVAllocator);
+  uint32_t checkpointDataCount;
+  d.vkGetQueueCheckpointData2NV(m_queue, &checkpointDataCount, nullptr);
+  checkpointData.resize(checkpointDataCount);
+  d.vkGetQueueCheckpointData2NV(
+      m_queue, &checkpointDataCount,
+      reinterpret_cast<VkCheckpointData2NV *>(checkpointData.data()));
+  VULKAN_HPP_ASSERT(checkpointDataCount <= checkpointData.size());
+  return checkpointData;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Queue::getCheckpointDataNV(
+    uint32_t *pCheckpointDataCount,
+    VULKAN_HPP_NAMESPACE::CheckpointDataNV *pCheckpointData,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkGetQueueCheckpointDataNV(
+      m_queue, pCheckpointDataCount,
+      reinterpret_cast<VkCheckpointDataNV *>(pCheckpointData));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename CheckpointDataNVAllocator, typename Dispatch>
+VULKAN_HPP_NODISCARD
+    VULKAN_HPP_INLINE std::vector<CheckpointDataNV, CheckpointDataNVAllocator>
+    Queue::getCheckpointDataNV(Dispatch const &d) const {
+  std::vector<CheckpointDataNV, CheckpointDataNVAllocator> checkpointData;
+  uint32_t checkpointDataCount;
+  d.vkGetQueueCheckpointDataNV(m_queue, &checkpointDataCount, nullptr);
+  checkpointData.resize(checkpointDataCount);
+  d.vkGetQueueCheckpointDataNV(
+      m_queue, &checkpointDataCount,
+      reinterpret_cast<VkCheckpointDataNV *>(checkpointData.data()));
+  VULKAN_HPP_ASSERT(checkpointDataCount <= checkpointData.size());
+  return checkpointData;
+}
+
+template <typename CheckpointDataNVAllocator, typename Dispatch, 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 {
+  std::vector<CheckpointDataNV, CheckpointDataNVAllocator> checkpointData(
+      checkpointDataNVAllocator);
+  uint32_t checkpointDataCount;
+  d.vkGetQueueCheckpointDataNV(m_queue, &checkpointDataCount, nullptr);
+  checkpointData.resize(checkpointDataCount);
+  d.vkGetQueueCheckpointDataNV(
+      m_queue, &checkpointDataCount,
+      reinterpret_cast<VkCheckpointDataNV *>(checkpointData.data()));
+  VULKAN_HPP_ASSERT(checkpointDataCount <= checkpointData.size());
+  return checkpointData;
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT(
+    const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkQueueBeginDebugUtilsLabelEXT(
+      m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>(pLabelInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Queue::beginDebugUtilsLabelEXT(const DebugUtilsLabelEXT &labelInfo,
+                               Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkQueueBeginDebugUtilsLabelEXT(
+      m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Queue::bindSparse(uint32_t bindInfoCount,
+                  const VULKAN_HPP_NAMESPACE::BindSparseInfo *pBindInfo,
+                  VULKAN_HPP_NAMESPACE::Fence fence,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkQueueBindSparse(m_queue, bindInfoCount,
+                          reinterpret_cast<const VkBindSparseInfo *>(pBindInfo),
+                          static_cast<VkFence>(fence)));
+}
+
+#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,
+        VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkQueueBindSparse(
+      m_queue, bindInfo.size(),
+      reinterpret_cast<const VkBindSparseInfo *>(bindInfo.data()),
+      static_cast<VkFence>(fence)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Queue::bindSparse");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Queue::endDebugUtilsLabelEXT(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkQueueEndDebugUtilsLabelEXT(m_queue);
+}
+
+template <typename Dispatch>
+VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT(
+    const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pLabelInfo,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkQueueInsertDebugUtilsLabelEXT(
+      m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>(pLabelInfo));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_INLINE void
+Queue::insertDebugUtilsLabelEXT(const DebugUtilsLabelEXT &labelInfo,
+                                Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  d.vkQueueInsertDebugUtilsLabelEXT(
+      m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Queue::presentKHR(const VULKAN_HPP_NAMESPACE::PresentInfoKHR *pPresentInfo,
+                  Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkQueuePresentKHR(
+      m_queue, reinterpret_cast<const VkPresentInfoKHR *>(pPresentInfo)));
+}
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Queue::presentKHR(const PresentInfoKHR &presentInfo, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkQueuePresentKHR(
+      m_queue, reinterpret_cast<const VkPresentInfoKHR *>(&presentInfo)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR",
+                           {VULKAN_HPP_NAMESPACE::Result::eSuccess,
+                            VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR});
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Queue::setPerformanceConfigurationINTEL(
+    VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkQueueSetPerformanceConfigurationINTEL(
+      m_queue, static_cast<VkPerformanceConfigurationINTEL>(configuration)));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Queue::setPerformanceConfigurationINTEL(
+        VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+        Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkQueueSetPerformanceConfigurationINTEL(
+      m_queue, static_cast<VkPerformanceConfigurationINTEL>(configuration)));
+  return createResultValue(result, VULKAN_HPP_NAMESPACE_STRING
+                           "::Queue::setPerformanceConfigurationINTEL");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit(
+    uint32_t submitCount, const VULKAN_HPP_NAMESPACE::SubmitInfo *pSubmits,
+    VULKAN_HPP_NAMESPACE::Fence fence,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkQueueSubmit(
+      m_queue, submitCount, reinterpret_cast<const VkSubmitInfo *>(pSubmits),
+      static_cast<VkFence>(fence)));
+}
+
+#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,
+        VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const &d) const {
+  Result result = static_cast<Result>(
+      d.vkQueueSubmit(m_queue, submits.size(),
+                      reinterpret_cast<const VkSubmitInfo *>(submits.data()),
+                      static_cast<VkFence>(fence)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Queue::submit");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit2KHR(
+    uint32_t submitCount, const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR *pSubmits,
+    VULKAN_HPP_NAMESPACE::Fence fence,
+    Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(
+      d.vkQueueSubmit2KHR(m_queue, submitCount,
+                          reinterpret_cast<const VkSubmitInfo2KHR *>(pSubmits),
+                          static_cast<VkFence>(fence)));
+}
+
+#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,
+        VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkQueueSubmit2KHR(
+      m_queue, submits.size(),
+      reinterpret_cast<const VkSubmitInfo2KHR *>(submits.data()),
+      static_cast<VkFence>(fence)));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2KHR");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+Queue::waitIdle(Dispatch const &d) const VULKAN_HPP_NOEXCEPT {
+  return static_cast<Result>(d.vkQueueWaitIdle(m_queue));
+}
+#else
+template <typename Dispatch>
+VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<void>::type
+    Queue::waitIdle(Dispatch const &d) const {
+  Result result = static_cast<Result>(d.vkQueueWaitIdle(m_queue));
+  return createResultValue(result,
+                           VULKAN_HPP_NAMESPACE_STRING "::Queue::waitIdle");
+}
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+template <>
+struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID,
+                     AndroidHardwareBufferPropertiesANDROID> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+template <>
+struct StructExtends<AndroidHardwareBufferUsageANDROID,
+                     ImageFormatProperties2> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+template <>
+struct StructExtends<AttachmentDescriptionStencilLayout,
+                     AttachmentDescription2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <>
+struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA,
+                     BufferCreateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <>
+struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+template <>
+struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT,
+                     CommandBufferInheritanceInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM,
+                     CommandBufferInheritanceInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <>
+struct StructExtends<ControlOpsMemoryAllocateInfoFUCHSIA, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+template <>
+struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2KHR> {
+  enum { value = true };
+};
+template <> struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2KHR> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <> struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+template <>
+struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV,
+                     MemoryAllocateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfoEXT,
+                     DescriptorPoolCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo,
+                     DescriptorSetLayoutCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo,
+                     DescriptorSetAllocateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport,
+                     DescriptorSetLayoutSupport> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceGroupCommandBufferBeginInfo,
+                     CommandBufferBeginInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceGroupSwapchainCreateInfoKHR,
+                     SwapchainCreateInfoKHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DevicePrivateDataCreateInfoEXT, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DeviceQueueGlobalPriorityCreateInfoEXT,
+                     DeviceQueueCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD,
+                     SurfaceCapabilities2KHR> {
+  enum { value = true };
+};
+template <> struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2> {
+  enum { value = true };
+};
+template <> struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+template <> struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+template <>
+struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+template <> struct StructExtends<ExternalFormatANDROID, ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+template <>
+struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT,
+                     ImageFormatProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<FragmentShadingRateAttachmentInfoKHR,
+                     SubpassDescription2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV,
+                     GraphicsPipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT,
+                     ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImageFormatListCreateInfo,
+                     PhysicalDeviceImageFormatInfo2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImagePlaneMemoryRequirementsInfo,
+                     ImageMemoryRequirementsInfo2> {
+  enum { value = true };
+};
+template <> struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImageStencilUsageCreateInfo,
+                     PhysicalDeviceImageFormatInfo2> {
+  enum { value = true };
+};
+template <> struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+template <>
+struct StructExtends<ImportAndroidHardwareBufferInfoANDROID,
+                     MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <>
+struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+template <> struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <>
+struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+template <> struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<MemoryBarrier2KHR, SubpassDependency2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo,
+                     MemoryAllocateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<MutableDescriptorTypeCreateInfoVALVE,
+                     DescriptorSetLayoutCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<MutableDescriptorTypeCreateInfoVALVE,
+                     DescriptorPoolCreateInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2KHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevice16BitStorageFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevice8BitStorageFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDepthStencilResolveProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDescriptorIndexingProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceDriverProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceExternalImageFormatInfo,
+                     PhysicalDeviceImageFormatInfo2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <> struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFloatControlsProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceHostQueryResetFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT,
+                     PhysicalDeviceImageFormatInfo2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceImageRobustnessFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceImageRobustnessFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT,
+                     PhysicalDeviceImageFormatInfo2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceInlineUniformBlockFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceInlineUniformBlockFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceInlineUniformBlockPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMaintenance3Properties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT,
+                     PhysicalDeviceMemoryProperties2> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <>
+struct StructExtends<PhysicalDeviceMemoryControlPropertiesFUCHSIA,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+template <>
+struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMultiviewProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePointClippingProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+#if defined(VK_ENABLE_BETA_EXTENSIONS)
+template <>
+struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+#if defined(VK_ENABLE_BETA_EXTENSIONS)
+template <>
+struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <>
+struct StructExtends<PhysicalDevicePrivateDataFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePrivateDataFeaturesEXT, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceProtectedMemoryFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceProtectedMemoryProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRayTracingPropertiesNV,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderAtomicInt64Features,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderAtomicInt64Features,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderFloat16Int8Features,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderFloat16Int8Features,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSubgroupProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSubgroupSizeControlFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSubgroupSizeControlFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSubgroupSizeControlPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSynchronization2FeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceSynchronization2FeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVariablePointersFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkan11Properties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkan12Properties,
+                     PhysicalDeviceProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
+                     PhysicalDeviceFeatures2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
+                     DeviceCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT,
+                     PipelineColorBlendStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCompilerControlCreateInfoAMD,
+                     GraphicsPipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCompilerControlCreateInfoAMD,
+                     ComputePipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCoverageModulationStateCreateInfoNV,
+                     PipelineMultisampleStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCoverageReductionStateCreateInfoNV,
+                     PipelineMultisampleStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCoverageToColorStateCreateInfoNV,
+                     PipelineMultisampleStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCreationFeedbackCreateInfoEXT,
+                     GraphicsPipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCreationFeedbackCreateInfoEXT,
+                     ComputePipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCreationFeedbackCreateInfoEXT,
+                     RayTracingPipelineCreateInfoNV> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineCreationFeedbackCreateInfoEXT,
+                     RayTracingPipelineCreateInfoKHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT,
+                     GraphicsPipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV,
+                     GraphicsPipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR,
+                     GraphicsPipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT,
+                     PipelineRasterizationStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT,
+                     PipelineRasterizationStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT,
+                     PipelineRasterizationStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD,
+                     PipelineRasterizationStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT,
+                     PipelineRasterizationStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV,
+                     GraphicsPipelineCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT,
+                     PipelineMultisampleStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
+                     PipelineShaderStageCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo,
+                     PipelineTessellationStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineVertexInputDivisorStateCreateInfoEXT,
+                     PipelineVertexInputStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV,
+                     PipelineViewportStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV,
+                     PipelineViewportStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV,
+                     PipelineViewportStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV,
+                     PipelineViewportStateCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<PipelineViewportWScalingStateCreateInfoNV,
+                     PipelineViewportStateCreateInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_GGP)
+template <> struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_GGP*/
+template <> struct StructExtends<PresentRegionsKHR, PresentInfoKHR> {
+  enum { value = true };
+};
+template <> struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR> {
+  enum { value = true };
+};
+template <> struct StructExtends<ProtectedSubmitInfo, SubmitInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL,
+                     QueryPoolCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<QueueFamilyCheckpointProperties2NV,
+                     QueueFamilyProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<QueueFamilyCheckpointPropertiesNV,
+                     QueueFamilyProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT,
+                     RenderPassCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT,
+                     RenderPassCreateInfo2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<RenderPassInputAttachmentAspectCreateInfo,
+                     RenderPassCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<RenderPassSampleLocationsBeginInfoEXT,
+                     RenderPassBeginInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2KHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SamplerYcbcrConversionImageFormatProperties,
+                     ImageFormatProperties2> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SemaphoreTypeCreateInfo,
+                     PhysicalDeviceExternalSemaphoreInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT,
+                     ShaderModuleCreateInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SharedPresentSurfaceCapabilitiesKHR,
+                     SurfaceCapabilities2KHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SubpassDescriptionDepthStencilResolve,
+                     SubpassDescription2> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT,
+                     SurfaceCapabilities2KHR> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<SurfaceFullScreenExclusiveInfoEXT,
+                     PhysicalDeviceSurfaceInfo2KHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SurfaceFullScreenExclusiveInfoEXT,
+                     SwapchainCreateInfoKHR> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT,
+                     PhysicalDeviceSurfaceInfo2KHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT,
+                     SwapchainCreateInfoKHR> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+template <>
+struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD,
+                     SwapchainCreateInfoKHR> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<TextureLODGatherFormatPropertiesAMD,
+                     ImageFormatProperties2> {
+  enum { value = true };
+};
+template <> struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo> {
+  enum { value = true };
+};
+template <> struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo> {
+  enum { value = true };
+};
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2KHR> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+template <>
+struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2KHR> {
+  enum { value = true };
+};
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+template <>
+struct StructExtends<WriteDescriptorSetAccelerationStructureKHR,
+                     WriteDescriptorSet> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<WriteDescriptorSetAccelerationStructureNV,
+                     WriteDescriptorSet> {
+  enum { value = true };
+};
+template <>
+struct StructExtends<WriteDescriptorSetInlineUniformBlockEXT,
+                     WriteDescriptorSet> {
+  enum { value = true };
+};
 
 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
-  class DynamicLoader
+class DynamicLoader {
+public:
+#ifdef VULKAN_HPP_NO_EXCEPTIONS
+  DynamicLoader(std::string const &vulkanLibraryName = {}) VULKAN_HPP_NOEXCEPT
+#else
+  DynamicLoader(std::string const &vulkanLibraryName = {})
+#endif
   {
-  public:
-#  ifdef VULKAN_HPP_NO_EXCEPTIONS
-    DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT : m_success( false )
-#  else
-    DynamicLoader( std::string const & vulkanLibraryName = {} ) : m_success( false )
-#  endif
-    {
-      if ( !vulkanLibraryName.empty() )
-      {
-#  if defined( __linux__ ) || defined( __APPLE__ ) || defined( __Fuchsia__ )
-        m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
-#  elif defined( _WIN32 )
-        m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
-#  else
-#    error unsupported platform
-#  endif
+    if (!vulkanLibraryName.empty()) {
+#if defined(__linux__) || defined(__APPLE__) || defined(__QNXNTO__) ||         \
+    defined(__Fuchsia__)
+      m_library = dlopen(vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL);
+#elif defined(_WIN32)
+      m_library = ::LoadLibraryA(vulkanLibraryName.c_str());
+#else
+#error unsupported platform
+#endif
+    } else {
+#if defined(__linux__) || defined(__QNXNTO__) || defined(__Fuchsia__)
+      m_library = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
+      if (m_library == nullptr) {
+        m_library = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL);
       }
-      else
-      {
-#  if defined( __linux__ ) || defined( __Fuchsia__ )
-        m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
-        if ( m_library == nullptr )
-        {
-          m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
-        }
-#  elif defined( __APPLE__ )
-        m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
-#  elif defined( _WIN32 )
-        m_library = ::LoadLibraryA( "vulkan-1.dll" );
-#  else
-#    error unsupported platform
-#  endif
-      }
-
-      m_success = ( m_library != nullptr );
-#  ifndef VULKAN_HPP_NO_EXCEPTIONS
-      if ( !m_success )
-      {
-        // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the
-        // scope of this function.
-        throw std::runtime_error( "Failed to load vulkan library!" );
-      }
-#  endif
+#elif defined(__APPLE__)
+      m_library = dlopen("libvulkan.dylib", RTLD_NOW | RTLD_LOCAL);
+#elif defined(_WIN32)
+      m_library = ::LoadLibraryA("vulkan-1.dll");
+#else
+#error unsupported platform
+#endif
     }
 
-    DynamicLoader( DynamicLoader const & ) = delete;
-
-    DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
-      : m_success( other.m_success )
-      , m_library( other.m_library )
-    {
-      other.m_library = nullptr;
+#ifndef VULKAN_HPP_NO_EXCEPTIONS
+    if (m_library == nullptr) {
+      // NOTE there should be an InitializationFailedError, but msvc insists on
+      // the symbol does not exist within the scope of this function.
+      throw std::runtime_error("Failed to load vulkan library!");
     }
+#endif
+  }
 
-    DynamicLoader & operator=( DynamicLoader const & ) = delete;
+  DynamicLoader(DynamicLoader const &) = delete;
 
-    DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
-    {
-      m_success = other.m_success;
-      std::swap( m_library, other.m_library );
-      return *this;
+  DynamicLoader(DynamicLoader &&other) VULKAN_HPP_NOEXCEPT
+      : m_library(other.m_library) {
+    other.m_library = nullptr;
+  }
+
+  DynamicLoader &operator=(DynamicLoader const &) = delete;
+
+  DynamicLoader &operator=(DynamicLoader &&other) VULKAN_HPP_NOEXCEPT {
+    std::swap(m_library, other.m_library);
+    return *this;
+  }
+
+  ~DynamicLoader() VULKAN_HPP_NOEXCEPT {
+    if (m_library) {
+#if defined(__linux__) || defined(__APPLE__) || defined(__QNXNTO__) ||         \
+    defined(__Fuchsia__)
+      dlclose(m_library);
+#elif defined(_WIN32)
+      ::FreeLibrary(m_library);
+#else
+#error unsupported platform
+#endif
     }
+  }
 
-    ~DynamicLoader() VULKAN_HPP_NOEXCEPT
-    {
-      if ( m_library )
-      {
-#  if defined( __linux__ ) || defined( __APPLE__ ) || defined( __Fuchsia__ )
-        dlclose( m_library );
-#  elif defined( _WIN32 )
-        ::FreeLibrary( m_library );
-#  else
-#    error unsupported platform
-#  endif
-      }
-    }
+  template <typename T>
+  T getProcAddress(const char *function) const VULKAN_HPP_NOEXCEPT {
+#if defined(__linux__) || defined(__APPLE__) || defined(__QNXNTO__) ||         \
+    defined(__Fuchsia__)
+    return (T)dlsym(m_library, function);
+#elif defined(_WIN32)
+    return (T)::GetProcAddress(m_library, function);
+#else
+#error unsupported platform
+#endif
+  }
 
-    template <typename T>
-    T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
-    {
-#  if defined( __linux__ ) || defined( __APPLE__ ) || defined( __Fuchsia__ )
-      return (T)dlsym( m_library, function );
-#  elif defined( _WIN32 )
-      return ( T )::GetProcAddress( m_library, function );
-#  else
-#    error unsupported platform
-#  endif
-    }
+  bool success() const VULKAN_HPP_NOEXCEPT { return m_library != nullptr; }
 
-    bool success() const VULKAN_HPP_NOEXCEPT
-    {
-      return m_success;
-    }
-
-  private:
-    bool m_success;
-#  if defined( __linux__ ) || defined( __APPLE__ ) || defined( __Fuchsia__ )
-    void * m_library;
-#  elif defined( _WIN32 )
-    ::HINSTANCE m_library;
-#  else
-#    error unsupported platform
-#  endif
-  };
+private:
+#if defined(__linux__) || defined(__APPLE__) || defined(__QNXNTO__) ||         \
+    defined(__Fuchsia__)
+  void *m_library;
+#elif defined(_WIN32)
+  ::HINSTANCE m_library;
+#else
+#error unsupported platform
+#endif
+};
 #endif
 
-  class DispatchLoaderDynamic
-  {
-  public:
-    PFN_vkCreateInstance                       vkCreateInstance                       = 0;
-    PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties = 0;
-    PFN_vkEnumerateInstanceLayerProperties     vkEnumerateInstanceLayerProperties     = 0;
-    PFN_vkEnumerateInstanceVersion             vkEnumerateInstanceVersion             = 0;
-    PFN_vkBeginCommandBuffer                   vkBeginCommandBuffer                   = 0;
-    PFN_vkCmdBeginConditionalRenderingEXT      vkCmdBeginConditionalRenderingEXT      = 0;
-    PFN_vkCmdBeginDebugUtilsLabelEXT           vkCmdBeginDebugUtilsLabelEXT           = 0;
-    PFN_vkCmdBeginQuery                        vkCmdBeginQuery                        = 0;
-    PFN_vkCmdBeginQueryIndexedEXT              vkCmdBeginQueryIndexedEXT              = 0;
-    PFN_vkCmdBeginRenderPass                   vkCmdBeginRenderPass                   = 0;
-    PFN_vkCmdBeginRenderPass2                  vkCmdBeginRenderPass2                  = 0;
-    PFN_vkCmdBeginRenderPass2KHR               vkCmdBeginRenderPass2KHR               = 0;
-    PFN_vkCmdBeginTransformFeedbackEXT         vkCmdBeginTransformFeedbackEXT         = 0;
-    PFN_vkCmdBindDescriptorSets                vkCmdBindDescriptorSets                = 0;
-    PFN_vkCmdBindIndexBuffer                   vkCmdBindIndexBuffer                   = 0;
-    PFN_vkCmdBindPipeline                      vkCmdBindPipeline                      = 0;
-    PFN_vkCmdBindPipelineShaderGroupNV         vkCmdBindPipelineShaderGroupNV         = 0;
-    PFN_vkCmdBindShadingRateImageNV            vkCmdBindShadingRateImageNV            = 0;
-    PFN_vkCmdBindTransformFeedbackBuffersEXT   vkCmdBindTransformFeedbackBuffersEXT   = 0;
-    PFN_vkCmdBindVertexBuffers                 vkCmdBindVertexBuffers                 = 0;
-    PFN_vkCmdBindVertexBuffers2EXT             vkCmdBindVertexBuffers2EXT             = 0;
-    PFN_vkCmdBlitImage                         vkCmdBlitImage                         = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdBuildAccelerationStructureIndirectKHR vkCmdBuildAccelerationStructureIndirectKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdBuildAccelerationStructureKHR vkCmdBuildAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV = 0;
-    PFN_vkCmdClearAttachments             vkCmdClearAttachments             = 0;
-    PFN_vkCmdClearColorImage              vkCmdClearColorImage              = 0;
-    PFN_vkCmdClearDepthStencilImage       vkCmdClearDepthStencilImage       = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCmdCopyBuffer        vkCmdCopyBuffer        = 0;
-    PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage = 0;
-    PFN_vkCmdCopyImage         vkCmdCopyImage         = 0;
-    PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCmdCopyQueryPoolResults             vkCmdCopyQueryPoolResults             = 0;
-    PFN_vkCmdDebugMarkerBeginEXT              vkCmdDebugMarkerBeginEXT              = 0;
-    PFN_vkCmdDebugMarkerEndEXT                vkCmdDebugMarkerEndEXT                = 0;
-    PFN_vkCmdDebugMarkerInsertEXT             vkCmdDebugMarkerInsertEXT             = 0;
-    PFN_vkCmdDispatch                         vkCmdDispatch                         = 0;
-    PFN_vkCmdDispatchBase                     vkCmdDispatchBase                     = 0;
-    PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
-    PFN_vkCmdDispatchIndirect                 vkCmdDispatchIndirect                 = 0;
-    PFN_vkCmdDraw                             vkCmdDraw                             = 0;
-    PFN_vkCmdDrawIndexed                      vkCmdDrawIndexed                      = 0;
-    PFN_vkCmdDrawIndexedIndirect              vkCmdDrawIndexedIndirect              = 0;
-    PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
-    PFN_vkCmdDrawIndexedIndirectCountAMD      vkCmdDrawIndexedIndirectCountAMD      = 0;
-    PFN_vkCmdDrawIndexedIndirectCountKHR      vkCmdDrawIndexedIndirectCountKHR      = 0;
-    PFN_vkCmdDrawIndirect                     vkCmdDrawIndirect                     = 0;
-    PFN_vkCmdDrawIndirectByteCountEXT         vkCmdDrawIndirectByteCountEXT         = 0;
-    PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
-    PFN_vkCmdDrawIndirectCountAMD             vkCmdDrawIndirectCountAMD             = 0;
-    PFN_vkCmdDrawIndirectCountKHR             vkCmdDrawIndirectCountKHR             = 0;
-    PFN_vkCmdDrawMeshTasksIndirectCountNV     vkCmdDrawMeshTasksIndirectCountNV     = 0;
-    PFN_vkCmdDrawMeshTasksIndirectNV          vkCmdDrawMeshTasksIndirectNV          = 0;
-    PFN_vkCmdDrawMeshTasksNV                  vkCmdDrawMeshTasksNV                  = 0;
-    PFN_vkCmdEndConditionalRenderingEXT       vkCmdEndConditionalRenderingEXT       = 0;
-    PFN_vkCmdEndDebugUtilsLabelEXT            vkCmdEndDebugUtilsLabelEXT            = 0;
-    PFN_vkCmdEndQuery                         vkCmdEndQuery                         = 0;
-    PFN_vkCmdEndQueryIndexedEXT               vkCmdEndQueryIndexedEXT               = 0;
-    PFN_vkCmdEndRenderPass                    vkCmdEndRenderPass                    = 0;
-    PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
-    PFN_vkCmdEndRenderPass2KHR                vkCmdEndRenderPass2KHR                = 0;
-    PFN_vkCmdEndTransformFeedbackEXT          vkCmdEndTransformFeedbackEXT          = 0;
-    PFN_vkCmdExecuteCommands                  vkCmdExecuteCommands                  = 0;
-    PFN_vkCmdExecuteGeneratedCommandsNV       vkCmdExecuteGeneratedCommandsNV       = 0;
-    PFN_vkCmdFillBuffer                       vkCmdFillBuffer                       = 0;
-    PFN_vkCmdInsertDebugUtilsLabelEXT         vkCmdInsertDebugUtilsLabelEXT         = 0;
-    PFN_vkCmdNextSubpass                      vkCmdNextSubpass                      = 0;
-    PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
-    PFN_vkCmdNextSubpass2KHR                  vkCmdNextSubpass2KHR                  = 0;
-    PFN_vkCmdPipelineBarrier                  vkCmdPipelineBarrier                  = 0;
-    PFN_vkCmdPreprocessGeneratedCommandsNV    vkCmdPreprocessGeneratedCommandsNV    = 0;
-    PFN_vkCmdPushConstants                    vkCmdPushConstants                    = 0;
-    PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
-    PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
-    PFN_vkCmdResetEvent                       vkCmdResetEvent                       = 0;
-    PFN_vkCmdResetQueryPool                   vkCmdResetQueryPool                   = 0;
-    PFN_vkCmdResolveImage                     vkCmdResolveImage                     = 0;
-    PFN_vkCmdSetBlendConstants                vkCmdSetBlendConstants                = 0;
-    PFN_vkCmdSetCheckpointNV                  vkCmdSetCheckpointNV                  = 0;
-    PFN_vkCmdSetCoarseSampleOrderNV           vkCmdSetCoarseSampleOrderNV           = 0;
-    PFN_vkCmdSetCullModeEXT                   vkCmdSetCullModeEXT                   = 0;
-    PFN_vkCmdSetDepthBias                     vkCmdSetDepthBias                     = 0;
-    PFN_vkCmdSetDepthBounds                   vkCmdSetDepthBounds                   = 0;
-    PFN_vkCmdSetDepthBoundsTestEnableEXT      vkCmdSetDepthBoundsTestEnableEXT      = 0;
-    PFN_vkCmdSetDepthCompareOpEXT             vkCmdSetDepthCompareOpEXT             = 0;
-    PFN_vkCmdSetDepthTestEnableEXT            vkCmdSetDepthTestEnableEXT            = 0;
-    PFN_vkCmdSetDepthWriteEnableEXT           vkCmdSetDepthWriteEnableEXT           = 0;
-    PFN_vkCmdSetDeviceMask                    vkCmdSetDeviceMask                    = 0;
-    PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
-    PFN_vkCmdSetDiscardRectangleEXT           vkCmdSetDiscardRectangleEXT           = 0;
-    PFN_vkCmdSetEvent                         vkCmdSetEvent                         = 0;
-    PFN_vkCmdSetExclusiveScissorNV            vkCmdSetExclusiveScissorNV            = 0;
-    PFN_vkCmdSetFrontFaceEXT                  vkCmdSetFrontFaceEXT                  = 0;
-    PFN_vkCmdSetLineStippleEXT                vkCmdSetLineStippleEXT                = 0;
-    PFN_vkCmdSetLineWidth                     vkCmdSetLineWidth                     = 0;
-    PFN_vkCmdSetPerformanceMarkerINTEL        vkCmdSetPerformanceMarkerINTEL        = 0;
-    PFN_vkCmdSetPerformanceOverrideINTEL      vkCmdSetPerformanceOverrideINTEL      = 0;
-    PFN_vkCmdSetPerformanceStreamMarkerINTEL  vkCmdSetPerformanceStreamMarkerINTEL  = 0;
-    PFN_vkCmdSetPrimitiveTopologyEXT          vkCmdSetPrimitiveTopologyEXT          = 0;
-    PFN_vkCmdSetSampleLocationsEXT            vkCmdSetSampleLocationsEXT            = 0;
-    PFN_vkCmdSetScissor                       vkCmdSetScissor                       = 0;
-    PFN_vkCmdSetScissorWithCountEXT           vkCmdSetScissorWithCountEXT           = 0;
-    PFN_vkCmdSetStencilCompareMask            vkCmdSetStencilCompareMask            = 0;
-    PFN_vkCmdSetStencilOpEXT                  vkCmdSetStencilOpEXT                  = 0;
-    PFN_vkCmdSetStencilReference              vkCmdSetStencilReference              = 0;
-    PFN_vkCmdSetStencilTestEnableEXT          vkCmdSetStencilTestEnableEXT          = 0;
-    PFN_vkCmdSetStencilWriteMask              vkCmdSetStencilWriteMask              = 0;
-    PFN_vkCmdSetViewport                      vkCmdSetViewport                      = 0;
-    PFN_vkCmdSetViewportShadingRatePaletteNV  vkCmdSetViewportShadingRatePaletteNV  = 0;
-    PFN_vkCmdSetViewportWScalingNV            vkCmdSetViewportWScalingNV            = 0;
-    PFN_vkCmdSetViewportWithCountEXT          vkCmdSetViewportWithCountEXT          = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCmdTraceRaysNV  vkCmdTraceRaysNV  = 0;
-    PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer = 0;
-    PFN_vkCmdWaitEvents   vkCmdWaitEvents   = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV = 0;
-    PFN_vkCmdWriteBufferMarkerAMD                    vkCmdWriteBufferMarkerAMD                    = 0;
-    PFN_vkCmdWriteTimestamp                          vkCmdWriteTimestamp                          = 0;
-    PFN_vkEndCommandBuffer                           vkEndCommandBuffer                           = 0;
-    PFN_vkResetCommandBuffer                         vkResetCommandBuffer                         = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT = 0;
+class DispatchLoaderDynamic {
+public:
+  using PFN_dummy = void (*)();
+
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT =
+      0;
+#else
+  PFN_dummy placeholder_dont_call_vkAcquireFullScreenExclusiveModeEXT = 0;
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-    PFN_vkAcquireNextImage2KHR                 vkAcquireNextImage2KHR                 = 0;
-    PFN_vkAcquireNextImageKHR                  vkAcquireNextImageKHR                  = 0;
-    PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL = 0;
-    PFN_vkAcquireProfilingLockKHR              vkAcquireProfilingLockKHR              = 0;
-    PFN_vkAllocateCommandBuffers               vkAllocateCommandBuffers               = 0;
-    PFN_vkAllocateDescriptorSets               vkAllocateDescriptorSets               = 0;
-    PFN_vkAllocateMemory                       vkAllocateMemory                       = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkBindAccelerationStructureMemoryKHR vkBindAccelerationStructureMemoryKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV = 0;
-    PFN_vkBindBufferMemory                  vkBindBufferMemory                  = 0;
-    PFN_vkBindBufferMemory2                 vkBindBufferMemory2                 = 0;
-    PFN_vkBindBufferMemory2KHR              vkBindBufferMemory2KHR              = 0;
-    PFN_vkBindImageMemory                   vkBindImageMemory                   = 0;
-    PFN_vkBindImageMemory2                  vkBindImageMemory2                  = 0;
-    PFN_vkBindImageMemory2KHR               vkBindImageMemory2KHR               = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkBuildAccelerationStructureKHR vkBuildAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCompileDeferredNV vkCompileDeferredNV = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV = 0;
-    PFN_vkCreateBuffer                  vkCreateBuffer                  = 0;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-    PFN_vkCreateBufferView       vkCreateBufferView       = 0;
-    PFN_vkCreateCommandPool      vkCreateCommandPool      = 0;
-    PFN_vkCreateComputePipelines vkCreateComputePipelines = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCreateDescriptorPool              vkCreateDescriptorPool              = 0;
-    PFN_vkCreateDescriptorSetLayout         vkCreateDescriptorSetLayout         = 0;
-    PFN_vkCreateDescriptorUpdateTemplate    vkCreateDescriptorUpdateTemplate    = 0;
-    PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR = 0;
-    PFN_vkCreateEvent                       vkCreateEvent                       = 0;
-    PFN_vkCreateFence                       vkCreateFence                       = 0;
-    PFN_vkCreateFramebuffer                 vkCreateFramebuffer                 = 0;
-    PFN_vkCreateGraphicsPipelines           vkCreateGraphicsPipelines           = 0;
-    PFN_vkCreateImage                       vkCreateImage                       = 0;
-    PFN_vkCreateImageView                   vkCreateImageView                   = 0;
-    PFN_vkCreateIndirectCommandsLayoutNV    vkCreateIndirectCommandsLayoutNV    = 0;
-    PFN_vkCreatePipelineCache               vkCreatePipelineCache               = 0;
-    PFN_vkCreatePipelineLayout              vkCreatePipelineLayout              = 0;
-    PFN_vkCreatePrivateDataSlotEXT          vkCreatePrivateDataSlotEXT          = 0;
-    PFN_vkCreateQueryPool                   vkCreateQueryPool                   = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkCreateRayTracingPipelinesNV     vkCreateRayTracingPipelinesNV     = 0;
-    PFN_vkCreateRenderPass                vkCreateRenderPass                = 0;
-    PFN_vkCreateRenderPass2               vkCreateRenderPass2               = 0;
-    PFN_vkCreateRenderPass2KHR            vkCreateRenderPass2KHR            = 0;
-    PFN_vkCreateSampler                   vkCreateSampler                   = 0;
-    PFN_vkCreateSamplerYcbcrConversion    vkCreateSamplerYcbcrConversion    = 0;
-    PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0;
-    PFN_vkCreateSemaphore                 vkCreateSemaphore                 = 0;
-    PFN_vkCreateShaderModule              vkCreateShaderModule              = 0;
-    PFN_vkCreateSharedSwapchainsKHR       vkCreateSharedSwapchainsKHR       = 0;
-    PFN_vkCreateSwapchainKHR              vkCreateSwapchainKHR              = 0;
-    PFN_vkCreateValidationCacheEXT        vkCreateValidationCacheEXT        = 0;
-    PFN_vkDebugMarkerSetObjectNameEXT     vkDebugMarkerSetObjectNameEXT     = 0;
-    PFN_vkDebugMarkerSetObjectTagEXT      vkDebugMarkerSetObjectTagEXT      = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV = 0;
-    PFN_vkDestroyBuffer                  vkDestroyBuffer                  = 0;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-    PFN_vkDestroyBufferView  vkDestroyBufferView  = 0;
-    PFN_vkDestroyCommandPool vkDestroyCommandPool = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkDestroyDescriptorPool              vkDestroyDescriptorPool              = 0;
-    PFN_vkDestroyDescriptorSetLayout         vkDestroyDescriptorSetLayout         = 0;
-    PFN_vkDestroyDescriptorUpdateTemplate    vkDestroyDescriptorUpdateTemplate    = 0;
-    PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
-    PFN_vkDestroyDevice                      vkDestroyDevice                      = 0;
-    PFN_vkDestroyEvent                       vkDestroyEvent                       = 0;
-    PFN_vkDestroyFence                       vkDestroyFence                       = 0;
-    PFN_vkDestroyFramebuffer                 vkDestroyFramebuffer                 = 0;
-    PFN_vkDestroyImage                       vkDestroyImage                       = 0;
-    PFN_vkDestroyImageView                   vkDestroyImageView                   = 0;
-    PFN_vkDestroyIndirectCommandsLayoutNV    vkDestroyIndirectCommandsLayoutNV    = 0;
-    PFN_vkDestroyPipeline                    vkDestroyPipeline                    = 0;
-    PFN_vkDestroyPipelineCache               vkDestroyPipelineCache               = 0;
-    PFN_vkDestroyPipelineLayout              vkDestroyPipelineLayout              = 0;
-    PFN_vkDestroyPrivateDataSlotEXT          vkDestroyPrivateDataSlotEXT          = 0;
-    PFN_vkDestroyQueryPool                   vkDestroyQueryPool                   = 0;
-    PFN_vkDestroyRenderPass                  vkDestroyRenderPass                  = 0;
-    PFN_vkDestroySampler                     vkDestroySampler                     = 0;
-    PFN_vkDestroySamplerYcbcrConversion      vkDestroySamplerYcbcrConversion      = 0;
-    PFN_vkDestroySamplerYcbcrConversionKHR   vkDestroySamplerYcbcrConversionKHR   = 0;
-    PFN_vkDestroySemaphore                   vkDestroySemaphore                   = 0;
-    PFN_vkDestroyShaderModule                vkDestroyShaderModule                = 0;
-    PFN_vkDestroySwapchainKHR                vkDestroySwapchainKHR                = 0;
-    PFN_vkDestroyValidationCacheEXT          vkDestroyValidationCacheEXT          = 0;
-    PFN_vkDeviceWaitIdle                     vkDeviceWaitIdle                     = 0;
-    PFN_vkDisplayPowerControlEXT             vkDisplayPowerControlEXT             = 0;
-    PFN_vkFlushMappedMemoryRanges            vkFlushMappedMemoryRanges            = 0;
-    PFN_vkFreeCommandBuffers                 vkFreeCommandBuffers                 = 0;
-    PFN_vkFreeDescriptorSets                 vkFreeDescriptorSets                 = 0;
-    PFN_vkFreeMemory                         vkFreeMemory                         = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkGetAccelerationStructureMemoryRequirementsKHR vkGetAccelerationStructureMemoryRequirementsKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
+  PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR = 0;
+  PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR = 0;
+  PFN_vkAcquirePerformanceConfigurationINTEL
+      vkAcquirePerformanceConfigurationINTEL = 0;
+  PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkAcquireWinrtDisplayNV = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+  PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkAcquireXlibDisplayEXT = 0;
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+  PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers = 0;
+  PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets = 0;
+  PFN_vkAllocateMemory vkAllocateMemory = 0;
+  PFN_vkBeginCommandBuffer vkBeginCommandBuffer = 0;
+  PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV =
+      0;
+  PFN_vkBindBufferMemory vkBindBufferMemory = 0;
+  PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
+  PFN_vkBindBufferMemory2 vkBindBufferMemory2 = 0;
+  PFN_vkBindImageMemory vkBindImageMemory = 0;
+  PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR = 0;
+  PFN_vkBindImageMemory2 vkBindImageMemory2 = 0;
+  PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR = 0;
+  PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
+  PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT = 0;
+  PFN_vkCmdBeginQuery vkCmdBeginQuery = 0;
+  PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT = 0;
+  PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass = 0;
+  PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
+  PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2 = 0;
+  PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT = 0;
+  PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets = 0;
+  PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer = 0;
+  PFN_vkCmdBindPipeline vkCmdBindPipeline = 0;
+  PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV = 0;
+  PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV = 0;
+  PFN_vkCmdBindTransformFeedbackBuffersEXT
+      vkCmdBindTransformFeedbackBuffersEXT = 0;
+  PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers = 0;
+  PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT = 0;
+  PFN_vkCmdBlitImage vkCmdBlitImage = 0;
+  PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR = 0;
+  PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV = 0;
+  PFN_vkCmdBuildAccelerationStructuresIndirectKHR
+      vkCmdBuildAccelerationStructuresIndirectKHR = 0;
+  PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR =
+      0;
+  PFN_vkCmdClearAttachments vkCmdClearAttachments = 0;
+  PFN_vkCmdClearColorImage vkCmdClearColorImage = 0;
+  PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage = 0;
+  PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR = 0;
+  PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV = 0;
+  PFN_vkCmdCopyAccelerationStructureToMemoryKHR
+      vkCmdCopyAccelerationStructureToMemoryKHR = 0;
+  PFN_vkCmdCopyBuffer vkCmdCopyBuffer = 0;
+  PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR = 0;
+  PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage = 0;
+  PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
+  PFN_vkCmdCopyImage vkCmdCopyImage = 0;
+  PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR = 0;
+  PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer = 0;
+  PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
+  PFN_vkCmdCopyMemoryToAccelerationStructureKHR
+      vkCmdCopyMemoryToAccelerationStructureKHR = 0;
+  PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults = 0;
+  PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT = 0;
+  PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT = 0;
+  PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT = 0;
+  PFN_vkCmdDispatch vkCmdDispatch = 0;
+  PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR = 0;
+  PFN_vkCmdDispatchBase vkCmdDispatchBase = 0;
+  PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect = 0;
+  PFN_vkCmdDraw vkCmdDraw = 0;
+  PFN_vkCmdDrawIndexed vkCmdDrawIndexed = 0;
+  PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect = 0;
+  PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
+  PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
+  PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount = 0;
+  PFN_vkCmdDrawIndirect vkCmdDrawIndirect = 0;
+  PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT = 0;
+  PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD = 0;
+  PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR = 0;
+  PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount = 0;
+  PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
+  PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV = 0;
+  PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV = 0;
+  PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT = 0;
+  PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT = 0;
+  PFN_vkCmdEndQuery vkCmdEndQuery = 0;
+  PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT = 0;
+  PFN_vkCmdEndRenderPass vkCmdEndRenderPass = 0;
+  PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR = 0;
+  PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2 = 0;
+  PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT = 0;
+  PFN_vkCmdExecuteCommands vkCmdExecuteCommands = 0;
+  PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV = 0;
+  PFN_vkCmdFillBuffer vkCmdFillBuffer = 0;
+  PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT = 0;
+  PFN_vkCmdNextSubpass vkCmdNextSubpass = 0;
+  PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR = 0;
+  PFN_vkCmdNextSubpass2 vkCmdNextSubpass2 = 0;
+  PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier = 0;
+  PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR = 0;
+  PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV = 0;
+  PFN_vkCmdPushConstants vkCmdPushConstants = 0;
+  PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR = 0;
+  PFN_vkCmdPushDescriptorSetWithTemplateKHR
+      vkCmdPushDescriptorSetWithTemplateKHR = 0;
+  PFN_vkCmdResetEvent vkCmdResetEvent = 0;
+  PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR = 0;
+  PFN_vkCmdResetQueryPool vkCmdResetQueryPool = 0;
+  PFN_vkCmdResolveImage vkCmdResolveImage = 0;
+  PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR = 0;
+  PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants = 0;
+  PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV = 0;
+  PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV = 0;
+  PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT = 0;
+  PFN_vkCmdSetDepthBias vkCmdSetDepthBias = 0;
+  PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds = 0;
+  PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
+  PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT = 0;
+  PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT = 0;
+  PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT = 0;
+  PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR = 0;
+  PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask = 0;
+  PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0;
+  PFN_vkCmdSetEvent vkCmdSetEvent = 0;
+  PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR = 0;
+  PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0;
+  PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
+  PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR = 0;
+  PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT = 0;
+  PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
+  PFN_vkCmdSetLineWidth vkCmdSetLineWidth = 0;
+  PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL = 0;
+  PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL = 0;
+  PFN_vkCmdSetPerformanceStreamMarkerINTEL
+      vkCmdSetPerformanceStreamMarkerINTEL = 0;
+  PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT = 0;
+  PFN_vkCmdSetRayTracingPipelineStackSizeKHR
+      vkCmdSetRayTracingPipelineStackSizeKHR = 0;
+  PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT = 0;
+  PFN_vkCmdSetScissor vkCmdSetScissor = 0;
+  PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT = 0;
+  PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask = 0;
+  PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT = 0;
+  PFN_vkCmdSetStencilReference vkCmdSetStencilReference = 0;
+  PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT = 0;
+  PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask = 0;
+  PFN_vkCmdSetViewport vkCmdSetViewport = 0;
+  PFN_vkCmdSetViewportShadingRatePaletteNV
+      vkCmdSetViewportShadingRatePaletteNV = 0;
+  PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
+  PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT = 0;
+  PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0;
+  PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0;
+  PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV = 0;
+  PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer = 0;
+  PFN_vkCmdWaitEvents vkCmdWaitEvents = 0;
+  PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR = 0;
+  PFN_vkCmdWriteAccelerationStructuresPropertiesKHR
+      vkCmdWriteAccelerationStructuresPropertiesKHR = 0;
+  PFN_vkCmdWriteAccelerationStructuresPropertiesNV
+      vkCmdWriteAccelerationStructuresPropertiesNV = 0;
+  PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0;
+  PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
+  PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp = 0;
+  PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR = 0;
+  PFN_vkCompileDeferredNV vkCompileDeferredNV = 0;
+  PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR = 0;
+  PFN_vkCopyAccelerationStructureToMemoryKHR
+      vkCopyAccelerationStructureToMemoryKHR = 0;
+  PFN_vkCopyMemoryToAccelerationStructureKHR
+      vkCopyMemoryToAccelerationStructureKHR = 0;
+  PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR = 0;
+  PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV = 0;
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateAndroidSurfaceKHR = 0;
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkGetBufferCollectionProperties2FUCHSIA vkGetBufferCollectionProperties2FUCHSIA = 0;
+  PFN_vkCreateBuffer vkCreateBuffer = 0;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateBufferCollectionFUCHSIA = 0;
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-    PFN_vkGetBufferDeviceAddress           vkGetBufferDeviceAddress           = 0;
-    PFN_vkGetBufferDeviceAddressEXT        vkGetBufferDeviceAddressEXT        = 0;
-    PFN_vkGetBufferDeviceAddressKHR        vkGetBufferDeviceAddressKHR        = 0;
-    PFN_vkGetBufferMemoryRequirements      vkGetBufferMemoryRequirements      = 0;
-    PFN_vkGetBufferMemoryRequirements2     vkGetBufferMemoryRequirements2     = 0;
-    PFN_vkGetBufferMemoryRequirements2KHR  vkGetBufferMemoryRequirements2KHR  = 0;
-    PFN_vkGetBufferOpaqueCaptureAddress    vkGetBufferOpaqueCaptureAddress    = 0;
-    PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR = 0;
-    PFN_vkGetCalibratedTimestampsEXT       vkGetCalibratedTimestampsEXT       = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkGetDescriptorSetLayoutSupport    vkGetDescriptorSetLayoutSupport    = 0;
-    PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkGetDeviceGroupPeerMemoryFeatures     vkGetDeviceGroupPeerMemoryFeatures     = 0;
-    PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR  vkGetDeviceGroupPeerMemoryFeaturesKHR  = 0;
-    PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-    PFN_vkGetDeviceGroupSurfacePresentModesKHR   vkGetDeviceGroupSurfacePresentModesKHR   = 0;
-    PFN_vkGetDeviceMemoryCommitment              vkGetDeviceMemoryCommitment              = 0;
-    PFN_vkGetDeviceMemoryOpaqueCaptureAddress    vkGetDeviceMemoryOpaqueCaptureAddress    = 0;
-    PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
-    PFN_vkGetDeviceProcAddr                      vkGetDeviceProcAddr                      = 0;
-    PFN_vkGetDeviceQueue                         vkGetDeviceQueue                         = 0;
-    PFN_vkGetDeviceQueue2                        vkGetDeviceQueue2                        = 0;
-    PFN_vkGetEventStatus                         vkGetEventStatus                         = 0;
-    PFN_vkGetFenceFdKHR                          vkGetFenceFdKHR                          = 0;
-    PFN_vkGetFenceStatus                         vkGetFenceStatus                         = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-    PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
-    PFN_vkGetImageDrmFormatModifierPropertiesEXT   vkGetImageDrmFormatModifierPropertiesEXT   = 0;
-    PFN_vkGetImageMemoryRequirements               vkGetImageMemoryRequirements               = 0;
-    PFN_vkGetImageMemoryRequirements2              vkGetImageMemoryRequirements2              = 0;
-    PFN_vkGetImageMemoryRequirements2KHR           vkGetImageMemoryRequirements2KHR           = 0;
-    PFN_vkGetImageSparseMemoryRequirements         vkGetImageSparseMemoryRequirements         = 0;
-    PFN_vkGetImageSparseMemoryRequirements2        vkGetImageSparseMemoryRequirements2        = 0;
-    PFN_vkGetImageSparseMemoryRequirements2KHR     vkGetImageSparseMemoryRequirements2KHR     = 0;
-    PFN_vkGetImageSubresourceLayout                vkGetImageSubresourceLayout                = 0;
-    PFN_vkGetImageViewAddressNVX                   vkGetImageViewAddressNVX                   = 0;
-    PFN_vkGetImageViewHandleNVX                    vkGetImageViewHandleNVX                    = 0;
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID = 0;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-    PFN_vkGetMemoryFdKHR                    vkGetMemoryFdKHR                    = 0;
-    PFN_vkGetMemoryFdPropertiesKHR          vkGetMemoryFdPropertiesKHR          = 0;
-    PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-    PFN_vkGetPastPresentationTimingGOOGLE                 vkGetPastPresentationTimingGOOGLE                 = 0;
-    PFN_vkGetPerformanceParameterINTEL                    vkGetPerformanceParameterINTEL                    = 0;
-    PFN_vkGetPipelineCacheData                            vkGetPipelineCacheData                            = 0;
-    PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
-    PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
-    PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
-    PFN_vkGetPrivateDataEXT                               vkGetPrivateDataEXT                               = 0;
-    PFN_vkGetQueryPoolResults                             vkGetQueryPoolResults                             = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-    PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV = 0;
-    PFN_vkGetRefreshCycleDurationGOOGLE     vkGetRefreshCycleDurationGOOGLE     = 0;
-    PFN_vkGetRenderAreaGranularity          vkGetRenderAreaGranularity          = 0;
-    PFN_vkGetSemaphoreCounterValue          vkGetSemaphoreCounterValue          = 0;
-    PFN_vkGetSemaphoreCounterValueKHR       vkGetSemaphoreCounterValueKHR       = 0;
-    PFN_vkGetSemaphoreFdKHR                 vkGetSemaphoreFdKHR                 = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-    PFN_vkGetShaderInfoAMD          vkGetShaderInfoAMD          = 0;
-    PFN_vkGetSwapchainCounterEXT    vkGetSwapchainCounterEXT    = 0;
-    PFN_vkGetSwapchainImagesKHR     vkGetSwapchainImagesKHR     = 0;
-    PFN_vkGetSwapchainStatusKHR     vkGetSwapchainStatusKHR     = 0;
-    PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
-    PFN_vkImportFenceFdKHR          vkImportFenceFdKHR          = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-    PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-    PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL = 0;
-    PFN_vkInvalidateMappedMemoryRanges  vkInvalidateMappedMemoryRanges  = 0;
-    PFN_vkMapMemory                     vkMapMemory                     = 0;
-    PFN_vkMergePipelineCaches           vkMergePipelineCaches           = 0;
-    PFN_vkMergeValidationCachesEXT      vkMergeValidationCachesEXT      = 0;
-    PFN_vkModifyMemoryRangesFUCHSIA     vkModifyMemoryRangesFUCHSIA     = 0;
-    PFN_vkRegisterDeviceEventEXT        vkRegisterDeviceEventEXT        = 0;
-    PFN_vkRegisterDisplayEventEXT       vkRegisterDisplayEventEXT       = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-    PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL = 0;
-    PFN_vkReleaseProfilingLockKHR              vkReleaseProfilingLockKHR              = 0;
-    PFN_vkResetCommandPool                     vkResetCommandPool                     = 0;
-    PFN_vkResetDescriptorPool                  vkResetDescriptorPool                  = 0;
-    PFN_vkResetEvent                           vkResetEvent                           = 0;
-    PFN_vkResetFences                          vkResetFences                          = 0;
-    PFN_vkResetQueryPool                       vkResetQueryPool                       = 0;
-    PFN_vkResetQueryPoolEXT                    vkResetQueryPoolEXT                    = 0;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkSetBufferCollectionConstraintsFUCHSIA vkSetBufferCollectionConstraintsFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA = 0;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-    PFN_vkSetDebugUtilsObjectNameEXT          vkSetDebugUtilsObjectNameEXT          = 0;
-    PFN_vkSetDebugUtilsObjectTagEXT           vkSetDebugUtilsObjectTagEXT           = 0;
-    PFN_vkSetEvent                            vkSetEvent                            = 0;
-    PFN_vkSetHdrMetadataEXT                   vkSetHdrMetadataEXT                   = 0;
-    PFN_vkSetLocalDimmingAMD                  vkSetLocalDimmingAMD                  = 0;
-    PFN_vkSetPrivateDataEXT                   vkSetPrivateDataEXT                   = 0;
-    PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
-    PFN_vkSignalSemaphoreKHR                  vkSignalSemaphoreKHR                  = 0;
-    PFN_vkTrimCommandPool                     vkTrimCommandPool                     = 0;
-    PFN_vkTrimCommandPoolKHR                  vkTrimCommandPoolKHR                  = 0;
-    PFN_vkTrimCompactImageDeviceMemoryFUCHSIA vkTrimCompactImageDeviceMemoryFUCHSIA = 0;
-    PFN_vkUninitializePerformanceApiINTEL     vkUninitializePerformanceApiINTEL     = 0;
-    PFN_vkUnmapMemory                         vkUnmapMemory                         = 0;
-    PFN_vkUpdateDescriptorSetWithTemplate     vkUpdateDescriptorSetWithTemplate     = 0;
-    PFN_vkUpdateDescriptorSetWithTemplateKHR  vkUpdateDescriptorSetWithTemplateKHR  = 0;
-    PFN_vkUpdateDescriptorSets                vkUpdateDescriptorSets                = 0;
-    PFN_vkWaitForFences                       vkWaitForFences                       = 0;
-    PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
-    PFN_vkWaitSemaphoresKHR                   vkWaitSemaphoresKHR                   = 0;
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-    PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR = 0;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-    PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT = 0;
-    PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT = 0;
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-    PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT = 0;
+  PFN_vkCreateBufferView vkCreateBufferView = 0;
+  PFN_vkCreateCommandPool vkCreateCommandPool = 0;
+  PFN_vkCreateComputePipelines vkCreateComputePipelines = 0;
+  PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT = 0;
+  PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT = 0;
+  PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR = 0;
+  PFN_vkCreateDescriptorPool vkCreateDescriptorPool = 0;
+  PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout = 0;
+  PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR =
+      0;
+  PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate = 0;
+  PFN_vkCreateDevice vkCreateDevice = 0;
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+  PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateDirectFBSurfaceEXT = 0;
 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-    PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR = 0;
-    PFN_vkCreateHeadlessSurfaceEXT     vkCreateHeadlessSurfaceEXT     = 0;
-#ifdef VK_USE_PLATFORM_IOS_MVK
-    PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
+  PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR = 0;
+  PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR = 0;
+  PFN_vkCreateEvent vkCreateEvent = 0;
+  PFN_vkCreateFence vkCreateFence = 0;
+  PFN_vkCreateFramebuffer vkCreateFramebuffer = 0;
+  PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines = 0;
+  PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+  PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateIOSSurfaceMVK = 0;
 #endif /*VK_USE_PLATFORM_IOS_MVK*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
+  PFN_vkCreateImage vkCreateImage = 0;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateImagePipeSurfaceFUCHSIA = 0;
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_MACOS_MVK
-    PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
+  PFN_vkCreateImageView vkCreateImageView = 0;
+  PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV = 0;
+  PFN_vkCreateInstance vkCreateInstance = 0;
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+  PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateMacOSSurfaceMVK = 0;
 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
-#ifdef VK_USE_PLATFORM_METAL_EXT
-    PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+  PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateMetalSurfaceEXT = 0;
 #endif /*VK_USE_PLATFORM_METAL_EXT*/
-#ifdef VK_USE_PLATFORM_GGP
-    PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
+  PFN_vkCreatePipelineCache vkCreatePipelineCache = 0;
+  PFN_vkCreatePipelineLayout vkCreatePipelineLayout = 0;
+  PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT = 0;
+  PFN_vkCreateQueryPool vkCreateQueryPool = 0;
+  PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0;
+  PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV = 0;
+  PFN_vkCreateRenderPass vkCreateRenderPass = 0;
+  PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR = 0;
+  PFN_vkCreateRenderPass2 vkCreateRenderPass2 = 0;
+  PFN_vkCreateSampler vkCreateSampler = 0;
+  PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0;
+  PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion = 0;
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+  PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateScreenSurfaceQNX = 0;
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+  PFN_vkCreateSemaphore vkCreateSemaphore = 0;
+  PFN_vkCreateShaderModule vkCreateShaderModule = 0;
+  PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
+#if defined(VK_USE_PLATFORM_GGP)
+  PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateStreamDescriptorSurfaceGGP = 0;
 #endif /*VK_USE_PLATFORM_GGP*/
-#ifdef VK_USE_PLATFORM_VI_NN
-    PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
+  PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR = 0;
+  PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT = 0;
+#if defined(VK_USE_PLATFORM_VI_NN)
+  PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateViSurfaceNN = 0;
 #endif /*VK_USE_PLATFORM_VI_NN*/
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR = 0;
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+  PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateWaylandSurfaceKHR = 0;
 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateWin32SurfaceKHR = 0;
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_XCB_KHR
-    PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = 0;
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+  PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateXcbSurfaceKHR = 0;
 #endif /*VK_USE_PLATFORM_XCB_KHR*/
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-    PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = 0;
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+  PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkCreateXlibSurfaceKHR = 0;
 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
-    PFN_vkDebugReportMessageEXT            vkDebugReportMessageEXT            = 0;
-    PFN_vkDestroyDebugReportCallbackEXT    vkDestroyDebugReportCallbackEXT    = 0;
-    PFN_vkDestroyDebugUtilsMessengerEXT    vkDestroyDebugUtilsMessengerEXT    = 0;
-    PFN_vkDestroyInstance                  vkDestroyInstance                  = 0;
-    PFN_vkDestroySurfaceKHR                vkDestroySurfaceKHR                = 0;
-    PFN_vkEnumeratePhysicalDeviceGroups    vkEnumeratePhysicalDeviceGroups    = 0;
-    PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
-    PFN_vkEnumeratePhysicalDevices         vkEnumeratePhysicalDevices         = 0;
-    PFN_vkGetInstanceProcAddr              vkGetInstanceProcAddr              = 0;
-    PFN_vkSubmitDebugUtilsMessageEXT       vkSubmitDebugUtilsMessageEXT       = 0;
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-    PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT = 0;
-#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-    PFN_vkCreateDevice                       vkCreateDevice                       = 0;
-    PFN_vkCreateDisplayModeKHR               vkCreateDisplayModeKHR               = 0;
-    PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties = 0;
-    PFN_vkEnumerateDeviceLayerProperties     vkEnumerateDeviceLayerProperties     = 0;
-    PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
-                                              vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
-    PFN_vkGetDisplayModeProperties2KHR        vkGetDisplayModeProperties2KHR                                  = 0;
-    PFN_vkGetDisplayModePropertiesKHR         vkGetDisplayModePropertiesKHR                                   = 0;
-    PFN_vkGetDisplayPlaneCapabilities2KHR     vkGetDisplayPlaneCapabilities2KHR                               = 0;
-    PFN_vkGetDisplayPlaneCapabilitiesKHR      vkGetDisplayPlaneCapabilitiesKHR                                = 0;
-    PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR                           = 0;
-    PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT   vkGetPhysicalDeviceCalibrateableTimeDomainsEXT       = 0;
-    PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV     = 0;
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-    PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
-#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-    PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR      vkGetPhysicalDeviceDisplayPlaneProperties2KHR      = 0;
-    PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR       vkGetPhysicalDeviceDisplayPlanePropertiesKHR       = 0;
-    PFN_vkGetPhysicalDeviceDisplayProperties2KHR           vkGetPhysicalDeviceDisplayProperties2KHR           = 0;
-    PFN_vkGetPhysicalDeviceDisplayPropertiesKHR            vkGetPhysicalDeviceDisplayPropertiesKHR            = 0;
-    PFN_vkGetPhysicalDeviceExternalBufferProperties        vkGetPhysicalDeviceExternalBufferProperties        = 0;
-    PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR     vkGetPhysicalDeviceExternalBufferPropertiesKHR     = 0;
-    PFN_vkGetPhysicalDeviceExternalFenceProperties         vkGetPhysicalDeviceExternalFenceProperties         = 0;
-    PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR      vkGetPhysicalDeviceExternalFencePropertiesKHR      = 0;
-    PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
-    PFN_vkGetPhysicalDeviceExternalSemaphoreProperties     vkGetPhysicalDeviceExternalSemaphoreProperties     = 0;
-    PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR  vkGetPhysicalDeviceExternalSemaphorePropertiesKHR  = 0;
-    PFN_vkGetPhysicalDeviceFeatures                        vkGetPhysicalDeviceFeatures                        = 0;
-    PFN_vkGetPhysicalDeviceFeatures2                       vkGetPhysicalDeviceFeatures2                       = 0;
-    PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
-    PFN_vkGetPhysicalDeviceFormatProperties                vkGetPhysicalDeviceFormatProperties                = 0;
-    PFN_vkGetPhysicalDeviceFormatProperties2               vkGetPhysicalDeviceFormatProperties2               = 0;
-    PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
-    PFN_vkGetPhysicalDeviceImageFormatProperties           vkGetPhysicalDeviceImageFormatProperties           = 0;
-    PFN_vkGetPhysicalDeviceImageFormatProperties2          vkGetPhysicalDeviceImageFormatProperties2          = 0;
-    PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
-    PFN_vkGetPhysicalDeviceMemoryProperties                vkGetPhysicalDeviceMemoryProperties                = 0;
-    PFN_vkGetPhysicalDeviceMemoryProperties2               vkGetPhysicalDeviceMemoryProperties2               = 0;
-    PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
-    PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT        vkGetPhysicalDeviceMultisamplePropertiesEXT        = 0;
-    PFN_vkGetPhysicalDevicePresentRectanglesKHR            vkGetPhysicalDevicePresentRectanglesKHR            = 0;
-    PFN_vkGetPhysicalDeviceProperties                      vkGetPhysicalDeviceProperties                      = 0;
-    PFN_vkGetPhysicalDeviceProperties2                     vkGetPhysicalDeviceProperties2                     = 0;
-    PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
-    PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
-                                                           vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0;
-    PFN_vkGetPhysicalDeviceQueueFamilyProperties           vkGetPhysicalDeviceQueueFamilyProperties                = 0;
-    PFN_vkGetPhysicalDeviceQueueFamilyProperties2          vkGetPhysicalDeviceQueueFamilyProperties2               = 0;
-    PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR            = 0;
-    PFN_vkGetPhysicalDeviceSparseImageFormatProperties     vkGetPhysicalDeviceSparseImageFormatProperties          = 0;
-    PFN_vkGetPhysicalDeviceSparseImageFormatProperties2    vkGetPhysicalDeviceSparseImageFormatProperties2         = 0;
-    PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR      = 0;
-    PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
-      vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV                       = 0;
-    PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
-    PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
-    PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR  vkGetPhysicalDeviceSurfaceCapabilitiesKHR  = 0;
-    PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
-    PFN_vkGetPhysicalDeviceSurfaceFormatsKHR       vkGetPhysicalDeviceSurfaceFormatsKHR       = 0;
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-    PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
-    PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
-    PFN_vkGetPhysicalDeviceToolPropertiesEXT      vkGetPhysicalDeviceToolPropertiesEXT      = 0;
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
-#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_XCB_KHR
-    PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
-#endif /*VK_USE_PLATFORM_XCB_KHR*/
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-    PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
-#endif /*VK_USE_PLATFORM_XLIB_KHR*/
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-    PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
-#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-    PFN_vkReleaseDisplayEXT                     vkReleaseDisplayEXT                     = 0;
-    PFN_vkGetQueueCheckpointDataNV              vkGetQueueCheckpointDataNV              = 0;
-    PFN_vkQueueBeginDebugUtilsLabelEXT          vkQueueBeginDebugUtilsLabelEXT          = 0;
-    PFN_vkQueueBindSparse                       vkQueueBindSparse                       = 0;
-    PFN_vkQueueEndDebugUtilsLabelEXT            vkQueueEndDebugUtilsLabelEXT            = 0;
-    PFN_vkQueueInsertDebugUtilsLabelEXT         vkQueueInsertDebugUtilsLabelEXT         = 0;
-    PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
-    PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
-    PFN_vkQueueSubmit                           vkQueueSubmit                           = 0;
-    PFN_vkQueueWaitIdle                         vkQueueWaitIdle                         = 0;
-
-  public:
-    DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT = default;
-
-#if !defined( VK_NO_PROTOTYPES )
-    // This interface is designed to be used for per-device function pointers in combination with a linked vulkan
-    // library.
-    template <typename DynamicLoader>
-    void init( VULKAN_HPP_NAMESPACE::Instance const & instance,
-               VULKAN_HPP_NAMESPACE::Device const &   device,
-               DynamicLoader const &                  dl ) VULKAN_HPP_NOEXCEPT
-    {
-      PFN_vkGetInstanceProcAddr getInstanceProcAddr =
-        dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
-      PFN_vkGetDeviceProcAddr getDeviceProcAddr =
-        dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
-      init( static_cast<VkInstance>( instance ),
-            getInstanceProcAddr,
-            static_cast<VkDevice>( device ),
-            device ? getDeviceProcAddr : nullptr );
-    }
-
-    // This interface is designed to be used for per-device function pointers in combination with a linked vulkan
-    // library.
-    template <typename DynamicLoader
-#  if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
-              = VULKAN_HPP_NAMESPACE::DynamicLoader
-#  endif
-              >
-    void init( VULKAN_HPP_NAMESPACE::Instance const & instance,
-               VULKAN_HPP_NAMESPACE::Device const &   device ) VULKAN_HPP_NOEXCEPT
-    {
-      static DynamicLoader dl;
-      init( instance, device, dl );
-    }
-#endif  // !defined(VK_NO_PROTOTYPES)
-
-    DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
-    {
-      init( getInstanceProcAddr );
-    }
-
-    void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( getInstanceProcAddr );
-
-      vkGetInstanceProcAddr = getInstanceProcAddr;
-      vkCreateInstance      = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
-      vkEnumerateInstanceExtensionProperties = PFN_vkEnumerateInstanceExtensionProperties(
-        vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
-      vkEnumerateInstanceLayerProperties =
-        PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
-      vkEnumerateInstanceVersion =
-        PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
-    }
-
-    // This interface does not require a linked vulkan library.
-    DispatchLoaderDynamic( VkInstance                instance,
-                           PFN_vkGetInstanceProcAddr getInstanceProcAddr,
-                           VkDevice                  device            = VK_NULL_HANDLE,
-                           PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
-    {
-      init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
-    }
-
-    // This interface does not require a linked vulkan library.
-    void init( VkInstance                instance,
-               PFN_vkGetInstanceProcAddr getInstanceProcAddr,
-               VkDevice                  device              = VK_NULL_HANDLE,
-               PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
-    {
-      VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
-      vkGetInstanceProcAddr = getInstanceProcAddr;
-      init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
-      if ( device )
-      {
-        init( VULKAN_HPP_NAMESPACE::Device( device ) );
-      }
-    }
-
-    void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
-    {
-      VkInstance instance = static_cast<VkInstance>( instanceCpp );
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-      vkCreateAndroidSurfaceKHR =
-        PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
+  PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
+  PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT = 0;
+  PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT = 0;
+  PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR = 0;
+  PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR = 0;
+  PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV = 0;
+  PFN_vkDestroyBuffer vkDestroyBuffer = 0;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkDestroyBufferCollectionFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkDestroyBufferView vkDestroyBufferView = 0;
+  PFN_vkDestroyCommandPool vkDestroyCommandPool = 0;
+  PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
+  PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
+  PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR = 0;
+  PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = 0;
+  PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout = 0;
+  PFN_vkDestroyDescriptorUpdateTemplateKHR
+      vkDestroyDescriptorUpdateTemplateKHR = 0;
+  PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate = 0;
+  PFN_vkDestroyDevice vkDestroyDevice = 0;
+  PFN_vkDestroyEvent vkDestroyEvent = 0;
+  PFN_vkDestroyFence vkDestroyFence = 0;
+  PFN_vkDestroyFramebuffer vkDestroyFramebuffer = 0;
+  PFN_vkDestroyImage vkDestroyImage = 0;
+  PFN_vkDestroyImageView vkDestroyImageView = 0;
+  PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV = 0;
+  PFN_vkDestroyInstance vkDestroyInstance = 0;
+  PFN_vkDestroyPipeline vkDestroyPipeline = 0;
+  PFN_vkDestroyPipelineCache vkDestroyPipelineCache = 0;
+  PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout = 0;
+  PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
+  PFN_vkDestroyQueryPool vkDestroyQueryPool = 0;
+  PFN_vkDestroyRenderPass vkDestroyRenderPass = 0;
+  PFN_vkDestroySampler vkDestroySampler = 0;
+  PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
+  PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion = 0;
+  PFN_vkDestroySemaphore vkDestroySemaphore = 0;
+  PFN_vkDestroyShaderModule vkDestroyShaderModule = 0;
+  PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR = 0;
+  PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = 0;
+  PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
+  PFN_vkDeviceWaitIdle vkDeviceWaitIdle = 0;
+  PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT = 0;
+  PFN_vkEndCommandBuffer vkEndCommandBuffer = 0;
+  PFN_vkEnumerateDeviceExtensionProperties
+      vkEnumerateDeviceExtensionProperties = 0;
+  PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties = 0;
+  PFN_vkEnumerateInstanceExtensionProperties
+      vkEnumerateInstanceExtensionProperties = 0;
+  PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties = 0;
+  PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion = 0;
+  PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
+  PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups = 0;
+  PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
+      vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
+  PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices = 0;
+  PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges = 0;
+  PFN_vkFreeCommandBuffers vkFreeCommandBuffers = 0;
+  PFN_vkFreeDescriptorSets vkFreeDescriptorSets = 0;
+  PFN_vkFreeMemory vkFreeMemory = 0;
+  PFN_vkGetAccelerationStructureBuildSizesKHR
+      vkGetAccelerationStructureBuildSizesKHR = 0;
+  PFN_vkGetAccelerationStructureDeviceAddressKHR
+      vkGetAccelerationStructureDeviceAddressKHR = 0;
+  PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV = 0;
+  PFN_vkGetAccelerationStructureMemoryRequirementsNV
+      vkGetAccelerationStructureMemoryRequirementsNV = 0;
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  PFN_vkGetAndroidHardwareBufferPropertiesANDROID
+      vkGetAndroidHardwareBufferPropertiesANDROID = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetAndroidHardwareBufferPropertiesANDROID =
+      0;
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-      vkCreateDebugReportCallbackEXT =
-        PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
-      vkCreateDebugUtilsMessengerEXT =
-        PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-      vkCreateDirectFBSurfaceEXT =
-        PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
-#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-      vkCreateDisplayPlaneSurfaceKHR =
-        PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
-      vkCreateHeadlessSurfaceEXT =
-        PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
-#ifdef VK_USE_PLATFORM_IOS_MVK
-      vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
-#endif /*VK_USE_PLATFORM_IOS_MVK*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkCreateImagePipeSurfaceFUCHSIA =
-        PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkGetBufferCollectionProperties2FUCHSIA
+      vkGetBufferCollectionProperties2FUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetBufferCollectionProperties2FUCHSIA = 0;
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_MACOS_MVK
-      vkCreateMacOSSurfaceMVK =
-        PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
-#endif /*VK_USE_PLATFORM_MACOS_MVK*/
-#ifdef VK_USE_PLATFORM_METAL_EXT
-      vkCreateMetalSurfaceEXT =
-        PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
-#endif /*VK_USE_PLATFORM_METAL_EXT*/
-#ifdef VK_USE_PLATFORM_GGP
-      vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP(
-        vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
-#endif /*VK_USE_PLATFORM_GGP*/
-#ifdef VK_USE_PLATFORM_VI_NN
-      vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
-#endif /*VK_USE_PLATFORM_VI_NN*/
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-      vkCreateWaylandSurfaceKHR =
-        PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
-#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkCreateWin32SurfaceKHR =
-        PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkGetBufferCollectionPropertiesFUCHSIA
+      vkGetBufferCollectionPropertiesFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetBufferCollectionPropertiesFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
+  PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR = 0;
+  PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress = 0;
+  PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements = 0;
+  PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR = 0;
+  PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 = 0;
+  PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR = 0;
+  PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress = 0;
+  PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT = 0;
+  PFN_vkGetDeferredOperationMaxConcurrencyKHR
+      vkGetDeferredOperationMaxConcurrencyKHR = 0;
+  PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR = 0;
+  PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
+  PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport = 0;
+  PFN_vkGetDeviceAccelerationStructureCompatibilityKHR
+      vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
+  PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR
+      vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
+  PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures = 0;
+  PFN_vkGetDeviceGroupPresentCapabilitiesKHR
+      vkGetDeviceGroupPresentCapabilitiesKHR = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetDeviceGroupSurfacePresentModes2EXT
+      vkGetDeviceGroupSurfacePresentModes2EXT = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetDeviceGroupSurfacePresentModes2EXT = 0;
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_XCB_KHR
-      vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
+  PFN_vkGetDeviceGroupSurfacePresentModesKHR
+      vkGetDeviceGroupSurfacePresentModesKHR = 0;
+  PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment = 0;
+  PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR
+      vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
+  PFN_vkGetDeviceMemoryOpaqueCaptureAddress
+      vkGetDeviceMemoryOpaqueCaptureAddress = 0;
+  PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0;
+  PFN_vkGetDeviceQueue vkGetDeviceQueue = 0;
+  PFN_vkGetDeviceQueue2 vkGetDeviceQueue2 = 0;
+  PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR = 0;
+  PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR = 0;
+  PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR = 0;
+  PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR = 0;
+  PFN_vkGetDisplayPlaneSupportedDisplaysKHR
+      vkGetDisplayPlaneSupportedDisplaysKHR = 0;
+  PFN_vkGetEventStatus vkGetEventStatus = 0;
+  PFN_vkGetFenceFdKHR vkGetFenceFdKHR = 0;
+  PFN_vkGetFenceStatus vkGetFenceStatus = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetFenceWin32HandleKHR = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  PFN_vkGetGeneratedCommandsMemoryRequirementsNV
+      vkGetGeneratedCommandsMemoryRequirementsNV = 0;
+  PFN_vkGetImageDrmFormatModifierPropertiesEXT
+      vkGetImageDrmFormatModifierPropertiesEXT = 0;
+  PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements = 0;
+  PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR = 0;
+  PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 = 0;
+  PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements = 0;
+  PFN_vkGetImageSparseMemoryRequirements2KHR
+      vkGetImageSparseMemoryRequirements2KHR = 0;
+  PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 =
+      0;
+  PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout = 0;
+  PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
+  PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX = 0;
+  PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0;
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+  PFN_vkGetMemoryAndroidHardwareBufferANDROID
+      vkGetMemoryAndroidHardwareBufferANDROID = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetMemoryAndroidHardwareBufferANDROID = 0;
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+  PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR = 0;
+  PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
+  PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT =
+      0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetMemoryWin32HandleKHR = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetMemoryWin32HandleNV = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR =
+      0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetMemoryWin32HandlePropertiesKHR = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetMemoryZirconHandleFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA
+      vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
+  PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL = 0;
+  PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
+      vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
+  PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
+      vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+  PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT
+      vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
+#else
+  PFN_dummy
+      placeholder_dont_call_vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
+          0;
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+  PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR
+      vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR
+      vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
+  PFN_vkGetPhysicalDeviceDisplayProperties2KHR
+      vkGetPhysicalDeviceDisplayProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceDisplayPropertiesKHR
+      vkGetPhysicalDeviceDisplayPropertiesKHR = 0;
+  PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR
+      vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
+  PFN_vkGetPhysicalDeviceExternalBufferProperties
+      vkGetPhysicalDeviceExternalBufferProperties = 0;
+  PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR
+      vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
+  PFN_vkGetPhysicalDeviceExternalFenceProperties
+      vkGetPhysicalDeviceExternalFenceProperties = 0;
+  PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV
+      vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
+  PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
+      vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
+  PFN_vkGetPhysicalDeviceExternalSemaphoreProperties
+      vkGetPhysicalDeviceExternalSemaphoreProperties = 0;
+  PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures = 0;
+  PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR = 0;
+  PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 = 0;
+  PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties =
+      0;
+  PFN_vkGetPhysicalDeviceFormatProperties2KHR
+      vkGetPhysicalDeviceFormatProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceFormatProperties2
+      vkGetPhysicalDeviceFormatProperties2 = 0;
+  PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR
+      vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
+  PFN_vkGetPhysicalDeviceImageFormatProperties
+      vkGetPhysicalDeviceImageFormatProperties = 0;
+  PFN_vkGetPhysicalDeviceImageFormatProperties2KHR
+      vkGetPhysicalDeviceImageFormatProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceImageFormatProperties2
+      vkGetPhysicalDeviceImageFormatProperties2 = 0;
+  PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties =
+      0;
+  PFN_vkGetPhysicalDeviceMemoryProperties2KHR
+      vkGetPhysicalDeviceMemoryProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceMemoryProperties2
+      vkGetPhysicalDeviceMemoryProperties2 = 0;
+  PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT
+      vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
+  PFN_vkGetPhysicalDevicePresentRectanglesKHR
+      vkGetPhysicalDevicePresentRectanglesKHR = 0;
+  PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties = 0;
+  PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 = 0;
+  PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
+      vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0;
+  PFN_vkGetPhysicalDeviceQueueFamilyProperties
+      vkGetPhysicalDeviceQueueFamilyProperties = 0;
+  PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR
+      vkGetPhysicalDeviceQueueFamilyProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceQueueFamilyProperties2
+      vkGetPhysicalDeviceQueueFamilyProperties2 = 0;
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+  PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX
+      vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
+#else
+  PFN_dummy
+      placeholder_dont_call_vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+  PFN_vkGetPhysicalDeviceSparseImageFormatProperties
+      vkGetPhysicalDeviceSparseImageFormatProperties = 0;
+  PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
+      vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
+  PFN_vkGetPhysicalDeviceSparseImageFormatProperties2
+      vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
+  PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
+      vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
+  PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT
+      vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
+  PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR
+      vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
+  PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
+      vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
+  PFN_vkGetPhysicalDeviceSurfaceFormats2KHR
+      vkGetPhysicalDeviceSurfaceFormats2KHR = 0;
+  PFN_vkGetPhysicalDeviceSurfaceFormatsKHR
+      vkGetPhysicalDeviceSurfaceFormatsKHR = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT
+      vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceSurfacePresentModes2EXT =
+      0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  PFN_vkGetPhysicalDeviceSurfacePresentModesKHR
+      vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
+  PFN_vkGetPhysicalDeviceSurfaceSupportKHR
+      vkGetPhysicalDeviceSurfaceSupportKHR = 0;
+  PFN_vkGetPhysicalDeviceToolPropertiesEXT
+      vkGetPhysicalDeviceToolPropertiesEXT = 0;
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+  PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR
+      vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
+#else
+  PFN_dummy
+      placeholder_dont_call_vkGetPhysicalDeviceWaylandPresentationSupportKHR =
+          0;
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR
+      vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
+#else
+  PFN_dummy
+      placeholder_dont_call_vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+  PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR
+      vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceXcbPresentationSupportKHR =
+      0;
 #endif /*VK_USE_PLATFORM_XCB_KHR*/
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-      vkCreateXlibSurfaceKHR =
-        PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+  PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR
+      vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
+#else
+  PFN_dummy
+      placeholder_dont_call_vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
-      vkDebugReportMessageEXT =
-        PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
-      vkDestroyDebugReportCallbackEXT =
-        PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
-      vkDestroyDebugUtilsMessengerEXT =
-        PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
-      vkDestroyInstance   = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
-      vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
-      vkEnumeratePhysicalDeviceGroups =
-        PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
-      vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR(
-        vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
-      vkEnumeratePhysicalDevices =
-        PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
-      vkSubmitDebugUtilsMessageEXT =
-        PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-      vkAcquireXlibDisplayEXT =
-        PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
+  PFN_vkGetPipelineCacheData vkGetPipelineCacheData = 0;
+  PFN_vkGetPipelineExecutableInternalRepresentationsKHR
+      vkGetPipelineExecutableInternalRepresentationsKHR = 0;
+  PFN_vkGetPipelineExecutablePropertiesKHR
+      vkGetPipelineExecutablePropertiesKHR = 0;
+  PFN_vkGetPipelineExecutableStatisticsKHR
+      vkGetPipelineExecutableStatisticsKHR = 0;
+  PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT = 0;
+  PFN_vkGetQueryPoolResults vkGetQueryPoolResults = 0;
+  PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
+  PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+  PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetRandROutputDisplayEXT = 0;
 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-      vkCreateDevice = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
-      vkCreateDisplayModeKHR =
-        PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
-      vkEnumerateDeviceExtensionProperties = PFN_vkEnumerateDeviceExtensionProperties(
-        vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
-      vkEnumerateDeviceLayerProperties =
-        PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
-      vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR =
+  PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
+      vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
+  PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV =
+      0;
+  PFN_vkGetRayTracingShaderGroupHandlesKHR
+      vkGetRayTracingShaderGroupHandlesKHR = 0;
+  PFN_vkGetRayTracingShaderGroupStackSizeKHR
+      vkGetRayTracingShaderGroupStackSizeKHR = 0;
+  PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE = 0;
+  PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity = 0;
+  PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
+  PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue = 0;
+  PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetSemaphoreWin32HandleKHR = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetSemaphoreZirconHandleFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
+  PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT = 0;
+  PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR = 0;
+  PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
+  PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkGetWinrtDisplayNV = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkImportFenceWin32HandleKHR = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkImportSemaphoreWin32HandleKHR = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkImportSemaphoreZirconHandleFUCHSIA
+      vkImportSemaphoreZirconHandleFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkImportSemaphoreZirconHandleFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL = 0;
+  PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges = 0;
+  PFN_vkMapMemory vkMapMemory = 0;
+  PFN_vkMergePipelineCaches vkMergePipelineCaches = 0;
+  PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT = 0;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkModifyMemoryRangesFUCHSIA vkModifyMemoryRangesFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkModifyMemoryRangesFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT = 0;
+  PFN_vkQueueBindSparse vkQueueBindSparse = 0;
+  PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT = 0;
+  PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
+  PFN_vkQueuePresentKHR vkQueuePresentKHR = 0;
+  PFN_vkQueueSetPerformanceConfigurationINTEL
+      vkQueueSetPerformanceConfigurationINTEL = 0;
+  PFN_vkQueueSubmit vkQueueSubmit = 0;
+  PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR = 0;
+  PFN_vkQueueWaitIdle vkQueueWaitIdle = 0;
+  PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT = 0;
+  PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
+  PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+  PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT =
+      0;
+#else
+  PFN_dummy placeholder_dont_call_vkReleaseFullScreenExclusiveModeEXT = 0;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  PFN_vkReleasePerformanceConfigurationINTEL
+      vkReleasePerformanceConfigurationINTEL = 0;
+  PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR = 0;
+  PFN_vkResetCommandBuffer vkResetCommandBuffer = 0;
+  PFN_vkResetCommandPool vkResetCommandPool = 0;
+  PFN_vkResetDescriptorPool vkResetDescriptorPool = 0;
+  PFN_vkResetEvent vkResetEvent = 0;
+  PFN_vkResetFences vkResetFences = 0;
+  PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
+  PFN_vkResetQueryPool vkResetQueryPool = 0;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA
+      vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
+#else
+  PFN_dummy
+      placeholder_dont_call_vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkSetBufferCollectionConstraintsFUCHSIA
+      vkSetBufferCollectionConstraintsFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkSetBufferCollectionConstraintsFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkSetBufferCollectionImageConstraintsFUCHSIA
+      vkSetBufferCollectionImageConstraintsFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkSetBufferCollectionImageConstraintsFUCHSIA =
+      0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT = 0;
+  PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT = 0;
+  PFN_vkSetEvent vkSetEvent = 0;
+  PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
+  PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
+  PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT = 0;
+  PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR = 0;
+  PFN_vkSignalSemaphore vkSignalSemaphore = 0;
+  PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT = 0;
+  PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
+  PFN_vkTrimCommandPool vkTrimCommandPool = 0;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+  PFN_vkTrimCompactImageDeviceMemoryFUCHSIA
+      vkTrimCompactImageDeviceMemoryFUCHSIA = 0;
+#else
+  PFN_dummy placeholder_dont_call_vkTrimCompactImageDeviceMemoryFUCHSIA = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+  PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL = 0;
+  PFN_vkUnmapMemory vkUnmapMemory = 0;
+  PFN_vkUpdateDescriptorSetWithTemplateKHR
+      vkUpdateDescriptorSetWithTemplateKHR = 0;
+  PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate = 0;
+  PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets = 0;
+  PFN_vkWaitForFences vkWaitForFences = 0;
+  PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR = 0;
+  PFN_vkWaitSemaphores vkWaitSemaphores = 0;
+  PFN_vkWriteAccelerationStructuresPropertiesKHR
+      vkWriteAccelerationStructuresPropertiesKHR = 0;
+
+public:
+  DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT = default;
+  DispatchLoaderDynamic(DispatchLoaderDynamic const &rhs)
+      VULKAN_HPP_NOEXCEPT = default;
+
+#if !defined(VK_NO_PROTOTYPES)
+  // This interface is designed to be used for per-device function pointers in
+  // combination with a linked vulkan library.
+  template <typename DynamicLoader>
+  void init(VULKAN_HPP_NAMESPACE::Instance const &instance,
+            VULKAN_HPP_NAMESPACE::Device const &device,
+            DynamicLoader const &dl) VULKAN_HPP_NOEXCEPT {
+    PFN_vkGetInstanceProcAddr getInstanceProcAddr =
+        dl.template getProcAddress<PFN_vkGetInstanceProcAddr>(
+            "vkGetInstanceProcAddr");
+    PFN_vkGetDeviceProcAddr getDeviceProcAddr =
+        dl.template getProcAddress<PFN_vkGetDeviceProcAddr>(
+            "vkGetDeviceProcAddr");
+    init(static_cast<VkInstance>(instance), getInstanceProcAddr,
+         static_cast<VkDevice>(device), device ? getDeviceProcAddr : nullptr);
+  }
+
+  // This interface is designed to be used for per-device function pointers in
+  // combination with a linked vulkan library.
+  template <typename DynamicLoader
+#if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
+            = VULKAN_HPP_NAMESPACE::DynamicLoader
+#endif
+            >
+  void init(VULKAN_HPP_NAMESPACE::Instance const &instance,
+            VULKAN_HPP_NAMESPACE::Device const &device) VULKAN_HPP_NOEXCEPT {
+    static DynamicLoader dl;
+    init(instance, device, dl);
+  }
+#endif // !defined( VK_NO_PROTOTYPES )
+
+  DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)
+      VULKAN_HPP_NOEXCEPT {
+    init(getInstanceProcAddr);
+  }
+
+  void init(PFN_vkGetInstanceProcAddr getInstanceProcAddr) VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(getInstanceProcAddr);
+
+    vkGetInstanceProcAddr = getInstanceProcAddr;
+    vkCreateInstance =
+        PFN_vkCreateInstance(vkGetInstanceProcAddr(NULL, "vkCreateInstance"));
+    vkEnumerateInstanceExtensionProperties =
+        PFN_vkEnumerateInstanceExtensionProperties(vkGetInstanceProcAddr(
+            NULL, "vkEnumerateInstanceExtensionProperties"));
+    vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties(
+        vkGetInstanceProcAddr(NULL, "vkEnumerateInstanceLayerProperties"));
+    vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion(
+        vkGetInstanceProcAddr(NULL, "vkEnumerateInstanceVersion"));
+  }
+
+  // This interface does not require a linked vulkan library.
+  DispatchLoaderDynamic(
+      VkInstance instance, PFN_vkGetInstanceProcAddr getInstanceProcAddr,
+      VkDevice device = {},
+      PFN_vkGetDeviceProcAddr getDeviceProcAddr = nullptr) VULKAN_HPP_NOEXCEPT {
+    init(instance, getInstanceProcAddr, device, getDeviceProcAddr);
+  }
+
+  // This interface does not require a linked vulkan library.
+  void init(VkInstance instance, PFN_vkGetInstanceProcAddr getInstanceProcAddr,
+            VkDevice device = {},
+            PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr)
+      VULKAN_HPP_NOEXCEPT {
+    VULKAN_HPP_ASSERT(instance && getInstanceProcAddr);
+    vkGetInstanceProcAddr = getInstanceProcAddr;
+    init(VULKAN_HPP_NAMESPACE::Instance(instance));
+    if (device) {
+      init(VULKAN_HPP_NAMESPACE::Device(device));
+    }
+  }
+
+  void init(VULKAN_HPP_NAMESPACE::Instance instanceCpp) VULKAN_HPP_NOEXCEPT {
+    VkInstance instance = static_cast<VkInstance>(instanceCpp);
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV(
+        vkGetInstanceProcAddr(instance, "vkAcquireWinrtDisplayNV"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    vkAcquireXlibDisplayEXT = PFN_vkAcquireXlibDisplayEXT(
+        vkGetInstanceProcAddr(instance, "vkAcquireXlibDisplayEXT"));
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+    vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR"));
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+    vkCreateDebugReportCallbackEXT = PFN_vkCreateDebugReportCallbackEXT(
+        vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT"));
+    vkCreateDebugUtilsMessengerEXT = PFN_vkCreateDebugUtilsMessengerEXT(
+        vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT"));
+    vkCreateDevice =
+        PFN_vkCreateDevice(vkGetInstanceProcAddr(instance, "vkCreateDevice"));
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+    vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT(
+        vkGetInstanceProcAddr(instance, "vkCreateDirectFBSurfaceEXT"));
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+    vkCreateDisplayModeKHR = PFN_vkCreateDisplayModeKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateDisplayModeKHR"));
+    vkCreateDisplayPlaneSurfaceKHR = PFN_vkCreateDisplayPlaneSurfaceKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR"));
+    vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT(
+        vkGetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT"));
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+    vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK(
+        vkGetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK"));
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA(
+        vkGetInstanceProcAddr(instance, "vkCreateImagePipeSurfaceFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+    vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK(
+        vkGetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK"));
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+    vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT(
+        vkGetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT"));
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+    vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX(
+        vkGetInstanceProcAddr(instance, "vkCreateScreenSurfaceQNX"));
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+#if defined(VK_USE_PLATFORM_GGP)
+    vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP(
+        vkGetInstanceProcAddr(instance, "vkCreateStreamDescriptorSurfaceGGP"));
+#endif /*VK_USE_PLATFORM_GGP*/
+#if defined(VK_USE_PLATFORM_VI_NN)
+    vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN(
+        vkGetInstanceProcAddr(instance, "vkCreateViSurfaceNN"));
+#endif /*VK_USE_PLATFORM_VI_NN*/
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+    vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR"));
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+    vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR"));
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+    vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateXlibSurfaceKHR"));
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+    vkDebugReportMessageEXT = PFN_vkDebugReportMessageEXT(
+        vkGetInstanceProcAddr(instance, "vkDebugReportMessageEXT"));
+    vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT(
+        vkGetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT"));
+    vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT(
+        vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT"));
+    vkDestroyInstance = PFN_vkDestroyInstance(
+        vkGetInstanceProcAddr(instance, "vkDestroyInstance"));
+    vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR(
+        vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+    vkEnumerateDeviceExtensionProperties =
+        PFN_vkEnumerateDeviceExtensionProperties(vkGetInstanceProcAddr(
+            instance, "vkEnumerateDeviceExtensionProperties"));
+    vkEnumerateDeviceLayerProperties = PFN_vkEnumerateDeviceLayerProperties(
+        vkGetInstanceProcAddr(instance, "vkEnumerateDeviceLayerProperties"));
+    vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR(
+        vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroupsKHR"));
+    vkEnumeratePhysicalDeviceGroups = PFN_vkEnumeratePhysicalDeviceGroups(
+        vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroups"));
+    if (!vkEnumeratePhysicalDeviceGroups)
+      vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
+    vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR =
         PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-          vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
-      vkGetDisplayModeProperties2KHR =
-        PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
-      vkGetDisplayModePropertiesKHR =
-        PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
-      vkGetDisplayPlaneCapabilities2KHR =
-        PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
-      vkGetDisplayPlaneCapabilitiesKHR =
-        PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
-      vkGetDisplayPlaneSupportedDisplaysKHR = PFN_vkGetDisplayPlaneSupportedDisplaysKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
-      vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
-      vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
-#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-      vkGetPhysicalDeviceDirectFBPresentationSupportEXT = PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
+            vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFami"
+                                            "lyPerformanceQueryCountersKHR"));
+    vkEnumeratePhysicalDevices = PFN_vkEnumeratePhysicalDevices(
+        vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices"));
+    vkGetDisplayModeProperties2KHR = PFN_vkGetDisplayModeProperties2KHR(
+        vkGetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR"));
+    vkGetDisplayModePropertiesKHR = PFN_vkGetDisplayModePropertiesKHR(
+        vkGetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR"));
+    vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR(
+        vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR"));
+    vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR(
+        vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR"));
+    vkGetDisplayPlaneSupportedDisplaysKHR =
+        PFN_vkGetDisplayPlaneSupportedDisplaysKHR(vkGetInstanceProcAddr(
+            instance, "vkGetDisplayPlaneSupportedDisplaysKHR"));
+    vkGetInstanceProcAddr = PFN_vkGetInstanceProcAddr(
+        vkGetInstanceProcAddr(instance, "vkGetInstanceProcAddr"));
+    vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
+        PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"));
+    vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
+        PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV"));
+#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+    vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
+        PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT"));
 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-      vkGetPhysicalDeviceDisplayPlaneProperties2KHR = PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
-      vkGetPhysicalDeviceDisplayPlanePropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
-      vkGetPhysicalDeviceDisplayProperties2KHR = PFN_vkGetPhysicalDeviceDisplayProperties2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
-      vkGetPhysicalDeviceDisplayPropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
-      vkGetPhysicalDeviceExternalBufferProperties = PFN_vkGetPhysicalDeviceExternalBufferProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
-      vkGetPhysicalDeviceExternalBufferPropertiesKHR = PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
-      vkGetPhysicalDeviceExternalFenceProperties = PFN_vkGetPhysicalDeviceExternalFenceProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
-      vkGetPhysicalDeviceExternalFencePropertiesKHR = PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
-      vkGetPhysicalDeviceExternalImageFormatPropertiesNV = PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
-      vkGetPhysicalDeviceExternalSemaphoreProperties = PFN_vkGetPhysicalDeviceExternalSemaphoreProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
-      vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
-      vkGetPhysicalDeviceFeatures =
-        PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
-      vkGetPhysicalDeviceFeatures2 =
-        PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
-      vkGetPhysicalDeviceFeatures2KHR =
-        PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
-      vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
-      vkGetPhysicalDeviceFormatProperties2 = PFN_vkGetPhysicalDeviceFormatProperties2(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
-      vkGetPhysicalDeviceFormatProperties2KHR = PFN_vkGetPhysicalDeviceFormatProperties2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
-      vkGetPhysicalDeviceImageFormatProperties = PFN_vkGetPhysicalDeviceImageFormatProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
-      vkGetPhysicalDeviceImageFormatProperties2 = PFN_vkGetPhysicalDeviceImageFormatProperties2(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
-      vkGetPhysicalDeviceImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceImageFormatProperties2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
-      vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
-      vkGetPhysicalDeviceMemoryProperties2 = PFN_vkGetPhysicalDeviceMemoryProperties2(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
-      vkGetPhysicalDeviceMemoryProperties2KHR = PFN_vkGetPhysicalDeviceMemoryProperties2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
-      vkGetPhysicalDeviceMultisamplePropertiesEXT = PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
-      vkGetPhysicalDevicePresentRectanglesKHR = PFN_vkGetPhysicalDevicePresentRectanglesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
-      vkGetPhysicalDeviceProperties =
-        PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
-      vkGetPhysicalDeviceProperties2 =
-        PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
-      vkGetPhysicalDeviceProperties2KHR =
-        PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
-      vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR =
+    vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
+        PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"));
+    vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
+        PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"));
+    vkGetPhysicalDeviceDisplayProperties2KHR =
+        PFN_vkGetPhysicalDeviceDisplayProperties2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceDisplayProperties2KHR"));
+    vkGetPhysicalDeviceDisplayPropertiesKHR =
+        PFN_vkGetPhysicalDeviceDisplayPropertiesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceDisplayPropertiesKHR"));
+    vkGetPhysicalDeviceExternalBufferPropertiesKHR =
+        PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"));
+    vkGetPhysicalDeviceExternalBufferProperties =
+        PFN_vkGetPhysicalDeviceExternalBufferProperties(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceExternalBufferProperties"));
+    if (!vkGetPhysicalDeviceExternalBufferProperties)
+      vkGetPhysicalDeviceExternalBufferProperties =
+          vkGetPhysicalDeviceExternalBufferPropertiesKHR;
+    vkGetPhysicalDeviceExternalFencePropertiesKHR =
+        PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR"));
+    vkGetPhysicalDeviceExternalFenceProperties =
+        PFN_vkGetPhysicalDeviceExternalFenceProperties(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceExternalFenceProperties"));
+    if (!vkGetPhysicalDeviceExternalFenceProperties)
+      vkGetPhysicalDeviceExternalFenceProperties =
+          vkGetPhysicalDeviceExternalFencePropertiesKHR;
+    vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
+        PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
+            vkGetInstanceProcAddr(
+                instance,
+                "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"));
+    vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
+        PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"));
+    vkGetPhysicalDeviceExternalSemaphoreProperties =
+        PFN_vkGetPhysicalDeviceExternalSemaphoreProperties(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceExternalSemaphoreProperties"));
+    if (!vkGetPhysicalDeviceExternalSemaphoreProperties)
+      vkGetPhysicalDeviceExternalSemaphoreProperties =
+          vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
+    vkGetPhysicalDeviceFeatures = PFN_vkGetPhysicalDeviceFeatures(
+        vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures"));
+    vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR(
+        vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2KHR"));
+    vkGetPhysicalDeviceFeatures2 = PFN_vkGetPhysicalDeviceFeatures2(
+        vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2"));
+    if (!vkGetPhysicalDeviceFeatures2)
+      vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
+    vkGetPhysicalDeviceFormatProperties =
+        PFN_vkGetPhysicalDeviceFormatProperties(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceFormatProperties"));
+    vkGetPhysicalDeviceFormatProperties2KHR =
+        PFN_vkGetPhysicalDeviceFormatProperties2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceFormatProperties2KHR"));
+    vkGetPhysicalDeviceFormatProperties2 =
+        PFN_vkGetPhysicalDeviceFormatProperties2(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceFormatProperties2"));
+    if (!vkGetPhysicalDeviceFormatProperties2)
+      vkGetPhysicalDeviceFormatProperties2 =
+          vkGetPhysicalDeviceFormatProperties2KHR;
+    vkGetPhysicalDeviceFragmentShadingRatesKHR =
+        PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR"));
+    vkGetPhysicalDeviceImageFormatProperties =
+        PFN_vkGetPhysicalDeviceImageFormatProperties(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceImageFormatProperties"));
+    vkGetPhysicalDeviceImageFormatProperties2KHR =
+        PFN_vkGetPhysicalDeviceImageFormatProperties2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceImageFormatProperties2KHR"));
+    vkGetPhysicalDeviceImageFormatProperties2 =
+        PFN_vkGetPhysicalDeviceImageFormatProperties2(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceImageFormatProperties2"));
+    if (!vkGetPhysicalDeviceImageFormatProperties2)
+      vkGetPhysicalDeviceImageFormatProperties2 =
+          vkGetPhysicalDeviceImageFormatProperties2KHR;
+    vkGetPhysicalDeviceMemoryProperties =
+        PFN_vkGetPhysicalDeviceMemoryProperties(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceMemoryProperties"));
+    vkGetPhysicalDeviceMemoryProperties2KHR =
+        PFN_vkGetPhysicalDeviceMemoryProperties2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceMemoryProperties2KHR"));
+    vkGetPhysicalDeviceMemoryProperties2 =
+        PFN_vkGetPhysicalDeviceMemoryProperties2(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceMemoryProperties2"));
+    if (!vkGetPhysicalDeviceMemoryProperties2)
+      vkGetPhysicalDeviceMemoryProperties2 =
+          vkGetPhysicalDeviceMemoryProperties2KHR;
+    vkGetPhysicalDeviceMultisamplePropertiesEXT =
+        PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT"));
+    vkGetPhysicalDevicePresentRectanglesKHR =
+        PFN_vkGetPhysicalDevicePresentRectanglesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDevicePresentRectanglesKHR"));
+    vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties(
+        vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties"));
+    vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR(
+        vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR"));
+    vkGetPhysicalDeviceProperties2 = PFN_vkGetPhysicalDeviceProperties2(
+        vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2"));
+    if (!vkGetPhysicalDeviceProperties2)
+      vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
+    vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR =
         PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
-          vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
-      vkGetPhysicalDeviceQueueFamilyProperties = PFN_vkGetPhysicalDeviceQueueFamilyProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
-      vkGetPhysicalDeviceQueueFamilyProperties2 = PFN_vkGetPhysicalDeviceQueueFamilyProperties2(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
-      vkGetPhysicalDeviceQueueFamilyProperties2KHR = PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
-      vkGetPhysicalDeviceSparseImageFormatProperties = PFN_vkGetPhysicalDeviceSparseImageFormatProperties(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
-      vkGetPhysicalDeviceSparseImageFormatProperties2 = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
-      vkGetPhysicalDeviceSparseImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
-      vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV =
+            vkGetInstanceProcAddr(
+                instance,
+                "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"));
+    vkGetPhysicalDeviceQueueFamilyProperties =
+        PFN_vkGetPhysicalDeviceQueueFamilyProperties(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceQueueFamilyProperties"));
+    vkGetPhysicalDeviceQueueFamilyProperties2KHR =
+        PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"));
+    vkGetPhysicalDeviceQueueFamilyProperties2 =
+        PFN_vkGetPhysicalDeviceQueueFamilyProperties2(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceQueueFamilyProperties2"));
+    if (!vkGetPhysicalDeviceQueueFamilyProperties2)
+      vkGetPhysicalDeviceQueueFamilyProperties2 =
+          vkGetPhysicalDeviceQueueFamilyProperties2KHR;
+#if defined(VK_USE_PLATFORM_SCREEN_QNX)
+    vkGetPhysicalDeviceScreenPresentationSupportQNX =
+        PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX"));
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+    vkGetPhysicalDeviceSparseImageFormatProperties =
+        PFN_vkGetPhysicalDeviceSparseImageFormatProperties(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceSparseImageFormatProperties"));
+    vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
+        PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
+            vkGetInstanceProcAddr(
+                instance,
+                "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"));
+    vkGetPhysicalDeviceSparseImageFormatProperties2 =
+        PFN_vkGetPhysicalDeviceSparseImageFormatProperties2(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceSparseImageFormatProperties2"));
+    if (!vkGetPhysicalDeviceSparseImageFormatProperties2)
+      vkGetPhysicalDeviceSparseImageFormatProperties2 =
+          vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
+    vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV =
         PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
-          vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
-      vkGetPhysicalDeviceSurfaceCapabilities2EXT = PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
-      vkGetPhysicalDeviceSurfaceCapabilities2KHR = PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
-      vkGetPhysicalDeviceSurfaceCapabilitiesKHR = PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
-      vkGetPhysicalDeviceSurfaceFormats2KHR = PFN_vkGetPhysicalDeviceSurfaceFormats2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
-      vkGetPhysicalDeviceSurfaceFormatsKHR = PFN_vkGetPhysicalDeviceSurfaceFormatsKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetPhysicalDeviceSurfacePresentModes2EXT = PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
+            vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFrameb"
+                                            "ufferMixedSamplesCombinationsNV"));
+    vkGetPhysicalDeviceSurfaceCapabilities2EXT =
+        PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+    vkGetPhysicalDeviceSurfaceCapabilities2KHR =
+        PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"));
+    vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
+        PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"));
+    vkGetPhysicalDeviceSurfaceFormats2KHR =
+        PFN_vkGetPhysicalDeviceSurfaceFormats2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfaceFormats2KHR"));
+    vkGetPhysicalDeviceSurfaceFormatsKHR =
+        PFN_vkGetPhysicalDeviceSurfaceFormatsKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfaceFormatsKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetPhysicalDeviceSurfacePresentModes2EXT =
+        PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkGetPhysicalDeviceSurfacePresentModesKHR = PFN_vkGetPhysicalDeviceSurfacePresentModesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
-      vkGetPhysicalDeviceSurfaceSupportKHR = PFN_vkGetPhysicalDeviceSurfaceSupportKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
-      vkGetPhysicalDeviceToolPropertiesEXT = PFN_vkGetPhysicalDeviceToolPropertiesEXT(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-      vkGetPhysicalDeviceWaylandPresentationSupportKHR = PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
+    vkGetPhysicalDeviceSurfacePresentModesKHR =
+        PFN_vkGetPhysicalDeviceSurfacePresentModesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfacePresentModesKHR"));
+    vkGetPhysicalDeviceSurfaceSupportKHR =
+        PFN_vkGetPhysicalDeviceSurfaceSupportKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceSurfaceSupportKHR"));
+    vkGetPhysicalDeviceToolPropertiesEXT =
+        PFN_vkGetPhysicalDeviceToolPropertiesEXT(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceToolPropertiesEXT"));
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+    vkGetPhysicalDeviceWaylandPresentationSupportKHR =
+        PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"));
 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetPhysicalDeviceWin32PresentationSupportKHR = PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetPhysicalDeviceWin32PresentationSupportKHR =
+        PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_XCB_KHR
-      vkGetPhysicalDeviceXcbPresentationSupportKHR = PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+    vkGetPhysicalDeviceXcbPresentationSupportKHR =
+        PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR"));
 #endif /*VK_USE_PLATFORM_XCB_KHR*/
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-      vkGetPhysicalDeviceXlibPresentationSupportKHR = PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+    vkGetPhysicalDeviceXlibPresentationSupportKHR =
+        PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR"));
 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
-#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-      vkGetRandROutputDisplayEXT =
-        PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
+#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT(
+        vkGetInstanceProcAddr(instance, "vkGetRandROutputDisplayEXT"));
 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
-      vkReleaseDisplayEXT  = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
-      vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
-      vkCmdBeginConditionalRenderingEXT =
-        PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
-      vkCmdBeginDebugUtilsLabelEXT =
-        PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
-      vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
-      vkCmdBeginQueryIndexedEXT =
-        PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
-      vkCmdBeginRenderPass  = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
-      vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
-      vkCmdBeginRenderPass2KHR =
-        PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
-      vkCmdBeginTransformFeedbackEXT =
-        PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
-      vkCmdBindDescriptorSets =
-        PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
-      vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
-      vkCmdBindPipeline    = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
-      vkCmdBindPipelineShaderGroupNV =
-        PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
-      vkCmdBindShadingRateImageNV =
-        PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
-      vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT(
-        vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
-      vkCmdBindVertexBuffers =
-        PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
-      vkCmdBindVertexBuffers2EXT =
-        PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
-      vkCmdBlitImage = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdBuildAccelerationStructureIndirectKHR = PFN_vkCmdBuildAccelerationStructureIndirectKHR(
-        vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureIndirectKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdBuildAccelerationStructureKHR = PFN_vkCmdBuildAccelerationStructureKHR(
-        vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdBuildAccelerationStructureNV =
-        PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
-      vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
-      vkCmdClearColorImage  = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
-      vkCmdClearDepthStencilImage =
-        PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdCopyAccelerationStructureKHR =
-        PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdCopyAccelerationStructureNV =
-        PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdCopyAccelerationStructureToMemoryKHR = PFN_vkCmdCopyAccelerationStructureToMemoryKHR(
-        vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdCopyBuffer = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
-      vkCmdCopyBufferToImage =
-        PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
-      vkCmdCopyImage = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
-      vkCmdCopyImageToBuffer =
-        PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdCopyMemoryToAccelerationStructureKHR = PFN_vkCmdCopyMemoryToAccelerationStructureKHR(
-        vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdCopyQueryPoolResults =
-        PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
-      vkCmdDebugMarkerBeginEXT =
-        PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
-      vkCmdDebugMarkerEndEXT =
-        PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
-      vkCmdDebugMarkerInsertEXT =
-        PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
-      vkCmdDispatch         = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
-      vkCmdDispatchBase     = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
-      vkCmdDispatchBaseKHR  = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
-      vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
-      vkCmdDraw             = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
-      vkCmdDrawIndexed      = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
-      vkCmdDrawIndexedIndirect =
-        PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
-      vkCmdDrawIndexedIndirectCount =
-        PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
-      vkCmdDrawIndexedIndirectCountAMD =
-        PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
-      vkCmdDrawIndexedIndirectCountKHR =
-        PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
-      vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
-      vkCmdDrawIndirectByteCountEXT =
-        PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
-      vkCmdDrawIndirectCount =
-        PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
-      vkCmdDrawIndirectCountAMD =
-        PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
-      vkCmdDrawIndirectCountKHR =
-        PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
-      vkCmdDrawMeshTasksIndirectCountNV =
-        PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
-      vkCmdDrawMeshTasksIndirectNV =
-        PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
-      vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
-      vkCmdEndConditionalRenderingEXT =
-        PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
-      vkCmdEndDebugUtilsLabelEXT =
-        PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
-      vkCmdEndQuery = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
-      vkCmdEndQueryIndexedEXT =
-        PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
-      vkCmdEndRenderPass  = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
-      vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
-      vkCmdEndRenderPass2KHR =
-        PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
-      vkCmdEndTransformFeedbackEXT =
-        PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
-      vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
-      vkCmdExecuteGeneratedCommandsNV =
-        PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
-      vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
-      vkCmdInsertDebugUtilsLabelEXT =
-        PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
-      vkCmdNextSubpass     = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
-      vkCmdNextSubpass2    = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
-      vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
-      vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
-      vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV(
-        vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
-      vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
-      vkCmdPushDescriptorSetKHR =
-        PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
-      vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR(
-        vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
-      vkCmdResetEvent     = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
-      vkCmdResetQueryPool = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
-      vkCmdResolveImage   = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
-      vkCmdSetBlendConstants =
-        PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
-      vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
-      vkCmdSetCoarseSampleOrderNV =
-        PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
-      vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
-      vkCmdSetDepthBias   = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
-      vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
-      vkCmdSetDepthBoundsTestEnableEXT =
-        PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
-      vkCmdSetDepthCompareOpEXT =
-        PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
-      vkCmdSetDepthTestEnableEXT =
-        PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
-      vkCmdSetDepthWriteEnableEXT =
-        PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
-      vkCmdSetDeviceMask    = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
-      vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
-      vkCmdSetDiscardRectangleEXT =
-        PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
-      vkCmdSetEvent = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
-      vkCmdSetExclusiveScissorNV =
-        PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
-      vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
-      vkCmdSetLineStippleEXT =
-        PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
-      vkCmdSetLineWidth = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
-      vkCmdSetPerformanceMarkerINTEL =
-        PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
-      vkCmdSetPerformanceOverrideINTEL =
-        PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
-      vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL(
-        vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
-      vkCmdSetPrimitiveTopologyEXT =
-        PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
-      vkCmdSetSampleLocationsEXT =
-        PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
-      vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
-      vkCmdSetScissorWithCountEXT =
-        PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
-      vkCmdSetStencilCompareMask =
-        PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
-      vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
-      vkCmdSetStencilReference =
-        PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
-      vkCmdSetStencilTestEnableEXT =
-        PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
-      vkCmdSetStencilWriteMask =
-        PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
-      vkCmdSetViewport = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
-      vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV(
-        vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
-      vkCmdSetViewportWScalingNV =
-        PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
-      vkCmdSetViewportWithCountEXT =
-        PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdTraceRaysIndirectKHR =
-        PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdTraceRaysNV  = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
-      vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
-      vkCmdWaitEvents   = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdWriteAccelerationStructuresPropertiesKHR = PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdWriteAccelerationStructuresPropertiesNV = PFN_vkCmdWriteAccelerationStructuresPropertiesNV(
-        vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
-      vkCmdWriteBufferMarkerAMD =
-        PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
-      vkCmdWriteTimestamp  = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
-      vkEndCommandBuffer   = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
-      vkResetCommandBuffer = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT(
-        vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetWinrtDisplayNV = PFN_vkGetWinrtDisplayNV(
+        vkGetInstanceProcAddr(instance, "vkGetWinrtDisplayNV"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkAcquireNextImage2KHR =
-        PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
-      vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
-      vkAcquirePerformanceConfigurationINTEL = PFN_vkAcquirePerformanceConfigurationINTEL(
-        vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
-      vkAcquireProfilingLockKHR =
-        PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
-      vkAllocateCommandBuffers =
-        PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
-      vkAllocateDescriptorSets =
-        PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
-      vkAllocateMemory = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkBindAccelerationStructureMemoryKHR = PFN_vkBindAccelerationStructureMemoryKHR(
-        vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV(
-        vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
-      vkBindBufferMemory  = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
-      vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
-      vkBindBufferMemory2KHR =
-        PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
-      vkBindImageMemory     = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
-      vkBindImageMemory2    = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
-      vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkBuildAccelerationStructureKHR =
-        PFN_vkBuildAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCopyAccelerationStructureKHR =
-        PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCopyAccelerationStructureToMemoryKHR = PFN_vkCopyAccelerationStructureToMemoryKHR(
-        vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCopyMemoryToAccelerationStructureKHR = PFN_vkCopyMemoryToAccelerationStructureKHR(
-        vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCreateAccelerationStructureKHR =
-        PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCreateAccelerationStructureNV =
-        PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
-      vkCreateBuffer = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkCreateBufferCollectionFUCHSIA =
-        PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
+    vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT(
+        vkGetInstanceProcAddr(instance, "vkReleaseDisplayEXT"));
+    vkSubmitDebugUtilsMessageEXT = PFN_vkSubmitDebugUtilsMessageEXT(
+        vkGetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkAcquireFullScreenExclusiveModeEXT =
+        PFN_vkAcquireFullScreenExclusiveModeEXT(vkGetInstanceProcAddr(
+            instance, "vkAcquireFullScreenExclusiveModeEXT"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR(
+        vkGetInstanceProcAddr(instance, "vkAcquireNextImage2KHR"));
+    vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR(
+        vkGetInstanceProcAddr(instance, "vkAcquireNextImageKHR"));
+    vkAcquirePerformanceConfigurationINTEL =
+        PFN_vkAcquirePerformanceConfigurationINTEL(vkGetInstanceProcAddr(
+            instance, "vkAcquirePerformanceConfigurationINTEL"));
+    vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR(
+        vkGetInstanceProcAddr(instance, "vkAcquireProfilingLockKHR"));
+    vkAllocateCommandBuffers = PFN_vkAllocateCommandBuffers(
+        vkGetInstanceProcAddr(instance, "vkAllocateCommandBuffers"));
+    vkAllocateDescriptorSets = PFN_vkAllocateDescriptorSets(
+        vkGetInstanceProcAddr(instance, "vkAllocateDescriptorSets"));
+    vkAllocateMemory = PFN_vkAllocateMemory(
+        vkGetInstanceProcAddr(instance, "vkAllocateMemory"));
+    vkBeginCommandBuffer = PFN_vkBeginCommandBuffer(
+        vkGetInstanceProcAddr(instance, "vkBeginCommandBuffer"));
+    vkBindAccelerationStructureMemoryNV =
+        PFN_vkBindAccelerationStructureMemoryNV(vkGetInstanceProcAddr(
+            instance, "vkBindAccelerationStructureMemoryNV"));
+    vkBindBufferMemory = PFN_vkBindBufferMemory(
+        vkGetInstanceProcAddr(instance, "vkBindBufferMemory"));
+    vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR(
+        vkGetInstanceProcAddr(instance, "vkBindBufferMemory2KHR"));
+    vkBindBufferMemory2 = PFN_vkBindBufferMemory2(
+        vkGetInstanceProcAddr(instance, "vkBindBufferMemory2"));
+    if (!vkBindBufferMemory2)
+      vkBindBufferMemory2 = vkBindBufferMemory2KHR;
+    vkBindImageMemory = PFN_vkBindImageMemory(
+        vkGetInstanceProcAddr(instance, "vkBindImageMemory"));
+    vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR(
+        vkGetInstanceProcAddr(instance, "vkBindImageMemory2KHR"));
+    vkBindImageMemory2 = PFN_vkBindImageMemory2(
+        vkGetInstanceProcAddr(instance, "vkBindImageMemory2"));
+    if (!vkBindImageMemory2)
+      vkBindImageMemory2 = vkBindImageMemory2KHR;
+    vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR(
+        vkGetInstanceProcAddr(instance, "vkBuildAccelerationStructuresKHR"));
+    vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdBeginConditionalRenderingEXT"));
+    vkCmdBeginDebugUtilsLabelEXT = PFN_vkCmdBeginDebugUtilsLabelEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT"));
+    vkCmdBeginQuery =
+        PFN_vkCmdBeginQuery(vkGetInstanceProcAddr(instance, "vkCmdBeginQuery"));
+    vkCmdBeginQueryIndexedEXT = PFN_vkCmdBeginQueryIndexedEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdBeginQueryIndexedEXT"));
+    vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass(
+        vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass"));
+    vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass2KHR"));
+    vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2(
+        vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass2"));
+    if (!vkCmdBeginRenderPass2)
+      vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
+    vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdBeginTransformFeedbackEXT"));
+    vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets(
+        vkGetInstanceProcAddr(instance, "vkCmdBindDescriptorSets"));
+    vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer(
+        vkGetInstanceProcAddr(instance, "vkCmdBindIndexBuffer"));
+    vkCmdBindPipeline = PFN_vkCmdBindPipeline(
+        vkGetInstanceProcAddr(instance, "vkCmdBindPipeline"));
+    vkCmdBindPipelineShaderGroupNV = PFN_vkCmdBindPipelineShaderGroupNV(
+        vkGetInstanceProcAddr(instance, "vkCmdBindPipelineShaderGroupNV"));
+    vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV(
+        vkGetInstanceProcAddr(instance, "vkCmdBindShadingRateImageNV"));
+    vkCmdBindTransformFeedbackBuffersEXT =
+        PFN_vkCmdBindTransformFeedbackBuffersEXT(vkGetInstanceProcAddr(
+            instance, "vkCmdBindTransformFeedbackBuffersEXT"));
+    vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers(
+        vkGetInstanceProcAddr(instance, "vkCmdBindVertexBuffers"));
+    vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT(
+        vkGetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2EXT"));
+    vkCmdBlitImage =
+        PFN_vkCmdBlitImage(vkGetInstanceProcAddr(instance, "vkCmdBlitImage"));
+    vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdBlitImage2KHR"));
+    vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV(
+        vkGetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructureNV"));
+    vkCmdBuildAccelerationStructuresIndirectKHR =
+        PFN_vkCmdBuildAccelerationStructuresIndirectKHR(vkGetInstanceProcAddr(
+            instance, "vkCmdBuildAccelerationStructuresIndirectKHR"));
+    vkCmdBuildAccelerationStructuresKHR =
+        PFN_vkCmdBuildAccelerationStructuresKHR(vkGetInstanceProcAddr(
+            instance, "vkCmdBuildAccelerationStructuresKHR"));
+    vkCmdClearAttachments = PFN_vkCmdClearAttachments(
+        vkGetInstanceProcAddr(instance, "vkCmdClearAttachments"));
+    vkCmdClearColorImage = PFN_vkCmdClearColorImage(
+        vkGetInstanceProcAddr(instance, "vkCmdClearColorImage"));
+    vkCmdClearDepthStencilImage = PFN_vkCmdClearDepthStencilImage(
+        vkGetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage"));
+    vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureKHR"));
+    vkCmdCopyAccelerationStructureNV = PFN_vkCmdCopyAccelerationStructureNV(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureNV"));
+    vkCmdCopyAccelerationStructureToMemoryKHR =
+        PFN_vkCmdCopyAccelerationStructureToMemoryKHR(vkGetInstanceProcAddr(
+            instance, "vkCmdCopyAccelerationStructureToMemoryKHR"));
+    vkCmdCopyBuffer =
+        PFN_vkCmdCopyBuffer(vkGetInstanceProcAddr(instance, "vkCmdCopyBuffer"));
+    vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyBuffer2KHR"));
+    vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyBufferToImage"));
+    vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2KHR"));
+    vkCmdCopyImage =
+        PFN_vkCmdCopyImage(vkGetInstanceProcAddr(instance, "vkCmdCopyImage"));
+    vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyImage2KHR"));
+    vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer"));
+    vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2KHR"));
+    vkCmdCopyMemoryToAccelerationStructureKHR =
+        PFN_vkCmdCopyMemoryToAccelerationStructureKHR(vkGetInstanceProcAddr(
+            instance, "vkCmdCopyMemoryToAccelerationStructureKHR"));
+    vkCmdCopyQueryPoolResults = PFN_vkCmdCopyQueryPoolResults(
+        vkGetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults"));
+    vkCmdDebugMarkerBeginEXT = PFN_vkCmdDebugMarkerBeginEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdDebugMarkerBeginEXT"));
+    vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdDebugMarkerEndEXT"));
+    vkCmdDebugMarkerInsertEXT = PFN_vkCmdDebugMarkerInsertEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdDebugMarkerInsertEXT"));
+    vkCmdDispatch =
+        PFN_vkCmdDispatch(vkGetInstanceProcAddr(instance, "vkCmdDispatch"));
+    vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdDispatchBaseKHR"));
+    vkCmdDispatchBase = PFN_vkCmdDispatchBase(
+        vkGetInstanceProcAddr(instance, "vkCmdDispatchBase"));
+    if (!vkCmdDispatchBase)
+      vkCmdDispatchBase = vkCmdDispatchBaseKHR;
+    vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect(
+        vkGetInstanceProcAddr(instance, "vkCmdDispatchIndirect"));
+    vkCmdDraw = PFN_vkCmdDraw(vkGetInstanceProcAddr(instance, "vkCmdDraw"));
+    vkCmdDrawIndexed = PFN_vkCmdDrawIndexed(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndexed"));
+    vkCmdDrawIndexedIndirect = PFN_vkCmdDrawIndexedIndirect(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect"));
+    vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountAMD"));
+    vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountKHR"));
+    vkCmdDrawIndexedIndirectCount = PFN_vkCmdDrawIndexedIndirectCount(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCount"));
+    if (!vkCmdDrawIndexedIndirectCount)
+      vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
+    if (!vkCmdDrawIndexedIndirectCount)
+      vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
+    vkCmdDrawIndirect = PFN_vkCmdDrawIndirect(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndirect"));
+    vkCmdDrawIndirectByteCountEXT = PFN_vkCmdDrawIndirectByteCountEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndirectByteCountEXT"));
+    vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndirectCountAMD"));
+    vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndirectCountKHR"));
+    vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawIndirectCount"));
+    if (!vkCmdDrawIndirectCount)
+      vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
+    if (!vkCmdDrawIndirectCount)
+      vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
+    vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountNV"));
+    vkCmdDrawMeshTasksIndirectNV = PFN_vkCmdDrawMeshTasksIndirectNV(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectNV"));
+    vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV(
+        vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksNV"));
+    vkCmdEndConditionalRenderingEXT = PFN_vkCmdEndConditionalRenderingEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdEndConditionalRenderingEXT"));
+    vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT"));
+    vkCmdEndQuery =
+        PFN_vkCmdEndQuery(vkGetInstanceProcAddr(instance, "vkCmdEndQuery"));
+    vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdEndQueryIndexedEXT"));
+    vkCmdEndRenderPass = PFN_vkCmdEndRenderPass(
+        vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass"));
+    vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass2KHR"));
+    vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2(
+        vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass2"));
+    if (!vkCmdEndRenderPass2)
+      vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
+    vkCmdEndTransformFeedbackEXT = PFN_vkCmdEndTransformFeedbackEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdEndTransformFeedbackEXT"));
+    vkCmdExecuteCommands = PFN_vkCmdExecuteCommands(
+        vkGetInstanceProcAddr(instance, "vkCmdExecuteCommands"));
+    vkCmdExecuteGeneratedCommandsNV = PFN_vkCmdExecuteGeneratedCommandsNV(
+        vkGetInstanceProcAddr(instance, "vkCmdExecuteGeneratedCommandsNV"));
+    vkCmdFillBuffer =
+        PFN_vkCmdFillBuffer(vkGetInstanceProcAddr(instance, "vkCmdFillBuffer"));
+    vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT"));
+    vkCmdNextSubpass = PFN_vkCmdNextSubpass(
+        vkGetInstanceProcAddr(instance, "vkCmdNextSubpass"));
+    vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdNextSubpass2KHR"));
+    vkCmdNextSubpass2 = PFN_vkCmdNextSubpass2(
+        vkGetInstanceProcAddr(instance, "vkCmdNextSubpass2"));
+    if (!vkCmdNextSubpass2)
+      vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
+    vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier(
+        vkGetInstanceProcAddr(instance, "vkCmdPipelineBarrier"));
+    vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdPipelineBarrier2KHR"));
+    vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV(
+        vkGetInstanceProcAddr(instance, "vkCmdPreprocessGeneratedCommandsNV"));
+    vkCmdPushConstants = PFN_vkCmdPushConstants(
+        vkGetInstanceProcAddr(instance, "vkCmdPushConstants"));
+    vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdPushDescriptorSetKHR"));
+    vkCmdPushDescriptorSetWithTemplateKHR =
+        PFN_vkCmdPushDescriptorSetWithTemplateKHR(vkGetInstanceProcAddr(
+            instance, "vkCmdPushDescriptorSetWithTemplateKHR"));
+    vkCmdResetEvent =
+        PFN_vkCmdResetEvent(vkGetInstanceProcAddr(instance, "vkCmdResetEvent"));
+    vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdResetEvent2KHR"));
+    vkCmdResetQueryPool = PFN_vkCmdResetQueryPool(
+        vkGetInstanceProcAddr(instance, "vkCmdResetQueryPool"));
+    vkCmdResolveImage = PFN_vkCmdResolveImage(
+        vkGetInstanceProcAddr(instance, "vkCmdResolveImage"));
+    vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdResolveImage2KHR"));
+    vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants(
+        vkGetInstanceProcAddr(instance, "vkCmdSetBlendConstants"));
+    vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV(
+        vkGetInstanceProcAddr(instance, "vkCmdSetCheckpointNV"));
+    vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV(
+        vkGetInstanceProcAddr(instance, "vkCmdSetCoarseSampleOrderNV"));
+    vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetCullModeEXT"));
+    vkCmdSetDepthBias = PFN_vkCmdSetDepthBias(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDepthBias"));
+    vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDepthBounds"));
+    vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnableEXT"));
+    vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDepthCompareOpEXT"));
+    vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDepthTestEnableEXT"));
+    vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnableEXT"));
+    vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDeviceMaskKHR"));
+    vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDeviceMask"));
+    if (!vkCmdSetDeviceMask)
+      vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
+    vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEXT"));
+    vkCmdSetEvent =
+        PFN_vkCmdSetEvent(vkGetInstanceProcAddr(instance, "vkCmdSetEvent"));
+    vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdSetEvent2KHR"));
+    vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV(
+        vkGetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorNV"));
+    vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV(
+        vkGetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateEnumNV"));
+    vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateKHR"));
+    vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetFrontFaceEXT"));
+    vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetLineStippleEXT"));
+    vkCmdSetLineWidth = PFN_vkCmdSetLineWidth(
+        vkGetInstanceProcAddr(instance, "vkCmdSetLineWidth"));
+    vkCmdSetPerformanceMarkerINTEL = PFN_vkCmdSetPerformanceMarkerINTEL(
+        vkGetInstanceProcAddr(instance, "vkCmdSetPerformanceMarkerINTEL"));
+    vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL(
+        vkGetInstanceProcAddr(instance, "vkCmdSetPerformanceOverrideINTEL"));
+    vkCmdSetPerformanceStreamMarkerINTEL =
+        PFN_vkCmdSetPerformanceStreamMarkerINTEL(vkGetInstanceProcAddr(
+            instance, "vkCmdSetPerformanceStreamMarkerINTEL"));
+    vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopologyEXT"));
+    vkCmdSetRayTracingPipelineStackSizeKHR =
+        PFN_vkCmdSetRayTracingPipelineStackSizeKHR(vkGetInstanceProcAddr(
+            instance, "vkCmdSetRayTracingPipelineStackSizeKHR"));
+    vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEXT"));
+    vkCmdSetScissor =
+        PFN_vkCmdSetScissor(vkGetInstanceProcAddr(instance, "vkCmdSetScissor"));
+    vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetScissorWithCountEXT"));
+    vkCmdSetStencilCompareMask = PFN_vkCmdSetStencilCompareMask(
+        vkGetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask"));
+    vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetStencilOpEXT"));
+    vkCmdSetStencilReference = PFN_vkCmdSetStencilReference(
+        vkGetInstanceProcAddr(instance, "vkCmdSetStencilReference"));
+    vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetStencilTestEnableEXT"));
+    vkCmdSetStencilWriteMask = PFN_vkCmdSetStencilWriteMask(
+        vkGetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask"));
+    vkCmdSetViewport = PFN_vkCmdSetViewport(
+        vkGetInstanceProcAddr(instance, "vkCmdSetViewport"));
+    vkCmdSetViewportShadingRatePaletteNV =
+        PFN_vkCmdSetViewportShadingRatePaletteNV(vkGetInstanceProcAddr(
+            instance, "vkCmdSetViewportShadingRatePaletteNV"));
+    vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV(
+        vkGetInstanceProcAddr(instance, "vkCmdSetViewportWScalingNV"));
+    vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT(
+        vkGetInstanceProcAddr(instance, "vkCmdSetViewportWithCountEXT"));
+    vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdTraceRaysIndirectKHR"));
+    vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR(
+        vkGetInstanceProcAddr(instance, "vkCmdTraceRaysKHR"));
+    vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV(
+        vkGetInstanceProcAddr(instance, "vkCmdTraceRaysNV"));
+    vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer(
+        vkGetInstanceProcAddr(instance, "vkCmdUpdateBuffer"));
+    vkCmdWaitEvents =
+        PFN_vkCmdWaitEvents(vkGetInstanceProcAddr(instance, "vkCmdWaitEvents"));
+    vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdWaitEvents2KHR"));
+    vkCmdWriteAccelerationStructuresPropertiesKHR =
+        PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(vkGetInstanceProcAddr(
+            instance, "vkCmdWriteAccelerationStructuresPropertiesKHR"));
+    vkCmdWriteAccelerationStructuresPropertiesNV =
+        PFN_vkCmdWriteAccelerationStructuresPropertiesNV(vkGetInstanceProcAddr(
+            instance, "vkCmdWriteAccelerationStructuresPropertiesNV"));
+    vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD(
+        vkGetInstanceProcAddr(instance, "vkCmdWriteBufferMarker2AMD"));
+    vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD(
+        vkGetInstanceProcAddr(instance, "vkCmdWriteBufferMarkerAMD"));
+    vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp(
+        vkGetInstanceProcAddr(instance, "vkCmdWriteTimestamp"));
+    vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR(
+        vkGetInstanceProcAddr(instance, "vkCmdWriteTimestamp2KHR"));
+    vkCompileDeferredNV = PFN_vkCompileDeferredNV(
+        vkGetInstanceProcAddr(instance, "vkCompileDeferredNV"));
+    vkCopyAccelerationStructureKHR = PFN_vkCopyAccelerationStructureKHR(
+        vkGetInstanceProcAddr(instance, "vkCopyAccelerationStructureKHR"));
+    vkCopyAccelerationStructureToMemoryKHR =
+        PFN_vkCopyAccelerationStructureToMemoryKHR(vkGetInstanceProcAddr(
+            instance, "vkCopyAccelerationStructureToMemoryKHR"));
+    vkCopyMemoryToAccelerationStructureKHR =
+        PFN_vkCopyMemoryToAccelerationStructureKHR(vkGetInstanceProcAddr(
+            instance, "vkCopyMemoryToAccelerationStructureKHR"));
+    vkCreateAccelerationStructureKHR = PFN_vkCreateAccelerationStructureKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateAccelerationStructureKHR"));
+    vkCreateAccelerationStructureNV = PFN_vkCreateAccelerationStructureNV(
+        vkGetInstanceProcAddr(instance, "vkCreateAccelerationStructureNV"));
+    vkCreateBuffer =
+        PFN_vkCreateBuffer(vkGetInstanceProcAddr(instance, "vkCreateBuffer"));
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA(
+        vkGetInstanceProcAddr(instance, "vkCreateBufferCollectionFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkCreateBufferView  = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
-      vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
-      vkCreateComputePipelines =
-        PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCreateDeferredOperationKHR =
-        PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCreateDescriptorPool =
-        PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
-      vkCreateDescriptorSetLayout =
-        PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
-      vkCreateDescriptorUpdateTemplate =
-        PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
-      vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR(
-        vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
-      vkCreateEvent       = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
-      vkCreateFence       = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
-      vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
-      vkCreateGraphicsPipelines =
-        PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
-      vkCreateImage     = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
-      vkCreateImageView = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
-      vkCreateIndirectCommandsLayoutNV =
-        PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
-      vkCreatePipelineCache = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
-      vkCreatePipelineLayout =
-        PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
-      vkCreatePrivateDataSlotEXT =
-        PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
-      vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCreateRayTracingPipelinesKHR =
-        PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCreateRayTracingPipelinesNV =
-        PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
-      vkCreateRenderPass  = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
-      vkCreateRenderPass2 = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
-      vkCreateRenderPass2KHR =
-        PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
-      vkCreateSampler = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
-      vkCreateSamplerYcbcrConversion =
-        PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
-      vkCreateSamplerYcbcrConversionKHR =
-        PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
-      vkCreateSemaphore    = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
-      vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
-      vkCreateSharedSwapchainsKHR =
-        PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
-      vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
-      vkCreateValidationCacheEXT =
-        PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
-      vkDebugMarkerSetObjectNameEXT =
-        PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
-      vkDebugMarkerSetObjectTagEXT =
-        PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkDeferredOperationJoinKHR =
-        PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkDestroyAccelerationStructureKHR =
-        PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkDestroyAccelerationStructureNV =
-        PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
-      vkDestroyBuffer = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkDestroyBufferCollectionFUCHSIA =
-        PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
+    vkCreateBufferView = PFN_vkCreateBufferView(
+        vkGetInstanceProcAddr(instance, "vkCreateBufferView"));
+    vkCreateCommandPool = PFN_vkCreateCommandPool(
+        vkGetInstanceProcAddr(instance, "vkCreateCommandPool"));
+    vkCreateComputePipelines = PFN_vkCreateComputePipelines(
+        vkGetInstanceProcAddr(instance, "vkCreateComputePipelines"));
+    vkCreateDeferredOperationKHR = PFN_vkCreateDeferredOperationKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateDeferredOperationKHR"));
+    vkCreateDescriptorPool = PFN_vkCreateDescriptorPool(
+        vkGetInstanceProcAddr(instance, "vkCreateDescriptorPool"));
+    vkCreateDescriptorSetLayout = PFN_vkCreateDescriptorSetLayout(
+        vkGetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout"));
+    vkCreateDescriptorUpdateTemplateKHR =
+        PFN_vkCreateDescriptorUpdateTemplateKHR(vkGetInstanceProcAddr(
+            instance, "vkCreateDescriptorUpdateTemplateKHR"));
+    vkCreateDescriptorUpdateTemplate = PFN_vkCreateDescriptorUpdateTemplate(
+        vkGetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplate"));
+    if (!vkCreateDescriptorUpdateTemplate)
+      vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
+    vkCreateEvent =
+        PFN_vkCreateEvent(vkGetInstanceProcAddr(instance, "vkCreateEvent"));
+    vkCreateFence =
+        PFN_vkCreateFence(vkGetInstanceProcAddr(instance, "vkCreateFence"));
+    vkCreateFramebuffer = PFN_vkCreateFramebuffer(
+        vkGetInstanceProcAddr(instance, "vkCreateFramebuffer"));
+    vkCreateGraphicsPipelines = PFN_vkCreateGraphicsPipelines(
+        vkGetInstanceProcAddr(instance, "vkCreateGraphicsPipelines"));
+    vkCreateImage =
+        PFN_vkCreateImage(vkGetInstanceProcAddr(instance, "vkCreateImage"));
+    vkCreateImageView = PFN_vkCreateImageView(
+        vkGetInstanceProcAddr(instance, "vkCreateImageView"));
+    vkCreateIndirectCommandsLayoutNV = PFN_vkCreateIndirectCommandsLayoutNV(
+        vkGetInstanceProcAddr(instance, "vkCreateIndirectCommandsLayoutNV"));
+    vkCreatePipelineCache = PFN_vkCreatePipelineCache(
+        vkGetInstanceProcAddr(instance, "vkCreatePipelineCache"));
+    vkCreatePipelineLayout = PFN_vkCreatePipelineLayout(
+        vkGetInstanceProcAddr(instance, "vkCreatePipelineLayout"));
+    vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT(
+        vkGetInstanceProcAddr(instance, "vkCreatePrivateDataSlotEXT"));
+    vkCreateQueryPool = PFN_vkCreateQueryPool(
+        vkGetInstanceProcAddr(instance, "vkCreateQueryPool"));
+    vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesKHR"));
+    vkCreateRayTracingPipelinesNV = PFN_vkCreateRayTracingPipelinesNV(
+        vkGetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesNV"));
+    vkCreateRenderPass = PFN_vkCreateRenderPass(
+        vkGetInstanceProcAddr(instance, "vkCreateRenderPass"));
+    vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR(
+        vkGetInstanceProcAddr(instance, "vkCreateRenderPass2KHR"));
+    vkCreateRenderPass2 = PFN_vkCreateRenderPass2(
+        vkGetInstanceProcAddr(instance, "vkCreateRenderPass2"));
+    if (!vkCreateRenderPass2)
+      vkCreateRenderPass2 = vkCreateRenderPass2KHR;
+    vkCreateSampler =
+        PFN_vkCreateSampler(vkGetInstanceProcAddr(instance, "vkCreateSampler"));
+    vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversionKHR"));
+    vkCreateSamplerYcbcrConversion = PFN_vkCreateSamplerYcbcrConversion(
+        vkGetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversion"));
+    if (!vkCreateSamplerYcbcrConversion)
+      vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
+    vkCreateSemaphore = PFN_vkCreateSemaphore(
+        vkGetInstanceProcAddr(instance, "vkCreateSemaphore"));
+    vkCreateShaderModule = PFN_vkCreateShaderModule(
+        vkGetInstanceProcAddr(instance, "vkCreateShaderModule"));
+    vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR"));
+    vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR(
+        vkGetInstanceProcAddr(instance, "vkCreateSwapchainKHR"));
+    vkCreateValidationCacheEXT = PFN_vkCreateValidationCacheEXT(
+        vkGetInstanceProcAddr(instance, "vkCreateValidationCacheEXT"));
+    vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT(
+        vkGetInstanceProcAddr(instance, "vkDebugMarkerSetObjectNameEXT"));
+    vkDebugMarkerSetObjectTagEXT = PFN_vkDebugMarkerSetObjectTagEXT(
+        vkGetInstanceProcAddr(instance, "vkDebugMarkerSetObjectTagEXT"));
+    vkDeferredOperationJoinKHR = PFN_vkDeferredOperationJoinKHR(
+        vkGetInstanceProcAddr(instance, "vkDeferredOperationJoinKHR"));
+    vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR(
+        vkGetInstanceProcAddr(instance, "vkDestroyAccelerationStructureKHR"));
+    vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV(
+        vkGetInstanceProcAddr(instance, "vkDestroyAccelerationStructureNV"));
+    vkDestroyBuffer =
+        PFN_vkDestroyBuffer(vkGetInstanceProcAddr(instance, "vkDestroyBuffer"));
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA(
+        vkGetInstanceProcAddr(instance, "vkDestroyBufferCollectionFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkDestroyBufferView  = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
-      vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkDestroyDeferredOperationKHR =
-        PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkDestroyDescriptorPool =
-        PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
-      vkDestroyDescriptorSetLayout =
-        PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
-      vkDestroyDescriptorUpdateTemplate =
-        PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
-      vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR(
-        vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
-      vkDestroyDevice      = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
-      vkDestroyEvent       = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
-      vkDestroyFence       = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
-      vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
-      vkDestroyImage       = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
-      vkDestroyImageView   = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
-      vkDestroyIndirectCommandsLayoutNV =
-        PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
-      vkDestroyPipeline = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
-      vkDestroyPipelineCache =
-        PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
-      vkDestroyPipelineLayout =
-        PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
-      vkDestroyPrivateDataSlotEXT =
-        PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
-      vkDestroyQueryPool  = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
-      vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
-      vkDestroySampler    = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
-      vkDestroySamplerYcbcrConversion =
-        PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
-      vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR(
-        vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
-      vkDestroySemaphore    = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
-      vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
-      vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
-      vkDestroyValidationCacheEXT =
-        PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
-      vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
-      vkDisplayPowerControlEXT =
-        PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
-      vkFlushMappedMemoryRanges =
-        PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
-      vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
-      vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
-      vkFreeMemory         = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetAccelerationStructureDeviceAddressKHR = PFN_vkGetAccelerationStructureDeviceAddressKHR(
-        vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV(
-        vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetAccelerationStructureMemoryRequirementsKHR = PFN_vkGetAccelerationStructureMemoryRequirementsKHR(
-        vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetAccelerationStructureMemoryRequirementsNV = PFN_vkGetAccelerationStructureMemoryRequirementsNV(
-        vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-      vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(
-        vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
+    vkDestroyBufferView = PFN_vkDestroyBufferView(
+        vkGetInstanceProcAddr(instance, "vkDestroyBufferView"));
+    vkDestroyCommandPool = PFN_vkDestroyCommandPool(
+        vkGetInstanceProcAddr(instance, "vkDestroyCommandPool"));
+    vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR(
+        vkGetInstanceProcAddr(instance, "vkDestroyDeferredOperationKHR"));
+    vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool(
+        vkGetInstanceProcAddr(instance, "vkDestroyDescriptorPool"));
+    vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout(
+        vkGetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout"));
+    vkDestroyDescriptorUpdateTemplateKHR =
+        PFN_vkDestroyDescriptorUpdateTemplateKHR(vkGetInstanceProcAddr(
+            instance, "vkDestroyDescriptorUpdateTemplateKHR"));
+    vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate(
+        vkGetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplate"));
+    if (!vkDestroyDescriptorUpdateTemplate)
+      vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
+    vkDestroyDevice =
+        PFN_vkDestroyDevice(vkGetInstanceProcAddr(instance, "vkDestroyDevice"));
+    vkDestroyEvent =
+        PFN_vkDestroyEvent(vkGetInstanceProcAddr(instance, "vkDestroyEvent"));
+    vkDestroyFence =
+        PFN_vkDestroyFence(vkGetInstanceProcAddr(instance, "vkDestroyFence"));
+    vkDestroyFramebuffer = PFN_vkDestroyFramebuffer(
+        vkGetInstanceProcAddr(instance, "vkDestroyFramebuffer"));
+    vkDestroyImage =
+        PFN_vkDestroyImage(vkGetInstanceProcAddr(instance, "vkDestroyImage"));
+    vkDestroyImageView = PFN_vkDestroyImageView(
+        vkGetInstanceProcAddr(instance, "vkDestroyImageView"));
+    vkDestroyIndirectCommandsLayoutNV = PFN_vkDestroyIndirectCommandsLayoutNV(
+        vkGetInstanceProcAddr(instance, "vkDestroyIndirectCommandsLayoutNV"));
+    vkDestroyPipeline = PFN_vkDestroyPipeline(
+        vkGetInstanceProcAddr(instance, "vkDestroyPipeline"));
+    vkDestroyPipelineCache = PFN_vkDestroyPipelineCache(
+        vkGetInstanceProcAddr(instance, "vkDestroyPipelineCache"));
+    vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout(
+        vkGetInstanceProcAddr(instance, "vkDestroyPipelineLayout"));
+    vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT(
+        vkGetInstanceProcAddr(instance, "vkDestroyPrivateDataSlotEXT"));
+    vkDestroyQueryPool = PFN_vkDestroyQueryPool(
+        vkGetInstanceProcAddr(instance, "vkDestroyQueryPool"));
+    vkDestroyRenderPass = PFN_vkDestroyRenderPass(
+        vkGetInstanceProcAddr(instance, "vkDestroyRenderPass"));
+    vkDestroySampler = PFN_vkDestroySampler(
+        vkGetInstanceProcAddr(instance, "vkDestroySampler"));
+    vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR(
+        vkGetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversionKHR"));
+    vkDestroySamplerYcbcrConversion = PFN_vkDestroySamplerYcbcrConversion(
+        vkGetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversion"));
+    if (!vkDestroySamplerYcbcrConversion)
+      vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
+    vkDestroySemaphore = PFN_vkDestroySemaphore(
+        vkGetInstanceProcAddr(instance, "vkDestroySemaphore"));
+    vkDestroyShaderModule = PFN_vkDestroyShaderModule(
+        vkGetInstanceProcAddr(instance, "vkDestroyShaderModule"));
+    vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR(
+        vkGetInstanceProcAddr(instance, "vkDestroySwapchainKHR"));
+    vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT(
+        vkGetInstanceProcAddr(instance, "vkDestroyValidationCacheEXT"));
+    vkDeviceWaitIdle = PFN_vkDeviceWaitIdle(
+        vkGetInstanceProcAddr(instance, "vkDeviceWaitIdle"));
+    vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT(
+        vkGetInstanceProcAddr(instance, "vkDisplayPowerControlEXT"));
+    vkEndCommandBuffer = PFN_vkEndCommandBuffer(
+        vkGetInstanceProcAddr(instance, "vkEndCommandBuffer"));
+    vkFlushMappedMemoryRanges = PFN_vkFlushMappedMemoryRanges(
+        vkGetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges"));
+    vkFreeCommandBuffers = PFN_vkFreeCommandBuffers(
+        vkGetInstanceProcAddr(instance, "vkFreeCommandBuffers"));
+    vkFreeDescriptorSets = PFN_vkFreeDescriptorSets(
+        vkGetInstanceProcAddr(instance, "vkFreeDescriptorSets"));
+    vkFreeMemory =
+        PFN_vkFreeMemory(vkGetInstanceProcAddr(instance, "vkFreeMemory"));
+    vkGetAccelerationStructureBuildSizesKHR =
+        PFN_vkGetAccelerationStructureBuildSizesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetAccelerationStructureBuildSizesKHR"));
+    vkGetAccelerationStructureDeviceAddressKHR =
+        PFN_vkGetAccelerationStructureDeviceAddressKHR(vkGetInstanceProcAddr(
+            instance, "vkGetAccelerationStructureDeviceAddressKHR"));
+    vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV(
+        vkGetInstanceProcAddr(instance, "vkGetAccelerationStructureHandleNV"));
+    vkGetAccelerationStructureMemoryRequirementsNV =
+        PFN_vkGetAccelerationStructureMemoryRequirementsNV(
+            vkGetInstanceProcAddr(
+                instance, "vkGetAccelerationStructureMemoryRequirementsNV"));
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+    vkGetAndroidHardwareBufferPropertiesANDROID =
+        PFN_vkGetAndroidHardwareBufferPropertiesANDROID(vkGetInstanceProcAddr(
+            instance, "vkGetAndroidHardwareBufferPropertiesANDROID"));
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetBufferCollectionProperties2FUCHSIA = PFN_vkGetBufferCollectionProperties2FUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkGetBufferCollectionProperties2FUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetBufferCollectionProperties2FUCHSIA =
+        PFN_vkGetBufferCollectionProperties2FUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkGetBufferCollectionProperties2FUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetBufferCollectionPropertiesFUCHSIA = PFN_vkGetBufferCollectionPropertiesFUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetBufferCollectionPropertiesFUCHSIA =
+        PFN_vkGetBufferCollectionPropertiesFUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkGetBufferCollectionPropertiesFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkGetBufferDeviceAddress =
-        PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
-      vkGetBufferDeviceAddressEXT =
-        PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
-      vkGetBufferDeviceAddressKHR =
-        PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
-      vkGetBufferMemoryRequirements =
-        PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
-      vkGetBufferMemoryRequirements2 =
-        PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
-      vkGetBufferMemoryRequirements2KHR =
-        PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
-      vkGetBufferOpaqueCaptureAddress =
-        PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
-      vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR(
-        vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
-      vkGetCalibratedTimestampsEXT =
-        PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetDeferredOperationMaxConcurrencyKHR = PFN_vkGetDeferredOperationMaxConcurrencyKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetDeferredOperationResultKHR =
-        PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetDescriptorSetLayoutSupport =
-        PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
-      vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetDeviceAccelerationStructureCompatibilityKHR = PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
-      vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
-      vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetDeviceGroupSurfacePresentModes2EXT = PFN_vkGetDeviceGroupSurfacePresentModes2EXT(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
-      vkGetDeviceMemoryCommitment =
-        PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
-      vkGetDeviceMemoryOpaqueCaptureAddress = PFN_vkGetDeviceMemoryOpaqueCaptureAddress(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
-      vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(
-        vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
-      vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
-      vkGetDeviceQueue    = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
-      vkGetDeviceQueue2   = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
-      vkGetEventStatus    = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
-      vkGetFenceFdKHR     = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
-      vkGetFenceStatus    = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetFenceWin32HandleKHR =
-        PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkGetGeneratedCommandsMemoryRequirementsNV = PFN_vkGetGeneratedCommandsMemoryRequirementsNV(
-        vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
-      vkGetImageDrmFormatModifierPropertiesEXT = PFN_vkGetImageDrmFormatModifierPropertiesEXT(
-        vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
-      vkGetImageMemoryRequirements =
-        PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
-      vkGetImageMemoryRequirements2 =
-        PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
-      vkGetImageMemoryRequirements2KHR =
-        PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
-      vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements(
-        vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
-      vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2(
-        vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
-      vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(
-        vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
-      vkGetImageSubresourceLayout =
-        PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
-      vkGetImageViewAddressNVX =
-        PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
-      vkGetImageViewHandleNVX =
-        PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-      vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(
-        vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-      vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
-      vkGetMemoryFdPropertiesKHR =
-        PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
-      vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT(
-        vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetMemoryWin32HandleKHR =
-        PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetMemoryWin32HandleNV =
-        PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetMemoryZirconHandleFUCHSIA =
-        PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetMemoryZirconHandlePropertiesFUCHSIA = PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkGetPastPresentationTimingGOOGLE =
-        PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
-      vkGetPerformanceParameterINTEL =
-        PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
-      vkGetPipelineCacheData =
-        PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
-      vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
-      vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
-      vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR(
-        vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
-      vkGetPrivateDataEXT   = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
-      vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR(
-        vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV(
-        vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
-      vkGetRefreshCycleDurationGOOGLE =
-        PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
-      vkGetRenderAreaGranularity =
-        PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
-      vkGetSemaphoreCounterValue =
-        PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
-      vkGetSemaphoreCounterValueKHR =
-        PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
-      vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetSemaphoreWin32HandleKHR =
-        PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetSemaphoreZirconHandleFUCHSIA =
-        PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
-      vkGetSwapchainCounterEXT =
-        PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
-      vkGetSwapchainImagesKHR =
-        PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
-      vkGetSwapchainStatusKHR =
-        PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
-      vkGetValidationCacheDataEXT =
-        PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
-      vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkImportFenceWin32HandleKHR =
-        PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkImportSemaphoreFdKHR =
-        PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkImportSemaphoreWin32HandleKHR =
-        PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkInitializePerformanceApiINTEL =
-        PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
-      vkInvalidateMappedMemoryRanges =
-        PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
-      vkMapMemory           = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
-      vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
-      vkMergeValidationCachesEXT =
-        PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
-      vkModifyMemoryRangesFUCHSIA =
-        PFN_vkModifyMemoryRangesFUCHSIA( vkGetInstanceProcAddr( instance, "vkModifyMemoryRangesFUCHSIA" ) );
-      vkRegisterDeviceEventEXT =
-        PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
-      vkRegisterDisplayEventEXT =
-        PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT(
-        vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkReleasePerformanceConfigurationINTEL = PFN_vkReleasePerformanceConfigurationINTEL(
-        vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
-      vkReleaseProfilingLockKHR =
-        PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
-      vkResetCommandPool    = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
-      vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
-      vkResetEvent          = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
-      vkResetFences         = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
-      vkResetQueryPool      = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
-      vkResetQueryPoolEXT   = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkSetBufferCollectionBufferConstraintsFUCHSIA = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkSetBufferCollectionConstraintsFUCHSIA = PFN_vkSetBufferCollectionConstraintsFUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkSetBufferCollectionConstraintsFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkSetBufferCollectionImageConstraintsFUCHSIA = PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkSetDebugUtilsObjectNameEXT =
-        PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
-      vkSetDebugUtilsObjectTagEXT =
-        PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
-      vkSetEvent           = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
-      vkSetHdrMetadataEXT  = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
-      vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
-      vkSetPrivateDataEXT  = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
-      vkSignalSemaphore    = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
-      vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
-      vkTrimCommandPool    = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
-      vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
-      vkTrimCompactImageDeviceMemoryFUCHSIA = PFN_vkTrimCompactImageDeviceMemoryFUCHSIA(
-        vkGetInstanceProcAddr( instance, "vkTrimCompactImageDeviceMemoryFUCHSIA" ) );
-      vkUninitializePerformanceApiINTEL =
-        PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
-      vkUnmapMemory = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
-      vkUpdateDescriptorSetWithTemplate =
-        PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
-      vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR(
-        vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
-      vkUpdateDescriptorSets =
-        PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
-      vkWaitForFences     = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
-      vkWaitSemaphores    = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
-      vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkWriteAccelerationStructuresPropertiesKHR = PFN_vkWriteAccelerationStructuresPropertiesKHR(
-        vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetQueueCheckpointDataNV =
-        PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
-      vkQueueBeginDebugUtilsLabelEXT =
-        PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
-      vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
-      vkQueueEndDebugUtilsLabelEXT =
-        PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
-      vkQueueInsertDebugUtilsLabelEXT =
-        PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
-      vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
-      vkQueueSetPerformanceConfigurationINTEL = PFN_vkQueueSetPerformanceConfigurationINTEL(
-        vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
-      vkQueueSubmit   = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
-      vkQueueWaitIdle = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
-    }
-
-    void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
-    {
-      VkDevice device      = static_cast<VkDevice>( deviceCpp );
-      vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
-      vkCmdBeginConditionalRenderingEXT =
-        PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
-      vkCmdBeginDebugUtilsLabelEXT =
-        PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
-      vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
-      vkCmdBeginQueryIndexedEXT =
-        PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
-      vkCmdBeginRenderPass  = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
-      vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
-      vkCmdBeginRenderPass2KHR =
-        PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
-      vkCmdBeginTransformFeedbackEXT =
-        PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
-      vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
-      vkCmdBindIndexBuffer    = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
-      vkCmdBindPipeline       = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
-      vkCmdBindPipelineShaderGroupNV =
-        PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
-      vkCmdBindShadingRateImageNV =
-        PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
-      vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT(
-        vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
-      vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
-      vkCmdBindVertexBuffers2EXT =
-        PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
-      vkCmdBlitImage = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdBuildAccelerationStructureIndirectKHR = PFN_vkCmdBuildAccelerationStructureIndirectKHR(
-        vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureIndirectKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdBuildAccelerationStructureKHR =
-        PFN_vkCmdBuildAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdBuildAccelerationStructureNV =
-        PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
-      vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
-      vkCmdClearColorImage  = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
-      vkCmdClearDepthStencilImage =
-        PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdCopyAccelerationStructureKHR =
-        PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdCopyAccelerationStructureNV =
-        PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdCopyAccelerationStructureToMemoryKHR = PFN_vkCmdCopyAccelerationStructureToMemoryKHR(
-        vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdCopyBuffer        = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
-      vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
-      vkCmdCopyImage         = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
-      vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdCopyMemoryToAccelerationStructureKHR = PFN_vkCmdCopyMemoryToAccelerationStructureKHR(
-        vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdCopyQueryPoolResults =
-        PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
-      vkCmdDebugMarkerBeginEXT =
-        PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
-      vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
-      vkCmdDebugMarkerInsertEXT =
-        PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
-      vkCmdDispatch         = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
-      vkCmdDispatchBase     = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
-      vkCmdDispatchBaseKHR  = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
-      vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
-      vkCmdDraw             = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
-      vkCmdDrawIndexed      = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
-      vkCmdDrawIndexedIndirect =
-        PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
-      vkCmdDrawIndexedIndirectCount =
-        PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
-      vkCmdDrawIndexedIndirectCountAMD =
-        PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
-      vkCmdDrawIndexedIndirectCountKHR =
-        PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
-      vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
-      vkCmdDrawIndirectByteCountEXT =
-        PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
-      vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
-      vkCmdDrawIndirectCountAMD =
-        PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
-      vkCmdDrawIndirectCountKHR =
-        PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
-      vkCmdDrawMeshTasksIndirectCountNV =
-        PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
-      vkCmdDrawMeshTasksIndirectNV =
-        PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
-      vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
-      vkCmdEndConditionalRenderingEXT =
-        PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
-      vkCmdEndDebugUtilsLabelEXT =
-        PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
-      vkCmdEndQuery           = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
-      vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
-      vkCmdEndRenderPass      = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
-      vkCmdEndRenderPass2     = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
-      vkCmdEndRenderPass2KHR  = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
-      vkCmdEndTransformFeedbackEXT =
-        PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
-      vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
-      vkCmdExecuteGeneratedCommandsNV =
-        PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
-      vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
-      vkCmdInsertDebugUtilsLabelEXT =
-        PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
-      vkCmdNextSubpass     = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
-      vkCmdNextSubpass2    = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
-      vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
-      vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
-      vkCmdPreprocessGeneratedCommandsNV =
-        PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
-      vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
-      vkCmdPushDescriptorSetKHR =
-        PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
-      vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR(
-        vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
-      vkCmdResetEvent        = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
-      vkCmdResetQueryPool    = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
-      vkCmdResolveImage      = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
-      vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
-      vkCmdSetCheckpointNV   = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
-      vkCmdSetCoarseSampleOrderNV =
-        PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
-      vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
-      vkCmdSetDepthBias   = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
-      vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
-      vkCmdSetDepthBoundsTestEnableEXT =
-        PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
-      vkCmdSetDepthCompareOpEXT =
-        PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
-      vkCmdSetDepthTestEnableEXT =
-        PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
-      vkCmdSetDepthWriteEnableEXT =
-        PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
-      vkCmdSetDeviceMask    = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
-      vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
-      vkCmdSetDiscardRectangleEXT =
-        PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
-      vkCmdSetEvent = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
-      vkCmdSetExclusiveScissorNV =
-        PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
-      vkCmdSetFrontFaceEXT   = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
-      vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
-      vkCmdSetLineWidth      = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
-      vkCmdSetPerformanceMarkerINTEL =
-        PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
-      vkCmdSetPerformanceOverrideINTEL =
-        PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
-      vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL(
-        vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
-      vkCmdSetPrimitiveTopologyEXT =
-        PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
-      vkCmdSetSampleLocationsEXT =
-        PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
-      vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
-      vkCmdSetScissorWithCountEXT =
-        PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
-      vkCmdSetStencilCompareMask =
-        PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
-      vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
-      vkCmdSetStencilReference =
-        PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
-      vkCmdSetStencilTestEnableEXT =
-        PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
-      vkCmdSetStencilWriteMask =
-        PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
-      vkCmdSetViewport                     = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
-      vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV(
-        vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
-      vkCmdSetViewportWScalingNV =
-        PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
-      vkCmdSetViewportWithCountEXT =
-        PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdTraceRaysIndirectKHR =
-        PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdTraceRaysNV  = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
-      vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
-      vkCmdWaitEvents   = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCmdWriteAccelerationStructuresPropertiesKHR = PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(
-        vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCmdWriteAccelerationStructuresPropertiesNV = PFN_vkCmdWriteAccelerationStructuresPropertiesNV(
-        vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
-      vkCmdWriteBufferMarkerAMD =
-        PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
-      vkCmdWriteTimestamp  = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
-      vkEndCommandBuffer   = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
-      vkResetCommandBuffer = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkAcquireFullScreenExclusiveModeEXT =
-        PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
-      vkAcquireNextImageKHR  = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
-      vkAcquirePerformanceConfigurationINTEL = PFN_vkAcquirePerformanceConfigurationINTEL(
-        vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
-      vkAcquireProfilingLockKHR =
-        PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
-      vkAllocateCommandBuffers =
-        PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
-      vkAllocateDescriptorSets =
-        PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
-      vkAllocateMemory = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkBindAccelerationStructureMemoryKHR = PFN_vkBindAccelerationStructureMemoryKHR(
-        vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkBindAccelerationStructureMemoryNV =
-        PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
-      vkBindBufferMemory     = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
-      vkBindBufferMemory2    = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
-      vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
-      vkBindImageMemory      = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
-      vkBindImageMemory2     = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
-      vkBindImageMemory2KHR  = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkBuildAccelerationStructureKHR =
-        PFN_vkBuildAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCopyAccelerationStructureKHR =
-        PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCopyAccelerationStructureToMemoryKHR = PFN_vkCopyAccelerationStructureToMemoryKHR(
-        vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCopyMemoryToAccelerationStructureKHR = PFN_vkCopyMemoryToAccelerationStructureKHR(
-        vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCreateAccelerationStructureKHR =
-        PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCreateAccelerationStructureNV =
-        PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
-      vkCreateBuffer = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkCreateBufferCollectionFUCHSIA =
-        PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkCreateBufferView  = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
-      vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
-      vkCreateComputePipelines =
-        PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCreateDeferredOperationKHR =
-        PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCreateDescriptorPool = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
-      vkCreateDescriptorSetLayout =
-        PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
-      vkCreateDescriptorUpdateTemplate =
-        PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
-      vkCreateDescriptorUpdateTemplateKHR =
-        PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
-      vkCreateEvent       = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
-      vkCreateFence       = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
-      vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
-      vkCreateGraphicsPipelines =
-        PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
-      vkCreateImage     = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
-      vkCreateImageView = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
-      vkCreateIndirectCommandsLayoutNV =
-        PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
-      vkCreatePipelineCache  = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
-      vkCreatePipelineLayout = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
-      vkCreatePrivateDataSlotEXT =
-        PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
-      vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkCreateRayTracingPipelinesKHR =
-        PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkCreateRayTracingPipelinesNV =
-        PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
-      vkCreateRenderPass     = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
-      vkCreateRenderPass2    = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
-      vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
-      vkCreateSampler        = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
-      vkCreateSamplerYcbcrConversion =
-        PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
-      vkCreateSamplerYcbcrConversionKHR =
-        PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
-      vkCreateSemaphore    = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
-      vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
-      vkCreateSharedSwapchainsKHR =
-        PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
-      vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
-      vkCreateValidationCacheEXT =
-        PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
-      vkDebugMarkerSetObjectNameEXT =
-        PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
-      vkDebugMarkerSetObjectTagEXT =
-        PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkDeferredOperationJoinKHR =
-        PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkDestroyAccelerationStructureKHR =
-        PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkDestroyAccelerationStructureNV =
-        PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
-      vkDestroyBuffer = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkDestroyBufferCollectionFUCHSIA =
-        PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkDestroyBufferView  = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
-      vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkDestroyDeferredOperationKHR =
-        PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
-      vkDestroyDescriptorSetLayout =
-        PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
-      vkDestroyDescriptorUpdateTemplate =
-        PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
-      vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR(
-        vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
-      vkDestroyDevice      = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
-      vkDestroyEvent       = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
-      vkDestroyFence       = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
-      vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
-      vkDestroyImage       = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
-      vkDestroyImageView   = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
-      vkDestroyIndirectCommandsLayoutNV =
-        PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
-      vkDestroyPipeline       = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
-      vkDestroyPipelineCache  = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
-      vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
-      vkDestroyPrivateDataSlotEXT =
-        PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
-      vkDestroyQueryPool  = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
-      vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
-      vkDestroySampler    = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
-      vkDestroySamplerYcbcrConversion =
-        PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
-      vkDestroySamplerYcbcrConversionKHR =
-        PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
-      vkDestroySemaphore    = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
-      vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
-      vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
-      vkDestroyValidationCacheEXT =
-        PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
-      vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
-      vkDisplayPowerControlEXT =
-        PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
-      vkFlushMappedMemoryRanges =
-        PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
-      vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
-      vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
-      vkFreeMemory         = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetAccelerationStructureDeviceAddressKHR = PFN_vkGetAccelerationStructureDeviceAddressKHR(
-        vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetAccelerationStructureHandleNV =
-        PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetAccelerationStructureMemoryRequirementsKHR = PFN_vkGetAccelerationStructureMemoryRequirementsKHR(
-        vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetAccelerationStructureMemoryRequirementsNV = PFN_vkGetAccelerationStructureMemoryRequirementsNV(
-        vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-      vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(
-        vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetBufferCollectionProperties2FUCHSIA = PFN_vkGetBufferCollectionProperties2FUCHSIA(
-        vkGetDeviceProcAddr( device, "vkGetBufferCollectionProperties2FUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetBufferCollectionPropertiesFUCHSIA = PFN_vkGetBufferCollectionPropertiesFUCHSIA(
-        vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkGetBufferDeviceAddress =
-        PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
-      vkGetBufferDeviceAddressEXT =
-        PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
-      vkGetBufferDeviceAddressKHR =
-        PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
-      vkGetBufferMemoryRequirements =
-        PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
-      vkGetBufferMemoryRequirements2 =
-        PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
-      vkGetBufferMemoryRequirements2KHR =
-        PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
-      vkGetBufferOpaqueCaptureAddress =
-        PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
-      vkGetBufferOpaqueCaptureAddressKHR =
-        PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
-      vkGetCalibratedTimestampsEXT =
-        PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetDeferredOperationMaxConcurrencyKHR = PFN_vkGetDeferredOperationMaxConcurrencyKHR(
-        vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetDeferredOperationResultKHR =
-        PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetDescriptorSetLayoutSupport =
-        PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
-      vkGetDescriptorSetLayoutSupportKHR =
-        PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetDeviceAccelerationStructureCompatibilityKHR = PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
-        vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+    vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT(
+        vkGetInstanceProcAddr(instance, "vkGetBufferDeviceAddressEXT"));
+    vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR(
+        vkGetInstanceProcAddr(instance, "vkGetBufferDeviceAddressKHR"));
+    vkGetBufferDeviceAddress = PFN_vkGetBufferDeviceAddress(
+        vkGetInstanceProcAddr(instance, "vkGetBufferDeviceAddress"));
+    if (!vkGetBufferDeviceAddress)
+      vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
+    if (!vkGetBufferDeviceAddress)
+      vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
+    vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements(
+        vkGetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements"));
+    vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR(
+        vkGetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2KHR"));
+    vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2(
+        vkGetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2"));
+    if (!vkGetBufferMemoryRequirements2)
+      vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
+    vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR(
+        vkGetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddressKHR"));
+    vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress(
+        vkGetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddress"));
+    if (!vkGetBufferOpaqueCaptureAddress)
+      vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
+    vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT(
+        vkGetInstanceProcAddr(instance, "vkGetCalibratedTimestampsEXT"));
+    vkGetDeferredOperationMaxConcurrencyKHR =
+        PFN_vkGetDeferredOperationMaxConcurrencyKHR(vkGetInstanceProcAddr(
+            instance, "vkGetDeferredOperationMaxConcurrencyKHR"));
+    vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR(
+        vkGetInstanceProcAddr(instance, "vkGetDeferredOperationResultKHR"));
+    vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR(
+        vkGetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupportKHR"));
+    vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport(
+        vkGetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupport"));
+    if (!vkGetDescriptorSetLayoutSupport)
+      vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
+    vkGetDeviceAccelerationStructureCompatibilityKHR =
+        PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
+            vkGetInstanceProcAddr(
+                instance, "vkGetDeviceAccelerationStructureCompatibilityKHR"));
+    vkGetDeviceGroupPeerMemoryFeaturesKHR =
+        PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR"));
+    vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures(
+        vkGetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeatures"));
+    if (!vkGetDeviceGroupPeerMemoryFeatures)
       vkGetDeviceGroupPeerMemoryFeatures =
-        PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
-      vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(
-        vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
-      vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR(
-        vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetDeviceGroupSurfacePresentModes2EXT = PFN_vkGetDeviceGroupSurfacePresentModes2EXT(
-        vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
+          vkGetDeviceGroupPeerMemoryFeaturesKHR;
+    vkGetDeviceGroupPresentCapabilitiesKHR =
+        PFN_vkGetDeviceGroupPresentCapabilitiesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetDeviceGroupPresentCapabilitiesKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetDeviceGroupSurfacePresentModes2EXT =
+        PFN_vkGetDeviceGroupSurfacePresentModes2EXT(vkGetInstanceProcAddr(
+            instance, "vkGetDeviceGroupSurfacePresentModes2EXT"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR(
-        vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
-      vkGetDeviceMemoryCommitment =
-        PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
-      vkGetDeviceMemoryOpaqueCaptureAddress = PFN_vkGetDeviceMemoryOpaqueCaptureAddress(
-        vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
-      vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(
-        vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
-      vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
-      vkGetDeviceQueue    = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
-      vkGetDeviceQueue2   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
-      vkGetEventStatus    = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
-      vkGetFenceFdKHR     = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
-      vkGetFenceStatus    = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetFenceWin32HandleKHR =
-        PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
+    vkGetDeviceGroupSurfacePresentModesKHR =
+        PFN_vkGetDeviceGroupSurfacePresentModesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetDeviceGroupSurfacePresentModesKHR"));
+    vkGetDeviceMemoryCommitment = PFN_vkGetDeviceMemoryCommitment(
+        vkGetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment"));
+    vkGetDeviceMemoryOpaqueCaptureAddressKHR =
+        PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(vkGetInstanceProcAddr(
+            instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"));
+    vkGetDeviceMemoryOpaqueCaptureAddress =
+        PFN_vkGetDeviceMemoryOpaqueCaptureAddress(vkGetInstanceProcAddr(
+            instance, "vkGetDeviceMemoryOpaqueCaptureAddress"));
+    if (!vkGetDeviceMemoryOpaqueCaptureAddress)
+      vkGetDeviceMemoryOpaqueCaptureAddress =
+          vkGetDeviceMemoryOpaqueCaptureAddressKHR;
+    vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr(
+        vkGetInstanceProcAddr(instance, "vkGetDeviceProcAddr"));
+    vkGetDeviceQueue = PFN_vkGetDeviceQueue(
+        vkGetInstanceProcAddr(instance, "vkGetDeviceQueue"));
+    vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2(
+        vkGetInstanceProcAddr(instance, "vkGetDeviceQueue2"));
+    vkGetEventStatus = PFN_vkGetEventStatus(
+        vkGetInstanceProcAddr(instance, "vkGetEventStatus"));
+    vkGetFenceFdKHR =
+        PFN_vkGetFenceFdKHR(vkGetInstanceProcAddr(instance, "vkGetFenceFdKHR"));
+    vkGetFenceStatus = PFN_vkGetFenceStatus(
+        vkGetInstanceProcAddr(instance, "vkGetFenceStatus"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetFenceWin32HandleKHR = PFN_vkGetFenceWin32HandleKHR(
+        vkGetInstanceProcAddr(instance, "vkGetFenceWin32HandleKHR"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkGetGeneratedCommandsMemoryRequirementsNV = PFN_vkGetGeneratedCommandsMemoryRequirementsNV(
-        vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
-      vkGetImageDrmFormatModifierPropertiesEXT = PFN_vkGetImageDrmFormatModifierPropertiesEXT(
-        vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
-      vkGetImageMemoryRequirements =
-        PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
-      vkGetImageMemoryRequirements2 =
-        PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
-      vkGetImageMemoryRequirements2KHR =
-        PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
-      vkGetImageSparseMemoryRequirements =
-        PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
+    vkGetGeneratedCommandsMemoryRequirementsNV =
+        PFN_vkGetGeneratedCommandsMemoryRequirementsNV(vkGetInstanceProcAddr(
+            instance, "vkGetGeneratedCommandsMemoryRequirementsNV"));
+    vkGetImageDrmFormatModifierPropertiesEXT =
+        PFN_vkGetImageDrmFormatModifierPropertiesEXT(vkGetInstanceProcAddr(
+            instance, "vkGetImageDrmFormatModifierPropertiesEXT"));
+    vkGetImageMemoryRequirements = PFN_vkGetImageMemoryRequirements(
+        vkGetInstanceProcAddr(instance, "vkGetImageMemoryRequirements"));
+    vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR(
+        vkGetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2KHR"));
+    vkGetImageMemoryRequirements2 = PFN_vkGetImageMemoryRequirements2(
+        vkGetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2"));
+    if (!vkGetImageMemoryRequirements2)
+      vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
+    vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements(
+        vkGetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements"));
+    vkGetImageSparseMemoryRequirements2KHR =
+        PFN_vkGetImageSparseMemoryRequirements2KHR(vkGetInstanceProcAddr(
+            instance, "vkGetImageSparseMemoryRequirements2KHR"));
+    vkGetImageSparseMemoryRequirements2 =
+        PFN_vkGetImageSparseMemoryRequirements2(vkGetInstanceProcAddr(
+            instance, "vkGetImageSparseMemoryRequirements2"));
+    if (!vkGetImageSparseMemoryRequirements2)
       vkGetImageSparseMemoryRequirements2 =
-        PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
-      vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(
-        vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
-      vkGetImageSubresourceLayout =
-        PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
-      vkGetImageViewAddressNVX =
-        PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
-      vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-      vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(
-        vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
+          vkGetImageSparseMemoryRequirements2KHR;
+    vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout(
+        vkGetInstanceProcAddr(instance, "vkGetImageSubresourceLayout"));
+    vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX(
+        vkGetInstanceProcAddr(instance, "vkGetImageViewAddressNVX"));
+    vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX(
+        vkGetInstanceProcAddr(instance, "vkGetImageViewHandleNVX"));
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+    vkGetMemoryAndroidHardwareBufferANDROID =
+        PFN_vkGetMemoryAndroidHardwareBufferANDROID(vkGetInstanceProcAddr(
+            instance, "vkGetMemoryAndroidHardwareBufferANDROID"));
 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-      vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
-      vkGetMemoryFdPropertiesKHR =
-        PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
-      vkGetMemoryHostPointerPropertiesEXT =
-        PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetMemoryWin32HandleKHR =
-        PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
+    vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR(
+        vkGetInstanceProcAddr(instance, "vkGetMemoryFdKHR"));
+    vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR(
+        vkGetInstanceProcAddr(instance, "vkGetMemoryFdPropertiesKHR"));
+    vkGetMemoryHostPointerPropertiesEXT =
+        PFN_vkGetMemoryHostPointerPropertiesEXT(vkGetInstanceProcAddr(
+            instance, "vkGetMemoryHostPointerPropertiesEXT"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR(
+        vkGetInstanceProcAddr(instance, "vkGetMemoryWin32HandleKHR"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetMemoryWin32HandleNV =
-        PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV(
+        vkGetInstanceProcAddr(instance, "vkGetMemoryWin32HandleNV"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetMemoryWin32HandlePropertiesKHR =
-        PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetMemoryWin32HandlePropertiesKHR =
+        PFN_vkGetMemoryWin32HandlePropertiesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetMemoryWin32HandlePropertiesKHR"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetMemoryZirconHandleFUCHSIA =
-        PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA(
+        vkGetInstanceProcAddr(instance, "vkGetMemoryZirconHandleFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetMemoryZirconHandlePropertiesFUCHSIA = PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(
-        vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetMemoryZirconHandlePropertiesFUCHSIA =
+        PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkGetPastPresentationTimingGOOGLE =
-        PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
-      vkGetPerformanceParameterINTEL =
-        PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
-      vkGetPipelineCacheData = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
-      vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
-        vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
-      vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR(
-        vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
-      vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR(
-        vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
-      vkGetPrivateDataEXT   = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
-      vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
-        vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR(
-        vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetRayTracingShaderGroupHandlesNV =
-        PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
-      vkGetRefreshCycleDurationGOOGLE =
-        PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
-      vkGetRenderAreaGranularity =
-        PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
-      vkGetSemaphoreCounterValue =
-        PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
-      vkGetSemaphoreCounterValueKHR =
-        PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
-      vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkGetSemaphoreWin32HandleKHR =
-        PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
+    vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE(
+        vkGetInstanceProcAddr(instance, "vkGetPastPresentationTimingGOOGLE"));
+    vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL(
+        vkGetInstanceProcAddr(instance, "vkGetPerformanceParameterINTEL"));
+    vkGetPipelineCacheData = PFN_vkGetPipelineCacheData(
+        vkGetInstanceProcAddr(instance, "vkGetPipelineCacheData"));
+    vkGetPipelineExecutableInternalRepresentationsKHR =
+        PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
+            vkGetInstanceProcAddr(
+                instance, "vkGetPipelineExecutableInternalRepresentationsKHR"));
+    vkGetPipelineExecutablePropertiesKHR =
+        PFN_vkGetPipelineExecutablePropertiesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPipelineExecutablePropertiesKHR"));
+    vkGetPipelineExecutableStatisticsKHR =
+        PFN_vkGetPipelineExecutableStatisticsKHR(vkGetInstanceProcAddr(
+            instance, "vkGetPipelineExecutableStatisticsKHR"));
+    vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT(
+        vkGetInstanceProcAddr(instance, "vkGetPrivateDataEXT"));
+    vkGetQueryPoolResults = PFN_vkGetQueryPoolResults(
+        vkGetInstanceProcAddr(instance, "vkGetQueryPoolResults"));
+    vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV(
+        vkGetInstanceProcAddr(instance, "vkGetQueueCheckpointData2NV"));
+    vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV(
+        vkGetInstanceProcAddr(instance, "vkGetQueueCheckpointDataNV"));
+    vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
+        PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+            vkGetInstanceProcAddr(
+                instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"));
+    vkGetRayTracingShaderGroupHandlesNV =
+        PFN_vkGetRayTracingShaderGroupHandlesNV(vkGetInstanceProcAddr(
+            instance, "vkGetRayTracingShaderGroupHandlesNV"));
+    vkGetRayTracingShaderGroupHandlesKHR =
+        PFN_vkGetRayTracingShaderGroupHandlesKHR(vkGetInstanceProcAddr(
+            instance, "vkGetRayTracingShaderGroupHandlesKHR"));
+    if (!vkGetRayTracingShaderGroupHandlesKHR)
+      vkGetRayTracingShaderGroupHandlesKHR =
+          vkGetRayTracingShaderGroupHandlesNV;
+    vkGetRayTracingShaderGroupStackSizeKHR =
+        PFN_vkGetRayTracingShaderGroupStackSizeKHR(vkGetInstanceProcAddr(
+            instance, "vkGetRayTracingShaderGroupStackSizeKHR"));
+    vkGetRefreshCycleDurationGOOGLE = PFN_vkGetRefreshCycleDurationGOOGLE(
+        vkGetInstanceProcAddr(instance, "vkGetRefreshCycleDurationGOOGLE"));
+    vkGetRenderAreaGranularity = PFN_vkGetRenderAreaGranularity(
+        vkGetInstanceProcAddr(instance, "vkGetRenderAreaGranularity"));
+    vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR(
+        vkGetInstanceProcAddr(instance, "vkGetSemaphoreCounterValueKHR"));
+    vkGetSemaphoreCounterValue = PFN_vkGetSemaphoreCounterValue(
+        vkGetInstanceProcAddr(instance, "vkGetSemaphoreCounterValue"));
+    if (!vkGetSemaphoreCounterValue)
+      vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
+    vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR(
+        vkGetInstanceProcAddr(instance, "vkGetSemaphoreFdKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetSemaphoreWin32HandleKHR = PFN_vkGetSemaphoreWin32HandleKHR(
+        vkGetInstanceProcAddr(instance, "vkGetSemaphoreWin32HandleKHR"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkGetSemaphoreZirconHandleFUCHSIA =
-        PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA(
+        vkGetInstanceProcAddr(instance, "vkGetSemaphoreZirconHandleFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
-      vkGetSwapchainCounterEXT =
-        PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
-      vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
-      vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
-      vkGetValidationCacheDataEXT =
-        PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
-      vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkImportFenceWin32HandleKHR =
-        PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
+    vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD(
+        vkGetInstanceProcAddr(instance, "vkGetShaderInfoAMD"));
+    vkGetSwapchainCounterEXT = PFN_vkGetSwapchainCounterEXT(
+        vkGetInstanceProcAddr(instance, "vkGetSwapchainCounterEXT"));
+    vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR(
+        vkGetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR"));
+    vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR(
+        vkGetInstanceProcAddr(instance, "vkGetSwapchainStatusKHR"));
+    vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT(
+        vkGetInstanceProcAddr(instance, "vkGetValidationCacheDataEXT"));
+    vkImportFenceFdKHR = PFN_vkImportFenceFdKHR(
+        vkGetInstanceProcAddr(instance, "vkImportFenceFdKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR(
+        vkGetInstanceProcAddr(instance, "vkImportFenceWin32HandleKHR"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkImportSemaphoreWin32HandleKHR =
-        PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
+    vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR(
+        vkGetInstanceProcAddr(instance, "vkImportSemaphoreFdKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR(
+        vkGetInstanceProcAddr(instance, "vkImportSemaphoreWin32HandleKHR"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA(
-        vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkImportSemaphoreZirconHandleFUCHSIA =
+        PFN_vkImportSemaphoreZirconHandleFUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkImportSemaphoreZirconHandleFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkInitializePerformanceApiINTEL =
-        PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
-      vkInvalidateMappedMemoryRanges =
-        PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
-      vkMapMemory           = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
-      vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
-      vkMergeValidationCachesEXT =
-        PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
-      vkModifyMemoryRangesFUCHSIA =
-        PFN_vkModifyMemoryRangesFUCHSIA( vkGetDeviceProcAddr( device, "vkModifyMemoryRangesFUCHSIA" ) );
-      vkRegisterDeviceEventEXT =
-        PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
-      vkRegisterDisplayEventEXT =
-        PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-      vkReleaseFullScreenExclusiveModeEXT =
-        PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
+    vkInitializePerformanceApiINTEL = PFN_vkInitializePerformanceApiINTEL(
+        vkGetInstanceProcAddr(instance, "vkInitializePerformanceApiINTEL"));
+    vkInvalidateMappedMemoryRanges = PFN_vkInvalidateMappedMemoryRanges(
+        vkGetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges"));
+    vkMapMemory =
+        PFN_vkMapMemory(vkGetInstanceProcAddr(instance, "vkMapMemory"));
+    vkMergePipelineCaches = PFN_vkMergePipelineCaches(
+        vkGetInstanceProcAddr(instance, "vkMergePipelineCaches"));
+    vkMergeValidationCachesEXT = PFN_vkMergeValidationCachesEXT(
+        vkGetInstanceProcAddr(instance, "vkMergeValidationCachesEXT"));
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkModifyMemoryRangesFUCHSIA = PFN_vkModifyMemoryRangesFUCHSIA(
+        vkGetInstanceProcAddr(instance, "vkModifyMemoryRangesFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkQueueBeginDebugUtilsLabelEXT = PFN_vkQueueBeginDebugUtilsLabelEXT(
+        vkGetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT"));
+    vkQueueBindSparse = PFN_vkQueueBindSparse(
+        vkGetInstanceProcAddr(instance, "vkQueueBindSparse"));
+    vkQueueEndDebugUtilsLabelEXT = PFN_vkQueueEndDebugUtilsLabelEXT(
+        vkGetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT"));
+    vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT(
+        vkGetInstanceProcAddr(instance, "vkQueueInsertDebugUtilsLabelEXT"));
+    vkQueuePresentKHR = PFN_vkQueuePresentKHR(
+        vkGetInstanceProcAddr(instance, "vkQueuePresentKHR"));
+    vkQueueSetPerformanceConfigurationINTEL =
+        PFN_vkQueueSetPerformanceConfigurationINTEL(vkGetInstanceProcAddr(
+            instance, "vkQueueSetPerformanceConfigurationINTEL"));
+    vkQueueSubmit =
+        PFN_vkQueueSubmit(vkGetInstanceProcAddr(instance, "vkQueueSubmit"));
+    vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR(
+        vkGetInstanceProcAddr(instance, "vkQueueSubmit2KHR"));
+    vkQueueWaitIdle =
+        PFN_vkQueueWaitIdle(vkGetInstanceProcAddr(instance, "vkQueueWaitIdle"));
+    vkRegisterDeviceEventEXT = PFN_vkRegisterDeviceEventEXT(
+        vkGetInstanceProcAddr(instance, "vkRegisterDeviceEventEXT"));
+    vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT(
+        vkGetInstanceProcAddr(instance, "vkRegisterDisplayEventEXT"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkReleaseFullScreenExclusiveModeEXT =
+        PFN_vkReleaseFullScreenExclusiveModeEXT(vkGetInstanceProcAddr(
+            instance, "vkReleaseFullScreenExclusiveModeEXT"));
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-      vkReleasePerformanceConfigurationINTEL = PFN_vkReleasePerformanceConfigurationINTEL(
-        vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
-      vkReleaseProfilingLockKHR =
-        PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
-      vkResetCommandPool    = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
-      vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
-      vkResetEvent          = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
-      vkResetFences         = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
-      vkResetQueryPool      = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
-      vkResetQueryPoolEXT   = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkSetBufferCollectionBufferConstraintsFUCHSIA = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(
-        vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
+    vkReleasePerformanceConfigurationINTEL =
+        PFN_vkReleasePerformanceConfigurationINTEL(vkGetInstanceProcAddr(
+            instance, "vkReleasePerformanceConfigurationINTEL"));
+    vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR(
+        vkGetInstanceProcAddr(instance, "vkReleaseProfilingLockKHR"));
+    vkResetCommandBuffer = PFN_vkResetCommandBuffer(
+        vkGetInstanceProcAddr(instance, "vkResetCommandBuffer"));
+    vkResetCommandPool = PFN_vkResetCommandPool(
+        vkGetInstanceProcAddr(instance, "vkResetCommandPool"));
+    vkResetDescriptorPool = PFN_vkResetDescriptorPool(
+        vkGetInstanceProcAddr(instance, "vkResetDescriptorPool"));
+    vkResetEvent =
+        PFN_vkResetEvent(vkGetInstanceProcAddr(instance, "vkResetEvent"));
+    vkResetFences =
+        PFN_vkResetFences(vkGetInstanceProcAddr(instance, "vkResetFences"));
+    vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT(
+        vkGetInstanceProcAddr(instance, "vkResetQueryPoolEXT"));
+    vkResetQueryPool = PFN_vkResetQueryPool(
+        vkGetInstanceProcAddr(instance, "vkResetQueryPool"));
+    if (!vkResetQueryPool)
+      vkResetQueryPool = vkResetQueryPoolEXT;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkSetBufferCollectionBufferConstraintsFUCHSIA =
+        PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkSetBufferCollectionConstraintsFUCHSIA = PFN_vkSetBufferCollectionConstraintsFUCHSIA(
-        vkGetDeviceProcAddr( device, "vkSetBufferCollectionConstraintsFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkSetBufferCollectionConstraintsFUCHSIA =
+        PFN_vkSetBufferCollectionConstraintsFUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkSetBufferCollectionConstraintsFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-#ifdef VK_USE_PLATFORM_FUCHSIA
-      vkSetBufferCollectionImageConstraintsFUCHSIA = PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(
-        vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkSetBufferCollectionImageConstraintsFUCHSIA =
+        PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkSetBufferCollectionImageConstraintsFUCHSIA"));
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
-      vkSetDebugUtilsObjectNameEXT =
-        PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
-      vkSetDebugUtilsObjectTagEXT =
-        PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
-      vkSetEvent           = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
-      vkSetHdrMetadataEXT  = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
-      vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
-      vkSetPrivateDataEXT  = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
-      vkSignalSemaphore    = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
-      vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
-      vkTrimCommandPool    = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
-      vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
-      vkTrimCompactImageDeviceMemoryFUCHSIA = PFN_vkTrimCompactImageDeviceMemoryFUCHSIA(
-        vkGetDeviceProcAddr( device, "vkTrimCompactImageDeviceMemoryFUCHSIA" ) );
-      vkUninitializePerformanceApiINTEL =
-        PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
-      vkUnmapMemory = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
-      vkUpdateDescriptorSetWithTemplate =
-        PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
-      vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR(
-        vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
-      vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
-      vkWaitForFences        = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
-      vkWaitSemaphores       = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
-      vkWaitSemaphoresKHR    = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-      vkWriteAccelerationStructuresPropertiesKHR = PFN_vkWriteAccelerationStructuresPropertiesKHR(
-        vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-      vkGetQueueCheckpointDataNV =
-        PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
-      vkQueueBeginDebugUtilsLabelEXT =
-        PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
-      vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
-      vkQueueEndDebugUtilsLabelEXT =
-        PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
-      vkQueueInsertDebugUtilsLabelEXT =
-        PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
-      vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
-      vkQueueSetPerformanceConfigurationINTEL = PFN_vkQueueSetPerformanceConfigurationINTEL(
-        vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
-      vkQueueSubmit   = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
-      vkQueueWaitIdle = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
-    }
-  };
+    vkSetDebugUtilsObjectNameEXT = PFN_vkSetDebugUtilsObjectNameEXT(
+        vkGetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT"));
+    vkSetDebugUtilsObjectTagEXT = PFN_vkSetDebugUtilsObjectTagEXT(
+        vkGetInstanceProcAddr(instance, "vkSetDebugUtilsObjectTagEXT"));
+    vkSetEvent = PFN_vkSetEvent(vkGetInstanceProcAddr(instance, "vkSetEvent"));
+    vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT(
+        vkGetInstanceProcAddr(instance, "vkSetHdrMetadataEXT"));
+    vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD(
+        vkGetInstanceProcAddr(instance, "vkSetLocalDimmingAMD"));
+    vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT(
+        vkGetInstanceProcAddr(instance, "vkSetPrivateDataEXT"));
+    vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR(
+        vkGetInstanceProcAddr(instance, "vkSignalSemaphoreKHR"));
+    vkSignalSemaphore = PFN_vkSignalSemaphore(
+        vkGetInstanceProcAddr(instance, "vkSignalSemaphore"));
+    if (!vkSignalSemaphore)
+      vkSignalSemaphore = vkSignalSemaphoreKHR;
+    vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR(
+        vkGetInstanceProcAddr(instance, "vkTrimCommandPoolKHR"));
+    vkTrimCommandPool = PFN_vkTrimCommandPool(
+        vkGetInstanceProcAddr(instance, "vkTrimCommandPool"));
+    if (!vkTrimCommandPool)
+      vkTrimCommandPool = vkTrimCommandPoolKHR;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkTrimCompactImageDeviceMemoryFUCHSIA =
+        PFN_vkTrimCompactImageDeviceMemoryFUCHSIA(vkGetInstanceProcAddr(
+            instance, "vkTrimCompactImageDeviceMemoryFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL(
+        vkGetInstanceProcAddr(instance, "vkUninitializePerformanceApiINTEL"));
+    vkUnmapMemory =
+        PFN_vkUnmapMemory(vkGetInstanceProcAddr(instance, "vkUnmapMemory"));
+    vkUpdateDescriptorSetWithTemplateKHR =
+        PFN_vkUpdateDescriptorSetWithTemplateKHR(vkGetInstanceProcAddr(
+            instance, "vkUpdateDescriptorSetWithTemplateKHR"));
+    vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate(
+        vkGetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplate"));
+    if (!vkUpdateDescriptorSetWithTemplate)
+      vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
+    vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets(
+        vkGetInstanceProcAddr(instance, "vkUpdateDescriptorSets"));
+    vkWaitForFences =
+        PFN_vkWaitForFences(vkGetInstanceProcAddr(instance, "vkWaitForFences"));
+    vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR(
+        vkGetInstanceProcAddr(instance, "vkWaitSemaphoresKHR"));
+    vkWaitSemaphores = PFN_vkWaitSemaphores(
+        vkGetInstanceProcAddr(instance, "vkWaitSemaphores"));
+    if (!vkWaitSemaphores)
+      vkWaitSemaphores = vkWaitSemaphoresKHR;
+    vkWriteAccelerationStructuresPropertiesKHR =
+        PFN_vkWriteAccelerationStructuresPropertiesKHR(vkGetInstanceProcAddr(
+            instance, "vkWriteAccelerationStructuresPropertiesKHR"));
+  }
 
-}  // namespace VULKAN_HPP_NAMESPACE
+  void init(VULKAN_HPP_NAMESPACE::Device deviceCpp) VULKAN_HPP_NOEXCEPT {
+    VkDevice device = static_cast<VkDevice>(deviceCpp);
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkAcquireFullScreenExclusiveModeEXT =
+        PFN_vkAcquireFullScreenExclusiveModeEXT(
+            vkGetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR(
+        vkGetDeviceProcAddr(device, "vkAcquireNextImage2KHR"));
+    vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR(
+        vkGetDeviceProcAddr(device, "vkAcquireNextImageKHR"));
+    vkAcquirePerformanceConfigurationINTEL =
+        PFN_vkAcquirePerformanceConfigurationINTEL(vkGetDeviceProcAddr(
+            device, "vkAcquirePerformanceConfigurationINTEL"));
+    vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR(
+        vkGetDeviceProcAddr(device, "vkAcquireProfilingLockKHR"));
+    vkAllocateCommandBuffers = PFN_vkAllocateCommandBuffers(
+        vkGetDeviceProcAddr(device, "vkAllocateCommandBuffers"));
+    vkAllocateDescriptorSets = PFN_vkAllocateDescriptorSets(
+        vkGetDeviceProcAddr(device, "vkAllocateDescriptorSets"));
+    vkAllocateMemory =
+        PFN_vkAllocateMemory(vkGetDeviceProcAddr(device, "vkAllocateMemory"));
+    vkBeginCommandBuffer = PFN_vkBeginCommandBuffer(
+        vkGetDeviceProcAddr(device, "vkBeginCommandBuffer"));
+    vkBindAccelerationStructureMemoryNV =
+        PFN_vkBindAccelerationStructureMemoryNV(
+            vkGetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV"));
+    vkBindBufferMemory = PFN_vkBindBufferMemory(
+        vkGetDeviceProcAddr(device, "vkBindBufferMemory"));
+    vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR(
+        vkGetDeviceProcAddr(device, "vkBindBufferMemory2KHR"));
+    vkBindBufferMemory2 = PFN_vkBindBufferMemory2(
+        vkGetDeviceProcAddr(device, "vkBindBufferMemory2"));
+    if (!vkBindBufferMemory2)
+      vkBindBufferMemory2 = vkBindBufferMemory2KHR;
+    vkBindImageMemory =
+        PFN_vkBindImageMemory(vkGetDeviceProcAddr(device, "vkBindImageMemory"));
+    vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR(
+        vkGetDeviceProcAddr(device, "vkBindImageMemory2KHR"));
+    vkBindImageMemory2 = PFN_vkBindImageMemory2(
+        vkGetDeviceProcAddr(device, "vkBindImageMemory2"));
+    if (!vkBindImageMemory2)
+      vkBindImageMemory2 = vkBindImageMemory2KHR;
+    vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR(
+        vkGetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR"));
+    vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT(
+        vkGetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT"));
+    vkCmdBeginDebugUtilsLabelEXT = PFN_vkCmdBeginDebugUtilsLabelEXT(
+        vkGetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT"));
+    vkCmdBeginQuery =
+        PFN_vkCmdBeginQuery(vkGetDeviceProcAddr(device, "vkCmdBeginQuery"));
+    vkCmdBeginQueryIndexedEXT = PFN_vkCmdBeginQueryIndexedEXT(
+        vkGetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT"));
+    vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass(
+        vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass"));
+    vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR"));
+    vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2(
+        vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass2"));
+    if (!vkCmdBeginRenderPass2)
+      vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
+    vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT(
+        vkGetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT"));
+    vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets(
+        vkGetDeviceProcAddr(device, "vkCmdBindDescriptorSets"));
+    vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer(
+        vkGetDeviceProcAddr(device, "vkCmdBindIndexBuffer"));
+    vkCmdBindPipeline =
+        PFN_vkCmdBindPipeline(vkGetDeviceProcAddr(device, "vkCmdBindPipeline"));
+    vkCmdBindPipelineShaderGroupNV = PFN_vkCmdBindPipelineShaderGroupNV(
+        vkGetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV"));
+    vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV(
+        vkGetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV"));
+    vkCmdBindTransformFeedbackBuffersEXT =
+        PFN_vkCmdBindTransformFeedbackBuffersEXT(vkGetDeviceProcAddr(
+            device, "vkCmdBindTransformFeedbackBuffersEXT"));
+    vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers(
+        vkGetDeviceProcAddr(device, "vkCmdBindVertexBuffers"));
+    vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT(
+        vkGetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT"));
+    vkCmdBlitImage =
+        PFN_vkCmdBlitImage(vkGetDeviceProcAddr(device, "vkCmdBlitImage"));
+    vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdBlitImage2KHR"));
+    vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV(
+        vkGetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV"));
+    vkCmdBuildAccelerationStructuresIndirectKHR =
+        PFN_vkCmdBuildAccelerationStructuresIndirectKHR(vkGetDeviceProcAddr(
+            device, "vkCmdBuildAccelerationStructuresIndirectKHR"));
+    vkCmdBuildAccelerationStructuresKHR =
+        PFN_vkCmdBuildAccelerationStructuresKHR(
+            vkGetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR"));
+    vkCmdClearAttachments = PFN_vkCmdClearAttachments(
+        vkGetDeviceProcAddr(device, "vkCmdClearAttachments"));
+    vkCmdClearColorImage = PFN_vkCmdClearColorImage(
+        vkGetDeviceProcAddr(device, "vkCmdClearColorImage"));
+    vkCmdClearDepthStencilImage = PFN_vkCmdClearDepthStencilImage(
+        vkGetDeviceProcAddr(device, "vkCmdClearDepthStencilImage"));
+    vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR(
+        vkGetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR"));
+    vkCmdCopyAccelerationStructureNV = PFN_vkCmdCopyAccelerationStructureNV(
+        vkGetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV"));
+    vkCmdCopyAccelerationStructureToMemoryKHR =
+        PFN_vkCmdCopyAccelerationStructureToMemoryKHR(vkGetDeviceProcAddr(
+            device, "vkCmdCopyAccelerationStructureToMemoryKHR"));
+    vkCmdCopyBuffer =
+        PFN_vkCmdCopyBuffer(vkGetDeviceProcAddr(device, "vkCmdCopyBuffer"));
+    vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR"));
+    vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage(
+        vkGetDeviceProcAddr(device, "vkCmdCopyBufferToImage"));
+    vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR"));
+    vkCmdCopyImage =
+        PFN_vkCmdCopyImage(vkGetDeviceProcAddr(device, "vkCmdCopyImage"));
+    vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdCopyImage2KHR"));
+    vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer(
+        vkGetDeviceProcAddr(device, "vkCmdCopyImageToBuffer"));
+    vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR"));
+    vkCmdCopyMemoryToAccelerationStructureKHR =
+        PFN_vkCmdCopyMemoryToAccelerationStructureKHR(vkGetDeviceProcAddr(
+            device, "vkCmdCopyMemoryToAccelerationStructureKHR"));
+    vkCmdCopyQueryPoolResults = PFN_vkCmdCopyQueryPoolResults(
+        vkGetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults"));
+    vkCmdDebugMarkerBeginEXT = PFN_vkCmdDebugMarkerBeginEXT(
+        vkGetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT"));
+    vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT(
+        vkGetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT"));
+    vkCmdDebugMarkerInsertEXT = PFN_vkCmdDebugMarkerInsertEXT(
+        vkGetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT"));
+    vkCmdDispatch =
+        PFN_vkCmdDispatch(vkGetDeviceProcAddr(device, "vkCmdDispatch"));
+    vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR(
+        vkGetDeviceProcAddr(device, "vkCmdDispatchBaseKHR"));
+    vkCmdDispatchBase =
+        PFN_vkCmdDispatchBase(vkGetDeviceProcAddr(device, "vkCmdDispatchBase"));
+    if (!vkCmdDispatchBase)
+      vkCmdDispatchBase = vkCmdDispatchBaseKHR;
+    vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect(
+        vkGetDeviceProcAddr(device, "vkCmdDispatchIndirect"));
+    vkCmdDraw = PFN_vkCmdDraw(vkGetDeviceProcAddr(device, "vkCmdDraw"));
+    vkCmdDrawIndexed =
+        PFN_vkCmdDrawIndexed(vkGetDeviceProcAddr(device, "vkCmdDrawIndexed"));
+    vkCmdDrawIndexedIndirect = PFN_vkCmdDrawIndexedIndirect(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect"));
+    vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD"));
+    vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR"));
+    vkCmdDrawIndexedIndirectCount = PFN_vkCmdDrawIndexedIndirectCount(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount"));
+    if (!vkCmdDrawIndexedIndirectCount)
+      vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
+    if (!vkCmdDrawIndexedIndirectCount)
+      vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
+    vkCmdDrawIndirect =
+        PFN_vkCmdDrawIndirect(vkGetDeviceProcAddr(device, "vkCmdDrawIndirect"));
+    vkCmdDrawIndirectByteCountEXT = PFN_vkCmdDrawIndirectByteCountEXT(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT"));
+    vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD"));
+    vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR"));
+    vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount(
+        vkGetDeviceProcAddr(device, "vkCmdDrawIndirectCount"));
+    if (!vkCmdDrawIndirectCount)
+      vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
+    if (!vkCmdDrawIndirectCount)
+      vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
+    vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV(
+        vkGetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV"));
+    vkCmdDrawMeshTasksIndirectNV = PFN_vkCmdDrawMeshTasksIndirectNV(
+        vkGetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV"));
+    vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV(
+        vkGetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV"));
+    vkCmdEndConditionalRenderingEXT = PFN_vkCmdEndConditionalRenderingEXT(
+        vkGetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT"));
+    vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT(
+        vkGetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT"));
+    vkCmdEndQuery =
+        PFN_vkCmdEndQuery(vkGetDeviceProcAddr(device, "vkCmdEndQuery"));
+    vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT(
+        vkGetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT"));
+    vkCmdEndRenderPass = PFN_vkCmdEndRenderPass(
+        vkGetDeviceProcAddr(device, "vkCmdEndRenderPass"));
+    vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR"));
+    vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2(
+        vkGetDeviceProcAddr(device, "vkCmdEndRenderPass2"));
+    if (!vkCmdEndRenderPass2)
+      vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
+    vkCmdEndTransformFeedbackEXT = PFN_vkCmdEndTransformFeedbackEXT(
+        vkGetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT"));
+    vkCmdExecuteCommands = PFN_vkCmdExecuteCommands(
+        vkGetDeviceProcAddr(device, "vkCmdExecuteCommands"));
+    vkCmdExecuteGeneratedCommandsNV = PFN_vkCmdExecuteGeneratedCommandsNV(
+        vkGetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV"));
+    vkCmdFillBuffer =
+        PFN_vkCmdFillBuffer(vkGetDeviceProcAddr(device, "vkCmdFillBuffer"));
+    vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT(
+        vkGetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT"));
+    vkCmdNextSubpass =
+        PFN_vkCmdNextSubpass(vkGetDeviceProcAddr(device, "vkCmdNextSubpass"));
+    vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdNextSubpass2KHR"));
+    vkCmdNextSubpass2 =
+        PFN_vkCmdNextSubpass2(vkGetDeviceProcAddr(device, "vkCmdNextSubpass2"));
+    if (!vkCmdNextSubpass2)
+      vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
+    vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier(
+        vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier"));
+    vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR"));
+    vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV(
+        vkGetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV"));
+    vkCmdPushConstants = PFN_vkCmdPushConstants(
+        vkGetDeviceProcAddr(device, "vkCmdPushConstants"));
+    vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR(
+        vkGetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR"));
+    vkCmdPushDescriptorSetWithTemplateKHR =
+        PFN_vkCmdPushDescriptorSetWithTemplateKHR(vkGetDeviceProcAddr(
+            device, "vkCmdPushDescriptorSetWithTemplateKHR"));
+    vkCmdResetEvent =
+        PFN_vkCmdResetEvent(vkGetDeviceProcAddr(device, "vkCmdResetEvent"));
+    vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdResetEvent2KHR"));
+    vkCmdResetQueryPool = PFN_vkCmdResetQueryPool(
+        vkGetDeviceProcAddr(device, "vkCmdResetQueryPool"));
+    vkCmdResolveImage =
+        PFN_vkCmdResolveImage(vkGetDeviceProcAddr(device, "vkCmdResolveImage"));
+    vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdResolveImage2KHR"));
+    vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants(
+        vkGetDeviceProcAddr(device, "vkCmdSetBlendConstants"));
+    vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV(
+        vkGetDeviceProcAddr(device, "vkCmdSetCheckpointNV"));
+    vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV(
+        vkGetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV"));
+    vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetCullModeEXT"));
+    vkCmdSetDepthBias =
+        PFN_vkCmdSetDepthBias(vkGetDeviceProcAddr(device, "vkCmdSetDepthBias"));
+    vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds(
+        vkGetDeviceProcAddr(device, "vkCmdSetDepthBounds"));
+    vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT"));
+    vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT"));
+    vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT"));
+    vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT"));
+    vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR(
+        vkGetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR"));
+    vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask(
+        vkGetDeviceProcAddr(device, "vkCmdSetDeviceMask"));
+    if (!vkCmdSetDeviceMask)
+      vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
+    vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT"));
+    vkCmdSetEvent =
+        PFN_vkCmdSetEvent(vkGetDeviceProcAddr(device, "vkCmdSetEvent"));
+    vkCmdSetEvent2KHR =
+        PFN_vkCmdSetEvent2KHR(vkGetDeviceProcAddr(device, "vkCmdSetEvent2KHR"));
+    vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV(
+        vkGetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV"));
+    vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV(
+        vkGetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV"));
+    vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR(
+        vkGetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR"));
+    vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT"));
+    vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetLineStippleEXT"));
+    vkCmdSetLineWidth =
+        PFN_vkCmdSetLineWidth(vkGetDeviceProcAddr(device, "vkCmdSetLineWidth"));
+    vkCmdSetPerformanceMarkerINTEL = PFN_vkCmdSetPerformanceMarkerINTEL(
+        vkGetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL"));
+    vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL(
+        vkGetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL"));
+    vkCmdSetPerformanceStreamMarkerINTEL =
+        PFN_vkCmdSetPerformanceStreamMarkerINTEL(vkGetDeviceProcAddr(
+            device, "vkCmdSetPerformanceStreamMarkerINTEL"));
+    vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT"));
+    vkCmdSetRayTracingPipelineStackSizeKHR =
+        PFN_vkCmdSetRayTracingPipelineStackSizeKHR(vkGetDeviceProcAddr(
+            device, "vkCmdSetRayTracingPipelineStackSizeKHR"));
+    vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT"));
+    vkCmdSetScissor =
+        PFN_vkCmdSetScissor(vkGetDeviceProcAddr(device, "vkCmdSetScissor"));
+    vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT"));
+    vkCmdSetStencilCompareMask = PFN_vkCmdSetStencilCompareMask(
+        vkGetDeviceProcAddr(device, "vkCmdSetStencilCompareMask"));
+    vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetStencilOpEXT"));
+    vkCmdSetStencilReference = PFN_vkCmdSetStencilReference(
+        vkGetDeviceProcAddr(device, "vkCmdSetStencilReference"));
+    vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT"));
+    vkCmdSetStencilWriteMask = PFN_vkCmdSetStencilWriteMask(
+        vkGetDeviceProcAddr(device, "vkCmdSetStencilWriteMask"));
+    vkCmdSetViewport =
+        PFN_vkCmdSetViewport(vkGetDeviceProcAddr(device, "vkCmdSetViewport"));
+    vkCmdSetViewportShadingRatePaletteNV =
+        PFN_vkCmdSetViewportShadingRatePaletteNV(vkGetDeviceProcAddr(
+            device, "vkCmdSetViewportShadingRatePaletteNV"));
+    vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV(
+        vkGetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV"));
+    vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT(
+        vkGetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT"));
+    vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR(
+        vkGetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR"));
+    vkCmdTraceRaysKHR =
+        PFN_vkCmdTraceRaysKHR(vkGetDeviceProcAddr(device, "vkCmdTraceRaysKHR"));
+    vkCmdTraceRaysNV =
+        PFN_vkCmdTraceRaysNV(vkGetDeviceProcAddr(device, "vkCmdTraceRaysNV"));
+    vkCmdUpdateBuffer =
+        PFN_vkCmdUpdateBuffer(vkGetDeviceProcAddr(device, "vkCmdUpdateBuffer"));
+    vkCmdWaitEvents =
+        PFN_vkCmdWaitEvents(vkGetDeviceProcAddr(device, "vkCmdWaitEvents"));
+    vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdWaitEvents2KHR"));
+    vkCmdWriteAccelerationStructuresPropertiesKHR =
+        PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(vkGetDeviceProcAddr(
+            device, "vkCmdWriteAccelerationStructuresPropertiesKHR"));
+    vkCmdWriteAccelerationStructuresPropertiesNV =
+        PFN_vkCmdWriteAccelerationStructuresPropertiesNV(vkGetDeviceProcAddr(
+            device, "vkCmdWriteAccelerationStructuresPropertiesNV"));
+    vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD(
+        vkGetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD"));
+    vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD(
+        vkGetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD"));
+    vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp(
+        vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp"));
+    vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR(
+        vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR"));
+    vkCompileDeferredNV = PFN_vkCompileDeferredNV(
+        vkGetDeviceProcAddr(device, "vkCompileDeferredNV"));
+    vkCopyAccelerationStructureKHR = PFN_vkCopyAccelerationStructureKHR(
+        vkGetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR"));
+    vkCopyAccelerationStructureToMemoryKHR =
+        PFN_vkCopyAccelerationStructureToMemoryKHR(vkGetDeviceProcAddr(
+            device, "vkCopyAccelerationStructureToMemoryKHR"));
+    vkCopyMemoryToAccelerationStructureKHR =
+        PFN_vkCopyMemoryToAccelerationStructureKHR(vkGetDeviceProcAddr(
+            device, "vkCopyMemoryToAccelerationStructureKHR"));
+    vkCreateAccelerationStructureKHR = PFN_vkCreateAccelerationStructureKHR(
+        vkGetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR"));
+    vkCreateAccelerationStructureNV = PFN_vkCreateAccelerationStructureNV(
+        vkGetDeviceProcAddr(device, "vkCreateAccelerationStructureNV"));
+    vkCreateBuffer =
+        PFN_vkCreateBuffer(vkGetDeviceProcAddr(device, "vkCreateBuffer"));
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA(
+        vkGetDeviceProcAddr(device, "vkCreateBufferCollectionFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkCreateBufferView = PFN_vkCreateBufferView(
+        vkGetDeviceProcAddr(device, "vkCreateBufferView"));
+    vkCreateCommandPool = PFN_vkCreateCommandPool(
+        vkGetDeviceProcAddr(device, "vkCreateCommandPool"));
+    vkCreateComputePipelines = PFN_vkCreateComputePipelines(
+        vkGetDeviceProcAddr(device, "vkCreateComputePipelines"));
+    vkCreateDeferredOperationKHR = PFN_vkCreateDeferredOperationKHR(
+        vkGetDeviceProcAddr(device, "vkCreateDeferredOperationKHR"));
+    vkCreateDescriptorPool = PFN_vkCreateDescriptorPool(
+        vkGetDeviceProcAddr(device, "vkCreateDescriptorPool"));
+    vkCreateDescriptorSetLayout = PFN_vkCreateDescriptorSetLayout(
+        vkGetDeviceProcAddr(device, "vkCreateDescriptorSetLayout"));
+    vkCreateDescriptorUpdateTemplateKHR =
+        PFN_vkCreateDescriptorUpdateTemplateKHR(
+            vkGetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR"));
+    vkCreateDescriptorUpdateTemplate = PFN_vkCreateDescriptorUpdateTemplate(
+        vkGetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate"));
+    if (!vkCreateDescriptorUpdateTemplate)
+      vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
+    vkCreateEvent =
+        PFN_vkCreateEvent(vkGetDeviceProcAddr(device, "vkCreateEvent"));
+    vkCreateFence =
+        PFN_vkCreateFence(vkGetDeviceProcAddr(device, "vkCreateFence"));
+    vkCreateFramebuffer = PFN_vkCreateFramebuffer(
+        vkGetDeviceProcAddr(device, "vkCreateFramebuffer"));
+    vkCreateGraphicsPipelines = PFN_vkCreateGraphicsPipelines(
+        vkGetDeviceProcAddr(device, "vkCreateGraphicsPipelines"));
+    vkCreateImage =
+        PFN_vkCreateImage(vkGetDeviceProcAddr(device, "vkCreateImage"));
+    vkCreateImageView =
+        PFN_vkCreateImageView(vkGetDeviceProcAddr(device, "vkCreateImageView"));
+    vkCreateIndirectCommandsLayoutNV = PFN_vkCreateIndirectCommandsLayoutNV(
+        vkGetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV"));
+    vkCreatePipelineCache = PFN_vkCreatePipelineCache(
+        vkGetDeviceProcAddr(device, "vkCreatePipelineCache"));
+    vkCreatePipelineLayout = PFN_vkCreatePipelineLayout(
+        vkGetDeviceProcAddr(device, "vkCreatePipelineLayout"));
+    vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT(
+        vkGetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT"));
+    vkCreateQueryPool =
+        PFN_vkCreateQueryPool(vkGetDeviceProcAddr(device, "vkCreateQueryPool"));
+    vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR(
+        vkGetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR"));
+    vkCreateRayTracingPipelinesNV = PFN_vkCreateRayTracingPipelinesNV(
+        vkGetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV"));
+    vkCreateRenderPass = PFN_vkCreateRenderPass(
+        vkGetDeviceProcAddr(device, "vkCreateRenderPass"));
+    vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR(
+        vkGetDeviceProcAddr(device, "vkCreateRenderPass2KHR"));
+    vkCreateRenderPass2 = PFN_vkCreateRenderPass2(
+        vkGetDeviceProcAddr(device, "vkCreateRenderPass2"));
+    if (!vkCreateRenderPass2)
+      vkCreateRenderPass2 = vkCreateRenderPass2KHR;
+    vkCreateSampler =
+        PFN_vkCreateSampler(vkGetDeviceProcAddr(device, "vkCreateSampler"));
+    vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR(
+        vkGetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR"));
+    vkCreateSamplerYcbcrConversion = PFN_vkCreateSamplerYcbcrConversion(
+        vkGetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion"));
+    if (!vkCreateSamplerYcbcrConversion)
+      vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
+    vkCreateSemaphore =
+        PFN_vkCreateSemaphore(vkGetDeviceProcAddr(device, "vkCreateSemaphore"));
+    vkCreateShaderModule = PFN_vkCreateShaderModule(
+        vkGetDeviceProcAddr(device, "vkCreateShaderModule"));
+    vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR(
+        vkGetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR"));
+    vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR(
+        vkGetDeviceProcAddr(device, "vkCreateSwapchainKHR"));
+    vkCreateValidationCacheEXT = PFN_vkCreateValidationCacheEXT(
+        vkGetDeviceProcAddr(device, "vkCreateValidationCacheEXT"));
+    vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT(
+        vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT"));
+    vkDebugMarkerSetObjectTagEXT = PFN_vkDebugMarkerSetObjectTagEXT(
+        vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT"));
+    vkDeferredOperationJoinKHR = PFN_vkDeferredOperationJoinKHR(
+        vkGetDeviceProcAddr(device, "vkDeferredOperationJoinKHR"));
+    vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR(
+        vkGetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR"));
+    vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV(
+        vkGetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV"));
+    vkDestroyBuffer =
+        PFN_vkDestroyBuffer(vkGetDeviceProcAddr(device, "vkDestroyBuffer"));
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA(
+        vkGetDeviceProcAddr(device, "vkDestroyBufferCollectionFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkDestroyBufferView = PFN_vkDestroyBufferView(
+        vkGetDeviceProcAddr(device, "vkDestroyBufferView"));
+    vkDestroyCommandPool = PFN_vkDestroyCommandPool(
+        vkGetDeviceProcAddr(device, "vkDestroyCommandPool"));
+    vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR(
+        vkGetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR"));
+    vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool(
+        vkGetDeviceProcAddr(device, "vkDestroyDescriptorPool"));
+    vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout(
+        vkGetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout"));
+    vkDestroyDescriptorUpdateTemplateKHR =
+        PFN_vkDestroyDescriptorUpdateTemplateKHR(vkGetDeviceProcAddr(
+            device, "vkDestroyDescriptorUpdateTemplateKHR"));
+    vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate(
+        vkGetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate"));
+    if (!vkDestroyDescriptorUpdateTemplate)
+      vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
+    vkDestroyDevice =
+        PFN_vkDestroyDevice(vkGetDeviceProcAddr(device, "vkDestroyDevice"));
+    vkDestroyEvent =
+        PFN_vkDestroyEvent(vkGetDeviceProcAddr(device, "vkDestroyEvent"));
+    vkDestroyFence =
+        PFN_vkDestroyFence(vkGetDeviceProcAddr(device, "vkDestroyFence"));
+    vkDestroyFramebuffer = PFN_vkDestroyFramebuffer(
+        vkGetDeviceProcAddr(device, "vkDestroyFramebuffer"));
+    vkDestroyImage =
+        PFN_vkDestroyImage(vkGetDeviceProcAddr(device, "vkDestroyImage"));
+    vkDestroyImageView = PFN_vkDestroyImageView(
+        vkGetDeviceProcAddr(device, "vkDestroyImageView"));
+    vkDestroyIndirectCommandsLayoutNV = PFN_vkDestroyIndirectCommandsLayoutNV(
+        vkGetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV"));
+    vkDestroyPipeline =
+        PFN_vkDestroyPipeline(vkGetDeviceProcAddr(device, "vkDestroyPipeline"));
+    vkDestroyPipelineCache = PFN_vkDestroyPipelineCache(
+        vkGetDeviceProcAddr(device, "vkDestroyPipelineCache"));
+    vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout(
+        vkGetDeviceProcAddr(device, "vkDestroyPipelineLayout"));
+    vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT(
+        vkGetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT"));
+    vkDestroyQueryPool = PFN_vkDestroyQueryPool(
+        vkGetDeviceProcAddr(device, "vkDestroyQueryPool"));
+    vkDestroyRenderPass = PFN_vkDestroyRenderPass(
+        vkGetDeviceProcAddr(device, "vkDestroyRenderPass"));
+    vkDestroySampler =
+        PFN_vkDestroySampler(vkGetDeviceProcAddr(device, "vkDestroySampler"));
+    vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR(
+        vkGetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR"));
+    vkDestroySamplerYcbcrConversion = PFN_vkDestroySamplerYcbcrConversion(
+        vkGetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion"));
+    if (!vkDestroySamplerYcbcrConversion)
+      vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
+    vkDestroySemaphore = PFN_vkDestroySemaphore(
+        vkGetDeviceProcAddr(device, "vkDestroySemaphore"));
+    vkDestroyShaderModule = PFN_vkDestroyShaderModule(
+        vkGetDeviceProcAddr(device, "vkDestroyShaderModule"));
+    vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR(
+        vkGetDeviceProcAddr(device, "vkDestroySwapchainKHR"));
+    vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT(
+        vkGetDeviceProcAddr(device, "vkDestroyValidationCacheEXT"));
+    vkDeviceWaitIdle =
+        PFN_vkDeviceWaitIdle(vkGetDeviceProcAddr(device, "vkDeviceWaitIdle"));
+    vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT(
+        vkGetDeviceProcAddr(device, "vkDisplayPowerControlEXT"));
+    vkEndCommandBuffer = PFN_vkEndCommandBuffer(
+        vkGetDeviceProcAddr(device, "vkEndCommandBuffer"));
+    vkFlushMappedMemoryRanges = PFN_vkFlushMappedMemoryRanges(
+        vkGetDeviceProcAddr(device, "vkFlushMappedMemoryRanges"));
+    vkFreeCommandBuffers = PFN_vkFreeCommandBuffers(
+        vkGetDeviceProcAddr(device, "vkFreeCommandBuffers"));
+    vkFreeDescriptorSets = PFN_vkFreeDescriptorSets(
+        vkGetDeviceProcAddr(device, "vkFreeDescriptorSets"));
+    vkFreeMemory =
+        PFN_vkFreeMemory(vkGetDeviceProcAddr(device, "vkFreeMemory"));
+    vkGetAccelerationStructureBuildSizesKHR =
+        PFN_vkGetAccelerationStructureBuildSizesKHR(vkGetDeviceProcAddr(
+            device, "vkGetAccelerationStructureBuildSizesKHR"));
+    vkGetAccelerationStructureDeviceAddressKHR =
+        PFN_vkGetAccelerationStructureDeviceAddressKHR(vkGetDeviceProcAddr(
+            device, "vkGetAccelerationStructureDeviceAddressKHR"));
+    vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV(
+        vkGetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV"));
+    vkGetAccelerationStructureMemoryRequirementsNV =
+        PFN_vkGetAccelerationStructureMemoryRequirementsNV(vkGetDeviceProcAddr(
+            device, "vkGetAccelerationStructureMemoryRequirementsNV"));
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+    vkGetAndroidHardwareBufferPropertiesANDROID =
+        PFN_vkGetAndroidHardwareBufferPropertiesANDROID(vkGetDeviceProcAddr(
+            device, "vkGetAndroidHardwareBufferPropertiesANDROID"));
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetBufferCollectionProperties2FUCHSIA =
+        PFN_vkGetBufferCollectionProperties2FUCHSIA(vkGetDeviceProcAddr(
+            device, "vkGetBufferCollectionProperties2FUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetBufferCollectionPropertiesFUCHSIA =
+        PFN_vkGetBufferCollectionPropertiesFUCHSIA(vkGetDeviceProcAddr(
+            device, "vkGetBufferCollectionPropertiesFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT(
+        vkGetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT"));
+    vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR(
+        vkGetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR"));
+    vkGetBufferDeviceAddress = PFN_vkGetBufferDeviceAddress(
+        vkGetDeviceProcAddr(device, "vkGetBufferDeviceAddress"));
+    if (!vkGetBufferDeviceAddress)
+      vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
+    if (!vkGetBufferDeviceAddress)
+      vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
+    vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements(
+        vkGetDeviceProcAddr(device, "vkGetBufferMemoryRequirements"));
+    vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR(
+        vkGetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR"));
+    vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2(
+        vkGetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2"));
+    if (!vkGetBufferMemoryRequirements2)
+      vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
+    vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR(
+        vkGetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR"));
+    vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress(
+        vkGetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress"));
+    if (!vkGetBufferOpaqueCaptureAddress)
+      vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
+    vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT(
+        vkGetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT"));
+    vkGetDeferredOperationMaxConcurrencyKHR =
+        PFN_vkGetDeferredOperationMaxConcurrencyKHR(vkGetDeviceProcAddr(
+            device, "vkGetDeferredOperationMaxConcurrencyKHR"));
+    vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR(
+        vkGetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR"));
+    vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR(
+        vkGetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR"));
+    vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport(
+        vkGetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport"));
+    if (!vkGetDescriptorSetLayoutSupport)
+      vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
+    vkGetDeviceAccelerationStructureCompatibilityKHR =
+        PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
+            vkGetDeviceProcAddr(
+                device, "vkGetDeviceAccelerationStructureCompatibilityKHR"));
+    vkGetDeviceGroupPeerMemoryFeaturesKHR =
+        PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(vkGetDeviceProcAddr(
+            device, "vkGetDeviceGroupPeerMemoryFeaturesKHR"));
+    vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures(
+        vkGetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures"));
+    if (!vkGetDeviceGroupPeerMemoryFeatures)
+      vkGetDeviceGroupPeerMemoryFeatures =
+          vkGetDeviceGroupPeerMemoryFeaturesKHR;
+    vkGetDeviceGroupPresentCapabilitiesKHR =
+        PFN_vkGetDeviceGroupPresentCapabilitiesKHR(vkGetDeviceProcAddr(
+            device, "vkGetDeviceGroupPresentCapabilitiesKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetDeviceGroupSurfacePresentModes2EXT =
+        PFN_vkGetDeviceGroupSurfacePresentModes2EXT(vkGetDeviceProcAddr(
+            device, "vkGetDeviceGroupSurfacePresentModes2EXT"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    vkGetDeviceGroupSurfacePresentModesKHR =
+        PFN_vkGetDeviceGroupSurfacePresentModesKHR(vkGetDeviceProcAddr(
+            device, "vkGetDeviceGroupSurfacePresentModesKHR"));
+    vkGetDeviceMemoryCommitment = PFN_vkGetDeviceMemoryCommitment(
+        vkGetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment"));
+    vkGetDeviceMemoryOpaqueCaptureAddressKHR =
+        PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(vkGetDeviceProcAddr(
+            device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"));
+    vkGetDeviceMemoryOpaqueCaptureAddress =
+        PFN_vkGetDeviceMemoryOpaqueCaptureAddress(vkGetDeviceProcAddr(
+            device, "vkGetDeviceMemoryOpaqueCaptureAddress"));
+    if (!vkGetDeviceMemoryOpaqueCaptureAddress)
+      vkGetDeviceMemoryOpaqueCaptureAddress =
+          vkGetDeviceMemoryOpaqueCaptureAddressKHR;
+    vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr(
+        vkGetDeviceProcAddr(device, "vkGetDeviceProcAddr"));
+    vkGetDeviceQueue =
+        PFN_vkGetDeviceQueue(vkGetDeviceProcAddr(device, "vkGetDeviceQueue"));
+    vkGetDeviceQueue2 =
+        PFN_vkGetDeviceQueue2(vkGetDeviceProcAddr(device, "vkGetDeviceQueue2"));
+    vkGetEventStatus =
+        PFN_vkGetEventStatus(vkGetDeviceProcAddr(device, "vkGetEventStatus"));
+    vkGetFenceFdKHR =
+        PFN_vkGetFenceFdKHR(vkGetDeviceProcAddr(device, "vkGetFenceFdKHR"));
+    vkGetFenceStatus =
+        PFN_vkGetFenceStatus(vkGetDeviceProcAddr(device, "vkGetFenceStatus"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetFenceWin32HandleKHR = PFN_vkGetFenceWin32HandleKHR(
+        vkGetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    vkGetGeneratedCommandsMemoryRequirementsNV =
+        PFN_vkGetGeneratedCommandsMemoryRequirementsNV(vkGetDeviceProcAddr(
+            device, "vkGetGeneratedCommandsMemoryRequirementsNV"));
+    vkGetImageDrmFormatModifierPropertiesEXT =
+        PFN_vkGetImageDrmFormatModifierPropertiesEXT(vkGetDeviceProcAddr(
+            device, "vkGetImageDrmFormatModifierPropertiesEXT"));
+    vkGetImageMemoryRequirements = PFN_vkGetImageMemoryRequirements(
+        vkGetDeviceProcAddr(device, "vkGetImageMemoryRequirements"));
+    vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR(
+        vkGetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR"));
+    vkGetImageMemoryRequirements2 = PFN_vkGetImageMemoryRequirements2(
+        vkGetDeviceProcAddr(device, "vkGetImageMemoryRequirements2"));
+    if (!vkGetImageMemoryRequirements2)
+      vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
+    vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements(
+        vkGetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements"));
+    vkGetImageSparseMemoryRequirements2KHR =
+        PFN_vkGetImageSparseMemoryRequirements2KHR(vkGetDeviceProcAddr(
+            device, "vkGetImageSparseMemoryRequirements2KHR"));
+    vkGetImageSparseMemoryRequirements2 =
+        PFN_vkGetImageSparseMemoryRequirements2(
+            vkGetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2"));
+    if (!vkGetImageSparseMemoryRequirements2)
+      vkGetImageSparseMemoryRequirements2 =
+          vkGetImageSparseMemoryRequirements2KHR;
+    vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout(
+        vkGetDeviceProcAddr(device, "vkGetImageSubresourceLayout"));
+    vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX(
+        vkGetDeviceProcAddr(device, "vkGetImageViewAddressNVX"));
+    vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX(
+        vkGetDeviceProcAddr(device, "vkGetImageViewHandleNVX"));
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+    vkGetMemoryAndroidHardwareBufferANDROID =
+        PFN_vkGetMemoryAndroidHardwareBufferANDROID(vkGetDeviceProcAddr(
+            device, "vkGetMemoryAndroidHardwareBufferANDROID"));
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+    vkGetMemoryFdKHR =
+        PFN_vkGetMemoryFdKHR(vkGetDeviceProcAddr(device, "vkGetMemoryFdKHR"));
+    vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR(
+        vkGetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR"));
+    vkGetMemoryHostPointerPropertiesEXT =
+        PFN_vkGetMemoryHostPointerPropertiesEXT(
+            vkGetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR(
+        vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV(
+        vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetMemoryWin32HandlePropertiesKHR =
+        PFN_vkGetMemoryWin32HandlePropertiesKHR(
+            vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA(
+        vkGetDeviceProcAddr(device, "vkGetMemoryZirconHandleFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetMemoryZirconHandlePropertiesFUCHSIA =
+        PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(vkGetDeviceProcAddr(
+            device, "vkGetMemoryZirconHandlePropertiesFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE(
+        vkGetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE"));
+    vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL(
+        vkGetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL"));
+    vkGetPipelineCacheData = PFN_vkGetPipelineCacheData(
+        vkGetDeviceProcAddr(device, "vkGetPipelineCacheData"));
+    vkGetPipelineExecutableInternalRepresentationsKHR =
+        PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
+            vkGetDeviceProcAddr(
+                device, "vkGetPipelineExecutableInternalRepresentationsKHR"));
+    vkGetPipelineExecutablePropertiesKHR =
+        PFN_vkGetPipelineExecutablePropertiesKHR(vkGetDeviceProcAddr(
+            device, "vkGetPipelineExecutablePropertiesKHR"));
+    vkGetPipelineExecutableStatisticsKHR =
+        PFN_vkGetPipelineExecutableStatisticsKHR(vkGetDeviceProcAddr(
+            device, "vkGetPipelineExecutableStatisticsKHR"));
+    vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT(
+        vkGetDeviceProcAddr(device, "vkGetPrivateDataEXT"));
+    vkGetQueryPoolResults = PFN_vkGetQueryPoolResults(
+        vkGetDeviceProcAddr(device, "vkGetQueryPoolResults"));
+    vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV(
+        vkGetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV"));
+    vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV(
+        vkGetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV"));
+    vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
+        PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+            vkGetDeviceProcAddr(
+                device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"));
+    vkGetRayTracingShaderGroupHandlesNV =
+        PFN_vkGetRayTracingShaderGroupHandlesNV(
+            vkGetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV"));
+    vkGetRayTracingShaderGroupHandlesKHR =
+        PFN_vkGetRayTracingShaderGroupHandlesKHR(vkGetDeviceProcAddr(
+            device, "vkGetRayTracingShaderGroupHandlesKHR"));
+    if (!vkGetRayTracingShaderGroupHandlesKHR)
+      vkGetRayTracingShaderGroupHandlesKHR =
+          vkGetRayTracingShaderGroupHandlesNV;
+    vkGetRayTracingShaderGroupStackSizeKHR =
+        PFN_vkGetRayTracingShaderGroupStackSizeKHR(vkGetDeviceProcAddr(
+            device, "vkGetRayTracingShaderGroupStackSizeKHR"));
+    vkGetRefreshCycleDurationGOOGLE = PFN_vkGetRefreshCycleDurationGOOGLE(
+        vkGetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE"));
+    vkGetRenderAreaGranularity = PFN_vkGetRenderAreaGranularity(
+        vkGetDeviceProcAddr(device, "vkGetRenderAreaGranularity"));
+    vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR(
+        vkGetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR"));
+    vkGetSemaphoreCounterValue = PFN_vkGetSemaphoreCounterValue(
+        vkGetDeviceProcAddr(device, "vkGetSemaphoreCounterValue"));
+    if (!vkGetSemaphoreCounterValue)
+      vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
+    vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR(
+        vkGetDeviceProcAddr(device, "vkGetSemaphoreFdKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkGetSemaphoreWin32HandleKHR = PFN_vkGetSemaphoreWin32HandleKHR(
+        vkGetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA(
+        vkGetDeviceProcAddr(device, "vkGetSemaphoreZirconHandleFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD(
+        vkGetDeviceProcAddr(device, "vkGetShaderInfoAMD"));
+    vkGetSwapchainCounterEXT = PFN_vkGetSwapchainCounterEXT(
+        vkGetDeviceProcAddr(device, "vkGetSwapchainCounterEXT"));
+    vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR(
+        vkGetDeviceProcAddr(device, "vkGetSwapchainImagesKHR"));
+    vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR(
+        vkGetDeviceProcAddr(device, "vkGetSwapchainStatusKHR"));
+    vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT(
+        vkGetDeviceProcAddr(device, "vkGetValidationCacheDataEXT"));
+    vkImportFenceFdKHR = PFN_vkImportFenceFdKHR(
+        vkGetDeviceProcAddr(device, "vkImportFenceFdKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR(
+        vkGetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR(
+        vkGetDeviceProcAddr(device, "vkImportSemaphoreFdKHR"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR(
+        vkGetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkImportSemaphoreZirconHandleFUCHSIA =
+        PFN_vkImportSemaphoreZirconHandleFUCHSIA(vkGetDeviceProcAddr(
+            device, "vkImportSemaphoreZirconHandleFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkInitializePerformanceApiINTEL = PFN_vkInitializePerformanceApiINTEL(
+        vkGetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL"));
+    vkInvalidateMappedMemoryRanges = PFN_vkInvalidateMappedMemoryRanges(
+        vkGetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges"));
+    vkMapMemory = PFN_vkMapMemory(vkGetDeviceProcAddr(device, "vkMapMemory"));
+    vkMergePipelineCaches = PFN_vkMergePipelineCaches(
+        vkGetDeviceProcAddr(device, "vkMergePipelineCaches"));
+    vkMergeValidationCachesEXT = PFN_vkMergeValidationCachesEXT(
+        vkGetDeviceProcAddr(device, "vkMergeValidationCachesEXT"));
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkModifyMemoryRangesFUCHSIA = PFN_vkModifyMemoryRangesFUCHSIA(
+        vkGetDeviceProcAddr(device, "vkModifyMemoryRangesFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkQueueBeginDebugUtilsLabelEXT = PFN_vkQueueBeginDebugUtilsLabelEXT(
+        vkGetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT"));
+    vkQueueBindSparse =
+        PFN_vkQueueBindSparse(vkGetDeviceProcAddr(device, "vkQueueBindSparse"));
+    vkQueueEndDebugUtilsLabelEXT = PFN_vkQueueEndDebugUtilsLabelEXT(
+        vkGetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT"));
+    vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT(
+        vkGetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT"));
+    vkQueuePresentKHR =
+        PFN_vkQueuePresentKHR(vkGetDeviceProcAddr(device, "vkQueuePresentKHR"));
+    vkQueueSetPerformanceConfigurationINTEL =
+        PFN_vkQueueSetPerformanceConfigurationINTEL(vkGetDeviceProcAddr(
+            device, "vkQueueSetPerformanceConfigurationINTEL"));
+    vkQueueSubmit =
+        PFN_vkQueueSubmit(vkGetDeviceProcAddr(device, "vkQueueSubmit"));
+    vkQueueSubmit2KHR =
+        PFN_vkQueueSubmit2KHR(vkGetDeviceProcAddr(device, "vkQueueSubmit2KHR"));
+    vkQueueWaitIdle =
+        PFN_vkQueueWaitIdle(vkGetDeviceProcAddr(device, "vkQueueWaitIdle"));
+    vkRegisterDeviceEventEXT = PFN_vkRegisterDeviceEventEXT(
+        vkGetDeviceProcAddr(device, "vkRegisterDeviceEventEXT"));
+    vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT(
+        vkGetDeviceProcAddr(device, "vkRegisterDisplayEventEXT"));
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    vkReleaseFullScreenExclusiveModeEXT =
+        PFN_vkReleaseFullScreenExclusiveModeEXT(
+            vkGetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT"));
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+    vkReleasePerformanceConfigurationINTEL =
+        PFN_vkReleasePerformanceConfigurationINTEL(vkGetDeviceProcAddr(
+            device, "vkReleasePerformanceConfigurationINTEL"));
+    vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR(
+        vkGetDeviceProcAddr(device, "vkReleaseProfilingLockKHR"));
+    vkResetCommandBuffer = PFN_vkResetCommandBuffer(
+        vkGetDeviceProcAddr(device, "vkResetCommandBuffer"));
+    vkResetCommandPool = PFN_vkResetCommandPool(
+        vkGetDeviceProcAddr(device, "vkResetCommandPool"));
+    vkResetDescriptorPool = PFN_vkResetDescriptorPool(
+        vkGetDeviceProcAddr(device, "vkResetDescriptorPool"));
+    vkResetEvent =
+        PFN_vkResetEvent(vkGetDeviceProcAddr(device, "vkResetEvent"));
+    vkResetFences =
+        PFN_vkResetFences(vkGetDeviceProcAddr(device, "vkResetFences"));
+    vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT(
+        vkGetDeviceProcAddr(device, "vkResetQueryPoolEXT"));
+    vkResetQueryPool =
+        PFN_vkResetQueryPool(vkGetDeviceProcAddr(device, "vkResetQueryPool"));
+    if (!vkResetQueryPool)
+      vkResetQueryPool = vkResetQueryPoolEXT;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkSetBufferCollectionBufferConstraintsFUCHSIA =
+        PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(vkGetDeviceProcAddr(
+            device, "vkSetBufferCollectionBufferConstraintsFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkSetBufferCollectionConstraintsFUCHSIA =
+        PFN_vkSetBufferCollectionConstraintsFUCHSIA(vkGetDeviceProcAddr(
+            device, "vkSetBufferCollectionConstraintsFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkSetBufferCollectionImageConstraintsFUCHSIA =
+        PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(vkGetDeviceProcAddr(
+            device, "vkSetBufferCollectionImageConstraintsFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkSetDebugUtilsObjectNameEXT = PFN_vkSetDebugUtilsObjectNameEXT(
+        vkGetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT"));
+    vkSetDebugUtilsObjectTagEXT = PFN_vkSetDebugUtilsObjectTagEXT(
+        vkGetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT"));
+    vkSetEvent = PFN_vkSetEvent(vkGetDeviceProcAddr(device, "vkSetEvent"));
+    vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT(
+        vkGetDeviceProcAddr(device, "vkSetHdrMetadataEXT"));
+    vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD(
+        vkGetDeviceProcAddr(device, "vkSetLocalDimmingAMD"));
+    vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT(
+        vkGetDeviceProcAddr(device, "vkSetPrivateDataEXT"));
+    vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR(
+        vkGetDeviceProcAddr(device, "vkSignalSemaphoreKHR"));
+    vkSignalSemaphore =
+        PFN_vkSignalSemaphore(vkGetDeviceProcAddr(device, "vkSignalSemaphore"));
+    if (!vkSignalSemaphore)
+      vkSignalSemaphore = vkSignalSemaphoreKHR;
+    vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR(
+        vkGetDeviceProcAddr(device, "vkTrimCommandPoolKHR"));
+    vkTrimCommandPool =
+        PFN_vkTrimCommandPool(vkGetDeviceProcAddr(device, "vkTrimCommandPool"));
+    if (!vkTrimCommandPool)
+      vkTrimCommandPool = vkTrimCommandPoolKHR;
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+    vkTrimCompactImageDeviceMemoryFUCHSIA =
+        PFN_vkTrimCompactImageDeviceMemoryFUCHSIA(vkGetDeviceProcAddr(
+            device, "vkTrimCompactImageDeviceMemoryFUCHSIA"));
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL(
+        vkGetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL"));
+    vkUnmapMemory =
+        PFN_vkUnmapMemory(vkGetDeviceProcAddr(device, "vkUnmapMemory"));
+    vkUpdateDescriptorSetWithTemplateKHR =
+        PFN_vkUpdateDescriptorSetWithTemplateKHR(vkGetDeviceProcAddr(
+            device, "vkUpdateDescriptorSetWithTemplateKHR"));
+    vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate(
+        vkGetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate"));
+    if (!vkUpdateDescriptorSetWithTemplate)
+      vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
+    vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets(
+        vkGetDeviceProcAddr(device, "vkUpdateDescriptorSets"));
+    vkWaitForFences =
+        PFN_vkWaitForFences(vkGetDeviceProcAddr(device, "vkWaitForFences"));
+    vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR(
+        vkGetDeviceProcAddr(device, "vkWaitSemaphoresKHR"));
+    vkWaitSemaphores =
+        PFN_vkWaitSemaphores(vkGetDeviceProcAddr(device, "vkWaitSemaphores"));
+    if (!vkWaitSemaphores)
+      vkWaitSemaphores = vkWaitSemaphoresKHR;
+    vkWriteAccelerationStructuresPropertiesKHR =
+        PFN_vkWriteAccelerationStructuresPropertiesKHR(vkGetDeviceProcAddr(
+            device, "vkWriteAccelerationStructuresPropertiesKHR"));
+  }
+};
 
-namespace std
-{
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & accelerationStructureKHR ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkAccelerationStructureKHR>{}(
-        static_cast<VkAccelerationStructureKHR>( accelerationStructureKHR ) );
-    }
-  };
+} // namespace VULKAN_HPP_NAMESPACE
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Buffer>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Buffer const & buffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkBuffer>{}( static_cast<VkBuffer>( buffer ) );
-    }
-  };
+namespace std {
 
-#ifdef VK_USE_PLATFORM_FUCHSIA
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const & bufferCollectionFUCHSIA ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkBufferCollectionFUCHSIA>{}(
-        static_cast<VkBufferCollectionFUCHSIA>( bufferCollectionFUCHSIA ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const
+                 &accelerationStructureKHR) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkAccelerationStructureKHR>{}(
+        static_cast<VkAccelerationStructureKHR>(accelerationStructureKHR));
+  }
+};
+
+template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureNV> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureNV const
+                 &accelerationStructureNV) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkAccelerationStructureNV>{}(
+        static_cast<VkAccelerationStructureNV>(accelerationStructureNV));
+  }
+};
+
+template <> struct hash<VULKAN_HPP_NAMESPACE::Buffer> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Buffer const &buffer) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkBuffer>{}(static_cast<VkBuffer>(buffer));
+  }
+};
+
+#if defined(VK_USE_PLATFORM_FUCHSIA)
+template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const
+                 &bufferCollectionFUCHSIA) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkBufferCollectionFUCHSIA>{}(
+        static_cast<VkBufferCollectionFUCHSIA>(bufferCollectionFUCHSIA));
+  }
+};
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::BufferView>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferView const & bufferView ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkBufferView>{}( static_cast<VkBufferView>( bufferView ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::BufferView> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferView const &bufferView)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkBufferView>{}(static_cast<VkBufferView>(bufferView));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBuffer const & commandBuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkCommandBuffer>{}( static_cast<VkCommandBuffer>( commandBuffer ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::CommandBuffer const &commandBuffer) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkCommandBuffer>{}(
+        static_cast<VkCommandBuffer>(commandBuffer));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::CommandPool>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandPool const & commandPool ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkCommandPool>{}( static_cast<VkCommandPool>( commandPool ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::CommandPool> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandPool const &commandPool)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkCommandPool>{}(static_cast<VkCommandPool>(commandPool));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & debugReportCallbackEXT ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDebugReportCallbackEXT>{}( static_cast<VkDebugReportCallbackEXT>( debugReportCallbackEXT ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const &
+                             debugReportCallbackEXT) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDebugReportCallbackEXT>{}(
+        static_cast<VkDebugReportCallbackEXT>(debugReportCallbackEXT));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & debugUtilsMessengerEXT ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDebugUtilsMessengerEXT>{}( static_cast<VkDebugUtilsMessengerEXT>( debugUtilsMessengerEXT ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const &
+                             debugUtilsMessengerEXT) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDebugUtilsMessengerEXT>{}(
+        static_cast<VkDebugUtilsMessengerEXT>(debugUtilsMessengerEXT));
+  }
+};
 
-#ifdef VK_ENABLE_BETA_EXTENSIONS
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>
-  {
-    std::size_t
-      operator()( VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & deferredOperationKHR ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDeferredOperationKHR>{}( static_cast<VkDeferredOperationKHR>( deferredOperationKHR ) );
-    }
-  };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+template <> struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::DeferredOperationKHR const
+                             &deferredOperationKHR) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDeferredOperationKHR>{}(
+        static_cast<VkDeferredOperationKHR>(deferredOperationKHR));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorPool const & descriptorPool ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDescriptorPool>{}( static_cast<VkDescriptorPool>( descriptorPool ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::DescriptorPool const &descriptorPool) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDescriptorPool>{}(
+        static_cast<VkDescriptorPool>(descriptorPool));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSet const & descriptorSet ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDescriptorSet>{}( static_cast<VkDescriptorSet>( descriptorSet ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::DescriptorSet const &descriptorSet) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDescriptorSet>{}(
+        static_cast<VkDescriptorSet>(descriptorSet));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>
-  {
-    std::size_t
-      operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & descriptorSetLayout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDescriptorSetLayout>{}( static_cast<VkDescriptorSetLayout>( descriptorSetLayout ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayout const
+                             &descriptorSetLayout) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDescriptorSetLayout>{}(
+        static_cast<VkDescriptorSetLayout>(descriptorSetLayout));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & descriptorUpdateTemplate ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDescriptorUpdateTemplate>{}(
-        static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const
+                 &descriptorUpdateTemplate) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDescriptorUpdateTemplate>{}(
+        static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Device>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Device const & device ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDevice>{}( static_cast<VkDevice>( device ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Device> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Device const &device) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDevice>{}(static_cast<VkDevice>(device));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemory const & deviceMemory ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDeviceMemory>{}( static_cast<VkDeviceMemory>( deviceMemory ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemory const &deviceMemory)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDeviceMemory>{}(
+        static_cast<VkDeviceMemory>(deviceMemory));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayKHR const & displayKHR ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDisplayKHR>{}( static_cast<VkDisplayKHR>( displayKHR ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayKHR const &displayKHR)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDisplayKHR>{}(static_cast<VkDisplayKHR>(displayKHR));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeKHR const & displayModeKHR ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkDisplayModeKHR>{}( static_cast<VkDisplayModeKHR>( displayModeKHR ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::DisplayModeKHR const &displayModeKHR) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkDisplayModeKHR>{}(
+        static_cast<VkDisplayModeKHR>(displayModeKHR));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Event>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Event const & event ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkEvent>{}( static_cast<VkEvent>( event ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Event> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Event const &event) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkEvent>{}(static_cast<VkEvent>(event));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Fence>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Fence const & fence ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkFence>{}( static_cast<VkFence>( fence ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Fence> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Fence const &fence) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkFence>{}(static_cast<VkFence>(fence));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Framebuffer>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Framebuffer const & framebuffer ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkFramebuffer>{}( static_cast<VkFramebuffer>( framebuffer ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Framebuffer> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Framebuffer const &framebuffer)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkFramebuffer>{}(static_cast<VkFramebuffer>(framebuffer));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Image>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Image const & image ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkImage>{}( static_cast<VkImage>( image ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Image> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Image const &image) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkImage>{}(static_cast<VkImage>(image));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::ImageView>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageView const & imageView ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkImageView>{}( static_cast<VkImageView>( imageView ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::ImageView> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageView const &imageView) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkImageView>{}(static_cast<VkImageView>(imageView));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & indirectCommandsLayoutNV ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkIndirectCommandsLayoutNV>{}(
-        static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayoutNV ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const
+                 &indirectCommandsLayoutNV) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkIndirectCommandsLayoutNV>{}(
+        static_cast<VkIndirectCommandsLayoutNV>(indirectCommandsLayoutNV));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Instance>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Instance const & instance ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkInstance>{}( static_cast<VkInstance>( instance ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Instance> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Instance const &instance) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkInstance>{}(static_cast<VkInstance>(instance));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & performanceConfigurationINTEL )
-      const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkPerformanceConfigurationINTEL>{}(
-        static_cast<VkPerformanceConfigurationINTEL>( performanceConfigurationINTEL ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const
+                 &performanceConfigurationINTEL) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkPerformanceConfigurationINTEL>{}(
+        static_cast<VkPerformanceConfigurationINTEL>(
+            performanceConfigurationINTEL));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice const & physicalDevice ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkPhysicalDevice>{}( static_cast<VkPhysicalDevice>( physicalDevice ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice const &physicalDevice) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkPhysicalDevice>{}(
+        static_cast<VkPhysicalDevice>(physicalDevice));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Pipeline>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Pipeline const & pipeline ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkPipeline>{}( static_cast<VkPipeline>( pipeline ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Pipeline> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Pipeline const &pipeline) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkPipeline>{}(static_cast<VkPipeline>(pipeline));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::PipelineCache>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCache const & pipelineCache ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkPipelineCache>{}( static_cast<VkPipelineCache>( pipelineCache ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCache> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::PipelineCache const &pipelineCache) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkPipelineCache>{}(
+        static_cast<VkPipelineCache>(pipelineCache));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineLayout const & pipelineLayout ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkPipelineLayout>{}( static_cast<VkPipelineLayout>( pipelineLayout ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout> {
+  std::size_t
+  operator()(VULKAN_HPP_NAMESPACE::PipelineLayout const &pipelineLayout) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkPipelineLayout>{}(
+        static_cast<VkPipelineLayout>(pipelineLayout));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>
-  {
-    std::size_t
-      operator()( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT const & privateDataSlotEXT ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkPrivateDataSlotEXT>{}( static_cast<VkPrivateDataSlotEXT>( privateDataSlotEXT ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT const
+                             &privateDataSlotEXT) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkPrivateDataSlotEXT>{}(
+        static_cast<VkPrivateDataSlotEXT>(privateDataSlotEXT));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::QueryPool>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPool const & queryPool ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkQueryPool>{}( static_cast<VkQueryPool>( queryPool ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::QueryPool> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPool const &queryPool) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkQueryPool>{}(static_cast<VkQueryPool>(queryPool));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Queue>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Queue const & queue ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkQueue>{}( static_cast<VkQueue>( queue ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Queue> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Queue const &queue) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkQueue>{}(static_cast<VkQueue>(queue));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::RenderPass>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPass const & renderPass ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkRenderPass>{}( static_cast<VkRenderPass>( renderPass ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPass> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPass const &renderPass)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkRenderPass>{}(static_cast<VkRenderPass>(renderPass));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Sampler>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Sampler const & sampler ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkSampler>{}( static_cast<VkSampler>( sampler ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Sampler> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Sampler const &sampler) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkSampler>{}(static_cast<VkSampler>(sampler));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & samplerYcbcrConversion ) const
-      VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkSamplerYcbcrConversion>{}( static_cast<VkSamplerYcbcrConversion>( samplerYcbcrConversion ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const &
+                             samplerYcbcrConversion) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkSamplerYcbcrConversion>{}(
+        static_cast<VkSamplerYcbcrConversion>(samplerYcbcrConversion));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::Semaphore>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::Semaphore const & semaphore ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkSemaphore>{}( static_cast<VkSemaphore>( semaphore ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::Semaphore> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::Semaphore const &semaphore) const
+      VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkSemaphore>{}(static_cast<VkSemaphore>(semaphore));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::ShaderModule>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModule const & shaderModule ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkShaderModule>{}( static_cast<VkShaderModule>( shaderModule ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::ShaderModule> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderModule const &shaderModule)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkShaderModule>{}(
+        static_cast<VkShaderModule>(shaderModule));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceKHR const & surfaceKHR ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkSurfaceKHR>{}( static_cast<VkSurfaceKHR>( surfaceKHR ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceKHR const &surfaceKHR)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkSurfaceKHR>{}(static_cast<VkSurfaceKHR>(surfaceKHR));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR>
-  {
-    std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainKHR const & swapchainKHR ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkSwapchainKHR>{}( static_cast<VkSwapchainKHR>( swapchainKHR ) );
-    }
-  };
+template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainKHR const &swapchainKHR)
+      const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkSwapchainKHR>{}(
+        static_cast<VkSwapchainKHR>(swapchainKHR));
+  }
+};
 
-  template <>
-  struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>
-  {
-    std::size_t
-      operator()( VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & validationCacheEXT ) const VULKAN_HPP_NOEXCEPT
-    {
-      return std::hash<VkValidationCacheEXT>{}( static_cast<VkValidationCacheEXT>( validationCacheEXT ) );
-    }
-  };
-}  // namespace std
+template <> struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT> {
+  std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationCacheEXT const
+                             &validationCacheEXT) const VULKAN_HPP_NOEXCEPT {
+    return std::hash<VkValidationCacheEXT>{}(
+        static_cast<VkValidationCacheEXT>(validationCacheEXT));
+  }
+};
+} // namespace std
 #endif
diff --git a/include/vulkan/vulkan_android.h b/include/vulkan/vulkan_android.h
index 50ef85f..2160e3e 100644
--- a/include/vulkan/vulkan_android.h
+++ b/include/vulkan/vulkan_android.h
@@ -2,7 +2,7 @@
 #define VULKAN_ANDROID_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h
index 2904234..bef8ce3 100644
--- a/include/vulkan/vulkan_beta.h
+++ b/include/vulkan/vulkan_beta.h
@@ -2,7 +2,7 @@
 #define VULKAN_BETA_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
@@ -19,407 +19,35 @@
 
 
 
-#define VK_KHR_deferred_host_operations 1
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
-#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 3
-#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
-typedef struct VkDeferredOperationInfoKHR {
-    VkStructureType           sType;
-    const void*               pNext;
-    VkDeferredOperationKHR    operationHandle;
-} VkDeferredOperationInfoKHR;
-
-typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
-typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
-typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
-typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
-typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
-
-#ifndef VK_NO_PROTOTYPES
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
-    VkDevice                                    device,
-    const VkAllocationCallbacks*                pAllocator,
-    VkDeferredOperationKHR*                     pDeferredOperation);
-
-VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
-    VkDevice                                    device,
-    VkDeferredOperationKHR                      operation,
-    const VkAllocationCallbacks*                pAllocator);
-
-VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
-    VkDevice                                    device,
-    VkDeferredOperationKHR                      operation);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
-    VkDevice                                    device,
-    VkDeferredOperationKHR                      operation);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
-    VkDevice                                    device,
-    VkDeferredOperationKHR                      operation);
-#endif
-
-
-#define VK_KHR_pipeline_library 1
-#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
-#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
-typedef struct VkPipelineLibraryCreateInfoKHR {
-    VkStructureType      sType;
-    const void*          pNext;
-    uint32_t             libraryCount;
-    const VkPipeline*    pLibraries;
-} VkPipelineLibraryCreateInfoKHR;
-
-
-
-#define VK_KHR_ray_tracing 1
-#define VK_KHR_RAY_TRACING_SPEC_VERSION   8
-#define VK_KHR_RAY_TRACING_EXTENSION_NAME "VK_KHR_ray_tracing"
-
-typedef enum VkAccelerationStructureBuildTypeKHR {
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
-} VkAccelerationStructureBuildTypeKHR;
-typedef union VkDeviceOrHostAddressKHR {
-    VkDeviceAddress    deviceAddress;
-    void*              hostAddress;
-} VkDeviceOrHostAddressKHR;
-
-typedef union VkDeviceOrHostAddressConstKHR {
-    VkDeviceAddress    deviceAddress;
-    const void*        hostAddress;
-} VkDeviceOrHostAddressConstKHR;
-
-typedef struct VkAccelerationStructureBuildOffsetInfoKHR {
-    uint32_t    primitiveCount;
-    uint32_t    primitiveOffset;
-    uint32_t    firstVertex;
-    uint32_t    transformOffset;
-} VkAccelerationStructureBuildOffsetInfoKHR;
-
-typedef struct VkRayTracingShaderGroupCreateInfoKHR {
-    VkStructureType                   sType;
-    const void*                       pNext;
-    VkRayTracingShaderGroupTypeKHR    type;
-    uint32_t                          generalShader;
-    uint32_t                          closestHitShader;
-    uint32_t                          anyHitShader;
-    uint32_t                          intersectionShader;
-    const void*                       pShaderGroupCaptureReplayHandle;
-} VkRayTracingShaderGroupCreateInfoKHR;
-
-typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
-    VkStructureType    sType;
-    const void*        pNext;
-    uint32_t           maxPayloadSize;
-    uint32_t           maxAttributeSize;
-    uint32_t           maxCallableSize;
-} VkRayTracingPipelineInterfaceCreateInfoKHR;
-
-typedef struct VkRayTracingPipelineCreateInfoKHR {
-    VkStructureType                                      sType;
-    const void*                                          pNext;
-    VkPipelineCreateFlags                                flags;
-    uint32_t                                             stageCount;
-    const VkPipelineShaderStageCreateInfo*               pStages;
-    uint32_t                                             groupCount;
-    const VkRayTracingShaderGroupCreateInfoKHR*          pGroups;
-    uint32_t                                             maxRecursionDepth;
-    VkPipelineLibraryCreateInfoKHR                       libraries;
-    const VkRayTracingPipelineInterfaceCreateInfoKHR*    pLibraryInterface;
-    VkPipelineLayout                                     layout;
-    VkPipeline                                           basePipelineHandle;
-    int32_t                                              basePipelineIndex;
-} VkRayTracingPipelineCreateInfoKHR;
-
-typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
-    VkStructureType                  sType;
-    const void*                      pNext;
-    VkFormat                         vertexFormat;
-    VkDeviceOrHostAddressConstKHR    vertexData;
-    VkDeviceSize                     vertexStride;
-    VkIndexType                      indexType;
-    VkDeviceOrHostAddressConstKHR    indexData;
-    VkDeviceOrHostAddressConstKHR    transformData;
-} VkAccelerationStructureGeometryTrianglesDataKHR;
-
-typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
-    VkStructureType                  sType;
-    const void*                      pNext;
-    VkDeviceOrHostAddressConstKHR    data;
-    VkDeviceSize                     stride;
-} VkAccelerationStructureGeometryAabbsDataKHR;
-
-typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
-    VkStructureType                  sType;
-    const void*                      pNext;
-    VkBool32                         arrayOfPointers;
-    VkDeviceOrHostAddressConstKHR    data;
-} VkAccelerationStructureGeometryInstancesDataKHR;
-
-typedef union VkAccelerationStructureGeometryDataKHR {
-    VkAccelerationStructureGeometryTrianglesDataKHR    triangles;
-    VkAccelerationStructureGeometryAabbsDataKHR        aabbs;
-    VkAccelerationStructureGeometryInstancesDataKHR    instances;
-} VkAccelerationStructureGeometryDataKHR;
-
-typedef struct VkAccelerationStructureGeometryKHR {
-    VkStructureType                           sType;
-    const void*                               pNext;
-    VkGeometryTypeKHR                         geometryType;
-    VkAccelerationStructureGeometryDataKHR    geometry;
-    VkGeometryFlagsKHR                        flags;
-} VkAccelerationStructureGeometryKHR;
-
-typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
-    VkStructureType                                     sType;
-    const void*                                         pNext;
-    VkAccelerationStructureTypeKHR                      type;
-    VkBuildAccelerationStructureFlagsKHR                flags;
-    VkBool32                                            update;
-    VkAccelerationStructureKHR                          srcAccelerationStructure;
-    VkAccelerationStructureKHR                          dstAccelerationStructure;
-    VkBool32                                            geometryArrayOfPointers;
-    uint32_t                                            geometryCount;
-    const VkAccelerationStructureGeometryKHR* const*    ppGeometries;
-    VkDeviceOrHostAddressKHR                            scratchData;
-} VkAccelerationStructureBuildGeometryInfoKHR;
-
-typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR {
-    VkStructureType      sType;
-    const void*          pNext;
-    VkGeometryTypeKHR    geometryType;
-    uint32_t             maxPrimitiveCount;
-    VkIndexType          indexType;
-    uint32_t             maxVertexCount;
-    VkFormat             vertexFormat;
-    VkBool32             allowsTransforms;
-} VkAccelerationStructureCreateGeometryTypeInfoKHR;
-
-typedef struct VkAccelerationStructureCreateInfoKHR {
-    VkStructureType                                            sType;
-    const void*                                                pNext;
-    VkDeviceSize                                               compactedSize;
-    VkAccelerationStructureTypeKHR                             type;
-    VkBuildAccelerationStructureFlagsKHR                       flags;
-    uint32_t                                                   maxGeometryCount;
-    const VkAccelerationStructureCreateGeometryTypeInfoKHR*    pGeometryInfos;
-    VkDeviceAddress                                            deviceAddress;
-} VkAccelerationStructureCreateInfoKHR;
-
-typedef struct VkAccelerationStructureMemoryRequirementsInfoKHR {
-    VkStructureType                                     sType;
-    const void*                                         pNext;
-    VkAccelerationStructureMemoryRequirementsTypeKHR    type;
-    VkAccelerationStructureBuildTypeKHR                 buildType;
-    VkAccelerationStructureKHR                          accelerationStructure;
-} VkAccelerationStructureMemoryRequirementsInfoKHR;
-
-typedef struct VkPhysicalDeviceRayTracingFeaturesKHR {
+#define VK_KHR_portability_subset 1
+#define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1
+#define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
+typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
     VkStructureType    sType;
     void*              pNext;
-    VkBool32           rayTracing;
-    VkBool32           rayTracingShaderGroupHandleCaptureReplay;
-    VkBool32           rayTracingShaderGroupHandleCaptureReplayMixed;
-    VkBool32           rayTracingAccelerationStructureCaptureReplay;
-    VkBool32           rayTracingIndirectTraceRays;
-    VkBool32           rayTracingIndirectAccelerationStructureBuild;
-    VkBool32           rayTracingHostAccelerationStructureCommands;
-    VkBool32           rayQuery;
-    VkBool32           rayTracingPrimitiveCulling;
-} VkPhysicalDeviceRayTracingFeaturesKHR;
+    VkBool32           constantAlphaColorBlendFactors;
+    VkBool32           events;
+    VkBool32           imageViewFormatReinterpretation;
+    VkBool32           imageViewFormatSwizzle;
+    VkBool32           imageView2DOn3DImage;
+    VkBool32           multisampleArrayImage;
+    VkBool32           mutableComparisonSamplers;
+    VkBool32           pointPolygons;
+    VkBool32           samplerMipLodBias;
+    VkBool32           separateStencilMaskRef;
+    VkBool32           shaderSampleRateInterpolationFunctions;
+    VkBool32           tessellationIsolines;
+    VkBool32           tessellationPointMode;
+    VkBool32           triangleFans;
+    VkBool32           vertexAttributeAccessBeyondStride;
+} VkPhysicalDevicePortabilitySubsetFeaturesKHR;
 
-typedef struct VkPhysicalDeviceRayTracingPropertiesKHR {
+typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
     VkStructureType    sType;
     void*              pNext;
-    uint32_t           shaderGroupHandleSize;
-    uint32_t           maxRecursionDepth;
-    uint32_t           maxShaderGroupStride;
-    uint32_t           shaderGroupBaseAlignment;
-    uint64_t           maxGeometryCount;
-    uint64_t           maxInstanceCount;
-    uint64_t           maxPrimitiveCount;
-    uint32_t           maxDescriptorSetAccelerationStructures;
-    uint32_t           shaderGroupHandleCaptureReplaySize;
-} VkPhysicalDeviceRayTracingPropertiesKHR;
+    uint32_t           minVertexInputBindingStrideAlignment;
+} VkPhysicalDevicePortabilitySubsetPropertiesKHR;
 
-typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
-    VkStructureType               sType;
-    const void*                   pNext;
-    VkAccelerationStructureKHR    accelerationStructure;
-} VkAccelerationStructureDeviceAddressInfoKHR;
-
-typedef struct VkAccelerationStructureVersionKHR {
-    VkStructureType    sType;
-    const void*        pNext;
-    const uint8_t*     versionData;
-} VkAccelerationStructureVersionKHR;
-
-typedef struct VkStridedBufferRegionKHR {
-    VkBuffer        buffer;
-    VkDeviceSize    offset;
-    VkDeviceSize    stride;
-    VkDeviceSize    size;
-} VkStridedBufferRegionKHR;
-
-typedef struct VkTraceRaysIndirectCommandKHR {
-    uint32_t    width;
-    uint32_t    height;
-    uint32_t    depth;
-} VkTraceRaysIndirectCommandKHR;
-
-typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
-    VkStructureType                       sType;
-    const void*                           pNext;
-    VkAccelerationStructureKHR            src;
-    VkDeviceOrHostAddressKHR              dst;
-    VkCopyAccelerationStructureModeKHR    mode;
-} VkCopyAccelerationStructureToMemoryInfoKHR;
-
-typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
-    VkStructureType                       sType;
-    const void*                           pNext;
-    VkDeviceOrHostAddressConstKHR         src;
-    VkAccelerationStructureKHR            dst;
-    VkCopyAccelerationStructureModeKHR    mode;
-} VkCopyMemoryToAccelerationStructureInfoKHR;
-
-typedef struct VkCopyAccelerationStructureInfoKHR {
-    VkStructureType                       sType;
-    const void*                           pNext;
-    VkAccelerationStructureKHR            src;
-    VkAccelerationStructureKHR            dst;
-    VkCopyAccelerationStructureModeKHR    mode;
-} VkCopyAccelerationStructureInfoKHR;
-
-typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice                                           device, const VkAccelerationStructureCreateInfoKHR*        pCreateInfo, const VkAllocationCallbacks*       pAllocator, VkAccelerationStructureKHR*                        pAccelerationStructure);
-typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsKHR)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements);
-typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureKHR)(VkCommandBuffer                                    commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
-typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureIndirectKHR)(VkCommandBuffer                  commandBuffer, const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, VkBuffer                                           indirectBuffer, VkDeviceSize                                       indirectOffset, uint32_t                                           indirectStride);
-typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructureKHR)(VkDevice                                           device, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
-typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, const VkCopyAccelerationStructureInfoKHR* pInfo);
-typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
-typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
-typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType  queryType, size_t       dataSize, void* pData, size_t stride);
-typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
-typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
-typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
-typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
-typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, VkBuffer buffer, VkDeviceSize offset);
-typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionKHR* version);
-
-#ifndef VK_NO_PROTOTYPES
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
-    VkDevice                                    device,
-    const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkAccelerationStructureKHR*                 pAccelerationStructure);
-
-VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsKHR(
-    VkDevice                                    device,
-    const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo,
-    VkMemoryRequirements2*                      pMemoryRequirements);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureKHR(
-    VkCommandBuffer                             commandBuffer,
-    uint32_t                                    infoCount,
-    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
-    const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureIndirectKHR(
-    VkCommandBuffer                             commandBuffer,
-    const VkAccelerationStructureBuildGeometryInfoKHR* pInfo,
-    VkBuffer                                    indirectBuffer,
-    VkDeviceSize                                indirectOffset,
-    uint32_t                                    indirectStride);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructureKHR(
-    VkDevice                                    device,
-    uint32_t                                    infoCount,
-    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
-    const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
-    VkDevice                                    device,
-    const VkCopyAccelerationStructureInfoKHR*   pInfo);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
-    VkDevice                                    device,
-    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
-    VkDevice                                    device,
-    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
-    VkDevice                                    device,
-    uint32_t                                    accelerationStructureCount,
-    const VkAccelerationStructureKHR*           pAccelerationStructures,
-    VkQueryType                                 queryType,
-    size_t                                      dataSize,
-    void*                                       pData,
-    size_t                                      stride);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
-    VkCommandBuffer                             commandBuffer,
-    const VkCopyAccelerationStructureInfoKHR*   pInfo);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
-    VkCommandBuffer                             commandBuffer,
-    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
-    VkCommandBuffer                             commandBuffer,
-    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
-    VkCommandBuffer                             commandBuffer,
-    const VkStridedBufferRegionKHR*             pRaygenShaderBindingTable,
-    const VkStridedBufferRegionKHR*             pMissShaderBindingTable,
-    const VkStridedBufferRegionKHR*             pHitShaderBindingTable,
-    const VkStridedBufferRegionKHR*             pCallableShaderBindingTable,
-    uint32_t                                    width,
-    uint32_t                                    height,
-    uint32_t                                    depth);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
-    VkDevice                                    device,
-    VkPipelineCache                             pipelineCache,
-    uint32_t                                    createInfoCount,
-    const VkRayTracingPipelineCreateInfoKHR*    pCreateInfos,
-    const VkAllocationCallbacks*                pAllocator,
-    VkPipeline*                                 pPipelines);
-
-VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
-    VkDevice                                    device,
-    const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
-    VkDevice                                    device,
-    VkPipeline                                  pipeline,
-    uint32_t                                    firstGroup,
-    uint32_t                                    groupCount,
-    size_t                                      dataSize,
-    void*                                       pData);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
-    VkCommandBuffer                             commandBuffer,
-    const VkStridedBufferRegionKHR*             pRaygenShaderBindingTable,
-    const VkStridedBufferRegionKHR*             pMissShaderBindingTable,
-    const VkStridedBufferRegionKHR*             pHitShaderBindingTable,
-    const VkStridedBufferRegionKHR*             pCallableShaderBindingTable,
-    VkBuffer                                    buffer,
-    VkDeviceSize                                offset);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
-    VkDevice                                    device,
-    const VkAccelerationStructureVersionKHR*    version);
-#endif
 
 #ifdef __cplusplus
 }
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index 2ec5f69..54091aa 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -2,7 +2,7 @@
 #define VULKAN_CORE_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
@@ -25,12 +25,37 @@
 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
 
 
-#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
-#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
-#else
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
+#ifndef VK_USE_64_BIT_PTR_DEFINES
+    #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
+        #define VK_USE_64_BIT_PTR_DEFINES 1
+    #else
+        #define VK_USE_64_BIT_PTR_DEFINES 0
+    #endif
 #endif
+
+
+#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
+    #if (VK_USE_64_BIT_PTR_DEFINES==1)
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
+    #else
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
+    #endif
+#endif
+
+
+#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
+    #if (VK_USE_64_BIT_PTR_DEFINES==1)
+        #if __cplusplus >= 201103L
+            #define VK_NULL_HANDLE nullptr
+        #else
+            #define VK_NULL_HANDLE ((void*)0)
+        #endif
+    #else
+        #define VK_NULL_HANDLE 0ULL
+    #endif
+#endif
+#ifndef VK_NULL_HANDLE
+    #define VK_NULL_HANDLE 0
 #endif
 
 #define VK_MAKE_VERSION(major, minor, patch) \
@@ -43,17 +68,14 @@
 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
 
 // Version of this file
-#define VK_HEADER_VERSION 148
+#define VK_HEADER_VERSION 174
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
 
 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
-#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
-#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
-
-#define VK_NULL_HANDLE 0
-
+#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
+#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
 typedef uint32_t VkBool32;
 typedef uint64_t VkDeviceAddress;
 typedef uint64_t VkDeviceSize;
@@ -86,7 +108,7 @@
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
 #define VK_ATTACHMENT_UNUSED              (~0U)
 #define VK_FALSE                          0
-#define VK_LOD_CLAMP_NONE                 1000.0f
+#define VK_LOD_CLAMP_NONE                 1000.0F
 #define VK_QUEUE_FAMILY_IGNORED           (~0U)
 #define VK_REMAINING_ARRAY_LAYERS         (~0U)
 #define VK_REMAINING_MIP_LEVELS           (~0U)
@@ -131,7 +153,6 @@
     VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
     VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
     VK_ERROR_INVALID_SHADER_NV = -1000012000,
-    VK_ERROR_INCOMPATIBLE_VERSION_KHR = -1000150000,
     VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
     VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
     VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
@@ -439,37 +460,43 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
-    VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR = 1000165006,
-    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000165007,
+    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
-    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR = 1000150001,
     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
-    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR = 1000150008,
-    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR = 1000150009,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
     VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
     VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
     VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR = 1000150013,
-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR = 1000150014,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
     VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
     VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
-    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
     VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
     VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
-    VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
     VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
     VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
+#endif
     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
@@ -479,6 +506,8 @@
     VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
     VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
     VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
+    VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
+    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
     VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
@@ -521,6 +550,7 @@
     VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
     VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
     VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
     VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
@@ -528,8 +558,14 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
     VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
+    VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
+    VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
     VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
@@ -557,7 +593,6 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
-    VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR = 1000268000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
     VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
@@ -577,6 +612,9 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
     VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
+    VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
+    VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
     VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
@@ -589,6 +627,16 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
+    VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
+    VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
+    VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
+    VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
+    VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
+    VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
+    VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
+    VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
+    VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
     VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1001004000,
     VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1001004004,
     VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1001004005,
@@ -599,19 +647,40 @@
     VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1001004010,
     VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA = 1001004011,
     VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1001004012,
-    VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1001005000,
-    VK_STRUCTURE_TYPE_TEMP_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1001005001,
-    VK_STRUCTURE_TYPE_TEMP_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1001005002,
-    VK_STRUCTURE_TYPE_TEMP_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1001006000,
-    VK_STRUCTURE_TYPE_TEMP_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1001006001,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
+    VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
+    VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
+    VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
+    VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
+    VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
+    VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
+    VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
+    VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
+    VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
+    VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
+    VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
+    VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
+    VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
     VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
+    VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
     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,
+    VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
+    VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
+    VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@@ -695,8 +764,6 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
-    VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,
-    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
@@ -751,8 +818,11 @@
     VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
     VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
     VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
+    VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
+    VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+    VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
     VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
@@ -795,8 +865,9 @@
     VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
-    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
     VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
     VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
     VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
@@ -804,7 +875,6 @@
     VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1001004002,
     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_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
     VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkObjectType;
 
@@ -814,6 +884,7 @@
     VK_VENDOR_ID_KAZAN = 0x10003,
     VK_VENDOR_ID_CODEPLAY = 0x10004,
     VK_VENDOR_ID_MESA = 0x10005,
+    VK_VENDOR_ID_POCL = 0x10006,
     VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
 } VkVendorId;
 
@@ -1078,6 +1149,8 @@
     VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
     VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
     VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
+    VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
+    VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
     VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
     VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
     VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
@@ -1144,10 +1217,10 @@
     VK_QUERY_TYPE_TIMESTAMP = 2,
     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
     VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
-    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000165000,
-    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150000,
+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
     VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
-    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
     VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkQueryType;
 
@@ -1282,9 +1355,11 @@
     VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
     VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
     VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
+    VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
     VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
     VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
     VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
+    VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
     VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
     VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
     VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
@@ -1417,8 +1492,9 @@
     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
     VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
     VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
-    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
-    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
+    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
+    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
+    VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
     VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkDescriptorType;
 
@@ -1494,8 +1570,10 @@
     VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
     VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
     VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
+    VK_ACCESS_NONE_KHR = 0,
     VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
     VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
+    VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
     VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkAccessFlagBits;
 typedef VkFlags VkAccessFlags;
@@ -1546,6 +1624,7 @@
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
     VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
     VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
+    VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
     VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
@@ -1611,6 +1690,7 @@
     VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
     VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
     VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
+    VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
     VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkImageUsageFlagBits;
 typedef VkFlags VkImageUsageFlags;
@@ -1674,15 +1754,17 @@
     VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
     VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
     VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
-    VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
     VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
+    VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
     VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
     VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
     VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
     VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
     VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
+    VK_PIPELINE_STAGE_NONE_KHR = 0,
     VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
     VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
+    VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
     VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkPipelineStageFlagBits;
 typedef VkFlags VkPipelineStageFlags;
@@ -1708,6 +1790,11 @@
 } VkFenceCreateFlagBits;
 typedef VkFlags VkFenceCreateFlags;
 typedef VkFlags VkSemaphoreCreateFlags;
+
+typedef enum VkEventCreateFlagBits {
+    VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
+    VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkEventCreateFlagBits;
 typedef VkFlags VkEventCreateFlags;
 
 typedef enum VkQueryPipelineStatisticFlagBits {
@@ -1762,8 +1849,10 @@
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
     VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
-    VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR = 0x00000400,
-    VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR,
+    VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
+    VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
+    VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
+    VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
     VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -1810,6 +1899,7 @@
     VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
     VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
     VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
+    VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
     VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
     VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
     VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
@@ -1887,6 +1977,7 @@
 typedef enum VkDescriptorPoolCreateFlagBits {
     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
+    VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
     VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkDescriptorPoolCreateFlagBits;
@@ -1896,6 +1987,7 @@
 typedef enum VkDescriptorSetLayoutCreateFlagBits {
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkDescriptorSetLayoutCreateFlagBits;
@@ -4042,7 +4134,7 @@
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
 #define VK_MAX_DEVICE_GROUP_SIZE          32
 #define VK_LUID_SIZE                      8
-#define VK_QUEUE_FAMILY_EXTERNAL          (~0U-1)
+#define VK_QUEUE_FAMILY_EXTERNAL          (~1U)
 
 typedef enum VkPointClippingBehavior {
     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
@@ -4149,7 +4241,7 @@
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA = 0x00100000,
+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
@@ -4214,7 +4306,7 @@
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
-    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA = 0x00100000,
+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
@@ -6681,8 +6773,10 @@
 } VkPerformanceCounterStorageKHR;
 
 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
-    VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
-    VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
+    VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
+    VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
+    VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
+    VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
     VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkPerformanceCounterDescriptionFlagBitsKHR;
 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
@@ -7199,6 +7293,96 @@
 
 
 
+#define VK_KHR_shader_terminate_invocation 1
+#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
+#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
+typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           shaderTerminateInvocation;
+} VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
+
+
+
+#define VK_KHR_fragment_shading_rate 1
+#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
+#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
+
+typedef enum VkFragmentShadingRateCombinerOpKHR {
+    VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
+    VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
+    VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
+    VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
+    VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
+    VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkFragmentShadingRateCombinerOpKHR;
+typedef struct VkFragmentShadingRateAttachmentInfoKHR {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    const VkAttachmentReference2*    pFragmentShadingRateAttachment;
+    VkExtent2D                       shadingRateAttachmentTexelSize;
+} VkFragmentShadingRateAttachmentInfoKHR;
+
+typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkExtent2D                            fragmentSize;
+    VkFragmentShadingRateCombinerOpKHR    combinerOps[2];
+} VkPipelineFragmentShadingRateStateCreateInfoKHR;
+
+typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           pipelineFragmentShadingRate;
+    VkBool32           primitiveFragmentShadingRate;
+    VkBool32           attachmentFragmentShadingRate;
+} VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
+
+typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
+    VkStructureType          sType;
+    void*                    pNext;
+    VkExtent2D               minFragmentShadingRateAttachmentTexelSize;
+    VkExtent2D               maxFragmentShadingRateAttachmentTexelSize;
+    uint32_t                 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
+    VkBool32                 primitiveFragmentShadingRateWithMultipleViewports;
+    VkBool32                 layeredShadingRateAttachments;
+    VkBool32                 fragmentShadingRateNonTrivialCombinerOps;
+    VkExtent2D               maxFragmentSize;
+    uint32_t                 maxFragmentSizeAspectRatio;
+    uint32_t                 maxFragmentShadingRateCoverageSamples;
+    VkSampleCountFlagBits    maxFragmentShadingRateRasterizationSamples;
+    VkBool32                 fragmentShadingRateWithShaderDepthStencilWrites;
+    VkBool32                 fragmentShadingRateWithSampleMask;
+    VkBool32                 fragmentShadingRateWithShaderSampleMask;
+    VkBool32                 fragmentShadingRateWithConservativeRasterization;
+    VkBool32                 fragmentShadingRateWithFragmentShaderInterlock;
+    VkBool32                 fragmentShadingRateWithCustomSampleLocations;
+    VkBool32                 fragmentShadingRateStrictMultiplyCombiner;
+} VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
+
+typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
+    VkStructureType       sType;
+    void*                 pNext;
+    VkSampleCountFlags    sampleCounts;
+    VkExtent2D            fragmentSize;
+} VkPhysicalDeviceFragmentShadingRateKHR;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
+typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer           commandBuffer, const VkExtent2D*                           pFragmentSize, const VkFragmentShadingRateCombinerOpKHR    combinerOps[2]);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
+    VkPhysicalDevice                            physicalDevice,
+    uint32_t*                                   pFragmentShadingRateCount,
+    VkPhysicalDeviceFragmentShadingRateKHR*     pFragmentShadingRates);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkExtent2D*                           pFragmentSize,
+    const VkFragmentShadingRateCombinerOpKHR    combinerOps[2]);
+#endif
+
+
 #define VK_KHR_spirv_1_4 1
 #define VK_KHR_SPIRV_1_4_SPEC_VERSION     1
 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME   "VK_KHR_spirv_1_4"
@@ -7265,6 +7449,41 @@
 #endif
 
 
+#define VK_KHR_deferred_host_operations 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
+typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
+typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
+typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
+typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
+typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
+    VkDevice                                    device,
+    const VkAllocationCallbacks*                pAllocator,
+    VkDeferredOperationKHR*                     pDeferredOperation);
+
+VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation,
+    const VkAllocationCallbacks*                pAllocator);
+
+VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation);
+#endif
+
+
 #define VK_KHR_pipeline_executable_properties 1
 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
@@ -7355,11 +7574,444 @@
 #endif
 
 
+#define VK_KHR_pipeline_library 1
+#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
+#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
+typedef struct VkPipelineLibraryCreateInfoKHR {
+    VkStructureType      sType;
+    const void*          pNext;
+    uint32_t             libraryCount;
+    const VkPipeline*    pLibraries;
+} VkPipelineLibraryCreateInfoKHR;
+
+
+
 #define VK_KHR_shader_non_semantic_info 1
 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
 
 
+#define VK_KHR_synchronization2 1
+typedef uint64_t VkFlags64;
+#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
+#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
+typedef VkFlags64 VkPipelineStageFlags2KHR;
+
+// Flag bits for VkPipelineStageFlagBits2KHR
+typedef VkFlags64 VkPipelineStageFlagBits2KHR;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
+
+typedef VkFlags64 VkAccessFlags2KHR;
+
+// Flag bits for VkAccessFlagBits2KHR
+typedef VkFlags64 VkAccessFlagBits2KHR;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
+
+
+typedef enum VkSubmitFlagBitsKHR {
+    VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
+    VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkSubmitFlagBitsKHR;
+typedef VkFlags VkSubmitFlagsKHR;
+typedef struct VkMemoryBarrier2KHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkPipelineStageFlags2KHR    srcStageMask;
+    VkAccessFlags2KHR           srcAccessMask;
+    VkPipelineStageFlags2KHR    dstStageMask;
+    VkAccessFlags2KHR           dstAccessMask;
+} VkMemoryBarrier2KHR;
+
+typedef struct VkBufferMemoryBarrier2KHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkPipelineStageFlags2KHR    srcStageMask;
+    VkAccessFlags2KHR           srcAccessMask;
+    VkPipelineStageFlags2KHR    dstStageMask;
+    VkAccessFlags2KHR           dstAccessMask;
+    uint32_t                    srcQueueFamilyIndex;
+    uint32_t                    dstQueueFamilyIndex;
+    VkBuffer                    buffer;
+    VkDeviceSize                offset;
+    VkDeviceSize                size;
+} VkBufferMemoryBarrier2KHR;
+
+typedef struct VkImageMemoryBarrier2KHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkPipelineStageFlags2KHR    srcStageMask;
+    VkAccessFlags2KHR           srcAccessMask;
+    VkPipelineStageFlags2KHR    dstStageMask;
+    VkAccessFlags2KHR           dstAccessMask;
+    VkImageLayout               oldLayout;
+    VkImageLayout               newLayout;
+    uint32_t                    srcQueueFamilyIndex;
+    uint32_t                    dstQueueFamilyIndex;
+    VkImage                     image;
+    VkImageSubresourceRange     subresourceRange;
+} VkImageMemoryBarrier2KHR;
+
+typedef struct VkDependencyInfoKHR {
+    VkStructureType                     sType;
+    const void*                         pNext;
+    VkDependencyFlags                   dependencyFlags;
+    uint32_t                            memoryBarrierCount;
+    const VkMemoryBarrier2KHR*          pMemoryBarriers;
+    uint32_t                            bufferMemoryBarrierCount;
+    const VkBufferMemoryBarrier2KHR*    pBufferMemoryBarriers;
+    uint32_t                            imageMemoryBarrierCount;
+    const VkImageMemoryBarrier2KHR*     pImageMemoryBarriers;
+} VkDependencyInfoKHR;
+
+typedef struct VkSemaphoreSubmitInfoKHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkSemaphore                 semaphore;
+    uint64_t                    value;
+    VkPipelineStageFlags2KHR    stageMask;
+    uint32_t                    deviceIndex;
+} VkSemaphoreSubmitInfoKHR;
+
+typedef struct VkCommandBufferSubmitInfoKHR {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkCommandBuffer    commandBuffer;
+    uint32_t           deviceMask;
+} VkCommandBufferSubmitInfoKHR;
+
+typedef struct VkSubmitInfo2KHR {
+    VkStructureType                        sType;
+    const void*                            pNext;
+    VkSubmitFlagsKHR                       flags;
+    uint32_t                               waitSemaphoreInfoCount;
+    const VkSemaphoreSubmitInfoKHR*        pWaitSemaphoreInfos;
+    uint32_t                               commandBufferInfoCount;
+    const VkCommandBufferSubmitInfoKHR*    pCommandBufferInfos;
+    uint32_t                               signalSemaphoreInfoCount;
+    const VkSemaphoreSubmitInfoKHR*        pSignalSemaphoreInfos;
+} VkSubmitInfo2KHR;
+
+typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           synchronization2;
+} VkPhysicalDeviceSynchronization2FeaturesKHR;
+
+typedef struct VkQueueFamilyCheckpointProperties2NV {
+    VkStructureType             sType;
+    void*                       pNext;
+    VkPipelineStageFlags2KHR    checkpointExecutionStageMask;
+} VkQueueFamilyCheckpointProperties2NV;
+
+typedef struct VkCheckpointData2NV {
+    VkStructureType             sType;
+    void*                       pNext;
+    VkPipelineStageFlags2KHR    stage;
+    void*                       pCheckpointMarker;
+} VkCheckpointData2NV;
+
+typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer                   commandBuffer, VkEvent                                             event, const VkDependencyInfoKHR*                          pDependencyInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer                   commandBuffer, VkEvent                                             event, VkPipelineStageFlags2KHR                            stageMask);
+typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer                   commandBuffer, uint32_t                                            eventCount, const VkEvent*                     pEvents, const VkDependencyInfoKHR*         pDependencyInfos);
+typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer                   commandBuffer, const VkDependencyInfoKHR*                                pDependencyInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer                   commandBuffer, VkPipelineStageFlags2KHR                            stage, VkQueryPool                                         queryPool, uint32_t                                            query);
+typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue                           queue, uint32_t                            submitCount, const VkSubmitInfo2KHR*           pSubmits, VkFence           fence);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer                   commandBuffer, VkPipelineStageFlags2KHR                            stage, VkBuffer                                            dstBuffer, VkDeviceSize                                        dstOffset, uint32_t                                            marker);
+typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
+    VkCommandBuffer                             commandBuffer,
+    VkEvent                                     event,
+    const VkDependencyInfoKHR*                  pDependencyInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
+    VkCommandBuffer                             commandBuffer,
+    VkEvent                                     event,
+    VkPipelineStageFlags2KHR                    stageMask);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    eventCount,
+    const VkEvent*                              pEvents,
+    const VkDependencyInfoKHR*                  pDependencyInfos);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkDependencyInfoKHR*                  pDependencyInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
+    VkCommandBuffer                             commandBuffer,
+    VkPipelineStageFlags2KHR                    stage,
+    VkQueryPool                                 queryPool,
+    uint32_t                                    query);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
+    VkQueue                                     queue,
+    uint32_t                                    submitCount,
+    const VkSubmitInfo2KHR*                     pSubmits,
+    VkFence                                     fence);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
+    VkCommandBuffer                             commandBuffer,
+    VkPipelineStageFlags2KHR                    stage,
+    VkBuffer                                    dstBuffer,
+    VkDeviceSize                                dstOffset,
+    uint32_t                                    marker);
+
+VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
+    VkQueue                                     queue,
+    uint32_t*                                   pCheckpointDataCount,
+    VkCheckpointData2NV*                        pCheckpointData);
+#endif
+
+
+#define VK_KHR_zero_initialize_workgroup_memory 1
+#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
+#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
+typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           shaderZeroInitializeWorkgroupMemory;
+} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
+
+
+
+#define VK_KHR_workgroup_memory_explicit_layout 1
+#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
+#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
+typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           workgroupMemoryExplicitLayout;
+    VkBool32           workgroupMemoryExplicitLayoutScalarBlockLayout;
+    VkBool32           workgroupMemoryExplicitLayout8BitAccess;
+    VkBool32           workgroupMemoryExplicitLayout16BitAccess;
+} VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
+
+
+
+#define VK_KHR_copy_commands2 1
+#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
+#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
+typedef struct VkBufferCopy2KHR {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDeviceSize       srcOffset;
+    VkDeviceSize       dstOffset;
+    VkDeviceSize       size;
+} VkBufferCopy2KHR;
+
+typedef struct VkCopyBufferInfo2KHR {
+    VkStructureType            sType;
+    const void*                pNext;
+    VkBuffer                   srcBuffer;
+    VkBuffer                   dstBuffer;
+    uint32_t                   regionCount;
+    const VkBufferCopy2KHR*    pRegions;
+} VkCopyBufferInfo2KHR;
+
+typedef struct VkImageCopy2KHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkImageSubresourceLayers    srcSubresource;
+    VkOffset3D                  srcOffset;
+    VkImageSubresourceLayers    dstSubresource;
+    VkOffset3D                  dstOffset;
+    VkExtent3D                  extent;
+} VkImageCopy2KHR;
+
+typedef struct VkCopyImageInfo2KHR {
+    VkStructureType           sType;
+    const void*               pNext;
+    VkImage                   srcImage;
+    VkImageLayout             srcImageLayout;
+    VkImage                   dstImage;
+    VkImageLayout             dstImageLayout;
+    uint32_t                  regionCount;
+    const VkImageCopy2KHR*    pRegions;
+} VkCopyImageInfo2KHR;
+
+typedef struct VkBufferImageCopy2KHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkDeviceSize                bufferOffset;
+    uint32_t                    bufferRowLength;
+    uint32_t                    bufferImageHeight;
+    VkImageSubresourceLayers    imageSubresource;
+    VkOffset3D                  imageOffset;
+    VkExtent3D                  imageExtent;
+} VkBufferImageCopy2KHR;
+
+typedef struct VkCopyBufferToImageInfo2KHR {
+    VkStructureType                 sType;
+    const void*                     pNext;
+    VkBuffer                        srcBuffer;
+    VkImage                         dstImage;
+    VkImageLayout                   dstImageLayout;
+    uint32_t                        regionCount;
+    const VkBufferImageCopy2KHR*    pRegions;
+} VkCopyBufferToImageInfo2KHR;
+
+typedef struct VkCopyImageToBufferInfo2KHR {
+    VkStructureType                 sType;
+    const void*                     pNext;
+    VkImage                         srcImage;
+    VkImageLayout                   srcImageLayout;
+    VkBuffer                        dstBuffer;
+    uint32_t                        regionCount;
+    const VkBufferImageCopy2KHR*    pRegions;
+} VkCopyImageToBufferInfo2KHR;
+
+typedef struct VkImageBlit2KHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkImageSubresourceLayers    srcSubresource;
+    VkOffset3D                  srcOffsets[2];
+    VkImageSubresourceLayers    dstSubresource;
+    VkOffset3D                  dstOffsets[2];
+} VkImageBlit2KHR;
+
+typedef struct VkBlitImageInfo2KHR {
+    VkStructureType           sType;
+    const void*               pNext;
+    VkImage                   srcImage;
+    VkImageLayout             srcImageLayout;
+    VkImage                   dstImage;
+    VkImageLayout             dstImageLayout;
+    uint32_t                  regionCount;
+    const VkImageBlit2KHR*    pRegions;
+    VkFilter                  filter;
+} VkBlitImageInfo2KHR;
+
+typedef struct VkImageResolve2KHR {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkImageSubresourceLayers    srcSubresource;
+    VkOffset3D                  srcOffset;
+    VkImageSubresourceLayers    dstSubresource;
+    VkOffset3D                  dstOffset;
+    VkExtent3D                  extent;
+} VkImageResolve2KHR;
+
+typedef struct VkResolveImageInfo2KHR {
+    VkStructureType              sType;
+    const void*                  pNext;
+    VkImage                      srcImage;
+    VkImageLayout                srcImageLayout;
+    VkImage                      dstImage;
+    VkImageLayout                dstImageLayout;
+    uint32_t                     regionCount;
+    const VkImageResolve2KHR*    pRegions;
+} VkResolveImageInfo2KHR;
+
+typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyBufferInfo2KHR*                 pCopyBufferInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyImageInfo2KHR*                  pCopyImageInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyBufferToImageInfo2KHR*          pCopyBufferToImageInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyImageToBufferInfo2KHR*          pCopyImageToBufferInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkBlitImageInfo2KHR*                  pBlitImageInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkResolveImageInfo2KHR*               pResolveImageInfo);
+#endif
+
+
 #define VK_EXT_debug_report 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION  9
@@ -7400,13 +8052,13 @@
     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
-    VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000165000,
+    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 = 1001004003,
     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,
     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
-    VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
     VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
 } VkDebugReportObjectTypeEXT;
 
@@ -8029,7 +8681,8 @@
 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
 
 typedef enum VkSurfaceCounterFlagBitsEXT {
-    VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
+    VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
+    VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
     VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
 } VkSurfaceCounterFlagBitsEXT;
 typedef VkFlags VkSurfaceCounterFlagsEXT;
@@ -8373,7 +9026,7 @@
 #define VK_EXT_queue_family_foreign 1
 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
-#define VK_QUEUE_FAMILY_FOREIGN_EXT       (~0U-2)
+#define VK_QUEUE_FAMILY_FOREIGN_EXT       (~2U)
 
 
 #define VK_EXT_debug_utils 1
@@ -8996,9 +9649,7 @@
 
 
 #define VK_NV_ray_tracing 1
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
-typedef VkAccelerationStructureKHR VkAccelerationStructureNV;
-
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
 #define VK_NV_RAY_TRACING_SPEC_VERSION    3
 #define VK_NV_RAY_TRACING_EXTENSION_NAME  "VK_NV_ray_tracing"
 #define VK_SHADER_UNUSED_KHR              (~0U)
@@ -9019,7 +9670,7 @@
 typedef enum VkGeometryTypeKHR {
     VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
     VK_GEOMETRY_TYPE_AABBS_KHR = 1,
-    VK_GEOMETRY_TYPE_INSTANCES_KHR = 1000150000,
+    VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
     VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
     VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
     VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
@@ -9030,6 +9681,7 @@
 typedef enum VkAccelerationStructureTypeKHR {
     VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
     VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
+    VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
     VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
     VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
     VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
@@ -9049,17 +9701,12 @@
 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
 
 
-typedef enum VkAccelerationStructureMemoryRequirementsTypeKHR {
-    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0,
-    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1,
-    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2,
-    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR,
-    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR,
-    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR,
-    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
-} VkAccelerationStructureMemoryRequirementsTypeKHR;
-typedef VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeNV;
-
+typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkAccelerationStructureMemoryRequirementsTypeNV;
 
 typedef enum VkGeometryFlagBitsKHR {
     VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
@@ -9188,26 +9835,22 @@
     VkAccelerationStructureInfoNV    info;
 } VkAccelerationStructureCreateInfoNV;
 
-typedef struct VkBindAccelerationStructureMemoryInfoKHR {
-    VkStructureType               sType;
-    const void*                   pNext;
-    VkAccelerationStructureKHR    accelerationStructure;
-    VkDeviceMemory                memory;
-    VkDeviceSize                  memoryOffset;
-    uint32_t                      deviceIndexCount;
-    const uint32_t*               pDeviceIndices;
-} VkBindAccelerationStructureMemoryInfoKHR;
+typedef struct VkBindAccelerationStructureMemoryInfoNV {
+    VkStructureType              sType;
+    const void*                  pNext;
+    VkAccelerationStructureNV    accelerationStructure;
+    VkDeviceMemory               memory;
+    VkDeviceSize                 memoryOffset;
+    uint32_t                     deviceIndexCount;
+    const uint32_t*              pDeviceIndices;
+} VkBindAccelerationStructureMemoryInfoNV;
 
-typedef VkBindAccelerationStructureMemoryInfoKHR VkBindAccelerationStructureMemoryInfoNV;
-
-typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
-    VkStructureType                      sType;
-    const void*                          pNext;
-    uint32_t                             accelerationStructureCount;
-    const VkAccelerationStructureKHR*    pAccelerationStructures;
-} VkWriteDescriptorSetAccelerationStructureKHR;
-
-typedef VkWriteDescriptorSetAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV;
+typedef struct VkWriteDescriptorSetAccelerationStructureNV {
+    VkStructureType                     sType;
+    const void*                         pNext;
+    uint32_t                            accelerationStructureCount;
+    const VkAccelerationStructureNV*    pAccelerationStructures;
+} VkWriteDescriptorSetAccelerationStructureNV;
 
 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
     VkStructureType                                    sType;
@@ -9258,20 +9901,17 @@
 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
 
 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
-typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
-typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
+typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
-typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryKHR)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
-typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
-typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkBuffer scratch, VkDeviceSize scratchOffset);
-typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkCopyAccelerationStructureModeKHR mode);
+typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth);
 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
-typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, size_t dataSize, void* pData);
-typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
-typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
+typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
 
 #ifndef VK_NO_PROTOTYPES
@@ -9281,14 +9921,9 @@
     const VkAllocationCallbacks*                pAllocator,
     VkAccelerationStructureNV*                  pAccelerationStructure);
 
-VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
-    VkDevice                                    device,
-    VkAccelerationStructureKHR                  accelerationStructure,
-    const VkAllocationCallbacks*                pAllocator);
-
 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
     VkDevice                                    device,
-    VkAccelerationStructureKHR                  accelerationStructure,
+    VkAccelerationStructureNV                   accelerationStructure,
     const VkAllocationCallbacks*                pAllocator);
 
 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
@@ -9296,15 +9931,10 @@
     const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
     VkMemoryRequirements2KHR*                   pMemoryRequirements);
 
-VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryKHR(
-    VkDevice                                    device,
-    uint32_t                                    bindInfoCount,
-    const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
-
 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
     VkDevice                                    device,
     uint32_t                                    bindInfoCount,
-    const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
+    const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
 
 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
     VkCommandBuffer                             commandBuffer,
@@ -9312,15 +9942,15 @@
     VkBuffer                                    instanceData,
     VkDeviceSize                                instanceOffset,
     VkBool32                                    update,
-    VkAccelerationStructureKHR                  dst,
-    VkAccelerationStructureKHR                  src,
+    VkAccelerationStructureNV                   dst,
+    VkAccelerationStructureNV                   src,
     VkBuffer                                    scratch,
     VkDeviceSize                                scratchOffset);
 
 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
     VkCommandBuffer                             commandBuffer,
-    VkAccelerationStructureKHR                  dst,
-    VkAccelerationStructureKHR                  src,
+    VkAccelerationStructureNV                   dst,
+    VkAccelerationStructureNV                   src,
     VkCopyAccelerationStructureModeKHR          mode);
 
 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
@@ -9366,22 +9996,14 @@
 
 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
     VkDevice                                    device,
-    VkAccelerationStructureKHR                  accelerationStructure,
+    VkAccelerationStructureNV                   accelerationStructure,
     size_t                                      dataSize,
     void*                                       pData);
 
-VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
-    VkCommandBuffer                             commandBuffer,
-    uint32_t                                    accelerationStructureCount,
-    const VkAccelerationStructureKHR*           pAccelerationStructures,
-    VkQueryType                                 queryType,
-    VkQueryPool                                 queryPool,
-    uint32_t                                    firstQuery);
-
 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
     VkCommandBuffer                             commandBuffer,
     uint32_t                                    accelerationStructureCount,
-    const VkAccelerationStructureKHR*           pAccelerationStructures,
+    const VkAccelerationStructureNV*            pAccelerationStructures,
     VkQueryType                                 queryType,
     VkQueryPool                                 queryPool,
     uint32_t                                    firstQuery);
@@ -10094,6 +10716,18 @@
 
 
 
+#define VK_EXT_shader_image_atomic_int64 1
+#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
+#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
+typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           shaderImageInt64Atomics;
+    VkBool32           sparseImageInt64Atomics;
+} VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
+
+
+
 #define VK_EXT_memory_budget 1
 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
@@ -10207,7 +10841,7 @@
 
 
 #define VK_EXT_validation_features 1
-#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 3
+#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
 
 typedef enum VkValidationFeatureEnableEXT {
@@ -10215,6 +10849,7 @@
     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
     VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
     VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
+    VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
     VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
 } VkValidationFeatureEnableEXT;
 
@@ -10807,6 +11442,51 @@
 
 
 
+#define VK_EXT_device_memory_report 1
+#define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
+#define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
+
+typedef enum VkDeviceMemoryReportEventTypeEXT {
+    VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
+    VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
+    VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
+    VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
+    VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
+    VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkDeviceMemoryReportEventTypeEXT;
+typedef VkFlags VkDeviceMemoryReportFlagsEXT;
+typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           deviceMemoryReport;
+} VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
+
+typedef struct VkDeviceMemoryReportCallbackDataEXT {
+    VkStructureType                     sType;
+    const void*                         pNext;
+    VkDeviceMemoryReportFlagsEXT        flags;
+    VkDeviceMemoryReportEventTypeEXT    type;
+    uint64_t                            memoryObjectId;
+    VkDeviceSize                        size;
+    VkObjectType                        objectType;
+    uint64_t                            objectHandle;
+    uint32_t                            heapIndex;
+} VkDeviceMemoryReportCallbackDataEXT;
+
+typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
+    const VkDeviceMemoryReportCallbackDataEXT*  pCallbackData,
+    void*                                       pUserData);
+
+typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
+    VkStructureType                        sType;
+    const void*                            pNext;
+    VkDeviceMemoryReportFlagsEXT           flags;
+    PFN_vkDeviceMemoryReportCallbackEXT    pfnUserCallback;
+    void*                                  pUserData;
+} VkDeviceDeviceMemoryReportCreateInfoEXT;
+
+
+
 #define VK_EXT_robustness2 1
 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION  1
 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
@@ -10958,6 +11638,63 @@
 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
 
 
+#define VK_NV_fragment_shading_rate_enums 1
+#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
+#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
+
+typedef enum VkFragmentShadingRateTypeNV {
+    VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
+    VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
+    VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkFragmentShadingRateTypeNV;
+
+typedef enum VkFragmentShadingRateNV {
+    VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
+    VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
+    VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
+    VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
+    VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
+    VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
+    VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
+    VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
+    VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
+    VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
+    VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
+    VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
+    VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkFragmentShadingRateNV;
+typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           fragmentShadingRateEnums;
+    VkBool32           supersampleFragmentShadingRates;
+    VkBool32           noInvocationFragmentShadingRates;
+} VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
+
+typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
+    VkStructureType          sType;
+    void*                    pNext;
+    VkSampleCountFlagBits    maxFragmentShadingRateInvocationCount;
+} VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
+
+typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkFragmentShadingRateTypeNV           shadingRateType;
+    VkFragmentShadingRateNV               shadingRate;
+    VkFragmentShadingRateCombinerOpKHR    combinerOps[2];
+} VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
+
+typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer           commandBuffer, VkFragmentShadingRateNV                     shadingRate, const VkFragmentShadingRateCombinerOpKHR    combinerOps[2]);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
+    VkCommandBuffer                             commandBuffer,
+    VkFragmentShadingRateNV                     shadingRate,
+    const VkFragmentShadingRateCombinerOpKHR    combinerOps[2]);
+#endif
+
+
 #define VK_EXT_fragment_density_map2 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
@@ -10978,6 +11715,17 @@
 
 
 
+#define VK_QCOM_rotated_copy_commands 1
+#define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 0
+#define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
+typedef struct VkCopyCommandTransformInfoQCOM {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkSurfaceTransformFlagBitsKHR    transform;
+} VkCopyCommandTransformInfoQCOM;
+
+
+
 #define VK_EXT_image_robustness 1
 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
@@ -10989,6 +11737,59 @@
 
 
 
+#define VK_EXT_4444_formats 1
+#define VK_EXT_4444_FORMATS_SPEC_VERSION  1
+#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
+typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           formatA4R4G4B4;
+    VkBool32           formatA4B4G4R4;
+} VkPhysicalDevice4444FormatsFeaturesEXT;
+
+
+
+#define VK_NV_acquire_winrt_display 1
+#define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
+#define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
+typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
+typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
+    VkPhysicalDevice                            physicalDevice,
+    VkDisplayKHR                                display);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
+    VkPhysicalDevice                            physicalDevice,
+    uint32_t                                    deviceRelativeId,
+    VkDisplayKHR*                               pDisplay);
+#endif
+
+
+#define VK_VALVE_mutable_descriptor_type 1
+#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
+#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
+typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           mutableDescriptorType;
+} VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+
+typedef struct VkMutableDescriptorTypeListVALVE {
+    uint32_t                   descriptorTypeCount;
+    const VkDescriptorType*    pDescriptorTypes;
+} VkMutableDescriptorTypeListVALVE;
+
+typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
+    VkStructureType                            sType;
+    const void*                                pNext;
+    uint32_t                                   mutableDescriptorTypeListCount;
+    const VkMutableDescriptorTypeListVALVE*    pMutableDescriptorTypeLists;
+} VkMutableDescriptorTypeCreateInfoVALVE;
+
+
+
 #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"
@@ -11062,6 +11863,450 @@
     VkDeviceSize                                memoryOffset);
 #endif
 
+
+#define VK_KHR_acceleration_structure 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
+#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
+#define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
+
+typedef enum VkBuildAccelerationStructureModeKHR {
+    VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
+    VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
+    VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkBuildAccelerationStructureModeKHR;
+
+typedef enum VkAccelerationStructureBuildTypeKHR {
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkAccelerationStructureBuildTypeKHR;
+
+typedef enum VkAccelerationStructureCompatibilityKHR {
+    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
+    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
+    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkAccelerationStructureCompatibilityKHR;
+
+typedef enum VkAccelerationStructureCreateFlagBitsKHR {
+    VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
+    VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkAccelerationStructureCreateFlagBitsKHR;
+typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
+typedef union VkDeviceOrHostAddressKHR {
+    VkDeviceAddress    deviceAddress;
+    void*              hostAddress;
+} VkDeviceOrHostAddressKHR;
+
+typedef union VkDeviceOrHostAddressConstKHR {
+    VkDeviceAddress    deviceAddress;
+    const void*        hostAddress;
+} VkDeviceOrHostAddressConstKHR;
+
+typedef struct VkAccelerationStructureBuildRangeInfoKHR {
+    uint32_t    primitiveCount;
+    uint32_t    primitiveOffset;
+    uint32_t    firstVertex;
+    uint32_t    transformOffset;
+} VkAccelerationStructureBuildRangeInfoKHR;
+
+typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkFormat                         vertexFormat;
+    VkDeviceOrHostAddressConstKHR    vertexData;
+    VkDeviceSize                     vertexStride;
+    uint32_t                         maxVertex;
+    VkIndexType                      indexType;
+    VkDeviceOrHostAddressConstKHR    indexData;
+    VkDeviceOrHostAddressConstKHR    transformData;
+} VkAccelerationStructureGeometryTrianglesDataKHR;
+
+typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkDeviceOrHostAddressConstKHR    data;
+    VkDeviceSize                     stride;
+} VkAccelerationStructureGeometryAabbsDataKHR;
+
+typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkBool32                         arrayOfPointers;
+    VkDeviceOrHostAddressConstKHR    data;
+} VkAccelerationStructureGeometryInstancesDataKHR;
+
+typedef union VkAccelerationStructureGeometryDataKHR {
+    VkAccelerationStructureGeometryTrianglesDataKHR    triangles;
+    VkAccelerationStructureGeometryAabbsDataKHR        aabbs;
+    VkAccelerationStructureGeometryInstancesDataKHR    instances;
+} VkAccelerationStructureGeometryDataKHR;
+
+typedef struct VkAccelerationStructureGeometryKHR {
+    VkStructureType                           sType;
+    const void*                               pNext;
+    VkGeometryTypeKHR                         geometryType;
+    VkAccelerationStructureGeometryDataKHR    geometry;
+    VkGeometryFlagsKHR                        flags;
+} VkAccelerationStructureGeometryKHR;
+
+typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
+    VkStructureType                                     sType;
+    const void*                                         pNext;
+    VkAccelerationStructureTypeKHR                      type;
+    VkBuildAccelerationStructureFlagsKHR                flags;
+    VkBuildAccelerationStructureModeKHR                 mode;
+    VkAccelerationStructureKHR                          srcAccelerationStructure;
+    VkAccelerationStructureKHR                          dstAccelerationStructure;
+    uint32_t                                            geometryCount;
+    const VkAccelerationStructureGeometryKHR*           pGeometries;
+    const VkAccelerationStructureGeometryKHR* const*    ppGeometries;
+    VkDeviceOrHostAddressKHR                            scratchData;
+} VkAccelerationStructureBuildGeometryInfoKHR;
+
+typedef struct VkAccelerationStructureCreateInfoKHR {
+    VkStructureType                          sType;
+    const void*                              pNext;
+    VkAccelerationStructureCreateFlagsKHR    createFlags;
+    VkBuffer                                 buffer;
+    VkDeviceSize                             offset;
+    VkDeviceSize                             size;
+    VkAccelerationStructureTypeKHR           type;
+    VkDeviceAddress                          deviceAddress;
+} VkAccelerationStructureCreateInfoKHR;
+
+typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
+    VkStructureType                      sType;
+    const void*                          pNext;
+    uint32_t                             accelerationStructureCount;
+    const VkAccelerationStructureKHR*    pAccelerationStructures;
+} VkWriteDescriptorSetAccelerationStructureKHR;
+
+typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           accelerationStructure;
+    VkBool32           accelerationStructureCaptureReplay;
+    VkBool32           accelerationStructureIndirectBuild;
+    VkBool32           accelerationStructureHostCommands;
+    VkBool32           descriptorBindingAccelerationStructureUpdateAfterBind;
+} VkPhysicalDeviceAccelerationStructureFeaturesKHR;
+
+typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    uint64_t           maxGeometryCount;
+    uint64_t           maxInstanceCount;
+    uint64_t           maxPrimitiveCount;
+    uint32_t           maxPerStageDescriptorAccelerationStructures;
+    uint32_t           maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
+    uint32_t           maxDescriptorSetAccelerationStructures;
+    uint32_t           maxDescriptorSetUpdateAfterBindAccelerationStructures;
+    uint32_t           minAccelerationStructureScratchOffsetAlignment;
+} VkPhysicalDeviceAccelerationStructurePropertiesKHR;
+
+typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
+    VkStructureType               sType;
+    const void*                   pNext;
+    VkAccelerationStructureKHR    accelerationStructure;
+} VkAccelerationStructureDeviceAddressInfoKHR;
+
+typedef struct VkAccelerationStructureVersionInfoKHR {
+    VkStructureType    sType;
+    const void*        pNext;
+    const uint8_t*     pVersionData;
+} VkAccelerationStructureVersionInfoKHR;
+
+typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkAccelerationStructureKHR            src;
+    VkDeviceOrHostAddressKHR              dst;
+    VkCopyAccelerationStructureModeKHR    mode;
+} VkCopyAccelerationStructureToMemoryInfoKHR;
+
+typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkDeviceOrHostAddressConstKHR         src;
+    VkAccelerationStructureKHR            dst;
+    VkCopyAccelerationStructureModeKHR    mode;
+} VkCopyMemoryToAccelerationStructureInfoKHR;
+
+typedef struct VkCopyAccelerationStructureInfoKHR {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkAccelerationStructureKHR            src;
+    VkAccelerationStructureKHR            dst;
+    VkCopyAccelerationStructureModeKHR    mode;
+} VkCopyAccelerationStructureInfoKHR;
+
+typedef struct VkAccelerationStructureBuildSizesInfoKHR {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDeviceSize       accelerationStructureSize;
+    VkDeviceSize       updateScratchSize;
+    VkDeviceSize       buildScratchSize;
+} VkAccelerationStructureBuildSizesInfoKHR;
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice                                           device, const VkAccelerationStructureCreateInfoKHR*        pCreateInfo, const VkAllocationCallbacks*       pAllocator, VkAccelerationStructureKHR*                        pAccelerationStructure);
+typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer                                    commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer                  commandBuffer, uint32_t                                           infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress*             pIndirectDeviceAddresses, const uint32_t*                    pIndirectStrides, const uint32_t* const*             ppMaxPrimitiveCounts);
+typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice                                           device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType  queryType, size_t       dataSize, void* pData, size_t stride);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
+typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
+typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice                                            device, VkAccelerationStructureBuildTypeKHR                 buildType, const VkAccelerationStructureBuildGeometryInfoKHR*  pBuildInfo, const uint32_t*  pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR*           pSizeInfo);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
+    VkDevice                                    device,
+    const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkAccelerationStructureKHR*                 pAccelerationStructure);
+
+VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
+    VkDevice                                    device,
+    VkAccelerationStructureKHR                  accelerationStructure,
+    const VkAllocationCallbacks*                pAllocator);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    infoCount,
+    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
+    const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    infoCount,
+    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
+    const VkDeviceAddress*                      pIndirectDeviceAddresses,
+    const uint32_t*                             pIndirectStrides,
+    const uint32_t* const*                      ppMaxPrimitiveCounts);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    uint32_t                                    infoCount,
+    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
+    const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    const VkCopyAccelerationStructureInfoKHR*   pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
+    VkDevice                                    device,
+    uint32_t                                    accelerationStructureCount,
+    const VkAccelerationStructureKHR*           pAccelerationStructures,
+    VkQueryType                                 queryType,
+    size_t                                      dataSize,
+    void*                                       pData,
+    size_t                                      stride);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyAccelerationStructureInfoKHR*   pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+
+VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
+    VkDevice                                    device,
+    const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    accelerationStructureCount,
+    const VkAccelerationStructureKHR*           pAccelerationStructures,
+    VkQueryType                                 queryType,
+    VkQueryPool                                 queryPool,
+    uint32_t                                    firstQuery);
+
+VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
+    VkDevice                                    device,
+    const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
+    VkAccelerationStructureCompatibilityKHR*    pCompatibility);
+
+VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
+    VkDevice                                    device,
+    VkAccelerationStructureBuildTypeKHR         buildType,
+    const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
+    const uint32_t*                             pMaxPrimitiveCounts,
+    VkAccelerationStructureBuildSizesInfoKHR*   pSizeInfo);
+#endif
+
+
+#define VK_KHR_ray_tracing_pipeline 1
+#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
+#define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
+
+typedef enum VkShaderGroupShaderKHR {
+    VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
+    VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
+    VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
+    VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
+    VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkShaderGroupShaderKHR;
+typedef struct VkRayTracingShaderGroupCreateInfoKHR {
+    VkStructureType                   sType;
+    const void*                       pNext;
+    VkRayTracingShaderGroupTypeKHR    type;
+    uint32_t                          generalShader;
+    uint32_t                          closestHitShader;
+    uint32_t                          anyHitShader;
+    uint32_t                          intersectionShader;
+    const void*                       pShaderGroupCaptureReplayHandle;
+} VkRayTracingShaderGroupCreateInfoKHR;
+
+typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
+    VkStructureType    sType;
+    const void*        pNext;
+    uint32_t           maxPipelineRayPayloadSize;
+    uint32_t           maxPipelineRayHitAttributeSize;
+} VkRayTracingPipelineInterfaceCreateInfoKHR;
+
+typedef struct VkRayTracingPipelineCreateInfoKHR {
+    VkStructureType                                      sType;
+    const void*                                          pNext;
+    VkPipelineCreateFlags                                flags;
+    uint32_t                                             stageCount;
+    const VkPipelineShaderStageCreateInfo*               pStages;
+    uint32_t                                             groupCount;
+    const VkRayTracingShaderGroupCreateInfoKHR*          pGroups;
+    uint32_t                                             maxPipelineRayRecursionDepth;
+    const VkPipelineLibraryCreateInfoKHR*                pLibraryInfo;
+    const VkRayTracingPipelineInterfaceCreateInfoKHR*    pLibraryInterface;
+    const VkPipelineDynamicStateCreateInfo*              pDynamicState;
+    VkPipelineLayout                                     layout;
+    VkPipeline                                           basePipelineHandle;
+    int32_t                                              basePipelineIndex;
+} VkRayTracingPipelineCreateInfoKHR;
+
+typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           rayTracingPipeline;
+    VkBool32           rayTracingPipelineShaderGroupHandleCaptureReplay;
+    VkBool32           rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
+    VkBool32           rayTracingPipelineTraceRaysIndirect;
+    VkBool32           rayTraversalPrimitiveCulling;
+} VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
+
+typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    uint32_t           shaderGroupHandleSize;
+    uint32_t           maxRayRecursionDepth;
+    uint32_t           maxShaderGroupStride;
+    uint32_t           shaderGroupBaseAlignment;
+    uint32_t           shaderGroupHandleCaptureReplaySize;
+    uint32_t           maxRayDispatchInvocationCount;
+    uint32_t           shaderGroupHandleAlignment;
+    uint32_t           maxRayHitAttributeSize;
+} VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
+
+typedef struct VkStridedDeviceAddressRegionKHR {
+    VkDeviceAddress    deviceAddress;
+    VkDeviceSize       stride;
+    VkDeviceSize       size;
+} VkStridedDeviceAddressRegionKHR;
+
+typedef struct VkTraceRaysIndirectCommandKHR {
+    uint32_t    width;
+    uint32_t    height;
+    uint32_t    depth;
+} VkTraceRaysIndirectCommandKHR;
+
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
+typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
+typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
+typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
+typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkStridedDeviceAddressRegionKHR*      pRaygenShaderBindingTable,
+    const VkStridedDeviceAddressRegionKHR*      pMissShaderBindingTable,
+    const VkStridedDeviceAddressRegionKHR*      pHitShaderBindingTable,
+    const VkStridedDeviceAddressRegionKHR*      pCallableShaderBindingTable,
+    uint32_t                                    width,
+    uint32_t                                    height,
+    uint32_t                                    depth);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    VkPipelineCache                             pipelineCache,
+    uint32_t                                    createInfoCount,
+    const VkRayTracingPipelineCreateInfoKHR*    pCreateInfos,
+    const VkAllocationCallbacks*                pAllocator,
+    VkPipeline*                                 pPipelines);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+    VkDevice                                    device,
+    VkPipeline                                  pipeline,
+    uint32_t                                    firstGroup,
+    uint32_t                                    groupCount,
+    size_t                                      dataSize,
+    void*                                       pData);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkStridedDeviceAddressRegionKHR*      pRaygenShaderBindingTable,
+    const VkStridedDeviceAddressRegionKHR*      pMissShaderBindingTable,
+    const VkStridedDeviceAddressRegionKHR*      pHitShaderBindingTable,
+    const VkStridedDeviceAddressRegionKHR*      pCallableShaderBindingTable,
+    VkDeviceAddress                             indirectDeviceAddress);
+
+VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
+    VkDevice                                    device,
+    VkPipeline                                  pipeline,
+    uint32_t                                    group,
+    VkShaderGroupShaderKHR                      groupShader);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    pipelineStackSize);
+#endif
+
+
+#define VK_KHR_ray_query 1
+#define VK_KHR_RAY_QUERY_SPEC_VERSION     1
+#define VK_KHR_RAY_QUERY_EXTENSION_NAME   "VK_KHR_ray_query"
+typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           rayQuery;
+} VkPhysicalDeviceRayQueryFeaturesKHR;
+
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/vulkan/vulkan_directfb.h b/include/vulkan/vulkan_directfb.h
index f75bd3a..8eaac6e 100644
--- a/include/vulkan/vulkan_directfb.h
+++ b/include/vulkan/vulkan_directfb.h
@@ -2,7 +2,7 @@
 #define VULKAN_DIRECTFB_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_fuchsia.h b/include/vulkan/vulkan_fuchsia.h
index 5e2d737..bfbb874 100644
--- a/include/vulkan/vulkan_fuchsia.h
+++ b/include/vulkan/vulkan_fuchsia.h
@@ -2,7 +2,7 @@
 #define VULKAN_FUCHSIA_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
@@ -41,6 +41,80 @@
 #endif
 
 
+#define VK_FUCHSIA_external_memory 1
+#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
+#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
+typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkExternalMemoryHandleTypeFlagBits    handleType;
+    zx_handle_t                           handle;
+} VkImportMemoryZirconHandleInfoFUCHSIA;
+
+typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
+    VkStructureType    sType;
+    void*              pNext;
+    uint32_t           memoryTypeBits;
+} VkMemoryZirconHandlePropertiesFUCHSIA;
+
+typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkDeviceMemory                        memory;
+    VkExternalMemoryHandleTypeFlagBits    handleType;
+} VkMemoryGetZirconHandleInfoFUCHSIA;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
+typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
+    VkDevice                                    device,
+    const VkMemoryGetZirconHandleInfoFUCHSIA*   pGetZirconHandleInfo,
+    zx_handle_t*                                pZirconHandle);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
+    VkDevice                                    device,
+    VkExternalMemoryHandleTypeFlagBits          handleType,
+    zx_handle_t                                 zirconHandle,
+    VkMemoryZirconHandlePropertiesFUCHSIA*      pMemoryZirconHandleProperties);
+#endif
+
+
+#define VK_FUCHSIA_external_semaphore 1
+#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
+#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
+typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
+    VkStructureType                          sType;
+    const void*                              pNext;
+    VkSemaphore                              semaphore;
+    VkSemaphoreImportFlags                   flags;
+    VkExternalSemaphoreHandleTypeFlagBits    handleType;
+    zx_handle_t                              zirconHandle;
+} VkImportSemaphoreZirconHandleInfoFUCHSIA;
+
+typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
+    VkStructureType                          sType;
+    const void*                              pNext;
+    VkSemaphore                              semaphore;
+    VkExternalSemaphoreHandleTypeFlagBits    handleType;
+} VkSemaphoreGetZirconHandleInfoFUCHSIA;
+
+typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
+    VkDevice                                    device,
+    const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
+    VkDevice                                    device,
+    const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
+    zx_handle_t*                                pZirconHandle);
+#endif
+
+
 #define VK_FUCHSIA_buffer_collection 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
 #define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 1
@@ -194,80 +268,6 @@
     VkBufferCollectionProperties2FUCHSIA*       pProperties);
 #endif
 
-
-#define VK_FUCHSIA_external_memory 1
-#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
-#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
-typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
-    VkStructureType                       sType;
-    const void*                           pNext;
-    VkExternalMemoryHandleTypeFlagBits    handleType;
-    zx_handle_t                           handle;
-} VkImportMemoryZirconHandleInfoFUCHSIA;
-
-typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
-    VkStructureType    sType;
-    void*              pNext;
-    uint32_t           memoryTypeBits;
-} VkMemoryZirconHandlePropertiesFUCHSIA;
-
-typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
-    VkStructureType                       sType;
-    const void*                           pNext;
-    VkDeviceMemory                        memory;
-    VkExternalMemoryHandleTypeFlagBits    handleType;
-} VkMemoryGetZirconHandleInfoFUCHSIA;
-
-typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
-typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t ZirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
-
-#ifndef VK_NO_PROTOTYPES
-VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
-    VkDevice                                    device,
-    const VkMemoryGetZirconHandleInfoFUCHSIA*   pGetZirconHandleInfo,
-    zx_handle_t*                                pZirconHandle);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
-    VkDevice                                    device,
-    VkExternalMemoryHandleTypeFlagBits          handleType,
-    zx_handle_t                                 ZirconHandle,
-    VkMemoryZirconHandlePropertiesFUCHSIA*      pMemoryZirconHandleProperties);
-#endif
-
-
-#define VK_FUCHSIA_external_semaphore 1
-#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
-#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
-typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
-    VkStructureType                          sType;
-    const void*                              pNext;
-    VkSemaphore                              semaphore;
-    VkSemaphoreImportFlags                   flags;
-    VkExternalSemaphoreHandleTypeFlagBits    handleType;
-    zx_handle_t                              handle;
-} VkImportSemaphoreZirconHandleInfoFUCHSIA;
-
-typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
-    VkStructureType                          sType;
-    const void*                              pNext;
-    VkSemaphore                              semaphore;
-    VkExternalSemaphoreHandleTypeFlagBits    handleType;
-} VkSemaphoreGetZirconHandleInfoFUCHSIA;
-
-typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
-typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
-
-#ifndef VK_NO_PROTOTYPES
-VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
-    VkDevice                                    device,
-    const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
-
-VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
-    VkDevice                                    device,
-    const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
-    zx_handle_t*                                pZirconHandle);
-#endif
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/vulkan/vulkan_ggp.h b/include/vulkan/vulkan_ggp.h
index 273c880..9a6a582 100644
--- a/include/vulkan/vulkan_ggp.h
+++ b/include/vulkan/vulkan_ggp.h
@@ -2,7 +2,7 @@
 #define VULKAN_GGP_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_ios.h b/include/vulkan/vulkan_ios.h
index 651945c..6e7e6af 100644
--- a/include/vulkan/vulkan_ios.h
+++ b/include/vulkan/vulkan_ios.h
@@ -2,7 +2,7 @@
 #define VULKAN_IOS_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
@@ -20,7 +20,7 @@
 
 
 #define VK_MVK_ios_surface 1
-#define VK_MVK_IOS_SURFACE_SPEC_VERSION   2
+#define VK_MVK_IOS_SURFACE_SPEC_VERSION   3
 #define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
 typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
 typedef struct VkIOSSurfaceCreateInfoMVK {
diff --git a/include/vulkan/vulkan_macos.h b/include/vulkan/vulkan_macos.h
index 3208b72..c49b123 100644
--- a/include/vulkan/vulkan_macos.h
+++ b/include/vulkan/vulkan_macos.h
@@ -2,7 +2,7 @@
 #define VULKAN_MACOS_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
@@ -20,7 +20,7 @@
 
 
 #define VK_MVK_macos_surface 1
-#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 2
+#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 3
 #define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
 typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
 typedef struct VkMacOSSurfaceCreateInfoMVK {
diff --git a/include/vulkan/vulkan_metal.h b/include/vulkan/vulkan_metal.h
index 99f097d..5cf4a70 100644
--- a/include/vulkan/vulkan_metal.h
+++ b/include/vulkan/vulkan_metal.h
@@ -2,7 +2,7 @@
 #define VULKAN_METAL_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_screen.h b/include/vulkan/vulkan_screen.h
new file mode 100644
index 0000000..92ad9bf
--- /dev/null
+++ b/include/vulkan/vulkan_screen.h
@@ -0,0 +1,54 @@
+#ifndef VULKAN_SCREEN_H_
+#define VULKAN_SCREEN_H_ 1
+
+/*
+** Copyright 2015-2021 The Khronos Group Inc.
+**
+** SPDX-License-Identifier: Apache-2.0
+*/
+
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define VK_QNX_screen_surface 1
+#define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1
+#define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface"
+typedef VkFlags VkScreenSurfaceCreateFlagsQNX;
+typedef struct VkScreenSurfaceCreateInfoQNX {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkScreenSurfaceCreateFlagsQNX    flags;
+    struct _screen_context*          context;
+    struct _screen_window*           window;
+} VkScreenSurfaceCreateInfoQNX;
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
+    VkInstance                                  instance,
+    const VkScreenSurfaceCreateInfoQNX*         pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkSurfaceKHR*                               pSurface);
+
+VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
+    VkPhysicalDevice                            physicalDevice,
+    uint32_t                                    queueFamilyIndex,
+    struct _screen_window*                      window);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/vulkan/vulkan_vi.h b/include/vulkan/vulkan_vi.h
index 2e62d7d..9e0dcca 100644
--- a/include/vulkan/vulkan_vi.h
+++ b/include/vulkan/vulkan_vi.h
@@ -2,7 +2,7 @@
 #define VULKAN_VI_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_wayland.h b/include/vulkan/vulkan_wayland.h
index f7b307e..2a329be 100644
--- a/include/vulkan/vulkan_wayland.h
+++ b/include/vulkan/vulkan_wayland.h
@@ -2,7 +2,7 @@
 #define VULKAN_WAYLAND_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_win32.h b/include/vulkan/vulkan_win32.h
index 4b561ea..1b680f0 100644
--- a/include/vulkan/vulkan_win32.h
+++ b/include/vulkan/vulkan_win32.h
@@ -2,7 +2,7 @@
 #define VULKAN_WIN32_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_xcb.h b/include/vulkan/vulkan_xcb.h
index c5441b2..5ba2ad8 100644
--- a/include/vulkan/vulkan_xcb.h
+++ b/include/vulkan/vulkan_xcb.h
@@ -2,7 +2,7 @@
 #define VULKAN_XCB_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_xlib.h b/include/vulkan/vulkan_xlib.h
index c54628a..75c75dc 100644
--- a/include/vulkan/vulkan_xlib.h
+++ b/include/vulkan/vulkan_xlib.h
@@ -2,7 +2,7 @@
 #define VULKAN_XLIB_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/include/vulkan/vulkan_xlib_xrandr.h b/include/vulkan/vulkan_xlib_xrandr.h
index 436432f..fa27493 100644
--- a/include/vulkan/vulkan_xlib_xrandr.h
+++ b/include/vulkan/vulkan_xlib_xrandr.h
@@ -2,7 +2,7 @@
 #define VULKAN_XLIB_XRANDR_H_ 1
 
 /*
-** Copyright (c) 2015-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
 **
 ** SPDX-License-Identifier: Apache-2.0
 */
diff --git a/registry/cgenerator.py b/registry/cgenerator.py
index 11d5468..0046b6d 100644
--- a/registry/cgenerator.py
+++ b/registry/cgenerator.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3 -i
 #
-# Copyright (c) 2013-2020 The Khronos Group Inc.
+# Copyright 2013-2021 The Khronos Group Inc.
 #
 # SPDX-License-Identifier: Apache-2.0
 
@@ -32,6 +32,8 @@
                  genEnumBeginEndRange=False,
                  genAliasMacro=False,
                  aliasMacro='',
+                 misracstyle=False,
+                 misracppstyle=False,
                  **kwargs
                  ):
         """Constructor.
@@ -68,7 +70,10 @@
         be generated for enumerated types
         - genAliasMacro - True if the OpenXR alias macro should be generated
         for aliased types (unclear what other circumstances this is useful)
-        - aliasMacro - alias macro to inject when genAliasMacro is True"""
+        - aliasMacro - alias macro to inject when genAliasMacro is True
+        - misracstyle - generate MISRA C-friendly headers
+        - misracppstyle - generate MISRA C++-friendly headers"""
+
         GeneratorOptions.__init__(self, **kwargs)
 
         self.prefixText = prefixText
@@ -116,6 +121,12 @@
         self.aliasMacro = aliasMacro
         """alias macro to inject when genAliasMacro is True"""
 
+        self.misracstyle = misracstyle
+        """generate MISRA C-friendly headers"""
+
+        self.misracppstyle = misracppstyle
+        """generate MISRA C++-friendly headers"""
+
         self.codeGenerator = True
         """True if this generator makes compilable code"""
 
@@ -386,8 +397,22 @@
         just integers."""
         OutputGenerator.genEnum(self, enuminfo, name, alias)
         (_, strVal) = self.enumToValue(enuminfo.elem, False)
-        body = '#define ' + name.ljust(33) + ' ' + strVal
-        self.appendSection('enum', body)
+
+        if self.misracppstyle() and enuminfo.elem.get('type') and not alias:
+            # Generate e.g.: static constexpr uint32_t x = ~static_cast<uint32_t>(1U);
+            # This appeases MISRA "underlying type" rules.
+            typeStr = enuminfo.elem.get('type');
+            invert = '~' in strVal
+            number = strVal.strip("()~UL")
+            if typeStr != "float":
+                number += 'U'
+            strVal = "~" if invert else ""
+            strVal += "static_cast<" + typeStr + ">(" + number + ")"
+            body = 'static constexpr ' + typeStr.ljust(9) + name.ljust(33) + ' {' + strVal + '};'
+            self.appendSection('enum', body)
+        else:
+            body = '#define ' + name.ljust(33) + ' ' + strVal
+            self.appendSection('enum', body)
 
     def genCmd(self, cmdinfo, name, alias):
         "Command generation"
@@ -403,3 +428,9 @@
         self.appendSection('command', prefix + decls[0] + '\n')
         if self.genOpts.genFuncPointers:
             self.appendSection('commandPointer', decls[1])
+
+    def misracstyle(self):
+        return self.genOpts.misracstyle;
+
+    def misracppstyle(self):
+        return self.genOpts.misracppstyle;
diff --git a/registry/conventions.py b/registry/conventions.py
index 6de7348..edf9059 100644
--- a/registry/conventions.py
+++ b/registry/conventions.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3 -i
 #
-# Copyright (c) 2013-2020 The Khronos Group Inc.
+# Copyright 2013-2021 The Khronos Group Inc.
 #
 # SPDX-License-Identifier: Apache-2.0
 
diff --git a/registry/generator.py b/registry/generator.py
index be6d65c..039015e 100644
--- a/registry/generator.py
+++ b/registry/generator.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3 -i
 #
-# Copyright (c) 2013-2020 The Khronos Group Inc.
+# Copyright 2013-2021 The Khronos Group Inc.
 #
 # SPDX-License-Identifier: Apache-2.0
 """Base class for source/header/doc generators, as well as some utility functions."""
@@ -118,6 +118,7 @@
                  addExtensions=None,
                  removeExtensions=None,
                  emitExtensions=None,
+                 emitSpirv=None,
                  reparentEnums=True,
                  sortProcedure=regSortFeatures):
         """Constructor.
@@ -148,6 +149,9 @@
         - emitExtensions - regex matching names of extensions to actually emit
         interfaces for (though all requested versions are considered when
         deciding which interfaces to generate).
+        to None.
+        - emitSpirv - regex matching names of extensions and capabilities
+        to actually emit interfaces for.
         - reparentEnums - move <enum> elements which extend an enumerated
         type from <feature> or <extension> elements to the target <enums>
         element. This is required for almost all purposes, but the
@@ -209,6 +213,10 @@
         interfaces for (though all requested versions are considered when
         deciding which interfaces to generate)."""
 
+        self.emitSpirv = self.emptyRegex(emitSpirv)
+        """regex matching names of extensions and capabilities
+        to actually emit interfaces for."""
+
         self.reparentEnums = reparentEnums
         """boolean specifying whether to remove <enum> elements from
         <feature> or <extension> when extending an <enums> type."""
@@ -298,7 +306,7 @@
             raise UserWarning(
                 '*** FATAL ERROR in Generator.logMsg: unknown level:' + level)
 
-    def enumToValue(self, elem, needsNum):
+    def enumToValue(self, elem, needsNum, bitwidth = 32, forceSuffix = False):
         """Parse and convert an `<enum>` tag into a value.
 
         Returns a list:
@@ -334,6 +342,11 @@
             # t = enuminfo.elem.get('type')
             # if t is not None and t != '' and t != 'i' and t != 's':
             #     value += enuminfo.type
+            if forceSuffix:
+              if bitwidth == 64:
+                value = value + 'ULL'
+              else:
+                value = value + 'U'
             self.logMsg('diag', 'Enum', name, '-> value [', numVal, ',', value, ']')
             return [numVal, value]
         if 'bitpos' in elem.keys():
@@ -341,8 +354,10 @@
             bitpos = int(value, 0)
             numVal = 1 << bitpos
             value = '0x%08x' % numVal
-            if bitpos >= 32:
-                value = value + 'ULL'
+            if bitwidth == 64:
+              value = value + 'ULL'
+            elif forceSuffix:
+              value = value + 'U'
             self.logMsg('diag', 'Enum', name, '-> bitpos [', numVal, ',', value, ']')
             return [numVal, value]
         if 'offset' in elem.keys():
@@ -370,7 +385,7 @@
         return [None, None]
 
     def checkDuplicateEnums(self, enums):
-        """Sanity check enumerated values.
+        """Check enumerated values for duplicates.
 
         -  enums - list of `<enum>` Elements
 
@@ -425,6 +440,12 @@
         # Return the list
         return stripped
 
+    def misracstyle(self):
+        return False;
+
+    def misracppstyle(self):
+        return False;
+
     def buildEnumCDecl(self, expand, groupinfo, groupName):
         """Generate the C declaration for an enum"""
         groupElem = groupinfo.elem
@@ -445,47 +466,69 @@
                 self.logMsg('error', 'Invalid value for bitwidth attribute (', groupElem.get('bitwidth'), ') for ', groupName, ' - must be an integer value\n')
                 exit(1)
 
-        # Bitmask types support 64-bit flags, so have different handling
-        if groupElem.get('type') == 'bitmask':
+        usebitmask = False
+        usedefine = False
 
+        # Bitmask flags can be generated as either "static const uint{32,64}_t" values,
+        # or as 32-bit C enums. 64-bit types must use uint64_t values.
+        if groupElem.get('type') == 'bitmask':
+            if bitwidth > 32 or self.misracppstyle():
+                usebitmask = True
+            if self.misracstyle():
+                usedefine = True
+
+        if usedefine or usebitmask:
             # Validate the bitwidth and generate values appropriately
-            # Bitmask flags up to 64-bit are generated as static const uint64_t values
-            # Bitmask flags up to 32-bit are generated as C enum values
             if bitwidth > 64:
                 self.logMsg('error', 'Invalid value for bitwidth attribute (', groupElem.get('bitwidth'), ') for bitmask type ', groupName, ' - must be less than or equal to 64\n')
                 exit(1)
-            elif bitwidth > 32:
-                return self.buildEnumCDecl_Bitmask(groupinfo, groupName)
             else:
-                return self.buildEnumCDecl_Enum(expand, groupinfo, groupName)
+                return self.buildEnumCDecl_BitmaskOrDefine(groupinfo, groupName, bitwidth, usedefine)
         else:
             # Validate the bitwidth and generate values appropriately
-            # Enum group types up to 32-bit are generated as C enum values
             if bitwidth > 32:
                 self.logMsg('error', 'Invalid value for bitwidth attribute (', groupElem.get('bitwidth'), ') for enum type ', groupName, ' - must be less than or equal to 32\n')
                 exit(1)
             else:
                 return self.buildEnumCDecl_Enum(expand, groupinfo, groupName)
 
-    def buildEnumCDecl_Bitmask(self, groupinfo, groupName):
+    def buildEnumCDecl_BitmaskOrDefine(self, groupinfo, groupName, bitwidth, usedefine):
         """Generate the C declaration for an "enum" that is actually a
         set of flag bits"""
         groupElem = groupinfo.elem
-        flagTypeName = groupinfo.flagType.elem.get('name')
+        flagTypeName = groupElem.get('name')
 
         # Prefix
         body = "// Flag bits for " + flagTypeName + "\n"
 
+        if bitwidth == 64:
+            body += "typedef VkFlags64 %s;\n" % flagTypeName;
+        else:
+            body += "typedef VkFlags %s;\n" % flagTypeName;
+
         # Maximum allowable value for a flag (unsigned 64-bit integer)
         maxValidValue = 2**(64) - 1
         minValidValue = 0
 
+        # Get a list of nested 'enum' tags.
+        enums = groupElem.findall('enum')
+
+        # Check for and report duplicates, and return a list with them
+        # removed.
+        enums = self.checkDuplicateEnums(enums)
+
+        # Accumulate non-numeric enumerant values separately and append
+        # them following the numeric values, to allow for aliases.
+        # NOTE: this doesn't do a topological sort yet, so aliases of
+        # aliases can still get in the wrong order.
+        aliasText = ''
+
         # Loop over the nested 'enum' tags.
-        for elem in groupElem.findall('enum'):
+        for elem in enums:
             # Convert the value to an integer and use that to track min/max.
             # Values of form -(number) are accepted but nothing more complex.
             # Should catch exceptions here for more complex constructs. Not yet.
-            (numVal, strVal) = self.enumToValue(elem, True)
+            (numVal, strVal) = self.enumToValue(elem, True, bitwidth, True)
             name = elem.get('name')
 
             # Range check for the enum value
@@ -493,8 +536,65 @@
                 self.logMsg('error', 'Allowable range for flag types in C is [', minValidValue, ',', maxValidValue, '], but', name, 'flag has a value outside of this (', strVal, ')\n')
                 exit(1)
 
-            body += self.genRequirements(name, mustBeFound = False)
-            body += "static const {} {} = {};\n".format(flagTypeName, name, strVal)
+            protect = elem.get('protect')
+            if protect is not None:
+                body += '#ifdef {}\n'.format(protect)
+
+            decl = self.genRequirements(name, mustBeFound = False)
+
+            if self.isEnumRequired(elem):
+                if usedefine:
+                    decl += "#define {} {}\n".format(name, strVal)
+                elif self.misracppstyle():
+                    decl += "static constexpr {} {} {{{}}};\n".format(flagTypeName, name, strVal)
+                else:
+                    # Some C compilers only allow initializing a 'static const' variable with a literal value.
+                    # So initializing an alias from another 'static const' value would fail to compile.
+                    # Work around this by chasing the aliases to get the actual value.
+                    while numVal is None:
+                        alias = self.registry.tree.find("enums/enum[@name='" + strVal + "']")
+                        (numVal, strVal) = self.enumToValue(alias, True)
+                    decl += "static const {} {} = {};\n".format(flagTypeName, name, strVal)
+
+                if numVal is not None:
+                    body += decl
+                else:
+                    aliasText += decl
+
+            if protect is not None:
+                body += '#endif\n'
+
+        # Now append the non-numeric enumerant values
+        body += aliasText
+
+        # Generate a range-padding value to ensure the enum is 32 bits, but
+        # only in code generators, so it doesn't appear in documentation.
+        # This isn't needed for bitmasks or defines, but keep them around for
+        # compatibility.
+        if (self.genOpts.codeGenerator or
+            self.conventions.generate_max_enum_in_docs):
+
+            # Break the group name into prefix and suffix portions for range
+            # enum generation
+            expandName = re.sub(r'([0-9a-z_])([A-Z0-9])', r'\1_\2', groupName).upper()
+            expandPrefix = expandName
+            expandSuffix = ''
+            expandSuffixMatch = re.search(r'[A-Z][A-Z]+$', groupName)
+            if expandSuffixMatch:
+                expandSuffix = '_' + expandSuffixMatch.group()
+                # Strip off the suffix from the prefix
+                expandPrefix = expandName.rsplit(expandSuffix, 1)[0]
+
+            maxEnum = '0x7FFFFFFFU'
+            if bitwidth == 64:
+              maxEnum = '0x7FFFFFFFFFFFFFFFULL'
+
+            if usedefine:
+                body += "#define {}_MAX_ENUM{} {}\n".format(expandPrefix, expandSuffix, maxEnum)
+            elif self.misracppstyle():
+                body += "static constexpr {} {}_MAX_ENUM{} {{{}}};\n".format(flagTypeName, expandPrefix, expandSuffix, maxEnum)
+            else:
+                body += "static const {} {}_MAX_ENUM{} = {};\n".format(flagTypeName, expandPrefix, expandSuffix, maxEnum)
 
         # Postfix
 
@@ -554,11 +654,22 @@
 
             # Extension enumerants are only included if they are required
             if self.isEnumRequired(elem):
+                decl = ''
+
+                protect = elem.get('protect')
+                if protect is not None:
+                    decl += '#ifdef {}\n'.format(protect)
+
                 # Indent requirements comment, if there is one
-                decl = self.genRequirements(name, mustBeFound = False)
-                if decl != '':
-                    decl = '  ' + decl
-                decl += "    {} = {},".format(name, strVal)
+                requirements = self.genRequirements(name, mustBeFound = False)
+                if requirements != '':
+                    requirements = '  ' + requirements
+                decl += requirements
+                decl += '    {} = {},'.format(name, strVal)
+
+                if protect is not None:
+                    decl += '\n#endif'
+
                 if numVal is not None:
                     body.append(decl)
                 else:
@@ -569,7 +680,6 @@
                 self.logMsg('error', 'Allowable range for C enum types is [', minValidValue, ',', maxValidValue, '], but', name, 'has a value outside of this (', strVal, ')\n')
                 exit(1)
 
-
             # Don't track min/max for non-numbers (numVal is None)
             if isEnum and numVal is not None and elem.get('extends') is None:
                 if minName is None:
@@ -757,6 +867,14 @@
         Extend to generate as desired in your derived class."""
         self.validateFeature('command', cmdinfo)
 
+    def genSpirv(self, spirv, spirvinfo, alias):
+        """Generate interface for a spirv element.
+
+        - spirvinfo - SpirvInfo for a command
+
+        Extend to generate as desired in your derived class."""
+        return
+
     def makeProtoName(self, name, tail):
         """Turn a `<proto>` `<name>` into C-language prototype
         and typedef declarations for that name.
@@ -778,7 +896,9 @@
         - aligncol - if non-zero, attempt to align the nested `<name>` element
           at this column"""
         indent = '    '
-        paramdecl = indent + noneStr(param.text)
+        paramdecl = indent
+        prefix = noneStr(param.text)
+
         for elem in param:
             text = noneStr(elem.text)
             tail = noneStr(elem.tail)
@@ -797,7 +917,16 @@
                 paramdecl = paramdecl.ljust(aligncol - 1) + ' '
                 newLen = len(paramdecl)
                 self.logMsg('diag', 'Adjust length of parameter decl from', oldLen, 'to', newLen, ':', paramdecl)
-            paramdecl += text + tail
+
+            if (self.misracppstyle() and prefix.find('const ') != -1):
+                # Change pointer type order from e.g. "const void *" to "void const *".
+                # If the string starts with 'const', reorder it to be after the first type.
+                paramdecl += prefix.replace('const ', '') + text + ' const' + tail
+            else:
+                paramdecl += prefix + text + tail
+
+            # Clear prefix for subsequent iterations
+            prefix = ''
         if aligncol == 0:
             # Squeeze out multiple spaces other than the indentation
             paramdecl = indent + ' '.join(paramdecl.split())
@@ -1004,8 +1133,28 @@
         # Non-indented parameters
         paramdecl = '('
         if n > 0:
-            paramnames = (''.join(t for t in p.itertext())
-                          for p in params)
+            paramnames = []
+            if self.misracppstyle():
+                for p in params:
+                    param = ''
+                    firstIter = True;
+                    for t in p.itertext():
+                        if (firstIter):
+                            prefix = t
+                            firstIter = False
+                        else:
+                            # Change pointer type order from e.g. "const void *" to "void const *".
+                            # If the string starts with 'const', reorder it to be after the first type.
+                            if (prefix.find('const ') != -1):
+                                param += prefix.replace('const ', '') + t + ' const '
+                            else:
+                                param += prefix + t
+                            # Clear prefix for subsequent iterations
+                            prefix = ''
+                    paramnames.append(param);
+            else:
+                paramnames = (''.join(t for t in p.itertext())
+                              for p in params)
             paramdecl += ', '.join(paramnames)
         else:
             paramdecl += 'void'
diff --git a/registry/genvk.py b/registry/genvk.py
index 626f0b9..9b1476b 100755
--- a/registry/genvk.py
+++ b/registry/genvk.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3
 #
-# Copyright (c) 2013-2020 The Khronos Group Inc.
+# Copyright 2013-2021 The Khronos Group Inc.
 #
 # SPDX-License-Identifier: Apache-2.0
 
@@ -17,6 +17,7 @@
                                        ExtensionMetaDocOutputGenerator)
 from interfacedocgenerator import InterfaceDocGenerator
 from generator import write
+from spirvcapgenerator import SpirvCapabilityOutputGenerator
 from hostsyncgenerator import HostSynchronizationOutputGenerator
 from pygenerator import PyOutputGenerator
 from reflib import logDiag, logWarn, setLogFile
@@ -73,6 +74,9 @@
     # Extensions to emit (list of extensions)
     emitExtensions = args.emitExtensions
 
+    # SPIR-V capabilities / features to emit (list of extensions & capabilities)
+    emitSpirv = args.emitSpirv
+
     # Features to include (list of features)
     features = args.feature
 
@@ -85,21 +89,28 @@
     # Path to generated files, particularly api.py
     genpath = args.genpath
 
+    # Generate MISRA C-friendly headers
+    misracstyle = args.misracstyle;
+
+    # Generate MISRA C++-friendly headers
+    misracppstyle = args.misracppstyle;
+
     # Descriptive names for various regexp patterns used to select
     # versions and extensions
-    allFeatures = allExtensions = r'.*'
+    allSpirv = allFeatures = allExtensions = r'.*'
 
     # Turn lists of names/patterns into matching regular expressions
     addExtensionsPat     = makeREstring(extensions, None)
     removeExtensionsPat  = makeREstring(removeExtensions, None)
     emitExtensionsPat    = makeREstring(emitExtensions, allExtensions)
+    emitSpirvPat         = makeREstring(emitSpirv, allSpirv)
     featuresPat          = makeREstring(features, allFeatures)
 
     # Copyright text prefixing all headers (list of strings).
     # The SPDX formatting below works around constraints of the 'reuse' tool
     prefixStrings = [
         '/*',
-        '** Copyright (c) 2015-2020 The Khronos Group Inc.',
+        '** Copyright 2015-2021 The Khronos Group Inc.',
         '**',
         '** SPDX' + '-License-Identifier: Apache-2.0',
         '*/',
@@ -249,6 +260,25 @@
             reparentEnums     = False)
         ]
 
+    genOpts['spirvcapinc'] = [
+          SpirvCapabilityOutputGenerator,
+          DocGeneratorOptions(
+            conventions       = conventions,
+            filename          = 'timeMarker',
+            directory         = directory,
+            genpath           = None,
+            apiname           = 'vulkan',
+            profile           = None,
+            versions          = featuresPat,
+            emitversions      = featuresPat,
+            defaultExtensions = None,
+            addExtensions     = addExtensionsPat,
+            removeExtensions  = removeExtensionsPat,
+            emitExtensions    = emitExtensionsPat,
+            emitSpirv         = emitSpirvPat,
+            reparentEnums     = False)
+        ]
+
     # Platform extensions, in their own header files
     # Each element of the platforms[] array defines information for
     # generating a single platform:
@@ -269,14 +299,16 @@
     # Extensions required and suppressed for beta "platform". This can
     # probably eventually be derived from the requires= attributes of
     # the extension blocks.
-    betaRequireExtensions = [ 'VK_KHR_ray_tracing', 'VK_KHR_deferred_host_operations', 'VK_KHR_pipeline_library' ]
-    betaSuppressExtensions = [ 'VK_NV_ray_tracing' ]
+    betaRequireExtensions = [ 'VK_KHR_portability_subset' ]
+    betaSuppressExtensions = []
 
     platforms = [
         [ 'vulkan_android.h',     [ 'VK_KHR_android_surface',
                                     'VK_ANDROID_external_memory_android_hardware_buffer'
                                                                   ], commonSuppressExtensions ],
-        [ 'vulkan_fuchsia.h',     [ 'VK_FUCHSIA_imagepipe_surface'], commonSuppressExtensions ],
+        [ 'vulkan_fuchsia.h',     [ 'VK_FUCHSIA_imagepipe_surface',
+                                    'VK_FUCHSIA_external_memory',
+                                    'VK_FUCHSIA_external_semaphore' ], commonSuppressExtensions ],
         [ 'vulkan_ggp.h',         [ 'VK_GGP_stream_descriptor_surface',
                                     'VK_GGP_frame_token'          ], commonSuppressExtensions ],
         [ 'vulkan_ios.h',         [ 'VK_MVK_ios_surface'          ], commonSuppressExtensions ],
@@ -297,6 +329,7 @@
         [ 'vulkan_directfb.h',    [ 'VK_EXT_directfb_surface'     ], commonSuppressExtensions ],
         [ 'vulkan_xlib_xrandr.h', [ 'VK_EXT_acquire_xlib_display' ], commonSuppressExtensions ],
         [ 'vulkan_metal.h',       [ 'VK_EXT_metal_surface'        ], commonSuppressExtensions ],
+        [ 'vulkan_screen.h',      [ 'VK_QNX_screen_surface'       ], commonSuppressExtensions ],
         [ 'vulkan_beta.h',        betaRequireExtensions,             betaSuppressExtensions ],
     ]
 
@@ -332,7 +365,9 @@
             apicall           = 'VKAPI_ATTR ',
             apientry          = 'VKAPI_CALL ',
             apientryp         = 'VKAPI_PTR *',
-            alignFuncParam    = 48)
+            alignFuncParam    = 48,
+            misracstyle       = misracstyle,
+            misracppstyle     = misracppstyle)
 
         genOpts[headername] = [ COutputGenerator, opts ]
 
@@ -371,7 +406,9 @@
             apicall           = 'VKAPI_ATTR ',
             apientry          = 'VKAPI_CALL ',
             apientryp         = 'VKAPI_PTR *',
-            alignFuncParam    = 48)
+            alignFuncParam    = 48,
+            misracstyle       = misracstyle,
+            misracppstyle     = misracppstyle)
         ]
 
     # Unused - vulkan10.h target.
@@ -403,7 +440,9 @@
             apicall           = 'VKAPI_ATTR ',
             apientry          = 'VKAPI_CALL ',
             apientryp         = 'VKAPI_PTR *',
-            alignFuncParam    = 48)
+            alignFuncParam    = 48,
+            misracstyle       = misracstyle,
+            misracppstyle     = misracppstyle)
         ]
 
     # Unused - vulkan11.h target.
@@ -435,7 +474,9 @@
             apicall           = 'VKAPI_ATTR ',
             apientry          = 'VKAPI_CALL ',
             apientryp         = 'VKAPI_PTR *',
-            alignFuncParam    = 48)
+            alignFuncParam    = 48,
+            misracstyle       = misracstyle,
+            misracppstyle     = misracppstyle)
         ]
 
     genOpts['alias.h'] = [
@@ -482,6 +523,8 @@
     # Create generator options with parameters specified on command line
     makeGenOpts(args)
 
+    # pdb.set_trace()
+
     # Select a generator matching the requested target
     if args.target in genOpts:
         createGenerator = genOpts[args.target][0]
@@ -523,6 +566,9 @@
     parser.add_argument('-emitExtensions', action='append',
                         default=[],
                         help='Specify an extension or extensions to emit in targets')
+    parser.add_argument('-emitSpirv', action='append',
+                        default=[],
+                        help='Specify a SPIR-V extension or capability to emit in targets')
     parser.add_argument('-feature', action='append',
                         default=[],
                         help='Specify a core API feature name or names to add to targets')
@@ -558,6 +604,10 @@
                         help='Suppress script output during normal execution.')
     parser.add_argument('-verbose', action='store_false', dest='quiet', default=True,
                         help='Enable script output during normal execution.')
+    parser.add_argument('-misracstyle', dest='misracstyle', action='store_true',
+                        help='generate MISRA C-friendly headers')
+    parser.add_argument('-misracppstyle', dest='misracppstyle', action='store_true',
+                        help='generate MISRA C++-friendly headers')
 
     args = parser.parse_args()
 
diff --git a/registry/reg.py b/registry/reg.py
old mode 100755
new mode 100644
index c63804b..afb374d
--- a/registry/reg.py
+++ b/registry/reg.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3 -i
 #
-# Copyright 2013-2020 The Khronos Group Inc.
+# Copyright 2013-2021 The Khronos Group Inc.
 #
 # SPDX-License-Identifier: Apache-2.0
 
@@ -12,7 +12,7 @@
 import xml.etree.ElementTree as etree
 from collections import defaultdict, namedtuple
 from generator import OutputGenerator, GeneratorOptions, write
-
+import pdb
 
 def apiNameMatch(str, supported):
     """Return whether a required api name matches a pattern specified for an
@@ -253,6 +253,12 @@
                 self.number = 0
             self.supported = elem.get('supported')
 
+class SpirvInfo(BaseInfo):
+    """Registry information about an API <spirvextensions>
+    or <spirvcapability>."""
+
+    def __init__(self, elem):
+        BaseInfo.__init__(self, elem)
 
 class Registry:
     """Object representing an API registry, loaded from an XML file."""
@@ -299,6 +305,12 @@
         self.extdict = {}
         "dictionary of FeatureInfo objects for `<extension>` elements keyed by extension name"
 
+        self.spirvextdict = {}
+        "dictionary of FeatureInfo objects for `<spirvextension>` elements keyed by spirv extension name"
+
+        self.spirvcapdict = {}
+        "dictionary of FeatureInfo objects for `<spirvcapability>` elements keyed by spirv capability name"
+
         self.emitFeatures = False
         """True to actually emit features for a version / extension,
         or False to just treat them as emitted"""
@@ -344,10 +356,10 @@
 
         Intended for internal use only.
 
-        - elem - `<type>`/`<enums>`/`<enum>`/`<command>`/`<feature>`/`<extension>` Element
-        - info - corresponding {Type|Group|Enum|Cmd|Feature}Info object
-        - infoName - 'type' / 'group' / 'enum' / 'command' / 'feature' / 'extension'
-        - dictionary - self.{type|group|enum|cmd|api|ext}dict
+        - elem - `<type>`/`<enums>`/`<enum>`/`<command>`/`<feature>`/`<extension>`/`<spirvextension>`/`<spirvcapability>` Element
+        - info - corresponding {Type|Group|Enum|Cmd|Feature|Spirv}Info object
+        - infoName - 'type' / 'group' / 'enum' / 'command' / 'feature' / 'extension' / 'spirvextension' / 'spirvcapability'
+        - dictionary - self.{type|group|enum|cmd|api|ext|spirvext|spirvcap}dict
 
         If the Element has an 'api' attribute, the dictionary key is the
         tuple (name,api). If not, the key is the name. 'name' is an
@@ -591,6 +603,15 @@
         for parent in self.validextensionstructs:
             self.validextensionstructs[parent].sort()
 
+        # Parse out all spirv tags in dictionaries
+        # Use addElementInfo to catch duplicates
+        for spirv in self.reg.findall('spirvextensions/spirvextension'):
+            spirvInfo = SpirvInfo(spirv)
+            self.addElementInfo(spirv, spirvInfo, 'spirvextension', self.spirvextdict)
+        for spirv in self.reg.findall('spirvcapabilities/spirvcapability'):
+            spirvInfo = SpirvInfo(spirv)
+            self.addElementInfo(spirv, spirvInfo, 'spirvcapability', self.spirvcapdict)
+
     def dumpReg(self, maxlen=120, filehandle=sys.stdout):
         """Dump all the dictionaries constructed from the Registry object.
 
@@ -623,6 +644,13 @@
         for key in self.extdict:
             write('    Extension', key, '->',
                   etree.tostring(self.extdict[key].elem)[0:maxlen], file=filehandle)
+        write('// SPIR-V', file=filehandle)
+        for key in self.spirvextdict:
+            write('    SPIR-V Extension', key, '->',
+                  etree.tostring(self.spirvextdict[key].elem)[0:maxlen], file=filehandle)
+        for key in self.spirvcapdict:
+            write('    SPIR-V Capability', key, '->',
+                  etree.tostring(self.spirvcapdict[key].elem)[0:maxlen], file=filehandle)
 
     def markTypeRequired(self, typename, required):
         """Require (along with its dependencies) or remove (but not its dependencies) a type.
@@ -1126,6 +1154,19 @@
             for c in features.findall('command'):
                 self.generateFeature(c.get('name'), 'command', self.cmddict)
 
+    def generateSpirv(self, spirv, dictionary):
+        if spirv is None:
+            self.gen.logMsg('diag', 'No entry found for element', name,
+                            'returning!')
+            return
+
+        name = spirv.elem.get('name')
+        # No known alias for spirv elements
+        alias = None
+        if spirv.emit:
+            genProc = self.gen.genSpirv
+            genProc(spirv, name, alias)
+
     def apiGen(self):
         """Generate interface for specified versions using the current
         generator and generator options"""
@@ -1145,6 +1186,7 @@
         regAddExtensions = re.compile(self.genOpts.addExtensions)
         regRemoveExtensions = re.compile(self.genOpts.removeExtensions)
         regEmitExtensions = re.compile(self.genOpts.emitExtensions)
+        regEmitSpirv = re.compile(self.genOpts.emitSpirv)
 
         # Get all matching API feature names & add to list of FeatureInfo
         # Note we used to select on feature version attributes, not names.
@@ -1202,10 +1244,16 @@
             # the regexp specified in the generator options. This allows
             # forcing extensions into an interface even if they're not
             # tagged appropriately in the registry.
+            # However we still respect the 'supported' attribute.
             if regAddExtensions.match(extName) is not None:
-                self.gen.logMsg('diag', 'Including extension',
-                                extName, '(matches explicitly requested extensions to add)')
-                include = True
+                if not apiNameMatch(self.genOpts.apiname, ei.elem.get('supported')):
+                    self.gen.logMsg('diag', 'NOT including extension',
+                                    extName, '(matches explicitly requested, but does not match the \'supported\' attribute)')
+                    include = False
+                else:
+                    self.gen.logMsg('diag', 'Including extension',
+                                    extName, '(matches explicitly requested extensions to add)')
+                    include = True
             # Remove extensions if the name matches the regexp specified
             # in generator options. This allows forcing removal of
             # extensions from an interface even if they're tagged that
@@ -1233,6 +1281,20 @@
                 self.gen.logMsg('diag', 'NOT including extension',
                                 extName, '(does not match api attribute or explicitly requested extensions)')
 
+        # Add all spirv elements to list
+        # generators decide to emit them all or not
+        # Currently no filtering as no client of these elements needs filtering
+        spirvexts = []
+        for key in self.spirvextdict:
+            si = self.spirvextdict[key]
+            si.emit = (regEmitSpirv.match(key) is not None)
+            spirvexts.append(si)
+        spirvcaps = []
+        for key in self.spirvcapdict:
+            si = self.spirvcapdict[key]
+            si.emit = (regEmitSpirv.match(key) is not None)
+            spirvcaps.append(si)
+
         # Sort the features list, if a sort procedure is defined
         if self.genOpts.sortProcedure:
             self.genOpts.sortProcedure(features)
@@ -1271,6 +1333,11 @@
             self.gen.beginFeature(f.elem, emit)
             self.generateRequiredInterface(f.elem)
             self.gen.endFeature()
+        # Generate spirv elements
+        for s in spirvexts:
+            self.generateSpirv(s, self.spirvextdict)
+        for s in spirvcaps:
+            self.generateSpirv(s, self.spirvcapdict)
         self.gen.endFile()
 
     def apiReset(self):
diff --git a/registry/spec_tools/util.py b/registry/spec_tools/util.py
index ce11fd7..b890679 100644
--- a/registry/spec_tools/util.py
+++ b/registry/spec_tools/util.py
@@ -1,6 +1,6 @@
 """Utility functions not closely tied to other spec_tools types."""
-# Copyright (c) 2018-2019 Collabora, Ltd.
-# Copyright (c) 2013-2020 The Khronos Group Inc.
+# Copyright 2018-2019 Collabora, Ltd.
+# Copyright 2013-2021 The Khronos Group Inc.
 #
 # SPDX-License-Identifier: Apache-2.0
 
diff --git a/registry/validusage.json b/registry/validusage.json
index 9aeee18..9090a35 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
 {
   "version info": {
     "schema version": 2,
-    "api version": "1.2.148",
-    "comment": "from git branch: github-master commit: 3c1ca55f2e0b4b9423cf9c0b30400b1a4d61c5d1",
-    "date": "2020-07-20 07:12:48Z"
+    "api version": "1.2.174",
+    "comment": "from git branch: github-main commit: 3fefdc503242ce529330c51a869ed99a069a3010",
+    "date": "2021-03-29 07:16:58Z"
   },
   "validation": {
     "vkGetInstanceProcAddr": {
@@ -70,7 +70,7 @@
         },
         {
           "vuid": "VUID-VkInstanceCreateInfo-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique, with the exception of structures of type <a href=\"#VkDebugUtilsMessengerCreateInfoEXT\">VkDebugUtilsMessengerCreateInfoEXT</a>"
         },
         {
           "vuid": "VUID-VkInstanceCreateInfo-flags-zerobitmask",
@@ -226,7 +226,7 @@
         },
         {
           "vuid": "VUID-VkPhysicalDeviceProperties2-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockPropertiesEXT\">VkPhysicalDeviceInlineUniformBlockPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlPropertiesEXT\">VkPhysicalDeviceSubgroupSizeControlPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT\">VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockPropertiesEXT\">VkPhysicalDeviceInlineUniformBlockPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlPropertiesEXT\">VkPhysicalDeviceSubgroupSizeControlPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT\">VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>"
         },
         {
           "vuid": "VUID-VkPhysicalDeviceProperties2-sType-unique",
@@ -314,7 +314,7 @@
         },
         {
           "vuid": "VUID-VkQueueFamilyProperties2-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkQueueFamilyCheckpointPropertiesNV\">VkQueueFamilyCheckpointPropertiesNV</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkQueueFamilyCheckpointProperties2NV\">VkQueueFamilyCheckpointProperties2NV</a> or <a href=\"#VkQueueFamilyCheckpointPropertiesNV\">VkQueueFamilyCheckpointPropertiesNV</a>"
         },
         {
           "vuid": "VUID-VkQueueFamilyProperties2-sType-unique",
@@ -322,6 +322,14 @@
         }
       ]
     },
+    "VkQueueFamilyCheckpointProperties2NV": {
+      "(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)+(VK_NV_device_diagnostic_checkpoints)+(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkQueueFamilyCheckpointProperties2NV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV</code>"
+        }
+      ]
+    },
     "VkQueueFamilyCheckpointPropertiesNV": {
       "(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)+(VK_NV_device_diagnostic_checkpoints)": [
         {
@@ -463,6 +471,12 @@
           "text": " <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> not contain both <code><a href=\"#VK_KHR_buffer_device_address\">VK_KHR_buffer_device_address</a></code> and <code><a href=\"#VK_EXT_buffer_device_address\">VK_EXT_buffer_device_address</a></code>"
         }
       ],
+      "(VK_VERSION_1_2)+(VK_EXT_buffer_device_address)": [
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-pNext-04748",
+          "text": " if the <code>pNext</code> chain includes a <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a> structure and <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>::<code>bufferDeviceAddress</code> is VK_TRUE, <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> not contain <code><a href=\"#VK_EXT_buffer_device_address\">VK_EXT_buffer_device_address</a></code>"
+        }
+      ],
       "(VK_VERSION_1_2)": [
         {
           "vuid": "VUID-VkDeviceCreateInfo-pNext-02829",
@@ -473,6 +487,12 @@
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a> structure, then it <strong class=\"purple\">must</strong> not include a <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, or <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a> structure"
         }
       ],
+      "(VK_VERSION_1_2)+(VK_KHR_shader_draw_parameters)": [
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-ppEnabledExtensions-04476",
+          "text": " If <code>ppEnabledExtensions</code> contains <code>\"VK_KHR_shader_draw_parameters\"</code> and the <code>pNext</code> chain includes a <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a> structure, then <code>VkPhysicalDeviceVulkan11Features</code>::<code>shaderDrawParameters</code> <strong class=\"purple\">must</strong> be <code>VK_TRUE</code>"
+        }
+      ],
       "(VK_VERSION_1_2)+(VK_KHR_draw_indirect_count)": [
         {
           "vuid": "VUID-VkDeviceCreateInfo-ppEnabledExtensions-02831",
@@ -503,6 +523,40 @@
           "text": " If <code>ppEnabledExtensions</code> contains <code>\"VK_EXT_shader_viewport_index_layer\"</code> and the <code>pNext</code> chain includes a <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a> structure, then <code>VkPhysicalDeviceVulkan12Features</code>::<code>shaderOutputViewportIndex</code> and <code>VkPhysicalDeviceVulkan12Features</code>::<code>shaderOutputLayer</code> <strong class=\"purple\">must</strong> both be <code>VK_TRUE</code>"
         }
       ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-pProperties-04451",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is included in <code>pProperties</code> of <a href=\"#vkEnumerateDeviceExtensionProperties\">vkEnumerateDeviceExtensionProperties</a>, <code>ppEnabledExtensions</code> <strong class=\"purple\">must</strong> include \"VK_KHR_portability_subset\"."
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-shadingRateImage-04478",
+          "text": " If <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> is enabled, <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> not be enabled"
+        },
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-shadingRateImage-04479",
+          "text": " If <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> is enabled, <a href=\"#features-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> not be enabled"
+        },
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-shadingRateImage-04480",
+          "text": " If <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> is enabled, <a href=\"#features-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> not be enabled"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate,VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-fragmentDensityMap-04481",
+          "text": " If <a href=\"#features-fragmentDensityMap\"><code>fragmentDensityMap</code></a> is enabled, <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> not be enabled"
+        },
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-fragmentDensityMap-04482",
+          "text": " If <a href=\"#features-fragmentDensityMap\"><code>fragmentDensityMap</code></a> is enabled, <a href=\"#features-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> not be enabled"
+        },
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-fragmentDensityMap-04483",
+          "text": " If <a href=\"#features-fragmentDensityMap\"><code>fragmentDensityMap</code></a> is enabled, <a href=\"#features-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> not be enabled"
+        }
+      ],
       "core": [
         {
           "vuid": "VUID-VkDeviceCreateInfo-sType-sType",
@@ -510,11 +564,11 @@
         },
         {
           "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeaturesEXT\">VkPhysicalDeviceInlineUniformBlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT\">VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrivateDataFeaturesEXT\">VkPhysicalDevicePrivateDataFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceRayTracingFeaturesKHR\">VkPhysicalDeviceRayTracingFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, or <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeaturesEXT\">VkPhysicalDeviceInlineUniformBlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT\">VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrivateDataFeaturesEXT\">VkPhysicalDevicePrivateDataFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR</a>"
         },
         {
           "vuid": "VUID-VkDeviceCreateInfo-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique, with the exception of structures of type <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>"
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique, with the exception of structures of type <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a> or <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>"
         },
         {
           "vuid": "VUID-VkDeviceCreateInfo-flags-zerobitmask",
@@ -590,6 +644,38 @@
         }
       ]
     },
+    "VkDeviceDeviceMemoryReportCreateInfoEXT": {
+      "(VK_EXT_device_memory_report)": [
+        {
+          "vuid": "VUID-VkDeviceDeviceMemoryReportCreateInfoEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkDeviceDeviceMemoryReportCreateInfoEXT-flags-zerobitmask",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkDeviceDeviceMemoryReportCreateInfoEXT-pfnUserCallback-parameter",
+          "text": " <code>pfnUserCallback</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#PFN_vkDeviceMemoryReportCallbackEXT\">PFN_vkDeviceMemoryReportCallbackEXT</a> value"
+        },
+        {
+          "vuid": "VUID-VkDeviceDeviceMemoryReportCreateInfoEXT-pUserData-parameter",
+          "text": " <code>pUserData</code> <strong class=\"purple\">must</strong> be a pointer value"
+        }
+      ]
+    },
+    "VkDeviceMemoryReportCallbackDataEXT": {
+      "(VK_EXT_device_memory_report)": [
+        {
+          "vuid": "VUID-VkDeviceMemoryReportCallbackDataEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkDeviceMemoryReportCallbackDataEXT-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
     "VkDevicePrivateDataCreateInfoEXT": {
       "(VK_EXT_private_data)": [
         {
@@ -889,10 +975,6 @@
     "VkCommandBufferAllocateInfo": {
       "core": [
         {
-          "vuid": "VUID-VkCommandBufferAllocateInfo-commandBufferCount-00044",
-          "text": " <code>commandBufferCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
           "vuid": "VUID-VkCommandBufferAllocateInfo-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO</code>"
         },
@@ -1128,6 +1210,252 @@
         }
       ]
     },
+    "vkQueueSubmit2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-synchronization2-03866",
+          "text": " The <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03867",
+          "text": " If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> referenced an <a href=\"#VkEvent\">VkEvent</a>, that event <strong class=\"purple\">must</strong> not be referenced by a command that has been submitted to another queue and is still in the <em>pending state</em>"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-semaphore-03868",
+          "text": " The <code>semaphore</code> member of any element of the <code>pSignalSemaphoreInfos</code> member of any element of <code>pSubmits</code> <strong class=\"purple\">must</strong> be unsignaled when the semaphore signal operation it defines is executed on the device"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-stageMask-03869",
+          "text": " The <code>stageMask</code> member of any element of the <code>pSignalSemaphoreInfos</code> member of any element of <code>pSubmits</code> <strong class=\"purple\">must</strong> only include pipeline stages that are supported by the queue family which <code>queue</code> belongs to"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-stageMask-03870",
+          "text": " The <code>stageMask</code> member of any element of the <code>pWaitSemaphoreInfos</code> member of any element of <code>pSubmits</code> <strong class=\"purple\">must</strong> only include pipeline stages that are supported by the queue family which <code>queue</code> belongs to"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-semaphore-03871",
+          "text": " When a semaphore wait operation for a binary semaphore is executed, as defined by the <code>semaphore</code> member of any element of the <code>pWaitSemaphoreInfos</code> member of any element of <code>pSubmits</code>, there <strong class=\"purple\">must</strong> be no other queues waiting on the same semaphore"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-semaphore-03872",
+          "text": " The <code>semaphore</code> member of any element of the <code>pWaitSemaphoreInfos</code> member of any element of <code>pSubmits</code> <strong class=\"purple\">must</strong> be semaphores that are signaled, or have <a href=\"#synchronization-semaphores-signaling\">semaphore signal operations</a> previously submitted for execution"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03874",
+          "text": " The <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">pending or executable state</a>"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03875",
+          "text": " If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> was not recorded with the <code>VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT</code>, it <strong class=\"purple\">must</strong> not be in the <a href=\"#commandbuffers-lifecycle\">pending state</a>"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03876",
+          "text": " Any <a href=\"#commandbuffers-secondary\">secondary command buffers recorded</a> into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">pending or executable state</a>"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03877",
+          "text": " If any <a href=\"#commandbuffers-secondary\">secondary command buffers recorded</a> into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> was not recorded with the <code>VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT</code>, it <strong class=\"purple\">must</strong> not be in the <a href=\"#commandbuffers-lifecycle\">pending state</a>"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03878",
+          "text": " The <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> <strong class=\"purple\">must</strong> have been allocated from a <code>VkCommandPool</code> that was created for the same queue family <code>queue</code> belongs to"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03879",
+          "text": " If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Transfer Acquire Operation</a>, there <strong class=\"purple\">must</strong> exist a previously submitted <a href=\"#synchronization-queue-transfers-release\">Queue Family Transfer Release Operation</a> on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such <a href=\"#synchronization-queue-transfers-acquire\">acquire operations</a>, and which happens before the acquire operation"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-queue-parameter",
+          "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueue\">VkQueue</a> handle"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-pSubmits-parameter",
+          "text": " If <code>submitCount</code> is not <code>0</code>, <code>pSubmits</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>submitCount</code> valid <a href=\"#VkSubmitInfo2KHR\">VkSubmitInfo2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-fence-parameter",
+          "text": " If <code>fence</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>fence</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFence\">VkFence</a> handle"
+        },
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commonparent",
+          "text": " Both of <code>fence</code>, and <code>queue</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_timeline_semaphore)": [
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-semaphore-03873",
+          "text": " Any <code>semaphore</code> member of any element of the <code>pWaitSemaphoreInfos</code> member of any element of <code>pSubmits</code> that was created with a <a href=\"#VkSemaphoreTypeKHR\">VkSemaphoreTypeKHR</a> of <code>VK_SEMAPHORE_TYPE_BINARY_KHR</code> <strong class=\"purple\">must</strong> reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends (if any) <strong class=\"purple\">must</strong> have also been submitted for execution"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_performance_query)": [
+        {
+          "vuid": "VUID-vkQueueSubmit2KHR-commandBuffer-03880",
+          "text": " If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> was a <a href=\"#vkCmdBeginQuery\">vkCmdBeginQuery</a> whose <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, the <a href=\"#profiling-lock\">profiling lock</a> <strong class=\"purple\">must</strong> have been held continuously on the <code>VkDevice</code> that <code>queue</code> was retrieved from, throughout recording of those command buffers"
+        }
+      ]
+    },
+    "VkSubmitInfo2KHR": {
+      "(VK_KHR_synchronization2)+(VK_KHR_timeline_semaphore)": [
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-semaphore-03881",
+          "text": " If the same semaphore is used as the <code>semaphore</code> member of both an element of <code>pSignalSemaphoreInfos</code> and <code>pWaitSemaphoreInfos</code>, and that semaphore is a timeline semaphore, the <code>value</code> member of the <code>pSignalSemaphoreInfos</code> element <strong class=\"purple\">must</strong> be greater than the <code>value</code> member of the <code>pWaitSemaphoreInfos</code> element"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-semaphore-03882",
+          "text": " If the <code>semaphore</code> member of any element of <code>pSignalSemaphoreInfos</code> is a timeline semaphore, the <code>value</code> member of that element <strong class=\"purple\">must</strong> have a value greater than the current value of the semaphore when the <a href=\"#synchronization-semaphores-signaling\">semaphore signal operation</a> is executed"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-semaphore-03883",
+          "text": " If the <code>semaphore</code> member of any element of <code>pSignalSemaphoreInfos</code> is a timeline semaphore, the <code>value</code> member of that element <strong class=\"purple\">must</strong> have a value which does not differ from the current value of the semaphore or the value of any outstanding semaphore wait or signal operation on that semaphore by more than <a href=\"#limits-maxTimelineSemaphoreValueDifference\"><code>maxTimelineSemaphoreValueDifference</code></a>"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-semaphore-03884",
+          "text": " If the <code>semaphore</code> member of any element of <code>pWaitSemaphoreInfos</code> is a timeline semaphore, the <code>value</code> member of that element <strong class=\"purple\">must</strong> have a value which does not differ from the current value of the semaphore or the value of any outstanding semaphore wait or signal operation on that semaphore by more than <a href=\"#limits-maxTimelineSemaphoreValueDifference\"><code>maxTimelineSemaphoreValueDifference</code></a>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-flags-03885",
+          "text": " If the protected memory feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_SUBMIT_PROTECTED_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-flags-03886",
+          "text": " If <code>flags</code> includes <code>VK_SUBMIT_PROTECTED_BIT_KHR</code>, all elements of <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> be protected command buffers"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-flags-03887",
+          "text": " If <code>flags</code> does not include <code>VK_SUBMIT_PROTECTED_BIT_KHR</code>, each element of <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-pNext-pNext",
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPerformanceQuerySubmitInfoKHR\">VkPerformanceQuerySubmitInfoKHR</a>, <a href=\"#VkWin32KeyedMutexAcquireReleaseInfoKHR\">VkWin32KeyedMutexAcquireReleaseInfoKHR</a>, or <a href=\"#VkWin32KeyedMutexAcquireReleaseInfoNV\">VkWin32KeyedMutexAcquireReleaseInfoNV</a>"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkSubmitFlagBitsKHR\">VkSubmitFlagBitsKHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-pWaitSemaphoreInfos-parameter",
+          "text": " If <code>waitSemaphoreInfoCount</code> is not <code>0</code>, <code>pWaitSemaphoreInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>waitSemaphoreInfoCount</code> valid <a href=\"#VkSemaphoreSubmitInfoKHR\">VkSemaphoreSubmitInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-pCommandBufferInfos-parameter",
+          "text": " If <code>commandBufferInfoCount</code> is not <code>0</code>, <code>pCommandBufferInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>commandBufferInfoCount</code> valid <a href=\"#VkCommandBufferSubmitInfoKHR\">VkCommandBufferSubmitInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo2KHR-pSignalSemaphoreInfos-parameter",
+          "text": " If <code>signalSemaphoreInfoCount</code> is not <code>0</code>, <code>pSignalSemaphoreInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>signalSemaphoreInfoCount</code> valid <a href=\"#VkSemaphoreSubmitInfoKHR\">VkSemaphoreSubmitInfoKHR</a> structures"
+        }
+      ]
+    },
+    "VkSemaphoreSubmitInfoKHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-device-03888",
+          "text": " If the <code>device</code> that <code>semaphore</code> was created on is not a device group, <code>deviceIndex</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-semaphore-parameter",
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphore\">VkSemaphore</a> handle"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-parameter",
+          "text": " <code>stageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-stageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_device_group_creation,VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkSemaphoreSubmitInfoKHR-device-03889",
+          "text": " If the <code>device</code> that <code>semaphore</code> was created on is a device group, <code>deviceIndex</code> <strong class=\"purple\">must</strong> be a valid device index"
+        }
+      ]
+    },
+    "VkCommandBufferSubmitInfoKHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkCommandBufferSubmitInfoKHR-commandBuffer-03890",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not have been allocated with <code>VK_COMMAND_BUFFER_LEVEL_SECONDARY</code>"
+        },
+        {
+          "vuid": "VUID-VkCommandBufferSubmitInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCommandBufferSubmitInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCommandBufferSubmitInfoKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_device_group_creation,VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkCommandBufferSubmitInfoKHR-deviceMask-03891",
+          "text": " If <code>deviceMask</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be a valid device mask"
+        }
+      ]
+    },
     "vkQueueSubmit": {
       "core": [
         {
@@ -1183,6 +1511,10 @@
           "text": " Any resource created with <code>VK_SHARING_MODE_EXCLUSIVE</code> that is read by an operation specified by <code>pSubmits</code> <strong class=\"purple\">must</strong> not be owned by any queue family other than the one which <code>queue</code> belongs to, at the time it is executed"
         },
         {
+          "vuid": "VUID-vkQueueSubmit-pSubmits-04626",
+          "text": " Any resource created with <code>VK_SHARING_MODE_CONCURRENT</code> that is accessed by an operation specified by <code>pSubmits</code> <strong class=\"purple\">must</strong> have included the queue family of <code>queue</code> at resource creation time"
+        },
+        {
           "vuid": "VUID-vkQueueSubmit-queue-parameter",
           "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueue\">VkQueue</a> handle"
         },
@@ -1312,7 +1644,11 @@
       "(VK_VERSION_1_1)": [
         {
           "vuid": "VUID-VkSubmitInfo-pNext-04120",
-          "text": " If the <code>pNext</code> chain of this structure does not include a <code>VkProtectedSubmitInfo</code> structure with <code>protectedSubmit</code> set to <code>VK_TRUE</code>, then each element of the command buffer of the <code>pCommandBuffers</code> array <strong class=\"purple\">must</strong> be an unprotected command buffer"
+          "text": " If the <code>pNext</code> chain of this structure does not include a <code>VkProtectedSubmitInfo</code> structure with <code>protectedSubmit</code> set to <code>VK_TRUE</code>, then each element of the <code>pCommandBuffers</code> array <strong class=\"purple\">must</strong> be an unprotected command buffer"
+        },
+        {
+          "vuid": "VUID-VkSubmitInfo-pNext-04148",
+          "text": " If the <code>pNext</code> chain of this structure includes a <code>VkProtectedSubmitInfo</code> structure with <code>protectedSubmit</code> set to <code>VK_TRUE</code>, then each element of the <code>pCommandBuffers</code> array <strong class=\"purple\">must</strong> be a protected command buffer"
         }
       ]
     },
@@ -1431,10 +1767,6 @@
           "text": " If the protected memory feature is not enabled, <code>protectedSubmit</code> <strong class=\"purple\">must</strong> not be <code>VK_TRUE</code>"
         },
         {
-          "vuid": "VUID-VkProtectedSubmitInfo-protectedSubmit-01817",
-          "text": " If <code>protectedSubmit</code> is <code>VK_TRUE</code>, then each element of the <code>pCommandBuffers</code> array <strong class=\"purple\">must</strong> be a protected command buffer"
-        },
-        {
           "vuid": "VUID-VkProtectedSubmitInfo-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO</code>"
         }
@@ -2025,6 +2357,10 @@
     "vkImportFenceWin32HandleKHR": {
       "(VK_KHR_external_fence_win32)": [
         {
+          "vuid": "VUID-vkImportFenceWin32HandleKHR-fence-04448",
+          "text": " <code>fence</code> <strong class=\"purple\">must</strong> not be associated with any queue command that has not yet completed execution on that queue"
+        },
+        {
           "vuid": "VUID-vkImportFenceWin32HandleKHR-device-parameter",
           "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
         },
@@ -2046,11 +2382,11 @@
         },
         {
           "vuid": "VUID-VkImportFenceWin32HandleInfoKHR-handleType-01460",
-          "text": " If <code>handleType</code> is not <code>0</code> and <code>handle</code> is <code>NULL</code>, <code>name</code> <strong class=\"purple\">must</strong> name a valid synchronization primitive of the type specified by <code>handleType</code>"
+          "text": " If <code>handle</code> is <code>NULL</code>, <code>name</code> <strong class=\"purple\">must</strong> name a valid synchronization primitive of the type specified by <code>handleType</code>"
         },
         {
           "vuid": "VUID-VkImportFenceWin32HandleInfoKHR-handleType-01461",
-          "text": " If <code>handleType</code> is not <code>0</code> and <code>name</code> is <code>NULL</code>, <code>handle</code> <strong class=\"purple\">must</strong> be a valid handle of the type specified by <code>handleType</code>"
+          "text": " If <code>name</code> is <code>NULL</code>, <code>handle</code> <strong class=\"purple\">must</strong> be a valid handle of the type specified by <code>handleType</code>"
         },
         {
           "vuid": "VUID-VkImportFenceWin32HandleInfoKHR-handle-01462",
@@ -2079,10 +2415,6 @@
         {
           "vuid": "VUID-VkImportFenceWin32HandleInfoKHR-flags-parameter",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkFenceImportFlagBits\">VkFenceImportFlagBits</a> values"
-        },
-        {
-          "vuid": "VUID-VkImportFenceWin32HandleInfoKHR-handleType-parameter",
-          "text": " If <code>handleType</code> is not <code>0</code>, <code>handleType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkExternalFenceHandleTypeFlagBits\">VkExternalFenceHandleTypeFlagBits</a> value"
         }
       ]
     },
@@ -2352,6 +2684,66 @@
         }
       ]
     },
+    "vkGetSemaphoreZirconHandleFUCHSIA": {
+      "(VK_FUCHSIA_external_semaphore)": [
+        {
+          "vuid": "VUID-vkGetSemaphoreZirconHandleFUCHSIA-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetSemaphoreZirconHandleFUCHSIA-pGetZirconHandleInfo-parameter",
+          "text": " <code>pGetZirconHandleInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSemaphoreGetZirconHandleInfoFUCHSIA\">VkSemaphoreGetZirconHandleInfoFUCHSIA</a> structure"
+        },
+        {
+          "vuid": "VUID-vkGetSemaphoreZirconHandleFUCHSIA-pZirconHandle-parameter",
+          "text": " <code>pZirconHandle</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>zx_handle_t</code> value"
+        }
+      ]
+    },
+    "VkSemaphoreGetZirconHandleInfoFUCHSIA": {
+      "(VK_FUCHSIA_external_semaphore)": [
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04758",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> have been included in <a href=\"#VkExportSemaphoreCreateInfo\">VkExportSemaphoreCreateInfo</a>::<code>handleTypes</code> when <code>semaphore</code>&#8217;s current payload was created."
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04759",
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> not currently have its payload replaced by an imported payload as described below in <a href=\"#synchronization-semaphores-importing\">Importing Semaphore Payloads</a> unless that imported payload&#8217;s handle type was included in <a href=\"#VkExternalSemaphoreProperties\">VkExternalSemaphoreProperties</a>::<code>exportFromImportedHandleTypes</code> for <code>handleType</code>."
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04760",
+          "text": " If <code>handleType</code> refers to a handle type with copy payload transference semantics, as defined below in <a href=\"#synchronization-semaphores-importing\">Importing Semaphore Payloads</a>, there <strong class=\"purple\">must</strong> be no queue waiting on <code>semaphore</code>."
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04761",
+          "text": " If <code>handleType</code> refers to a handle type with copy payload transference semantics, <code>semaphore</code> <strong class=\"purple\">must</strong> be signaled, or have an associated <a href=\"#synchronization-semaphores-signaling\">semaphore signal operation</a> pending execution."
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04762",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be defined as a Zircon event handle."
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04763",
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkSemaphoreType\">VkSemaphoreType</a> of <code>VK_SEMAPHORE_TYPE_BINARY</code>."
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-parameter",
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphore\">VkSemaphore</a> handle"
+        },
+        {
+          "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-parameter",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkExternalSemaphoreHandleTypeFlagBits\">VkExternalSemaphoreHandleTypeFlagBits</a> value"
+        }
+      ]
+    },
     "vkDestroySemaphore": {
       "core": [
         {
@@ -2520,11 +2912,11 @@
         },
         {
           "vuid": "VUID-VkImportSemaphoreWin32HandleInfoKHR-handleType-01467",
-          "text": " If <code>handleType</code> is not <code>0</code> and <code>handle</code> is <code>NULL</code>, <code>name</code> <strong class=\"purple\">must</strong> name a valid synchronization primitive of the type specified by <code>handleType</code>"
+          "text": " If <code>handle</code> is <code>NULL</code>, <code>name</code> <strong class=\"purple\">must</strong> name a valid synchronization primitive of the type specified by <code>handleType</code>"
         },
         {
           "vuid": "VUID-VkImportSemaphoreWin32HandleInfoKHR-handleType-01468",
-          "text": " If <code>handleType</code> is not <code>0</code> and <code>name</code> is <code>NULL</code>, <code>handle</code> <strong class=\"purple\">must</strong> be a valid handle of the type specified by <code>handleType</code>"
+          "text": " If <code>name</code> is <code>NULL</code>, <code>handle</code> <strong class=\"purple\">must</strong> be a valid handle of the type specified by <code>handleType</code>"
         },
         {
           "vuid": "VUID-VkImportSemaphoreWin32HandleInfoKHR-handle-01469",
@@ -2557,10 +2949,6 @@
         {
           "vuid": "VUID-VkImportSemaphoreWin32HandleInfoKHR-flags-parameter",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkSemaphoreImportFlagBits\">VkSemaphoreImportFlagBits</a> values"
-        },
-        {
-          "vuid": "VUID-VkImportSemaphoreWin32HandleInfoKHR-handleType-parameter",
-          "text": " If <code>handleType</code> is not <code>0</code>, <code>handleType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkExternalSemaphoreHandleTypeFlagBits\">VkExternalSemaphoreHandleTypeFlagBits</a> value"
         }
       ],
       "(VK_KHR_external_semaphore_win32)+(VK_VERSION_1_2,VK_KHR_timeline_semaphore)": [
@@ -2636,7 +3024,71 @@
         }
       ]
     },
+    "vkImportSemaphoreZirconHandleFUCHSIA": {
+      "(VK_FUCHSIA_external_semaphore)": [
+        {
+          "vuid": "VUID-vkImportSemaphoreZirconHandleFUCHSIA-semaphore-04764",
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> not be associated with any queue command that has not yet completed execution on that queue."
+        },
+        {
+          "vuid": "VUID-vkImportSemaphoreZirconHandleFUCHSIA-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkImportSemaphoreZirconHandleFUCHSIA-pImportSemaphoreZirconHandleInfo-parameter",
+          "text": " <code>pImportSemaphoreZirconHandleInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImportSemaphoreZirconHandleInfoFUCHSIA\">VkImportSemaphoreZirconHandleInfoFUCHSIA</a> structure"
+        }
+      ]
+    },
+    "VkImportSemaphoreZirconHandleInfoFUCHSIA": {
+      "(VK_FUCHSIA_external_semaphore)": [
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-04765",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a value included in the <a href=\"#synchronization-semaphore-handletypes-zircon-handle\">Handle Types Supported by <code>VkImportSemaphoreZirconHandleInfoFUCHSIA</code></a> table."
+        },
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04766",
+          "text": " <code>zirconHandle</code> <strong class=\"purple\">must</strong> obey any requirements listed for <code>handleType</code> in <a href=\"#external-semaphore-handle-types-compatibility\">external semaphore handle types compatibility</a>."
+        },
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04767",
+          "text": " <code>zirconHandle</code> <strong class=\"purple\">must</strong> have <code>ZX_RIGHTS_BASIC</code> and <code>ZX_RIGHTS_SIGNAL</code> rights."
+        },
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA</code>"
+        },
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphore-parameter",
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphore\">VkSemaphore</a> handle"
+        },
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkSemaphoreImportFlagBits\">VkSemaphoreImportFlagBits</a> values"
+        },
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-parameter",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkExternalSemaphoreHandleTypeFlagBits\">VkExternalSemaphoreHandleTypeFlagBits</a> value"
+        }
+      ],
+      "(VK_FUCHSIA_external_semaphore)+(VK_VERSION_1_2,VK_KHR_timeline_semaphore)": [
+        {
+          "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphoreType-04768",
+          "text": " The <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>::<code>semaphoreType</code> field <strong class=\"purple\">must</strong> not be <code>VK_SEMAPHORE_TYPE_TIMELINE</code>."
+        }
+      ]
+    },
     "vkCreateEvent": {
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-vkCreateEvent-events-04468",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>events</code> is <code>VK_FALSE</code>, then the implementation does not support <a href=\"#synchronization-events\">events</a>, and <a href=\"#vkCreateEvent\">vkCreateEvent</a> <strong class=\"purple\">must</strong> not be used."
+        }
+      ],
       "core": [
         {
           "vuid": "VUID-vkCreateEvent-device-parameter",
@@ -2667,8 +3119,8 @@
           "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
         },
         {
-          "vuid": "VUID-VkEventCreateInfo-flags-zerobitmask",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+          "vuid": "VUID-VkEventCreateInfo-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkEventCreateFlagBits\">VkEventCreateFlagBits</a> values"
         }
       ]
     },
@@ -2705,6 +3157,12 @@
       ]
     },
     "vkGetEventStatus": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkGetEventStatus-event-03940",
+          "text": " <code>event</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR</code>"
+        }
+      ],
       "core": [
         {
           "vuid": "VUID-vkGetEventStatus-device-parameter",
@@ -2721,6 +3179,12 @@
       ]
     },
     "vkSetEvent": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkSetEvent-event-03941",
+          "text": " <code>event</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR</code>"
+        }
+      ],
       "core": [
         {
           "vuid": "VUID-vkSetEvent-device-parameter",
@@ -2739,8 +3203,8 @@
     "vkResetEvent": {
       "core": [
         {
-          "vuid": "VUID-vkResetEvent-event-01148",
-          "text": " <code>event</code> <strong class=\"purple\">must</strong> not be waited on by a <code>vkCmdWaitEvents</code> command that is currently executing"
+          "vuid": "VUID-vkResetEvent-event-03821",
+          "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents\">vkCmdWaitEvents</a> that includes <code>event</code> in its <code>pEvents</code> parameter"
         },
         {
           "vuid": "VUID-vkResetEvent-device-parameter",
@@ -2754,6 +3218,98 @@
           "vuid": "VUID-vkResetEvent-event-parent",
           "text": " <code>event</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
         }
+      ],
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkResetEvent-event-03822",
+          "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents2KHR\">vkCmdWaitEvents2KHR</a> that includes <code>event</code> in its <code>pEvents</code> parameter"
+        },
+        {
+          "vuid": "VUID-vkResetEvent-event-03823",
+          "text": " <code>event</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR</code>"
+        }
+      ]
+    },
+    "vkCmdSetEvent2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-synchronization2-03824",
+          "text": " The <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-dependencyFlags-03825",
+          "text": " The <code>dependencyFlags</code> member of <code>dependencyInfo</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-srcStageMask-03827",
+          "text": " The <code>srcStageMask</code> member of any element of the <code>pMemoryBarriers</code>, <code>pBufferMemoryBarriers</code>, or <code>pImageMemoryBarriers</code> members of <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> only include pipeline stages valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-dstStageMask-03828",
+          "text": " The <code>dstStageMask</code> member of any element of the <code>pMemoryBarriers</code>, <code>pBufferMemoryBarriers</code>, or <code>pImageMemoryBarriers</code> members of <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> only include pipeline stages valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-event-parameter",
+          "text": " <code>event</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkEvent\">VkEvent</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-pDependencyInfo-parameter",
+          "text": " <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDependencyInfoKHR\">VkDependencyInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-commonparent",
+          "text": " Both of <code>commandBuffer</code>, and <code>event</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
+        {
+          "vuid": "VUID-vkCmdSetEvent2KHR-commandBuffer-03826",
+          "text": " The current device mask of <code>commandBuffer</code> <strong class=\"purple\">must</strong> include exactly one physical device."
+        }
+      ]
+    },
+    "VkDependencyInfoKHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkDependencyInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkDependencyInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkDependencyInfoKHR-dependencyFlags-parameter",
+          "text": " <code>dependencyFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkDependencyFlagBits\">VkDependencyFlagBits</a> values"
+        },
+        {
+          "vuid": "VUID-VkDependencyInfoKHR-pMemoryBarriers-parameter",
+          "text": " If <code>memoryBarrierCount</code> is not <code>0</code>, <code>pMemoryBarriers</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>memoryBarrierCount</code> valid <a href=\"#VkMemoryBarrier2KHR\">VkMemoryBarrier2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkDependencyInfoKHR-pBufferMemoryBarriers-parameter",
+          "text": " If <code>bufferMemoryBarrierCount</code> is not <code>0</code>, <code>pBufferMemoryBarriers</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>bufferMemoryBarrierCount</code> valid <a href=\"#VkBufferMemoryBarrier2KHR\">VkBufferMemoryBarrier2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkDependencyInfoKHR-pImageMemoryBarriers-parameter",
+          "text": " If <code>imageMemoryBarrierCount</code> is not <code>0</code>, <code>pImageMemoryBarriers</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>imageMemoryBarrierCount</code> valid <a href=\"#VkImageMemoryBarrier2KHR\">VkImageMemoryBarrier2KHR</a> structures"
+        }
       ]
     },
     "vkCmdSetEvent": {
@@ -2841,6 +3397,12 @@
           "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>"
         }
       ],
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdSetEvent-stageMask-03937",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not be <code>0</code>"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
           "vuid": "VUID-vkCmdSetEvent-commandBuffer-01152",
@@ -2848,6 +3410,106 @@
         }
       ]
     },
+    "vkCmdResetEvent2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-synchronization2-03829",
+          "text": " The <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03830",
+          "text": " <code>stageMask</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-event-03831",
+          "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent2KHR</code> and the execution of any <a href=\"#vkCmdWaitEvents\">vkCmdWaitEvents</a> that includes <code>event</code> in its <code>pEvents</code> parameter"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-event-03832",
+          "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent2KHR</code> and the execution of any <a href=\"#vkCmdWaitEvents2KHR\">vkCmdWaitEvents2KHR</a> that includes <code>event</code> in its <code>pEvents</code> parameter"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-event-parameter",
+          "text": " <code>event</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkEvent\">VkEvent</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-parameter",
+          "text": " <code>stageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-requiredbitmask",
+          "text": " <code>stageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-commonparent",
+          "text": " Both of <code>commandBuffer</code>, and <code>event</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-stageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent2KHR-commandBuffer-03833",
+          "text": " <code>commandBuffer</code>&#8217;s current device mask <strong class=\"purple\">must</strong> include exactly one physical device."
+        }
+      ]
+    },
     "vkCmdResetEvent": {
       "core": [
         {
@@ -2867,8 +3529,8 @@
           "text": " <code>stageMask</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_STAGE_HOST_BIT</code>"
         },
         {
-          "vuid": "VUID-vkCmdResetEvent-event-01156",
-          "text": " When this command executes, <code>event</code> <strong class=\"purple\">must</strong> not be waited on by a <code>vkCmdWaitEvents</code> command that is currently executing"
+          "vuid": "VUID-vkCmdResetEvent-event-03834",
+          "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents\">vkCmdWaitEvents</a> that includes <code>event</code> in its <code>pEvents</code> parameter"
         },
         {
           "vuid": "VUID-vkCmdResetEvent-commandBuffer-parameter",
@@ -2937,6 +3599,16 @@
           "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>"
         }
       ],
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdResetEvent-stageMask-03937",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:stageMask <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResetEvent-event-03835",
+          "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents2KHR\">vkCmdWaitEvents2KHR</a> that includes <code>event</code> in its <code>pEvents</code> parameter"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
           "vuid": "VUID-vkCmdResetEvent-commandBuffer-01157",
@@ -2944,6 +3616,82 @@
         }
       ]
     },
+    "vkCmdWaitEvents2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-synchronization2-03836",
+          "text": " The <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pEvents-03837",
+          "text": " Members of <code>pEvents</code> <strong class=\"purple\">must</strong> not have been signaled by <a href=\"#vkCmdSetEvent\">vkCmdSetEvent</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pEvents-03838",
+          "text": " For any element <span class=\"eq\">i</span> of <code>pEvents</code>, if that event is signaled by <a href=\"#vkCmdSetEvent2KHR\">vkCmdSetEvent2KHR</a>, that command&#8217;s <code>dependencyInfo</code> parameter <strong class=\"purple\">must</strong> be exactly equal to the <span class=\"eq\">i</span>th element of <code>pDependencyInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pEvents-03839",
+          "text": " For any element <span class=\"eq\">i</span> of <code>pEvents</code>, if that event is signaled by <a href=\"#vkSetEvent\">vkSetEvent</a>, barriers in the <span class=\"eq\">i</span>th element of <code>pDependencyInfos</code> <strong class=\"purple\">must</strong> include only host operations in their first <a href=\"#synchronization-dependencies-scopes\">synchronization scope</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pEvents-03840",
+          "text": " For any element <span class=\"eq\">i</span> of <code>pEvents</code>, if barriers in the <span class=\"eq\">i</span>th element of <code>pDependencyInfos</code> include only host operations, the <span class=\"eq\">i</span>th element of <code>pEvents</code> <strong class=\"purple\">must</strong> be signaled before <a href=\"#vkCmdWaitEvents2KHR\">vkCmdWaitEvents2KHR</a> is executed"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pEvents-03841",
+          "text": " For any element <span class=\"eq\">i</span> of <code>pEvents</code>, if barriers in the <span class=\"eq\">i</span>th element of <code>pDependencyInfos</code> do not include host operations, the <span class=\"eq\">i</span>th element of <code>pEvents</code> <strong class=\"purple\">must</strong> be by a corresponding <a href=\"#vkCmdSetEvent2KHR\">vkCmdSetEvent2KHR</a> that occurred earlier in <a href=\"#synchronization-submission-order\">submission order</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-srcStageMask-03842",
+          "text": " The <code>srcStageMask</code> member of any element of the <code>pMemoryBarriers</code>, <code>pBufferMemoryBarriers</code>, or <code>pImageMemoryBarriers</code> members of <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> either include only pipeline stages valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from, or include only <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-dstStageMask-03843",
+          "text": " The <code>dstStageMask</code> member of any element of the <code>pMemoryBarriers</code>, <code>pBufferMemoryBarriers</code>, or <code>pImageMemoryBarriers</code> members of <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> only include pipeline stages valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-dependencyFlags-03844",
+          "text": " The <code>dependencyFlags</code> member of any element of <code>dependencyInfo</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pEvents-03845",
+          "text": " If <code>pEvents</code> includes one or more events that will be signaled by <a href=\"#vkSetEvent\">vkSetEvent</a> after <code>commandBuffer</code> has been submitted to a queue, then <code>vkCmdWaitEvents2KHR</code> <strong class=\"purple\">must</strong> not be called inside a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-commandBuffer-03846",
+          "text": " <code>commandBuffer</code>&#8217;s current device mask <strong class=\"purple\">must</strong> include exactly one physical device"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pEvents-parameter",
+          "text": " <code>pEvents</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>eventCount</code> valid <a href=\"#VkEvent\">VkEvent</a> handles"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-pDependencyInfos-parameter",
+          "text": " <code>pDependencyInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>eventCount</code> valid <a href=\"#VkDependencyInfoKHR\">VkDependencyInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-eventCount-arraylength",
+          "text": " <code>eventCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents2KHR-commonparent",
+          "text": " Both of <code>commandBuffer</code>, and the elements of <code>pEvents</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
     "vkCmdWaitEvents": {
       "core": [
         {
@@ -3019,18 +3767,10 @@
           "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits\">VkPipelineStageFlagBits</a> values"
         },
         {
-          "vuid": "VUID-vkCmdWaitEvents-srcStageMask-requiredbitmask",
-          "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
-        },
-        {
           "vuid": "VUID-vkCmdWaitEvents-dstStageMask-parameter",
           "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits\">VkPipelineStageFlagBits</a> values"
         },
         {
-          "vuid": "VUID-vkCmdWaitEvents-dstStageMask-requiredbitmask",
-          "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
-        },
-        {
           "vuid": "VUID-vkCmdWaitEvents-pMemoryBarriers-parameter",
           "text": " If <code>memoryBarrierCount</code> is not <code>0</code>, <code>pMemoryBarriers</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>memoryBarrierCount</code> valid <a href=\"#VkMemoryBarrier\">VkMemoryBarrier</a> structures"
         },
@@ -3117,6 +3857,20 @@
           "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>"
         }
       ],
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdWaitEvents-srcStageMask-03937",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents-dstStageMask-03937",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWaitEvents-pEvents-03847",
+          "text": " Members of <code>pEvents</code> <strong class=\"purple\">must</strong> not have been signaled by <a href=\"#vkCmdSetEvent2KHR\">vkCmdSetEvent2KHR</a>"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
           "vuid": "VUID-vkCmdWaitEvents-commandBuffer-01167",
@@ -3124,6 +3878,64 @@
         }
       ]
     },
+    "vkCmdPipelineBarrier2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-pDependencies-02285",
+          "text": " If fname:vkCmdPipelineBarrier2KHR is called within a render pass instance, the render pass <strong class=\"purple\">must</strong> have been created with at least one <a href=\"#VkSubpassDependency\">VkSubpassDependency</a> instance in <code>VkRenderPassCreateInfo</code>::<code>pDependencies</code> that expresses a dependency from the current subpass to itself, with <a href=\"#synchronization-dependencies-scopes\">synchronization scopes</a> and <a href=\"#synchronization-dependencies-access-scopes\">access scopes</a> that are all supersets of the scopes defined in this command"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-bufferMemoryBarrierCount-01178",
+          "text": " If fname:vkCmdPipelineBarrier2KHR is called within a render pass instance, it <strong class=\"purple\">must</strong> not include any buffer memory barriers"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-image-04073",
+          "text": " If fname:vkCmdPipelineBarrier2KHR is called within a render pass instance, the <code>image</code> member of any image memory barrier included in this command <strong class=\"purple\">must</strong> be an attachment used in the current subpass both as an input attachment, and as either a color or depth/stencil attachment"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-oldLayout-01181",
+          "text": " If fname:vkCmdPipelineBarrier2KHR is called within a render pass instance, the <code>oldLayout</code> and <code>newLayout</code> members of any image memory barrier included in this command <strong class=\"purple\">must</strong> be equal"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-srcQueueFamilyIndex-01182",
+          "text": " If fname:vkCmdPipelineBarrier2KHR is called within a render pass instance, the <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members of any image memory barrier included in this command <strong class=\"purple\">must</strong> be equal"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-synchronization2-03848",
+          "text": " The <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-srcStageMask-03849",
+          "text": " The <code>srcStageMask</code> member of any element of the <code>pMemoryBarriers</code>, <code>pBufferMemoryBarriers</code>, or <code>pImageMemoryBarriers</code> members of <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> only include pipeline stages valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-dstStageMask-03850",
+          "text": " The <code>dstStageMask</code> member of any element of the <code>pMemoryBarriers</code>, <code>pBufferMemoryBarriers</code>, or <code>pImageMemoryBarriers</code> members of <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> only include pipeline stages valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-pDependencyInfo-parameter",
+          "text": " <code>pDependencyInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDependencyInfoKHR\">VkDependencyInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier2KHR-dependencyFlags-01186",
+          "text": " If fname:vkCmdPipelineBarrier2KHR is called outside of a render pass instance, <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code> <strong class=\"purple\">must</strong> not be included in the dependency flags"
+        }
+      ]
+    },
     "vkCmdPipelineBarrier": {
       "core": [
         {
@@ -3297,6 +4109,16 @@
           "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>"
         }
       ],
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier-srcStageMask-03937",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdPipelineBarrier-dstStageMask-03937",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
           "vuid": "VUID-vkCmdPipelineBarrier-dependencyFlags-01186",
@@ -3304,6 +4126,342 @@
         }
       ]
     },
+    "VkMemoryBarrier2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-parameter",
+          "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-parameter",
+          "text": " <code>srcAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits2KHR\">VkAccessFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-parameter",
+          "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-parameter",
+          "text": " <code>dstAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits2KHR\">VkAccessFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03900",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03901",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INDEX_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03902",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03903",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03904",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_UNIFORM_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03905",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03906",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03907",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03908",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03909",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03910",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03911",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03912",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03913",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03914",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFER_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03915",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03916",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_HOST_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03917",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_HOST_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03900",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03901",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INDEX_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03902",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03903",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03904",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_UNIFORM_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03905",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03906",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03907",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03908",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03909",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03910",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03911",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03912",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03913",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03914",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFER_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03915",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03916",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_HOST_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03917",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_HOST_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03918",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03918",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03919",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03919",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03920",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-04747",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03922",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03920",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-04747",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03922",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcStageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03923",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstStageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03923",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_device_generated_commands)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03924",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03925",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03924",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03925",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_blend_operation_advanced)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03926",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03926",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03927",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03928",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03927",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03928",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ]
+    },
     "VkMemoryBarrier": {
       "core": [
         {
@@ -3324,6 +4482,390 @@
         }
       ]
     },
+    "VkBufferMemoryBarrier2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03900",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03901",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INDEX_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03902",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03903",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03904",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_UNIFORM_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03905",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03906",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03907",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03908",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03909",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03910",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03911",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03912",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03913",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03914",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFER_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03915",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03916",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_HOST_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03917",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_HOST_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03900",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03901",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INDEX_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03902",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03903",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03904",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_UNIFORM_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03905",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03906",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03907",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03908",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03909",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03910",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03911",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03912",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03913",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03914",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFER_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03915",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03916",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_HOST_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03917",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_HOST_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-offset-01187",
+          "text": " <code>offset</code> <strong class=\"purple\">must</strong> be less than the size of <code>buffer</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-size-01188",
+          "text": " If <code>size</code> is not equal to <code>VK_WHOLE_SIZE</code>, <code>size</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-size-01189",
+          "text": " If <code>size</code> is not equal to <code>VK_WHOLE_SIZE</code>, <code>size</code> <strong class=\"purple\">must</strong> be less than or equal to than the size of <code>buffer</code> minus <code>offset</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-buffer-01931",
+          "text": " If <code>buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03851",
+          "text": " If <code>srcStageMask</code> or <code>dstStageMask</code> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be equal"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-parameter",
+          "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-parameter",
+          "text": " <code>srcAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits2KHR\">VkAccessFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-parameter",
+          "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-parameter",
+          "text": " <code>dstAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits2KHR\">VkAccessFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-buffer-parameter",
+          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03918",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03918",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03919",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03919",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03920",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-04747",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03922",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03920",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-04747",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03922",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcStageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03923",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03923",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_device_generated_commands)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03924",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03925",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03924",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03925",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_blend_operation_advanced)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03926",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03926",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03927",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03928",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03927",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03928",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+!(VK_VERSION_1_1,VK_KHR_external_memory)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-buffer-04086",
+          "text": " If <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be valid queue families"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_external_memory)": [
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcQueueFamilyIndex-04087",
+          "text": " If <code>srcQueueFamilyIndex</code> is not equal to <code>dstQueueFamilyIndex</code>, at least one <strong class=\"purple\">must</strong> not be a special queue family reserved for external memory ownership transfers, as described in <a href=\"#synchronization-queue-transfers\">Queue Family Ownership Transfer</a>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-buffer-04088",
+          "text": " If <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, and one of <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> is a special queue family values reserved for external memory transfers, the other <strong class=\"purple\">must</strong> be <code>VK_QUEUE_FAMILY_IGNORED</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferMemoryBarrier2KHR-buffer-04089",
+          "text": " If <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be valid queue families, or one of the special queue family values reserved for external memory transfers, as described in <a href=\"#synchronization-queue-transfers\">Queue Family Ownership Transfer</a>"
+        }
+      ]
+    },
     "VkBufferMemoryBarrier": {
       "core": [
         {
@@ -3361,8 +4903,8 @@
           "text": " If <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be valid queue families"
         },
         {
-          "vuid": "VUID-VkBufferMemoryBarrier-buffer-01190",
-          "text": " If <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be <code>VK_QUEUE_FAMILY_IGNORED</code>"
+          "vuid": "VUID-VkBufferMemoryBarrier-synchronization2-03852",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code> feature</a> is not enabled, and <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be <code>VK_QUEUE_FAMILY_IGNORED</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_external_memory)": [
@@ -3379,8 +4921,528 @@
           "text": " If <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be valid queue families, or one of the special queue family values reserved for external memory transfers, as described in <a href=\"#synchronization-queue-transfers\">Queue Family Ownership Transfer</a>"
         },
         {
-          "vuid": "VUID-VkBufferMemoryBarrier-buffer-01191",
-          "text": " If <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, at least one of <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be <code>VK_QUEUE_FAMILY_IGNORED</code>"
+          "vuid": "VUID-VkBufferMemoryBarrier-synchronization2-03853",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code> feature</a> is not enabled, and <code>buffer</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, at least one of <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be <code>VK_QUEUE_FAMILY_IGNORED</code>"
+        }
+      ]
+    },
+    "VkImageMemoryBarrier2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03900",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03901",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INDEX_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03902",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03903",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03904",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_UNIFORM_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03905",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03906",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03907",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03908",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03909",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADER_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03910",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03911",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03912",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03913",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03914",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFER_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03915",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03916",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_HOST_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03917",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_HOST_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03900",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03901",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INDEX_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03902",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03903",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03904",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_UNIFORM_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03905",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03906",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03907",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03908",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03909",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADER_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03910",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03911",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03912",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03913",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03914",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFER_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03915",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_BLIT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03916",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_HOST_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03917",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_HOST_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-subresourceRange-01486",
+          "text": " <code>subresourceRange.baseMipLevel</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-subresourceRange-01724",
+          "text": " If <code>subresourceRange.levelCount</code> is not <code>VK_REMAINING_MIP_LEVELS</code>, <span class=\"eq\"><code>subresourceRange.baseMipLevel</code> &#43; <code>subresourceRange.levelCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-subresourceRange-01488",
+          "text": " <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-subresourceRange-01725",
+          "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> &#43; <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-01932",
+          "text": " If <code>image</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01208",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01209",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01210",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01211",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_SAMPLED_BIT</code> or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01212",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01213",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01197",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, <code>oldLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_UNDEFINED</code> or the current layout of the image subresources affected by the barrier"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-newLayout-01198",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, <code>newLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code> or <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03854",
+          "text": " If <code>srcStageMask</code> or <code>dstStageMask</code> include <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be equal"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03855",
+          "text": " If <code>srcStageMask</code> includes <code>VK_PIPELINE_STAGE_2_HOST_BIT_KHR</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, <code>oldLayout</code> <strong class=\"purple\">must</strong> be one of <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>, <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkSampleLocationsInfoEXT\">VkSampleLocationsInfoEXT</a>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-parameter",
+          "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-parameter",
+          "text": " <code>srcAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits2KHR\">VkAccessFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-parameter",
+          "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-parameter",
+          "text": " <code>dstAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits2KHR\">VkAccessFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-parameter",
+          "text": " <code>oldLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-newLayout-parameter",
+          "text": " <code>newLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-parameter",
+          "text": " <code>image</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-subresourceRange-parameter",
+          "text": " <code>subresourceRange</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceRange\">VkImageSubresourceRange</a> structure"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03918",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03918",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03919",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03919",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03920",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-04747",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03922",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03920",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-04747",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03922",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcStageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:srcStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03923",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstStageMask-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:dstStageMask <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03923",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_device_generated_commands)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03924",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03925",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03924",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03925",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_blend_operation_advanced)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03926",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03926",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR</code> <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03927",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03928",
+          "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03927",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03928",
+          "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_maintenance2)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01658",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-01659",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_2,VK_EXT_separate_depth_stencil_layouts)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcQueueFamilyIndex-04065",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcQueueFamilyIndex-04066",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcQueueFamilyIndex-04067",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcQueueFamilyIndex-04068",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcQueueFamilyIndex-03938",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR</code>, <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code> or <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcQueueFamilyIndex-03939",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR</code>, <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-oldLayout-02088",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code> set"
+        }
+      ],
+      "(VK_KHR_synchronization2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-02902",
+          "text": " If <code>image</code> has a color format, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-01671",
+          "text": " If <code>image</code> has a single-plane color format or is not <em>disjoint</em>, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-01672",
+          "text": " If <code>image</code> has a multi-planar format and the image is <em>disjoint</em>, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> include either at least one of <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, and <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>; or <strong class=\"purple\">must</strong> include <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-01673",
+          "text": " If <code>image</code> has a multi-planar format with only two planes, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+!(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-01207",
+          "text": " If <code>image</code> has a depth/stencil format with both depth and stencil components, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> include both <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> and <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-03319",
+          "text": " If <code>image</code> has a depth/stencil format with both depth and stencil and the <a href=\"#features-separateDepthStencilLayouts\">separateDepthStencilLayouts</a> feature is enabled, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> include either or both <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> and <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-03320",
+          "text": " If <code>image</code> has a depth/stencil format with both depth and stencil and the <a href=\"#features-separateDepthStencilLayouts\">separateDepthStencilLayouts</a> feature is not enabled, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> include both <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> and <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+!(VK_VERSION_1_1,VK_KHR_external_memory)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-04069",
+          "text": " If <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be valid queue families"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_external_memory)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-srcQueueFamilyIndex-04070",
+          "text": " If <code>srcQueueFamilyIndex</code> is not equal to <code>dstQueueFamilyIndex</code>, at least one <strong class=\"purple\">must</strong> not be a special queue family reserved for external memory ownership transfers, as described in <a href=\"#synchronization-queue-transfers\">Queue Family Ownership Transfer</a>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-04071",
+          "text": " If <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, and one of <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> is a special queue family values reserved for external memory transfers, the other <strong class=\"purple\">must</strong> be <code>VK_QUEUE_FAMILY_IGNORED</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier2KHR-image-04072",
+          "text": " If <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be valid queue families, or one of the special queue family values reserved for external memory transfers, as described in <a href=\"#synchronization-queue-transfers\">Queue Family Ownership Transfer</a>"
         }
       ]
     },
@@ -3408,35 +5470,35 @@
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01208",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01209",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01210",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01211",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_SAMPLED_BIT</code> or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_SAMPLED_BIT</code> or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01212",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01213",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01197",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, <code>oldLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_UNDEFINED</code> or the current layout of the image subresources affected by the barrier"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, <code>oldLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_UNDEFINED</code> or the current layout of the image subresources affected by the barrier"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-newLayout-01198",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, <code>newLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code> or <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, <code>newLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code> or <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-sType-sType",
@@ -3470,35 +5532,45 @@
       "(VK_VERSION_1_1,VK_KHR_maintenance2)": [
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01658",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-01659",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         }
       ],
       "(VK_VERSION_1_2,VK_EXT_separate_depth_stencil_layouts)": [
         {
           "vuid": "VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-04065",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-04066",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-04067",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-04068",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> set"
         }
       ],
-      "(VK_NV_shading_rate_image)": [
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-03938",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR</code>, <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code> or <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-03939",
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR</code>, <code>image</code> <strong class=\"purple\">must</strong> have been created with at least one of <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image)": [
         {
           "vuid": "VUID-VkImageMemoryBarrier-oldLayout-02088",
-          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define a <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code> set"
+          "text": " If <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> define a <a href=\"#synchronization-queue-transfers\">queue family ownership transfer</a> or <code>oldLayout</code> and <code>newLayout</code> define an <a href=\"#synchronization-image-layout-transitions\">image layout transition</a>, and <code>oldLayout</code> or <code>newLayout</code> is <code>VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR</code> then <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code> set"
         }
       ],
       "!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
@@ -3543,8 +5615,8 @@
           "text": " If <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be valid queue families"
         },
         {
-          "vuid": "VUID-VkImageMemoryBarrier-image-01199",
-          "text": " If <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be <code>VK_QUEUE_FAMILY_IGNORED</code>"
+          "vuid": "VUID-VkImageMemoryBarrier-synchronization2-03856",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code> feature</a> is not enabled, and <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be <code>VK_QUEUE_FAMILY_IGNORED</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_external_memory)": [
@@ -3561,8 +5633,8 @@
           "text": " If <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_EXCLUSIVE</code>, and <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> are not equal, <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> both be valid queue families, or one of the special queue family values reserved for external memory transfers, as described in <a href=\"#synchronization-queue-transfers\">Queue Family Ownership Transfer</a>"
         },
         {
-          "vuid": "VUID-VkImageMemoryBarrier-image-01381",
-          "text": " If <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, at least one of <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be <code>VK_QUEUE_FAMILY_IGNORED</code>"
+          "vuid": "VUID-VkImageMemoryBarrier-synchronization2-03857",
+          "text": " If the <a href=\"#features-synchronization2\"><code>synchronization2</code> feature</a> is not enabled, and <code>image</code> was created with a sharing mode of <code>VK_SHARING_MODE_CONCURRENT</code>, at least one of <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> <strong class=\"purple\">must</strong> be <code>VK_QUEUE_FAMILY_IGNORED</code>"
         }
       ]
     },
@@ -3759,10 +5831,6 @@
         {
           "vuid": "VUID-VkRenderPassCreateInfo-pNext-02515",
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a> structure, and each element of its <code>pViewMasks</code> member is <code>0</code>, <code>correlatedViewMaskCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkRenderPassCreateInfo-pNext-02516",
-          "text": " If the <code>pNext</code> chain includes a <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a> structure, each element of its <code>pViewMask</code> member <strong class=\"purple\">must</strong> not have a bit set at an index greater than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxFramebufferLayers</code>"
         }
       ]
     },
@@ -4010,11 +6078,11 @@
         },
         {
           "vuid": "VUID-VkSubpassDescription-pDepthStencilAttachment-02650",
-          "text": " If <code>pDepthStencilAttachment</code> is not <code>NULL</code> and the attachment is not <code>VK_ATTACHMENT_UNUSED</code> then it <strong class=\"purple\">must</strong> have a image format whose <a href=\"#potential-format-features\">potential format features</a> contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+          "text": " If <code>pDepthStencilAttachment</code> is not <code>NULL</code> and the attachment is not <code>VK_ATTACHMENT_UNUSED</code> then it <strong class=\"purple\">must</strong> have an image format whose <a href=\"#potential-format-features\">potential format features</a> contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkSubpassDescription-pDepthStencilAttachment-01418",
-          "text": " If neither the <code>VK_AMD_mixed_attachment_samples</code> nor the <code>VK_NV_framebuffer_mixed_samples</code> extensions are enabled, and if <code>pDepthStencilAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code> and any attachments in <code>pColorAttachments</code> are not <code>VK_ATTACHMENT_UNUSED</code>, they <strong class=\"purple\">must</strong> have the same sample count"
+          "text": " If neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, and if <code>pDepthStencilAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code> and any attachments in <code>pColorAttachments</code> are not <code>VK_ATTACHMENT_UNUSED</code>, they <strong class=\"purple\">must</strong> have the same sample count"
         },
         {
           "vuid": "VUID-VkSubpassDescription-attachment-00853",
@@ -4029,6 +6097,14 @@
           "text": " If any attachment is used by more than one <a href=\"#VkAttachmentReference\">VkAttachmentReference</a> member, then each use <strong class=\"purple\">must</strong> use the same <code>layout</code>"
         },
         {
+          "vuid": "VUID-VkSubpassDescription-None-04437",
+          "text": " Each attachment <strong class=\"purple\">must</strong> follow the <a href=\"#attachment-type-imagelayout\">image layout requirements</a> specified for its attachment type"
+        },
+        {
+          "vuid": "VUID-VkSubpassDescription-pDepthStencilAttachment-04438",
+          "text": " <code>pDepthStencilAttachment</code> and <code>pColorAttachments</code> must not contain references to the same attachment"
+        },
+        {
           "vuid": "VUID-VkSubpassDescription-flags-parameter",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkSubpassDescriptionFlagBits\">VkSubpassDescriptionFlagBits</a> values"
         },
@@ -4060,7 +6136,7 @@
       "(VK_AMD_mixed_attachment_samples)": [
         {
           "vuid": "VUID-VkSubpassDescription-pColorAttachments-01506",
-          "text": " If the <code>VK_AMD_mixed_attachment_samples</code> extension is enabled, and all attachments in <code>pColorAttachments</code> that are not <code>VK_ATTACHMENT_UNUSED</code> <strong class=\"purple\">must</strong> have a sample count that is smaller than or equal to the sample count of <code>pDepthStencilAttachment</code> if it is not <code>VK_ATTACHMENT_UNUSED</code>"
+          "text": " If the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> extension is enabled, and all attachments in <code>pColorAttachments</code> that are not <code>VK_ATTACHMENT_UNUSED</code> <strong class=\"purple\">must</strong> have a sample count that is smaller than or equal to the sample count of <code>pDepthStencilAttachment</code> if it is not <code>VK_ATTACHMENT_UNUSED</code>"
         }
       ],
       "(VK_NVX_multiview_per_view_attributes)": [
@@ -4102,7 +6178,7 @@
       "core": [
         {
           "vuid": "VUID-VkAttachmentReference-layout-00857",
-          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>, <code>VK_IMAGE_LAYOUT_PRESENT_SRC_KHR</code>, <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR</code>, <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR</code>, <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR</code>, or <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR</code>"
+          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>, <code>VK_IMAGE_LAYOUT_PRESENT_SRC_KHR</code>, <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code>"
         },
         {
           "vuid": "VUID-VkAttachmentReference-layout-parameter",
@@ -4157,18 +6233,10 @@
           "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits\">VkPipelineStageFlagBits</a> values"
         },
         {
-          "vuid": "VUID-VkSubpassDependency-srcStageMask-requiredbitmask",
-          "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
-        },
-        {
           "vuid": "VUID-VkSubpassDependency-dstStageMask-parameter",
           "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits\">VkPipelineStageFlagBits</a> values"
         },
         {
-          "vuid": "VUID-VkSubpassDependency-dstStageMask-requiredbitmask",
-          "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
-        },
-        {
           "vuid": "VUID-VkSubpassDependency-srcAccessMask-parameter",
           "text": " <code>srcAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits\">VkAccessFlagBits</a> values"
         },
@@ -4285,10 +6353,6 @@
           "text": " For any element of <code>pDependencies</code> where its <code>srcSubpass</code> member equals its <code>dstSubpass</code> member, if the <code>viewMask</code> member of the corresponding element of <code>pSubpasses</code> includes more than one bit, its <code>dependencyFlags</code> member <strong class=\"purple\">must</strong> include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>"
         },
         {
-          "vuid": "VUID-VkRenderPassCreateInfo2-viewMask-02524",
-          "text": " The <code>viewMask</code> member <strong class=\"purple\">must</strong> not have a bit set at an index greater than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxFramebufferLayers</code>"
-        },
-        {
           "vuid": "VUID-VkRenderPassCreateInfo2-attachment-02525",
           "text": " If the <code>attachment</code> member of any element of the <code>pInputAttachments</code> member of any element of <code>pSubpasses</code> is not <code>VK_ATTACHMENT_UNUSED</code>, the <code>aspectMask</code> member of that element of <code>pInputAttachments</code> <strong class=\"purple\">must</strong> only include aspects that are present in images of the format specified by the element of <code>pAttachments</code> specified by <code>attachment</code>"
         },
@@ -4336,6 +6400,22 @@
           "vuid": "VUID-VkRenderPassCreateInfo2-subpassCount-arraylength",
           "text": " <code>subpassCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
         }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkRenderPassCreateInfo2-pAttachments-04585",
+          "text": " If any element of <code>pAttachments</code> is used as a fragment shading rate attachment in any subpass, it <strong class=\"purple\">must</strong> not be used as any other attachment in the render pass"
+        },
+        {
+          "vuid": "VUID-VkRenderPassCreateInfo2-pAttachments-04586",
+          "text": " If any element of <code>pAttachments</code> is used as a fragment shading rate attachment in any subpass, it <strong class=\"purple\">must</strong> have an image format whose <a href=\"#potential-format-features\">potential format features</a> contain <code>VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_KHR_fragment_shading_rate)+(VK_QCOM_render_pass_transform)": [
+        {
+          "vuid": "VUID-VkRenderPassCreateInfo2-flags-04521",
+          "text": " If <code>flags</code> includes <code>VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM</code>, an element of <code>pSubpasses</code> includes an instance of <a href=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a> in its <code>pNext</code> chain, and the <code>pFragmentShadingRateAttachment</code> member of that structure is not equal to <code>NULL</code>, the <code>attachment</code> member of <code>pFragmentShadingRateAttachment</code> <strong class=\"purple\">must</strong> be <code>VK_ATTACHMENT_UNUSED</code>"
+        }
       ]
     },
     "VkAttachmentDescription2": {
@@ -4365,6 +6445,14 @@
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2</code>"
         },
         {
+          "vuid": "VUID-VkAttachmentDescription2-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkAttachmentDescriptionStencilLayout\">VkAttachmentDescriptionStencilLayout</a>"
+        },
+        {
+          "vuid": "VUID-VkAttachmentDescription2-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
           "vuid": "VUID-VkAttachmentDescription2-flags-parameter",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAttachmentDescriptionFlagBits\">VkAttachmentDescriptionFlagBits</a> values"
         },
@@ -4520,11 +6608,11 @@
         },
         {
           "vuid": "VUID-VkSubpassDescription2-pDepthStencilAttachment-02900",
-          "text": " If <code>pDepthStencilAttachment</code> is not <code>NULL</code> and the attachment is not <code>VK_ATTACHMENT_UNUSED</code> then it <strong class=\"purple\">must</strong> have a image format whose <a href=\"#potential-format-features\">potential format features</a> contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+          "text": " If <code>pDepthStencilAttachment</code> is not <code>NULL</code> and the attachment is not <code>VK_ATTACHMENT_UNUSED</code> then it <strong class=\"purple\">must</strong> have an image format whose <a href=\"#potential-format-features\">potential format features</a> contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkSubpassDescription2-pDepthStencilAttachment-03071",
-          "text": " If neither the <code>VK_AMD_mixed_attachment_samples</code> nor the <code>VK_NV_framebuffer_mixed_samples</code> extensions are enabled, and if <code>pDepthStencilAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code> and any attachments in <code>pColorAttachments</code> are not <code>VK_ATTACHMENT_UNUSED</code>, they <strong class=\"purple\">must</strong> have the same sample count"
+          "text": " If neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, and if <code>pDepthStencilAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code> and any attachments in <code>pColorAttachments</code> are not <code>VK_ATTACHMENT_UNUSED</code>, they <strong class=\"purple\">must</strong> have the same sample count"
         },
         {
           "vuid": "VUID-VkSubpassDescription2-attachment-03073",
@@ -4539,6 +6627,10 @@
           "text": " If any attachment is used by more than one <a href=\"#VkAttachmentReference\">VkAttachmentReference</a> member, then each use <strong class=\"purple\">must</strong> use the same <code>layout</code>"
         },
         {
+          "vuid": "VUID-VkSubpassDescription2-None-04439",
+          "text": " Attachments <strong class=\"purple\">must</strong> follow the <a href=\"#attachment-type-imagelayout\">image layout requirements</a> based on the type of attachment it is being used as"
+        },
+        {
           "vuid": "VUID-VkSubpassDescription2-attachment-02799",
           "text": " If the <code>attachment</code> member of any element of <code>pInputAttachments</code> is not <code>VK_ATTACHMENT_UNUSED</code>, then the <code>aspectMask</code> member <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkImageAspectFlagBits\">VkImageAspectFlagBits</a>"
         },
@@ -4551,10 +6643,22 @@
           "text": " If the <code>attachment</code> member of any element of <code>pInputAttachments</code> is not <code>VK_ATTACHMENT_UNUSED</code>, then the <code>aspectMask</code> member <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_METADATA_BIT</code>"
         },
         {
+          "vuid": "VUID-VkSubpassDescription2-pDepthStencilAttachment-04440",
+          "text": " An attachment <strong class=\"purple\">must</strong> not be used in both <code>pDepthStencilAttachment</code> and <code>pColorAttachments</code>"
+        },
+        {
           "vuid": "VUID-VkSubpassDescription2-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2</code>"
         },
         {
+          "vuid": "VUID-VkSubpassDescription2-pNext-pNext",
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a> or <a href=\"#VkSubpassDescriptionDepthStencilResolve\">VkSubpassDescriptionDepthStencilResolve</a>"
+        },
+        {
+          "vuid": "VUID-VkSubpassDescription2-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
           "vuid": "VUID-VkSubpassDescription2-flags-parameter",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkSubpassDescriptionFlagBits\">VkSubpassDescriptionFlagBits</a> values"
         },
@@ -4586,7 +6690,7 @@
       "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_AMD_mixed_attachment_samples)": [
         {
           "vuid": "VUID-VkSubpassDescription2-pColorAttachments-03070",
-          "text": " If the <code>VK_AMD_mixed_attachment_samples</code> extension is enabled, all attachments in <code>pColorAttachments</code> that are not <code>VK_ATTACHMENT_UNUSED</code> <strong class=\"purple\">must</strong> have a sample count that is smaller than or equal to the sample count of <code>pDepthStencilAttachment</code> if it is not <code>VK_ATTACHMENT_UNUSED</code>"
+          "text": " If the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> extension is enabled, all attachments in <code>pColorAttachments</code> that are not <code>VK_ATTACHMENT_UNUSED</code> <strong class=\"purple\">must</strong> have a sample count that is smaller than or equal to the sample count of <code>pDepthStencilAttachment</code> if it is not <code>VK_ATTACHMENT_UNUSED</code>"
         }
       ],
       "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_NVX_multiview_per_view_attributes)": [
@@ -4594,6 +6698,12 @@
           "vuid": "VUID-VkSubpassDescription2-flags-03076",
           "text": " If <code>flags</code> includes <code>VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX</code>, it <strong class=\"purple\">must</strong> also include <code>VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX</code>"
         }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_EXT_image_drm_format_modifier)": [
+        {
+          "vuid": "VUID-VkSubpassDescription2-attachment-04563",
+          "text": " If the <code>attachment</code> member of any element of <code>pInputAttachments</code> is not <code>VK_ATTACHMENT_UNUSED</code>, then the <code>aspectMask</code> member <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT</code> for any index <code>i</code>"
+        }
       ]
     },
     "VkSubpassDescriptionDepthStencilResolve": {
@@ -4643,23 +6753,71 @@
           "text": " If the <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilResolveAttachment</code> has both depth and stencil components, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>::<code>independentResolve</code> is <code>VK_FALSE</code> and <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>::<code>independentResolveNone</code> is <code>VK_TRUE</code>, then the values of <code>depthResolveMode</code> and <code>stencilResolveMode</code> <strong class=\"purple\">must</strong> be identical or one of them <strong class=\"purple\">must</strong> be <code>VK_RESOLVE_MODE_NONE</code>"
         },
         {
+          "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-04588",
+          "text": " If the <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilResolveAttachment</code> has a depth component, <code>depthResolveMode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkResolveModeFlagBits\">VkResolveModeFlagBits</a> value"
+        },
+        {
+          "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-04589",
+          "text": " If the <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilResolveAttachment</code> has a stencil component, <code>stencilResolveMode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkResolveModeFlagBits\">VkResolveModeFlagBits</a> value"
+        },
+        {
           "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE</code>"
         },
         {
-          "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-depthResolveMode-parameter",
-          "text": " <code>depthResolveMode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkResolveModeFlagBits\">VkResolveModeFlagBits</a> value"
-        },
-        {
-          "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter",
-          "text": " <code>stencilResolveMode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkResolveModeFlagBits\">VkResolveModeFlagBits</a> value"
-        },
-        {
           "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-parameter",
           "text": " If <code>pDepthStencilResolveAttachment</code> is not <code>NULL</code>, <code>pDepthStencilResolveAttachment</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAttachmentReference2\">VkAttachmentReference2</a> structure"
         }
       ]
     },
+    "VkFragmentShadingRateAttachmentInfoKHR": {
+      "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04524",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, its <code>layout</code> member <strong class=\"purple\">must</strong> be equal to <code>VK_IMAGE_LAYOUT_GENERAL</code> or <code>VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04525",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, <code>shadingRateAttachmentTexelSize.width</code> <strong class=\"purple\">must</strong> be a power of two value"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04526",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, <code>shadingRateAttachmentTexelSize.width</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxFragmentShadingRateAttachmentTexelSize\"><code>maxFragmentShadingRateAttachmentTexelSize.width</code></a>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04527",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, <code>shadingRateAttachmentTexelSize.width</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#limits-minFragmentShadingRateAttachmentTexelSize\"><code>minFragmentShadingRateAttachmentTexelSize.width</code></a>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04528",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, <code>shadingRateAttachmentTexelSize.height</code> <strong class=\"purple\">must</strong> be a power of two value"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04529",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, <code>shadingRateAttachmentTexelSize.height</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxFragmentShadingRateAttachmentTexelSize\"><code>maxFragmentShadingRateAttachmentTexelSize.height</code></a>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04530",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, <code>shadingRateAttachmentTexelSize.height</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#limits-minFragmentShadingRateAttachmentTexelSize\"><code>minFragmentShadingRateAttachmentTexelSize.height</code></a>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04531",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, the quotient of <code>shadingRateAttachmentTexelSize.width</code> and <code>shadingRateAttachmentTexelSize.height</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxFragmentShadingRateAttachmentTexelSizeAspectRatio\"><code>maxFragmentShadingRateAttachmentTexelSizeAspectRatio</code></a>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04532",
+          "text": " If <code>pFragmentShadingRateAttachment</code> is not <code>NULL</code> and its <code>attachment</code> member is not <code>VK_ATTACHMENT_UNUSED</code>, the quotient of <code>shadingRateAttachmentTexelSize.height</code> and <code>shadingRateAttachmentTexelSize.width</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxFragmentShadingRateAttachmentTexelSizeAspectRatio\"><code>maxFragmentShadingRateAttachmentTexelSizeAspectRatio</code></a>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-parameter",
+          "text": " <code>pFragmentShadingRateAttachment</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAttachmentReference2\">VkAttachmentReference2</a> structure"
+        }
+      ]
+    },
     "VkAttachmentReference2": {
       "(VK_VERSION_1_2,VK_KHR_create_renderpass2)": [
         {
@@ -4667,18 +6825,18 @@
           "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>, or <code>VK_IMAGE_LAYOUT_PRESENT_SRC_KHR</code>"
         },
         {
-          "vuid": "VUID-VkAttachmentReference2-attachment-03311",
-          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and <code>aspectMask</code> does not include <code>VK_IMAGE_ASPECT_STENCIL_BIT</code> or <code>VK_IMAGE_ASPECT_DEPTH_BIT</code>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL</code>"
-        },
-        {
-          "vuid": "VUID-VkAttachmentReference2-attachment-03312",
-          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and <code>aspectMask</code> does not include <code>VK_IMAGE_ASPECT_COLOR_BIT</code>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL</code>"
-        },
-        {
           "vuid": "VUID-VkAttachmentReference2-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2</code>"
         },
         {
+          "vuid": "VUID-VkAttachmentReference2-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkAttachmentReferenceStencilLayout\">VkAttachmentReferenceStencilLayout</a>"
+        },
+        {
+          "vuid": "VUID-VkAttachmentReference2-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
           "vuid": "VUID-VkAttachmentReference2-layout-parameter",
           "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
         }
@@ -4689,20 +6847,20 @@
           "text": " If the <a href=\"#features-separateDepthStencilLayouts\"><code>separateDepthStencilLayouts</code></a> feature is not enabled, and <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code>,"
         },
         {
-          "vuid": "VUID-VkAttachmentReference2-attachment-03314",
-          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and <code>aspectMask</code> includes <code>VK_IMAGE_ASPECT_COLOR_BIT</code>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code>,"
+          "vuid": "VUID-VkAttachmentReference2-attachment-04754",
+          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and the format of the referenced attachment is a color format, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code>"
         },
         {
-          "vuid": "VUID-VkAttachmentReference2-attachment-03315",
-          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and <code>aspectMask</code> includes both <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> and <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>, and <code>layout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkAttachmentReferenceStencilLayout\">VkAttachmentReferenceStencilLayout</a> structure"
+          "vuid": "VUID-VkAttachmentReference2-attachment-04755",
+          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and the format of the referenced attachment is a depth/stencil format which includes both depth and stencil aspects, and <code>layout</code> is <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkAttachmentReferenceStencilLayout\">VkAttachmentReferenceStencilLayout</a> structure"
         },
         {
-          "vuid": "VUID-VkAttachmentReference2-attachment-03316",
-          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and <code>aspectMask</code> includes only <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> then <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code>"
+          "vuid": "VUID-VkAttachmentReference2-attachment-04756",
+          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and the format of the referenced attachment is a depth/stencil format which includes only the depth aspect, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL</code>"
         },
         {
-          "vuid": "VUID-VkAttachmentReference2-attachment-03317",
-          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and <code>aspectMask</code> includes only <code>VK_IMAGE_ASPECT_STENCIL_BIT</code> then <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>"
+          "vuid": "VUID-VkAttachmentReference2-attachment-04757",
+          "text": " If <code>attachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, and the format of the referenced attachment is a depth/stencil format which includes only the stencil aspect, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL</code>"
         }
       ]
     },
@@ -4785,22 +6943,22 @@
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2</code>"
         },
         {
+          "vuid": "VUID-VkSubpassDependency2-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkMemoryBarrier2KHR\">VkMemoryBarrier2KHR</a>"
+        },
+        {
+          "vuid": "VUID-VkSubpassDependency2-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
           "vuid": "VUID-VkSubpassDependency2-srcStageMask-parameter",
           "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits\">VkPipelineStageFlagBits</a> values"
         },
         {
-          "vuid": "VUID-VkSubpassDependency2-srcStageMask-requiredbitmask",
-          "text": " <code>srcStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
-        },
-        {
           "vuid": "VUID-VkSubpassDependency2-dstStageMask-parameter",
           "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits\">VkPipelineStageFlagBits</a> values"
         },
         {
-          "vuid": "VUID-VkSubpassDependency2-dstStageMask-requiredbitmask",
-          "text": " <code>dstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
-        },
-        {
           "vuid": "VUID-VkSubpassDependency2-srcAccessMask-parameter",
           "text": " <code>srcAccessMask</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccessFlagBits\">VkAccessFlagBits</a> values"
         },
@@ -4919,6 +7077,18 @@
           "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> <strong class=\"purple\">must</strong> have been created with a <code>samples</code> value that matches the <code>samples</code> value specified by the corresponding <code>VkAttachmentDescription</code> in <code>renderPass</code>"
         },
         {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04533",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a VkImageCreateInfo::<code>width</code> greater than or equal to <code>width</code>"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04534",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a VkImageCreateInfo::<code>height</code> greater than or equal to <code>height</code>"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04535",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a VkImageViewCreateInfo::<code>subresourceRange.layerCount</code> greater than or equal to <code>layers</code>"
+        },
+        {
           "vuid": "VUID-VkFramebufferCreateInfo-pAttachments-00883",
           "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> <strong class=\"purple\">must</strong> only specify a single mip level"
         },
@@ -4995,10 +7165,6 @@
           "text": " If <code>renderPass</code> has a fragment density map attachment and <a href=\"#features-fragmentDensityMapNonSubsampledImages\">non-subsample image feature</a> is not enabled, each element of <code>pAttachments</code> <strong class=\"purple\">must</strong> have been created with a <code>flags</code> value including <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code> unless that element is the fragment density map attachment"
         },
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-pAttachments-02554",
-          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> <strong class=\"purple\">must</strong> have dimensions at least as large as the corresponding framebuffer dimension except for any element that is referenced by <code>fragmentDensityMapAttachment</code>"
-        },
-        {
           "vuid": "VUID-VkFramebufferCreateInfo-pAttachments-02555",
           "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, an element of <code>pAttachments</code> that is referenced by <code>fragmentDensityMapAttachment</code> <strong class=\"purple\">must</strong> have a width at least as large as \\(\\left\\lceil{\\frac{width}{maxFragmentDensityTexelSize_{width}}}\\right\\rceil\\)"
         },
@@ -5007,16 +7173,14 @@
           "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, an element of <code>pAttachments</code> that is referenced by <code>fragmentDensityMapAttachment</code> <strong class=\"purple\">must</strong> have a height at least as large as \\(\\left\\lceil{\\frac{height}{maxFragmentDensityTexelSize_{height}}}\\right\\rceil\\)"
         }
       ],
-      "!(VK_EXT_fragment_density_map)": [
+      "(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-pAttachments-00882",
-          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> <strong class=\"purple\">must</strong> have dimensions at least as large as the corresponding framebuffer dimension"
-        }
-      ],
-      "!(VK_EXT_fragment_density_map)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+          "vuid": "VUID-VkFramebufferCreateInfo-renderPass-04536",
+          "text": " If <code>renderPass</code> was specified with non-zero view masks, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> greater than the index of the most significant bit set in any of those view masks"
+        },
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-renderPass-02743",
-          "text": " If <code>renderPass</code> was specified with non-zero view masks, each element of <code>pAttachments</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> greater than the index of the most significant bit set in any of those view masks"
+          "vuid": "VUID-VkFramebufferCreateInfo-renderPass-02531",
+          "text": " If <code>renderPass</code> was specified with non-zero view masks, <code>layers</code> <strong class=\"purple\">must</strong> be <code>1</code>"
         }
       ],
       "(VK_EXT_fragment_density_map)+!(VK_VERSION_1_1,VK_KHR_multiview)": [
@@ -5027,10 +7191,6 @@
       ],
       "(VK_EXT_fragment_density_map)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-renderPass-02745",
-          "text": " If <code>renderPass</code> was specified with non-zero view masks, each element of <code>pAttachments</code> that is not referenced by <code>fragmentDensityMapAttachment</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> greater than the index of the most significant bit set in any of those view masks"
-        },
-        {
           "vuid": "VUID-VkFramebufferCreateInfo-renderPass-02746",
           "text": " If <code>renderPass</code> was specified with non-zero view masks, each element of <code>pAttachments</code> that is referenced by <code>fragmentDensityMapAttachment</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> equal to <code>1</code> or greater than the index of the most significant bit set in any of those view masks"
         },
@@ -5039,10 +7199,28 @@
           "text": " If <code>renderPass</code> was not specified with non-zero view masks, each element of <code>pAttachments</code> that is referenced by <code>fragmentDensityMapAttachment</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> equal to <code>1</code>"
         }
       ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
+      "(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-renderPass-02531",
-          "text": " If <code>renderPass</code> was specified with non-zero view masks, <code>layers</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04537",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, and <code>renderPass</code> was specified with non-zero view masks, each element of <code>pAttachments</code> that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> by <code>renderPass</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> that is either <code>1</code>, or greater than the index of the most significant bit set in any of those view masks"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04538",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, and <code>renderPass</code> was not specified with non-zero view masks, each element of <code>pAttachments</code> that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> by <code>renderPass</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> that is either <code>1</code>, or greater than <code>layers</code>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04539",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, an element of <code>pAttachments</code> that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> <strong class=\"purple\">must</strong> have a width at least as large as <span class=\"eq\">{lceil}<code>width</code> \\ <code>texelWidth</code>{rceil}</span>, where <code>texelWidth</code> is the largest value of <code>shadingRateAttachmentTexelSize.width</code> in a <a href=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a> which references that attachment"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04540",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, an element of <code>pAttachments</code> that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> <strong class=\"purple\">must</strong> have a height at least as large as <span class=\"eq\">{lceil}<code>height</code> \\ <code>texelHeight</code>{rceil}</span>, where <code>texelHeight</code> is the largest value of <code>shadingRateAttachmentTexelSize.height</code> in a <a href=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a> which references that attachment"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04548",
+          "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as a fragment shading rate attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value including <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
@@ -5058,11 +7236,19 @@
         },
         {
           "vuid": "VUID-VkFramebufferCreateInfo-flags-03190",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure"
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>"
         },
         {
           "vuid": "VUID-VkFramebufferCreateInfo-flags-03191",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>attachmentImageInfoCount</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be equal to either zero or <code>attachmentCount</code>"
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>attachmentImageInfoCount</code> member of an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be equal to either zero or <code>attachmentCount</code>"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04541",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>width</code> member of any element of the <code>pAttachmentImageInfos</code> member of an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> in the <code>pNext</code> chain that is used as an input, color, resolve or depth/stencil attachment in <code>pRenderPass</code> <strong class=\"purple\">must</strong> be greater than or equal to <code>width</code>"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04542",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>height</code> member of any element of the <code>pAttachmentImageInfos</code> member of an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> in the <code>pNext</code> chain that is used as an input, color, resolve or depth/stencil attachment in <code>pRenderPass</code> <strong class=\"purple\">must</strong> be greater than or equal to <code>height</code>"
         },
         {
           "vuid": "VUID-VkFramebufferCreateInfo-flags-03201",
@@ -5081,48 +7267,48 @@
           "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, at least one element of the <code>pViewFormats</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be equal to the corresponding value of <a href=\"#VkAttachmentDescription\">VkAttachmentDescription</a>::<code>format</code> used to create <code>renderPass</code>"
         }
       ],
-      "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+!(VK_EXT_fragment_density_map)": [
-        {
-          "vuid": "VUID-VkFramebufferCreateInfo-flags-03192",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>width</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be greater than or equal to <code>width</code>"
-        },
-        {
-          "vuid": "VUID-VkFramebufferCreateInfo-flags-03193",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>height</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be greater than or equal to <code>height</code>"
-        }
-      ],
       "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+(VK_EXT_fragment_density_map)": [
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-flags-03194",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>width</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be greater than or equal to <code>width</code>, except for any element that is referenced by <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> in <code>renderPass</code>"
-        },
-        {
-          "vuid": "VUID-VkFramebufferCreateInfo-flags-03195",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>height</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be greater than or equal to <code>height</code>, except for any element that is referenced by <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> in <code>renderPass</code>"
-        },
-        {
           "vuid": "VUID-VkFramebufferCreateInfo-flags-03196",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>width</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain that is referenced by <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> in <code>renderPass</code> <strong class=\"purple\">must</strong> be greater than or equal to \\(\\left\\lceil{\\frac{width}{maxFragmentDensityTexelSize_{width}}}\\right\\rceil\\)"
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>width</code> member of any element of the <code>pAttachmentImageInfos</code> member of an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> in the <code>pNext</code> chain that is referenced by <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> in <code>renderPass</code> <strong class=\"purple\">must</strong> be greater than or equal to \\(\\left\\lceil{\\frac{width}{maxFragmentDensityTexelSize_{width}}}\\right\\rceil\\)"
         },
         {
           "vuid": "VUID-VkFramebufferCreateInfo-flags-03197",
           "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>height</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain that is referenced by <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> in <code>renderPass</code> <strong class=\"purple\">must</strong> be greater than or equal to \\(\\left\\lceil{\\frac{height}{maxFragmentDensityTexelSize_{height}}}\\right\\rceil\\)"
         }
       ],
+      "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04543",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>width</code> member of any element of the <code>pAttachmentImageInfos</code> member of an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> in the <code>pNext</code> chain that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> <strong class=\"purple\">must</strong> be greater than or equal to <span class=\"eq\">{lceil}<code>width</code> \\ <code>texelWidth</code>{rceil}</span>, where <code>texelWidth</code> is the largest value of <code>shadingRateAttachmentTexelSize.width</code> in a <a href=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a> which references that attachment"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04544",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>height</code> member of any element of the <code>pAttachmentImageInfos</code> member of an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> in the <code>pNext</code> chain that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> <strong class=\"purple\">must</strong> be greater than or equal to <span class=\"eq\">{lceil}<code>height</code> \\ <code>texelHeight</code>{rceil}</span>, where <code>texelHeight</code> is the largest value of <code>shadingRateAttachmentTexelSize.height</code> in a <a href=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a> which references that attachment"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04545",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>layerCount</code> member of any element of the <code>pAttachmentImageInfos</code> member of an instance of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> in the <code>pNext</code> chain that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> <strong class=\"purple\">must</strong> be either <code>1</code>, or greater than or equal to <code>layers</code>"
+        },
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04587",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, and <code>renderPass</code> was specified with non-zero view masks, each element of <code>pAttachments</code> that is used as a <a href=\"#primsrast-fragment-shading-rate-attachment\">fragment shading rate attachment</a> by <code>renderPass</code> <strong class=\"purple\">must</strong> have a <code>layerCount</code> that is either <code>1</code>, or greater than the index of the most significant bit set in any of those view masks"
+        }
+      ],
       "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
           "vuid": "VUID-VkFramebufferCreateInfo-renderPass-03198",
-          "text": " If multiview is enabled for <code>renderPass</code>, and <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>layerCount</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be greater than the maximum bit index set in the view mask in the subpasses in which it is used in <code>renderPass</code>"
+          "text": " If multiview is enabled for <code>renderPass</code>, and <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>layerCount</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain used as an input, color, resolve, or depth/stencil attachment in <code>pRenderPass</code> <strong class=\"purple\">must</strong> be greater than the maximum bit index set in the view mask in the subpasses in which it is used in <code>renderPass</code>"
         },
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-renderPass-03199",
-          "text": " If multiview is not enabled for <code>renderPass</code>, and <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>layerCount</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be greater than or equal to <code>layers</code>"
+          "vuid": "VUID-VkFramebufferCreateInfo-renderPass-04546",
+          "text": " If multiview is not enabled for <code>renderPass</code>, and <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>layerCount</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain used as an input, color, resolve, or depth/stencil attachment in <code>pRenderPass</code> <strong class=\"purple\">must</strong> be greater than or equal to <code>layers</code>"
         }
       ],
       "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+!(VK_VERSION_1_1+VK_KHR_multiview)": [
         {
-          "vuid": "VUID-VkFramebufferCreateInfo-flags-03200",
-          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>layerCount</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be greater than or equal to <code>layers</code>"
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04547",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>layerCount</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain used as an input, color, resolve, or depth/stencil attachment in <code>pRenderPass</code> <strong class=\"purple\">must</strong> be greater than or equal to <code>layers</code>"
         }
       ],
       "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+(VK_KHR_depth_stencil_resolve)": [
@@ -5130,6 +7316,12 @@
           "vuid": "VUID-VkFramebufferCreateInfo-flags-03203",
           "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>usage</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain that refers to an attachment used as a depth/stencil resolve attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> include <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         }
+      ],
+      "(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)": [
+        {
+          "vuid": "VUID-VkFramebufferCreateInfo-flags-04549",
+          "text": " If <code>flags</code> includes <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, the <code>usage</code> member of any element of the <code>pAttachmentImageInfos</code> member of a <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a> structure included in the <code>pNext</code> chain that refers to an attachment used as a fragment shading rate attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> include <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>"
+        }
       ]
     },
     "VkFramebufferAttachmentsCreateInfo": {
@@ -5235,22 +7427,6 @@
           "text": " For any attachment in <code>framebuffer</code> that is used by <code>renderPass</code> and is bound to memory locations that are also bound to another attachment used by <code>renderPass</code>, and if at least one of those uses causes either attachment to be written to, both attachments <strong class=\"purple\">must</strong> have had the <code>VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT</code> set"
         },
         {
-          "vuid": "VUID-vkCmdBeginRenderPass-pAttachments-04102",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pInputAttachments</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> containing at least <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code> or <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginRenderPass-pAttachments-04103",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pColorAttachments</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> containing <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginRenderPass-pAttachments-04104",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pResolveAttachments</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> containing <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginRenderPass-pAttachments-04105",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pDepthStencilAttachment</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> containing <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
-        },
-        {
           "vuid": "VUID-vkCmdBeginRenderPass-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -5341,22 +7517,6 @@
           "text": " For any attachment in <code>framebuffer</code> that is used by <code>renderPass</code> and is bound to memory locations that are also bound to another attachment used by <code>renderPass</code>, and if at least one of those uses causes either attachment to be written to, both attachments <strong class=\"purple\">must</strong> have had the <code>VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT</code> set"
         },
         {
-          "vuid": "VUID-vkCmdBeginRenderPass2-pAttachments-04106",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pInputAttachments</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> contain at least <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code> or <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginRenderPass2-pAttachments-04107",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pColorAttachments</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginRenderPass2-pAttachments-04108",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pResolveAttachments</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginRenderPass2-pAttachments-04109",
-          "text": " Each element of the <code>pAttachments</code> of <code>framebuffer</code> that is referenced by any element of the <code>pDepthStencilAttachment</code> of any element of <code>pSubpasses</code> of <code>renderPass</code> <strong class=\"purple\">must</strong> have <a href=\"#resources-image-view-format-features\">image view format features</a> contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
-        },
-        {
           "vuid": "VUID-vkCmdBeginRenderPass2-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -5427,10 +7587,6 @@
           "text": " <code>framebuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFramebuffer\">VkFramebuffer</a> handle"
         },
         {
-          "vuid": "VUID-VkRenderPassBeginInfo-pClearValues-parameter",
-          "text": " If <code>clearValueCount</code> is not <code>0</code>, <code>pClearValues</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>clearValueCount</code> <a href=\"#VkClearValue\">VkClearValue</a> unions"
-        },
-        {
           "vuid": "VUID-VkRenderPassBeginInfo-commonparent",
           "text": " Both of <code>framebuffer</code>, and <code>renderPass</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
@@ -5498,35 +7654,35 @@
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-02780",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> have been created on the same <a href=\"#VkDevice\">VkDevice</a> as <code>framebuffer</code> and <code>renderPass</code>"
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> have been created on the same <a href=\"#VkDevice\">VkDevice</a> as <code>framebuffer</code> and <code>renderPass</code>"
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03209",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> equal to the <code>flags</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfoKHR\">VkFramebufferAttachmentsCreateInfoKHR</a>::<code>pAttachments</code> used to create <code>framebuffer</code>"
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> equal to the <code>flags</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>"
         },
         {
-          "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03210",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>usage</code> equal to the <code>usage</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>"
+          "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-04627",
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with <a href=\"#resources-image-inherited-usage\">an inherited usage</a> equal to the <code>usage</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>"
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03211",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a width equal to the <code>width</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>"
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a width equal to the <code>width</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>"
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03212",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a height equal to the <code>height</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>"
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a height equal to the <code>height</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>"
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03213",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageViewCreateInfo\">VkImageViewCreateInfo</a>::<code>subresourceRange.layerCount</code> equal to the <code>layerCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>"
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageViewCreateInfo\">VkImageViewCreateInfo</a>::<code>subresourceRange.layerCount</code> equal to the <code>layerCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>"
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03214",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> equal to the <code>viewFormatCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>"
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> equal to the <code>viewFormatCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>"
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03215",
-          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a set of elements in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> equal to the set of elements in the <code>pViewFormats</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>"
+          "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a set of elements in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> equal to the set of elements in the <code>pViewFormats</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>"
         },
         {
           "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03216",
@@ -5895,6 +8051,14 @@
           "text": " If <code>pCode</code> declares any of the capabilities listed in the <a href=\"#spirvenv-capabilities-table\">SPIR-V Environment</a> appendix, one of the corresponding requirements <strong class=\"purple\">must</strong> be satisfied"
         },
         {
+          "vuid": "VUID-VkShaderModuleCreateInfo-pCode-04146",
+          "text": " <code>pCode</code> <strong class=\"purple\">must</strong> not declare any SPIR-V extension that is not supported by the API, as described by the <a href=\"#spirvenv-extensions\">Extension</a> section of the <a href=\"#spirvenv-capabilities\">SPIR-V Environment</a> appendix"
+        },
+        {
+          "vuid": "VUID-VkShaderModuleCreateInfo-pCode-04147",
+          "text": " If <code>pCode</code> declares any of the SPIR-V extensions listed in the <a href=\"#spirvenv-extensions-table\">SPIR-V Environment</a> appendix, one of the corresponding requirements <strong class=\"purple\">must</strong> be satisfied"
+        },
+        {
           "vuid": "VUID-VkShaderModuleCreateInfo-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO</code>"
         },
@@ -6283,7 +8447,7 @@
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
         }
       ],
-      "(VK_KHR_ray_tracing)": [
+      "(VK_KHR_ray_tracing_pipeline)": [
         {
           "vuid": "VUID-VkComputePipelineCreateInfo-flags-03365",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>"
@@ -6307,6 +8471,10 @@
         {
           "vuid": "VUID-VkComputePipelineCreateInfo-flags-03370",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkComputePipelineCreateInfo-flags-03576",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>"
         }
       ],
       "(VK_NV_device_generated_commands)": [
@@ -6389,6 +8557,10 @@
           "text": " If <code>stage</code> is <code>VK_SHADER_STAGE_FRAGMENT_BIT</code>, and the identified entry point writes to <code>FragDepth</code> in any execution path, it <strong class=\"purple\">must</strong> write to <code>FragDepth</code> in all execution paths"
         },
         {
+          "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-04145",
+          "text": " The SPIR-V code that was used to create <code>module</code> <strong class=\"purple\">must</strong> be valid as described by the <a href=\"#spirv-spec\">Khronos SPIR-V Specification</a> after applying the specializations provided in <code>pSpecializationInfo</code>, if any, and then converting all specialization constants into fixed constants."
+        },
+        {
           "vuid": "VUID-VkPipelineShaderStageCreateInfo-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</code>"
         },
@@ -6629,22 +8801,14 @@
           "text": " The shader code for the entry points identified by <code>pStages</code>, and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
         },
         {
-          "vuid": "VUID-VkGraphicsPipelineCreateInfo-blendEnable-02023",
-          "text": " If rasterization is not disabled and the subpass uses color attachments, then for each color attachment in the subpass the <code>blendEnable</code> member of the corresponding element of the <code>pAttachment</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code> if the attached image&#8217;s <a href=\"#resources-image-format-features\">format features</a> does not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>"
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-blendEnable-04717",
+          "text": " If rasterization is not disabled, then for each color attachment in the subpass, if the <a href=\"#potential-format-features\">potential format features</a> of the format of the corresponding attachment description do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-attachmentCount-00746",
           "text": " If rasterization is not disabled and the subpass uses color attachments, the <code>attachmentCount</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be equal to the <code>colorAttachmentCount</code> used to create <code>subpass</code>"
         },
         {
-          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747",
-          "text": " If no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code>, the <code>pViewports</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState-&gt;viewportCount</code> valid <code>VkViewport</code> structures"
-        },
-        {
-          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748",
-          "text": " If no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SCISSOR</code>, the <code>pScissors</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState-&gt;scissorCount</code> <code>VkRect2D</code> structures"
-        },
-        {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749",
           "text": " If the wide lines feature is not enabled, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_LINE_WIDTH</code>, the <code>lineWidth</code> member of <code>pRasterizationState</code> <strong class=\"purple\">must</strong> be <code>1.0</code>"
         },
@@ -6665,6 +8829,10 @@
           "text": " If the <code>rasterizerDiscardEnable</code> member of <code>pRasterizationState</code> is <code>VK_FALSE</code>, and <code>subpass</code> uses color attachments, <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineColorBlendStateCreateInfo\">VkPipelineColorBlendStateCreateInfo</a> structure"
         },
         {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-rasterizerDiscardEnable-04493",
+          "text": " If the <code>rasterizerDiscardEnable</code> member of <code>pRasterizationState</code> is <code>VK_FALSE</code>, <code>pColorBlendState-&gt;attachmentCount</code> <strong class=\"purple\">must</strong> be greater than the index of all color attachments that are not <code>VK_ATTACHMENT_UNUSED</code> for the <code>subpass</code> index in <code>renderPass</code>"
+        },
+        {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00754",
           "text": " If the depth bias clamping feature is not enabled, no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_DEPTH_BIAS</code>, and the <code>depthBiasEnable</code> member of <code>pRasterizationState</code> is <code>VK_TRUE</code>, the <code>depthBiasClamp</code> member of <code>pRasterizationState</code> <strong class=\"purple\">must</strong> be <code>0.0</code>"
         },
@@ -6674,7 +8842,7 @@
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-00757",
-          "text": " If neither the <code>VK_AMD_mixed_attachment_samples</code> nor the <code>VK_NV_framebuffer_mixed_samples</code> extensions are enabled, and if <code>subpass</code> uses color and/or depth/stencil attachments, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be the same as the sample count for those subpass attachments"
+          "text": " If neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, and if <code>subpass</code> uses color and/or depth/stencil attachments, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be the same as the sample count for those subpass attachments"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-00758",
@@ -6702,7 +8870,7 @@
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkGraphicsPipelineShaderGroupsCreateInfoNV\">VkGraphicsPipelineShaderGroupsCreateInfoNV</a>, <a href=\"#VkPipelineCompilerControlCreateInfoAMD\">VkPipelineCompilerControlCreateInfoAMD</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfoEXT\">VkPipelineCreationFeedbackCreateInfoEXT</a>, <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>, or <a href=\"#VkPipelineRepresentativeFragmentTestStateCreateInfoNV\">VkPipelineRepresentativeFragmentTestStateCreateInfoNV</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkGraphicsPipelineShaderGroupsCreateInfoNV\">VkGraphicsPipelineShaderGroupsCreateInfoNV</a>, <a href=\"#VkPipelineCompilerControlCreateInfoAMD\">VkPipelineCompilerControlCreateInfoAMD</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfoEXT\">VkPipelineCreationFeedbackCreateInfoEXT</a>, <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>, or <a href=\"#VkPipelineRepresentativeFragmentTestStateCreateInfoNV\">VkPipelineRepresentativeFragmentTestStateCreateInfoNV</a>"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-sType-unique",
@@ -6777,6 +8945,46 @@
           "text": " If rasterization is not disabled and <code>subpass</code> uses a depth/stencil attachment in <code>renderPass</code> that has a layout of <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL</code> in the <code>VkAttachmentReference</code> defined by <code>subpass</code>, the <code>failOp</code>, <code>passOp</code> and <code>depthFailOp</code> members of each of the <code>front</code> and <code>back</code> members of <code>pDepthStencilState</code> <strong class=\"purple\">must</strong> be <code>VK_STENCIL_OP_KEEP</code>"
         }
       ],
+      "!(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747",
+          "text": " If no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code>, the <code>pViewports</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState-&gt;viewportCount</code> valid <code>VkViewport</code> structures"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748",
+          "text": " If no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SCISSOR</code>, the <code>pScissors</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState-&gt;scissorCount</code> <code>VkRect2D</code> structures"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04130",
+          "text": " If no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code>, the <code>pViewports</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState-&gt;viewportCount</code> valid <code>VkViewport</code> structures"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04131",
+          "text": " If no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SCISSOR</code> or <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code>, the <code>pScissors</code> member of <code>pViewportState</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pViewportState-&gt;scissorCount</code> <code>VkRect2D</code> structures"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03378",
+          "text": " If the <a href=\"#features-extendedDynamicState\">extendedDynamicState</a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_CULL_MODE_EXT</code>, <code>VK_DYNAMIC_STATE_FRONT_FACE_EXT</code>, <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code>, <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code>, <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code>, <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT</code>, or <code>VK_DYNAMIC_STATE_STENCIL_OP_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03379",
+          "text": " If <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> is included in the <code>pDynamicStates</code> array then <code>viewportCount</code> <strong class=\"purple\">must</strong> be zero"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03380",
+          "text": " If <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> is included in the <code>pDynamicStates</code> array then <code>scissorCount</code> <strong class=\"purple\">must</strong> be zero"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04132",
+          "text": " If <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> is included in the <code>pDynamicStates</code> array then <code>VK_DYNAMIC_STATE_VIEWPORT</code> <strong class=\"purple\">must</strong> not be present"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04133",
+          "text": " If <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> is included in the <code>pDynamicStates</code> array then <code>VK_DYNAMIC_STATE_SCISSOR</code> <strong class=\"purple\">must</strong> not be present"
+        }
+      ],
       "!(VK_EXT_depth_range_unrestricted)": [
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00755",
@@ -6810,23 +9018,23 @@
       "(VK_AMD_mixed_attachment_samples)": [
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-01505",
-          "text": " If the <code>VK_AMD_mixed_attachment_samples</code> extension is enabled, and if <code>subpass</code> uses color and/or depth/stencil attachments, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> equal the maximum of the sample counts of those subpass attachments"
+          "text": " If the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> extension is enabled, and if <code>subpass</code> uses color and/or depth/stencil attachments, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> equal the maximum of the sample counts of those subpass attachments"
         }
       ],
       "(VK_NV_framebuffer_mixed_samples)": [
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-01411",
-          "text": " If the <code>VK_NV_framebuffer_mixed_samples</code> extension is enabled, and if <code>subpass</code> has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be the same as the sample count of the depth/stencil attachment"
+          "text": " If the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extension is enabled, and if <code>subpass</code> has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be the same as the sample count of the depth/stencil attachment"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-01412",
-          "text": " If the <code>VK_NV_framebuffer_mixed_samples</code> extension is enabled, and if <code>subpass</code> has any color attachments, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be greater than or equal to the sample count for those subpass attachments"
+          "text": " If the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extension is enabled, and if <code>subpass</code> has any color attachments, then the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be greater than or equal to the sample count for those subpass attachments"
         }
       ],
       "(VK_NV_coverage_reduction_mode)": [
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-coverageReductionMode-02722",
-          "text": " If the <code>VK_NV_coverage_reduction_mode</code> extension is enabled, the coverage reduction mode specified by <a href=\"#VkPipelineCoverageReductionStateCreateInfoNV\">VkPipelineCoverageReductionStateCreateInfoNV</a>::<code>coverageReductionMode</code>, the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> and the sample counts for the color and depth/stencil attachments (if the subpass has them) <strong class=\"purple\">must</strong> be a valid combination returned by <code>vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV</code>"
+          "text": " If the <code><a href=\"#VK_NV_coverage_reduction_mode\">VK_NV_coverage_reduction_mode</a></code> extension is enabled, the coverage reduction mode specified by <a href=\"#VkPipelineCoverageReductionStateCreateInfoNV\">VkPipelineCoverageReductionStateCreateInfoNV</a>::<code>coverageReductionMode</code>, the <code>rasterizationSamples</code> member of <code>pMultisampleState</code> and the sample counts for the color and depth/stencil attachments (if the subpass has them) <strong class=\"purple\">must</strong> be a valid combination returned by <code>vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
@@ -6894,11 +9102,11 @@
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02319",
-          "text": " If a <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> value other than zero is specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> all be decorated with identical <code>Stream</code> values that match the <code>rasterizationStream</code>"
+          "text": " If a <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> value other than zero is specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> be decorated with identical <code>Stream</code> values that match the <code>rasterizationStream</code>"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02320",
-          "text": " If <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> is zero, or not specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> all be decorated with a <code>Stream</code> value of zero, or <strong class=\"purple\">must</strong> not specify the <code>Stream</code> decoration"
+          "text": " If <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> is zero, or not specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> be decorated with a <code>Stream</code> value of zero, or <strong class=\"purple\">must</strong> not specify the <code>Stream</code> decoration"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-geometryStreams-02321",
@@ -6927,7 +9135,7 @@
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
         }
       ],
-      "(VK_KHR_ray_tracing)": [
+      "(VK_KHR_ray_tracing_pipeline)": [
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-03372",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>"
@@ -6951,20 +9159,14 @@
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-03377",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03378",
-          "text": " If the <a href=\"#features-extendedDynamicState\">extendedDynamicState</a> feature is not enabled, there <strong class=\"purple\">must</strong> be no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> set to <code>VK_DYNAMIC_STATE_CULL_MODE_EXT</code>, <code>VK_DYNAMIC_STATE_FRONT_FACE_EXT</code>, <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code>, <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code>, <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code>, <code>VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT</code>, <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT</code>, <code>VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT</code>, or <code>VK_DYNAMIC_STATE_STENCIL_OP_EXT</code>"
         },
         {
-          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03379",
-          "text": " If <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> is included in the <code>pDynamicStates</code> array then <code>viewportCount</code> <strong class=\"purple\">must</strong> be zero"
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-03577",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>"
         },
         {
-          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03380",
-          "text": " If <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> is included in the <code>pDynamicStates</code> array then <code>scissorCount</code> <strong class=\"purple\">must</strong> be zero"
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03578",
+          "text": " All elements of the <code>pDynamicStates</code> member of <code>pDynamicState</code> <strong class=\"purple\">must</strong> not be <code>VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR</code>"
         }
       ],
       "(VK_NV_device_generated_commands)": [
@@ -6984,6 +9186,92 @@
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pipelineCreationCacheControl-02878",
           "text": " If the <a href=\"#features-pipelineCreationCacheControl\"><code>pipelineCreationCacheControl</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT</code> or <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT</code>"
         }
+      ],
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04494",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.width <strong class=\"purple\">must</strong> be greater than or equal to <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04495",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.height <strong class=\"purple\">must</strong> be greater than or equal to <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04496",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.width <strong class=\"purple\">must</strong> be a power-of-two value"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04497",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.height <strong class=\"purple\">must</strong> be a power-of-two value"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04498",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.width <strong class=\"purple\">must</strong> be less than or equal to <code>4</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04499",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.height <strong class=\"purple\">must</strong> be less than or equal to <code>4</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04500",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and the <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.width and <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::fragmentSize.height <strong class=\"purple\">must</strong> both be equal to <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04501",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and the <a href=\"#feature-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::<code>combinerOps</code>[0] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04502",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and the <a href=\"#feature-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::<code>combinerOps</code>[1] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04503",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>::<code>viewportCount</code> is greater than <code>1</code>, entry points specified in <code>pStages</code> <strong class=\"purple\">must</strong> not write to the <code>PrimitiveShadingRateKHR</code> built-in"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04504",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, and entry points specified in <code>pStages</code> write to the <code>ViewportIndex</code> built-in, they <strong class=\"purple\">must</strong> not also write to the <code>PrimitiveShadingRateKHR</code> built-in"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-fragmentShadingRateNonTrivialCombinerOps-04506",
+          "text": " If the <a href=\"#limits-fragmentShadingRateNonTrivialCombinerOps\"><code>fragmentShadingRateNonTrivialCombinerOps</code></a> limit is not supported and <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, elements of <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>::<code>combinerOps</code> <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code> or <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR</code>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate)+(VK_NV_viewport_array2)": [
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04505",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, and entry points specified in <code>pStages</code> write to the <code>ViewportMaskNV</code> built-in, they <strong class=\"purple\">must</strong> not also write to the <code>PrimitiveShadingRateKHR</code> built-in"
+        }
+      ],
+      "(VK_NV_fragment_shading_rate_enums)": [
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04569",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and the <a href=\"#features-fragmentShadingRateEnums\"><code>fragmentShadingRateEnums</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::shadingRateType <strong class=\"purple\">must</strong> be equal to <code>VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV</code>."
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04570",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and the <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::shadingRate <strong class=\"purple\">must</strong> be equal to <code>VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV</code>."
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04571",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and the <a href=\"#feature-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>combinerOps</code>[0] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04572",
+          "text": " If <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, and the <a href=\"#feature-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>combinerOps</code>[1] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-fragmentShadingRateNonTrivialCombinerOps-04573",
+          "text": " If the <a href=\"#limits-fragmentShadingRateNonTrivialCombinerOps\"><code>fragmentShadingRateNonTrivialCombinerOps</code></a> limit is not supported and <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState</code>-&gt;<code>pDynamicStates</code>, elements of <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>combinerOps</code> <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code> or <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-None-04574",
+          "text": " If the <a href=\"#limits-supersampleFragmentShadingRates\">supersampleFragmentShadingRates feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::shadingRate <strong class=\"purple\">must</strong> not be equal to <code>VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV</code>, or <code>VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV</code>."
+        },
+        {
+          "vuid": "VUID-VkGraphicsPipelineCreateInfo-None-04575",
+          "text": " If the <a href=\"#limits-noInvocationFragmentShadingRates\">noInvocationFragmentShadingRates feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::shadingRate <strong class=\"purple\">must</strong> not be equal to <code>VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV</code>."
+        }
       ]
     },
     "VkPipelineDynamicStateCreateInfo": {
@@ -7030,7 +9318,7 @@
         },
         {
           "vuid": "VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pPipelines-02886",
-          "text": " Each element of the <code>pPipelines</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with identical state to the pipeline currently created except the state that can be overriden by <a href=\"#VkGraphicsShaderGroupCreateInfoNV\">VkGraphicsShaderGroupCreateInfoNV</a>"
+          "text": " Each element of <code>pPipelines</code> <strong class=\"purple\">must</strong> have been created with identical state to the pipeline currently created except the state that can be overridden by <a href=\"#VkGraphicsShaderGroupCreateInfoNV\">VkGraphicsShaderGroupCreateInfoNV</a>"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-deviceGeneratedCommands-02887",
@@ -7106,6 +9394,736 @@
         }
       ]
     },
+    "vkCreateRayTracingPipelinesNV": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-flags-03415",
+          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and the <code>basePipelineIndex</code> member of that same element is not <code>-1</code>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be less than the index into <code>pCreateInfos</code> that corresponds to that element"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-flags-03416",
+          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, the base pipeline <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT</code> flag set"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parameter",
+          "text": " If <code>pipelineCache</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pipelineCache</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineCache\">VkPipelineCache</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pCreateInfos-parameter",
+          "text": " <code>pCreateInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> valid <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a> structures"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pPipelines-parameter",
+          "text": " <code>pPipelines</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> <a href=\"#VkPipeline\">VkPipeline</a> handles"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-createInfoCount-arraylength",
+          "text": " <code>createInfoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parent",
+          "text": " If <code>pipelineCache</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_VERSION_1_1,VK_KHR_device_group)": [
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-flags-03816",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not contain the <code>VK_PIPELINE_CREATE_DISPATCH_BASE</code> flag"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_EXT_pipeline_creation_cache_control)": [
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pipelineCache-02903",
+          "text": " If <code>pipelineCache</code> was created with <code>VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT</code>, host access to <code>pipelineCache</code> <strong class=\"purple\">must</strong> be <a href=\"#fundamentals-threadingbehavior\">externally synchronized</a>"
+        }
+      ]
+    },
+    "vkCreateRayTracingPipelinesKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-flags-03415",
+          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and the <code>basePipelineIndex</code> member of that same element is not <code>-1</code>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be less than the index into <code>pCreateInfos</code> that corresponds to that element"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-flags-03416",
+          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, the base pipeline <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT</code> flag set"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03677",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> object"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03678",
+          "text": " Any previous deferred operation that was associated with <code>deferredOperation</code> <strong class=\"purple\">must</strong> be complete"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-rayTracingPipeline-03586",
+          "text": " The <a href=\"#features-rayTracingPipeline\"><code>rayTracingPipeline</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-parameter",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>deferredOperation</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pipelineCache-parameter",
+          "text": " If <code>pipelineCache</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pipelineCache</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineCache\">VkPipelineCache</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pCreateInfos-parameter",
+          "text": " <code>pCreateInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> valid <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pPipelines-parameter",
+          "text": " <code>pPipelines</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> <a href=\"#VkPipeline\">VkPipeline</a> handles"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-createInfoCount-arraylength",
+          "text": " <code>createInfoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-parent",
+          "text": " If <code>deferredOperation</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        },
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pipelineCache-parent",
+          "text": " If <code>pipelineCache</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_VERSION_1_1,VK_KHR_device_group)": [
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-flags-03816",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not contain the <code>VK_PIPELINE_CREATE_DISPATCH_BASE</code> flag"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_pipeline_creation_cache_control)": [
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pipelineCache-02903",
+          "text": " If <code>pipelineCache</code> was created with <code>VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT</code>, host access to <code>pipelineCache</code> <strong class=\"purple\">must</strong> be <a href=\"#fundamentals-threadingbehavior\">externally synchronized</a>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_pipeline_creation_cache_control+VK_KHR_deferred_host_operations)": [
+        {
+          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03587",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>flags</code> member of elements of <code>pCreateInfos</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT</code>"
+        }
+      ]
+    },
+    "VkRayTracingPipelineCreateInfoNV": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03421",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid handle to a ray tracing <code>VkPipeline</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03422",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be a valid index into the calling command&#8217;s <code>pCreateInfos</code> parameter"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03423",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is not <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03424",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be <code>-1</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pStages-03426",
+          "text": " The shader code for the entry points identified by <code>pStages</code>, and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-03427",
+          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be <a href=\"#descriptorsets-pipelinelayout-consistency\">consistent</a> with all shaders specified in <code>pStages</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-03428",
+          "text": " The number of resources in <code>layout</code> accessible to each shader stage that is used by the pipeline <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxPerStageResources</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-stage-03425",
+          "text": " The <code>stage</code> member of at least one element of <code>pStages</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_RAYGEN_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-maxRecursionDepth-03457",
+          "text": " <code>maxRecursionDepth</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxRecursionDepth</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineCreationFeedbackCreateInfoEXT\">VkPipelineCreationFeedbackCreateInfoEXT</a>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pStages-parameter",
+          "text": " <code>pStages</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stageCount</code> valid <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a> structures"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pGroups-parameter",
+          "text": " <code>pGroups</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>groupCount</code> valid <a href=\"#VkRayTracingShaderGroupCreateInfoNV\">VkRayTracingShaderGroupCreateInfoNV</a> structures"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-parameter",
+          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-stageCount-arraylength",
+          "text": " <code>stageCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-groupCount-arraylength",
+          "text": " <code>groupCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-commonparent",
+          "text": " Both of <code>basePipelineHandle</code>, and <code>layout</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_NV_device_generated_commands)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-02904",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_EXT_pipeline_creation_cache_control)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pipelineCreationCacheControl-02905",
+          "text": " If the <a href=\"#features-pipelineCreationCacheControl\"><code>pipelineCreationCacheControl</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT</code> or <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-02957",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include both <code>VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV</code> and <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT</code> at the same time"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_KHR_pipeline_library)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03456",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03458",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03459",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03460",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03461",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03462",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03463",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03588",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>"
+        }
+      ]
+    },
+    "VkRayTracingPipelineCreateInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03421",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid handle to a ray tracing <code>VkPipeline</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03422",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be a valid index into the calling command&#8217;s <code>pCreateInfos</code> parameter"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03423",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is not <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03424",
+          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be <code>-1</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pStages-03426",
+          "text": " The shader code for the entry points identified by <code>pStages</code>, and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-03427",
+          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be <a href=\"#descriptorsets-pipelinelayout-consistency\">consistent</a> with all shaders specified in <code>pStages</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-03428",
+          "text": " The number of resources in <code>layout</code> accessible to each shader stage that is used by the pipeline <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxPerStageResources</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-stage-03425",
+          "text": " If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, the <code>stage</code> member of at least one element of <code>pStages</code>, including those implicitly added by <code>pLibraryInfo</code>, <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_RAYGEN_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-maxPipelineRayRecursionDepth-03589",
+          "text": " <code>maxPipelineRayRecursionDepth</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>::<code>maxRayRecursionDepth</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03595",
+          "text": " If the <a href=\"#VK_KHR_pipeline_library\">VK_KHR_pipeline_library</a> extension is not enabled, <code>pLibraryInfo</code> and <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> be <code>NULL</code>."
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03470",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, for any element of <code>pGroups</code> with a <code>type</code> of <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code> or <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>, the <code>anyHitShader</code> of that element <strong class=\"purple\">must</strong> not be <code>VK_SHADER_UNUSED_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03471",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, for any element of <code>pGroups</code> with a <code>type</code> of <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code> or <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>, the <code>closestHitShader</code> of that element <strong class=\"purple\">must</strong> not be <code>VK_SHADER_UNUSED_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-rayTraversalPrimitiveCulling-03596",
+          "text": " If the <a href=\"#features-rayTraversalPrimitiveCulling\"><code>rayTraversalPrimitiveCulling</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-rayTraversalPrimitiveCulling-03597",
+          "text": " If the <a href=\"#features-rayTraversalPrimitiveCulling\"><code>rayTraversalPrimitiveCulling</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03598",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>, <a href=\"#features-rayTracingPipelineShaderGroupHandleCaptureReplay\"><code>rayTracingPipelineShaderGroupHandleCaptureReplay</code></a> <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-rayTracingPipelineShaderGroupHandleCaptureReplay-03599",
+          "text": " If <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>::<code>rayTracingPipelineShaderGroupHandleCaptureReplay</code> is <code>VK_TRUE</code> and the <code>pShaderGroupCaptureReplayHandle</code> member of any element of <code>pGroups</code> is not <code>NULL</code>, <code>flags</code> <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03600",
+          "text": " If <code>pLibraryInfo</code> is not <code>NULL</code> and its <code>libraryCount</code> is <code>0</code>, <code>stageCount</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03601",
+          "text": " If <code>pLibraryInfo</code> is not <code>NULL</code> and its <code>libraryCount</code> is <code>0</code>, <code>groupCount</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pDynamicStates-03602",
+          "text": " Any element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> <strong class=\"purple\">must</strong> be <code>VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineCreationFeedbackCreateInfoEXT\">VkPipelineCreationFeedbackCreateInfoEXT</a>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pStages-parameter",
+          "text": " If <code>stageCount</code> is not <code>0</code>, <code>pStages</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stageCount</code> valid <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a> structures"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pGroups-parameter",
+          "text": " If <code>groupCount</code> is not <code>0</code>, <code>pGroups</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>groupCount</code> valid <a href=\"#VkRayTracingShaderGroupCreateInfoKHR\">VkRayTracingShaderGroupCreateInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-parameter",
+          "text": " If <code>pLibraryInfo</code> is not <code>NULL</code>, <code>pLibraryInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInterface-parameter",
+          "text": " If <code>pLibraryInterface</code> is not <code>NULL</code>, <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkRayTracingPipelineInterfaceCreateInfoKHR\">VkRayTracingPipelineInterfaceCreateInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pDynamicState-parameter",
+          "text": " If <code>pDynamicState</code> is not <code>NULL</code>, <code>pDynamicState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineDynamicStateCreateInfo\">VkPipelineDynamicStateCreateInfo</a> structure"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-parameter",
+          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-commonparent",
+          "text": " Both of <code>basePipelineHandle</code>, and <code>layout</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_NV_device_generated_commands)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-02904",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_pipeline_creation_cache_control)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pipelineCreationCacheControl-02905",
+          "text": " If the <a href=\"#features-pipelineCreationCacheControl\"><code>pipelineCreationCacheControl</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT</code> or <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_KHR_pipeline_library)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03465",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03590",
+          "text": " If <code>pLibraryInfo</code> is not <code>NULL</code> and its <code>libraryCount</code> member is greater than <code>0</code>, its <code>pLibraryInterface</code> member <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraries-03591",
+          "text": " Each element of the <code>pLibraries</code> member of <code>pLibraryInfo</code> <strong class=\"purple\">must</strong> have been created with the value of <code>maxPipelineRayRecursionDepth</code> equal to that in this pipeline"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03592",
+          "text": " If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of its <code>pLibraries</code> member <strong class=\"purple\">must</strong> have been created with a <code>layout</code> that is compatible with the <code>layout</code> in this pipeline"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03593",
+          "text": " If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of its <code>pLibraries</code> member <strong class=\"purple\">must</strong> have been created with values of the <code>maxPipelineRayPayloadSize</code> and <code>maxPipelineRayHitAttributeSize</code> members of <code>pLibraryInterface</code> equal to those in this pipeline"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03594",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>, each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-04718",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>, each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-04719",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR</code>, each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-04720",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-04721",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-04722",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-04723",
+          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>, each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code> bit set"
+        }
+      ]
+    },
+    "VkRayTracingShaderGroupCreateInfoNV": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02413",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV</code> then <code>generalShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_RAYGEN_BIT_NV</code>, <code>VK_SHADER_STAGE_MISS_BIT_NV</code>, or <code>VK_SHADER_STAGE_CALLABLE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02414",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV</code> then <code>closestHitShader</code>, <code>anyHitShader</code>, and <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02415",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_INTERSECTION_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02416",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-closestHitShader-02417",
+          "text": " <code>closestHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_NV</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-anyHitShader-02418",
+          "text": " <code>anyHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_NV</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_ANY_HIT_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-parameter",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkRayTracingShaderGroupTypeKHR\">VkRayTracingShaderGroupTypeKHR</a> value"
+        }
+      ]
+    },
+    "VkRayTracingShaderGroupCreateInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03474",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR</code> then <code>generalShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_RAYGEN_BIT_KHR</code>, <code>VK_SHADER_STAGE_MISS_BIT_KHR</code>, or <code>VK_SHADER_STAGE_CALLABLE_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03475",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR</code> then <code>closestHitShader</code>, <code>anyHitShader</code>, and <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03476",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_INTERSECTION_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03477",
+          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-closestHitShader-03478",
+          "text": " <code>closestHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_KHR</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-anyHitShader-03479",
+          "text": " <code>anyHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_KHR</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_ANY_HIT_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-rayTracingPipelineShaderGroupHandleCaptureReplayMixed-03603",
+          "text": " If <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>::<code>rayTracingPipelineShaderGroupHandleCaptureReplayMixed</code> is <code>VK_FALSE</code> then <code>pShaderGroupCaptureReplayHandle</code> <strong class=\"purple\">must</strong> not be provided if it has not been provided on a previous call to ray tracing pipeline creation"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-rayTracingPipelineShaderGroupHandleCaptureReplayMixed-03604",
+          "text": " If <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>::<code>rayTracingPipelineShaderGroupHandleCaptureReplayMixed</code> is <code>VK_FALSE</code> then the caller <strong class=\"purple\">must</strong> guarantee that no ray tracing pipeline creation commands with <code>pShaderGroupCaptureReplayHandle</code> provided execute simultaneously with ray tracing pipeline creation commands without <code>pShaderGroupCaptureReplayHandle</code> provided"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-parameter",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkRayTracingShaderGroupTypeKHR\">VkRayTracingShaderGroupTypeKHR</a> value"
+        }
+      ]
+    },
+    "VkRayTracingPipelineInterfaceCreateInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-maxPipelineRayHitAttributeSize-03605",
+          "text": " <code>maxPipelineRayHitAttributeSize</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>::<code>maxRayHitAttributeSize</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
+    "vkGetRayTracingShaderGroupHandlesKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-04619",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a ray tracing pipeline"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-firstGroup-04050",
+          "text": " <code>firstGroup</code> <strong class=\"purple\">must</strong> be less than the number of shader groups in <code>pipeline</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-firstGroup-02419",
+          "text": " The sum of <code>firstGroup</code> and <code>groupCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of shader groups in <code>pipeline</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-dataSize-02420",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be at least <span class=\"eq\"><a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>::<code>shaderGroupHandleSize</code> {times} <code>groupCount</code></span>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-parameter",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pData-parameter",
+          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-dataSize-arraylength",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-parent",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_pipeline_library)": [
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-03482",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have not been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
+        }
+      ]
+    },
+    "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-04620",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a ray tracing pipeline"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-firstGroup-04051",
+          "text": " <code>firstGroup</code> <strong class=\"purple\">must</strong> be less than the number of shader groups in <code>pipeline</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-firstGroup-03483",
+          "text": " The sum of <code>firstGroup</code> and <code>groupCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of shader groups in <code>pipeline</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-dataSize-03484",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be at least <span class=\"eq\"><a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>::<code>shaderGroupHandleCaptureReplaySize</code> {times} <code>groupCount</code></span>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-rayTracingPipelineShaderGroupHandleCaptureReplay-03606",
+          "text": " <code>VkPhysicalDeviceRayTracingPipelineFeaturesKHR</code>::<code>rayTracingPipelineShaderGroupHandleCaptureReplay</code> <strong class=\"purple\">must</strong> be enabled to call this function"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-03607",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created with a <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-parameter",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pData-parameter",
+          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-dataSize-arraylength",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-parent",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ]
+    },
+    "vkCompileDeferredNV": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCompileDeferredNV-pipeline-04621",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a ray tracing pipeline"
+        },
+        {
+          "vuid": "VUID-vkCompileDeferredNV-pipeline-02237",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCompileDeferredNV-shader-02238",
+          "text": " <code>shader</code> <strong class=\"purple\">must</strong> not have been called as a deferred compile before"
+        },
+        {
+          "vuid": "VUID-vkCompileDeferredNV-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCompileDeferredNV-pipeline-parameter",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCompileDeferredNV-pipeline-parent",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ]
+    },
+    "vkGetRayTracingShaderGroupStackSizeKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-pipeline-04622",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a ray tracing pipeline"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-group-03608",
+          "text": " The value of <code>group</code> must be less than the number of shader groups in <code>pipeline</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-groupShader-03609",
+          "text": " The shader identified by <code>groupShader</code> in <code>group</code> <strong class=\"purple\">must</strong> not be <code>VK_SHADER_UNUSED_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-pipeline-parameter",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-groupShader-parameter",
+          "text": " <code>groupShader</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderGroupShaderKHR\">VkShaderGroupShaderKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-pipeline-parent",
+          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ]
+    },
+    "vkCmdSetRayTracingPipelineStackSizeKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-vkCmdSetRayTracingPipelineStackSizeKHR-pipelineStackSize-03610",
+          "text": " <code>pipelineStackSize</code> <strong class=\"purple\">must</strong> be large enough for any dynamic execution through the shaders in the ray tracing pipeline used by a subsequent trace call"
+        },
+        {
+          "vuid": "VUID-vkCmdSetRayTracingPipelineStackSizeKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdSetRayTracingPipelineStackSizeKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetRayTracingPipelineStackSizeKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdSetRayTracingPipelineStackSizeKHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
     "vkDestroyPipeline": {
       "core": [
         {
@@ -7383,7 +10401,7 @@
           "text": " This command <strong class=\"purple\">must</strong> not be recorded when transform feedback is active"
         }
       ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
         {
           "vuid": "VUID-vkCmdBindPipeline-pipelineBindPoint-02391",
           "text": " If <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR</code>, the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
@@ -7512,7 +10530,7 @@
         },
         {
           "vuid": "VUID-vkGetPipelineExecutableStatisticsKHR-pipeline-03274",
-          "text": " <code>pipeline</code> member of <code>pExecutableInfo</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR</code> set in the <code>flags</code> field of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a> or <a href=\"#VkComputePipelineCreateInfo\">VkComputePipelineCreateInfo</a>"
+          "text": " <code>pipeline</code> member of <code>pExecutableInfo</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR</code>"
         },
         {
           "vuid": "VUID-vkGetPipelineExecutableStatisticsKHR-device-parameter",
@@ -7576,7 +10594,7 @@
         },
         {
           "vuid": "VUID-vkGetPipelineExecutableInternalRepresentationsKHR-pipeline-03278",
-          "text": " <code>pipeline</code> member of <code>pExecutableInfo</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR</code> set in the <code>flags</code> field of <a href=\"#VkGraphicsPipelineCreateInfo\">VkGraphicsPipelineCreateInfo</a> or <a href=\"#VkComputePipelineCreateInfo\">VkComputePipelineCreateInfo</a>"
+          "text": " <code>pipeline</code> member of <code>pExecutableInfo</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR</code>"
         },
         {
           "vuid": "VUID-vkGetPipelineExecutableInternalRepresentationsKHR-device-parameter",
@@ -7652,582 +10670,6 @@
         }
       ]
     },
-    "vkCreateRayTracingPipelinesNV": {
-      "core": [
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-flags-03415",
-          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and the <code>basePipelineIndex</code> member of that same element is not <code>-1</code>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be less than the index into <code>pCreateInfos</code> that corresponds to that element"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-flags-03416",
-          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, the base pipeline <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT</code> flag set"
-        }
-      ],
-      "(VK_EXT_pipeline_creation_cache_control)": [
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pipelineCache-02903",
-          "text": " If <code>pipelineCache</code> was created with <code>VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT</code>, host access to <code>pipelineCache</code> <strong class=\"purple\">must</strong> be <a href=\"#fundamentals-threadingbehavior\">externally synchronized</a>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parameter",
-          "text": " If <code>pipelineCache</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pipelineCache</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineCache\">VkPipelineCache</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pCreateInfos-parameter",
-          "text": " <code>pCreateInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> valid <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a> structures"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pAllocator-parameter",
-          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pPipelines-parameter",
-          "text": " <code>pPipelines</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> <a href=\"#VkPipeline\">VkPipeline</a> handles"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-createInfoCount-arraylength",
-          "text": " <code>createInfoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parent",
-          "text": " If <code>pipelineCache</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ]
-    },
-    "vkCreateRayTracingPipelinesKHR": {
-      "core": [
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-flags-03415",
-          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and the <code>basePipelineIndex</code> member of that same element is not <code>-1</code>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be less than the index into <code>pCreateInfos</code> that corresponds to that element"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-flags-03416",
-          "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, the base pipeline <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT</code> flag set"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-rayTracing-03455",
-          "text": " The <a href=\"#features-raytracing\"><code>rayTracing</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        }
-      ],
-      "(VK_EXT_pipeline_creation_cache_control)": [
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pipelineCache-02903",
-          "text": " If <code>pipelineCache</code> was created with <code>VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT</code>, host access to <code>pipelineCache</code> <strong class=\"purple\">must</strong> be <a href=\"#fundamentals-threadingbehavior\">externally synchronized</a>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pipelineCache-parameter",
-          "text": " If <code>pipelineCache</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pipelineCache</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineCache\">VkPipelineCache</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pCreateInfos-parameter",
-          "text": " <code>pCreateInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> valid <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a> structures"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pAllocator-parameter",
-          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pPipelines-parameter",
-          "text": " <code>pPipelines</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> <a href=\"#VkPipeline\">VkPipeline</a> handles"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-createInfoCount-arraylength",
-          "text": " <code>createInfoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkCreateRayTracingPipelinesKHR-pipelineCache-parent",
-          "text": " If <code>pipelineCache</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ]
-    },
-    "VkRayTracingPipelineCreateInfoNV": {
-      "core": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03421",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid handle to a ray tracing <code>VkPipeline</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03422",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be a valid index into the calling command&#8217;s <code>pCreateInfos</code> parameter"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03423",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is not <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03424",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be <code>-1</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-stage-03425",
-          "text": " The <code>stage</code> member of at least one element of <code>pStages</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_RAYGEN_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pStages-03426",
-          "text": " The shader code for the entry points identified by <code>pStages</code>, and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-03427",
-          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be <a href=\"#descriptorsets-pipelinelayout-consistency\">consistent</a> with all shaders specified in <code>pStages</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-03428",
-          "text": " The number of resources in <code>layout</code> accessible to each shader stage that is used by the pipeline <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxPerStageResources</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-maxRecursionDepth-03457",
-          "text": " <code>maxRecursionDepth</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxRecursionDepth</code>"
-        }
-      ],
-      "(VK_NV_device_generated_commands)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-02904",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV</code>"
-        }
-      ],
-      "(VK_EXT_pipeline_creation_cache_control)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pipelineCreationCacheControl-02905",
-          "text": " If the <a href=\"#features-pipelineCreationCacheControl\"><code>pipelineCreationCacheControl</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT</code> or <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-02957",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include both <code>VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV</code> and <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT</code> at the same time"
-        }
-      ],
-      "(VK_KHR_pipeline_library)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03456",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
-        }
-      ],
-      "(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03458",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03459",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03460",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03461",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03462",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03463",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR</code>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineCreationFeedbackCreateInfoEXT\">VkPipelineCreationFeedbackCreateInfoEXT</a>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pStages-parameter",
-          "text": " <code>pStages</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stageCount</code> valid <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a> structures"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pGroups-parameter",
-          "text": " <code>pGroups</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>groupCount</code> valid <a href=\"#VkRayTracingShaderGroupCreateInfoNV\">VkRayTracingShaderGroupCreateInfoNV</a> structures"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-parameter",
-          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-stageCount-arraylength",
-          "text": " <code>stageCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-groupCount-arraylength",
-          "text": " <code>groupCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-commonparent",
-          "text": " Both of <code>basePipelineHandle</code>, and <code>layout</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "VkRayTracingPipelineCreateInfoKHR": {
-      "core": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03421",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid handle to a ray tracing <code>VkPipeline</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03422",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be a valid index into the calling command&#8217;s <code>pCreateInfos</code> parameter"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03423",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is not <code>-1</code>, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03424",
-          "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be <code>-1</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-stage-03425",
-          "text": " The <code>stage</code> member of at least one element of <code>pStages</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_RAYGEN_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pStages-03426",
-          "text": " The shader code for the entry points identified by <code>pStages</code>, and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-03427",
-          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be <a href=\"#descriptorsets-pipelinelayout-consistency\">consistent</a> with all shaders specified in <code>pStages</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-03428",
-          "text": " The number of resources in <code>layout</code> accessible to each shader stage that is used by the pipeline <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxPerStageResources</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-maxRecursionDepth-03464",
-          "text": " <code>maxRecursionDepth</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>::<code>maxRecursionDepth</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03470",
-          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, for any element of <code>pGroups</code> with a <code>type</code> of <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code> or <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>, the <code>anyHitShader</code> of that element <strong class=\"purple\">must</strong> not be <code>VK_SHADER_UNUSED_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03471",
-          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, for any element of <code>pGroups</code> with a <code>type</code> of <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code> or <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>, the <code>closestHitShader</code> of that element <strong class=\"purple\">must</strong> not be <code>VK_SHADER_UNUSED_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-rayTracingPrimitiveCulling-03472",
-          "text": " If the <a href=\"#features-rayTracingPrimitiveCulling\"><code>rayTracingPrimitiveCulling</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-rayTracingPrimitiveCulling-03473",
-          "text": " If the <a href=\"#features-rayTracingPrimitiveCulling\"><code>rayTracingPrimitiveCulling</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-libraries-02958",
-          "text": " If <code>libraries.libraryCount</code> is zero, then <code>stageCount</code> <strong class=\"purple\">must</strong> not be zero"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-libraries-02959",
-          "text": " If <code>libraries.libraryCount</code> is zero, then <code>groupCount</code> <strong class=\"purple\">must</strong> not be zero"
-        }
-      ],
-      "(VK_NV_device_generated_commands)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-02904",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV</code>"
-        }
-      ],
-      "(VK_EXT_pipeline_creation_cache_control)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pipelineCreationCacheControl-02905",
-          "text": " If the <a href=\"#features-pipelineCreationCacheControl\"><code>pipelineCreationCacheControl</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT</code> or <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT</code>"
-        }
-      ],
-      "(VK_KHR_pipeline_library)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03465",
-          "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-libraryCount-03466",
-          "text": " If the <code>libraryCount</code> member of <code>libraries</code> is greater than <code>0</code>, <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraries-03467",
-          "text": " Each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with the value of <code>maxRecursionDepth</code> equal to that in this pipeline"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraries-03468",
-          "text": " Each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with a <code>layout</code> that is compatible with the <code>layout</code> in this pipeline"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraries-03469",
-          "text": " Each element of the <code>pLibraries</code> member of <code>libraries</code> <strong class=\"purple\">must</strong> have been created with values of the <code>maxPayloadSize</code>, <code>maxAttributeSize</code>, and <code>maxCallableSize</code> members of <code>pLibraryInterface</code> equal to those in this pipeline"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a> or <a href=\"#VkPipelineCreationFeedbackCreateInfoEXT\">VkPipelineCreationFeedbackCreateInfoEXT</a>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pStages-parameter",
-          "text": " If <code>stageCount</code> is not <code>0</code>, <code>pStages</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stageCount</code> valid <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a> structures"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pGroups-parameter",
-          "text": " If <code>groupCount</code> is not <code>0</code>, <code>pGroups</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>groupCount</code> valid <a href=\"#VkRayTracingShaderGroupCreateInfoKHR\">VkRayTracingShaderGroupCreateInfoKHR</a> structures"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-libraries-parameter",
-          "text": " <code>libraries</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInterface-parameter",
-          "text": " If <code>pLibraryInterface</code> is not <code>NULL</code>, <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkRayTracingPipelineInterfaceCreateInfoKHR\">VkRayTracingPipelineInterfaceCreateInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-parameter",
-          "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-commonparent",
-          "text": " Both of <code>basePipelineHandle</code>, and <code>layout</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "VkRayTracingShaderGroupCreateInfoNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02413",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV</code> then <code>generalShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_RAYGEN_BIT_NV</code>, <code>VK_SHADER_STAGE_MISS_BIT_NV</code>, or <code>VK_SHADER_STAGE_CALLABLE_BIT_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02414",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV</code> then <code>closestHitShader</code>, <code>anyHitShader</code>, and <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02415",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_INTERSECTION_BIT_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-02416",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-closestHitShader-02417",
-          "text": " <code>closestHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_NV</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-anyHitShader-02418",
-          "text": " <code>anyHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_NV</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoNV\">VkRayTracingPipelineCreateInfoNV</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_ANY_HIT_BIT_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoNV-type-parameter",
-          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkRayTracingShaderGroupTypeKHR\">VkRayTracingShaderGroupTypeKHR</a> value"
-        }
-      ]
-    },
-    "VkRayTracingShaderGroupCreateInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03474",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR</code> then <code>generalShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_RAYGEN_BIT_KHR</code>, <code>VK_SHADER_STAGE_MISS_BIT_KHR</code>, or <code>VK_SHADER_STAGE_CALLABLE_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03475",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR</code> then <code>closestHitShader</code>, <code>anyHitShader</code>, and <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03476",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_INTERSECTION_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-03477",
-          "text": " If <code>type</code> is <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code> then <code>intersectionShader</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_UNUSED_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-closestHitShader-03478",
-          "text": " <code>closestHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_KHR</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-anyHitShader-03479",
-          "text": " <code>anyHitShader</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_UNUSED_KHR</code> or a valid index into <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>pStages</code> referring to a shader of <code>VK_SHADER_STAGE_ANY_HIT_BIT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-rayTracingShaderGroupHandleCaptureReplayMixed-03480",
-          "text": " If <a href=\"#VkPhysicalDeviceRayTracingFeaturesKHR\">VkPhysicalDeviceRayTracingFeaturesKHR</a>::<code>rayTracingShaderGroupHandleCaptureReplayMixed</code> is <code>VK_FALSE</code> then <code>pShaderGroupCaptureReplayHandle</code> <strong class=\"purple\">must</strong> not be provided if it has not been provided on a previous call to ray tracing pipeline creation"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-rayTracingShaderGroupHandleCaptureReplayMixed-03481",
-          "text": " If <a href=\"#VkPhysicalDeviceRayTracingFeaturesKHR\">VkPhysicalDeviceRayTracingFeaturesKHR</a>::<code>rayTracingShaderGroupHandleCaptureReplayMixed</code> is <code>VK_FALSE</code> then the caller <strong class=\"purple\">must</strong> guarantee that no ray tracing pipeline creation commands with <code>pShaderGroupCaptureReplayHandle</code> provided execute simultaneously with ray tracing pipeline creation commands without <code>pShaderGroupCaptureReplayHandle</code> provided"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingShaderGroupCreateInfoKHR-type-parameter",
-          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkRayTracingShaderGroupTypeKHR\">VkRayTracingShaderGroupTypeKHR</a> value"
-        }
-      ]
-    },
-    "VkRayTracingPipelineInterfaceCreateInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        }
-      ]
-    },
-    "vkGetRayTracingShaderGroupHandlesKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-firstGroup-04050",
-          "text": " <code>firstGroup</code> <strong class=\"purple\">must</strong> be less than the number of shader groups in <code>pipeline</code>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-firstGroup-02419",
-          "text": " The sum of <code>firstGroup</code> and <code>groupCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of shader groups in <code>pipeline</code>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-dataSize-02420",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be at least <span class=\"eq\"><a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>::<code>shaderGroupHandleSize</code> {times} <code>groupCount</code></span>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-parameter",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pData-parameter",
-          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-dataSize-arraylength",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-parent",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_pipeline_library)": [
-        {
-          "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-03482",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have not been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
-        }
-      ]
-    },
-    "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-firstGroup-04051",
-          "text": " <code>firstGroup</code> <strong class=\"purple\">must</strong> be less than the number of shader groups in <code>pipeline</code>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-firstGroup-03483",
-          "text": " The sum of <code>firstGroup</code> and <code>groupCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of shader groups in <code>pipeline</code>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-dataSize-03484",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be at least <span class=\"eq\"><a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>::<code>shaderGroupHandleCaptureReplaySize</code> {times} <code>groupCount</code></span>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-rayTracingShaderGroupHandleCaptureReplay-03485",
-          "text": " <code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingShaderGroupHandleCaptureReplay</code> <strong class=\"purple\">must</strong> be enabled to call this function"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-parameter",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pData-parameter",
-          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-dataSize-arraylength",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-parent",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ]
-    },
-    "vkCompileDeferredNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCompileDeferredNV-pipeline-02237",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV</code>"
-        },
-        {
-          "vuid": "VUID-vkCompileDeferredNV-shader-02238",
-          "text": " <code>shader</code> <strong class=\"purple\">must</strong> not have been called as a deferred compile before"
-        },
-        {
-          "vuid": "VUID-vkCompileDeferredNV-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCompileDeferredNV-pipeline-parameter",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCompileDeferredNV-pipeline-parent",
-          "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ]
-    },
     "VkPipelineCreationFeedbackCreateInfoEXT": {
       "(VK_EXT_pipeline_creation_feedback)": [
         {
@@ -8255,7 +10697,7 @@
           "text": " <code>pipelineStageCreationFeedbackCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
         }
       ],
-      "(VK_EXT_pipeline_creation_feedback)+(VK_KHR_ray_tracing)": [
+      "(VK_EXT_pipeline_creation_feedback)+(VK_KHR_ray_tracing_pipeline)": [
         {
           "vuid": "VUID-VkPipelineCreationFeedbackCreateInfoEXT-pipelineStageCreationFeedbackCount-02670",
           "text": " When chained to <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>, <a href=\"#VkPipelineCreationFeedbackEXT\">VkPipelineCreationFeedbackEXT</a>::<code>pipelineStageCreationFeedbackCount</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkRayTracingPipelineCreateInfoKHR\">VkRayTracingPipelineCreateInfoKHR</a>::<code>stageCount</code>"
@@ -8402,7 +10844,7 @@
       "(VK_KHR_external_memory_fd)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-01742",
-          "text": " If the parameters define an import operation, the external handle specified was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the memory object being imported was created"
+          "text": " If the parameters define an import operation, the external handle specified was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the payload being imported was created."
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-00648",
@@ -8412,11 +10854,11 @@
       "(VK_KHR_external_memory+VK_KHR_device_group)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-None-00643",
-          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the device mask specified by <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a> <strong class=\"purple\">must</strong> match that specified when the memory object being imported was allocated"
+          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the device mask specified by <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a> <strong class=\"purple\">must</strong> match that specified when the payload being imported was allocated."
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-None-00644",
-          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the list of physical devices that comprise the logical device passed to <a href=\"#vkAllocateMemory\">vkAllocateMemory</a> <strong class=\"purple\">must</strong> match the list of physical devices that comprise the logical device on which the memory was originally allocated"
+          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the list of physical devices that comprise the logical device passed to <a href=\"#vkAllocateMemory\">vkAllocateMemory</a> <strong class=\"purple\">must</strong> match the list of physical devices that comprise the logical device on which the payload was originally allocated."
         }
       ],
       "(VK_KHR_external_memory_win32)": [
@@ -8426,11 +10868,11 @@
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-01743",
-          "text": " If the parameters define an import operation, the external handle was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR</code> or <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the memory object being imported was created"
+          "text": " If the parameters define an import operation, the external handle was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR</code> or <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the payload being imported was created."
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-00647",
-          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</code>, <code>allocationSize</code> <strong class=\"purple\">must</strong> match the size specified when creating the Direct3D 12 heap from which the external handle was extracted"
+          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</code>, <code>allocationSize</code> <strong class=\"purple\">must</strong> match the size specified when creating the Direct3D 12 heap from which the payload was extracted."
         }
       ],
       "(VK_VERSION_1_1)": [
@@ -8527,6 +10969,16 @@
           "text": " If the <code>pNext</code> chain includes a <code>VkImportMemoryHostPointerInfoEXT</code> structure, <a href=\"#VkMemoryOpaqueCaptureAddressAllocateInfo\">VkMemoryOpaqueCaptureAddressAllocateInfo</a>::<code>opaqueCaptureAddress</code> <strong class=\"purple\">must</strong> be zero"
         }
       ],
+      "(VK_FUCHSIA_external_memory)": [
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-None-04749",
+          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the value of <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> be an index identifying a memory type from the <code>memoryTypeBits</code> field of the <a href=\"#VkMemoryZirconHandlePropertiesFUCHSIA\">VkMemoryZirconHandlePropertiesFUCHSIA</a> structure populated by a call to <a href=\"#vkGetMemoryZirconHandlePropertiesFUCHSIA\">vkGetMemoryZirconHandlePropertiesFUCHSIA</a>."
+        },
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-04750",
+          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the value of <code>allocationSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code> and <strong class=\"purple\">must</strong> be less than or equal to the size of the VMO as determined by <code>zx_vmo_get_size</code>(<code>handle</code>) where <code>handle</code> is the VMO handle to the imported external memory."
+        }
+      ],
       "core": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-sType-sType",
@@ -8534,7 +10986,7 @@
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>, <a href=\"#VkExportMemoryAllocateInfoNV\">VkExportMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryWin32HandleInfoKHR\">VkExportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkExportMemoryWin32HandleInfoNV\">VkExportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a>, <a href=\"#VkImportMemoryFdInfoKHR\">VkImportMemoryFdInfoKHR</a>, <a href=\"#VkImportMemoryHostPointerInfoEXT\">VkImportMemoryHostPointerInfoEXT</a>, <a href=\"#VkImportMemoryWin32HandleInfoKHR\">VkImportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkImportMemoryWin32HandleInfoNV\">VkImportMemoryWin32HandleInfoNV</a>, <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a>, <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>, <a href=\"#VkMemoryOpaqueCaptureAddressAllocateInfo\">VkMemoryOpaqueCaptureAddressAllocateInfo</a>, or <a href=\"#VkMemoryPriorityAllocateInfoEXT\">VkMemoryPriorityAllocateInfoEXT</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>, <a href=\"#VkExportMemoryAllocateInfoNV\">VkExportMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryWin32HandleInfoKHR\">VkExportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkExportMemoryWin32HandleInfoNV\">VkExportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a>, <a href=\"#VkImportMemoryFdInfoKHR\">VkImportMemoryFdInfoKHR</a>, <a href=\"#VkImportMemoryHostPointerInfoEXT\">VkImportMemoryHostPointerInfoEXT</a>, <a href=\"#VkImportMemoryWin32HandleInfoKHR\">VkImportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkImportMemoryWin32HandleInfoNV\">VkImportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportMemoryZirconHandleInfoFUCHSIA\">VkImportMemoryZirconHandleInfoFUCHSIA</a>, <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a>, <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>, <a href=\"#VkMemoryOpaqueCaptureAddressAllocateInfo\">VkMemoryOpaqueCaptureAddressAllocateInfo</a>, or <a href=\"#VkMemoryPriorityAllocateInfoEXT\">VkMemoryPriorityAllocateInfoEXT</a>"
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-sType-unique",
@@ -8618,6 +11070,16 @@
           "vuid": "VUID-VkMemoryDedicatedAllocateInfo-image-01797",
           "text": " If <code>image</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>image</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> set in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code>"
         }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_FUCHSIA_external_memory)": [
+        {
+          "vuid": "VUID-VkMemoryDedicatedAllocateInfo-image-04751",
+          "text": " If <code>image</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation with handle type <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the memory being imported <strong class=\"purple\">must</strong> also be a dedicated image allocation and <code>image</code> <strong class=\"purple\">must</strong> be identical to the image associated with the imported memory"
+        },
+        {
+          "vuid": "VUID-VkMemoryDedicatedAllocateInfo-buffer-04752",
+          "text": " If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation with handle type <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the memory being imported <strong class=\"purple\">must</strong> also be a dedicated buffer allocation and <code>buffer</code> <strong class=\"purple\">must</strong> be identical to the buffer associated with the imported memory"
+        }
       ]
     },
     "VkDedicatedAllocationMemoryAllocateInfoNV": {
@@ -8858,11 +11320,11 @@
         },
         {
           "vuid": "VUID-VkImportMemoryFdInfoKHR-handleType-00669",
-          "text": " If <code>handleType</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be defined as a POSIX file descriptor handle"
+          "text": " If <code>handleType</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT</code>."
         },
         {
           "vuid": "VUID-VkImportMemoryFdInfoKHR-handleType-00670",
-          "text": " If <code>handleType</code> is not <code>0</code>, <code>fd</code> <strong class=\"purple\">must</strong> be a valid handle of the type specified by <code>handleType</code>"
+          "text": " If <code>handleType</code> is not <code>0</code>, <code>fd</code> <strong class=\"purple\">must</strong> be a valid POSIX file descriptor handle."
         },
         {
           "vuid": "VUID-VkImportMemoryFdInfoKHR-fd-01746",
@@ -9218,6 +11680,106 @@
         }
       ]
     },
+    "VkImportMemoryZirconHandleInfoFUCHSIA": {
+      "(VK_FUCHSIA_external_memory)": [
+        {
+          "vuid": "VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-04771",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>."
+        },
+        {
+          "vuid": "VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handle-04772",
+          "text": " <code>handle</code> must be a valid VMO handle."
+        },
+        {
+          "vuid": "VUID-VkImportMemoryZirconHandleInfoFUCHSIA-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA</code>"
+        },
+        {
+          "vuid": "VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-parameter",
+          "text": " If <code>handleType</code> is not <code>0</code>, <code>handleType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkExternalMemoryHandleTypeFlagBits\">VkExternalMemoryHandleTypeFlagBits</a> value"
+        }
+      ]
+    },
+    "vkGetMemoryZirconHandlePropertiesFUCHSIA": {
+      "(VK_FUCHSIA_external_memory)": [
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-04773",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>."
+        },
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-zirconHandle-04774",
+          "text": " <code>zirconHandle</code> must reference a valid VMO."
+        },
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-parameter",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkExternalMemoryHandleTypeFlagBits\">VkExternalMemoryHandleTypeFlagBits</a> value"
+        },
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-pMemoryZirconHandleProperties-parameter",
+          "text": " <code>pMemoryZirconHandleProperties</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkMemoryZirconHandlePropertiesFUCHSIA\">VkMemoryZirconHandlePropertiesFUCHSIA</a> structure"
+        }
+      ]
+    },
+    "VkMemoryZirconHandlePropertiesFUCHSIA": {
+      "(VK_FUCHSIA_external_memory)": [
+        {
+          "vuid": "VUID-VkMemoryZirconHandlePropertiesFUCHSIA-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryZirconHandlePropertiesFUCHSIA-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
+    "vkGetMemoryZirconHandleFUCHSIA": {
+      "(VK_FUCHSIA_external_memory)": [
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandleFUCHSIA-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandleFUCHSIA-pGetZirconHandleInfo-parameter",
+          "text": " <code>pGetZirconHandleInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkMemoryGetZirconHandleInfoFUCHSIA\">VkMemoryGetZirconHandleInfoFUCHSIA</a> structure"
+        },
+        {
+          "vuid": "VUID-vkGetMemoryZirconHandleFUCHSIA-pZirconHandle-parameter",
+          "text": " <code>pZirconHandle</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>zx_handle_t</code> value"
+        }
+      ]
+    },
+    "VkMemoryGetZirconHandleInfoFUCHSIA": {
+      "(VK_FUCHSIA_external_memory)": [
+        {
+          "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04775",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>."
+        },
+        {
+          "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04776",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> have been included in the <code>handleTypes</code> field of the <code>VkExportMemoryAllocateInfo</code> structure when the external memory was allocated."
+        },
+        {
+          "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-memory-parameter",
+          "text": " <code>memory</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> handle"
+        },
+        {
+          "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-parameter",
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkExternalMemoryHandleTypeFlagBits\">VkExternalMemoryHandleTypeFlagBits</a> value"
+        }
+      ]
+    },
     "VkMemoryAllocateFlagsInfo": {
       "(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
@@ -9367,14 +11929,14 @@
           "text": " If <code>size</code> is equal to <code>VK_WHOLE_SIZE</code>, <code>offset</code> <strong class=\"purple\">must</strong> be within the currently mapped range of <code>memory</code>"
         },
         {
-          "vuid": "VUID-VkMappedMemoryRange-size-01389",
-          "text": " If <code>size</code> is equal to <code>VK_WHOLE_SIZE</code>, the end of the current mapping of <code>memory</code> <strong class=\"purple\">must</strong> be a multiple of <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>nonCoherentAtomSize</code> bytes from the beginning of the memory object"
-        },
-        {
           "vuid": "VUID-VkMappedMemoryRange-offset-00687",
           "text": " <code>offset</code> <strong class=\"purple\">must</strong> be a multiple of <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>nonCoherentAtomSize</code>"
         },
         {
+          "vuid": "VUID-VkMappedMemoryRange-size-01389",
+          "text": " If <code>size</code> is equal to <code>VK_WHOLE_SIZE</code>, the end of the current mapping of <code>memory</code> <strong class=\"purple\">must</strong> either be a multiple of <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>nonCoherentAtomSize</code> bytes from the beginning of the memory object, or be equal to the end of the memory object"
+        },
+        {
           "vuid": "VUID-VkMappedMemoryRange-size-01390",
           "text": " If <code>size</code> is not equal to <code>VK_WHOLE_SIZE</code>, <code>size</code> <strong class=\"purple\">must</strong> either be a multiple of <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>nonCoherentAtomSize</code>, or <code>offset</code> plus <code>size</code> <strong class=\"purple\">must</strong> equal the size of <code>memory</code>"
         },
@@ -10237,6 +12799,14 @@
         {
           "vuid": "VUID-VkImageCreateInfo-format-01577",
           "text": " If <code>format</code> is not a <em>multi-planar</em> format, and <code>flags</code> does not include <code>VK_IMAGE_CREATE_ALIAS_BIT</code>, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_CREATE_DISJOINT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageCreateInfo-format-04712",
+          "text": " If <code>format</code> has a <code>_422</code> or <code>_420</code> suffix, <code>width</code> <strong class=\"purple\">must</strong> be a multiple of 2"
+        },
+        {
+          "vuid": "VUID-VkImageCreateInfo-format-04713",
+          "text": " If <code>format</code> has a <code>_420</code> suffix, <code>height</code> <strong class=\"purple\">must</strong> be a multiple of 2"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_EXT_ycbcr_image_arrays)": [
@@ -10271,7 +12841,7 @@
           "text": " If <code>flags</code> contains <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> <code>format</code> <strong class=\"purple\">must</strong> be a depth or depth/stencil format"
         }
       ],
-      "(VK_EXT_separate_stencil_usage)": [
+      "(VK_VERSION_1_2,VK_EXT_separate_stencil_usage)": [
         {
           "vuid": "VUID-VkImageCreateInfo-format-02795",
           "text": " If <code>format</code> is a depth-stencil format, <code>usage</code> includes <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, and the <code>pNext</code> chain includes a <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a> structure, then its <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>::<code>stencilUsage</code> member <strong class=\"purple\">must</strong> also include <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
@@ -10319,23 +12889,45 @@
           "text": " If <code>flags</code> contains <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> and <code>imageType</code> is <code>VK_IMAGE_TYPE_3D</code>, <code>extent.width</code>, <code>extent.height</code>, and <code>extent.depth</code> <strong class=\"purple\">must</strong> be greater than <code>1</code>"
         }
       ],
-      "(VK_NV_shading_rate_image)": [
+      "(VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image)": [
         {
           "vuid": "VUID-VkImageCreateInfo-imageType-02082",
-          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>imageType</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_2D</code>"
+          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>, <code>imageType</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_2D</code>"
         },
         {
           "vuid": "VUID-VkImageCreateInfo-samples-02083",
-          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>samples</code> <strong class=\"purple\">must</strong> be <code>VK_SAMPLE_COUNT_1_BIT</code>"
-        },
+          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>, <code>samples</code> <strong class=\"purple\">must</strong> be <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        }
+      ],
+      "(VK_NV_shading_rate_image)": [
         {
           "vuid": "VUID-VkImageCreateInfo-tiling-02084",
           "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>tiling</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TILING_OPTIMAL</code>"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkImageCreateInfo-imageView2DOn3DImage-04459",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>imageView2DOn3DImage</code> is <code>VK_FALSE</code>, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code>."
+        },
+        {
+          "vuid": "VUID-VkImageCreateInfo-multisampleArrayImage-04460",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>multisampleArrayImage</code> is <code>VK_FALSE</code>, and <code>samples</code> is not <code>VK_SAMPLE_COUNT_1_BIT</code>, then <code>arrayLayers</code> <strong class=\"purple\">must</strong> be <code>1</code>."
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_image_format_list)": [
+        {
+          "vuid": "VUID-VkImageCreateInfo-pNext-04737",
+          "text": " If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero then all of the formats in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a>"
+        },
+        {
+          "vuid": "VUID-VkImageCreateInfo-flags-04738",
+          "text": " If <code>flags</code> does not contain <code>VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT</code> and the <code>pNext</code> chain include a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure then <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> <strong class=\"purple\">must</strong> be <code>0</code> or <code>1</code>"
+        }
       ]
     },
     "VkImageStencilUsageCreateInfo": {
-      "(VK_EXT_separate_stencil_usage)": [
+      "(VK_VERSION_1_2,VK_EXT_separate_stencil_usage)": [
         {
           "vuid": "VUID-VkImageStencilUsageCreateInfo-stencilUsage-02539",
           "text": " If <code>stencilUsage</code> includes <code>VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT</code>, it <strong class=\"purple\">must</strong> not include bits other than <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code> or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
@@ -10375,10 +12967,6 @@
         {
           "vuid": "VUID-VkExternalMemoryImageCreateInfo-handleTypes-parameter",
           "text": " <code>handleTypes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkExternalMemoryHandleTypeFlagBits\">VkExternalMemoryHandleTypeFlagBits</a> values"
-        },
-        {
-          "vuid": "VUID-VkExternalMemoryImageCreateInfo-handleTypes-requiredbitmask",
-          "text": " <code>handleTypes</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
         }
       ]
     },
@@ -10517,6 +13105,22 @@
           "text": " The <code>arrayLayer</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
         },
         {
+          "vuid": "VUID-vkGetImageSubresourceLayout-format-04461",
+          "text": " If <code>format</code> is a color format, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkGetImageSubresourceLayout-format-04462",
+          "text": " If <code>format</code> has a depth component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_ASPECT_DEPTH_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkGetImageSubresourceLayout-format-04463",
+          "text": " If <code>format</code> has a stencil component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkGetImageSubresourceLayout-format-04464",
+          "text": " If <code>format</code> does not contain a stencil or depth component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
+        },
+        {
           "vuid": "VUID-vkGetImageSubresourceLayout-device-parameter",
           "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
         },
@@ -10665,6 +13269,10 @@
           "text": " If the <a href=\"#features-imageCubeArray\">image cubemap arrays</a> feature is not enabled, <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
         },
         {
+          "vuid": "VUID-VkImageViewCreateInfo-image-04441",
+          "text": " <code>image</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing at least one of the usages defined in the <a href=\"#valid-imageview-imageusage\">valid image usage</a> list for image views"
+        },
+        {
           "vuid": "VUID-VkImageViewCreateInfo-None-02273",
           "text": " The <a href=\"#resources-image-view-format-features\">format features</a> of the resultant image view <strong class=\"purple\">must</strong> contain at least one bit"
         },
@@ -10779,30 +13387,6 @@
           "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> &#43; <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>"
         }
       ],
-      "!(VK_EXT_fragment_density_map)+!(VK_NV_shading_rate_image)": [
-        {
-          "vuid": "VUID-VkImageViewCreateInfo-image-01007",
-          "text": " <code>image</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing at least one of <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, <code>VK_IMAGE_USAGE_STORAGE_BIT</code>, <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, or <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>"
-        }
-      ],
-      "!(VK_EXT_fragment_density_map)+(VK_NV_shading_rate_image)": [
-        {
-          "vuid": "VUID-VkImageViewCreateInfo-image-02085",
-          "text": " <code>image</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing at least one of <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, <code>VK_IMAGE_USAGE_STORAGE_BIT</code>, <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>, or <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>"
-        }
-      ],
-      "(VK_EXT_fragment_density_map)+!(VK_NV_shading_rate_image)": [
-        {
-          "vuid": "VUID-VkImageViewCreateInfo-image-02569",
-          "text": " <code>image</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing at least one of <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, <code>VK_IMAGE_USAGE_STORAGE_BIT</code>, <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>, or <code>VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT</code>"
-        }
-      ],
-      "(VK_EXT_fragment_density_map)+(VK_NV_shading_rate_image)": [
-        {
-          "vuid": "VUID-VkImageViewCreateInfo-image-02570",
-          "text": " <code>image</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing at least one of <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, <code>VK_IMAGE_USAGE_STORAGE_BIT</code>, <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>, <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, or <code>VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT</code>"
-        }
-      ],
       "(VK_EXT_fragment_density_map)": [
         {
           "vuid": "VUID-VkImageViewCreateInfo-image-02571",
@@ -10859,20 +13443,16 @@
         {
           "vuid": "VUID-VkImageViewCreateInfo-image-01584",
           "text": " If <code>image</code> was created with the <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code> flag, the <code>levelCount</code> and <code>layerCount</code> members of <code>subresourceRange</code> <strong class=\"purple\">must</strong> both be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-image-04739",
+          "text": " If <code>image</code> was created with the <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code> flag and <code>format</code> is a non-compressed format, <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_3D</code>"
         }
       ],
       "(VK_VERSION_1_2,VK_KHR_image_format_list)": [
         {
           "vuid": "VUID-VkImageViewCreateInfo-pNext-01585",
           "text": " If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure used when creating <code>image</code> and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero then <code>format</code> <strong class=\"purple\">must</strong> be one of the formats in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code>"
-        },
-        {
-          "vuid": "VUID-VkImageViewCreateInfo-pNext-04082",
-          "text": " If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure used when creating <code>image</code> and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero then all of the formats in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a>"
-        },
-        {
-          "vuid": "VUID-VkImageViewCreateInfo-flags-04083",
-          "text": " If <code>flags</code> dose not contain <code>VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT</code> and the <code>pNext</code> chain include a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure then <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> <strong class=\"purple\">must</strong> be <code>0</code> or <code>1</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
@@ -10885,6 +13465,18 @@
           "text": " If <code>image</code> was not created with the <code>VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT</code> flag, or if the <code>format</code> of the <code>image</code> is a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar</a> format and if <code>subresourceRange.aspectMask</code> is <code>VK_IMAGE_ASPECT_COLOR_BIT</code>, <code>format</code> <strong class=\"purple\">must</strong> be identical to the <code>format</code> used to create <code>image</code>"
         },
         {
+          "vuid": "VUID-VkImageViewCreateInfo-format-04724",
+          "text": " If <code>format</code> is one of those listed in <a href=\"#formats-requiring-sampler-ycbcr-conversion\">Formats requiring sampler Y′C<sub>B</sub>C<sub>R</sub> conversion for <code>VK_IMAGE_ASPECT_COLOR_BIT</code> image views</a>, then the pNext chain <strong class=\"purple\">must</strong> include a <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a> structure with a conversion value other than VK_NULL_HANDLE"
+        },
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-format-04714",
+          "text": " If <code>format</code> has a <code>_422</code> or <code>_420</code> suffix then <code>image</code> <strong class=\"purple\">must</strong> have been created with a width that is a multiple of 2"
+        },
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-format-04715",
+          "text": " If <code>format</code> has a <code>_420</code> suffix then <code>image</code> <strong class=\"purple\">must</strong> have been created with a height that is a multiple of 2"
+        },
+        {
           "vuid": "VUID-VkImageViewCreateInfo-pNext-01970",
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a> structure with a <code>conversion</code> value other than <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, all members of <code>components</code> <strong class=\"purple\">must</strong> have the <a href=\"#resources-image-views-identity-mappings\">identity swizzle</a>"
         }
@@ -10909,14 +13501,26 @@
           "text": " If <code>image</code> has an <a href=\"#memory-external-android-hardware-buffer-external-formats\">external format</a>, all members of <code>components</code> <strong class=\"purple\">must</strong> be the <a href=\"#resources-image-views-identity-mappings\">identity swizzle</a>"
         }
       ],
-      "(VK_NV_shading_rate_image)": [
+      "(VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image)": [
         {
           "vuid": "VUID-VkImageViewCreateInfo-image-02086",
-          "text": " If <code>image</code> was created with <code>usage</code> containing <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>viewType</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>"
-        },
+          "text": " If <code>image</code> was created with <code>usage</code> containing <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>, <code>viewType</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_shading_rate_image)": [
         {
           "vuid": "VUID-VkImageViewCreateInfo-image-02087",
-          "text": " If <code>image</code> was created with <code>usage</code> containing <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>format</code> <strong class=\"purple\">must</strong> be <code>VK_FORMAT_R8_UINT</code>"
+          "text": " If the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code> feature</a> is enabled, and If <code>image</code> was created with <code>usage</code> containing <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>format</code> <strong class=\"purple\">must</strong> be <code>VK_FORMAT_R8_UINT</code>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-usage-04550",
+          "text": " If the <a href=\"#features-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code> feature</a> is enabled, and the <code>usage</code> for the image view includes <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-usage-04551",
+          "text": " If the <a href=\"#features-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code> feature</a> is enabled, the <code>usage</code> for the image view includes <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>, and <a href=\"#limits-layeredShadingRateAttachments\"><code>layeredShadingRateAttachments</code></a> is <code>VK_FALSE</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
         }
       ],
       "(VK_EXT_fragment_density_map)+(VK_EXT_fragment_density_map2)": [
@@ -10933,13 +13537,13 @@
           "text": " If <code>image</code> was created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code> and <code>usage</code> containing <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxSubsampledArrayLayers\"><code>VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</code>::<code>maxSubsampledArrayLayers</code></a>"
         }
       ],
-      "(VK_VERSION_1_1,VK_KHR_maintenance2)+!(VK_EXT_separate_stencil_usage)": [
+      "(VK_VERSION_1_1,VK_KHR_maintenance2)+!(VK_VERSION_1_2+VK_EXT_separate_stencil_usage)": [
         {
           "vuid": "VUID-VkImageViewCreateInfo-pNext-02661",
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a> structure, its <code>usage</code> member <strong class=\"purple\">must</strong> not include any bits that were not set in the <code>usage</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure used to create <code>image</code>"
         }
       ],
-      "(VK_VERSION_1_1,VK_KHR_maintenance2)+(VK_EXT_separate_stencil_usage)": [
+      "(VK_VERSION_1_1,VK_KHR_maintenance2)+(VK_VERSION_1_2,VK_EXT_separate_stencil_usage)": [
         {
           "vuid": "VUID-VkImageViewCreateInfo-pNext-02662",
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a> structure, and <code>image</code> was not created with a <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a> structure included in the <code>pNext</code> chain of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>, its <code>usage</code> member <strong class=\"purple\">must</strong> not include any bits that were not set in the <code>usage</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure used to create <code>image</code>"
@@ -10952,6 +13556,16 @@
           "vuid": "VUID-VkImageViewCreateInfo-pNext-02664",
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a> structure, <code>image</code> was created with a <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a> structure included in the <code>pNext</code> chain of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>, and <code>subResourceRange.aspectMask</code> includes bits other than <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>, the <code>usage</code> member of the <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a> structure <strong class=\"purple\">must</strong> not include any bits that were not set in the <code>usage</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure used to create <code>image</code>"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-imageViewFormatSwizzle-04465",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>imageViewFormatSwizzle</code> is <code>VK_FALSE</code>, all elements of <code>components</code> <strong class=\"purple\">must</strong> be <code>VK_COMPONENT_SWIZZLE_IDENTITY</code>."
+        },
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-imageViewFormatReinterpretation-04466",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>imageViewFormatReinterpretation</code> is <code>VK_FALSE</code>, the <a href=\"#VkFormat\">VkFormat</a> in <code>format</code> <strong class=\"purple\">must</strong> not contain a different number of components, or a different number of bits in each component, than the format of the <code>VkImage</code> in <code>image</code>."
+        }
       ]
     },
     "VkImageViewUsageCreateInfo": {
@@ -11170,6 +13784,624 @@
         }
       ]
     },
+    "vkCreateAccelerationStructureNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureNV-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureNV-pCreateInfo-parameter",
+          "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureCreateInfoNV\">VkAccelerationStructureCreateInfoNV</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureNV-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureNV-pAccelerationStructure-parameter",
+          "text": " <code>pAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        }
+      ]
+    },
+    "VkAccelerationStructureCreateInfoNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-compactedSize-02421",
+          "text": " If <code>compactedSize</code> is not <code>0</code> then both <code>info.geometryCount</code> and <code>info.instanceCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-info-parameter",
+          "text": " <code>info</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a> structure"
+        }
+      ]
+    },
+    "VkAccelerationStructureInfoNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-geometryCount-02422",
+          "text": " <code>geometryCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxGeometryCount</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-instanceCount-02423",
+          "text": " <code>instanceCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxInstanceCount</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-maxTriangleCount-02424",
+          "text": " The total number of triangles in all geometries <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxTriangleCount</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-type-02425",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV</code> then <code>geometryCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-type-02426",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV</code> then <code>instanceCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-type-02786",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV</code> then the <code>geometryType</code> member of each geometry in <code>pGeometries</code> <strong class=\"purple\">must</strong> be the same"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-flags-02592",
+          "text": " If <code>flags</code> has the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV</code> bit set, then it <strong class=\"purple\">must</strong> not have the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-scratch-02781",
+          "text": " <code>scratch</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-instanceData-02782",
+          "text": " If <code>instanceData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>instanceData</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-type-parameter",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureTypeNV\">VkAccelerationStructureTypeNV</a> value"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBuildAccelerationStructureFlagBitsNV\">VkBuildAccelerationStructureFlagBitsNV</a> values"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-pGeometries-parameter",
+          "text": " If <code>geometryCount</code> is not <code>0</code>, <code>pGeometries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>geometryCount</code> valid <a href=\"#VkGeometryNV\">VkGeometryNV</a> structures"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureInfoNV-type-04623",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> not be <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        }
+      ]
+    },
+    "vkCreateAccelerationStructureKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureKHR-accelerationStructure-03611",
+          "text": " The <a href=\"#features-accelerationStructure\"><code>accelerationStructure</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureKHR-deviceAddress-03488",
+          "text": " If <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>deviceAddress</code> is not zero, the <a href=\"#features-accelerationStructureCaptureReplay\"><code>accelerationStructureCaptureReplay</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureKHR-device-03489",
+          "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureKHR-pCreateInfo-parameter",
+          "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureKHR-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateAccelerationStructureKHR-pAccelerationStructure-parameter",
+          "text": " <code>pAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        }
+      ]
+    },
+    "VkAccelerationStructureCreateInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-03612",
+          "text": " If <code>deviceAddress</code> is not zero, <code>createFlags</code> <strong class=\"purple\">must</strong> include <code>VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-createFlags-03613",
+          "text": " If <code>createFlags</code> includes <code>VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR</code>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>::<code>accelerationStructureCaptureReplay</code> <strong class=\"purple\">must</strong> be <code>VK_TRUE</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-buffer-03614",
+          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing <code>VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-buffer-03615",
+          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-offset-03616",
+          "text": " The sum of <code>offset</code> and <code>size</code> <strong class=\"purple\">must</strong> be less than the size of <code>buffer</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-offset-03734",
+          "text": " <code>offset</code> <strong class=\"purple\">must</strong> be a multiple of <code>256</code> bytes"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-createFlags-parameter",
+          "text": " <code>createFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkAccelerationStructureCreateFlagBitsKHR\">VkAccelerationStructureCreateFlagBitsKHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-buffer-parameter",
+          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-parameter",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureTypeKHR\">VkAccelerationStructureTypeKHR</a> value"
+        }
+      ]
+    },
+    "vkGetAccelerationStructureBuildSizesKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-rayTracingPipeline-03617",
+          "text": " The <a href=\"#features-rayTracingPipeline\"><code>rayTracingPipeline</code></a> or <a href=\"#features-rayQuery\"><code>rayQuery</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-device-03618",
+          "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-pBuildInfo-03619",
+          "text": " If <code>pBuildInfo-&gt;geometryCount</code> is not <code>0</code>, <code>pMaxPrimitiveCounts</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pBuildInfo-&gt;geometryCount</code> <code>uint32_t</code> values"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-pBuildInfo-03785",
+          "text": " If <code>pBuildInfo-&gt;pGeometries</code> or <code>pBuildInfo-&gt;ppGeometries</code> has a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, each <code>pMaxPrimitiveCounts</code>[i] <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-buildType-parameter",
+          "text": " <code>buildType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureBuildTypeKHR\">VkAccelerationStructureBuildTypeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-pBuildInfo-parameter",
+          "text": " <code>pBuildInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-pMaxPrimitiveCounts-parameter",
+          "text": " If <code>pMaxPrimitiveCounts</code> is not <code>NULL</code>, <code>pMaxPrimitiveCounts</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pBuildInfo-&gt;geometryCount</code> <code>uint32_t</code> values"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureBuildSizesKHR-pSizeInfo-parameter",
+          "text": " <code>pSizeInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkAccelerationStructureBuildSizesInfoKHR\">VkAccelerationStructureBuildSizesInfoKHR</a> structure"
+        }
+      ]
+    },
+    "VkAccelerationStructureBuildSizesInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildSizesInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildSizesInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
+    "VkGeometryNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkGeometryNV-geometryType-03503",
+          "text": " <code>geometryType</code> <strong class=\"purple\">must</strong> be <code>VK_GEOMETRY_TYPE_TRIANGLES_NV</code> or <code>VK_GEOMETRY_TYPE_AABBS_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GEOMETRY_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryNV-geometryType-parameter",
+          "text": " <code>geometryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryTypeKHR\">VkGeometryTypeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-VkGeometryNV-geometry-parameter",
+          "text": " <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryDataNV\">VkGeometryDataNV</a> structure"
+        },
+        {
+          "vuid": "VUID-VkGeometryNV-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkGeometryFlagBitsKHR\">VkGeometryFlagBitsKHR</a> values"
+        }
+      ]
+    },
+    "VkGeometryDataNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkGeometryDataNV-triangles-parameter",
+          "text": " <code>triangles</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryTrianglesNV\">VkGeometryTrianglesNV</a> structure"
+        },
+        {
+          "vuid": "VUID-VkGeometryDataNV-aabbs-parameter",
+          "text": " <code>aabbs</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryAABBNV\">VkGeometryAABBNV</a> structure"
+        }
+      ]
+    },
+    "VkGeometryTrianglesNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-vertexOffset-02428",
+          "text": " <code>vertexOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>vertexData</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-vertexOffset-02429",
+          "text": " <code>vertexOffset</code> <strong class=\"purple\">must</strong> be a multiple of the component size of <code>vertexFormat</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-vertexFormat-02430",
+          "text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> be one of <code>VK_FORMAT_R32G32B32_SFLOAT</code>, <code>VK_FORMAT_R32G32_SFLOAT</code>, <code>VK_FORMAT_R16G16B16_SFLOAT</code>, <code>VK_FORMAT_R16G16_SFLOAT</code>, <code>VK_FORMAT_R16G16_SNORM</code>, or <code>VK_FORMAT_R16G16B16_SNORM</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-vertexStride-03818",
+          "text": " <code>vertexStride</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>32</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexOffset-02431",
+          "text": " <code>indexOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>indexData</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexOffset-02432",
+          "text": " <code>indexOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of <code>indexType</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexType-02433",
+          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be <code>VK_INDEX_TYPE_UINT16</code>, <code>VK_INDEX_TYPE_UINT32</code>, or <code>VK_INDEX_TYPE_NONE_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexData-02434",
+          "text": " <code>indexData</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> if <code>indexType</code> is <code>VK_INDEX_TYPE_NONE_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexData-02435",
+          "text": " <code>indexData</code> <strong class=\"purple\">must</strong> be a valid <code>VkBuffer</code> handle if <code>indexType</code> is not <code>VK_INDEX_TYPE_NONE_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexCount-02436",
+          "text": " <code>indexCount</code> <strong class=\"purple\">must</strong> be <code>0</code> if <code>indexType</code> is <code>VK_INDEX_TYPE_NONE_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-transformOffset-02437",
+          "text": " <code>transformOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>transformData</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-transformOffset-02438",
+          "text": " <code>transformOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>16</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-vertexData-parameter",
+          "text": " If <code>vertexData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>vertexData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-vertexFormat-parameter",
+          "text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFormat\">VkFormat</a> value"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexData-parameter",
+          "text": " If <code>indexData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>indexData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-indexType-parameter",
+          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkIndexType\">VkIndexType</a> value"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-transformData-parameter",
+          "text": " If <code>transformData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>transformData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkGeometryTrianglesNV-commonparent",
+          "text": " Each of <code>indexData</code>, <code>transformData</code>, and <code>vertexData</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "VkGeometryAABBNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkGeometryAABBNV-offset-02439",
+          "text": " <code>offset</code> <strong class=\"purple\">must</strong> be less than the size of <code>aabbData</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryAABBNV-offset-02440",
+          "text": " <code>offset</code> <strong class=\"purple\">must</strong> be a multiple of <code>8</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryAABBNV-stride-02441",
+          "text": " <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of <code>8</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryAABBNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryAABBNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkGeometryAABBNV-aabbData-parameter",
+          "text": " If <code>aabbData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>aabbData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        }
+      ]
+    },
+    "vkDestroyAccelerationStructureKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02442",
+          "text": " All submitted commands that refer to <code>accelerationStructure</code> <strong class=\"purple\">must</strong> have completed execution"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02443",
+          "text": " If <code>VkAllocationCallbacks</code> were provided when <code>accelerationStructure</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02444",
+          "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>accelerationStructure</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-parameter",
+          "text": " If <code>accelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureKHR-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-parent",
+          "text": " If <code>accelerationStructure</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ]
+    },
+    "vkDestroyAccelerationStructureNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03752",
+          "text": " All submitted commands that refer to <code>accelerationStructure</code> <strong class=\"purple\">must</strong> have completed execution"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03753",
+          "text": " If <code>VkAllocationCallbacks</code> were provided when <code>accelerationStructure</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03754",
+          "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>accelerationStructure</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureNV-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureNV-accelerationStructure-parameter",
+          "text": " If <code>accelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureNV-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+        },
+        {
+          "vuid": "VUID-vkDestroyAccelerationStructureNV-accelerationStructure-parent",
+          "text": " If <code>accelerationStructure</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ]
+    },
+    "vkGetAccelerationStructureMemoryRequirementsNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsNV-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsNV-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a> structure"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsNV-pMemoryRequirements-parameter",
+          "text": " <code>pMemoryRequirements</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkMemoryRequirements2KHR\">VkMemoryRequirements2KHR</a> structure"
+        }
+      ]
+    },
+    "VkAccelerationStructureMemoryRequirementsInfoNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-type-parameter",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureMemoryRequirementsTypeNV\">VkAccelerationStructureMemoryRequirementsTypeNV</a> value"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-accelerationStructure-parameter",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        }
+      ]
+    },
+    "vkBindAccelerationStructureMemoryNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkBindAccelerationStructureMemoryNV-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkBindAccelerationStructureMemoryNV-pBindInfos-parameter",
+          "text": " <code>pBindInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>bindInfoCount</code> valid <a href=\"#VkBindAccelerationStructureMemoryInfoNV\">VkBindAccelerationStructureMemoryInfoNV</a> structures"
+        },
+        {
+          "vuid": "VUID-vkBindAccelerationStructureMemoryNV-bindInfoCount-arraylength",
+          "text": " <code>bindInfoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        }
+      ]
+    },
+    "VkBindAccelerationStructureMemoryInfoNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-03620",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> not already be backed by a memory object"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03621",
+          "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>memory</code>"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-memory-03622",
+          "text": " <code>memory</code> <strong class=\"purple\">must</strong> have been allocated using one of the memory types allowed in the <code>memoryTypeBits</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsNV\">vkGetAccelerationStructureMemoryRequirementsNV</a> with <code>accelerationStructure</code> and <code>type</code> of <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03623",
+          "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsNV\">vkGetAccelerationStructureMemoryRequirementsNV</a> with <code>accelerationStructure</code> and <code>type</code> of <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-size-03624",
+          "text": " The <code>size</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsNV\">vkGetAccelerationStructureMemoryRequirementsNV</a> with <code>accelerationStructure</code> and <code>type</code> of <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>memory</code> minus <code>memoryOffset</code>"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-parameter",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-memory-parameter",
+          "text": " <code>memory</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> handle"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-pDeviceIndices-parameter",
+          "text": " If <code>deviceIndexCount</code> is not <code>0</code>, <code>pDeviceIndices</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>deviceIndexCount</code> <code>uint32_t</code> values"
+        },
+        {
+          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoNV-commonparent",
+          "text": " Both of <code>accelerationStructure</code>, and <code>memory</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "vkGetAccelerationStructureHandleNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkGetAccelerationStructureHandleNV-dataSize-02240",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be large enough to contain the result of the query, as described above"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-02787",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object via <a href=\"#vkBindAccelerationStructureMemoryNV\">vkBindAccelerationStructureMemoryNV</a>"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureHandleNV-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parameter",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureHandleNV-pData-parameter",
+          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureHandleNV-dataSize-arraylength",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parent",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ]
+    },
+    "vkGetAccelerationStructureDeviceAddressKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkGetAccelerationStructureDeviceAddressKHR-device-03504",
+          "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureDeviceAddressKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureDeviceAddressInfoKHR\">VkAccelerationStructureDeviceAddressInfoKHR</a> structure"
+        }
+      ]
+    },
+    "VkAccelerationStructureDeviceAddressInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureDeviceAddressInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureDeviceAddressInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureDeviceAddressInfoKHR-accelerationStructure-parameter",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        }
+      ]
+    },
     "vkGetBufferMemoryRequirements": {
       "core": [
         {
@@ -11495,27 +14727,27 @@
     "VkBindBufferMemoryInfo": {
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01593",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01029",
           "text": " <code>buffer</code> <strong class=\"purple\">must</strong> not already be backed by a memory object"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01594",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01030",
           "text": " <code>buffer</code> <strong class=\"purple\">must</strong> not have been created with any sparse memory binding flags"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01595",
+          "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01031",
           "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>memory</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-memory-01599",
+          "vuid": "VUID-VkBindBufferMemoryInfo-memory-01035",
           "text": " <code>memory</code> <strong class=\"purple\">must</strong> have been allocated using one of the memory types allowed in the <code>memoryTypeBits</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <code>vkGetBufferMemoryRequirements</code> with <code>buffer</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01600",
+          "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01036",
           "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <code>vkGetBufferMemoryRequirements</code> with <code>buffer</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-size-01601",
+          "vuid": "VUID-VkBindBufferMemoryInfo-size-01037",
           "text": " The <code>size</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <code>vkGetBufferMemoryRequirements</code> with <code>buffer</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>memory</code> minus <code>memoryOffset</code>"
         },
         {
@@ -11545,69 +14777,69 @@
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01602",
-          "text": " If <code>buffer</code> requires a dedicated allocation(as reported by <a href=\"#vkGetBufferMemoryRequirements2\">vkGetBufferMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>buffer</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> equal to <code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01444",
+          "text": " If <code>buffer</code> requires a dedicated allocation(as reported by <a href=\"#vkGetBufferMemoryRequirements2\">vkGetBufferMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>buffer</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> equal to <code>buffer</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-memory-01900",
-          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>buffer</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+          "vuid": "VUID-VkBindBufferMemoryInfo-memory-01508",
+          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>buffer</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code>, and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-04122",
-          "text": " If <code>buffer</code> was created with the <code>VK_BUFFER_CREATE_PROTECTED_BIT</code> bit set, the buffer <strong class=\"purple\">must</strong> be bound to a memory object allocated with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
+          "vuid": "VUID-VkBindBufferMemoryInfo-None-01898",
+          "text": " If buffer was created with the <code>VK_BUFFER_CREATE_PROTECTED_BIT</code> bit set, the buffer <strong class=\"purple\">must</strong> be bound to a memory object allocated with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-04123",
-          "text": " If <code>buffer</code> was created with the <code>VK_BUFFER_CREATE_PROTECTED_BIT</code> bit not set, the buffer <strong class=\"purple\">must</strong> not be bound to a memory object created with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
+          "vuid": "VUID-VkBindBufferMemoryInfo-None-01899",
+          "text": " If buffer was created with the <code>VK_BUFFER_CREATE_PROTECTED_BIT</code> bit not set, the buffer <strong class=\"purple\">must</strong> not be bound to a memory object created with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01603",
-          "text": " If <code>buffer</code> was created with <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>::<code>buffer</code> equal to <code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01038",
+          "text": " If <code>buffer</code> was created with <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>::<code>buffer</code> equal to a buffer handle created with identical creation parameters to <code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01604",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01039",
           "text": " If <code>buffer</code> was not created with <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> not have been allocated dedicated for a specific buffer or image"
         }
       ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)": [
+        {
+          "vuid": "VUID-VkBindBufferMemoryInfo-memory-02726",
+          "text": " If the value of <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>::<code>handleTypes</code> used to allocate <code>memory</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> include at least one of the handles set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkBindBufferMemoryInfo-memory-02727",
+          "text": " If <code>memory</code> was created by a memory import operation, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkBindBufferMemoryInfo-memory-02985",
+          "text": " If <code>memory</code> was created by a memory import operation, that is not <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> with a non-<code>NULL</code> <code>buffer</code> value, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
+        },
+        {
+          "vuid": "VUID-VkBindBufferMemoryInfo-memory-02986",
+          "text": " If <code>memory</code> was created with the <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> memory import operation with a non-<code>NULL</code> <code>buffer</code> value, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_2,VK_KHR_buffer_device_address)": [
+        {
+          "vuid": "VUID-VkBindBufferMemoryInfo-bufferDeviceAddress-03339",
+          "text": " If the <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>::<code>bufferDeviceAddress</code> feature is enabled and <code>buffer</code> was created with the <code>VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</code> bit set"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
           "vuid": "VUID-VkBindBufferMemoryInfo-pNext-01605",
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkBindBufferMemoryDeviceGroupInfo\">VkBindBufferMemoryDeviceGroupInfo</a> structure, all instances of <code>memory</code> specified by <a href=\"#VkBindBufferMemoryDeviceGroupInfo\">VkBindBufferMemoryDeviceGroupInfo</a>::<code>pDeviceIndices</code> <strong class=\"purple\">must</strong> have been allocated"
         }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)": [
-        {
-          "vuid": "VUID-VkBindBufferMemoryInfo-handleTypes-02791",
-          "text": " If the value of <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>::<code>handleTypes</code> used to allocate <code>memory</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> include at least one of the handles set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
-        {
-          "vuid": "VUID-VkBindBufferMemoryInfo-memory-02792",
-          "text": " If <code>memory</code> was created by a memory import operation, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
-        {
-          "vuid": "VUID-VkBindBufferMemoryInfo-memory-02987",
-          "text": " If <code>memory</code> was created by a memory import operation, that is not <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> with a non-<code>NULL</code> <code>buffer</code> value, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
-        },
-        {
-          "vuid": "VUID-VkBindBufferMemoryInfo-memory-02988",
-          "text": " If <code>memory</code> was created with the <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> memory import operation with a non-<code>NULL</code> <code>buffer</code> value, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code> when <code>buffer</code> was created"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_KHR_buffer_device_address)": [
-        {
-          "vuid": "VUID-VkBindBufferMemoryInfo-bufferDeviceAddress-02838",
-          "text": " If the <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesKHR\">VkPhysicalDeviceBufferDeviceAddressFeaturesKHR</a>::<code>bufferDeviceAddress</code> feature is enabled and <code>buffer</code> was created with the <code>VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR</code> bit set"
-        }
       ]
     },
     "VkBindBufferMemoryDeviceGroupInfo": {
@@ -11631,12 +14863,6 @@
       ]
     },
     "vkBindImageMemory": {
-      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
-        {
-          "vuid": "VUID-vkBindImageMemory-image-01608",
-          "text": " <code>image</code> <strong class=\"purple\">must</strong> not have been created with the <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> set"
-        }
-      ],
       "core": [
         {
           "vuid": "VUID-vkBindImageMemory-image-01044",
@@ -11748,6 +14974,12 @@
           "vuid": "VUID-vkBindImageMemory-memory-02990",
           "text": " If <code>memory</code> was created with the <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> memory import operation with a non-<code>NULL</code> <code>buffer</code> value, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
         }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-vkBindImageMemory-image-01608",
+          "text": " <code>image</code> <strong class=\"purple\">must</strong> not have been created with the <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> set"
+        }
       ]
     },
     "vkBindImageMemory2": {
@@ -11779,15 +15011,15 @@
     "VkBindImageMemoryInfo": {
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfo-image-01609",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01044",
           "text": " <code>image</code> <strong class=\"purple\">must</strong> not already be backed by a memory object"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfo-image-01610",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01045",
           "text": " <code>image</code> <strong class=\"purple\">must</strong> not have been created with any sparse memory binding flags"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfo-memoryOffset-01611",
+          "vuid": "VUID-VkBindImageMemoryInfo-memoryOffset-01046",
           "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>memory</code>"
         },
         {
@@ -11811,6 +15043,72 @@
           "text": " Both of <code>image</code>, and <code>memory</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
       ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01445",
+          "text": " If <code>image</code> requires a dedicated allocation (as reported by <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>image</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> equal to <code>image</code>"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+!(VK_NV_dedicated_allocation_image_aliasing)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-01509",
+          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>image</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_NV_dedicated_allocation_image_aliasing)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-02628",
+          "text": " If the <a href=\"#features-dedicatedAllocationImageAliasing\">dedicated allocation image aliasing</a> feature is not enabled, and the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>image</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+        },
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-02629",
+          "text": " If the <a href=\"#features-dedicatedAllocationImageAliasing\">dedicated allocation image aliasing</a> feature is enabled, and the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero, and <code>image</code> <strong class=\"purple\">must</strong> be either equal to <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> or an image that was created using the same parameters in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>, with the exception that <code>extent</code> and <code>arrayLayers</code> <strong class=\"purple\">may</strong> differ subject to the following restrictions: every dimension in the <code>extent</code> parameter of the image being bound <strong class=\"purple\">must</strong> be equal to or smaller than the original image for which the allocation was created; and the <code>arrayLayers</code> parameter of the image being bound <strong class=\"purple\">must</strong> be equal to or smaller than the original image for which the allocation was created"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-None-01901",
+          "text": " If image was created with the <code>VK_IMAGE_CREATE_PROTECTED_BIT</code> bit set, the image <strong class=\"purple\">must</strong> be bound to a memory object allocated with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-None-01902",
+          "text": " If image was created with the <code>VK_IMAGE_CREATE_PROTECTED_BIT</code> bit not set, the image <strong class=\"purple\">must</strong> not be bound to a memory object created with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01050",
+          "text": " If <code>image</code> was created with <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>::<code>image</code> equal to an image handle created with identical creation parameters to <code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01051",
+          "text": " If <code>image</code> was not created with <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> not have been allocated dedicated for a specific buffer or image"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-02728",
+          "text": " If the value of <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>::<code>handleTypes</code> used to allocate <code>memory</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> include at least one of the handles set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-02729",
+          "text": " If <code>memory</code> was created by a memory import operation, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-02989",
+          "text": " If <code>memory</code> was created by a memory import operation, that is not <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> with a non-<code>NULL</code> <code>buffer</code> value, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
+        },
+        {
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-02990",
+          "text": " If <code>memory</code> was created with the <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> memory import operation with a non-<code>NULL</code> <code>buffer</code> value, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
           "vuid": "VUID-VkBindImageMemoryInfo-memory-01612",
@@ -11855,50 +15153,6 @@
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, the difference of the size of <code>memory</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> with the same <code>image</code> and where <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a>::<code>planeAspect</code> corresponds to the <a href=\"#VkImagePlaneMemoryRequirementsInfo\">VkImagePlaneMemoryRequirementsInfo</a>::<code>planeAspect</code> in the <a href=\"#VkImageMemoryRequirementsInfo2\">VkImageMemoryRequirementsInfo2</a> structure&#8217;s <code>pNext</code> chain"
         }
       ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-image-01622",
-          "text": " If <code>image</code> requires a dedicated allocation (as reported by <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>image</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> equal to <code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+!(VK_NV_dedicated_allocation_image_aliasing)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-memory-01903",
-          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>image</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_NV_dedicated_allocation_image_aliasing)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-memory-02630",
-          "text": " If the <a href=\"#features-dedicatedAllocationImageAliasing\">dedicated allocation image aliasing</a> feature is not enabled, and the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>image</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
-        },
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-memory-02631",
-          "text": " If the <a href=\"#features-dedicatedAllocationImageAliasing\">dedicated allocation image aliasing</a> feature is enabled, and the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero, and <code>image</code> <strong class=\"purple\">must</strong> be either equal to <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> or an image that was created using the same parameters in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>, with the exception that <code>extent</code> and <code>arrayLayers</code> <strong class=\"purple\">may</strong> differ subject to the following restrictions: every dimension in the <code>extent</code> parameter of the image being bound <strong class=\"purple\">must</strong> be equal to or smaller than the original image for which the allocation was created; and the <code>arrayLayers</code> parameter of the image being bound <strong class=\"purple\">must</strong> be equal to or smaller than the original image for which the allocation was created"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-None-04124",
-          "text": " If image was created with the <code>VK_IMAGE_CREATE_PROTECTED_BIT</code> bit set, the image <strong class=\"purple\">must</strong> be bound to a memory object allocated with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
-        },
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-None-04125",
-          "text": " If image was created with the <code>VK_IMAGE_CREATE_PROTECTED_BIT</code> bit not set, the image <strong class=\"purple\">must</strong> not be bound to a memory object created with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-image-01623",
-          "text": " If <code>image</code> was created with <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>::<code>image</code> equal to <code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-image-01624",
-          "text": " If <code>image</code> was not created with <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> not have been allocated dedicated for a specific buffer or image"
-        }
-      ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1+VK_KHR_swapchain)+!(VK_KHR_device_group+VK_KHR_swapchain)": [
         {
           "vuid": "VUID-VkBindImageMemoryInfo-memory-01625",
@@ -11936,28 +15190,6 @@
           "vuid": "VUID-VkBindImageMemoryInfo-pNext-01632",
           "text": " If the <code>pNext</code> chain does not include a <a href=\"#VkBindImageMemorySwapchainInfoKHR\">VkBindImageMemorySwapchainInfoKHR</a> structure, <code>memory</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> handle"
         }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-handleTypes-02793",
-          "text": " If the value of <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>::<code>handleTypes</code> used to allocate <code>memory</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> include at least one of the handles set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-memory-02794",
-          "text": " If <code>memory</code> was created by a memory import operation, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_external_memory)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-memory-02991",
-          "text": " If <code>memory</code> was created by a memory import operation, that is not <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> with a non-<code>NULL</code> <code>buffer</code> value, the external handle type of the imported memory <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
-        },
-        {
-          "vuid": "VUID-VkBindImageMemoryInfo-memory-02992",
-          "text": " If <code>memory</code> was created with the <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> memory import operation with a non-<code>NULL</code> <code>buffer</code> value, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
-        }
       ]
     },
     "VkBindImageMemoryDeviceGroupInfo": {
@@ -12050,626 +15282,6 @@
         }
       ]
     },
-    "vkCreateAccelerationStructureNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureNV-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureNV-pCreateInfo-parameter",
-          "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureCreateInfoNV\">VkAccelerationStructureCreateInfoNV</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureNV-pAllocator-parameter",
-          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureNV-pAccelerationStructure-parameter",
-          "text": " <code>pAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
-        }
-      ]
-    },
-    "VkAccelerationStructureCreateInfoNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-compactedSize-02421",
-          "text": " If <code>compactedSize</code> is not <code>0</code> then both <code>info.geometryCount</code> and <code>info.instanceCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoNV-info-parameter",
-          "text": " <code>info</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a> structure"
-        }
-      ]
-    },
-    "VkAccelerationStructureInfoNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-geometryCount-02422",
-          "text": " <code>geometryCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxGeometryCount</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-instanceCount-02423",
-          "text": " <code>instanceCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxInstanceCount</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-maxTriangleCount-02424",
-          "text": " The total number of triangles in all geometries <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxTriangleCount</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-type-02425",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV</code> then <code>geometryCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-type-02426",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV</code> then <code>instanceCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-type-02786",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV</code> then the <code>geometryType</code> member of each geometry in <code>pGeometries</code> <strong class=\"purple\">must</strong> be the same"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-flags-02592",
-          "text": " If <code>flags</code> has the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV</code> bit set, then it <strong class=\"purple\">must</strong> not have the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV</code> bit set"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-scratch-02781",
-          "text": " <code>scratch</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-instanceData-02782",
-          "text": " If <code>instanceData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>instanceData</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-type-parameter",
-          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureTypeNV\">VkAccelerationStructureTypeNV</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBuildAccelerationStructureFlagBitsNV\">VkBuildAccelerationStructureFlagBitsNV</a> values"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureInfoNV-pGeometries-parameter",
-          "text": " If <code>geometryCount</code> is not <code>0</code>, <code>pGeometries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>geometryCount</code> valid <a href=\"#VkGeometryNV\">VkGeometryNV</a> structures"
-        }
-      ]
-    },
-    "vkCreateAccelerationStructureKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureKHR-rayTracing-03487",
-          "text": " The <a href=\"#features-raytracing\"><code>rayTracing</code></a> or <a href=\"#features-rayQuery\"><code>rayQuery</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureKHR-deviceAddress-03488",
-          "text": " If <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>deviceAddress</code> is not zero, the <a href=\"#features-raytracing-ascapturereplay\"><code>rayTracingAccelerationStructureCaptureReplay</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureKHR-device-03489",
-          "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureKHR-pCreateInfo-parameter",
-          "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureKHR-pAllocator-parameter",
-          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCreateAccelerationStructureKHR-pAccelerationStructure-parameter",
-          "text": " <code>pAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        }
-      ]
-    },
-    "VkAccelerationStructureCreateInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-compactedSize-03490",
-          "text": " If <code>compactedSize</code> is not <code>0</code> then <code>maxGeometryCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-compactedSize-02993",
-          "text": " If <code>compactedSize</code> is <code>0</code> then <code>maxGeometryCount</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-03491",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> then <code>maxGeometryCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>::<code>maxGeometryCount</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-03492",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code> then the <code>maxPrimitiveCount</code> member of each element of the <code>pGeometryInfos</code> array <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>::<code>maxInstanceCount</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-maxPrimitiveCount-03493",
-          "text": " The total number of triangles in all geometries <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>::<code>maxPrimitiveCount</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-maxPrimitiveCount-03494",
-          "text": " The total number of AABBs in all geometries <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesKHR\">VkPhysicalDeviceRayTracingPropertiesKHR</a>::<code>maxPrimitiveCount</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-03495",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code> and <code>compactedSize</code> is <code>0</code>, <code>maxGeometryCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-03496",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code> and <code>compactedSize</code> is <code>0</code>, the <code>geometryType</code> member of elements of <code>pGeometryInfos</code> <strong class=\"purple\">must</strong> be <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-03497",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> and <code>compactedSize</code> is <code>0</code>, the <code>geometryType</code> member of elements of <code>pGeometryInfos</code> <strong class=\"purple\">must</strong> not be <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-03498",
-          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> then the <code>geometryType</code> member of each geometry in <code>pGeometryInfos</code> <strong class=\"purple\">must</strong> be the same"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-flags-03499",
-          "text": " If <code>flags</code> has the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR</code> bit set, then it <strong class=\"purple\">must</strong> not have the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR</code> bit set"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-03500",
-          "text": " If <code>deviceAddress</code> is not <code>0</code>, <a href=\"#VkPhysicalDeviceRayTracingFeaturesKHR\">VkPhysicalDeviceRayTracingFeaturesKHR</a>::<code>rayTracingAccelerationStructureCaptureReplay</code> <strong class=\"purple\">must</strong> be <code>VK_TRUE</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-type-parameter",
-          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureTypeKHR\">VkAccelerationStructureTypeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBuildAccelerationStructureFlagBitsKHR\">VkBuildAccelerationStructureFlagBitsKHR</a> values"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-pGeometryInfos-parameter",
-          "text": " If <code>maxGeometryCount</code> is not <code>0</code>, <code>pGeometryInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>maxGeometryCount</code> valid <a href=\"#VkAccelerationStructureCreateGeometryTypeInfoKHR\">VkAccelerationStructureCreateGeometryTypeInfoKHR</a> structures"
-        }
-      ]
-    },
-    "VkAccelerationStructureCreateGeometryTypeInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateGeometryTypeInfoKHR-geometryType-03501",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, <code>vertexFormat</code> <strong class=\"purple\">must</strong> support the <code>VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR</code> in <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>bufferFeatures</code> as returned by <a href=\"#vkGetPhysicalDeviceFormatProperties2\">vkGetPhysicalDeviceFormatProperties2</a>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateGeometryTypeInfoKHR-geometryType-03502",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, <code>indexType</code> <strong class=\"purple\">must</strong> be <code>VK_INDEX_TYPE_UINT16</code>, <code>VK_INDEX_TYPE_UINT32</code>, or <code>VK_INDEX_TYPE_NONE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateGeometryTypeInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateGeometryTypeInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateGeometryTypeInfoKHR-geometryType-parameter",
-          "text": " <code>geometryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryTypeKHR\">VkGeometryTypeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateGeometryTypeInfoKHR-indexType-parameter",
-          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkIndexType\">VkIndexType</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureCreateGeometryTypeInfoKHR-vertexFormat-parameter",
-          "text": " If <code>vertexFormat</code> is not <code>0</code>, <code>vertexFormat</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFormat\">VkFormat</a> value"
-        }
-      ]
-    },
-    "VkGeometryNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkGeometryNV-geometryType-03503",
-          "text": " <code>geometryType</code> <strong class=\"purple\">must</strong> be <code>VK_GEOMETRY_TYPE_TRIANGLES_NV</code> or <code>VK_GEOMETRY_TYPE_AABBS_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GEOMETRY_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryNV-geometryType-parameter",
-          "text": " <code>geometryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryTypeKHR\">VkGeometryTypeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkGeometryNV-geometry-parameter",
-          "text": " <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryDataNV\">VkGeometryDataNV</a> structure"
-        },
-        {
-          "vuid": "VUID-VkGeometryNV-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkGeometryFlagBitsKHR\">VkGeometryFlagBitsKHR</a> values"
-        }
-      ]
-    },
-    "VkGeometryDataNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkGeometryDataNV-triangles-parameter",
-          "text": " <code>triangles</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryTrianglesNV\">VkGeometryTrianglesNV</a> structure"
-        },
-        {
-          "vuid": "VUID-VkGeometryDataNV-aabbs-parameter",
-          "text": " <code>aabbs</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryAABBNV\">VkGeometryAABBNV</a> structure"
-        }
-      ]
-    },
-    "VkGeometryTrianglesNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-vertexOffset-02428",
-          "text": " <code>vertexOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>vertexData</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-vertexOffset-02429",
-          "text": " <code>vertexOffset</code> <strong class=\"purple\">must</strong> be a multiple of the component size of <code>vertexFormat</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-vertexFormat-02430",
-          "text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> be one of <code>VK_FORMAT_R32G32B32_SFLOAT</code>, <code>VK_FORMAT_R32G32_SFLOAT</code>, <code>VK_FORMAT_R16G16B16_SFLOAT</code>, <code>VK_FORMAT_R16G16_SFLOAT</code>, <code>VK_FORMAT_R16G16_SNORM</code>, or <code>VK_FORMAT_R16G16B16_SNORM</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexOffset-02431",
-          "text": " <code>indexOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>indexData</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexOffset-02432",
-          "text": " <code>indexOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of <code>indexType</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexType-02433",
-          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be <code>VK_INDEX_TYPE_UINT16</code>, <code>VK_INDEX_TYPE_UINT32</code>, or <code>VK_INDEX_TYPE_NONE_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexData-02434",
-          "text": " <code>indexData</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> if <code>indexType</code> is <code>VK_INDEX_TYPE_NONE_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexData-02435",
-          "text": " <code>indexData</code> <strong class=\"purple\">must</strong> be a valid <code>VkBuffer</code> handle if <code>indexType</code> is not <code>VK_INDEX_TYPE_NONE_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexCount-02436",
-          "text": " <code>indexCount</code> <strong class=\"purple\">must</strong> be <code>0</code> if <code>indexType</code> is <code>VK_INDEX_TYPE_NONE_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-transformOffset-02437",
-          "text": " <code>transformOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>transformData</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-transformOffset-02438",
-          "text": " <code>transformOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>16</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-vertexData-parameter",
-          "text": " If <code>vertexData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>vertexData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-vertexFormat-parameter",
-          "text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFormat\">VkFormat</a> value"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexData-parameter",
-          "text": " If <code>indexData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>indexData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-indexType-parameter",
-          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkIndexType\">VkIndexType</a> value"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-transformData-parameter",
-          "text": " If <code>transformData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>transformData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-VkGeometryTrianglesNV-commonparent",
-          "text": " Each of <code>indexData</code>, <code>transformData</code>, and <code>vertexData</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "VkGeometryAABBNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkGeometryAABBNV-offset-02439",
-          "text": " <code>offset</code> <strong class=\"purple\">must</strong> be less than the size of <code>aabbData</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryAABBNV-offset-02440",
-          "text": " <code>offset</code> <strong class=\"purple\">must</strong> be a multiple of <code>8</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryAABBNV-stride-02441",
-          "text": " <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of <code>8</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryAABBNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryAABBNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkGeometryAABBNV-aabbData-parameter",
-          "text": " If <code>aabbData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>aabbData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
-        }
-      ]
-    },
-    "vkDestroyAccelerationStructureKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02442",
-          "text": " All submitted commands that refer to <code>accelerationStructure</code> <strong class=\"purple\">must</strong> have completed execution"
-        },
-        {
-          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02443",
-          "text": " If <code>VkAllocationCallbacks</code> were provided when <code>accelerationStructure</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
-        },
-        {
-          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02444",
-          "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>accelerationStructure</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-vkDestroyAccelerationStructureKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-parameter",
-          "text": " If <code>accelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-vkDestroyAccelerationStructureKHR-pAllocator-parameter",
-          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
-        },
-        {
-          "vuid": "VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-parent",
-          "text": " If <code>accelerationStructure</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ]
-    },
-    "vkGetAccelerationStructureMemoryRequirementsNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsNV-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsNV-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a> structure"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsNV-pMemoryRequirements-parameter",
-          "text": " <code>pMemoryRequirements</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkMemoryRequirements2KHR\">VkMemoryRequirements2KHR</a> structure"
-        }
-      ]
-    },
-    "VkAccelerationStructureMemoryRequirementsInfoNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-type-parameter",
-          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureMemoryRequirementsTypeNV\">VkAccelerationStructureMemoryRequirementsTypeNV</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoNV-accelerationStructure-parameter",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
-        }
-      ]
-    },
-    "vkGetAccelerationStructureMemoryRequirementsKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureMemoryRequirementsInfoKHR\">VkAccelerationStructureMemoryRequirementsInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureMemoryRequirementsKHR-pMemoryRequirements-parameter",
-          "text": " <code>pMemoryRequirements</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkMemoryRequirements2\">VkMemoryRequirements2</a> structure"
-        }
-      ]
-    },
-    "VkAccelerationStructureMemoryRequirementsInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoKHR-type-parameter",
-          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureMemoryRequirementsTypeKHR\">VkAccelerationStructureMemoryRequirementsTypeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoKHR-buildType-parameter",
-          "text": " <code>buildType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureBuildTypeKHR\">VkAccelerationStructureBuildTypeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureMemoryRequirementsInfoKHR-accelerationStructure-parameter",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        }
-      ]
-    },
-    "vkBindAccelerationStructureMemoryKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkBindAccelerationStructureMemoryKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkBindAccelerationStructureMemoryKHR-pBindInfos-parameter",
-          "text": " <code>pBindInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>bindInfoCount</code> valid <a href=\"#VkBindAccelerationStructureMemoryInfoKHR\">VkBindAccelerationStructureMemoryInfoKHR</a> structures"
-        },
-        {
-          "vuid": "VUID-vkBindAccelerationStructureMemoryKHR-bindInfoCount-arraylength",
-          "text": " <code>bindInfoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        }
-      ]
-    },
-    "VkBindAccelerationStructureMemoryInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-accelerationStructure-02450",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> not already be backed by a memory object"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-memoryOffset-02451",
-          "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>memory</code>"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-memory-02593",
-          "text": " <code>memory</code> <strong class=\"purple\">must</strong> have been allocated using one of the memory types allowed in the <code>memoryTypeBits</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsKHR\">vkGetAccelerationStructureMemoryRequirementsKHR</a> with <code>accelerationStructure</code> and <code>type</code> of <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-memoryOffset-02594",
-          "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsKHR\">vkGetAccelerationStructureMemoryRequirementsKHR</a> with <code>accelerationStructure</code> and <code>type</code> of <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-size-02595",
-          "text": " The <code>size</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsKHR\">vkGetAccelerationStructureMemoryRequirementsKHR</a> with <code>accelerationStructure</code> and <code>type</code> of <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>memory</code> minus <code>memoryOffset</code>"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-accelerationStructure-parameter",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-memory-parameter",
-          "text": " <code>memory</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> handle"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-pDeviceIndices-parameter",
-          "text": " If <code>deviceIndexCount</code> is not <code>0</code>, <code>pDeviceIndices</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>deviceIndexCount</code> <code>uint32_t</code> values"
-        },
-        {
-          "vuid": "VUID-VkBindAccelerationStructureMemoryInfoKHR-commonparent",
-          "text": " Both of <code>accelerationStructure</code>, and <code>memory</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "vkGetAccelerationStructureHandleNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-vkGetAccelerationStructureHandleNV-dataSize-02240",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be large enough to contain the result of the query, as described above"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-02787",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object via <a href=\"#vkBindAccelerationStructureMemoryKHR\">vkBindAccelerationStructureMemoryKHR</a>"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureHandleNV-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parameter",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureHandleNV-pData-parameter",
-          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureHandleNV-dataSize-arraylength",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parent",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ]
-    },
-    "vkGetAccelerationStructureDeviceAddressKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkGetAccelerationStructureDeviceAddressKHR-device-03504",
-          "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureDeviceAddressKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureDeviceAddressInfoKHR\">VkAccelerationStructureDeviceAddressInfoKHR</a> structure"
-        }
-      ]
-    },
-    "VkAccelerationStructureDeviceAddressInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureDeviceAddressInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureDeviceAddressInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureDeviceAddressInfoKHR-accelerationStructure-parameter",
-          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        }
-      ]
-    },
     "vkCreateSampler": {
       "core": [
         {
@@ -12741,6 +15353,10 @@
           "text": " If any of <code>addressModeU</code>, <code>addressModeV</code> or <code>addressModeW</code> are <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER</code>, <code>borderColor</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBorderColor\">VkBorderColor</a> value"
         },
         {
+          "vuid": "VUID-VkSamplerCreateInfo-addressModeU-01079",
+          "text": " If <a href=\"#features-samplerMirrorClampToEdge\">samplerMirrorClampToEdge</a> is not enabled, and if the <code><a href=\"#VK_KHR_sampler_mirror_clamp_to_edge\">VK_KHR_sampler_mirror_clamp_to_edge</a></code> extension is not enabled, <code>addressModeU</code>, <code>addressModeV</code> and <code>addressModeW</code> <strong class=\"purple\">must</strong> not be <code>VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE</code>"
+        },
+        {
           "vuid": "VUID-VkSamplerCreateInfo-compareEnable-01080",
           "text": " If <code>compareEnable</code> is <code>VK_TRUE</code>, <code>compareOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCompareOp\">VkCompareOp</a> value"
         },
@@ -12785,6 +15401,12 @@
           "text": " <code>addressModeW</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> value"
         }
       ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkSamplerCreateInfo-samplerMipLodBias-04467",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>samplerMipLodBias</code> is <code>VK_FALSE</code>, <code>mipLodBias</code> <strong class=\"purple\">must</strong> be zero."
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
           "vuid": "VUID-VkSamplerCreateInfo-minFilter-01645",
@@ -12801,12 +15423,6 @@
           "text": " The sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code> if <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> is enabled"
         }
       ],
-      "(VK_VERSION_1_2,VK_KHR_sampler_mirror_clamp_to_edge)": [
-        {
-          "vuid": "VUID-VkSamplerCreateInfo-addressModeU-01079",
-          "text": "     If ifdef::VK_VERSION_1_2[<a href=\"#features-samplerMirrorClampToEdge\">samplerMirrorClampToEdge</a> is not enabled, and if]     the <code><a href=\"#VK_KHR_sampler_mirror_clamp_to_edge\">VK_KHR_sampler_mirror_clamp_to_edge</a></code> extension is not enabled,     <code>addressModeU</code>, <code>addressModeV</code> and <code>addressModeW</code> <strong class=\"purple\">must</strong> not     be <code>VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE</code>"
-        }
-      ],
       "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
         {
           "vuid": "VUID-VkSamplerCreateInfo-magFilter-01081",
@@ -12858,11 +15474,15 @@
       "(VK_EXT_custom_border_color)": [
         {
           "vuid": "VUID-VkSamplerCreateInfo-borderColor-04011",
-          "text": " If <code>borderColor</code> is set to one of <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>, then a <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a> <strong class=\"purple\">must</strong> be present in the <code>pNext</code> chain"
+          "text": " If <code>borderColor</code> is one of <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>, then a <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a> <strong class=\"purple\">must</strong> be present in the <code>pNext</code> chain"
         },
         {
           "vuid": "VUID-VkSamplerCreateInfo-customBorderColors-04085",
-          "text": " If the <a href=\"#features-customBorderColors\"><code>customBorderColors</code></a> feature is not enabled, <code>borderColor</code> <strong class=\"purple\">must</strong> not be set to <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>"
+          "text": " If the <a href=\"#features-customBorderColors\"><code>customBorderColors</code></a> feature is not enabled, <code>borderColor</code> <strong class=\"purple\">must</strong> not be <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkSamplerCreateInfo-borderColor-04442",
+          "text": " If <code>borderColor</code> is one of <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>, and <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>::<code>format</code> is not <code>VK_FORMAT_UNDEFINED</code>, <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>::<code>customBorderColor</code> <strong class=\"purple\">must</strong> be within the range of values representable in <code>format</code>."
         },
         {
           "vuid": "VUID-VkSamplerCreateInfo-None-04012",
@@ -13134,7 +15754,7 @@
         },
         {
           "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDescriptorSetLayoutBindingFlagsCreateInfo\">VkDescriptorSetLayoutBindingFlagsCreateInfo</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDescriptorSetLayoutBindingFlagsCreateInfo\">VkDescriptorSetLayoutBindingFlagsCreateInfo</a> or <a href=\"#VkMutableDescriptorTypeCreateInfoVALVE\">VkMutableDescriptorTypeCreateInfoVALVE</a>"
         },
         {
           "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-sType-unique",
@@ -13165,6 +15785,16 @@
           "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR</code>, then all elements of <code>pBindings</code> <strong class=\"purple\">must</strong> not have a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT</code>"
         }
       ],
+      "(VK_KHR_push_descriptor)+(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-04590",
+          "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR</code>, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-04591",
+          "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR</code>, <code>pBindings</code> <strong class=\"purple\">must</strong> not have a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        }
+      ],
       "(VK_VERSION_1_2,VK_EXT_descriptor_indexing)": [
         {
           "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-03000",
@@ -13174,6 +15804,80 @@
           "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-descriptorType-03001",
           "text": " If any binding has the <code>VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT</code> bit set, then all bindings <strong class=\"purple\">must</strong> not have <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>"
         }
+      ],
+      "(VK_VERSION_1_2,VK_EXT_descriptor_indexing)+(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-04592",
+          "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT</code>, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE</code>"
+        }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-descriptorType-04593",
+          "text": " If any binding has a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, then a <a href=\"#VkMutableDescriptorTypeCreateInfoVALVE\">VkMutableDescriptorTypeCreateInfoVALVE</a> <strong class=\"purple\">must</strong> be present in the <code>pNext</code> chain"
+        },
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-descriptorType-04594",
+          "text": " If a binding has a <code>descriptorType</code> value of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, then <code>pImmutableSamplers</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-mutableDescriptorType-04595",
+          "text": " If <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>::<code>mutableDescriptorType</code> is not enabled, <code>pBindings</code> <strong class=\"purple\">must</strong> not contain a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-04596",
+          "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE</code>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>::<code>mutableDescriptorType</code> <strong class=\"purple\">must</strong> be enabled"
+        }
+      ]
+    },
+    "VkMutableDescriptorTypeCreateInfoVALVE": {
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeCreateInfoVALVE-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeCreateInfoVALVE-pMutableDescriptorTypeLists-parameter",
+          "text": " If <code>mutableDescriptorTypeListCount</code> is not <code>0</code>, <code>pMutableDescriptorTypeLists</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>mutableDescriptorTypeListCount</code> valid <a href=\"#VkMutableDescriptorTypeListVALVE\">VkMutableDescriptorTypeListVALVE</a> structures"
+        }
+      ]
+    },
+    "VkMutableDescriptorTypeListVALVE": {
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-descriptorTypeCount-04597",
+          "text": " <code>descriptorTypeCount</code> <strong class=\"purple\">must</strong> not be <code>0</code> if the corresponding binding is of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04598",
+          "text": " <code>pDescriptorTypes</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>descriptorTypeCount</code> valid, unique <a href=\"#VkDescriptorType\">VkDescriptorType</a> values if the given binding is of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code> type"
+        },
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-descriptorTypeCount-04599",
+          "text": " <code>descriptorTypeCount</code> <strong class=\"purple\">must</strong> be <code>0</code> if the corresponding binding is not of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04600",
+          "text": " <code>pDescriptorTypes</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04601",
+          "text": " <code>pDescriptorTypes</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>"
+        },
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04602",
+          "text": " <code>pDescriptorTypes</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code>"
+        },
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-parameter",
+          "text": " If <code>descriptorTypeCount</code> is not <code>0</code>, <code>pDescriptorTypes</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>descriptorTypeCount</code> valid <a href=\"#VkDescriptorType\">VkDescriptorType</a> values"
+        }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)+(VK_EXT_inline_uniform_block)": [
+        {
+          "vuid": "VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04603",
+          "text": " <code>pDescriptorTypes</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT</code>"
+        }
       ]
     },
     "VkDescriptorSetLayoutBinding": {
@@ -13197,6 +15901,10 @@
       ],
       "(VK_EXT_inline_uniform_block)": [
         {
+          "vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-04604",
+          "text": " If the <a href=\"#features-inlineUniformBlock\">inlineUniformBlock</a> feature is not enabled, <code>descriptorType</code> <strong class=\"purple\">must</strong> not be <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT</code>"
+        },
+        {
           "vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-02209",
           "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT</code> then <code>descriptorCount</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
         },
@@ -13210,6 +15918,12 @@
           "vuid": "VUID-VkDescriptorSetLayoutBinding-pImmutableSamplers-04009",
           "text": " The sampler objects indicated by <code>pImmutableSamplers</code> <strong class=\"purple\">must</strong> not have a <code>borderColor</code> with one of the values <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>"
         }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-04605",
+          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, then <code>pImmutableSamplers</code> <strong class=\"purple\">must</strong> be <code>NULL</code>."
+        }
       ]
     },
     "VkDescriptorSetLayoutBindingFlagsCreateInfo": {
@@ -13286,6 +16000,12 @@
           "vuid": "VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-descriptorBindingInlineUniformBlockUpdateAfterBind-02211",
           "text": " If <a href=\"#VkPhysicalDeviceInlineUniformBlockFeaturesEXT\">VkPhysicalDeviceInlineUniformBlockFeaturesEXT</a>::<code>descriptorBindingInlineUniformBlockUpdateAfterBind</code> is not enabled, all bindings with descriptor type <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT</code> <strong class=\"purple\">must</strong> not use <code>VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT</code>"
         }
+      ],
+      "(VK_VERSION_1_2,VK_EXT_descriptor_indexing)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-descriptorBindingAccelerationStructureUpdateAfterBind-03570",
+          "text": " If <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>::<code>descriptorBindingAccelerationStructureUpdateAfterBind</code> is not enabled, all bindings with descriptor type <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code> or <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV</code> <strong class=\"purple\">must</strong> not use <code>VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT</code>"
+        }
       ]
     },
     "vkGetDescriptorSetLayoutSupport": {
@@ -13613,10 +16333,28 @@
           "text": " <code>pSetLayouts</code> <strong class=\"purple\">must</strong> not contain more than one descriptor set layout that was created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR</code> set"
         }
       ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
+      "(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkPipelineLayoutCreateInfo-descriptorType-03571",
+          "text": " The total number of bindings in descriptor set layouts created without the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT</code> bit set with a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code> accessible to any given shader stage across all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxPerStageDescriptorAccelerationStructures</code>"
+        },
+        {
+          "vuid": "VUID-VkPipelineLayoutCreateInfo-descriptorType-03572",
+          "text": " The total number of bindings with a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code> to any given shader stage across all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxPerStageDescriptorUpdateAfterBindAccelerationStructures</code>"
+        },
+        {
+          "vuid": "VUID-VkPipelineLayoutCreateInfo-descriptorType-03573",
+          "text": " The total number of bindings in descriptor set layouts created without the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT</code> bit set with a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code> accessible across all shader stages and across all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxDescriptorSetAccelerationStructures</code>"
+        },
+        {
+          "vuid": "VUID-VkPipelineLayoutCreateInfo-descriptorType-03574",
+          "text": " The total number of bindings with a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code> accessible across all shader stages and across all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxDescriptorSetUpdateAfterBindAccelerationStructures</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing)": [
         {
           "vuid": "VUID-VkPipelineLayoutCreateInfo-descriptorType-02381",
-          "text": " The total number of bindings with a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code> accessible across all shader stages and across all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>maxDescriptorSetAccelerationStructures</code>"
+          "text": " The total number of bindings with a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV</code> accessible across all shader stages and across all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxDescriptorSetAccelerationStructures</code>"
         }
       ],
       "(VK_EXT_fragment_density_map2)": [
@@ -13624,6 +16362,12 @@
           "vuid": "VUID-VkPipelineLayoutCreateInfo-pImmutableSamplers-03566",
           "text": " The total number of <code>pImmutableSamplers</code> created with <code>flags</code> containing <code>VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT</code> or <code>VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT</code> across all shader stages and across all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxDescriptorSetSubsampledSamplers\"><code>VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</code>::<code>maxDescriptorSetSubsampledSamplers</code></a>"
         }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-04606",
+          "text": " Any element of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> not have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE</code> bit set"
+        }
       ]
     },
     "VkPushConstantRange": {
@@ -13722,7 +16466,7 @@
         },
         {
           "vuid": "VUID-VkDescriptorPoolCreateInfo-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDescriptorPoolInlineUniformBlockCreateInfoEXT\">VkDescriptorPoolInlineUniformBlockCreateInfoEXT</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDescriptorPoolInlineUniformBlockCreateInfoEXT\">VkDescriptorPoolInlineUniformBlockCreateInfoEXT</a> or <a href=\"#VkMutableDescriptorTypeCreateInfoVALVE\">VkMutableDescriptorTypeCreateInfoVALVE</a>"
         },
         {
           "vuid": "VUID-VkDescriptorPoolCreateInfo-sType-unique",
@@ -13740,6 +16484,22 @@
           "vuid": "VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength",
           "text": " <code>poolSizeCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
         }
+      ],
+      "(VK_VERSION_1_2,VK_EXT_descriptor_indexing)+(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorPoolCreateInfo-flags-04607",
+          "text": " If <code>flags</code> has the <code>VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE</code> bit set, then the <code>VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT</code> bit <strong class=\"purple\">must</strong> not be set"
+        }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorPoolCreateInfo-mutableDescriptorType-04608",
+          "text": " If <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>::<code>mutableDescriptorType</code> is not enabled, <code>pPoolSizes</code> <strong class=\"purple\">must</strong> not contain a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkDescriptorPoolCreateInfo-flags-04609",
+          "text": " If <code>flags</code> has the <code>VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE</code> bit set, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>::<code>mutableDescriptorType</code> <strong class=\"purple\">must</strong> be enabled"
+        }
       ]
     },
     "VkDescriptorPoolInlineUniformBlockCreateInfoEXT": {
@@ -13843,6 +16603,12 @@
           "text": " If any element of <code>pSetLayouts</code> was created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT</code> bit set, <code>descriptorPool</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT</code> flag set"
         }
       ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorSetAllocateInfo-pSetLayouts-04610",
+          "text": " If any element of <code>pSetLayouts</code> was created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE</code> bit set, <code>descriptorPool</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE</code> flag set"
+        }
+      ],
       "core": [
         {
           "vuid": "VUID-VkDescriptorSetAllocateInfo-sType-sType",
@@ -13905,10 +16671,6 @@
           "text": " <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>descriptorSetCount</code> <code>VkDescriptorSet</code> handles, each element of which <strong class=\"purple\">must</strong> either be a valid handle or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
         },
         {
-          "vuid": "VUID-vkFreeDescriptorSets-pDescriptorSets-00311",
-          "text": " Each valid handle in <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> have been allocated from <code>descriptorPool</code>"
-        },
-        {
           "vuid": "VUID-vkFreeDescriptorSets-descriptorPool-00312",
           "text": " <code>descriptorPool</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT</code> flag"
         },
@@ -14045,10 +16807,6 @@
           "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, or <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code> and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, the <code>imageView</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
         },
         {
-          "vuid": "VUID-VkWriteDescriptorSet-descriptorType-01402",
-          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, for each descriptor that will be accessed via load or store operations the <code>imageLayout</code> member for corresponding elements of <code>pImageInfo</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_GENERAL</code>"
-        },
-        {
           "vuid": "VUID-VkWriteDescriptorSet-descriptorType-00327",
           "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code>, the <code>offset</code> member of each element of <code>pBufferInfo</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceLimits</code>::<code>minUniformBufferOffsetAlignment</code>"
         },
@@ -14093,8 +16851,20 @@
           "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code> or <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, the <code>imageView</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_SAMPLED_BIT</code> set"
         },
         {
-          "vuid": "VUID-VkWriteDescriptorSet-descriptorType-01403",
-          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code> or <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, the <code>imageLayout</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> be a member of the list given in <a href=\"#descriptorsets-sampledimage\">Sampled Image</a> or <a href=\"#descriptorsets-combinedimagesampler\">Combined Image Sampler</a>, corresponding to its type"
+          "vuid": "VUID-VkWriteDescriptorSet-descriptorType-04149",
+          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code> the <code>imageLayout</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> be a member of the list given in <a href=\"#descriptorsets-sampledimage\">Sampled Image</a>"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSet-descriptorType-04150",
+          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> the <code>imageLayout</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> be a member of the list given in <a href=\"#descriptorsets-combinedimagesampler\">Combined Image Sampler</a>"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSet-descriptorType-04151",
+          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code> the <code>imageLayout</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> be a member of the list given in <a href=\"#descriptorsets-inputattachment\">Input Attachment</a>"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSet-descriptorType-04152",
+          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code> the <code>imageLayout</code> member of each element of <code>pImageInfo</code> <strong class=\"purple\">must</strong> be a member of the list given in <a href=\"#descriptorsets-storageimage\">Storage Image</a>"
         },
         {
           "vuid": "VUID-VkWriteDescriptorSet-descriptorType-00338",
@@ -14114,7 +16884,7 @@
         },
         {
           "vuid": "VUID-VkWriteDescriptorSet-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkWriteDescriptorSetAccelerationStructureKHR\">VkWriteDescriptorSetAccelerationStructureKHR</a> or <a href=\"#VkWriteDescriptorSetInlineUniformBlockEXT\">VkWriteDescriptorSetInlineUniformBlockEXT</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkWriteDescriptorSetAccelerationStructureKHR\">VkWriteDescriptorSetAccelerationStructureKHR</a>, <a href=\"#VkWriteDescriptorSetAccelerationStructureNV\">VkWriteDescriptorSetAccelerationStructureNV</a>, or <a href=\"#VkWriteDescriptorSetInlineUniformBlockEXT\">VkWriteDescriptorSetInlineUniformBlockEXT</a>"
         },
         {
           "vuid": "VUID-VkWriteDescriptorSet-sType-unique",
@@ -14147,12 +16917,18 @@
           "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkWriteDescriptorSetInlineUniformBlockEXT\">VkWriteDescriptorSetInlineUniformBlockEXT</a> structure whose <code>dataSize</code> member equals <code>descriptorCount</code>"
         }
       ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
+      "(VK_KHR_acceleration_structure)": [
         {
           "vuid": "VUID-VkWriteDescriptorSet-descriptorType-02382",
           "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkWriteDescriptorSetAccelerationStructureKHR\">VkWriteDescriptorSetAccelerationStructureKHR</a> structure whose <code>accelerationStructureCount</code> member equals <code>descriptorCount</code>"
         }
       ],
+      "(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkWriteDescriptorSet-descriptorType-03817",
+          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkWriteDescriptorSetAccelerationStructureNV\">VkWriteDescriptorSetAccelerationStructureNV</a> structure whose <code>accelerationStructureCount</code> member equals <code>descriptorCount</code>"
+        }
+      ],
       "(VK_VULKAN_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
           "vuid": "VUID-VkWriteDescriptorSet-descriptorType-01946",
@@ -14172,6 +16948,12 @@
           "vuid": "VUID-VkWriteDescriptorSet-descriptorCount-03048",
           "text": " All consecutive bindings updated via a single <code>VkWriteDescriptorSet</code> structure, except those with a <code>descriptorCount</code> of zero, <strong class=\"purple\">must</strong> have identical <a href=\"#VkDescriptorBindingFlagBits\">VkDescriptorBindingFlagBits</a>"
         }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkWriteDescriptorSet-dstSet-04611",
+          "text": " If the <code>VkDescriptorSetLayoutBinding</code> for <code>dstSet</code> at <code>dstBinding</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, the new active descriptor type <code>descriptorType</code> <strong class=\"purple\">must</strong> exist in the corresponding <code>pMutableDescriptorTypeLists</code> list for <code>dstBinding</code>"
+        }
       ]
     },
     "VkDescriptorBufferInfo": {
@@ -14230,6 +17012,12 @@
           "vuid": "VUID-VkDescriptorImageInfo-sampler-01564",
           "text": " If <code>sampler</code> is used and the <a href=\"#VkFormat\">VkFormat</a> of the image is a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, the image <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT</code>, and the <code>aspectMask</code> of the <code>imageView</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code> or (for three-plane formats only) <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkDescriptorImageInfo-mutableComparisonSamplers-04450",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>mutableComparisonSamplers</code> is <code>VK_FALSE</code>, then <code>sampler</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkSamplerCreateInfo\">VkSamplerCreateInfo</a>::<code>compareEnable</code> set to <code>VK_FALSE</code>."
+        }
       ]
     },
     "VkWriteDescriptorSetInlineUniformBlockEXT": {
@@ -14253,14 +17041,18 @@
       ]
     },
     "VkWriteDescriptorSetAccelerationStructureKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
+      "(VK_KHR_acceleration_structure)": [
         {
           "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureKHR-accelerationStructureCount-02236",
           "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be equal to <code>descriptorCount</code> in the extended structure"
         },
         {
-          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureKHR-pAccelerationStructures-02764",
-          "text": " Each acceleration structure in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created with <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code>"
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureKHR-pAccelerationStructures-03579",
+          "text": " Each acceleration structure in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created with a <code>type</code> of <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code> or <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureKHR-pAccelerationStructures-03580",
+          "text": " If the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, each member of <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
         },
         {
           "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureKHR-sType-sType",
@@ -14268,7 +17060,7 @@
         },
         {
           "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureKHR-pAccelerationStructures-parameter",
-          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handles"
+          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handles"
         },
         {
           "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureKHR-accelerationStructureCount-arraylength",
@@ -14276,6 +17068,34 @@
         }
       ]
     },
+    "VkWriteDescriptorSetAccelerationStructureNV": {
+      "(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureNV-accelerationStructureCount-03747",
+          "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be equal to <code>descriptorCount</code> in the extended structure"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-03748",
+          "text": " Each acceleration structure in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created with <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-03749",
+          "text": " If the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, each member of <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-parameter",
+          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handles"
+        },
+        {
+          "vuid": "VUID-VkWriteDescriptorSetAccelerationStructureNV-accelerationStructureCount-arraylength",
+          "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        }
+      ]
+    },
     "VkCopyDescriptorSet": {
       "core": [
         {
@@ -14358,6 +17178,20 @@
           "vuid": "VUID-VkCopyDescriptorSet-srcSet-01921",
           "text": " If the descriptor pool from which <code>srcSet</code> was allocated was created without the <code>VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT</code> flag set, then the descriptor pool from which <code>dstSet</code> was allocated <strong class=\"purple\">must</strong> also have been created without the <code>VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT</code> flag set"
         }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkCopyDescriptorSet-dstSet-04612",
+          "text": " If <code>VkDescriptorSetLayoutBinding</code> for <code>dstSet</code> at <code>dstBinding</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, the new active descriptor type <strong class=\"purple\">must</strong> exist in the corresponding <code>pMutableDescriptorTypeLists</code> list for <code>dstBinding</code> if the new active descriptor type is not <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyDescriptorSet-srcSet-04613",
+          "text": " If <code>VkDescriptorSetLayoutBinding</code> for <code>srcSet</code> at <code>srcBinding</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code> and the <code>VkDescriptorSetLayoutBinding</code> for <code>dstSet</code> at <code>dstBinding</code> is not <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, the active descriptor type for the source descriptor <strong class=\"purple\">must</strong> match the descriptor type of <code>dstBinding</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyDescriptorSet-dstSet-04614",
+          "text": " If <code>VkDescriptorSetLayoutBinding</code> for <code>dstSet</code> at <code>dstBinding</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, and the new active descriptor type is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, the <code>pMutableDescriptorTypeLists</code> for <code>srcBinding</code> and <code>dstBinding</code> <strong class=\"purple\">must</strong> match exactly"
+        }
       ]
     },
     "vkCreateDescriptorUpdateTemplate": {
@@ -14428,6 +17262,12 @@
           "vuid": "VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00353",
           "text": " If <code>templateType</code> is <code>VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR</code>, <code>set</code> <strong class=\"purple\">must</strong> be the unique set number in the pipeline layout that uses a descriptor set layout that was created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR</code>"
         }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_descriptor_update_template)+(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-04615",
+          "text": " If <code>templateType</code> is <code>VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET</code>, <code>descriptorSetLayout</code> <strong class=\"purple\">must</strong> not contain a binding with type <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>"
+        }
       ]
     },
     "VkDescriptorUpdateTemplateEntry": {
@@ -14574,6 +17414,12 @@
           "vuid": "VUID-vkCmdBindDescriptorSets-commonparent",
           "text": " Each of <code>commandBuffer</code>, <code>layout</code>, and the elements of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-04616",
+          "text": " Each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> not have been allocated from a <code>VkDescriptorPool</code> with the <code>VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE</code> flag set"
+        }
       ]
     },
     "vkCmdPushDescriptorSetKHR": {
@@ -14632,7 +17478,7 @@
         },
         {
           "vuid": "VUID-vkCmdPushDescriptorSetWithTemplateKHR-pData-01686",
-          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to a memory containing one or more valid instances of <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a>, <a href=\"#VkDescriptorBufferInfo\">VkDescriptorBufferInfo</a>, or <a href=\"#VkBufferView\">VkBufferView</a> in a layout defined by <code>descriptorUpdateTemplate</code> when it was created with <a href=\"#vkCreateDescriptorUpdateTemplateKHR\">vkCreateDescriptorUpdateTemplateKHR</a>"
+          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to a memory containing one or more valid instances of <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a>, <a href=\"#VkDescriptorBufferInfo\">VkDescriptorBufferInfo</a>, or <a href=\"#VkBufferView\">VkBufferView</a> in a layout defined by <code>descriptorUpdateTemplate</code> when it was created with <a href=\"#vkCreateDescriptorUpdateTemplate\">vkCreateDescriptorUpdateTemplate</a>"
         },
         {
           "vuid": "VUID-vkCmdPushDescriptorSetWithTemplateKHR-commandBuffer-parameter",
@@ -14788,6 +17634,1540 @@
         }
       ]
     },
+    "BaryCoordNV": {
+      "(VK_NV_fragment_shader_barycentric)": [
+        {
+          "vuid": "VUID-BaryCoordNV-BaryCoordNV-04154",
+          "text": " The <code>BaryCoordNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNV-BaryCoordNV-04155",
+          "text": " The variable decorated with <code>BaryCoordNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNV-BaryCoordNV-04156",
+          "text": " The variable decorated with <code>BaryCoordNV</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordNoPerspAMD": {
+      "(VK_AMD_shader_explicit_vertex_parameter)": [
+        {
+          "vuid": "VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04157",
+          "text": " The <code>BaryCoordNoPerspAMD</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04158",
+          "text": " The variable decorated with <code>BaryCoordNoPerspAMD</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04159",
+          "text": " The variable decorated with <code>BaryCoordNoPerspAMD</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordNoPerspNV": {
+      "(VK_NV_fragment_shader_barycentric)": [
+        {
+          "vuid": "VUID-BaryCoordNoPerspNV-BaryCoordNoPerspNV-04160",
+          "text": " The <code>BaryCoordNoPerspNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspNV-BaryCoordNoPerspNV-04161",
+          "text": " The variable decorated with <code>BaryCoordNoPerspNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspNV-BaryCoordNoPerspNV-04162",
+          "text": " The variable decorated with <code>BaryCoordNoPerspNV</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordNoPerspCentroidAMD": {
+      "(VK_AMD_shader_explicit_vertex_parameter)": [
+        {
+          "vuid": "VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04163",
+          "text": " The <code>BaryCoordNoPerspCentroidAMD</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04164",
+          "text": " The variable decorated with <code>BaryCoordNoPerspCentroidAMD</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04165",
+          "text": " The variable decorated with <code>BaryCoordNoPerspCentroidAMD</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordNoPerspSampleAMD": {
+      "(VK_AMD_shader_explicit_vertex_parameter)": [
+        {
+          "vuid": "VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04166",
+          "text": " The <code>BaryCoordNoPerspSampleAMD</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04167",
+          "text": " The variable decorated with <code>BaryCoordNoPerspSampleAMD</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04168",
+          "text": " The variable decorated with <code>BaryCoordNoPerspSampleAMD</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordPullModelAMD": {
+      "(VK_AMD_shader_explicit_vertex_parameter)": [
+        {
+          "vuid": "VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04169",
+          "text": " The <code>BaryCoordPullModelAMD</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04170",
+          "text": " The variable decorated with <code>BaryCoordPullModelAMD</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04171",
+          "text": " The variable decorated with <code>BaryCoordPullModelAMD</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordSmoothAMD": {
+      "(VK_AMD_shader_explicit_vertex_parameter)": [
+        {
+          "vuid": "VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04172",
+          "text": " The <code>BaryCoordSmoothAMD</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04173",
+          "text": " The variable decorated with <code>BaryCoordSmoothAMD</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04174",
+          "text": " The variable decorated with <code>BaryCoordSmoothAMD</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordSmoothCentroidAMD": {
+      "(VK_AMD_shader_explicit_vertex_parameter)": [
+        {
+          "vuid": "VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04175",
+          "text": " The <code>BaryCoordSmoothCentroidAMD</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04176",
+          "text": " The variable decorated with <code>BaryCoordSmoothCentroidAMD</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04177",
+          "text": " The variable decorated with <code>BaryCoordSmoothCentroidAMD</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaryCoordSmoothSampleAMD": {
+      "(VK_AMD_shader_explicit_vertex_parameter)": [
+        {
+          "vuid": "VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04178",
+          "text": " The <code>BaryCoordSmoothSampleAMD</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04179",
+          "text": " The variable decorated with <code>BaryCoordSmoothSampleAMD</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04180",
+          "text": " The variable decorated with <code>BaryCoordSmoothSampleAMD</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "BaseInstance": {
+      "(VK_VERSION_1_1,VK_KHR_shader_draw_parameters)": [
+        {
+          "vuid": "VUID-BaseInstance-BaseInstance-04181",
+          "text": " The <code>BaseInstance</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Vertex</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaseInstance-BaseInstance-04182",
+          "text": " The variable decorated with <code>BaseInstance</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaseInstance-BaseInstance-04183",
+          "text": " The variable decorated with <code>BaseInstance</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "BaseVertex": {
+      "(VK_VERSION_1_1,VK_KHR_shader_draw_parameters)": [
+        {
+          "vuid": "VUID-BaseVertex-BaseVertex-04184",
+          "text": " The <code>BaseVertex</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Vertex</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-BaseVertex-BaseVertex-04185",
+          "text": " The variable decorated with <code>BaseVertex</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-BaseVertex-BaseVertex-04186",
+          "text": " The variable decorated with <code>BaseVertex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "ClipDistance": {
+      "core": [
+        {
+          "vuid": "VUID-ClipDistance-ClipDistance-04187",
+          "text": " The <code>ClipDistance</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, <code>Fragment</code>, <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ClipDistance-ClipDistance-04188",
+          "text": " The variable decorated with <code>ClipDistance</code> within the <code>MeshNV</code> or <code>Vertex</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ClipDistance-ClipDistance-04189",
+          "text": " The variable decorated with <code>ClipDistance</code> within the <code>Fragment</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ClipDistance-ClipDistance-04190",
+          "text": " The variable decorated with <code>ClipDistance</code> within the <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> not be declared in a {StorageClass} other than <code>Input</code> or <code>Output</code>"
+        },
+        {
+          "vuid": "VUID-ClipDistance-ClipDistance-04191",
+          "text": " The variable decorated with <code>ClipDistance</code> <strong class=\"purple\">must</strong> be declared as an array of 32-bit floating-point values"
+        }
+      ]
+    },
+    "ClipDistancePerViewNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04192",
+          "text": " The <code>ClipDistancePerViewNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04193",
+          "text": " The variable decorated with <code>ClipDistancePerViewNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04194",
+          "text": " The variable decorated with <code>ClipDistancePerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration."
+        },
+        {
+          "vuid": "VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04195",
+          "text": " The variable decorated with <code>ClipDistancePerViewNV</code> <strong class=\"purple\">must</strong> be declared as a two-dimensional array of 32-bit floating-point values"
+        }
+      ]
+    },
+    "CullDistance": {
+      "core": [
+        {
+          "vuid": "VUID-CullDistance-CullDistance-04196",
+          "text": " The <code>CullDistance</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, <code>Fragment</code>, <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-CullDistance-CullDistance-04197",
+          "text": " The variable decorated with <code>CullDistance</code> within the <code>MeshNV</code> or <code>Vertex</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-CullDistance-CullDistance-04198",
+          "text": " The variable decorated with <code>CullDistance</code> within the <code>Fragment</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-CullDistance-CullDistance-04199",
+          "text": " The variable decorated with <code>CullDistance</code> within the <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> not be declared using a {StorageClass} other than <code>Input</code> or <code>Output</code>"
+        },
+        {
+          "vuid": "VUID-CullDistance-CullDistance-04200",
+          "text": " The variable decorated with <code>CullDistance</code> <strong class=\"purple\">must</strong> be declared as an array of 32-bit floating-point values"
+        }
+      ]
+    },
+    "CullDistancePerViewNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-CullDistancePerViewNV-CullDistancePerViewNV-04201",
+          "text": " The <code>CullDistancePerViewNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-CullDistancePerViewNV-CullDistancePerViewNV-04202",
+          "text": " The variable decorated with <code>CullDistancePerViewNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-CullDistancePerViewNV-CullDistancePerViewNV-04203",
+          "text": " The variable decorated with <code>CullDistancePerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration."
+        },
+        {
+          "vuid": "VUID-CullDistancePerViewNV-CullDistancePerViewNV-04204",
+          "text": " The variable decorated with <code>CullDistancePerViewNV</code> <strong class=\"purple\">must</strong> be declared as a two-dimensional array of 32-bit floating-point values"
+        }
+      ]
+    },
+    "DeviceIndex": {
+      "(VK_VERSION_1_1,VK_KHR_device_group)": [
+        {
+          "vuid": "VUID-DeviceIndex-DeviceIndex-04205",
+          "text": " The variable decorated with <code>DeviceIndex</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-DeviceIndex-DeviceIndex-04206",
+          "text": " The variable decorated with <code>DeviceIndex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "DrawIndex": {
+      "(VK_VERSION_1_1,VK_KHR_shader_draw_parameters)": [
+        {
+          "vuid": "VUID-DrawIndex-DrawIndex-04207",
+          "text": " The <code>DrawIndex</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Vertex</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-DrawIndex-DrawIndex-04208",
+          "text": " The variable decorated with <code>DrawIndex</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-DrawIndex-DrawIndex-04209",
+          "text": " The variable decorated with <code>DrawIndex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "FragCoord": {
+      "core": [
+        {
+          "vuid": "VUID-FragCoord-FragCoord-04210",
+          "text": " The <code>FragCoord</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FragCoord-FragCoord-04211",
+          "text": " The variable decorated with <code>FragCoord</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FragCoord-FragCoord-04212",
+          "text": " The variable decorated with <code>FragCoord</code> <strong class=\"purple\">must</strong> be declared as a four-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "FragDepth": {
+      "core": [
+        {
+          "vuid": "VUID-FragDepth-FragDepth-04213",
+          "text": " The <code>FragDepth</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FragDepth-FragDepth-04214",
+          "text": " The variable decorated with <code>FragDepth</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FragDepth-FragDepth-04215",
+          "text": " The variable decorated with <code>FragDepth</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit floating-point value"
+        },
+        {
+          "vuid": "VUID-FragDepth-FragDepth-04216",
+          "text": " If the shader dynamically writes to the variable decorated with <code>FragDepth</code>, the <code>DepthReplacing</code> {ExecutionMode} <strong class=\"purple\">must</strong> be declared"
+        }
+      ]
+    },
+    "FragInvocationCountEXT": {
+      "(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-FragInvocationCountEXT-FragInvocationCountEXT-04217",
+          "text": " The <code>FragInvocationCountEXT</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FragInvocationCountEXT-FragInvocationCountEXT-04218",
+          "text": " The variable decorated with <code>FragInvocationCountEXT</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FragInvocationCountEXT-FragInvocationCountEXT-04219",
+          "text": " The variable decorated with <code>FragInvocationCountEXT</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "FragSizeEXT": {
+      "(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-FragSizeEXT-FragSizeEXT-04220",
+          "text": " The <code>FragSizeEXT</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FragSizeEXT-FragSizeEXT-04221",
+          "text": " The variable decorated with <code>FragSizeEXT</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FragSizeEXT-FragSizeEXT-04222",
+          "text": " The variable decorated with <code>FragSizeEXT</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "FragStencilRefEXT": {
+      "(VK_EXT_shader_stencil_export)": [
+        {
+          "vuid": "VUID-FragStencilRefEXT-FragStencilRefEXT-04223",
+          "text": " The <code>FragStencilRefEXT</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FragStencilRefEXT-FragStencilRefEXT-04224",
+          "text": " The variable decorated with <code>FragStencilRefEXT</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FragStencilRefEXT-FragStencilRefEXT-04225",
+          "text": " The variable decorated with <code>FragStencilRefEXT</code> <strong class=\"purple\">must</strong> be declared as a scalar integer value"
+        }
+      ]
+    },
+    "FragmentSizeNV": {
+      "(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-FragmentSizeNV-FragmentSizeNV-04226",
+          "text": " The <code>FragmentSizeNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FragmentSizeNV-FragmentSizeNV-04227",
+          "text": " The variable decorated with <code>FragmentSizeNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FragmentSizeNV-FragmentSizeNV-04228",
+          "text": " The variable decorated with <code>FragmentSizeNV</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "FrontFacing": {
+      "core": [
+        {
+          "vuid": "VUID-FrontFacing-FrontFacing-04229",
+          "text": " The <code>FrontFacing</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FrontFacing-FrontFacing-04230",
+          "text": " The variable decorated with <code>FrontFacing</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FrontFacing-FrontFacing-04231",
+          "text": " The variable decorated with <code>FrontFacing</code> <strong class=\"purple\">must</strong> be declared as a boolean value"
+        }
+      ]
+    },
+    "FullyCoveredEXT": {
+      "(VK_EXT_conservative_rasterization)": [
+        {
+          "vuid": "VUID-FullyCoveredEXT-FullyCoveredEXT-04232",
+          "text": " The <code>FullyCoveredEXT</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-FullyCoveredEXT-FullyCoveredEXT-04233",
+          "text": " The variable decorated with <code>FullyCoveredEXT</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-FullyCoveredEXT-FullyCoveredEXT-04234",
+          "text": " The variable decorated with <code>FullyCoveredEXT</code> <strong class=\"purple\">must</strong> be declared as a boolean value"
+        }
+      ],
+      "(VK_EXT_conservative_rasterization)+(VK_EXT_post_depth_coverage)": [
+        {
+          "vuid": "VUID-FullyCoveredEXT-conservativeRasterizationPostDepthCoverage-04235",
+          "text": " If <code>VkPhysicalDeviceConservativeRasterizationPropertiesEXT</code>::<code>conservativeRasterizationPostDepthCoverage</code> is not supported the <code>PostDepthCoverage</code> {ExecutionMode} <strong class=\"purple\">must</strong> not be declared, when a variable with the <code>FullyCoveredEXT</code> decoration is declared"
+        }
+      ]
+    },
+    "GlobalInvocationId": {
+      "core": [
+        {
+          "vuid": "VUID-GlobalInvocationId-GlobalInvocationId-04236",
+          "text": " The <code>GlobalInvocationId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-GlobalInvocationId-GlobalInvocationId-04237",
+          "text": " The variable decorated with <code>GlobalInvocationId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-GlobalInvocationId-GlobalInvocationId-04238",
+          "text": " The variable decorated with <code>GlobalInvocationId</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "HelperInvocation": {
+      "core": [
+        {
+          "vuid": "VUID-HelperInvocation-HelperInvocation-04239",
+          "text": " The <code>HelperInvocation</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-HelperInvocation-HelperInvocation-04240",
+          "text": " The variable decorated with <code>HelperInvocation</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-HelperInvocation-HelperInvocation-04241",
+          "text": " The variable decorated with <code>HelperInvocation</code> <strong class=\"purple\">must</strong> be declared as a boolean value"
+        }
+      ]
+    },
+    "HitKindKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-HitKindKHR-HitKindKHR-04242",
+          "text": " The <code>HitKindKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>AnyHitKHR</code> or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-HitKindKHR-HitKindKHR-04243",
+          "text": " The variable decorated with <code>HitKindKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-HitKindKHR-HitKindKHR-04244",
+          "text": " The variable decorated with <code>HitKindKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "HitTNV": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-HitTNV-HitTNV-04245",
+          "text": " The <code>HitTNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>AnyHitNV</code> or <code>ClosestHitNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-HitTNV-HitTNV-04246",
+          "text": " The variable decorated with <code>HitTNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-HitTNV-HitTNV-04247",
+          "text": " The variable decorated with <code>HitTNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit floating-point value"
+        }
+      ]
+    },
+    "IncomingRayFlagsKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-IncomingRayFlagsKHR-IncomingRayFlagsKHR-04248",
+          "text": " The <code>IncomingRayFlagsKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, or <code>MissKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-IncomingRayFlagsKHR-IncomingRayFlagsKHR-04249",
+          "text": " The variable decorated with <code>IncomingRayFlagsKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-IncomingRayFlagsKHR-IncomingRayFlagsKHR-04250",
+          "text": " The variable decorated with <code>IncomingRayFlagsKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "InstanceCustomIndexKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-InstanceCustomIndexKHR-InstanceCustomIndexKHR-04251",
+          "text": " The <code>InstanceCustomIndexKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-InstanceCustomIndexKHR-InstanceCustomIndexKHR-04252",
+          "text": " The variable decorated with <code>InstanceCustomIndexKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-InstanceCustomIndexKHR-InstanceCustomIndexKHR-04253",
+          "text": " The variable decorated with <code>InstanceCustomIndexKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "InstanceId": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-InstanceId-InstanceId-04254",
+          "text": " The <code>InstanceId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-InstanceId-InstanceId-04255",
+          "text": " The variable decorated with <code>InstanceId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-InstanceId-InstanceId-04256",
+          "text": " The variable decorated with <code>InstanceId</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "InvocationId": {
+      "core": [
+        {
+          "vuid": "VUID-InvocationId-InvocationId-04257",
+          "text": " The <code>InvocationId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>TessellationControl</code> or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-InvocationId-InvocationId-04258",
+          "text": " The variable decorated with <code>InvocationId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-InvocationId-InvocationId-04259",
+          "text": " The variable decorated with <code>InvocationId</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "InvocationsPerPixelNV": {
+      "(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04260",
+          "text": " The <code>InvocationsPerPixelNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04261",
+          "text": " The variable decorated with <code>InvocationsPerPixelNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04262",
+          "text": " The variable decorated with <code>InvocationsPerPixelNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "InstanceIndex": {
+      "core": [
+        {
+          "vuid": "VUID-InstanceIndex-InstanceIndex-04263",
+          "text": " The <code>InstanceIndex</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Vertex</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-InstanceIndex-InstanceIndex-04264",
+          "text": " The variable decorated with <code>InstanceIndex</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-InstanceIndex-InstanceIndex-04265",
+          "text": " The variable decorated with <code>InstanceIndex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "LaunchIdKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-LaunchIdKHR-LaunchIdKHR-04266",
+          "text": " The <code>LaunchIdKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>RayGenerationKHR</code>, <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, <code>MissKHR</code>, or <code>CallableKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-LaunchIdKHR-LaunchIdKHR-04267",
+          "text": " The variable decorated with <code>LaunchIdKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-LaunchIdKHR-LaunchIdKHR-04268",
+          "text": " The variable decorated with <code>LaunchIdKHR</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "LaunchSizeKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-LaunchSizeKHR-LaunchSizeKHR-04269",
+          "text": " The <code>LaunchSizeKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>RayGenerationKHR</code>, <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, <code>MissKHR</code>, or <code>CallableKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-LaunchSizeKHR-LaunchSizeKHR-04270",
+          "text": " The variable decorated with <code>LaunchSizeKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-LaunchSizeKHR-LaunchSizeKHR-04271",
+          "text": " The variable decorated with <code>LaunchSizeKHR</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "Layer": {
+      "core": [
+        {
+          "vuid": "VUID-Layer-Layer-04272",
+          "text": " The <code>Layer</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, <code>TessellationEvaluation</code>, <code>Geometry</code>, or <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-Layer-Layer-04274",
+          "text": " The variable decorated with <code>Layer</code> within the <code>MeshNV</code>, <code>Vertex</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-Layer-Layer-04275",
+          "text": " The variable decorated with <code>Layer</code> within the <code>Fragment</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-Layer-Layer-04276",
+          "text": " The variable decorated with <code>Layer</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ],
+      "(VK_VERSION_1_2)": [
+        {
+          "vuid": "VUID-Layer-Layer-04273",
+          "text": " If the <a href=\"#features-shaderOutputLayer\">shaderOutputLayer</a> feature is not enabled then the <code>Layer</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Geometry</code> or <code>Fragment</code> {ExecutionModel}"
+        }
+      ]
+    },
+    "LayerPerViewNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-LayerPerViewNV-LayerPerViewNV-04277",
+          "text": " The <code>LayerPerViewNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-LayerPerViewNV-LayerPerViewNV-04278",
+          "text": " The variable decorated with <code>LayerPerViewNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-LayerPerViewNV-LayerPerViewNV-04279",
+          "text": " The variable decorated with <code>LayerPerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration."
+        },
+        {
+          "vuid": "VUID-LayerPerViewNV-LayerPerViewNV-04280",
+          "text": " The variable decorated with <code>LayerPerViewNV</code> <strong class=\"purple\">must</strong> be declared as an array of scalar 32-bit integer values"
+        }
+      ]
+    },
+    "LocalInvocationId": {
+      "core": [
+        {
+          "vuid": "VUID-LocalInvocationId-LocalInvocationId-04281",
+          "text": " The <code>LocalInvocationId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-LocalInvocationId-LocalInvocationId-04282",
+          "text": " The variable decorated with <code>LocalInvocationId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-LocalInvocationId-LocalInvocationId-04283",
+          "text": " The variable decorated with <code>LocalInvocationId</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "LocalInvocationIndex": {
+      "core": [
+        {
+          "vuid": "VUID-LocalInvocationIndex-LocalInvocationIndex-04284",
+          "text": " The <code>LocalInvocationIndex</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-LocalInvocationIndex-LocalInvocationIndex-04285",
+          "text": " The variable decorated with <code>LocalInvocationIndex</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-LocalInvocationIndex-LocalInvocationIndex-04286",
+          "text": " The variable decorated with <code>LocalInvocationIndex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "MeshViewCountNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-MeshViewCountNV-MeshViewCountNV-04287",
+          "text": " The <code>MeshViewCountNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code> or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-MeshViewCountNV-MeshViewCountNV-04288",
+          "text": " The variable decorated with <code>MeshViewCountNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-MeshViewCountNV-MeshViewCountNV-04289",
+          "text": " The variable decorated with <code>MeshViewCountNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "MeshViewIndicesNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-MeshViewIndicesNV-MeshViewIndicesNV-04290",
+          "text": " The <code>MeshViewIndicesNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code> or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-MeshViewIndicesNV-MeshViewIndicesNV-04291",
+          "text": " The variable decorated with <code>MeshViewIndicesNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-MeshViewIndicesNV-MeshViewIndicesNV-04292",
+          "text": " The variable decorated with <code>MeshViewIndicesNV</code> <strong class=\"purple\">must</strong> be declared as an array of scalar 32-bit integer values"
+        }
+      ]
+    },
+    "NumSubgroups": {
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-NumSubgroups-NumSubgroups-04293",
+          "text": " The <code>NumSubgroups</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-NumSubgroups-NumSubgroups-04294",
+          "text": " The variable decorated with <code>NumSubgroups</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-NumSubgroups-NumSubgroups-04295",
+          "text": " The variable decorated with <code>NumSubgroups</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "NumWorkgroups": {
+      "core": [
+        {
+          "vuid": "VUID-NumWorkgroups-NumWorkgroups-04296",
+          "text": " The <code>NumWorkgroups</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-NumWorkgroups-NumWorkgroups-04297",
+          "text": " The variable decorated with <code>NumWorkgroups</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-NumWorkgroups-NumWorkgroups-04298",
+          "text": " The variable decorated with <code>NumWorkgroups</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "ObjectRayDirectionKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-ObjectRayDirectionKHR-ObjectRayDirectionKHR-04299",
+          "text": " The <code>ObjectRayDirectionKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ObjectRayDirectionKHR-ObjectRayDirectionKHR-04300",
+          "text": " The variable decorated with <code>ObjectRayDirectionKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ObjectRayDirectionKHR-ObjectRayDirectionKHR-04301",
+          "text": " The variable decorated with <code>ObjectRayDirectionKHR</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "ObjectRayOriginKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-ObjectRayOriginKHR-ObjectRayOriginKHR-04302",
+          "text": " The <code>ObjectRayOriginKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ObjectRayOriginKHR-ObjectRayOriginKHR-04303",
+          "text": " The variable decorated with <code>ObjectRayOriginKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ObjectRayOriginKHR-ObjectRayOriginKHR-04304",
+          "text": " The variable decorated with <code>ObjectRayOriginKHR</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "ObjectToWorldKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-ObjectToWorldKHR-ObjectToWorldKHR-04305",
+          "text": " The <code>ObjectToWorldKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ObjectToWorldKHR-ObjectToWorldKHR-04306",
+          "text": " The variable decorated with <code>ObjectToWorldKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ObjectToWorldKHR-ObjectToWorldKHR-04307",
+          "text": " The variable decorated with <code>ObjectToWorldKHR</code> <strong class=\"purple\">must</strong> be declared as a matrix with four columns of three-component vectors of 32-bit floating-point values"
+        }
+      ]
+    },
+    "PatchVertices": {
+      "core": [
+        {
+          "vuid": "VUID-PatchVertices-PatchVertices-04308",
+          "text": " The <code>PatchVertices</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>TessellationControl</code> or <code>TessellationEvaluation</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PatchVertices-PatchVertices-04309",
+          "text": " The variable decorated with <code>PatchVertices</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PatchVertices-PatchVertices-04310",
+          "text": " The variable decorated with <code>PatchVertices</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "PointCoord": {
+      "core": [
+        {
+          "vuid": "VUID-PointCoord-PointCoord-04311",
+          "text": " The <code>PointCoord</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PointCoord-PointCoord-04312",
+          "text": " The variable decorated with <code>PointCoord</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PointCoord-PointCoord-04313",
+          "text": " The variable decorated with <code>PointCoord</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "PointSize": {
+      "core": [
+        {
+          "vuid": "VUID-PointSize-PointSize-04314",
+          "text": " The <code>PointSize</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PointSize-PointSize-04315",
+          "text": " The variable decorated with <code>PointSize</code> within the <code>MeshNV</code> or <code>Vertex</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PointSize-PointSize-04316",
+          "text": " The variable decorated with <code>PointSize</code> within the <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> not be declared using a {StorageClass} other than <code>Input</code> or <code>Output</code>"
+        },
+        {
+          "vuid": "VUID-PointSize-PointSize-04317",
+          "text": " The variable decorated with <code>PointSize</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit floating-point value"
+        }
+      ]
+    },
+    "Position": {
+      "core": [
+        {
+          "vuid": "VUID-Position-Position-04318",
+          "text": " The <code>Position</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-Position-Position-04319",
+          "text": " The variable decorated with <code>Position</code> within <code>MeshNV</code> or <code>Vertex</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-Position-Position-04320",
+          "text": " The variable decorated with <code>Position</code> within <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> not be declared using a {StorageClass} other than <code>Input</code> or <code>Output</code>"
+        },
+        {
+          "vuid": "VUID-Position-Position-04321",
+          "text": " The variable decorated with <code>Position</code> <strong class=\"purple\">must</strong> be declared as a four-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "PositionPerViewNV": {
+      "(VK_NVX_multiview_per_view_attributes)": [
+        {
+          "vuid": "VUID-PositionPerViewNV-PositionPerViewNV-04322",
+          "text": " The <code>PositionPerViewNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PositionPerViewNV-PositionPerViewNV-04323",
+          "text": " The variable decorated with <code>PositionPerViewNV</code> within the <code>Vertex</code>, or <code>MeshNV</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PositionPerViewNV-PositionPerViewNV-04324",
+          "text": " The variable decorated with <code>PositionPerViewNV</code> within the <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> not be declared using a {StorageClass} other than <code>Input</code> or <code>Output</code>"
+        },
+        {
+          "vuid": "VUID-PositionPerViewNV-PositionPerViewNV-04325",
+          "text": " The variable decorated with <code>PositionPerViewNV</code> <strong class=\"purple\">must</strong> be declared as an array of four-component vector of 32-bit floating-point values with at least as many elements as the maximum view in the subpass&#8217;s view mask plus one"
+        },
+        {
+          "vuid": "VUID-PositionPerViewNV-PositionPerViewNV-04326",
+          "text": " The array variable decorated with <code>PositionPerViewNV</code> <strong class=\"purple\">must</strong> only be indexed by a constant or specialization constant"
+        }
+      ]
+    },
+    "PrimitiveCountNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-PrimitiveCountNV-PrimitiveCountNV-04327",
+          "text": " The <code>PrimitiveCountNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PrimitiveCountNV-PrimitiveCountNV-04328",
+          "text": " The variable decorated with <code>PrimitiveCountNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PrimitiveCountNV-PrimitiveCountNV-04329",
+          "text": " The variable decorated with <code>PrimitiveCountNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "PrimitiveId": {
+      "core": [
+        {
+          "vuid": "VUID-PrimitiveId-PrimitiveId-04330",
+          "text": " The <code>PrimitiveId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, <code>TessellationControl</code>, <code>TessellationEvaluation</code>, <code>Geometry</code>, or <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PrimitiveId-Fragment-04331",
+          "text": " If pipeline contains both the <code>Fragment</code> and <code>Geometry</code> {ExecutionModel} and a variable decorated with <code>PrimitiveId</code> is read from <code>Fragment</code> shader, then the <code>Geometry</code> shader <strong class=\"purple\">must</strong> write to the output variables decorated with <code>PrimitiveId</code> in all execution paths"
+        },
+        {
+          "vuid": "VUID-PrimitiveId-Fragment-04332",
+          "text": " If pipeline contains both the <code>Fragment</code> and <code>MeshNV</code> {ExecutionModel} and a variable decorated with <code>PrimitiveId</code> is read from <code>Fragment</code> shader, then the <code>MeshNV</code> shader <strong class=\"purple\">must</strong> write to the output variables decorated with <code>PrimitiveId</code> in all execution paths"
+        },
+        {
+          "vuid": "VUID-PrimitiveId-Fragment-04333",
+          "text": " If <code>Fragment</code> {ExecutionModel} contains a variable decorated with <code>PrimitiveId</code> either the <code>Geometry</code> or <code>Tessellation</code> capability <strong class=\"purple\">must</strong> also be declared"
+        },
+        {
+          "vuid": "VUID-PrimitiveId-PrimitiveId-04334",
+          "text": " The variable decorated with <code>PrimitiveId</code> within the <code>TessellationControl</code>, <code>TessellationEvaluation</code>, <code>Fragment</code>, <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PrimitiveId-PrimitiveId-04335",
+          "text": " The variable decorated with <code>PrimitiveId</code> within the <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> or <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PrimitiveId-PrimitiveId-04336",
+          "text": " The variable decorated with <code>PrimitiveId</code> within the <code>MeshNV</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PrimitiveId-PrimitiveId-04337",
+          "text": " The variable decorated with <code>PrimitiveId</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "PrimitiveIndicesNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04338",
+          "text": " The <code>PrimitiveIndicesNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04339",
+          "text": " The variable decorated with <code>PrimitiveIndicesNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04340",
+          "text": " The variable decorated with <code>PrimitiveIndicesNV</code> <strong class=\"purple\">must</strong> be declared as an array of scalar 32-bit integer values"
+        },
+        {
+          "vuid": "VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04341",
+          "text": " All index values of the array decorated with <code>PrimitiveIndicesNV</code> <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[0, N-1]</span>, where <span class=\"eq\">N</span> is the value specified by the <code>OutputVertices</code> {ExecutionMode}"
+        },
+        {
+          "vuid": "VUID-PrimitiveIndicesNV-OutputPoints-04342",
+          "text": " If the {ExecutionMode} is <code>OutputPoints</code>, then the array decorated with <code>PrimitiveIndicesNV</code> must be the size of the value specified by <code>OutputPrimitivesNV</code>"
+        },
+        {
+          "vuid": "VUID-PrimitiveIndicesNV-OutputLinesNV-04343",
+          "text": " If the {ExecutionMode} is <code>OutputLinesNV</code>, then the array decorated with <code>PrimitiveIndicesNV</code> must be the size of two times the value specified by <code>OutputPrimitivesNV</code>"
+        },
+        {
+          "vuid": "VUID-PrimitiveIndicesNV-OutputTrianglesNV-04344",
+          "text": " If the {ExecutionMode} is <code>OutputTrianglesNV</code>, then the array decorated with <code>PrimitiveIndicesNV</code> must be the size of three times the value specified by <code>OutputPrimitivesNV</code>"
+        }
+      ]
+    },
+    "PrimitiveShadingRateKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-PrimitiveShadingRateKHR-PrimitiveShadingRateKHR-04484",
+          "text": " The <code>PrimitiveShadingRateKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-PrimitiveShadingRateKHR-PrimitiveShadingRateKHR-04485",
+          "text": " The variable decorated with <code>PrimitiveShadingRateKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-PrimitiveShadingRateKHR-PrimitiveShadingRateKHR-04486",
+          "text": " The variable decorated with <code>PrimitiveShadingRateKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        },
+        {
+          "vuid": "VUID-PrimitiveShadingRateKHR-PrimitiveShadingRateKHR-04487",
+          "text": " The value written to <code>PrimitiveShadingRateKHR</code> <strong class=\"purple\">must</strong> include no more than one of <code>Vertical2Pixels</code> and <code>Vertical4Pixels</code>"
+        },
+        {
+          "vuid": "VUID-PrimitiveShadingRateKHR-PrimitiveShadingRateKHR-04488",
+          "text": " The value written to <code>PrimitiveShadingRateKHR</code> <strong class=\"purple\">must</strong> include no more than one of <code>Horizontal2Pixels</code> and <code>Horizontal4Pixels</code>"
+        },
+        {
+          "vuid": "VUID-PrimitiveShadingRateKHR-PrimitiveShadingRateKHR-04489",
+          "text": " The value written to <code>PrimitiveShadingRateKHR</code> <strong class=\"purple\">must</strong> not have any bits set other than those defined by <strong>Fragment Shading Rate Flags</strong> enumerants in the SPIR-V specification"
+        }
+      ]
+    },
+    "RayGeometryIndexKHR": {
+      "(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-RayGeometryIndexKHR-RayGeometryIndexKHR-04345",
+          "text": " The <code>RayGeometryIndexKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-RayGeometryIndexKHR-RayGeometryIndexKHR-04346",
+          "text": " The variable decorated with <code>RayGeometryIndexKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-RayGeometryIndexKHR-RayGeometryIndexKHR-04347",
+          "text": " The variable decorated with <code>RayGeometryIndexKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "RayTmaxKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-RayTmaxKHR-RayTmaxKHR-04348",
+          "text": " The <code>RayTmaxKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, or <code>MissKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-RayTmaxKHR-RayTmaxKHR-04349",
+          "text": " The variable decorated with <code>RayTmaxKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-RayTmaxKHR-RayTmaxKHR-04350",
+          "text": " The variable decorated with <code>RayTmaxKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit floating-point value"
+        }
+      ]
+    },
+    "RayTminKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-RayTminKHR-RayTminKHR-04351",
+          "text": " The <code>RayTminKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, or <code>MissKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-RayTminKHR-RayTminKHR-04352",
+          "text": " The variable decorated with <code>RayTminKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-RayTminKHR-RayTminKHR-04353",
+          "text": " The variable decorated with <code>RayTminKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit floating-point value"
+        }
+      ]
+    },
+    "SampleId": {
+      "core": [
+        {
+          "vuid": "VUID-SampleId-SampleId-04354",
+          "text": " The <code>SampleId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-SampleId-SampleId-04355",
+          "text": " The variable decorated with <code>SampleId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SampleId-SampleId-04356",
+          "text": " The variable decorated with <code>SampleId</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "SampleMask": {
+      "core": [
+        {
+          "vuid": "VUID-SampleMask-SampleMask-04357",
+          "text": " The <code>SampleMask</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-SampleMask-SampleMask-04358",
+          "text": " The variable decorated with <code>SampleMask</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> or <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SampleMask-SampleMask-04359",
+          "text": " The variable decorated with <code>SampleMask</code> <strong class=\"purple\">must</strong> be declared as an array of 32-bit integer values"
+        }
+      ]
+    },
+    "SamplePosition": {
+      "core": [
+        {
+          "vuid": "VUID-SamplePosition-SamplePosition-04360",
+          "text": " The <code>SamplePosition</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-SamplePosition-SamplePosition-04361",
+          "text": " The variable decorated with <code>SamplePosition</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SamplePosition-SamplePosition-04362",
+          "text": " The variable decorated with <code>SamplePosition</code> <strong class=\"purple\">must</strong> be declared as a two-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "ShadingRateKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-ShadingRateKHR-ShadingRateKHR-04490",
+          "text": " The <code>ShadingRateKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ShadingRateKHR-ShadingRateKHR-04491",
+          "text": " The variable decorated with <code>ShadingRateKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ShadingRateKHR-ShadingRateKHR-04492",
+          "text": " The variable decorated with <code>ShadingRateKHR</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "SMCountNV": {
+      "(VK_NV_shader_sm_builtins)": [
+        {
+          "vuid": "VUID-SMCountNV-SMCountNV-04363",
+          "text": " The variable decorated with <code>SMCountNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SMCountNV-SMCountNV-04364",
+          "text": " The variable decorated with <code>SMCountNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "SMIDNV": {
+      "(VK_NV_shader_sm_builtins)": [
+        {
+          "vuid": "VUID-SMIDNV-SMIDNV-04365",
+          "text": " The variable decorated with <code>SMIDNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SMIDNV-SMIDNV-04366",
+          "text": " The variable decorated with <code>SMIDNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "SubgroupId": {
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-SubgroupId-SubgroupId-04367",
+          "text": " The <code>SubgroupId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-SubgroupId-SubgroupId-04368",
+          "text": " The variable decorated with <code>SubgroupId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupId-SubgroupId-04369",
+          "text": " The variable decorated with <code>SubgroupId</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "SubgroupEqMask": {
+      "(VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot)": [
+        {
+          "vuid": "VUID-SubgroupEqMask-SubgroupEqMask-04370",
+          "text": " The variable decorated with <code>SubgroupEqMask</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupEqMask-SubgroupEqMask-04371",
+          "text": " The variable decorated with <code>SubgroupEqMask</code> <strong class=\"purple\">must</strong> be declared as a four-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "SubgroupGeMask": {
+      "(VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot)": [
+        {
+          "vuid": "VUID-SubgroupGeMask-SubgroupGeMask-04372",
+          "text": " The variable decorated with <code>SubgroupGeMask</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupGeMask-SubgroupGeMask-04373",
+          "text": " The variable decorated with <code>SubgroupGeMask</code> <strong class=\"purple\">must</strong> be declared as a four-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "SubgroupGtMask": {
+      "(VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot)": [
+        {
+          "vuid": "VUID-SubgroupGtMask-SubgroupGtMask-04374",
+          "text": " The variable decorated with <code>SubgroupGtMask</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupGtMask-SubgroupGtMask-04375",
+          "text": " The variable decorated with <code>SubgroupGtMask</code> <strong class=\"purple\">must</strong> be declared as a four-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "SubgroupLeMask": {
+      "(VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot)": [
+        {
+          "vuid": "VUID-SubgroupLeMask-SubgroupLeMask-04376",
+          "text": " The variable decorated with <code>SubgroupLeMask</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupLeMask-SubgroupLeMask-04377",
+          "text": " The variable decorated with <code>SubgroupLeMask</code> <strong class=\"purple\">must</strong> be declared as a four-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "SubgroupLtMask": {
+      "(VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot)": [
+        {
+          "vuid": "VUID-SubgroupLtMask-SubgroupLtMask-04378",
+          "text": " The variable decorated with <code>SubgroupLtMask</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupLtMask-SubgroupLtMask-04379",
+          "text": " The variable decorated with <code>SubgroupLtMask</code> <strong class=\"purple\">must</strong> be declared as a four-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "SubgroupLocalInvocationId": {
+      "(VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot)": [
+        {
+          "vuid": "VUID-SubgroupLocalInvocationId-SubgroupLocalInvocationId-04380",
+          "text": " The variable decorated with <code>SubgroupLocalInvocationId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupLocalInvocationId-SubgroupLocalInvocationId-04381",
+          "text": " The variable decorated with <code>SubgroupLocalInvocationId</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "SubgroupSize": {
+      "(VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot)": [
+        {
+          "vuid": "VUID-SubgroupSize-SubgroupSize-04382",
+          "text": " The variable decorated with <code>SubgroupSize</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-SubgroupSize-SubgroupSize-04383",
+          "text": " The variable decorated with <code>SubgroupSize</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "TaskCountNV": {
+      "(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-TaskCountNV-TaskCountNV-04384",
+          "text": " The <code>TaskCountNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-TaskCountNV-TaskCountNV-04385",
+          "text": " The variable decorated with <code>TaskCountNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-TaskCountNV-TaskCountNV-04386",
+          "text": " The variable decorated with <code>TaskCountNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "TessCoord": {
+      "core": [
+        {
+          "vuid": "VUID-TessCoord-TessCoord-04387",
+          "text": " The <code>TessCoord</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>TessellationEvaluation</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-TessCoord-TessCoord-04388",
+          "text": " The variable decorated with <code>TessCoord</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-TessCoord-TessCoord-04389",
+          "text": " The variable decorated with <code>TessCoord</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "TessLevelOuter": {
+      "core": [
+        {
+          "vuid": "VUID-TessLevelOuter-TessLevelOuter-04390",
+          "text": " The <code>TessLevelOuter</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>TessellationControl</code> or <code>TessellationEvaluation</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-TessLevelOuter-TessLevelOuter-04391",
+          "text": " The variable decorated with <code>TessLevelOuter</code> within the <code>TessellationControl</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-TessLevelOuter-TessLevelOuter-04392",
+          "text": " The variable decorated with <code>TessLevelOuter</code> within the <code>TessellationEvaluation</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-TessLevelOuter-TessLevelOuter-04393",
+          "text": " The variable decorated with <code>TessLevelOuter</code> <strong class=\"purple\">must</strong> be declared as an array of size four, containing 32-bit floating-point values"
+        }
+      ]
+    },
+    "TessLevelInner": {
+      "core": [
+        {
+          "vuid": "VUID-TessLevelInner-TessLevelInner-04394",
+          "text": " The <code>TessLevelInner</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>TessellationControl</code> or <code>TessellationEvaluation</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-TessLevelInner-TessLevelInner-04395",
+          "text": " The variable decorated with <code>TessLevelInner</code> within the <code>TessellationControl</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-TessLevelInner-TessLevelInner-04396",
+          "text": " The variable decorated with <code>TessLevelInner</code> within the <code>TessellationEvaluation</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-TessLevelInner-TessLevelInner-04397",
+          "text": " The variable decorated with <code>TessLevelInner</code> <strong class=\"purple\">must</strong> be declared as an array of size two, containing 32-bit floating-point values"
+        }
+      ]
+    },
+    "VertexIndex": {
+      "core": [
+        {
+          "vuid": "VUID-VertexIndex-VertexIndex-04398",
+          "text": " The <code>VertexIndex</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Vertex</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-VertexIndex-VertexIndex-04399",
+          "text": " The variable decorated with <code>VertexIndex</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-VertexIndex-VertexIndex-04400",
+          "text": " The variable decorated with <code>VertexIndex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "ViewIndex": {
+      "(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-ViewIndex-ViewIndex-04401",
+          "text": " The <code>ViewIndex</code> decoration <strong class=\"purple\">must</strong> not be used within the <code>GLCompute</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ViewIndex-ViewIndex-04402",
+          "text": " The variable decorated with <code>ViewIndex</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ViewIndex-ViewIndex-04403",
+          "text": " The variable decorated with <code>ViewIndex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "ViewportIndex": {
+      "core": [
+        {
+          "vuid": "VUID-ViewportIndex-ViewportIndex-04404",
+          "text": " The <code>ViewportIndex</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>MeshNV</code>, <code>Vertex</code>, <code>TessellationEvaluation</code>, <code>Geometry</code>, or <code>Fragment</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ViewportIndex-ViewportIndex-04406",
+          "text": " The variable decorated with <code>ViewportIndex</code> within the <code>MeshNV</code>, <code>Vertex</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ViewportIndex-ViewportIndex-04407",
+          "text": " The variable decorated with <code>ViewportIndex</code> within the <code>Fragment</code> {ExecutionModel} <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ViewportIndex-ViewportIndex-04408",
+          "text": " The variable decorated with <code>ViewportIndex</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ],
+      "(VK_VERSION_1_2)": [
+        {
+          "vuid": "VUID-ViewportIndex-ViewportIndex-04405",
+          "text": " If the <a href=\"#features-shaderOutputViewportIndex\">shaderOutputViewportIndex</a> feature is not enabled then the <code>ViewportIndex</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Geometry</code> or <code>Fragment</code> {ExecutionModel}"
+        }
+      ]
+    },
+    "ViewportMaskNV": {
+      "(VK_NV_viewport_array2)": [
+        {
+          "vuid": "VUID-ViewportMaskNV-ViewportMaskNV-04409",
+          "text": " The <code>ViewportMaskNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Vertex</code>, <code>MeshNV</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ViewportMaskNV-ViewportMaskNV-04410",
+          "text": " The variable decorated with <code>ViewportMaskNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ViewportMaskNV-ViewportMaskNV-04411",
+          "text": " The variable decorated with <code>ViewportMaskNV</code> <strong class=\"purple\">must</strong> be declared as an array of 32-bit integer values"
+        }
+      ]
+    },
+    "ViewportMaskPerViewNV": {
+      "(VK_NVX_multiview_per_view_attributes+VK_NV_viewport_array2)": [
+        {
+          "vuid": "VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04412",
+          "text": " The <code>ViewportMaskPerViewNV</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>Vertex</code>, <code>MeshNV</code>, <code>TessellationControl</code>, <code>TessellationEvaluation</code>, or <code>Geometry</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04413",
+          "text": " The variable decorated with <code>ViewportMaskPerViewNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Output</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04414",
+          "text": " The variable decorated with <code>ViewportMaskPerViewNV</code> <strong class=\"purple\">must</strong> be declared as an array of 32-bit integer values"
+        },
+        {
+          "vuid": "VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04415",
+          "text": " The array decorated with <code>ViewportMaskPerViewNV</code> <strong class=\"purple\">must</strong> be a size less than or equal to 32"
+        },
+        {
+          "vuid": "VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04416",
+          "text": " The array decorated with <code>ViewportMaskPerViewNV</code> <strong class=\"purple\">must</strong> be a size greater than the maximum view in the subpass&#8217;s view mask"
+        },
+        {
+          "vuid": "VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04417",
+          "text": " The array variable decorated with <code>ViewportMaskPerViewNV</code> <strong class=\"purple\">must</strong> only be indexed by a constant or specialization constant."
+        }
+      ]
+    },
+    "WarpsPerSMNV": {
+      "(VK_NV_shader_sm_builtins)": [
+        {
+          "vuid": "VUID-WarpsPerSMNV-WarpsPerSMNV-04418",
+          "text": " The variable decorated with <code>WarpsPerSMNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-WarpsPerSMNV-WarpsPerSMNV-04419",
+          "text": " The variable decorated with <code>WarpsPerSMNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "WarpIDNV": {
+      "(VK_NV_shader_sm_builtins)": [
+        {
+          "vuid": "VUID-WarpIDNV-WarpIDNV-04420",
+          "text": " The variable decorated with <code>WarpIDNV</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-WarpIDNV-WarpIDNV-04421",
+          "text": " The variable decorated with <code>WarpIDNV</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+        }
+      ]
+    },
+    "WorkgroupId": {
+      "core": [
+        {
+          "vuid": "VUID-WorkgroupId-WorkgroupId-04422",
+          "text": " The <code>WorkgroupId</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-WorkgroupId-WorkgroupId-04423",
+          "text": " The variable decorated with <code>WorkgroupId</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-WorkgroupId-WorkgroupId-04424",
+          "text": " The variable decorated with <code>WorkgroupId</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "WorkgroupSize": {
+      "core": [
+        {
+          "vuid": "VUID-WorkgroupSize-WorkgroupSize-04425",
+          "text": " The <code>WorkgroupSize</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>GLCompute</code>, <code>MeshNV</code>, or <code>TaskNV</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-WorkgroupSize-WorkgroupSize-04426",
+          "text": " The variable decorated with <code>WorkgroupSize</code> <strong class=\"purple\">must</strong> be a specialization constant or a constant"
+        },
+        {
+          "vuid": "VUID-WorkgroupSize-WorkgroupSize-04427",
+          "text": " The variable decorated with <code>WorkgroupSize</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit integer values"
+        }
+      ]
+    },
+    "WorldRayDirectionKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-WorldRayDirectionKHR-WorldRayDirectionKHR-04428",
+          "text": " The <code>WorldRayDirectionKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, or <code>MissKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-WorldRayDirectionKHR-WorldRayDirectionKHR-04429",
+          "text": " The variable decorated with <code>WorldRayDirectionKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-WorldRayDirectionKHR-WorldRayDirectionKHR-04430",
+          "text": " The variable decorated with <code>WorldRayDirectionKHR</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "WorldRayOriginKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-WorldRayOriginKHR-WorldRayOriginKHR-04431",
+          "text": " The <code>WorldRayOriginKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, <code>ClosestHitKHR</code>, or <code>MissKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-WorldRayOriginKHR-WorldRayOriginKHR-04432",
+          "text": " The variable decorated with <code>WorldRayOriginKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-WorldRayOriginKHR-WorldRayOriginKHR-04433",
+          "text": " The variable decorated with <code>WorldRayOriginKHR</code> <strong class=\"purple\">must</strong> be declared as a three-component vector of 32-bit floating-point values"
+        }
+      ]
+    },
+    "WorldToObjectKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-WorldToObjectKHR-WorldToObjectKHR-04434",
+          "text": " The <code>WorldToObjectKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>IntersectionKHR</code>, <code>AnyHitKHR</code>, or <code>ClosestHitKHR</code> {ExecutionModel}"
+        },
+        {
+          "vuid": "VUID-WorldToObjectKHR-WorldToObjectKHR-04435",
+          "text": " The variable decorated with <code>WorldToObjectKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+        },
+        {
+          "vuid": "VUID-WorldToObjectKHR-WorldToObjectKHR-04436",
+          "text": " The variable decorated with <code>WorldToObjectKHR</code> <strong class=\"purple\">must</strong> be declared as a matrix with four columns of three-component vectors of 32-bit floating-point values"
+        }
+      ]
+    },
     "vkCreateQueryPool": {
       "core": [
         {
@@ -15011,10 +19391,6 @@
     "vkCmdBeginQuery": {
       "core": [
         {
-          "vuid": "VUID-vkCmdBeginQuery-queryPool-01922",
-          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> that differs from that of any queries that are <a href=\"#queries-operation-active\">active</a> within <code>commandBuffer</code>"
-        },
-        {
           "vuid": "VUID-vkCmdBeginQuery-None-00807",
           "text": " All queries used by the command <strong class=\"purple\">must</strong> be unavailable"
         },
@@ -15043,6 +19419,10 @@
           "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_PIPELINE_STATISTICS</code> and any of the <code>pipelineStatistics</code> indicate compute operations, the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
         },
         {
+          "vuid": "VUID-vkCmdBeginQuery-queryPool-01922",
+          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> that differs from that of any queries that are <a href=\"#queries-operation-active\">active</a> within <code>commandBuffer</code>"
+        },
+        {
           "vuid": "VUID-vkCmdBeginQuery-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -15067,6 +19447,18 @@
           "text": " Both of <code>commandBuffer</code>, and <code>queryPool</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
       ],
+      "(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdBeginQuery-queryType-04728",
+          "text": " The <code>queryType</code> used to create <code>queryPool</code> <strong class=\"purple\">must</strong> not be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code> or <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCmdBeginQuery-queryType-04729",
+          "text": " The <code>queryType</code> used to create <code>queryPool</code> <strong class=\"purple\">must</strong> not be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV</code>"
+        }
+      ],
       "(VK_VERSION_1_1)": [
         {
           "vuid": "VUID-vkCmdBeginQuery-commandBuffer-01885",
@@ -15113,11 +19505,7 @@
       ]
     },
     "vkCmdBeginQueryIndexedEXT": {
-      "core": [
-        {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-01922",
-          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> that differs from that of any queries that are <a href=\"#queries-operation-active\">active</a> within <code>commandBuffer</code>"
-        },
+      "(VK_EXT_transform_feedback)": [
         {
           "vuid": "VUID-vkCmdBeginQueryIndexedEXT-None-00807",
           "text": " All queries used by the command <strong class=\"purple\">must</strong> be unavailable"
@@ -15147,6 +19535,10 @@
           "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_PIPELINE_STATISTICS</code> and any of the <code>pipelineStatistics</code> indicate compute operations, the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
         },
         {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-04753",
+          "text": " If the <code>queryPool</code> was created with the same <code>queryType</code> as that of another <a href=\"#queries-operation-active\">active</a> query within <code>commandBuffer</code>, then <code>index</code> <strong class=\"purple\">must</strong> not match the index used for the active query"
+        },
+        {
           "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-02338",
           "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT</code> the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
         },
@@ -15161,44 +19553,8 @@
         {
           "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-02341",
           "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT</code> then <code>VkPhysicalDeviceTransformFeedbackPropertiesEXT</code>::<code>transformFeedbackQueries</code> <strong class=\"purple\">must</strong> be supported"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-commandBuffer-01885",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-query-00808",
-          "text": " If called within a render pass instance, the sum of <code>query</code> and the number of bits set in the current subpass&#8217;s view mask <strong class=\"purple\">must</strong> be less than or equal to the number of queries in <code>queryPool</code>"
-        }
-      ],
-      "(VK_KHR_performance_query)": [
-        {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03223",
-          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, the <a href=\"#profiling-lock\">profiling lock</a> <strong class=\"purple\">must</strong> have been held before <a href=\"#vkBeginCommandBuffer\">vkBeginCommandBuffer</a> was called on <code>commandBuffer</code>"
         },
         {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03224",
-          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> and one of the counters used to create <code>queryPool</code> was <code>VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR</code>, the query begin <strong class=\"purple\">must</strong> be the first recorded command in <code>commandBuffer</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03225",
-          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> and one of the counters used to create <code>queryPool</code> was <code>VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR</code>, the begin command <strong class=\"purple\">must</strong> not be recorded within a render pass instance"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03226",
-          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> and another query pool with a <code>queryType</code> <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> has been used within <code>commandBuffer</code>, its parent primary command buffer or secondary command buffer recorded within the same parent primary command buffer as <code>commandBuffer</code>, the <a href=\"#features-performanceCounterMultipleQueryPools\"><code>performanceCounterMultipleQueryPools</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-None-02863",
-          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, this command <strong class=\"purple\">must</strong> not be recorded in a command buffer that, either directly or through secondary command buffers, also contains a <code>vkCmdResetQueryPool</code> command affecting the same query"
-        }
-      ],
-      "(VK_EXT_transform_feedback)": [
-        {
           "vuid": "VUID-vkCmdBeginQueryIndexedEXT-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -15222,6 +19578,52 @@
           "vuid": "VUID-vkCmdBeginQueryIndexedEXT-commonparent",
           "text": " Both of <code>commandBuffer</code>, and <code>queryPool</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-04728",
+          "text": " The <code>queryType</code> used to create <code>queryPool</code> <strong class=\"purple\">must</strong> not be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code> or <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-04729",
+          "text": " The <code>queryType</code> used to create <code>queryPool</code> <strong class=\"purple\">must</strong> not be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-commandBuffer-01885",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-query-00808",
+          "text": " If called within a render pass instance, the sum of <code>query</code> and the number of bits set in the current subpass&#8217;s view mask <strong class=\"purple\">must</strong> be less than or equal to the number of queries in <code>queryPool</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_KHR_performance_query)": [
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03223",
+          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, the <a href=\"#profiling-lock\">profiling lock</a> <strong class=\"purple\">must</strong> have been held before <a href=\"#vkBeginCommandBuffer\">vkBeginCommandBuffer</a> was called on <code>commandBuffer</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03224",
+          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> and one of the counters used to create <code>queryPool</code> was <code>VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR</code>, the query begin <strong class=\"purple\">must</strong> be the first recorded command in <code>commandBuffer</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03225",
+          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> and one of the counters used to create <code>queryPool</code> was <code>VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR</code>, the begin command <strong class=\"purple\">must</strong> not be recorded within a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryPool-03226",
+          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> and another query pool with a <code>queryType</code> <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code> has been used within <code>commandBuffer</code>, its parent primary command buffer or secondary command buffer recorded within the same parent primary command buffer as <code>commandBuffer</code>, the <a href=\"#features-performanceCounterMultipleQueryPools\"><code>performanceCounterMultipleQueryPools</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdBeginQueryIndexedEXT-None-02863",
+          "text": " If <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, this command <strong class=\"purple\">must</strong> not be recorded in a command buffer that, either directly or through secondary command buffers, also contains a <code>vkCmdResetQueryPool</code> command affecting the same query"
+        }
       ]
     },
     "vkCmdEndQuery": {
@@ -15395,6 +19797,10 @@
           "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, then <code>pData</code> and <code>stride</code> <strong class=\"purple\">must</strong> be multiples of the size of <a href=\"#VkPerformanceCounterResultKHR\">VkPerformanceCounterResultKHR</a>"
         },
         {
+          "vuid": "VUID-vkGetQueryPoolResults-queryType-04519",
+          "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, then <code>stride</code> <strong class=\"purple\">must</strong> be large enough to contain <code>VkQueryPoolPerformanceCreateInfoKHR</code>::<code>counterIndexCount</code> used to create <code>queryPool</code> times the size of <a href=\"#VkPerformanceCounterResultKHR\">VkPerformanceCounterResultKHR</a>."
+        },
+        {
           "vuid": "VUID-vkGetQueryPoolResults-queryType-03230",
           "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_QUERY_RESULT_WITH_AVAILABILITY_BIT</code>, <code>VK_QUERY_RESULT_PARTIAL_BIT</code> or <code>VK_QUERY_RESULT_64_BIT</code>"
         },
@@ -15496,6 +19902,114 @@
         }
       ]
     },
+    "vkCmdWriteTimestamp2KHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-synchronization2-03858",
+          "text": " The <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03859",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> only include a single pipeline stage"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03860",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> only include stages valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-queryPool-03861",
+          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> of <code>VK_QUERY_TYPE_TIMESTAMP</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-queryPool-03862",
+          "text": " The query identified by <code>queryPool</code> and <code>query</code> <strong class=\"purple\">must</strong> be <em>unavailable</em>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-timestampValidBits-03863",
+          "text": " The command pool&#8217;s queue family <strong class=\"purple\">must</strong> support a non-zero <code>timestampValidBits</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-parameter",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-requiredbitmask",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-queryPool-parameter",
+          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryPool\">VkQueryPool</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-commonparent",
+          "text": " Both of <code>commandBuffer</code>, and <code>queryPool</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-stage-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        }
+      ],
+      "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-None-03864",
+          "text": " All queries used by the command <strong class=\"purple\">must</strong> be unavailable"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteTimestamp2KHR-query-03865",
+          "text": " If <code>vkCmdWriteTimestamp2KHR</code> is called within a render pass instance, the sum of <code>query</code> and the number of bits set in the current subpass&#8217;s view mask <strong class=\"purple\">must</strong> be less than or equal to the number of queries in <code>queryPool</code>"
+        }
+      ]
+    },
     "vkCmdWriteTimestamp": {
       "core": [
         {
@@ -15868,11 +20382,11 @@
         },
         {
           "vuid": "VUID-vkReleasePerformanceConfigurationINTEL-configuration-parameter",
-          "text": " <code>configuration</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPerformanceConfigurationINTEL\">VkPerformanceConfigurationINTEL</a> handle"
+          "text": " If <code>configuration</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>configuration</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPerformanceConfigurationINTEL\">VkPerformanceConfigurationINTEL</a> handle"
         },
         {
           "vuid": "VUID-vkReleasePerformanceConfigurationINTEL-configuration-parent",
-          "text": " <code>configuration</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+          "text": " If <code>configuration</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
         }
       ]
     },
@@ -15933,10 +20447,6 @@
           "text": " <code>imageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
         },
         {
-          "vuid": "VUID-vkCmdClearColorImage-pColor-parameter",
-          "text": " <code>pColor</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkClearColorValue\">VkClearColorValue</a> union"
-        },
-        {
           "vuid": "VUID-vkCmdClearColorImage-pRanges-parameter",
           "text": " <code>pRanges</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>rangeCount</code> valid <a href=\"#VkImageSubresourceRange\">VkImageSubresourceRange</a> structures"
         },
@@ -16486,6 +20996,128 @@
         }
       ]
     },
+    "vkCmdCopyBuffer2KHR": {
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-commandBuffer-01822",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-commandBuffer-01823",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-commandBuffer-01824",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be an unprotected buffer"
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-pCopyBufferInfo-parameter",
+          "text": " <code>pCopyBufferInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyBufferInfo2KHR\">VkCopyBufferInfo2KHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkCopyBufferInfo2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-srcOffset-00113",
+          "text": " The <code>srcOffset</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the size of <code>srcBuffer</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-dstOffset-00114",
+          "text": " The <code>dstOffset</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the size of <code>dstBuffer</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-size-00115",
+          "text": " The <code>size</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>srcBuffer</code> minus <code>srcOffset</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-size-00116",
+          "text": " The <code>size</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>dstBuffer</code> minus <code>dstOffset</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-pRegions-00117",
+          "text": " The union of the source regions, and the union of the destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-srcBuffer-00118",
+          "text": " <code>srcBuffer</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_TRANSFER_SRC_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-srcBuffer-00119",
+          "text": " If <code>srcBuffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-dstBuffer-00120",
+          "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_TRANSFER_DST_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-dstBuffer-00121",
+          "text": " If <code>dstBuffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-srcBuffer-parameter",
+          "text": " <code>srcBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-dstBuffer-parameter",
+          "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-pRegions-parameter",
+          "text": " <code>pRegions</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href=\"#VkBufferCopy2KHR\">VkBufferCopy2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-regionCount-arraylength",
+          "text": " <code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferInfo2KHR-commonparent",
+          "text": " Both of <code>dstBuffer</code>, and <code>srcBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "VkBufferCopy2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkBufferCopy2KHR-size-01988",
+          "text": " The <code>size</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferCopy2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferCopy2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
     "vkCmdCopyImage": {
       "(VK_VERSION_1_1)": [
         {
@@ -16551,6 +21183,94 @@
           "text": " The <code>dstOffset</code> and <code>extent</code> members of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>"
         },
         {
+          "vuid": "VUID-vkCmdCopyImage-aspectMask-00142",
+          "text": " For each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-aspectMask-00143",
+          "text": " For each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcOffset-00144",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcOffset-00145",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-00146",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcOffset-00147",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01785",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01786",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01787",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01788",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstOffset-00150",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstOffset-00151",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-00152",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstOffset-00153",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01727",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, all members of <code>srcOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01728",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01729",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01730",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01731",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, all members of <code>dstOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01732",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01733",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01734",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
           "vuid": "VUID-vkCmdCopyImage-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -16603,6 +21323,26 @@
         {
           "vuid": "VUID-vkCmdCopyImage-dstImage-01996",
           "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-04443",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and and <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-04444",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01790",
+          "text": " If <code>srcImage</code> and <code>dstImage</code> are both of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01791",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, and <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> equal <code>srcSubresource.layerCount</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01792",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, and <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> equal <code>dstSubresource.layerCount</code>"
         }
       ],
       "!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
@@ -16635,6 +21375,34 @@
         {
           "vuid": "VUID-vkCmdCopyImage-None-01549",
           "text": " In a copy to or from a plane of a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image</a>, the <a href=\"#VkFormat\">VkFormat</a> of the image and plane <strong class=\"purple\">must</strong> be compatible according to <a href=\"#formats-compatible-planes\">the description of compatible planes</a> for the plane being copied"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01551",
+          "text": " If neither <code>srcImage</code> nor <code>dstImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> and <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> match"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01552",
+          "text": " If <code>srcImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">two planes</a> then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01553",
+          "text": " If <code>srcImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">three planes</a> then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01554",
+          "text": " If <code>dstImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">two planes</a> then for each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01555",
+          "text": " If <code>dstImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">three planes</a> then for each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01556",
+          "text": " If <code>srcImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> and the <code>dstImage</code> does not have a multi-planar image format, then for each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-dstImage-01557",
+          "text": " If <code>dstImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> and the <code>srcImage</code> does not have a multi-planar image format, then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
         }
       ],
       "!(VK_KHR_shared_presentable_image)": [
@@ -16662,6 +21430,16 @@
           "vuid": "VUID-vkCmdCopyImage-dstImage-02542",
           "text": " <code>dstImage</code> and <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
         }
+      ],
+      "!(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-00139",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-srcImage-01789",
+          "text": " If <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
       ]
     },
     "VkImageCopy": {
@@ -16669,196 +21447,22 @@
         {
           "vuid": "VUID-VkImageCopy-aspectMask-00137",
           "text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcOffset-00157",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, all members of <code>srcOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-extent-00158",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the source image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-extent-00159",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the source image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-extent-00160",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the source image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstOffset-00162",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, all members of <code>dstOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-extent-00163",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the destination image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-extent-00164",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the destination image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-extent-00165",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the destination image subresource depth"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01551",
-          "text": " If neither the calling command&#8217;s <code>srcImage</code> nor the calling command&#8217;s <code>dstImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> then the <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01552",
-          "text": " If the calling command&#8217;s <code>srcImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">two planes</a> then the <code>srcSubresource</code> <code>aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01553",
-          "text": " If the calling command&#8217;s <code>srcImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">three planes</a> then the <code>srcSubresource</code> <code>aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01554",
-          "text": " If the calling command&#8217;s <code>dstImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">two planes</a> then the <code>dstSubresource</code> <code>aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01555",
-          "text": " If the calling command&#8217;s <code>dstImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">three planes</a> then the <code>dstSubresource</code> <code>aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01556",
-          "text": " If the calling command&#8217;s <code>srcImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> and the <code>dstImage</code> does not have a multi-planar image format, the <code>dstSubresource</code> <code>aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01557",
-          "text": " If the calling command&#8217;s <code>dstImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> and the <code>srcImage</code> does not have a multi-planar image format, the <code>srcSubresource</code> <code>aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01727",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, all members of <code>srcOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01728",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the source image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01729",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the source image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01730",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the source image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01731",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, all members of <code>dstOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01732",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the destination image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01733",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the destination image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01734",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is a compressed format image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the destination image subresource depth"
         }
       ],
       "!(VK_VERSION_1_1,VK_KHR_maintenance1)": [
         {
           "vuid": "VUID-VkImageCopy-layerCount-00138",
           "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-00139",
-          "text": " If either of the calling command&#8217;s <code>srcImage</code> or <code>dstImage</code> parameters are of <a href=\"#VkImageType\">VkImageType</a> <code>VK_IMAGE_TYPE_3D</code>, the <code>baseArrayLayer</code> and <code>layerCount</code> members of both <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>1</code>, respectively"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01789",
-          "text": " If the calling command&#8217;s <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
         {
           "vuid": "VUID-VkImageCopy-extent-00140",
           "text": " The number of slices of the <code>extent</code> (for 3D) or layers of the <code>srcSubresource</code> (for non-3D) <strong class=\"purple\">must</strong> match the number of slices of the <code>extent</code> (for 3D) or layers of the <code>dstSubresource</code> (for non-3D)"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-00141",
-          "text": " If either of the calling command&#8217;s <code>srcImage</code> or <code>dstImage</code> parameters are of <a href=\"#VkImageType\">VkImageType</a> <code>VK_IMAGE_TYPE_3D</code>, the <code>baseArrayLayer</code> and <code>layerCount</code> members of the corresponding subresource <strong class=\"purple\">must</strong> be <code>0</code> and <code>1</code>, respectively"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01790",
-          "text": " If both <code>srcImage</code> and <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_2D</code> then <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01791",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, and the <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then <code>extent.depth</code> <strong class=\"purple\">must</strong> equal to the <code>layerCount</code> member of <code>srcSubresource</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01792",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, and the <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then <code>extent.depth</code> <strong class=\"purple\">must</strong> equal to the <code>layerCount</code> member of <code>dstSubresource</code>"
         }
       ],
       "core": [
         {
-          "vuid": "VUID-VkImageCopy-aspectMask-00142",
-          "text": " The <code>aspectMask</code> member of <code>srcSubresource</code> <strong class=\"purple\">must</strong> specify aspects present in the calling command&#8217;s <code>srcImage</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-aspectMask-00143",
-          "text": " The <code>aspectMask</code> member of <code>dstSubresource</code> <strong class=\"purple\">must</strong> specify aspects present in the calling command&#8217;s <code>dstImage</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcOffset-00144",
-          "text": " <code>srcOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcOffset-00145",
-          "text": " <code>srcOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-00146",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>srcOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcOffset-00147",
-          "text": " <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01785",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01786",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-srcImage-01787",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-01788",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstOffset-00150",
-          "text": " <code>dstOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstOffset-00151",
-          "text": " <code>dstOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstImage-00152",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>dstOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageCopy-dstOffset-00153",
-          "text": " <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource depth"
-        },
-        {
           "vuid": "VUID-VkImageCopy-srcSubresource-parameter",
           "text": " <code>srcSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
         },
@@ -16898,6 +21502,384 @@
         }
       ]
     },
+    "vkCmdCopyImage2KHR": {
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-commandBuffer-01825",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-commandBuffer-01826",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-commandBuffer-01827",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-pCopyImageInfo-parameter",
+          "text": " <code>pCopyImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyImageInfo2KHR\">VkCopyImageInfo2KHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkCopyImageInfo2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-pRegions-00124",
+          "text": " The union of all source regions, and the union of all destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-00126",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImageLayout-00128",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>srcImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-00131",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImageLayout-00133",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>dstImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-00136",
+          "text": " The sample count of <code>srcImage</code> and <code>dstImage</code> <strong class=\"purple\">must</strong> match"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcSubresource-01696",
+          "text": " The <code>srcSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstSubresource-01697",
+          "text": " The <code>dstSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcSubresource-01698",
+          "text": " The <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstSubresource-01699",
+          "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcOffset-01783",
+          "text": " The <code>srcOffset</code> and <code>extent</code> members of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstOffset-01784",
+          "text": " The <code>dstOffset</code> and <code>extent</code> members of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-aspectMask-00142",
+          "text": " For each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-aspectMask-00143",
+          "text": " For each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcOffset-00144",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcOffset-00145",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-00146",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcOffset-00147",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01785",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01786",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01787",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01788",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstOffset-00150",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstOffset-00151",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-00152",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstOffset-00153",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01727",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, all members of <code>srcOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01728",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01729",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01730",
+          "text": " If <code>srcImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01731",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, all members of <code>dstOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01732",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01733",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01734",
+          "text": " If <code>dstImage</code> is a <a href=\"#blocked-image\">blocked image</a>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-parameter",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImageLayout-parameter",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-parameter",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImageLayout-parameter",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-pRegions-parameter",
+          "text": " <code>pRegions</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href=\"#VkImageCopy2KHR\">VkImageCopy2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-regionCount-arraylength",
+          "text": " <code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-commonparent",
+          "text": " Both of <code>dstImage</code>, and <code>srcImage</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01995",
+          "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01996",
+          "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-04443",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and and <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-04444",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01790",
+          "text": " If <code>srcImage</code> and <code>dstImage</code> are both of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01791",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, and <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> equal <code>srcSubresource.layerCount</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01792",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, and <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> equal <code>dstSubresource.layerCount</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-00127",
+          "text": " If <code>srcImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-00132",
+          "text": " If <code>dstImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-00135",
+          "text": " The <a href=\"#VkFormat\">VkFormat</a> of each of <code>srcImage</code> and <code>dstImage</code> <strong class=\"purple\">must</strong> be compatible, as defined <a href=\"#copies-images-format-compatibility\">above</a>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01546",
+          "text": " If <code>srcImage</code> is non-sparse then the image or <em>disjoint</em> plane to be copied <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01547",
+          "text": " If <code>dstImage</code> is non-sparse then the image or <em>disjoint</em> plane that is the destination of the copy <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01548",
+          "text": " If the <a href=\"#VkFormat\">VkFormat</a> of each of <code>srcImage</code> and <code>dstImage</code> is not a <a href=\"#formats-requiring-sampler-ycbcr-conversion\"><em>multi-planar format</em></a>, the <a href=\"#VkFormat\">VkFormat</a> of each of <code>srcImage</code> and <code>dstImage</code> <strong class=\"purple\">must</strong> be compatible, as defined <a href=\"#copies-images-format-compatibility\">above</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-None-01549",
+          "text": " In a copy to or from a plane of a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image</a>, the <a href=\"#VkFormat\">VkFormat</a> of the image and plane <strong class=\"purple\">must</strong> be compatible according to <a href=\"#formats-compatible-planes\">the description of compatible planes</a> for the plane being copied"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01551",
+          "text": " If neither <code>srcImage</code> nor <code>dstImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> and <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> match"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01552",
+          "text": " If <code>srcImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">two planes</a> then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01553",
+          "text": " If <code>srcImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">three planes</a> then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01554",
+          "text": " If <code>dstImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">two planes</a> then for each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01555",
+          "text": " If <code>dstImage</code> has a <a href=\"#VkFormat\">VkFormat</a> with <a href=\"#formats-requiring-sampler-ycbcr-conversion\">three planes</a> then for each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01556",
+          "text": " If <code>srcImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> and the <code>dstImage</code> does not have a multi-planar image format, then for each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-01557",
+          "text": " If <code>dstImage</code> has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a> and the <code>srcImage</code> does not have a multi-planar image format, then for each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImageLayout-00129",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImageLayout-00134",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImageLayout-01917",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImageLayout-01395",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-dstImage-02542",
+          "text": " <code>dstImage</code> and <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-00139",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageInfo2KHR-srcImage-01789",
+          "text": " If <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
+      ]
+    },
+    "VkImageCopy2KHR": {
+      "(VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkImageCopy2KHR-aspectMask-00137",
+          "text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+        {
+          "vuid": "VUID-VkImageCopy2KHR-layerCount-00138",
+          "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+        {
+          "vuid": "VUID-VkImageCopy2KHR-extent-00140",
+          "text": " The number of slices of the <code>extent</code> (for 3D) or layers of the <code>srcSubresource</code> (for non-3D) <strong class=\"purple\">must</strong> match the number of slices of the <code>extent</code> (for 3D) or layers of the <code>dstSubresource</code> (for non-3D)"
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkImageCopy2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageCopy2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkImageCopy2KHR-srcSubresource-parameter",
+          "text": " <code>srcSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
+        },
+        {
+          "vuid": "VUID-VkImageCopy2KHR-dstSubresource-parameter",
+          "text": " <code>dstSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
+        }
+      ]
+    },
     "vkCmdCopyBufferToImage": {
       "(VK_VERSION_1_1)": [
         {
@@ -16915,14 +21897,14 @@
       ],
       "core": [
         {
-          "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-00171",
-          "text": " <code>srcBuffer</code> <strong class=\"purple\">must</strong> be large enough to contain all buffer locations that are accessed according to <a href=\"#copies-buffers-images-addressing\">Buffer and Image Addressing</a>, for each element of <code>pRegions</code>"
-        },
-        {
           "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-00172",
           "text": " The image region specified by each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a region that is contained within <code>dstImage</code>"
         },
         {
+          "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-00171",
+          "text": " <code>srcBuffer</code> <strong class=\"purple\">must</strong> be large enough to contain all buffer locations that are accessed according to <a href=\"#copies-buffers-images-addressing\">Buffer and Image Addressing</a>, for each element of <code>pRegions</code>"
+        },
+        {
           "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-00173",
           "text": " The union of all source regions, and the union of all destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory"
         },
@@ -16963,12 +21945,80 @@
           "text": " The <code>imageOffset</code> and <code>imageExtent</code> members of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>"
         },
         {
+          "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-04477",
+          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pRegions</code>, the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>."
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-00197",
+          "text": " For each element of <code>pRegions</code>, <code>imageOffset.x</code> and <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>imageSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-00198",
+          "text": " For each element of <code>pRegions</code>, <code>imageOffset.y</code> and <span class=\"eq\">(imageExtent.height &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>imageSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-srcImage-00199",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-00200",
+          "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(imageExtent.depth &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-srcImage-00201",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-bufferRowLength-00203",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-bufferImageHeight-00204",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-00205",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-00206",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00207",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00208",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00209",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-aspectMask-00211",
+          "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-baseArrayLayer-00213",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-04725",
+          "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-04726",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
           "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-04052",
           "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code> or <code>VK_QUEUE_COMPUTE_BIT</code>, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
         },
         {
-          "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-04053",
-          "text": " If <code>dstImage</code> has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+          "vuid": "VUID-vkCmdCopyBufferToImage-srcImage-04053",
+          "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
         },
         {
           "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-parameter",
@@ -17034,6 +22084,32 @@
           "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-02543",
           "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
         }
+      ],
+      "!(VK_EXT_depth_range_unrestricted)": [
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-None-00214",
+          "text": " For each element of <code>pRegions</code> whose <code>imageSubresource</code> contains a depth aspect, the data in <code>srcBuffer</code> <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[0,1]</span>"
+        }
+      ],
+      "!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-00193",
+          "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-01558",
+          "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-01559",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-aspectMask-01560",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+        }
       ]
     },
     "vkCmdCopyImageToBuffer": {
@@ -17073,14 +22149,6 @@
           "text": " If <code>srcImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00188",
-          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have a sample count equal to <code>VK_SAMPLE_COUNT_1_BIT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImageLayout-00189",
-          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>srcImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
-        },
-        {
           "vuid": "VUID-vkCmdCopyImageToBuffer-dstBuffer-00191",
           "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_TRANSFER_DST_BIT</code> usage flag"
         },
@@ -17089,6 +22157,14 @@
           "text": " If <code>dstBuffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00188",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have a sample count equal to <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImageLayout-00189",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>srcImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
           "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-01703",
           "text": " The <code>imageSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
         },
@@ -17101,12 +22177,76 @@
           "text": " The <code>imageOffset</code> and <code>imageExtent</code> members of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>"
         },
         {
-          "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-04054",
+          "vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-00197",
+          "text": " For each element of <code>pRegions</code> , <code>imageOffset.x</code> and <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>imageSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-00198",
+          "text": " For each element of <code>pRegions</code> , <code>imageOffset.y</code> and <span class=\"eq\">(imageExtent.height &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>imageSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00199",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-00200",
+          "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(imageExtent.depth &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00201",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-bufferRowLength-00203",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-bufferImageHeight-00204",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-00205",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-00206",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00207",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00208",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00209",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-aspectMask-00211",
+          "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-baseArrayLayer-00213",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-04725",
+          "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-04726",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-04052",
           "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code> or <code>VK_QUEUE_COMPUTE_BIT</code>, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
         },
         {
-          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-04055",
-          "text": " If <code>srcImage</code> has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+          "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-04053",
+          "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
         },
         {
           "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-parameter",
@@ -17164,7 +22304,7 @@
       "(VK_KHR_shared_presentable_image)": [
         {
           "vuid": "VUID-vkCmdCopyImageToBuffer-srcImageLayout-01397",
-          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
         }
       ],
       "(VK_EXT_fragment_density_map)": [
@@ -17172,85 +22312,29 @@
           "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-02544",
           "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
         }
-      ]
-    },
-    "VkBufferImageCopy": {
+      ],
       "!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkBufferImageCopy-bufferOffset-00193",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter&#8217;s format is not a depth/stencil format, then <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-bufferRowLength-00203",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-bufferImageHeight-00204",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-imageOffset-00205",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-bufferOffset-00206",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-imageExtent-00207",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the image subresource width"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-imageExtent-00208",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the image subresource height"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-imageExtent-00209",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the image subresource depth"
+          "vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-00193",
+          "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkBufferImageCopy-bufferOffset-01558",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter&#8217;s format is not a depth/stencil format or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+          "vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-01558",
+          "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
         },
         {
-          "vuid": "VUID-VkBufferImageCopy-bufferOffset-01559",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter&#8217;s format is a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+          "vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-01559",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
         },
         {
-          "vuid": "VUID-VkBufferImageCopy-None-01735",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-None-01736",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-None-01737",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-None-01738",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-None-01739",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the image subresource width"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-None-01740",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the image subresource height"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-None-01741",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is a compressed image, or a <em>single-plane</em>, &#8220;<code>_422</code>&#8221; image format, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-aspectMask-01560",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter&#8217;s format is a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+          "vuid": "VUID-vkCmdCopyImageToBuffer-aspectMask-01560",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
         }
-      ],
+      ]
+    },
+    "VkBufferImageCopy": {
       "core": [
         {
           "vuid": "VUID-VkBufferImageCopy-bufferRowLength-00195",
@@ -17261,46 +22345,582 @@
           "text": " <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>height</code> member of <code>imageExtent</code>"
         },
         {
-          "vuid": "VUID-VkBufferImageCopy-imageOffset-00197",
-          "text": " <code>imageOffset.x</code> and <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the image subresource width"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-imageOffset-00198",
-          "text": " <code>imageOffset.y</code> and <span class=\"eq\">(imageExtent.height &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the image subresource height"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-srcImage-00199",
-          "text": " If the calling command&#8217;s <code>srcImage</code> (<a href=\"#vkCmdCopyImageToBuffer\">vkCmdCopyImageToBuffer</a>) or <code>dstImage</code> (<a href=\"#vkCmdCopyBufferToImage\">vkCmdCopyBufferToImage</a>) is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-imageOffset-00200",
-          "text": " <code>imageOffset.z</code> and <span class=\"eq\">(imageExtent.depth &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-srcImage-00201",
-          "text": " If the calling command&#8217;s <code>srcImage</code> (<a href=\"#vkCmdCopyImageToBuffer\">vkCmdCopyImageToBuffer</a>) or <code>dstImage</code> (<a href=\"#vkCmdCopyBufferToImage\">vkCmdCopyBufferToImage</a>) is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkBufferImageCopy-aspectMask-00211",
-          "text": " The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> specify aspects present in the calling command&#8217;s <code>VkImage</code> parameter"
-        },
-        {
           "vuid": "VUID-VkBufferImageCopy-aspectMask-00212",
           "text": " The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> only have a single bit set"
         },
         {
-          "vuid": "VUID-VkBufferImageCopy-baseArrayLayer-00213",
-          "text": " If the calling command&#8217;s <code>VkImage</code> parameter is of <a href=\"#VkImageType\">VkImageType</a> <code>VK_IMAGE_TYPE_3D</code>, the <code>baseArrayLayer</code> and <code>layerCount</code> members of <code>imageSubresource</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>1</code>, respectively"
-        },
-        {
           "vuid": "VUID-VkBufferImageCopy-imageSubresource-parameter",
           "text": " <code>imageSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
         }
-      ],
-      "!(VK_EXT_depth_range_unrestricted)": [
+      ]
+    },
+    "vkCmdCopyBufferToImage2KHR": {
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1)": [
         {
-          "vuid": "VUID-VkBufferImageCopy-None-00214",
-          "text": " When copying to the depth aspect of an image subresource, the data in the source buffer <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[0,1]</span>"
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-commandBuffer-01828",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-commandBuffer-01829",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-commandBuffer-01830",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-pCopyBufferToImageInfo-parameter",
+          "text": " <code>pCopyBufferToImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyBufferToImageInfo2KHR\">VkCopyBufferToImageInfo2KHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkCopyBufferToImageInfo2KHR": {
+      "(VK_KHR_copy_commands2)+!(VK_QCOM_rotated_copy_commands)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-00172",
+          "text": " The image region specified by each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a region that is contained within <code>dstImage</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_QCOM_rotated_copy_commands)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04565",
+          "text": " If the image region specified by each element of <code>pRegions</code> does not contain <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, it <strong class=\"purple\">must</strong> be a region that is contained within <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04554",
+          "text": " If the image region specified by each element of <code>pRegions</code> does contain <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, the rotated destination region as described in <a href=\"#copies-buffers-images-rotation-addressing\">Buffer and Image Addressing with Rotation</a> <strong class=\"purple\">must</strong> be contained within <code>dstImage</code>."
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04555",
+          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then the <code>dstImage</code> <strong class=\"purple\">must</strong> not be a <a href=\"#blocked-image\">blocked image</a>."
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04556",
+          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then the <code>dstImage</code> <strong class=\"purple\">must</strong> be of type <code>VK_IMAGE_TYPE_2D</code> and <strong class=\"purple\">must</strong> not be a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>."
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-00171",
+          "text": " <code>srcBuffer</code> <strong class=\"purple\">must</strong> be large enough to contain all buffer locations that are accessed according to <a href=\"#copies-buffers-images-addressing\">Buffer and Image Addressing</a>, for each element of <code>pRegions</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-00173",
+          "text": " The union of all source regions, and the union of all destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-srcBuffer-00174",
+          "text": " <code>srcBuffer</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_TRANSFER_SRC_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-srcBuffer-00176",
+          "text": " If <code>srcBuffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImage-00177",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImage-00178",
+          "text": " If <code>dstImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImage-00179",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have a sample count equal to <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImageLayout-00180",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>dstImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageSubresource-01701",
+          "text": " The <code>imageSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageSubresource-01702",
+          "text": " The <span class=\"eq\"><code>imageSubresource.baseArrayLayer</code> &#43; <code>imageSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageOffset-01793",
+          "text": " The <code>imageOffset</code> and <code>imageExtent</code> members of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-commandBuffer-04477",
+          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pRegions</code>, the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>."
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageOffset-00197",
+          "text": " For each element of <code>pRegions</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageOffset-00198",
+          "text": " For each element of <code>pRegions</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-srcImage-00199",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageOffset-00200",
+          "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(imageExtent.depth &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-srcImage-00201",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-bufferRowLength-00203",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-bufferImageHeight-00204",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageOffset-00205",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-bufferOffset-00206",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageExtent-00207",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageExtent-00208",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-imageExtent-00209",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-aspectMask-00211",
+          "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-baseArrayLayer-00213",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04725",
+          "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04726",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-commandBuffer-04052",
+          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code> or <code>VK_QUEUE_COMPUTE_BIT</code>, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-srcImage-04053",
+          "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-srcBuffer-parameter",
+          "text": " <code>srcBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImage-parameter",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImageLayout-parameter",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-parameter",
+          "text": " <code>pRegions</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href=\"#VkBufferImageCopy2KHR\">VkBufferImageCopy2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-regionCount-arraylength",
+          "text": " <code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-commonparent",
+          "text": " Both of <code>dstImage</code>, and <code>srcBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImage-01997",
+          "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImageLayout-00181",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImageLayout-01396",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-dstImage-02543",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_EXT_depth_range_unrestricted)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-None-00214",
+          "text": " For each element of <code>pRegions</code> whose <code>imageSubresource</code> contains a depth aspect, the data in <code>srcBuffer</code> <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[0,1]</span>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-bufferOffset-00193",
+          "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-bufferOffset-01558",
+          "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-bufferOffset-01559",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-aspectMask-01560",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+        }
+      ]
+    },
+    "vkCmdCopyImageToBuffer2KHR": {
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-commandBuffer-01831",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-commandBuffer-01832",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-commandBuffer-01833",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be an unprotected buffer"
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-pCopyImageToBufferInfo-parameter",
+          "text": " <code>pCopyImageToBufferInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyImageToBufferInfo2KHR\">VkCopyImageToBufferInfo2KHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkCopyImageToBufferInfo2KHR": {
+      "(VK_KHR_copy_commands2)+!(VK_QCOM_rotated_copy_commands)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-00182",
+          "text": " The image region specified by each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a region that is contained within <code>srcImage</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_QCOM_rotated_copy_commands)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04566",
+          "text": " If the image region specified by each element of <code>pRegions</code> does not contain <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, it <strong class=\"purple\">must</strong> be a region that is contained within <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04557",
+          "text": " If the image region specified by each element of <code>pRegions</code> does contain <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, the rotated source region as described in <a href=\"#copies-buffers-images-rotation-addressing\">Buffer and Image Addressing with Rotation</a> <strong class=\"purple\">must</strong> be contained within <code>srcImage</code>."
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04558",
+          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then the <code>srcImage</code> <strong class=\"purple\">must</strong> not be a <a href=\"#blocked-image\">blocked image</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04559",
+          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then the <code>srcImage</code> <strong class=\"purple\">must</strong> be of type <code>VK_IMAGE_TYPE_2D</code>, and <strong class=\"purple\">must</strong> not be a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>."
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-00183",
+          "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> be large enough to contain all buffer locations that are accessed according to <a href=\"#copies-buffers-images-addressing\">Buffer and Image Addressing</a>, for each element of <code>pRegions</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-00184",
+          "text": " The union of all source regions, and the union of all destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-00186",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-00187",
+          "text": " If <code>srcImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-dstBuffer-00191",
+          "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_TRANSFER_DST_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-dstBuffer-00192",
+          "text": " If <code>dstBuffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-00188",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have a sample count equal to <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImageLayout-00189",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>srcImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageSubresource-01703",
+          "text": " The <code>imageSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageSubresource-01704",
+          "text": " The <span class=\"eq\"><code>imageSubresource.baseArrayLayer</code> &#43; <code>imageSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageOffset-01794",
+          "text": " The <code>imageOffset</code> and <code>imageExtent</code> members of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageOffset-00197",
+          "text": " For each element of <code>pRegions</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageOffset-00198",
+          "text": " For each element of <code>pRegions</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-00199",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageOffset-00200",
+          "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(imageExtent.depth &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-00201",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-bufferRowLength-00203",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-bufferImageHeight-00204",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageOffset-00205",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-bufferOffset-00206",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageExtent-00207",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageExtent-00208",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-imageExtent-00209",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-aspectMask-00211",
+          "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-baseArrayLayer-00213",
+          "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04725",
+          "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04726",
+          "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-commandBuffer-04052",
+          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code> or <code>VK_QUEUE_COMPUTE_BIT</code>, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-04053",
+          "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-parameter",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImageLayout-parameter",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-dstBuffer-parameter",
+          "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-parameter",
+          "text": " <code>pRegions</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href=\"#VkBufferImageCopy2KHR\">VkBufferImageCopy2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-regionCount-arraylength",
+          "text": " <code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-commonparent",
+          "text": " Both of <code>dstBuffer</code>, and <code>srcImage</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-01998",
+          "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImageLayout-00190",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImageLayout-01397",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-srcImage-02544",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-bufferOffset-00193",
+          "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-bufferOffset-01558",
+          "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-bufferOffset-01559",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyImageToBufferInfo2KHR-aspectMask-01560",
+          "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+        }
+      ]
+    },
+    "VkBufferImageCopy2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkBufferImageCopy2KHR-bufferRowLength-00195",
+          "text": " <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>width</code> member of <code>imageExtent</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferImageCopy2KHR-bufferImageHeight-00196",
+          "text": " <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>height</code> member of <code>imageExtent</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferImageCopy2KHR-aspectMask-00212",
+          "text": " The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> only have a single bit set"
+        },
+        {
+          "vuid": "VUID-VkBufferImageCopy2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferImageCopy2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a>"
+        },
+        {
+          "vuid": "VUID-VkBufferImageCopy2KHR-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
+          "vuid": "VUID-VkBufferImageCopy2KHR-imageSubresource-parameter",
+          "text": " <code>imageSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
+        }
+      ]
+    },
+    "VkCopyCommandTransformInfoQCOM": {
+      "(VK_QCOM_rotated_copy_commands)": [
+        {
+          "vuid": "VUID-VkCopyCommandTransformInfoQCOM-transform-04560",
+          "text": " <code>transform</code> <strong class=\"purple\">must</strong> be <code>VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR</code>, <code>VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR</code>, <code>VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR</code>, or <code>VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyCommandTransformInfoQCOM-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM</code>"
         }
       ]
     },
@@ -17409,6 +23029,58 @@
           "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
         },
         {
+          "vuid": "VUID-vkCmdBlitImage-srcImage-00240",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>."
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-aspectMask-00241",
+          "text": " For each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-aspectMask-00242",
+          "text": " For each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-srcOffset-00243",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset</code>[0].x and <code>srcOffset</code>[1].x <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-srcOffset-00244",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset</code>[0].y and <code>srcOffset</code>[1].y <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-srcImage-00245",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset</code>[0].y <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcOffset</code>[1].y <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-srcOffset-00246",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset</code>[0].z and <code>srcOffset</code>[1].z <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-srcImage-00247",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>srcOffset</code>[0].z <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcOffset</code>[1].z <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-dstOffset-00248",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset</code>[0].x and <code>dstOffset</code>[1].x <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-dstOffset-00249",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset</code>[0].y and <code>dstOffset</code>[1].y <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-dstImage-00250",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset</code>[0].y <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstOffset</code>[1].y <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-dstOffset-00251",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset</code>[0].z and <code>dstOffset</code>[1].z <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-dstImage-00252",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset</code>[0].z <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstOffset</code>[1].z <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
           "vuid": "VUID-vkCmdBlitImage-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -17494,7 +23166,7 @@
         },
         {
           "vuid": "VUID-vkCmdBlitImage-filter-00237",
-          "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_EXT</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> have a <a href=\"#VkImageType\">VkImageType</a> of <code>VK_IMAGE_TYPE_2D</code>"
+          "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_EXT</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> be of type <code>VK_IMAGE_TYPE_2D</code>"
         }
       ],
       "(VK_EXT_fragment_density_map)": [
@@ -17515,58 +23187,6 @@
           "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
         },
         {
-          "vuid": "VUID-VkImageBlit-srcImage-00240",
-          "text": " If either of the calling command&#8217;s <code>srcImage</code> or <code>dstImage</code> parameters are of <a href=\"#VkImageType\">VkImageType</a> <code>VK_IMAGE_TYPE_3D</code>, the <code>baseArrayLayer</code> and <code>layerCount</code> members of both <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>1</code>, respectively"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-aspectMask-00241",
-          "text": " The <code>aspectMask</code> member of <code>srcSubresource</code> <strong class=\"purple\">must</strong> specify aspects present in the calling command&#8217;s <code>srcImage</code>"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-aspectMask-00242",
-          "text": " The <code>aspectMask</code> member of <code>dstSubresource</code> <strong class=\"purple\">must</strong> specify aspects present in the calling command&#8217;s <code>dstImage</code>"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-srcOffset-00243",
-          "text": " <code>srcOffset</code>[0].x and <code>srcOffset</code>[1].x <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-srcOffset-00244",
-          "text": " <code>srcOffset</code>[0].y and <code>srcOffset</code>[1].y <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-srcImage-00245",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>srcOffset</code>[0].y <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcOffset</code>[1].y <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-srcOffset-00246",
-          "text": " <code>srcOffset</code>[0].z and <code>srcOffset</code>[1].z <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-srcImage-00247",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then <code>srcOffset</code>[0].z <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcOffset</code>[1].z <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-dstOffset-00248",
-          "text": " <code>dstOffset</code>[0].x and <code>dstOffset</code>[1].x <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-dstOffset-00249",
-          "text": " <code>dstOffset</code>[0].y and <code>dstOffset</code>[1].y <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-dstImage-00250",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>dstOffset</code>[0].y <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstOffset</code>[1].y <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-dstOffset-00251",
-          "text": " <code>dstOffset</code>[0].z and <code>dstOffset</code>[1].z <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkImageBlit-dstImage-00252",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then <code>dstOffset</code>[0].z <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstOffset</code>[1].z <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
           "vuid": "VUID-VkImageBlit-srcSubresource-parameter",
           "text": " <code>srcSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
         },
@@ -17576,6 +23196,316 @@
         }
       ]
     },
+    "vkCmdBlitImage2KHR": {
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-commandBuffer-01834",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-commandBuffer-01835",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-commandBuffer-01836",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-pBlitImageInfo-parameter",
+          "text": " <code>pBlitImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkBlitImageInfo2KHR\">VkBlitImageInfo2KHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkBlitImageInfo2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-pRegions-00215",
+          "text": " The source region specified by each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a region that is contained within <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-pRegions-00216",
+          "text": " The destination region specified by each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a region that is contained within <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-pRegions-00217",
+          "text": " The union of all destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory with any texel that <strong class=\"purple\">may</strong> be sampled during the blit operation"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-01999",
+          "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_BLIT_SRC_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00219",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00220",
+          "text": " If <code>srcImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImageLayout-00221",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>srcImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-02000",
+          "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_BLIT_DST_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-00224",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-00225",
+          "text": " If <code>dstImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImageLayout-00226",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>dstImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00229",
+          "text": " If either of <code>srcImage</code> or <code>dstImage</code> was created with a signed integer <a href=\"#VkFormat\">VkFormat</a>, the other <strong class=\"purple\">must</strong> also have been created with a signed integer <a href=\"#VkFormat\">VkFormat</a>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00230",
+          "text": " If either of <code>srcImage</code> or <code>dstImage</code> was created with an unsigned integer <a href=\"#VkFormat\">VkFormat</a>, the other <strong class=\"purple\">must</strong> also have been created with an unsigned integer <a href=\"#VkFormat\">VkFormat</a>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00231",
+          "text": " If either of <code>srcImage</code> or <code>dstImage</code> was created with a depth/stencil format, the other <strong class=\"purple\">must</strong> have exactly the same format"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00232",
+          "text": " If <code>srcImage</code> was created with a depth/stencil format, <code>filter</code> <strong class=\"purple\">must</strong> be <code>VK_FILTER_NEAREST</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00233",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have been created with a <code>samples</code> value of <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-00234",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with a <code>samples</code> value of <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-filter-02001",
+          "text": " If <code>filter</code> is <code>VK_FILTER_LINEAR</code>, then the <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcSubresource-01705",
+          "text": " The <code>srcSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstSubresource-01706",
+          "text": " The <code>dstSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcSubresource-01707",
+          "text": " The <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstSubresource-01708",
+          "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00240",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>."
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-aspectMask-00241",
+          "text": " For each element of <code>pRegions</code>, <code>srcSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-aspectMask-00242",
+          "text": " For each element of <code>pRegions</code>, <code>dstSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcOffset-00243",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset</code>[0].x and <code>srcOffset</code>[1].x <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcOffset-00244",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset</code>[0].y and <code>srcOffset</code>[1].y <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00245",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset</code>[0].y <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcOffset</code>[1].y <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcOffset-00246",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset</code>[0].z and <code>srcOffset</code>[1].z <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00247",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>srcOffset</code>[0].z <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcOffset</code>[1].z <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstOffset-00248",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset</code>[0].x and <code>dstOffset</code>[1].x <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstOffset-00249",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset</code>[0].y and <code>dstOffset</code>[1].y <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-00250",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset</code>[0].y <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstOffset</code>[1].y <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstOffset-00251",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset</code>[0].z and <code>dstOffset</code>[1].z <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-00252",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset</code>[0].z <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstOffset</code>[1].z <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-parameter",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImageLayout-parameter",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-parameter",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImageLayout-parameter",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-pRegions-parameter",
+          "text": " <code>pRegions</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href=\"#VkImageBlit2KHR\">VkImageBlit2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-filter-parameter",
+          "text": " <code>filter</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFilter\">VkFilter</a> value"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-regionCount-arraylength",
+          "text": " <code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-commonparent",
+          "text": " Both of <code>dstImage</code>, and <code>srcImage</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-01561",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> not use a format listed in <a href=\"#formats-requiring-sampler-ycbcr-conversion\">Formats requiring sampler Y′C<sub>B</sub>C<sub>R</sub> conversion for <code>VK_IMAGE_ASPECT_COLOR_BIT</code> image views</a>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-01562",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> not use a format listed in <a href=\"#formats-requiring-sampler-ycbcr-conversion\">Formats requiring sampler Y′C<sub>B</sub>C<sub>R</sub> conversion for <code>VK_IMAGE_ASPECT_COLOR_BIT</code> image views</a>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImageLayout-00222",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImageLayout-00227",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-srcImageLayout-01398",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImageLayout-01399",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-filter-02002",
+          "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_EXT</code>, then the <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-filter-00237",
+          "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_EXT</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> be of type <code>VK_IMAGE_TYPE_2D</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-dstImage-02545",
+          "text": " <code>dstImage</code> and <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_QCOM_rotated_copy_commands)": [
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-pRegions-04561",
+          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then <code>srcImage</code> and <code>dstImage</code> <strong class=\"purple\">must</strong> not be a block-compressed image."
+        },
+        {
+          "vuid": "VUID-VkBlitImageInfo2KHR-pRegions-04562",
+          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then the <code>srcImage</code> <strong class=\"purple\">must</strong> be of type <code>VK_IMAGE_TYPE_2D</code> and <strong class=\"purple\">must</strong> not be a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>."
+        }
+      ]
+    },
+    "VkImageBlit2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkImageBlit2KHR-aspectMask-00238",
+          "text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+        },
+        {
+          "vuid": "VUID-VkImageBlit2KHR-layerCount-00239",
+          "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+        },
+        {
+          "vuid": "VUID-VkImageBlit2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageBlit2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a>"
+        },
+        {
+          "vuid": "VUID-VkImageBlit2KHR-sType-unique",
+          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        },
+        {
+          "vuid": "VUID-VkImageBlit2KHR-srcSubresource-parameter",
+          "text": " <code>srcSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
+        },
+        {
+          "vuid": "VUID-VkImageBlit2KHR-dstSubresource-parameter",
+          "text": " <code>dstSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
+        }
+      ]
+    },
     "vkCmdResolveImage": {
       "(VK_VERSION_1_1)": [
         {
@@ -17645,6 +23575,54 @@
           "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
         },
         {
+          "vuid": "VUID-vkCmdResolveImage-srcImage-04446",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-srcImage-04447",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-srcOffset-00269",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-srcOffset-00270",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-srcImage-00271",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-srcOffset-00272",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-srcImage-00273",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-dstOffset-00274",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-dstOffset-00275",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-dstImage-00276",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-dstOffset-00277",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-dstImage-00278",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
           "vuid": "VUID-vkCmdResolveImage-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -17727,50 +23705,6 @@
           "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
         },
         {
-          "vuid": "VUID-VkImageResolve-srcImage-00268",
-          "text": " If either of the calling command&#8217;s <code>srcImage</code> or <code>dstImage</code> parameters are of <a href=\"#VkImageType\">VkImageType</a> <code>VK_IMAGE_TYPE_3D</code>, the <code>baseArrayLayer</code> and <code>layerCount</code> members of both <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>1</code>, respectively"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-srcOffset-00269",
-          "text": " <code>srcOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-srcOffset-00270",
-          "text": " <code>srcOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-srcImage-00271",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>srcOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-srcOffset-00272",
-          "text": " <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the source image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-srcImage-00273",
-          "text": " If the calling command&#8217;s <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-dstOffset-00274",
-          "text": " <code>dstOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource width"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-dstOffset-00275",
-          "text": " <code>dstOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource height"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-dstImage-00276",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then <code>dstOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-dstOffset-00277",
-          "text": " <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the destination image subresource depth"
-        },
-        {
-          "vuid": "VUID-VkImageResolve-dstImage-00278",
-          "text": " If the calling command&#8217;s <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
-        },
-        {
           "vuid": "VUID-VkImageResolve-srcSubresource-parameter",
           "text": " <code>srcSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
         },
@@ -17780,8 +23714,110 @@
         }
       ]
     },
+    "vkCmdWriteBufferMarker2AMD": {
+      "(VK_AMD_buffer_marker)+(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03929",
+          "text": " If the <a href=\"#features-geometryShader\">geometry shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03930",
+          "text": " If the <a href=\"#features-tessellationShader\">tessellation shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-synchronization2-03893",
+          "text": " The <a href=\"#features-synchronization2\"><code>synchronization2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03894",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> include only a single pipeline stage"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03895",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> include only stages that are valid for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03896",
+          "text": " <code>dstOffset</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>dstBuffer</code> minus <code>4</code>."
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03897",
+          "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_TRANSFER_DST_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03898",
+          "text": " If <code>dstBuffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03899",
+          "text": " <code>dstOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-parameter",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineStageFlagBits2KHR\">VkPipelineStageFlagBits2KHR</a> values"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-requiredbitmask",
+          "text": " <code>stage</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-parameter",
+          "text": " <code>dstBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-commonparent",
+          "text": " Both of <code>commandBuffer</code>, and <code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_KHR_synchronization2)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03931",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_KHR_synchronization2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03932",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_KHR_synchronization2)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03933",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_KHR_synchronization2)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03934",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03935",
+          "text": " If the <a href=\"#features-taskShader\">task shaders</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_KHR_synchronization2)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarker2AMD-stage-03936",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, pname:stage <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV</code>"
+        }
+      ]
+    },
     "vkCmdWriteBufferMarkerAMD": {
-      "core": [
+      "(VK_AMD_buffer_marker)": [
         {
           "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04074",
           "text": " <code>pipelineStage</code> <strong class=\"purple\">must</strong> be a <a href=\"#synchronization-pipeline-stages-supported\">valid stage</a> for the queue family that was used to create the command pool that <code>commandBuffer</code> was allocated from"
@@ -17809,39 +23845,7 @@
         {
           "vuid": "VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01801",
           "text": " <code>dstOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
-        }
-      ],
-      "(VK_EXT_conditional_rendering)": [
-        {
-          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04077",
-          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT</code>"
-        }
-      ],
-      "(VK_EXT_fragment_density_map)": [
-        {
-          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04078",
-          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
-        }
-      ],
-      "(VK_EXT_transform_feedback)": [
-        {
-          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04079",
-          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT</code>"
-        }
-      ],
-      "(VK_NV_mesh_shader)": [
-        {
-          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04080",
-          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code> or <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>"
-        }
-      ],
-      "(VK_NV_shading_rate_image)": [
-        {
-          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04081",
-          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>"
-        }
-      ],
-      "(VK_AMD_buffer_marker)": [
+        },
         {
           "vuid": "VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
@@ -17866,6 +23870,268 @@
           "vuid": "VUID-vkCmdWriteBufferMarkerAMD-commonparent",
           "text": " Both of <code>commandBuffer</code>, and <code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_EXT_conditional_rendering)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04077",
+          "text": " If the <a href=\"#features-conditionalRendering\">conditional rendering</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04078",
+          "text": " If the <a href=\"#features-fragmentDensityMap\">fragment density map</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04079",
+          "text": " If the <a href=\"#features-transformFeedback\">transform feedback</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_NV_mesh_shader)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04080",
+          "text": " If the <a href=\"#features-meshShader\">mesh shaders</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV</code> or <code>VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV</code>"
+        }
+      ],
+      "(VK_AMD_buffer_marker)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04081",
+          "text": " If the <a href=\"#features-shadingRateImage\">shading rate image</a> feature is not enabled, <code>pipelineStage</code> <strong class=\"purple\">must</strong> not be <code>VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV</code>"
+        }
+      ]
+    },
+    "vkCmdResolveImage2KHR": {
+      "(VK_KHR_copy_commands2)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-commandBuffer-01837",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-commandBuffer-01838",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-commandBuffer-01839",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
+      ],
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-pResolveImageInfo-parameter",
+          "text": " <code>pResolveImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkResolveImageInfo2KHR\">VkResolveImageInfo2KHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage2KHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkResolveImageInfo2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-pRegions-00255",
+          "text": " The union of all source regions, and the union of all destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-00256",
+          "text": " If <code>srcImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-00257",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have a sample count equal to any valid sample count value other than <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImage-00258",
+          "text": " If <code>dstImage</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImage-00259",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have a sample count equal to <code>VK_SAMPLE_COUNT_1_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImageLayout-00260",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>srcImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImageLayout-00262",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>dstImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImage-02003",
+          "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-01386",
+          "text": " <code>srcImage</code> and <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with the same image format"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcSubresource-01709",
+          "text": " The <code>srcSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstSubresource-01710",
+          "text": " The <code>dstSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcSubresource-01711",
+          "text": " The <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstSubresource-01712",
+          "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-04446",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-04447",
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcOffset-00269",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>srcOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcOffset-00270",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>srcOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-00271",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcOffset-00272",
+          "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-00273",
+          "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstOffset-00274",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.x</code> and <span class=\"eq\">(<code>extent.width</code> &#43; <code>dstOffset.x</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the width of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstOffset-00275",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.y</code> and <span class=\"eq\">(<code>extent.height</code> &#43; <code>dstOffset.y</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the height of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImage-00276",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstOffset-00277",
+          "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImage-00278",
+          "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImage-parameter",
+          "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImageLayout-parameter",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImage-parameter",
+          "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImageLayout-parameter",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-pRegions-parameter",
+          "text": " <code>pRegions</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href=\"#VkImageResolve2KHR\">VkImageResolve2KHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-regionCount-arraylength",
+          "text": " <code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-commonparent",
+          "text": " Both of <code>dstImage</code>, and <code>srcImage</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+!(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImageLayout-00261",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImageLayout-00263",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_KHR_shared_presentable_image)": [
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-srcImageLayout-01400",
+          "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        },
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImageLayout-01401",
+          "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
+        }
+      ],
+      "(VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [
+        {
+          "vuid": "VUID-VkResolveImageInfo2KHR-dstImage-02546",
+          "text": " <code>dstImage</code> and <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
+        }
+      ]
+    },
+    "VkImageResolve2KHR": {
+      "(VK_KHR_copy_commands2)": [
+        {
+          "vuid": "VUID-VkImageResolve2KHR-aspectMask-00266",
+          "text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> only contain <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkImageResolve2KHR-layerCount-00267",
+          "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+        },
+        {
+          "vuid": "VUID-VkImageResolve2KHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkImageResolve2KHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkImageResolve2KHR-srcSubresource-parameter",
+          "text": " <code>srcSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
+        },
+        {
+          "vuid": "VUID-VkImageResolve2KHR-dstSubresource-parameter",
+          "text": " <code>dstSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure"
+        }
       ]
     },
     "VkPipelineInputAssemblyStateCreateInfo": {
@@ -17898,6 +24164,12 @@
           "vuid": "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-parameter",
           "text": " <code>topology</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPrimitiveTopology\">VkPrimitiveTopology</a> value"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkPipelineInputAssemblyStateCreateInfo-triangleFans-04452",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>triangleFans</code> is <code>VK_FALSE</code>, <code>topology</code> <strong class=\"purple\">must</strong> not be <code>VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN</code>."
+        }
       ]
     },
     "vkCmdSetPrimitiveTopologyEXT": {
@@ -17967,7 +24239,7 @@
           "text": " Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
       ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
         {
           "vuid": "VUID-vkCmdBindIndexBuffer-indexType-02507",
           "text": " <code>indexType</code> <strong class=\"purple\">must</strong> not be <code>VK_INDEX_TYPE_NONE_KHR</code>"
@@ -17983,8 +24255,12 @@
     "vkCmdDraw": {
       "core": [
         {
-          "vuid": "VUID-vkCmdDraw-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDraw-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDraw-None-02691",
@@ -18036,7 +24312,11 @@
         },
         {
           "vuid": "VUID-vkCmdDraw-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDraw-renderPass-02684",
@@ -18051,8 +24331,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDraw-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDraw-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDraw-None-04007",
@@ -18123,6 +24411,36 @@
         {
           "vuid": "VUID-vkCmdDraw-commandBuffer-02713",
           "text": " If <code>commandBuffer</code> is a protected command buffer, pipeline stages other than the framebuffer-space and compute stages in the <code>VkPipeline</code> object bound to the pipeline bind point <strong class=\"purple\">must</strong> not write to any resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-commandBuffer-04617",
+          "text": " If any of the shader stages of the <code>VkPipeline</code> bound to the pipeline bind point used by this command uses the <a href=\"#spirvenv-capabilities-table-RayQueryKHR\">RayQueryKHR</a> capability, then <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDraw-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
@@ -18140,11 +24458,11 @@
       "(VK_EXT_extended_dynamic_state)": [
         {
           "vuid": "VUID-vkCmdDraw-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDraw-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDraw-viewportCount-03419",
@@ -18154,13 +24472,55 @@
           "vuid": "VUID-vkCmdDraw-primitiveTopology-03420",
           "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
         }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDraw-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDraw-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDraw-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDraw-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDraw-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
       ]
     },
     "vkCmdDrawIndexed": {
       "core": [
         {
-          "vuid": "VUID-vkCmdDrawIndexed-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawIndexed-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-None-02691",
@@ -18212,7 +24572,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-renderPass-02684",
@@ -18227,8 +24591,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndexed-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawIndexed-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-None-04007",
@@ -18303,6 +24675,36 @@
         {
           "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-02713",
           "text": " If <code>commandBuffer</code> is a protected command buffer, pipeline stages other than the framebuffer-space and compute stages in the <code>VkPipeline</code> object bound to the pipeline bind point <strong class=\"purple\">must</strong> not write to any resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-04617",
+          "text": " If any of the shader stages of the <code>VkPipeline</code> bound to the pipeline bind point used by this command uses the <a href=\"#spirvenv-capabilities-table-RayQueryKHR\">RayQueryKHR</a> capability, then <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
@@ -18320,11 +24722,11 @@
       "(VK_EXT_extended_dynamic_state)": [
         {
           "vuid": "VUID-vkCmdDrawIndexed-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-viewportCount-03419",
@@ -18334,13 +24736,55 @@
           "vuid": "VUID-vkCmdDrawIndexed-primitiveTopology-03420",
           "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
         }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
       ]
     },
     "vkCmdDrawIndirect": {
       "core": [
         {
-          "vuid": "VUID-vkCmdDrawIndirect-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawIndirect-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-None-02691",
@@ -18392,7 +24836,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-renderPass-02684",
@@ -18407,8 +24855,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndirect-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawIndirect-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-None-04007",
@@ -18521,6 +24977,32 @@
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
         }
       ],
+      "(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
           "vuid": "VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-02688",
@@ -18536,11 +25018,11 @@
       "(VK_EXT_extended_dynamic_state)": [
         {
           "vuid": "VUID-vkCmdDrawIndirect-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-viewportCount-03419",
@@ -18550,6 +25032,44 @@
           "vuid": "VUID-vkCmdDrawIndirect-primitiveTopology-03420",
           "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
         }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
       ]
     },
     "VkDrawIndirectCommand": {
@@ -18565,10 +25085,14 @@
       ]
     },
     "vkCmdDrawIndirectCount": {
-      "core": [
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)": [
         {
-          "vuid": "VUID-vkCmdDrawIndirectCount-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawIndirectCount-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-None-02691",
@@ -18620,7 +25144,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-renderPass-02684",
@@ -18635,8 +25163,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndirectCount-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawIndirectCount-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-None-04007",
@@ -18697,84 +25233,8 @@
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-countBuffer-03122",
           "text": " If the count stored in <code>countBuffer</code> is greater than <code>1</code>, <span class=\"eq\">(<code>stride</code> {times} (<code>drawCount</code> - 1) &#43; <code>offset</code> &#43; sizeof(<code>VkDrawIndirectCommand</code>))</span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>buffer</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndirectCount-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-commandBuffer-02711",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-maxMultiviewInstanceIndex-02688",
-          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
-        }
-      ],
-      "(VK_EXT_sample_locations)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-sampleLocationsEnable-02689",
-          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-03419",
-          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-primitiveTopology-03420",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
-        }
-      ],
-      "(VK_VERSION_1_2)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectCount-None-02836",
-          "text": " If <a href=\"#features-drawIndirectCount\">drawIndirectCount</a> is not enabled this function <strong class=\"purple\">must</strong> not be used"
-        }
-      ],
-      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)": [
-        {
           "vuid": "VUID-vkCmdDrawIndirectCount-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -18802,13 +25262,155 @@
           "vuid": "VUID-vkCmdDrawIndirectCount-commonparent",
           "text": " Each of <code>buffer</code>, <code>commandBuffer</code>, and <code>countBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-commandBuffer-02711",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-maxMultiviewInstanceIndex-02688",
+          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_sample_locations)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-sampleLocationsEnable-02689",
+          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-03417",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-scissorCount-03418",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-03419",
+          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-primitiveTopology-03420",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_2)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCount-None-04445",
+          "text": " If <a href=\"#features-drawIndirectCount\">drawIndirectCount</a> is not enabled this function <strong class=\"purple\">must</strong> not be used"
+        }
       ]
     },
     "vkCmdDrawIndexedIndirect": {
       "core": [
         {
-          "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02691",
@@ -18860,7 +25462,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-renderPass-02684",
@@ -18875,8 +25481,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-None-04007",
@@ -18989,6 +25603,32 @@
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
         }
       ],
+      "(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-02688",
@@ -19004,11 +25644,11 @@
       "(VK_EXT_extended_dynamic_state)": [
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-viewportCount-03419",
@@ -19019,10 +25659,42 @@
           "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
         }
       ],
-      "(VK_VERSION_1_2)": [
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
         {
-          "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02837",
-          "text": " If <a href=\"#features-drawIndirectCount\">drawIndirectCount</a> is not enabled this function <strong class=\"purple\">must</strong> not be used"
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
         }
       ]
     },
@@ -19043,10 +25715,14 @@
       ]
     },
     "vkCmdDrawIndexedIndirectCount": {
-      "core": [
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)": [
         {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02691",
@@ -19098,7 +25774,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-renderPass-02684",
@@ -19113,8 +25793,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04007",
@@ -19175,78 +25863,8 @@
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-countBuffer-03154",
           "text": " If count stored in <code>countBuffer</code> is greater than <code>1</code>, <span class=\"eq\">(<code>stride</code> {times} (<code>drawCount</code> - 1) &#43; <code>offset</code> &#43; sizeof(<code>VkDrawIndexedIndirectCommand</code>))</span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>buffer</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-commandBuffer-02711",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-maxMultiviewInstanceIndex-02688",
-          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
-        }
-      ],
-      "(VK_EXT_sample_locations)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-sampleLocationsEnable-02689",
-          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03419",
-          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-primitiveTopology-03420",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
-        }
-      ],
-      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)": [
-        {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -19274,13 +25892,155 @@
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-commonparent",
           "text": " Each of <code>buffer</code>, <code>commandBuffer</code>, and <code>countBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-commandBuffer-02711",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-maxMultiviewInstanceIndex-02688",
+          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_sample_locations)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-sampleLocationsEnable-02689",
+          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03417",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-scissorCount-03418",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03419",
+          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-primitiveTopology-03420",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
+      ],
+      "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_2)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04445",
+          "text": " If <a href=\"#features-drawIndirectCount\">drawIndirectCount</a> is not enabled this function <strong class=\"purple\">must</strong> not be used"
+        }
       ]
     },
     "vkCmdDrawIndirectByteCountEXT": {
-      "core": [
+      "(VK_EXT_transform_feedback)": [
         {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02691",
@@ -19332,7 +26092,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-renderPass-02684",
@@ -19347,8 +26111,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04007",
@@ -19375,80 +26147,18 @@
           "text": " <code>vertexStride</code> <strong class=\"purple\">must</strong> be greater than 0 and less than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxTransformFeedbackBufferDataStride</code>"
         },
         {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-counterBuffer-04567",
+          "text": " If <code>counterBuffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+        },
+        {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-counterBuffer-02290",
           "text": " <code>counterBuffer</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> bit set"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-counterBufferOffset-04568",
+          "text": " <code>counterBufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
         },
         {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02646",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-maxMultiviewInstanceIndex-02688",
-          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
-        }
-      ],
-      "(VK_EXT_sample_locations)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-sampleLocationsEnable-02689",
-          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03419",
-          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-primitiveTopology-03420",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
-        }
-      ],
-      "(VK_EXT_transform_feedback)": [
-        {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -19472,6 +26182,138 @@
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-commonparent",
           "text": " Both of <code>commandBuffer</code>, and <code>counterBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02646",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-maxMultiviewInstanceIndex-02688",
+          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_EXT_sample_locations)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-sampleLocationsEnable-02689",
+          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03417",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-scissorCount-03418",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03419",
+          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-primitiveTopology-03420",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_EXT_transform_feedback)+(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
       ]
     },
     "vkCmdBeginConditionalRenderingEXT": {
@@ -19563,10 +26405,14 @@
       ]
     },
     "vkCmdDrawMeshTasksNV": {
-      "core": [
+      "(VK_NV_mesh_shader)": [
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02691",
@@ -19618,7 +26464,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-renderPass-02684",
@@ -19633,80 +26483,22 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-taskCount-02119",
           "text": " <code>taskCount</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceMeshShaderPropertiesNV</code>::<code>maxDrawMeshTasksCount</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-maxMultiviewInstanceIndex-02688",
-          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
-        }
-      ],
-      "(VK_EXT_sample_locations)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-02689",
-          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-03419",
-          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksNV-primitiveTopology-03420",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
-        }
-      ],
-      "(VK_NV_mesh_shader)": [
-        {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -19722,13 +26514,145 @@
           "vuid": "VUID-vkCmdDrawMeshTasksNV-renderpass",
           "text": " This command <strong class=\"purple\">must</strong> only be called inside of a render pass instance"
         }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-maxMultiviewInstanceIndex-02688",
+          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_sample_locations)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-02689",
+          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-03417",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-scissorCount-03418",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-03419",
+          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-primitiveTopology-03420",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksNV-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
       ]
     },
     "vkCmdDrawMeshTasksIndirectNV": {
-      "core": [
+      "(VK_NV_mesh_shader)": [
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02691",
@@ -19780,7 +26704,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-renderPass-02684",
@@ -19795,8 +26723,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-buffer-02708",
@@ -19829,78 +26765,8 @@
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02157",
           "text": " If <code>drawCount</code> is greater than <code>1</code>, <span class=\"eq\">(<code>stride</code> {times} (<code>drawCount</code> - 1) &#43; <code>offset</code> &#43; <code>sizeof</code>(<a href=\"#VkDrawMeshTasksIndirectCommandNV\">VkDrawMeshTasksIndirectCommandNV</a>))</span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>buffer</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-02711",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-maxMultiviewInstanceIndex-02688",
-          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
-        }
-      ],
-      "(VK_EXT_sample_locations)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-02689",
-          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03419",
-          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-primitiveTopology-03420",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
-        }
-      ],
-      "(VK_NV_mesh_shader)": [
-        {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -19924,6 +26790,138 @@
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-commonparent",
           "text": " Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-02711",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-maxMultiviewInstanceIndex-02688",
+          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_sample_locations)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-02689",
+          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03417",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-scissorCount-03418",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03419",
+          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-primitiveTopology-03420",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
       ]
     },
     "VkDrawMeshTasksIndirectCommandNV": {
@@ -19935,10 +26933,14 @@
       ]
     },
     "vkCmdDrawMeshTasksIndirectCountNV": {
-      "core": [
+      "(VK_NV_mesh_shader)": [
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02691",
@@ -19990,7 +26992,11 @@
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-renderPass-02684",
@@ -20005,8 +27011,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-buffer-02708",
@@ -20055,78 +27069,8 @@
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02192",
           "text": " If the count stored in <code>countBuffer</code> is greater than <code>1</code>, <span class=\"eq\">(<code>stride</code> {times} (<code>drawCount</code> - 1) &#43; <code>offset</code> &#43; <code>sizeof</code>(<code>VkDrawMeshTasksIndirectCommandNV</code>))</span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>buffer</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-02711",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-maxMultiviewInstanceIndex-02688",
-          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
-        }
-      ],
-      "(VK_EXT_sample_locations)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-02689",
-          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03419",
-          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveTopology-03420",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
-        }
-      ],
-      "(VK_NV_mesh_shader)": [
-        {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -20154,6 +27098,144 @@
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-commonparent",
           "text": " Each of <code>buffer</code>, <code>commandBuffer</code>, and <code>countBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-02711",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-maxMultiviewInstanceIndex-02688",
+          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_sample_locations)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-02689",
+          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03417",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-scissorCount-03418",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03419",
+          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveTopology-03420",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
+      ],
+      "(VK_NV_mesh_shader)+(VK_VERSION_1_2)": [
+        {
+          "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04445",
+          "text": " If <a href=\"#features-drawIndirectCount\">drawIndirectCount</a> is not enabled this function <strong class=\"purple\">must</strong> not be used"
+        }
       ]
     },
     "VkPipelineVertexInputStateCreateInfo": {
@@ -20218,6 +27300,12 @@
           "vuid": "VUID-VkVertexInputBindingDescription-inputRate-parameter",
           "text": " <code>inputRate</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVertexInputRate\">VkVertexInputRate</a> value"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkVertexInputBindingDescription-stride-04456",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of, and at least as large as, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>::<code>minVertexInputBindingStrideAlignment</code>."
+        }
       ]
     },
     "VkVertexInputAttributeDescription": {
@@ -20242,6 +27330,12 @@
           "vuid": "VUID-VkVertexInputAttributeDescription-format-parameter",
           "text": " <code>format</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFormat\">VkFormat</a> value"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkVertexInputAttributeDescription-vertexAttributeAccessBeyondStride-04457",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>vertexAttributeAccessBeyondStride</code> is <code>VK_FALSE</code>, the sum of <code>offset</code> plus the size of the vertex attribute data described by <code>format</code> <strong class=\"purple\">must</strong> not be greater than <code>stride</code> in the <a href=\"#VkVertexInputBindingDescription\">VkVertexInputBindingDescription</a> referenced in <code>binding</code>."
+        }
       ]
     },
     "vkCmdBindVertexBuffers": {
@@ -20500,11 +27594,11 @@
         },
         {
           "vuid": "VUID-vkCmdBindTransformFeedbackBuffersEXT-pSizes-02362",
-          "text": " All elements of <code>pSizes</code> <strong class=\"purple\">must</strong> be less than or equal to the size of the corresponding buffer in <code>pBuffers</code>"
+          "text": " All elements of <code>pSizes</code> <strong class=\"purple\">must</strong> be either <code>VK_WHOLE_SIZE</code>, or less than or equal to the size of the corresponding buffer in <code>pBuffers</code>"
         },
         {
           "vuid": "VUID-vkCmdBindTransformFeedbackBuffersEXT-pOffsets-02363",
-          "text": " All elements of <code>pOffsets</code> plus <code>pSizes</code>, where the <code>pSizes</code>, element is not <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to the size of the corresponding element in <code>pBuffers</code>"
+          "text": " All elements of <code>pOffsets</code> plus <code>pSizes</code>, where the <code>pSizes</code>, element is not <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to the size of the corresponding buffer in <code>pBuffers</code>"
         },
         {
           "vuid": "VUID-vkCmdBindTransformFeedbackBuffersEXT-pBuffers-02364",
@@ -20678,7 +27772,7 @@
       "(VK_NV_viewport_swizzle)": [
         {
           "vuid": "VUID-VkPipelineViewportSwizzleStateCreateInfoNV-viewportCount-01215",
-          "text": " <code>viewportCount</code> <strong class=\"purple\">must</strong> match the <code>viewportCount</code> set in <code>VkPipelineViewportStateCreateInfo</code>"
+          "text": " <code>viewportCount</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> set in <code>VkPipelineViewportStateCreateInfo</code>"
         },
         {
           "vuid": "VUID-VkPipelineViewportSwizzleStateCreateInfoNV-sType-sType",
@@ -20733,10 +27827,6 @@
     "vkCmdSetViewportWScalingNV": {
       "(VK_NV_clip_space_w_scaling)": [
         {
-          "vuid": "VUID-vkCmdSetViewportWScalingNV-firstViewport-01323",
-          "text": " <code>firstViewport</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxViewports</code>"
-        },
-        {
           "vuid": "VUID-vkCmdSetViewportWScalingNV-firstViewport-01324",
           "text": " The sum of <code>firstViewport</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxViewports</code>, inclusive"
         },
@@ -20766,23 +27856,19 @@
       "core": [
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216",
-          "text": " If the <a href=\"#features-multiViewport\">multiple viewports</a> feature is not enabled, <code>viewportCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+          "text": " If the <a href=\"#features-multiViewport\">multiple viewports</a> feature is not enabled, <code>viewportCount</code> <strong class=\"purple\">must</strong> not be greater than <code>1</code>"
         },
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217",
-          "text": " If the <a href=\"#features-multiViewport\">multiple viewports</a> feature is not enabled, <code>scissorCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+          "text": " If the <a href=\"#features-multiViewport\">multiple viewports</a> feature is not enabled, <code>scissorCount</code> <strong class=\"purple\">must</strong> not be greater than <code>1</code>"
         },
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-viewportCount-01218",
-          "text": " <code>viewportCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>, inclusive"
+          "text": " <code>viewportCount</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>"
         },
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01219",
-          "text": " <code>scissorCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>, inclusive"
-        },
-        {
-          "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220",
-          "text": " <code>scissorCount</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be identical"
+          "text": " <code>scissorCount</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>"
         },
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-x-02821",
@@ -20811,6 +27897,12 @@
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-flags-zerobitmask",
           "text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        }
+      ],
+      "!(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220",
+          "text": " <code>scissorCount</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be identical"
         },
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength",
@@ -20821,10 +27913,24 @@
           "text": " <code>scissorCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
         }
       ],
+      "(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-04134",
+          "text": " If the graphics pipeline is being created without <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> set then <code>scissorCount</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be identical"
+        },
+        {
+          "vuid": "VUID-VkPipelineViewportStateCreateInfo-viewportCount-04135",
+          "text": " If the graphics pipeline is being created with <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> set then <code>viewportCount</code> <strong class=\"purple\">must</strong> be <code>0</code>, otherwise it <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkPipelineViewportStateCreateInfo-scissorCount-04136",
+          "text": " If the graphics pipeline is being created with <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> set then <code>scissorCount</code> <strong class=\"purple\">must</strong> be <code>0</code>, otherwise it <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        }
+      ],
       "(VK_NV_clip_space_w_scaling)": [
         {
           "vuid": "VUID-VkPipelineViewportStateCreateInfo-viewportWScalingEnable-01726",
-          "text": " If the <code>viewportWScalingEnable</code> member of a <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a> structure included in the <code>pNext</code> chain is <code>VK_TRUE</code>, the <code>viewportCount</code> member of the <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a> structure <strong class=\"purple\">must</strong> be equal to <code>viewportCount</code>"
+          "text": " If the <code>viewportWScalingEnable</code> member of a <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a> structure included in the <code>pNext</code> chain is <code>VK_TRUE</code>, the <code>viewportCount</code> member of the <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a> structure <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>::<code>viewportCount</code>"
         }
       ]
     },
@@ -20915,10 +28021,6 @@
     "vkCmdSetViewport": {
       "core": [
         {
-          "vuid": "VUID-vkCmdSetViewport-firstViewport-01222",
-          "text": " <code>firstViewport</code> <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>"
-        },
-        {
           "vuid": "VUID-vkCmdSetViewport-firstViewport-01223",
           "text": " The sum of <code>firstViewport</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>, inclusive"
         },
@@ -21070,6 +28172,12 @@
           "vuid": "VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01414",
           "text": " If the <code><a href=\"#VK_NV_fill_rectangle\">VK_NV_fill_rectangle</a></code> extension is not enabled, <code>polygonMode</code> <strong class=\"purple\">must</strong> not be <code>VK_POLYGON_MODE_FILL_RECTANGLE_NV</code>"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkPipelineRasterizationStateCreateInfo-pointPolygons-04458",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>pointPolygons</code> is <code>VK_FALSE</code>, and <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, <code>polygonMode</code> <strong class=\"purple\">must</strong> not be <code>VK_POLYGON_MODE_POINT</code>."
+        }
       ]
     },
     "VkPipelineRasterizationDepthClipStateCreateInfoEXT": {
@@ -21126,7 +28234,7 @@
       "(VK_NV_framebuffer_mixed_samples)": [
         {
           "vuid": "VUID-VkPipelineMultisampleStateCreateInfo-rasterizationSamples-01415",
-          "text": " If the <code>VK_NV_framebuffer_mixed_samples</code> extension is enabled, and if the subpass has any color attachments and <code>rasterizationSamples</code> is greater than the number of color samples, then <code>sampleShadingEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+          "text": " If the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extension is enabled, and if the subpass has any color attachments and <code>rasterizationSamples</code> is greater than the number of color samples, then <code>sampleShadingEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
         }
       ]
     },
@@ -21193,10 +28301,6 @@
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT</code>"
         },
         {
-          "vuid": "VUID-VkSampleLocationsInfoEXT-sampleLocationsPerPixel-parameter",
-          "text": " If <code>sampleLocationsPerPixel</code> is not <code>0</code>, <code>sampleLocationsPerPixel</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSampleCountFlagBits\">VkSampleCountFlagBits</a> value"
-        },
-        {
           "vuid": "VUID-VkSampleLocationsInfoEXT-pSampleLocations-parameter",
           "text": " If <code>sampleLocationsCount</code> is not <code>0</code>, <code>pSampleLocations</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>sampleLocationsCount</code> <a href=\"#VkSampleLocationEXT\">VkSampleLocationEXT</a> structures"
         }
@@ -21230,6 +28334,194 @@
         }
       ]
     },
+    "vkGetPhysicalDeviceFragmentShadingRatesKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-vkGetPhysicalDeviceFragmentShadingRatesKHR-physicalDevice-parameter",
+          "text": " <code>physicalDevice</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetPhysicalDeviceFragmentShadingRatesKHR-pFragmentShadingRateCount-parameter",
+          "text": " <code>pFragmentShadingRateCount</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>uint32_t</code> value"
+        },
+        {
+          "vuid": "VUID-vkGetPhysicalDeviceFragmentShadingRatesKHR-pFragmentShadingRates-parameter",
+          "text": " If the value referenced by <code>pFragmentShadingRateCount</code> is not <code>0</code>, and <code>pFragmentShadingRates</code> is not <code>NULL</code>, <code>pFragmentShadingRates</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pFragmentShadingRateCount</code> <a href=\"#VkPhysicalDeviceFragmentShadingRateKHR\">VkPhysicalDeviceFragmentShadingRateKHR</a> structures"
+        }
+      ]
+    },
+    "VkPhysicalDeviceFragmentShadingRateKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceFragmentShadingRateKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkPhysicalDeviceFragmentShadingRateKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
+    "VkPipelineFragmentShadingRateStateCreateInfoKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkPipelineFragmentShadingRateStateCreateInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkPipelineFragmentShadingRateStateCreateInfoKHR-combinerOps-parameter",
+          "text": " Any given element of <code>combinerOps</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFragmentShadingRateCombinerOpKHR\">VkFragmentShadingRateCombinerOpKHR</a> value"
+        }
+      ]
+    },
+    "vkCmdSetFragmentShadingRateKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pipelineFragmentShadingRate-04507",
+          "text": " If <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code></a> is not enabled, <code>pFragmentSize</code>-&gt;<code>width</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pipelineFragmentShadingRate-04508",
+          "text": " If <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code></a> is not enabled, <code>pFragmentSize</code>-&gt;<code>height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pipelineFragmentShadingRate-04509",
+          "text": " One of <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code></a>, <a href=\"#features-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code></a>, or <a href=\"#features-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-primitiveFragmentShadingRate-04510",
+          "text": " If the <a href=\"#feature-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code> feature</a> is not enabled, <code>combinerOps</code>[0] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-attachmentFragmentShadingRate-04511",
+          "text": " If the <a href=\"#feature-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code> feature</a> is not enabled, <code>combinerOps</code>[1] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-fragmentSizeNonTrivialCombinerOps-04512",
+          "text": " If the <a href=\"#limits-fragmentShadingRateNonTrivialCombinerOps\"><code>fragmentSizeNonTrivialCombinerOps</code></a> limit is not supported, elements of <code>combinerOps</code> <strong class=\"purple\">must</strong> be either <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code> or <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pFragmentSize-04513",
+          "text": " <code>pFragmentSize</code>-&gt;<code>width</code> <strong class=\"purple\">must</strong> be greater than or equal to <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pFragmentSize-04514",
+          "text": " <code>pFragmentSize</code>-&gt;<code>height</code> <strong class=\"purple\">must</strong> be greater than or equal to <code>1</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pFragmentSize-04515",
+          "text": " <code>pFragmentSize</code>-&gt;<code>width</code> <strong class=\"purple\">must</strong> be a power-of-two value"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pFragmentSize-04516",
+          "text": " <code>pFragmentSize</code>-&gt;<code>height</code> <strong class=\"purple\">must</strong> be a power-of-two value"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pFragmentSize-04517",
+          "text": " <code>pFragmentSize</code>-&gt;<code>width</code> <strong class=\"purple\">must</strong> be less than or equal to <code>4</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pFragmentSize-04518",
+          "text": " <code>pFragmentSize</code>-&gt;<code>height</code> <strong class=\"purple\">must</strong> be less than or equal to <code>4</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-pFragmentSize-parameter",
+          "text": " <code>pFragmentSize</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkExtent2D\">VkExtent2D</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-combinerOps-parameter",
+          "text": " Any given element of <code>combinerOps</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFragmentShadingRateCombinerOpKHR\">VkFragmentShadingRateCombinerOpKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
+        }
+      ]
+    },
+    "VkPipelineFragmentShadingRateEnumStateCreateInfoNV": {
+      "(VK_NV_fragment_shading_rate_enums)": [
+        {
+          "vuid": "VUID-VkPipelineFragmentShadingRateEnumStateCreateInfoNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkPipelineFragmentShadingRateEnumStateCreateInfoNV-shadingRateType-parameter",
+          "text": " <code>shadingRateType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFragmentShadingRateTypeNV\">VkFragmentShadingRateTypeNV</a> value"
+        },
+        {
+          "vuid": "VUID-VkPipelineFragmentShadingRateEnumStateCreateInfoNV-shadingRate-parameter",
+          "text": " <code>shadingRate</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFragmentShadingRateNV\">VkFragmentShadingRateNV</a> value"
+        },
+        {
+          "vuid": "VUID-VkPipelineFragmentShadingRateEnumStateCreateInfoNV-combinerOps-parameter",
+          "text": " Any given element of <code>combinerOps</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFragmentShadingRateCombinerOpKHR\">VkFragmentShadingRateCombinerOpKHR</a> value"
+        }
+      ]
+    },
+    "vkCmdSetFragmentShadingRateEnumNV": {
+      "(VK_NV_fragment_shading_rate_enums)": [
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-pipelineFragmentShadingRate-04576",
+          "text": " If <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code></a> is not enabled, <code>shadingRate</code> <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-supersampleFragmentShadingRates-04577",
+          "text": " If <a href=\"#features-supersampleFragmentShadingRates\"><code>supersampleFragmentShadingRates</code></a> is not enabled, <code>shadingRate</code> <strong class=\"purple\">must</strong> not be <code>VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV</code>, or <code>VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-noInvocationFragmentShadingRates-04578",
+          "text": " If <a href=\"#features-noInvocationFragmentShadingRates\"><code>noInvocationFragmentShadingRates</code></a> is not enabled, <code>shadingRate</code> <strong class=\"purple\">must</strong> not be <code>VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-fragmentShadingRateEnums-04579",
+          "text": " <a href=\"#features-fragmentShadingRateEnums\"><code>fragmentShadingRateEnums</code></a> <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-pipelineFragmentShadingRate-04580",
+          "text": " One of <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code></a>, <a href=\"#features-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code></a>, or <a href=\"#features-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code></a> <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-primitiveFragmentShadingRate-04581",
+          "text": " If the <a href=\"#feature-primitiveFragmentShadingRate\"><code>primitiveFragmentShadingRate</code> feature</a> is not enabled, <code>combinerOps</code>[0] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-attachmentFragmentShadingRate-04582",
+          "text": " If the <a href=\"#feature-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code> feature</a> is not enabled, <code>combinerOps</code>[1] <strong class=\"purple\">must</strong> be <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-fragmentSizeNonTrivialCombinerOps-04583",
+          "text": " If the <a href=\"#limits-fragmentShadingRateNonTrivialCombinerOps\"><code>fragmentSizeNonTrivialCombinerOps</code></a> limit is not supported, elements of <code>combinerOps</code> <strong class=\"purple\">must</strong> be either <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR</code> or <code>VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-shadingRate-parameter",
+          "text": " <code>shadingRate</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFragmentShadingRateNV\">VkFragmentShadingRateNV</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-combinerOps-parameter",
+          "text": " Any given element of <code>combinerOps</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFragmentShadingRateCombinerOpKHR\">VkFragmentShadingRateCombinerOpKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
+        }
+      ]
+    },
     "VkPipelineViewportShadingRateImageStateCreateInfoNV": {
       "(VK_NV_shading_rate_image)": [
         {
@@ -21242,15 +28534,11 @@
         },
         {
           "vuid": "VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-shadingRateImageEnable-02056",
-          "text": " If <code>shadingRateImageEnable</code> is <code>VK_TRUE</code>, <code>viewportCount</code> <strong class=\"purple\">must</strong> be equal to the <code>viewportCount</code> member of <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>"
+          "text": " If <code>shadingRateImageEnable</code> is <code>VK_TRUE</code>, <code>viewportCount</code> <strong class=\"purple\">must</strong> be greater or equal to the <code>viewportCount</code> member of <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>"
         },
         {
           "vuid": "VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV</code>"
-        },
-        {
-          "vuid": "VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-viewportCount-arraylength",
-          "text": " <code>viewportCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
         }
       ]
     },
@@ -21313,10 +28601,6 @@
           "text": " The <a href=\"#features-shadingRateImage\">shading rate image</a> feature <strong class=\"purple\">must</strong> be enabled"
         },
         {
-          "vuid": "VUID-vkCmdSetViewportShadingRatePaletteNV-firstViewport-02066",
-          "text": " <code>firstViewport</code> <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>"
-        },
-        {
           "vuid": "VUID-vkCmdSetViewportShadingRatePaletteNV-firstViewport-02067",
           "text": " The sum of <code>firstViewport</code> and <code>viewportCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>, inclusive"
         },
@@ -21705,10 +28989,6 @@
     "vkCmdSetScissor": {
       "core": [
         {
-          "vuid": "VUID-vkCmdSetScissor-firstScissor-00591",
-          "text": " <code>firstScissor</code> <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>"
-        },
-        {
           "vuid": "VUID-vkCmdSetScissor-firstScissor-00592",
           "text": " The sum of <code>firstScissor</code> and <code>scissorCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>, inclusive"
         },
@@ -21766,7 +29046,7 @@
         },
         {
           "vuid": "VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-exclusiveScissorCount-02029",
-          "text": " <code>exclusiveScissorCount</code> <strong class=\"purple\">must</strong> be <code>0</code> or identical to the <code>viewportCount</code> member of <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>"
+          "text": " <code>exclusiveScissorCount</code> <strong class=\"purple\">must</strong> be <code>0</code> or greater than or equal to the <code>viewportCount</code> member of <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>"
         },
         {
           "vuid": "VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-sType-sType",
@@ -21781,10 +29061,6 @@
           "text": " The <a href=\"#features-exclusiveScissor\">exclusive scissor</a> feature <strong class=\"purple\">must</strong> be enabled"
         },
         {
-          "vuid": "VUID-vkCmdSetExclusiveScissorNV-firstExclusiveScissor-02033",
-          "text": " <code>firstExclusiveScissor</code> <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>"
-        },
-        {
           "vuid": "VUID-vkCmdSetExclusiveScissorNV-firstExclusiveScissor-02034",
           "text": " The sum of <code>firstExclusiveScissor</code> and <code>exclusiveScissorCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <code>VkPhysicalDeviceLimits</code>::<code>maxViewports</code>, inclusive"
         },
@@ -21860,6 +29136,12 @@
           "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-back-parameter",
           "text": " <code>back</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkStencilOpState\">VkStencilOpState</a> structure"
         }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-separateStencilMaskRef-04453",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>separateStencilMaskRef</code> is <code>VK_FALSE</code>, and the value of <a href=\"#VkPipelineDepthStencilStateCreateInfo\">VkPipelineDepthStencilStateCreateInfo</a>::<code>stencilTestEnable</code> is <code>VK_TRUE</code>, and the value of <a href=\"#VkPipelineRasterizationStateCreateInfo\">VkPipelineRasterizationStateCreateInfo</a>::<code>cullMode</code> is <code>VK_CULL_MODE_NONE</code>, the value of <code>reference</code> in each of the <a href=\"#VkStencilOpState\">VkStencilOpState</a> structs in <code>front</code> and <code>back</code> <strong class=\"purple\">must</strong> be the same."
+        }
       ]
     },
     "vkCmdSetDepthBoundsTestEnableEXT": {
@@ -22328,7 +29610,17 @@
         },
         {
           "vuid": "VUID-VkPipelineColorBlendAttachmentState-colorBlendOp-01410",
-          "text": " If <code>colorBlendOp</code> or <code>alphaBlendOp</code> is an <a href=\"#framebuffer-blend-advanced\">advanced blend operation</a>, then <a href=\"#VkSubpassDescription\">VkSubpassDescription</a>::<code>colorAttachmentCount</code> of the subpass this pipeline is compiled against <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>::advancedBlendMaxColorAttachments"
+          "text": " If <code>colorBlendOp</code> or <code>alphaBlendOp</code> is an <a href=\"#framebuffer-blend-advanced\">advanced blend operation</a>, then <code>colorAttachmentCount</code> of the subpass this pipeline is compiled against <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>::advancedBlendMaxColorAttachments"
+        }
+      ],
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkPipelineColorBlendAttachmentState-constantAlphaColorBlendFactors-04454",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>constantAlphaColorBlendFactors</code> is <code>VK_FALSE</code>, <code>srcColorBlendFactor</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_FACTOR_CONSTANT_ALPHA</code> or <code>VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA</code>."
+        },
+        {
+          "vuid": "VUID-VkPipelineColorBlendAttachmentState-constantAlphaColorBlendFactors-04455",
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>constantAlphaColorBlendFactors</code> is <code>VK_FALSE</code>, <code>dstColorBlendFactor</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_FACTOR_CONSTANT_ALPHA</code> or <code>VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA</code>."
         }
       ]
     },
@@ -22375,8 +29667,12 @@
     "vkCmdDispatch": {
       "core": [
         {
-          "vuid": "VUID-vkCmdDispatch-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDispatch-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDispatch-None-02691",
@@ -22428,7 +29724,11 @@
         },
         {
           "vuid": "VUID-vkCmdDispatch-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDispatch-groupCountX-00386",
@@ -22499,14 +29799,48 @@
         {
           "vuid": "VUID-vkCmdDispatch-commandBuffer-02713",
           "text": " If <code>commandBuffer</code> is a protected command buffer, pipeline stages other than the framebuffer-space and compute stages in the <code>VkPipeline</code> object bound to the pipeline bind point <strong class=\"purple\">must</strong> not write to any resource"
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-commandBuffer-04617",
+          "text": " If any of the shader stages of the <code>VkPipeline</code> bound to the pipeline bind point used by this command uses the <a href=\"#spirvenv-capabilities-table-RayQueryKHR\">RayQueryKHR</a> capability, then <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDispatch-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
         }
       ]
     },
     "vkCmdDispatchIndirect": {
       "core": [
         {
-          "vuid": "VUID-vkCmdDispatchIndirect-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDispatchIndirect-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-None-02691",
@@ -22558,7 +29892,11 @@
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-buffer-02708",
@@ -22638,6 +29976,32 @@
           "vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-02711",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
         }
+      ],
+      "(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
       ]
     },
     "VkDispatchIndirectCommand": {
@@ -22657,10 +30021,14 @@
       ]
     },
     "vkCmdDispatchBase": {
-      "core": [
+      "(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
-          "vuid": "VUID-vkCmdDispatchBase-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdDispatchBase-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-None-02691",
@@ -22712,7 +30080,11 @@
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-baseGroupX-00421",
@@ -22741,44 +30113,8 @@
         {
           "vuid": "VUID-vkCmdDispatchBase-baseGroupX-00427",
           "text": " If any of <code>baseGroupX</code>, <code>baseGroupY</code>, or <code>baseGroupZ</code> are not zero, then the bound compute pipeline <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_DISPATCH_BASE</code> flag"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDispatchBase-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDispatchBase-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdDispatchBase-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdDispatchBase-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdDispatchBase-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdDispatchBase-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_device_group)": [
-        {
           "vuid": "VUID-vkCmdDispatchBase-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -22794,6 +30130,66 @@
           "vuid": "VUID-vkCmdDispatchBase-renderpass",
           "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
         }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDispatchBase-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDispatchBase-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdDispatchBase-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdDispatchBase-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDispatchBase-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdDispatchBase-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchBase-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
       ]
     },
     "vkCreateIndirectCommandsLayoutNV": {
@@ -23125,10 +30521,14 @@
       ]
     },
     "vkCmdExecuteGeneratedCommandsNV": {
-      "core": [
+      "(VK_NV_device_generated_commands)": [
         {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02691",
@@ -23180,7 +30580,11 @@
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-renderPass-02684",
@@ -23195,8 +30599,16 @@
           "text": " Every input attachment used by the current subpass <strong class=\"purple\">must</strong> be bound to the pipeline via a descriptor set"
         },
         {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02687",
-          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command"
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04584",
+          "text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the <a href=\"#renderpass-attachment-nonattachment\">Render Pass</a> chapter"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-blendEnable-04727",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> do not contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>, then the <code>blendEnable</code> member of the corresponding element of the <code>pAttachments</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-rasterizationSamples-04740",
+          "text": " If rasterization is not disabled in the bound graphics pipeline, and neither the <code><a href=\"#VK_AMD_mixed_attachment_samples\">VK_AMD_mixed_attachment_samples</a></code> nor the <code><a href=\"#VK_NV_framebuffer_mixed_samples\">VK_NV_framebuffer_mixed_samples</a></code> extensions are enabled, then <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a>::<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be the same as the current subpass color and/or depth/stencil attachments"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04007",
@@ -23221,84 +30633,8 @@
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-deviceGeneratedCommands-02911",
           "text": " The <a href=\"#features-deviceGeneratedCommands\"><code>VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</code>::<code>deviceGeneratedCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02970",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_VERSION_1_1,VK_KHR_multiview)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-maxMultiviewInstanceIndex-02688",
-          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
-        }
-      ],
-      "(VK_EXT_sample_locations)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-02689",
-          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
-        }
-      ],
-      "(VK_EXT_extended_dynamic_state)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03417",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-scissorCount-03418",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
-        },
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03419",
-          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-primitiveTopology-03420",
-          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
-        }
-      ],
-      "(VK_EXT_transform_feedback)": [
-        {
-          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02910",
-          "text": " Transform feedback <strong class=\"purple\">must</strong> not be active"
-        }
-      ],
-      "(VK_NV_device_generated_commands)": [
-        {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -23318,6 +30654,144 @@
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-renderpass",
           "text": " This command <strong class=\"purple\">must</strong> only be called inside of a render pass instance"
         }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02970",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_VERSION_1_1,VK_KHR_multiview)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-maxMultiviewInstanceIndex-02688",
+          "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_sample_locations)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-02689",
+          "text": " If the bound graphics pipeline was created with <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> set to <code>VK_TRUE</code> and the current subpass has a depth/stencil attachment, then that attachment <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT</code> bit set"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03417",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>scissorCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-scissorCount-03418",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, then <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>VkPipelineViewportStateCreateInfo</code>::<code>viewportCount</code> of the pipeline"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03419",
+          "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> and <a href=\"#vkCmdSetScissorWithCountEXT\">vkCmdSetScissorWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCountEXT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-primitiveTopology-03420",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopologyEXT\">vkCmdSetPrimitiveTopologyEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopologyEXT</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04137",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportWScalingStateCreateInfoNV\">VkPipelineViewportWScalingStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04138",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWScalingNV\">vkCmdSetViewportWScalingNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04139",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, but not the <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic state enabled, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportShadingRateImageStateCreateInfoNV\">VkPipelineViewportShadingRateImageStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04140",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV</code> dynamic states enabled then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-VkPipelineVieportCreateInfo-04141",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportSwizzleStateCreateInfoNV\">VkPipelineViewportSwizzleStateCreateInfoNV</a>::<code>viewportCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_extended_dynamic_state)+(VK_NV_scissor_exclusive)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-VkPipelineVieportCreateInfo-04142",
+          "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled and an instance of <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> chained from <code>VkPipelineVieportCreateInfo</code>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-primitiveFragmentShadingRateWithMultipleViewports-04552",
+          "text": " If the <a href=\"#limits-primitiveFragmentShadingRateWithMultipleViewports\"><code>primitiveFragmentShadingRateWithMultipleViewports</code></a> limit is not supported, the bound graphics pipeline was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the <code>PrimitiveShadingRateKHR</code> built-in, then <a href=\"#vkCmdSetViewportWithCountEXT\">vkCmdSetViewportWithCountEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this draw command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCountEXT</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        }
+      ],
+      "(VK_NV_device_generated_commands)+(VK_EXT_transform_feedback)": [
+        {
+          "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02910",
+          "text": " Transform feedback <strong class=\"purple\">must</strong> not be active"
+        }
       ]
     },
     "VkGeneratedCommandsInfoNV": {
@@ -24337,8 +31811,12 @@
     "VkIOSSurfaceCreateInfoMVK": {
       "(VK_KHR_surface)+(VK_MVK_ios_surface)": [
         {
+          "vuid": "VUID-VkIOSSurfaceCreateInfoMVK-pView-04143",
+          "text": " If <code>pView</code> is a <code>CAMetalLayer</code> object, it <strong class=\"purple\">must</strong> be a valid <code>CAMetalLayer</code>."
+        },
+        {
           "vuid": "VUID-VkIOSSurfaceCreateInfoMVK-pView-01316",
-          "text": " <code>pView</code> <strong class=\"purple\">must</strong> be a valid <code>UIView</code> and <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> instance of type <code>CAMetalLayer</code>"
+          "text": " If <code>pView</code> is a <code>UIView</code> object, it <strong class=\"purple\">must</strong> be a valid <code>UIView</code>, <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> object of type <code>CAMetalLayer</code>, and <a href=\"#vkCreateIOSSurfaceMVK\">vkCreateIOSSurfaceMVK</a> <strong class=\"purple\">must</strong> be called on the main thread."
         },
         {
           "vuid": "VUID-VkIOSSurfaceCreateInfoMVK-sType-sType",
@@ -24377,8 +31855,12 @@
     "VkMacOSSurfaceCreateInfoMVK": {
       "(VK_KHR_surface)+(VK_MVK_macos_surface)": [
         {
+          "vuid": "VUID-VkMacOSSurfaceCreateInfoMVK-pView-04144",
+          "text": " If <code>pView</code> is a <code>CAMetalLayer</code> object, it <strong class=\"purple\">must</strong> be a valid <code>CAMetalLayer</code>."
+        },
+        {
           "vuid": "VUID-VkMacOSSurfaceCreateInfoMVK-pView-01317",
-          "text": " <code>pView</code> <strong class=\"purple\">must</strong> be a valid <code>NSView</code> and <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> instance of type <code>CAMetalLayer</code>"
+          "text": " If <code>pView</code> is an <code>NSView</code> object, it <strong class=\"purple\">must</strong> be a valid <code>NSView</code>, <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> object of type <code>CAMetalLayer</code>, and <a href=\"#vkCreateMacOSSurfaceMVK\">vkCreateMacOSSurfaceMVK</a> <strong class=\"purple\">must</strong> be called on the main thread."
         },
         {
           "vuid": "VUID-VkMacOSSurfaceCreateInfoMVK-sType-sType",
@@ -24470,6 +31952,50 @@
         }
       ]
     },
+    "vkCreateScreenSurfaceQNX": {
+      "(VK_KHR_surface)+(VK_QNX_screen_surface)": [
+        {
+          "vuid": "VUID-vkCreateScreenSurfaceQNX-instance-parameter",
+          "text": " <code>instance</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkInstance\">VkInstance</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateScreenSurfaceQNX-pCreateInfo-parameter",
+          "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkScreenSurfaceCreateInfoQNX\">VkScreenSurfaceCreateInfoQNX</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateScreenSurfaceQNX-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateScreenSurfaceQNX-pSurface-parameter",
+          "text": " <code>pSurface</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkSurfaceKHR\">VkSurfaceKHR</a> handle"
+        }
+      ]
+    },
+    "VkScreenSurfaceCreateInfoQNX": {
+      "(VK_KHR_surface)+(VK_QNX_screen_surface)": [
+        {
+          "vuid": "VUID-VkScreenSurfaceCreateInfoQNX-context-04741",
+          "text": " <code>context</code> <strong class=\"purple\">must</strong> point to a valid QNX Screen <code>struct</code> _screen_context"
+        },
+        {
+          "vuid": "VUID-VkScreenSurfaceCreateInfoQNX-window-04742",
+          "text": " <code>window</code> <strong class=\"purple\">must</strong> point to a valid QNX Screen <code>struct</code> _screen_window"
+        },
+        {
+          "vuid": "VUID-VkScreenSurfaceCreateInfoQNX-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX</code>"
+        },
+        {
+          "vuid": "VUID-VkScreenSurfaceCreateInfoQNX-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkScreenSurfaceCreateInfoQNX-flags-zerobitmask",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        }
+      ]
+    },
     "vkDestroySurfaceKHR": {
       "(VK_KHR_surface)": [
         {
@@ -24582,6 +32108,34 @@
         }
       ]
     },
+    "vkAcquireWinrtDisplayNV": {
+      "(VK_KHR_surface)+(VK_KHR_display)+(VK_EXT_direct_mode_display)+(VK_NV_acquire_winrt_display)": [
+        {
+          "vuid": "VUID-vkAcquireWinrtDisplayNV-physicalDevice-parameter",
+          "text": " <code>physicalDevice</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkAcquireWinrtDisplayNV-display-parameter",
+          "text": " <code>display</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDisplayKHR\">VkDisplayKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkAcquireWinrtDisplayNV-display-parent",
+          "text": " <code>display</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>physicalDevice</code>"
+        }
+      ]
+    },
+    "vkGetWinrtDisplayNV": {
+      "(VK_KHR_surface)+(VK_KHR_display)+(VK_EXT_direct_mode_display)+(VK_NV_acquire_winrt_display)": [
+        {
+          "vuid": "VUID-vkGetWinrtDisplayNV-physicalDevice-parameter",
+          "text": " <code>physicalDevice</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetWinrtDisplayNV-pDisplay-parameter",
+          "text": " <code>pDisplay</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkDisplayKHR\">VkDisplayKHR</a> handle"
+        }
+      ]
+    },
     "vkReleaseDisplayEXT": {
       "(VK_KHR_surface)+(VK_KHR_display)+(VK_EXT_direct_mode_display)": [
         {
@@ -24918,11 +32472,11 @@
         },
         {
           "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-alphaMode-01255",
-          "text": " <code>alphaMode</code> <strong class=\"purple\">must</strong> be <code>0</code> or one of the bits present in the <code>supportedAlpha</code> member of <code>VkDisplayPlaneCapabilitiesKHR</code> returned by <code>vkGetDisplayPlaneCapabilitiesKHR</code> for the display plane corresponding to <code>displayMode</code>"
+          "text": " <code>alphaMode</code> <strong class=\"purple\">must</strong> be one of the bits present in the <code>supportedAlpha</code> member of <code>VkDisplayPlaneCapabilitiesKHR</code> for the display plane corresponding to <code>displayMode</code>"
         },
         {
           "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-width-01256",
-          "text": " The <code>width</code> and <code>height</code> members of <code>imageExtent</code> <strong class=\"purple\">must</strong> be less than the <code>maxImageDimensions2D</code> member of <code>VkPhysicalDeviceLimits</code>"
+          "text": " The <code>width</code> and <code>height</code> members of <code>imageExtent</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxImageDimension2D</code>"
         },
         {
           "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-sType-sType",
@@ -25086,6 +32640,22 @@
         }
       ]
     },
+    "vkGetPhysicalDeviceScreenPresentationSupportQNX": {
+      "(VK_KHR_surface)+(VK_QNX_screen_surface)": [
+        {
+          "vuid": "VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-queueFamilyIndex-04743",
+          "text": " <code>queueFamilyIndex</code> <strong class=\"purple\">must</strong> be less than <code>pQueueFamilyPropertyCount</code> returned by <code>vkGetPhysicalDeviceQueueFamilyProperties</code> for the given <code>physicalDevice</code>"
+        },
+        {
+          "vuid": "VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-physicalDevice-parameter",
+          "text": " <code>physicalDevice</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-window-parameter",
+          "text": " <code>window</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>_screen_window</code> value"
+        }
+      ]
+    },
     "vkGetPhysicalDeviceSurfaceCapabilitiesKHR": {
       "(VK_KHR_surface)": [
         {
@@ -25250,7 +32820,7 @@
       "(VK_KHR_surface)+(VK_EXT_display_surface_counter)": [
         {
           "vuid": "VUID-VkSurfaceCapabilities2EXT-supportedSurfaceCounters-01246",
-          "text": " <code>supportedSurfaceCounters</code> <strong class=\"purple\">must</strong> not include <code>VK_SURFACE_COUNTER_VBLANK_EXT</code> unless the surface queried is a <a href=\"#wsi-display-surfaces\">display surface</a>"
+          "text": " <code>supportedSurfaceCounters</code> <strong class=\"purple\">must</strong> not include <code>VK_SURFACE_COUNTER_VBLANK_BIT_EXT</code> unless the surface queried is a <a href=\"#wsi-display-surfaces\">display surface</a>"
         },
         {
           "vuid": "VUID-VkSurfaceCapabilities2EXT-sType-sType",
@@ -25750,7 +33320,7 @@
         },
         {
           "vuid": "VUID-VkSwapchainCreateInfoKHR-flags-04100",
-          "text": " If <code>flags</code> dose not contain <code>VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR</code> and the <code>pNext</code> chain include a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure then <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> <strong class=\"purple\">must</strong> be <code>0</code> or <code>1</code>"
+          "text": " If <code>flags</code> does not contain <code>VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR</code> and the <code>pNext</code> chain include a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure then <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> <strong class=\"purple\">must</strong> be <code>0</code> or <code>1</code>"
         }
       ],
       "(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_KHR_surface_protected_capabilities)": [
@@ -25789,7 +33359,7 @@
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD</code>"
         },
         {
-          "vuid": "VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-localDimmingEnable-XXXXX",
+          "vuid": "VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-localDimmingEnable-04449",
           "text": " It is only valid to set <code>localDimmingEnable</code> to <code>VK_TRUE</code> if <a href=\"#VkDisplayNativeHdrSurfaceCapabilitiesAMD\">VkDisplayNativeHdrSurfaceCapabilitiesAMD</a>::<code>localDimmingSupport</code> is supported"
         }
       ]
@@ -25809,8 +33379,8 @@
           "text": " Both of <code>device</code>, and <code>swapChain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkInstance\">VkInstance</a>"
         },
         {
-          "vuid": "VUID-vkSetLocalDimmingAMD-XXXXX",
-          "text": " It is only valid to call <a href=\"#vkSetLocalDimmingAMD\">vkSetLocalDimmingAMD</a> if <a href=\"#VkDisplayNativeHdrSurfaceCapabilitiesAMD\">VkDisplayNativeHdrSurfaceCapabilitiesAMD</a>::<code>localDimmingSupport</code> is supported"
+          "vuid": "VUID-vkSetLocalDimmingAMD-localDimmingSupport-04618",
+          "text": " <a href=\"#VkDisplayNativeHdrSurfaceCapabilitiesAMD\">VkDisplayNativeHdrSurfaceCapabilitiesAMD</a>::<code>localDimmingSupport</code> <strong class=\"purple\">must</strong> be supported"
         }
       ]
     },
@@ -26139,12 +33709,6 @@
           "text": " Each element of <code>pImageIndices</code> <strong class=\"purple\">must</strong> be the index of a presentable image acquired from the swapchain specified by the corresponding element of the <code>pSwapchains</code> array, and the presented image subresource <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_PRESENT_SRC_KHR</code> or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code> layout at the time the operation is executed on a <code>VkDevice</code>"
         }
       ],
-      "(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_2,VK_KHR_timeline_semaphore)": [
-        {
-          "vuid": "VUID-VkPresentInfoKHR-pWaitSemaphores-03269",
-          "text": " All elements of the <code>pWaitSemaphores</code> <strong class=\"purple\">must</strong> have a <a href=\"#VkSemaphoreType\">VkSemaphoreType</a> of <code>VK_SEMAPHORE_TYPE_BINARY</code>"
-        }
-      ],
       "(VK_KHR_surface)+(VK_KHR_swapchain)": [
         {
           "vuid": "VUID-VkPresentInfoKHR-sType-sType",
@@ -26356,18 +33920,6 @@
         }
       ]
     },
-    "VkDeferredOperationInfoKHR": {
-      "(VK_KHR_deferred_host_operations)": [
-        {
-          "vuid": "VUID-VkDeferredOperationInfoKHR-operationHandle-03433",
-          "text": " Any previous deferred operation that was associated with <code>operationHandle</code> <strong class=\"purple\">must</strong> be complete"
-        },
-        {
-          "vuid": "VUID-VkDeferredOperationInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR</code>"
-        }
-      ]
-    },
     "vkCreateDeferredOperationKHR": {
       "(VK_KHR_deferred_host_operations)": [
         {
@@ -26467,6 +34019,10 @@
     "vkCreatePrivateDataSlotEXT": {
       "(VK_EXT_private_data)": [
         {
+          "vuid": "VUID-vkCreatePrivateDataSlotEXT-privateData-04564",
+          "text": " The <a href=\"#features-privateData\"><code>privateData</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
           "vuid": "VUID-vkCreatePrivateDataSlotEXT-device-parameter",
           "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
         },
@@ -26560,7 +34116,7 @@
       "(VK_EXT_private_data)": [
         {
           "vuid": "VUID-vkGetPrivateDataEXT-objectType-04018",
-          "text": " <code>objectType</code> <strong class=\"purple\">must</strong> be <a href=\"#VkDevice\">VkDevice</a> or an object type whose parent is <a href=\"#VkDevice\">VkDevice</a>"
+          "text": " <code>objectType</code> <strong class=\"purple\">must</strong> be <code>VK_OBJECT_TYPE_DEVICE</code>, or an object type whose parent is <a href=\"#VkDevice\">VkDevice</a>"
         },
         {
           "vuid": "VUID-vkGetPrivateDataEXT-device-parameter",
@@ -26584,11 +34140,1853 @@
         }
       ]
     },
-    "vkCmdTraceRaysNV": {
-      "core": [
+    "vkCmdBuildAccelerationStructureNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
         {
-          "vuid": "VUID-vkCmdTraceRaysNV-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-geometryCount-02241",
+          "text": " <code>geometryCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxGeometryCount</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-dst-02488",
+          "text": " <code>dst</code> <strong class=\"purple\">must</strong> have been created with compatible <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a> where <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>type</code> and <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>flags</code> are identical, <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>instanceCount</code> and <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>geometryCount</code> for <code>dst</code> are greater than or equal to the build size and each geometry in <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>pGeometries</code> for <code>dst</code> has greater than or equal to the number of vertices, indices, and AABBs"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02489",
+          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>src</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02490",
+          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV</code> set in <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>flags</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02491",
+          "text": " If <code>update</code> is <code>VK_FALSE</code>, the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsNV\">vkGetAccelerationStructureMemoryRequirementsNV</a> with <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>accelerationStructure</code> set to <code>dst</code> and <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>type</code> set to <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>scratch</code> minus <code>scratchOffset</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02492",
+          "text": " If <code>update</code> is <code>VK_TRUE</code>, the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsNV\">vkGetAccelerationStructureMemoryRequirementsNV</a> with <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>accelerationStructure</code> set to <code>dst</code> and <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>type</code> set to <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>scratch</code> minus <code>scratchOffset</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-scratch-03522",
+          "text": " <code>scratch</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-instanceData-03523",
+          "text": " If <code>instanceData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>instanceData</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-accelerationStructureReference-03786",
+          "text": " Each <a href=\"#VkAccelerationStructureInstanceKHR\">VkAccelerationStructureInstanceKHR</a>::<code>accelerationStructureReference</code> value in <code>instanceData</code> <strong class=\"purple\">must</strong> be a valid device address containing a value obtained from <a href=\"#vkGetAccelerationStructureHandleNV\">vkGetAccelerationStructureHandleNV</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-03524",
+          "text": " If <code>update</code> is <code>VK_TRUE</code>, then objects that were previously active <strong class=\"purple\">must</strong> not be made inactive as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-03525",
+          "text": " If <code>update</code> is <code>VK_TRUE</code>, then objects that were previously inactive <strong class=\"purple\">must</strong> not be made active as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-03526",
+          "text": " If <code>update</code> is <code>VK_TRUE</code>, the <code>src</code> and <code>dst</code> objects <strong class=\"purple\">must</strong> either be the same object or not have any <a href=\"#resources-memory-aliasing\">memory aliasing</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-instanceData-parameter",
+          "text": " If <code>instanceData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>instanceData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-dst-parameter",
+          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-src-parameter",
+          "text": " If <code>src</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-scratch-parameter",
+          "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commonparent",
+          "text": " Each of <code>commandBuffer</code>, <code>dst</code>, <code>instanceData</code>, <code>scratch</code>, and <code>src</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "vkCmdBuildAccelerationStructuresKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-mode-04628",
+          "text": " The <code>mode</code> member of each element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuildAccelerationStructureModeKHR\">VkBuildAccelerationStructureModeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-srcAccelerationStructure-04629",
+          "text": " If the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-04630",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03403",
+          "text": " The <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03698",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03800",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03699",
+          "text": " For each element of <code>pInfos</code>, if its <code>type</code> member is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code>, its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> equal to either <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code> or <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03700",
+          "text": " For each element of <code>pInfos</code>, if its <code>type</code> member is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code>, its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> equal to either <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> or <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03663",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, <a href=\"#acceleration-structure-inactive-prims\">inactive primitives</a> in its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be made active"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03664",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, active primitives in its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be made <a href=\"#acceleration-structure-inactive-prims\">inactive</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-None-03407",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> in any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03701",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>srcAccelerationStructure</code> member of any other element of <code>pInfos</code> with a <code>mode</code> equal to <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03702",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03703",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> (including the same element), which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-scratchData-03704",
+          "text": " The range of memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>scratchData</code> member of any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-scratchData-03705",
+          "text": " The range of memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> with a <code>mode</code> equal to <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code> (including the same element), which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03706",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing any acceleration structure referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> in any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03666",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03667",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03668",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> and <code>dstAccelerationStructure</code> members <strong class=\"purple\">must</strong> either be the same <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a>, or not have any <a href=\"#resources-memory-aliasing\">memory aliasing</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03758",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>geometryCount</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03759",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>flags</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03760",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>type</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03761",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, its <code>geometryType</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03762",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, its <code>flags</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03763",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.vertexFormat</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03764",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.maxVertex</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03765",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.indexType</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03766",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if its <code>geometry.triangles.transformData</code> member was NULL when <code>srcAccelerationStructure</code> was last built, then it must be NULL."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03767",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if its <code>geometry.triangles.transformData</code> member was not NULL when <code>srcAccelerationStructure</code> was last built, then it may not be NULL."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03768",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, and <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, then the value of each index referenced index must be the same as the corresponding index value when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-primitiveCount-03769",
+          "text": " For each <code>VkAccelerationStructureBuildRangeInfoKHR</code> referenced by this command, its <code>primitiveCount</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-firstVertex-03770",
+          "text": " For each <code>VkAccelerationStructureBuildRangeInfoKHR</code> referenced by this command, if the corresponding geometry uses indices, its <code>firstVertex</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03801",
+          "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding {maxinstancecheck} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03707",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03708",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code> the <code>buffer</code> used to create its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03709",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create each acceleration structure referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03671",
+          "text": " If <code>pInfos</code>[i].<code>mode</code> is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR</code>, all addresses between <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> and <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> + N - 1 <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer, where N is given by the <code>buildScratchSize</code> member of the <a href=\"#VkAccelerationStructureBuildSizesInfoKHR\">VkAccelerationStructureBuildSizesInfoKHR</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with an identical <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure and primitive count"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03672",
+          "text": " If <code>pInfos</code>[i].<code>mode</code> is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, all addresses between <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> and <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> + N - 1 <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer, where N is given by the <code>updateScratchSize</code> member of the <a href=\"#VkAccelerationStructureBuildSizesInfoKHR\">VkAccelerationStructureBuildSizesInfoKHR</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with an identical <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure and primitive count"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-geometry-03673",
+          "text": " The buffers from which the buffer device addresses for all of the <code>geometry.triangles.vertexData</code>, <code>geometry.triangles.indexData</code>, <code>geometry.triangles.transformData</code>, <code>geometry.aabbs.data</code>, and <code>geometry.instances.data</code> members of all <code>pInfos</code>[i].<code>pGeometries</code> and <code>pInfos</code>[i].<code>ppGeometries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR</code> usage flag"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03674",
+          "text": " The buffer from which the buffer device address <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_STORAGE_BUFFER_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03802",
+          "text": " For each element of <code>pInfos</code>, its <code>scratchData.deviceAddress</code> member <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03803",
+          "text": " For each element of <code>pInfos</code>, if <code>scratchData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03710",
+          "text": " For each element of <code>pInfos</code>, its <code>scratchData.deviceAddress</code> member <strong class=\"purple\">must</strong> be a multiple of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>minAccelerationStructureScratchOffsetAlignment</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03804",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, <code>geometry.triangles.vertexData.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03805",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.vertexData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03711",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, <code>geometry.triangles.vertexData.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to the size in bytes of the smallest component of the format in <code>vertexFormat</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03806",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, <code>geometry.triangles.indexData.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03807",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, if <code>geometry.triangles.indexData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03712",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, and with <code>geometry.triangles.indexType</code> not equal to <code>VK_INDEX_TYPE_NONE_KHR</code>, <code>geometry.triangles.indexData.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to the size in bytes of the type in <code>indexType</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03808",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.transformData.deviceAddress</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03809",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.transformData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03810",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.transformData.deviceAddress</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03811",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, <code>geometry.aabbs.data.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03812",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, if <code>geometry.aabbs.data.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03714",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, <code>geometry.aabbs.data.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>8</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03715",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.arrayOfPointers</code> is <code>VK_FALSE</code>, <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03716",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.arrayOfPointers</code> is <code>VK_TRUE</code>, <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>8</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03717",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.arrayOfPointers</code> is <code>VK_TRUE</code>, each element of <code>geometry.instances.data.deviceAddress</code> in device memory <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03813",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03814",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.instances.data.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03815",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, each <a href=\"#VkAccelerationStructureInstanceKHR\">VkAccelerationStructureInstanceKHR</a>::<code>accelerationStructureReference</code> value in <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address containing a value obtained from <a href=\"#vkGetAccelerationStructureDeviceAddressKHR\">vkGetAccelerationStructureDeviceAddressKHR</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03675",
+          "text": " For each <code>pInfos</code>[i], <code>dstAccelerationStructure</code> <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>size</code> greater than or equal to the memory size required by the build operation, as returned by <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with <span class=\"eq\"><code>pBuildInfo</code> = <code>pInfos</code>[i]</span> and with each element of the <code>pMaxPrimitiveCounts</code> array greater than or equal to the equivalent <code>ppBuildRangeInfos</code>[i][j].<code>primitiveCount</code> values for <code>j</code> in <span class=\"eq\">[0,<code>pInfos</code>[i].<code>geometryCount</code>)</span>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-ppBuildRangeInfos-03676",
+          "text": " Each element of <code>ppBuildRangeInfos</code>[i] <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pInfos</code>[i].<code>geometryCount</code> <code>VkAccelerationStructureBuildRangeInfoKHR</code> structures"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-parameter",
+          "text": " <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> valid <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-ppBuildRangeInfos-parameter",
+          "text": " <code>ppBuildRangeInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> <a href=\"#VkAccelerationStructureBuildRangeInfoKHR\">VkAccelerationStructureBuildRangeInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-infoCount-arraylength",
+          "text": " <code>infoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        }
+      ]
+    },
+    "vkCmdBuildAccelerationStructuresIndirectKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-mode-04628",
+          "text": " The <code>mode</code> member of each element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuildAccelerationStructureModeKHR\">VkBuildAccelerationStructureModeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-srcAccelerationStructure-04629",
+          "text": " If the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-04630",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03403",
+          "text": " The <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03698",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03800",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03699",
+          "text": " For each element of <code>pInfos</code>, if its <code>type</code> member is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code>, its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> equal to either <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code> or <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03700",
+          "text": " For each element of <code>pInfos</code>, if its <code>type</code> member is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code>, its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> equal to either <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> or <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03663",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, <a href=\"#acceleration-structure-inactive-prims\">inactive primitives</a> in its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be made active"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03664",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, active primitives in its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be made <a href=\"#acceleration-structure-inactive-prims\">inactive</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-None-03407",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> in any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03701",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>srcAccelerationStructure</code> member of any other element of <code>pInfos</code> with a <code>mode</code> equal to <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03702",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03703",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> (including the same element), which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-scratchData-03704",
+          "text": " The range of memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>scratchData</code> member of any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-scratchData-03705",
+          "text": " The range of memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> with a <code>mode</code> equal to <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code> (including the same element), which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03706",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing any acceleration structure referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> in any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03666",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03667",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03668",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> and <code>dstAccelerationStructure</code> members <strong class=\"purple\">must</strong> either be the same <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a>, or not have any <a href=\"#resources-memory-aliasing\">memory aliasing</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03758",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>geometryCount</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03759",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>flags</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03760",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>type</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03761",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, its <code>geometryType</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03762",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, its <code>flags</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03763",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.vertexFormat</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03764",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.maxVertex</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03765",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.indexType</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03766",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if its <code>geometry.triangles.transformData</code> member was NULL when <code>srcAccelerationStructure</code> was last built, then it must be NULL."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03767",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if its <code>geometry.triangles.transformData</code> member was not NULL when <code>srcAccelerationStructure</code> was last built, then it may not be NULL."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03768",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, and <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, then the value of each index referenced index must be the same as the corresponding index value when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-primitiveCount-03769",
+          "text": " For each <code>VkAccelerationStructureBuildRangeInfoKHR</code> referenced by this command, its <code>primitiveCount</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-firstVertex-03770",
+          "text": " For each <code>VkAccelerationStructureBuildRangeInfoKHR</code> referenced by this command, if the corresponding geometry uses indices, its <code>firstVertex</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03801",
+          "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding {maxinstancecheck} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03707",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03708",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code> the <code>buffer</code> used to create its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03709",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create each acceleration structure referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03671",
+          "text": " If <code>pInfos</code>[i].<code>mode</code> is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR</code>, all addresses between <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> and <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> + N - 1 <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer, where N is given by the <code>buildScratchSize</code> member of the <a href=\"#VkAccelerationStructureBuildSizesInfoKHR\">VkAccelerationStructureBuildSizesInfoKHR</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with an identical <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure and primitive count"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03672",
+          "text": " If <code>pInfos</code>[i].<code>mode</code> is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, all addresses between <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> and <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> + N - 1 <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer, where N is given by the <code>updateScratchSize</code> member of the <a href=\"#VkAccelerationStructureBuildSizesInfoKHR\">VkAccelerationStructureBuildSizesInfoKHR</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with an identical <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure and primitive count"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-geometry-03673",
+          "text": " The buffers from which the buffer device addresses for all of the <code>geometry.triangles.vertexData</code>, <code>geometry.triangles.indexData</code>, <code>geometry.triangles.transformData</code>, <code>geometry.aabbs.data</code>, and <code>geometry.instances.data</code> members of all <code>pInfos</code>[i].<code>pGeometries</code> and <code>pInfos</code>[i].<code>ppGeometries</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR</code> usage flag"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03674",
+          "text": " The buffer from which the buffer device address <code>pInfos</code>[i].<code>scratchData.deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_STORAGE_BUFFER_BIT</code> usage flag"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03802",
+          "text": " For each element of <code>pInfos</code>, its <code>scratchData.deviceAddress</code> member <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03803",
+          "text": " For each element of <code>pInfos</code>, if <code>scratchData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03710",
+          "text": " For each element of <code>pInfos</code>, its <code>scratchData.deviceAddress</code> member <strong class=\"purple\">must</strong> be a multiple of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>minAccelerationStructureScratchOffsetAlignment</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03804",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, <code>geometry.triangles.vertexData.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03805",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.vertexData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03711",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, <code>geometry.triangles.vertexData.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to the size in bytes of the smallest component of the format in <code>vertexFormat</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03806",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, <code>geometry.triangles.indexData.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03807",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, if <code>geometry.triangles.indexData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03712",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, and with <code>geometry.triangles.indexType</code> not equal to <code>VK_INDEX_TYPE_NONE_KHR</code>, <code>geometry.triangles.indexData.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to the size in bytes of the type in <code>indexType</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03808",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.transformData.deviceAddress</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03809",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.transformData.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03810",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.transformData.deviceAddress</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03811",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, <code>geometry.aabbs.data.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03812",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, if <code>geometry.aabbs.data.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03714",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, <code>geometry.aabbs.data.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>8</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03715",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.arrayOfPointers</code> is <code>VK_FALSE</code>, <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03716",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.arrayOfPointers</code> is <code>VK_TRUE</code>, <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>8</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03717",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.arrayOfPointers</code> is <code>VK_TRUE</code>, each element of <code>geometry.instances.data.deviceAddress</code> in device memory <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03813",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address obtained from <a href=\"#vkGetBufferDeviceAddress\">vkGetBufferDeviceAddress</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03814",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, if <code>geometry.instances.data.deviceAddress</code> is the address of a non-sparse buffer then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03815",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, each <a href=\"#VkAccelerationStructureInstanceKHR\">VkAccelerationStructureInstanceKHR</a>::<code>accelerationStructureReference</code> value in <code>geometry.instances.data.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address containing a value obtained from <a href=\"#vkGetAccelerationStructureDeviceAddressKHR\">vkGetAccelerationStructureDeviceAddressKHR</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03645",
+          "text": " For any element of <code>pIndirectDeviceAddresses</code>, if the buffer from which it was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03646",
+          "text": " For any element of <code>pIndirectDeviceAddresses</code>[i], all device addresses between <code>pIndirectDeviceAddresses</code>[i] and <span class=\"eq\"><code>pIndirectDeviceAddresses</code>[i] &#43; (<code>pInfos</code>[i]&#8594;geometryCount {times} <code>pIndirectStrides</code>[i]) - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03647",
+          "text": " For any element of <code>pIndirectDeviceAddresses</code>, the buffer from which it was queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> bit set"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03648",
+          "text": " Each element of <code>pIndirectDeviceAddresses</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectStrides-03787",
+          "text": " Each element of <code>pIndirectStrides</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-03649",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-accelerationStructureIndirectBuild-03650",
+          "text": " The <a href=\"#features-accelerationStructureIndirectBuild\"><code>VkPhysicalDeviceAccelerationStructureFeaturesKHR</code>::<code>accelerationStructureIndirectBuild</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03651",
+          "text": " Each <a href=\"#VkAccelerationStructureBuildRangeInfoKHR\">VkAccelerationStructureBuildRangeInfoKHR</a> structure referenced by any element of <code>pIndirectDeviceAddresses</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureBuildRangeInfoKHR\">VkAccelerationStructureBuildRangeInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03652",
+          "text": " <code>pInfos</code>[i].<code>dstAccelerationStructure</code> <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>size</code> greater than or equal to the memory size required by the build operation, as returned by <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with <span class=\"eq\"><code>pBuildInfo</code> = <code>pInfos</code>[i]</span> and <span class=\"eq\"><code>pMaxPrimitiveCounts</code> = <code>ppMaxPrimitiveCounts</code>[i]</span>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-ppMaxPrimitiveCounts-03653",
+          "text": " Each <code>ppMaxPrimitiveCounts</code>[i][j] <strong class=\"purple\">must</strong> be greater than or equal to the the <code>primitiveCount</code> value specified by the <a href=\"#VkAccelerationStructureBuildRangeInfoKHR\">VkAccelerationStructureBuildRangeInfoKHR</a> structure located at <span class=\"eq\"><code>pIndirectDeviceAddresses</code>[i] &#43; (<code>j</code> {times} <code>pIndirectStrides</code>[i])</span>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-parameter",
+          "text": " <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> valid <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-parameter",
+          "text": " <code>pIndirectDeviceAddresses</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> <code>VkDeviceAddress</code> values"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectStrides-parameter",
+          "text": " <code>pIndirectStrides</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> <code>uint32_t</code> values"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-ppMaxPrimitiveCounts-parameter",
+          "text": " <code>ppMaxPrimitiveCounts</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> <code>uint32_t</code> values"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-infoCount-arraylength",
+          "text": " <code>infoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        }
+      ]
+    },
+    "VkAccelerationStructureBuildGeometryInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03654",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> not be <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-pGeometries-03788",
+          "text": " Only one of <code>pGeometries</code> or <code>ppGeometries</code> <strong class=\"purple\">can</strong> be a valid pointer, the other <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03789",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code>, the <code>geometryType</code> member of elements of either <code>pGeometries</code> or <code>ppGeometries</code> <strong class=\"purple\">must</strong> be <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03790",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code>, <code>geometryCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03791",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> the <code>geometryType</code> member of elements of either <code>pGeometries</code> or <code>ppGeometries</code> <strong class=\"purple\">must</strong> not be <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03792",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> then the <code>geometryType</code> member of each geometry in either <code>pGeometries</code> or <code>ppGeometries</code> <strong class=\"purple\">must</strong> be the same"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03793",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> then <code>geometryCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxGeometryCount</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03794",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> and the <code>geometryType</code> member of either <code>pGeometries</code> or <code>ppGeometries</code> is <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, the total number of AABBs in all geometries <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxPrimitiveCount</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03795",
+          "text": " If <code>type</code> is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> and the <code>geometryType</code> member of either <code>pGeometries</code> or <code>ppGeometries</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, the total number of triangles in all geometries <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxPrimitiveCount</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-flags-03796",
+          "text": " If <code>flags</code> has the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR</code> bit set, then it <strong class=\"purple\">must</strong> not have the <code>VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR</code> bit set"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-parameter",
+          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureTypeKHR\">VkAccelerationStructureTypeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBuildAccelerationStructureFlagBitsKHR\">VkBuildAccelerationStructureFlagBitsKHR</a> values"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-pGeometries-parameter",
+          "text": " If <code>geometryCount</code> is not <code>0</code>, and <code>pGeometries</code> is not <code>NULL</code>, <code>pGeometries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>geometryCount</code> valid <a href=\"#VkAccelerationStructureGeometryKHR\">VkAccelerationStructureGeometryKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-ppGeometries-parameter",
+          "text": " If <code>geometryCount</code> is not <code>0</code>, and <code>ppGeometries</code> is not <code>NULL</code>, <code>ppGeometries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>geometryCount</code> valid pointers to valid <a href=\"#VkAccelerationStructureGeometryKHR\">VkAccelerationStructureGeometryKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-commonparent",
+          "text": " Both of <code>dstAccelerationStructure</code>, and <code>srcAccelerationStructure</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "VkAccelerationStructureGeometryKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-03541",
+          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, the <code>aabbs</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryAabbsDataKHR\">VkAccelerationStructureGeometryAabbsDataKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-03542",
+          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, the <code>triangles</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-03543",
+          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the <code>instances</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryInstancesDataKHR\">VkAccelerationStructureGeometryInstancesDataKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-parameter",
+          "text": " <code>geometryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryTypeKHR\">VkGeometryTypeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-triangles-parameter",
+          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, the <code>triangles</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-aabbs-parameter",
+          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, the <code>aabbs</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryAabbsDataKHR\">VkAccelerationStructureGeometryAabbsDataKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-instances-parameter",
+          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the <code>instances</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryInstancesDataKHR\">VkAccelerationStructureGeometryInstancesDataKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryKHR-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkGeometryFlagBitsKHR\">VkGeometryFlagBitsKHR</a> values"
+        }
+      ]
+    },
+    "VkAccelerationStructureGeometryTrianglesDataKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexStride-03735",
+          "text": " <code>vertexStride</code> <strong class=\"purple\">must</strong> be a multiple of the size in bytes of the smallest component of <code>vertexFormat</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexStride-03819",
+          "text": " <code>vertexStride</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>32</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-03797",
+          "text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> support the <code>VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR</code> in <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>bufferFeatures</code> as returned by <a href=\"#vkGetPhysicalDeviceFormatProperties2\">vkGetPhysicalDeviceFormatProperties2</a>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-03798",
+          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be <code>VK_INDEX_TYPE_UINT16</code>, <code>VK_INDEX_TYPE_UINT32</code>, or <code>VK_INDEX_TYPE_NONE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-parameter",
+          "text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFormat\">VkFormat</a> value"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-parameter",
+          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkIndexType\">VkIndexType</a> value"
+        }
+      ]
+    },
+    "VkTransformMatrixKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkTransformMatrixKHR-matrix-03799",
+          "text": " The first three columns of <code>matrix</code> <strong class=\"purple\">must</strong> define an invertible 3x3 matrix"
+        }
+      ]
+    },
+    "VkAccelerationStructureGeometryAabbsDataKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-stride-03545",
+          "text": " <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of <code>8</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-stride-03820",
+          "text": " <code>stride</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>32</sup>-1</span>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
+    "VkAabbPositionsKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAabbPositionsKHR-minX-03546",
+          "text": " <code>minX</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxX</code>"
+        },
+        {
+          "vuid": "VUID-VkAabbPositionsKHR-minY-03547",
+          "text": " <code>minY</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxY</code>"
+        },
+        {
+          "vuid": "VUID-VkAabbPositionsKHR-minZ-03548",
+          "text": " <code>minZ</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxZ</code>"
+        }
+      ]
+    },
+    "VkAccelerationStructureGeometryInstancesDataKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryInstancesDataKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureGeometryInstancesDataKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
+    "VkAccelerationStructureInstanceKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureInstanceKHR-flags-parameter",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkGeometryInstanceFlagBitsKHR\">VkGeometryInstanceFlagBitsKHR</a> values"
+        }
+      ]
+    },
+    "VkAccelerationStructureBuildRangeInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildRangeInfoKHR-primitiveOffset-03656",
+          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if the geometry uses indices, the offset <code>primitiveOffset</code> from <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>indexData</code> <strong class=\"purple\">must</strong> be a multiple of the element size of <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>indexType</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildRangeInfoKHR-primitiveOffset-03657",
+          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if the geometry doesn&#8217;t use indices, the offset <code>primitiveOffset</code> from <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>vertexData</code> <strong class=\"purple\">must</strong> be a multiple of the component size of <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>vertexFormat</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildRangeInfoKHR-transformOffset-03658",
+          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, the offset <code>transformOffset</code> from <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>transformData</code> <strong class=\"purple\">must</strong> be a multiple of 16"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildRangeInfoKHR-primitiveOffset-03659",
+          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, the offset <code>primitiveOffset</code> from <a href=\"#VkAccelerationStructureGeometryAabbsDataKHR\">VkAccelerationStructureGeometryAabbsDataKHR</a>::<code>data</code> <strong class=\"purple\">must</strong> be a multiple of 8"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureBuildRangeInfoKHR-primitiveOffset-03660",
+          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the offset <code>primitiveOffset</code> from <a href=\"#VkAccelerationStructureGeometryInstancesDataKHR\">VkAccelerationStructureGeometryInstancesDataKHR</a>::<code>data</code> <strong class=\"purple\">must</strong> be a multiple of 16"
+        }
+      ]
+    },
+    "vkCmdWriteAccelerationStructuresPropertiesKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryPool-02493",
+          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> matching <code>queryType</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryPool-02494",
+          "text": " The queries identified by <code>queryPool</code> and <code>firstQuery</code> <strong class=\"purple\">must</strong> be <em>unavailable</em>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-buffer-03736",
+          "text": " The <code>buffer</code> used to create each acceleration structure in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-accelerationStructures-03431",
+          "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryType-03432",
+          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code> or <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-parameter",
+          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handles"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryType-parameter",
+          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryType\">VkQueryType</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryPool-parameter",
+          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryPool\">VkQueryPool</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-accelerationStructureCount-arraylength",
+          "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commonparent",
+          "text": " Each of <code>commandBuffer</code>, <code>queryPool</code>, and the elements of <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "vkCmdWriteAccelerationStructuresPropertiesNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03755",
+          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> matching <code>queryType</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03756",
+          "text": " The queries identified by <code>queryPool</code> and <code>firstQuery</code> <strong class=\"purple\">must</strong> be <em>unavailable</em>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructure-03757",
+          "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object via <a href=\"#vkBindAccelerationStructureMemoryNV\">vkBindAccelerationStructureMemoryNV</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructures-03431",
+          "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-03432",
+          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-parameter",
+          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handles"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-parameter",
+          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryType\">VkQueryType</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-parameter",
+          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryPool\">VkQueryPool</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructureCount-arraylength",
+          "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commonparent",
+          "text": " Each of <code>commandBuffer</code>, <code>queryPool</code>, and the elements of <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "vkCmdCopyAccelerationStructureNV": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-mode-03410",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code> or <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-03411",
+          "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-buffer-03718",
+          "text": " The <code>buffer</code> used to create <code>src</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-buffer-03719",
+          "text": " The <code>buffer</code> used to create <code>dst</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-dst-parameter",
+          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-parameter",
+          "text": " <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-mode-parameter",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commonparent",
+          "text": " Each of <code>commandBuffer</code>, <code>dst</code>, and <code>src</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "vkCmdCopyAccelerationStructureKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-buffer-03737",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>src</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-buffer-03738",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>dst</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureInfoKHR\">VkCopyAccelerationStructureInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkCopyAccelerationStructureInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-mode-03410",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code> or <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-03411",
+          "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-buffer-03718",
+          "text": " The <code>buffer</code> used to create <code>src</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-buffer-03719",
+          "text": " The <code>buffer</code> used to create <code>dst</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-parameter",
+          "text": " <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-dst-parameter",
+          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-mode-parameter",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-commonparent",
+          "text": " Both of <code>dst</code>, and <code>src</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+        }
+      ]
+    },
+    "vkCmdCopyAccelerationStructureToMemoryKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-03739",
+          "text": " <code>pInfo</code>-&gt;<code>dst.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address for a buffer bound to device memory."
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-03740",
+          "text": " <code>pInfo</code>-&gt;<code>dst.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>256</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-03741",
+          "text": " If the buffer pointed to by <code>pInfo</code>-&gt;<code>dst.deviceAddress</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-None-03559",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>src</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureToMemoryInfoKHR\">VkCopyAccelerationStructureToMemoryInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkCopyAccelerationStructureToMemoryInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561",
+          "text": " The memory pointed to by <code>dst</code> <strong class=\"purple\">must</strong> be at least as large as the serialization size of <code>src</code>, as reported by <a href=\"#vkWriteAccelerationStructuresPropertiesKHR\">vkWriteAccelerationStructuresPropertiesKHR</a> or <a href=\"#vkCmdWriteAccelerationStructuresPropertiesKHR\">vkCmdWriteAccelerationStructuresPropertiesKHR</a> with a query type of <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-mode-03412",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-src-parameter",
+          "text": " <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-mode-parameter",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
+        }
+      ]
+    },
+    "vkCmdCopyMemoryToAccelerationStructureKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03742",
+          "text": " <code>pInfo</code>-&gt;<code>src.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address for a buffer bound to device memory."
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03743",
+          "text": " <code>pInfo</code>-&gt;<code>src.deviceAddress</code> <strong class=\"purple\">must</strong> be aligned to <code>256</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03744",
+          "text": " If the buffer pointed to by <code>pInfo</code>-&gt;<code>src.deviceAddress</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-buffer-03745",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>dst</code> <strong class=\"purple\">must</strong> be bound to device memory"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyMemoryToAccelerationStructureInfoKHR\">VkCopyMemoryToAccelerationStructureInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-renderpass",
+          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ]
+    },
+    "VkCopyMemoryToAccelerationStructureInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-mode-03413",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-pInfo-03414",
+          "text": " The data in <code>src</code> <strong class=\"purple\">must</strong> have a format compatible with the destination physical device as returned by <a href=\"#vkGetDeviceAccelerationStructureCompatibilityKHR\">vkGetDeviceAccelerationStructureCompatibilityKHR</a>"
+        },
+        {
+          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-03746",
+          "text": " <code>dst</code> <strong class=\"purple\">must</strong> have been created with a <code>size</code> greater than or equal to that used to serialize the data in <code>src</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-parameter",
+          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-mode-parameter",
+          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
+        }
+      ]
+    },
+    "vkGetDeviceAccelerationStructureCompatibilityKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-rayTracingPipeline-03661",
+          "text": " The <a href=\"#features-rayTracingPipeline\"><code>rayTracingPipeline</code></a> or <a href=\"#features-rayQuery\"><code>rayQuery</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-pVersionInfo-parameter",
+          "text": " <code>pVersionInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureVersionInfoKHR\">VkAccelerationStructureVersionInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-pCompatibility-parameter",
+          "text": " <code>pCompatibility</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkAccelerationStructureCompatibilityKHR\">VkAccelerationStructureCompatibilityKHR</a> value"
+        }
+      ]
+    },
+    "VkAccelerationStructureVersionInfoKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-VkAccelerationStructureVersionInfoKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureVersionInfoKHR-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkAccelerationStructureVersionInfoKHR-pVersionData-parameter",
+          "text": " <code>pVersionData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>2</code>*<code>VK_UUID_SIZE</code> <code>uint8_t</code> values"
+        }
+      ]
+    },
+    "vkBuildAccelerationStructuresKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-mode-04628",
+          "text": " The <code>mode</code> member of each element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuildAccelerationStructureModeKHR\">VkBuildAccelerationStructureModeKHR</a> value"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-srcAccelerationStructure-04629",
+          "text": " If the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-04630",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03403",
+          "text": " The <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03698",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03800",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03699",
+          "text": " For each element of <code>pInfos</code>, if its <code>type</code> member is <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code>, its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> equal to either <code>VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR</code> or <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03700",
+          "text": " For each element of <code>pInfos</code>, if its <code>type</code> member is <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code>, its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> equal to either <code>VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR</code> or <code>VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03663",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, <a href=\"#acceleration-structure-inactive-prims\">inactive primitives</a> in its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be made active"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03664",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, active primitives in its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be made <a href=\"#acceleration-structure-inactive-prims\">inactive</a>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-None-03407",
+          "text": " The <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> in any other element of <code>pInfos</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03701",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>srcAccelerationStructure</code> member of any other element of <code>pInfos</code> with a <code>mode</code> equal to <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03702",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03703",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> (including the same element), which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-scratchData-03704",
+          "text": " The range of memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>scratchData</code> member of any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-scratchData-03705",
+          "text": " The range of memory backing the <code>scratchData</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> with a <code>mode</code> equal to <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code> (including the same element), which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03706",
+          "text": " The range of memory backing the <code>dstAccelerationStructure</code> member of any element of <code>pInfos</code> that is accessed by this command <strong class=\"purple\">must</strong> not overlap the memory backing any acceleration structure referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> in any other element of <code>pInfos</code>, which is accessed by this command"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03666",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03667",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03668",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> and <code>dstAccelerationStructure</code> members <strong class=\"purple\">must</strong> either be the same <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a>, or not have any <a href=\"#resources-memory-aliasing\">memory aliasing</a>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03758",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>geometryCount</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03759",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>flags</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03760",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>type</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03761",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, its <code>geometryType</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03762",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, its <code>flags</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03763",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.vertexFormat</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03764",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.maxVertex</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03765",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, its <code>geometry.triangles.indexType</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03766",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if its <code>geometry.triangles.transformData</code> member was NULL when <code>srcAccelerationStructure</code> was last built, then it must be NULL."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03767",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if its <code>geometry.triangles.transformData</code> member was not NULL when <code>srcAccelerationStructure</code> was last built, then it may not be NULL."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03768",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, then for each <code>VkAccelerationStructureGeometryKHR</code> structure referred to by its <code>pGeometries</code> or <code>ppGeometries</code> members, if <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, and <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, then the value of each index referenced index must be the same as the corresponding index value when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-primitiveCount-03769",
+          "text": " For each <code>VkAccelerationStructureBuildRangeInfoKHR</code> referenced by this command, its <code>primitiveCount</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-firstVertex-03770",
+          "text": " For each <code>VkAccelerationStructureBuildRangeInfoKHR</code> referenced by this command, if the corresponding geometry uses indices, its <code>firstVertex</code> member <strong class=\"purple\">must</strong> have the same value which was specified when <code>srcAccelerationStructure</code> was last built."
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03801",
+          "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding {maxinstancecheck} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03675",
+          "text": " For each <code>pInfos</code>[i], <code>dstAccelerationStructure</code> <strong class=\"purple\">must</strong> have been created with a value of <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>size</code> greater than or equal to the memory size required by the build operation, as returned by <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with <span class=\"eq\"><code>pBuildInfo</code> = <code>pInfos</code>[i]</span> and with each element of the <code>pMaxPrimitiveCounts</code> array greater than or equal to the equivalent <code>ppBuildRangeInfos</code>[i][j].<code>primitiveCount</code> values for <code>j</code> in <span class=\"eq\">[0,<code>pInfos</code>[i].<code>geometryCount</code>)</span>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-ppBuildRangeInfos-03676",
+          "text": " Each element of <code>ppBuildRangeInfos</code>[i] <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pInfos</code>[i].<code>geometryCount</code> <code>VkAccelerationStructureBuildRangeInfoKHR</code> structures"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03677",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> object"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03678",
+          "text": " Any previous deferred operation that was associated with <code>deferredOperation</code> <strong class=\"purple\">must</strong> be complete"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03722",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03723",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code> the <code>buffer</code> used to create its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03724",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create each acceleration structure referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-accelerationStructureHostCommands-03581",
+          "text": " The <a href=\"#features-accelerationStructureHostCommands\"><code>VkPhysicalDeviceAccelerationStructureFeaturesKHR</code>::<code>accelerationStructureHostCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03725",
+          "text": " If <code>pInfos</code>[i].<code>mode</code> is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR</code>, all addresses between <code>pInfos</code>[i].<code>scratchData.hostAddress</code> and <code>pInfos</code>[i].<code>scratchData.hostAddress</code> + N - 1 <strong class=\"purple\">must</strong> be valid host memory, where N is given by the <code>buildScratchSize</code> member of the <a href=\"#VkAccelerationStructureBuildSizesInfoKHR\">VkAccelerationStructureBuildSizesInfoKHR</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with an identical <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure and primitive count"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03726",
+          "text": " If <code>pInfos</code>[i].<code>mode</code> is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, all addresses between <code>pInfos</code>[i].<code>scratchData.hostAddress</code> and <code>pInfos</code>[i].<code>scratchData.hostAddress</code> + N - 1 <strong class=\"purple\">must</strong> be valid host memory, where N is given by the <code>updateScratchSize</code> member of the <a href=\"#VkAccelerationStructureBuildSizesInfoKHR\">VkAccelerationStructureBuildSizesInfoKHR</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureBuildSizesKHR\">vkGetAccelerationStructureBuildSizesKHR</a> with an identical <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure and primitive count"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03771",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, <code>geometry.triangles.vertexData.hostAddress</code> <strong class=\"purple\">must</strong> be a valid host address"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03772",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.indexType</code> is not <code>VK_INDEX_TYPE_NONE_KHR</code>, <code>geometry.triangles.indexData.hostAddress</code> <strong class=\"purple\">must</strong> be a valid host address"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03773",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if <code>geometry.triangles.transformData.hostAddress</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be a valid host address"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03774",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, <code>geometry.aabbs.data.hostAddress</code> <strong class=\"purple\">must</strong> be a valid host address"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03778",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, <code>geometry.instances.data.hostAddress</code> <strong class=\"purple\">must</strong> be a valid host address"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03779",
+          "text": " For any element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, each <a href=\"#VkAccelerationStructureInstanceKHR\">VkAccelerationStructureInstanceKHR</a>::<code>accelerationStructureReference</code> value in <code>geometry.instances.data.hostAddress</code> must be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> object"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-deferredOperation-parameter",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>deferredOperation</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-parameter",
+          "text": " <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> valid <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-ppBuildRangeInfos-parameter",
+          "text": " <code>ppBuildRangeInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> <a href=\"#VkAccelerationStructureBuildRangeInfoKHR\">VkAccelerationStructureBuildRangeInfoKHR</a> structures"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-infoCount-arraylength",
+          "text": " <code>infoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-deferredOperation-parent",
+          "text": " If <code>deferredOperation</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_device_group,VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03775",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create its <code>dstAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03776",
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code> the <code>buffer</code> used to create its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        },
+        {
+          "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03777",
+          "text": " For each element of <code>pInfos</code>, the <code>buffer</code> used to create each acceleration structure referenced by the <code>geometry.instances.data</code> member of any element of <code>pGeometries</code> or <code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code> <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        }
+      ]
+    },
+    "vkCopyAccelerationStructureKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-deferredOperation-03677",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> object"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-deferredOperation-03678",
+          "text": " Any previous deferred operation that was associated with <code>deferredOperation</code> <strong class=\"purple\">must</strong> be complete"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-buffer-03727",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>src</code> <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-buffer-03728",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>dst</code> <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-accelerationStructureHostCommands-03582",
+          "text": " The <a href=\"#features-accelerationStructureHostCommands\"><code>VkPhysicalDeviceAccelerationStructureFeaturesKHR</code>::<code>accelerationStructureHostCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-deferredOperation-parameter",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>deferredOperation</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureInfoKHR\">VkCopyAccelerationStructureInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-deferredOperation-parent",
+          "text": " If <code>deferredOperation</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_device_group,VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-buffer-03780",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>src</code> <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureKHR-buffer-03781",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>dst</code> <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        }
+      ]
+    },
+    "vkCopyMemoryToAccelerationStructureKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03677",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> object"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03678",
+          "text": " Any previous deferred operation that was associated with <code>deferredOperation</code> <strong class=\"purple\">must</strong> be complete"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-pInfo-03729",
+          "text": " <code>pInfo</code>-&gt;<code>src.hostAddress</code> <strong class=\"purple\">must</strong> be a valid host pointer"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-pInfo-03750",
+          "text": " <code>pInfo</code>-&gt;<code>src.hostAddress</code> <strong class=\"purple\">must</strong> be aligned to 16 bytes"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-buffer-03730",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>dst</code> <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-accelerationStructureHostCommands-03583",
+          "text": " The <a href=\"#features-accelerationStructureHostCommands\"><code>VkPhysicalDeviceAccelerationStructureFeaturesKHR</code>::<code>accelerationStructureHostCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-parameter",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>deferredOperation</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyMemoryToAccelerationStructureInfoKHR\">VkCopyMemoryToAccelerationStructureInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-parent",
+          "text": " If <code>deferredOperation</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_device_group,VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-buffer-03782",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>dst</code> <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        }
+      ]
+    },
+    "vkCopyAccelerationStructureToMemoryKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03677",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> object"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03678",
+          "text": " Any previous deferred operation that was associated with <code>deferredOperation</code> <strong class=\"purple\">must</strong> be complete"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-buffer-03731",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>src</code> <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-03732",
+          "text": " <code>pInfo</code>-&gt;<code>dst.hostAddress</code> <strong class=\"purple\">must</strong> be a valid host pointer"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-03751",
+          "text": " <code>pInfo</code>-&gt;<code>dst.hostAddress</code> <strong class=\"purple\">must</strong> be aligned to 16 bytes"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-accelerationStructureHostCommands-03584",
+          "text": " The <a href=\"#features-accelerationStructureHostCommands\"><code>VkPhysicalDeviceAccelerationStructureFeaturesKHR</code>::<code>accelerationStructureHostCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-parameter",
+          "text": " If <code>deferredOperation</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>deferredOperation</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeferredOperationKHR\">VkDeferredOperationKHR</a> handle"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureToMemoryInfoKHR\">VkCopyAccelerationStructureToMemoryInfoKHR</a> structure"
+        },
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-parent",
+          "text": " If <code>deferredOperation</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_device_group,VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-buffer-03783",
+          "text": " The <code>buffer</code> used to create <code>pInfo</code>-&gt;<code>src</code> <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        }
+      ]
+    },
+    "vkWriteAccelerationStructuresPropertiesKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-accelerationStructures-03431",
+          "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03432",
+          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code> or <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03448",
+          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>, then <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of the size of <code>VkDeviceSize</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03449",
+          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>, then <code>data</code> <strong class=\"purple\">must</strong> point to a <code>VkDeviceSize</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03450",
+          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>, then <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of the size of <code>VkDeviceSize</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03451",
+          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>, then <code>data</code> <strong class=\"purple\">must</strong> point to a <code>VkDeviceSize</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-dataSize-03452",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <span class=\"eq\"><code>accelerationStructureCount</code>*<code>stride</code></span>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-buffer-03733",
+          "text": " The <code>buffer</code> used to create each acceleration structure in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be bound to host-visible device memory"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-accelerationStructureHostCommands-03585",
+          "text": " The <a href=\"#features-accelerationStructureHostCommands\"><code>VkPhysicalDeviceAccelerationStructureFeaturesKHR</code>::<code>accelerationStructureHostCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-parameter",
+          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handles"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-parameter",
+          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryType\">VkQueryType</a> value"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pData-parameter",
+          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-accelerationStructureCount-arraylength",
+          "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-dataSize-arraylength",
+          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-parent",
+          "text": " Each element of <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_device_group,VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-buffer-03784",
+          "text": " The <code>buffer</code> used to create each acceleration structure in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be bound to memory that was not allocated with multiple instances"
+        }
+      ]
+    },
+    "vkCmdTraceRaysNV": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-None-02691",
@@ -26640,15 +36038,23 @@
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-None-03429",
           "text": " Any shader group handle referenced by this call <strong class=\"purple\">must</strong> have been queried from the currently bound ray tracing shader pipeline"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysNV-maxRecursionDepth-03430",
-          "text": " This command <strong class=\"purple\">must</strong> not cause a shader call instruction to be executed from a shader invocation with a <a href=\"#ray-tracing-recursion-depth\">recursion depth</a> greater than the value of <code>maxRecursionDepth</code> used to create the bound ray tracing pipeline"
+          "vuid": "VUID-vkCmdTraceRaysNV-commandBuffer-04624",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-maxRecursionDepth-03625",
+          "text": " This command <strong class=\"purple\">must</strong> not cause a trace ray instruction to be executed from a shader invocation with a <a href=\"#ray-tracing-recursion-depth\">recursion depth</a> greater than the value of <code>maxRecursionDepth</code> used to create the bound ray tracing pipeline"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-raygenShaderBindingTableBuffer-04042",
@@ -26733,52 +36139,8 @@
         {
           "vuid": "VUID-vkCmdTraceRaysNV-depth-02471",
           "text": " <code>depth</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[2]"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysNV-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysNV-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysNV-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysNV-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysNV-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysNV-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysNV-commandBuffer-02712",
-          "text": " If <code>commandBuffer</code> is a protected command buffer, any resource written to by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be an unprotected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysNV-commandBuffer-02713",
-          "text": " If <code>commandBuffer</code> is a protected command buffer, pipeline stages other than the framebuffer-space and compute stages in the <code>VkPipeline</code> object bound to the pipeline bind point <strong class=\"purple\">must</strong> not write to any resource"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
           "vuid": "VUID-vkCmdTraceRaysNV-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
@@ -26814,13 +36176,77 @@
           "vuid": "VUID-vkCmdTraceRaysNV-commonparent",
           "text": " Each of <code>callableShaderBindingTableBuffer</code>, <code>commandBuffer</code>, <code>hitShaderBindingTableBuffer</code>, <code>missShaderBindingTableBuffer</code>, and <code>raygenShaderBindingTableBuffer</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
         }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
       ]
     },
     "vkCmdTraceRaysKHR": {
-      "core": [
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-None-02691",
@@ -26872,119 +36298,103 @@
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-None-03429",
           "text": " Any shader group handle referenced by this call <strong class=\"purple\">must</strong> have been queried from the currently bound ray tracing shader pipeline"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-maxRecursionDepth-03430",
-          "text": " This command <strong class=\"purple\">must</strong> not cause a shader call instruction to be executed from a shader invocation with a <a href=\"#ray-tracing-recursion-depth\">recursion depth</a> greater than the value of <code>maxRecursionDepth</code> used to create the bound ray tracing pipeline"
+          "vuid": "VUID-vkCmdTraceRaysKHR-maxPipelineRayRecursionDepth-03679",
+          "text": " This command <strong class=\"purple\">must</strong> not cause a shader call instruction to be executed from a shader invocation with a <a href=\"#ray-tracing-recursion-depth\">recursion depth</a> greater than the value of <code>maxPipelineRayRecursionDepth</code> used to create the bound ray tracing pipeline"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-04019",
-          "text": " If <code>pRayGenShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-03680",
+          "text": " If the buffer from which <code>pRayGenShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-offset-04020",
-          "text": " The <code>offset</code> member of <code>pRayGenShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of the <code>pRayGenShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-03681",
+          "text": " The buffer from which the <code>pRayGenShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-04021",
-          "text": " <code>pRayGenShaderBindingTable-&gt;offset</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-04022",
-          "text": " <span class=\"eq\"><code>pRayGenShaderBindingTable-&gt;offset</code> &#43; <code>pRayGenShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pRayGenShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-03682",
+          "text": " <code>pRayGenShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-size-04023",
           "text": " The <code>size</code> member of <code>pRayGenShaderBindingTable</code> <strong class=\"purple\">must</strong> be equal to its <code>stride</code> member"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-04024",
-          "text": " If <code>pMissShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-03683",
+          "text": " If the buffer from which <code>pMissShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-offset-04025",
-          "text": " The <code>offset</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of <code>pMissShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-03684",
+          "text": " The buffer from which the <code>pMissShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-offset-04026",
-          "text": " The <code>offset</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-03685",
+          "text": " <code>pMissShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-04027",
-          "text": " <span class=\"eq\"><code>pMissShaderBindingTable-&gt;offset</code> &#43; <code>pMissShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pMissShaderBindingTable-&gt;buffer</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-stride-04028",
-          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupHandleSize</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-stride-03686",
+          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-stride-04029",
-          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-04030",
-          "text": " If <code>pHitShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-03687",
+          "text": " If the buffer from which <code>pHitShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-offset-04031",
-          "text": " The <code>offset</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of <code>pHitShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-03688",
+          "text": " The buffer from which the <code>pHitShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-offset-04032",
-          "text": " The <code>offset</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-03689",
+          "text": " <code>pHitShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-04033",
-          "text": " <span class=\"eq\"><code>pHitShaderBindingTable-&gt;offset</code> &#43; <code>pHitShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pHitShaderBindingTable-&gt;buffer</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-stride-04034",
-          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupHandleSize</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-stride-03690",
+          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-stride-04035",
-          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-04036",
-          "text": " If <code>pCallableShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-03691",
+          "text": " If the buffer from which <code>pCallableShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-offset-04037",
-          "text": " The <code>offset</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of <code>pCallableShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-03692",
+          "text": " The buffer from which the <code>pCallableShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-offset-04038",
-          "text": " The <code>offset</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-03693",
+          "text": " <code>pCallableShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-04039",
-          "text": " <span class=\"eq\"><code>pCallableShaderBindingTable-&gt;offset</code> &#43; <code>pCallableShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pCallableShaderBindingTable-&gt;buffer</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-stride-04040",
-          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupHandleSize</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-stride-03694",
+          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-stride-04041",
-          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-flags-03508",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, the <code>buffer</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-flags-03696",
+          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, the <code>deviceAddress</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be zero"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-flags-03509",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, the <code>buffer</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-flags-03510",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, the <code>buffer</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-flags-03697",
+          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, the <code>deviceAddress</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be zero"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-flags-03511",
@@ -26992,7 +36402,7 @@
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-flags-03512",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in <code>pHitShaderBindingTable</code> accessed as a result of this command in order to execute an any hit shader <strong class=\"purple\">must</strong> not be set to zero"
+          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in <code>pHitShaderBindingTable</code> accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-flags-03513",
@@ -27003,80 +36413,52 @@
           "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in <code>pHitShaderBindingTable</code> accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-width-03505",
-          "text": " <code>width</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[0]"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-04735",
+          "text": " Any non-zero hit group entries in <code>pHitShaderBindingTable</code> accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-height-03506",
-          "text": " <code>height</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[1]"
+          "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-04736",
+          "text": " Any non-zero hit group entries in <code>pHitShaderBindingTable</code> accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-depth-03507",
-          "text": " <code>depth</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[2]"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+          "vuid": "VUID-vkCmdTraceRaysKHR-commandBuffer-04625",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysKHR-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+          "vuid": "VUID-vkCmdTraceRaysKHR-width-03626",
+          "text": " <code>width</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\"><code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[0] {times} <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[0]</span>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-commandBuffer-02712",
-          "text": " If <code>commandBuffer</code> is a protected command buffer, any resource written to by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be an unprotected resource"
+          "vuid": "VUID-vkCmdTraceRaysKHR-height-03627",
+          "text": " <code>height</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\"><code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[1] {times} <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[1]</span>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysKHR-commandBuffer-02713",
-          "text": " If <code>commandBuffer</code> is a protected command buffer, pipeline stages other than the framebuffer-space and compute stages in the <code>VkPipeline</code> object bound to the pipeline bind point <strong class=\"purple\">must</strong> not write to any resource"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
+          "vuid": "VUID-vkCmdTraceRaysKHR-depth-03628",
+          "text": " <code>depth</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\"><code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[2] {times} <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[2]</span>"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-width-03629",
+          "text": " <span class=\"eq\"><code>width</code> {times} <code>height</code> {times} <code>depth</code></span> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxRayDispatchInvocationCount</code>"
+        },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-pRaygenShaderBindingTable-parameter",
-          "text": " <code>pRaygenShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
+          "text": " <code>pRaygenShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-parameter",
-          "text": " <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
+          "text": " <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-parameter",
-          "text": " <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
+          "text": " <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-parameter",
-          "text": " <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
+          "text": " <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-commandBuffer-recording",
@@ -27090,29 +36472,89 @@
           "vuid": "VUID-vkCmdTraceRaysKHR-renderpass",
           "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
         }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysKHR-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        }
       ]
     },
-    "VkStridedBufferRegionKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
+    "VkStridedDeviceAddressRegionKHR": {
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
         {
-          "vuid": "VUID-VkStridedBufferRegionKHR-buffer-03515",
-          "text": " If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>size</code> plus <code>offset</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>buffer</code>"
+          "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04631",
+          "text": " If <code>size</code> is not zero, all addresses between <code>deviceAddress</code> and <span class=\"eq\"><code>deviceAddress</code> &#43; <code>size</code> - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer"
         },
         {
-          "vuid": "VUID-VkStridedBufferRegionKHR-buffer-03516",
-          "text": " If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>stride</code> <strong class=\"purple\">must</strong> be less than the size of <code>buffer</code>"
-        },
-        {
-          "vuid": "VUID-VkStridedBufferRegionKHR-buffer-parameter",
-          "text": " If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+          "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04632",
+          "text": " If <code>size</code> is not zero, <code>stride</code> <strong class=\"purple\">must</strong> be less than the size of the buffer from which <code>deviceAddress</code> was queried"
         }
       ]
     },
     "vkCmdTraceRaysIndirectKHR": {
-      "core": [
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02690",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-magFilter-04553",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-mipmapMode-04770",
+          "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02691",
@@ -27164,119 +36606,103 @@
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-04115",
-          "text": " If a <code>VkImageView</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-OpImageWrite-04469",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-03429",
           "text": " Any shader group handle referenced by this call <strong class=\"purple\">must</strong> have been queried from the currently bound ray tracing shader pipeline"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-maxRecursionDepth-03430",
-          "text": " This command <strong class=\"purple\">must</strong> not cause a shader call instruction to be executed from a shader invocation with a <a href=\"#ray-tracing-recursion-depth\">recursion depth</a> greater than the value of <code>maxRecursionDepth</code> used to create the bound ray tracing pipeline"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-maxPipelineRayRecursionDepth-03679",
+          "text": " This command <strong class=\"purple\">must</strong> not cause a shader call instruction to be executed from a shader invocation with a <a href=\"#ray-tracing-recursion-depth\">recursion depth</a> greater than the value of <code>maxPipelineRayRecursionDepth</code> used to create the bound ray tracing pipeline"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-04019",
-          "text": " If <code>pRayGenShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-03680",
+          "text": " If the buffer from which <code>pRayGenShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-04020",
-          "text": " The <code>offset</code> member of <code>pRayGenShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of the <code>pRayGenShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-03681",
+          "text": " The buffer from which the <code>pRayGenShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-04021",
-          "text": " <code>pRayGenShaderBindingTable-&gt;offset</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-04022",
-          "text": " <span class=\"eq\"><code>pRayGenShaderBindingTable-&gt;offset</code> &#43; <code>pRayGenShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pRayGenShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-03682",
+          "text": " <code>pRayGenShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-size-04023",
           "text": " The <code>size</code> member of <code>pRayGenShaderBindingTable</code> <strong class=\"purple\">must</strong> be equal to its <code>stride</code> member"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-04024",
-          "text": " If <code>pMissShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-03683",
+          "text": " If the buffer from which <code>pMissShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-04025",
-          "text": " The <code>offset</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of <code>pMissShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-03684",
+          "text": " The buffer from which the <code>pMissShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-04026",
-          "text": " The <code>offset</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-03685",
+          "text": " <code>pMissShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-04027",
-          "text": " <span class=\"eq\"><code>pMissShaderBindingTable-&gt;offset</code> &#43; <code>pMissShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pMissShaderBindingTable-&gt;buffer</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04028",
-          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupHandleSize</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-03686",
+          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04029",
-          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+          "text": " The <code>stride</code> member of <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-04030",
-          "text": " If <code>pHitShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-03687",
+          "text": " If the buffer from which <code>pHitShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-04031",
-          "text": " The <code>offset</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of <code>pHitShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-03688",
+          "text": " The buffer from which the <code>pHitShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-04032",
-          "text": " The <code>offset</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-03689",
+          "text": " <code>pHitShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-04033",
-          "text": " <span class=\"eq\"><code>pHitShaderBindingTable-&gt;offset</code> &#43; <code>pHitShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pHitShaderBindingTable-&gt;buffer</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04034",
-          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupHandleSize</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-03690",
+          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04035",
-          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+          "text": " The <code>stride</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-04036",
-          "text": " If <code>pCallableShaderBindingTable-&gt;buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-03691",
+          "text": " If the buffer from which <code>pCallableShaderBindingTable-&gt;deviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-04037",
-          "text": " The <code>offset</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than the size of <code>pCallableShaderBindingTable-&gt;buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-03692",
+          "text": " The buffer from which the <code>pCallableShaderBindingTable-&gt;deviceAddress</code> is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-04038",
-          "text": " The <code>offset</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-03693",
+          "text": " <code>pCallableShaderBindingTable-&gt;deviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-04039",
-          "text": " <span class=\"eq\"><code>pCallableShaderBindingTable-&gt;offset</code> &#43; <code>pCallableShaderBindingTable-&gt;size</code></span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>pCallableShaderBindingTable-&gt;buffer</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04040",
-          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>shaderGroupHandleSize</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-03694",
+          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04041",
-          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+          "text": " The <code>stride</code> member of <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03508",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, the <code>buffer</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03696",
+          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, the <code>deviceAddress</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be zero"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03509",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, the <code>buffer</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03510",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, the <code>buffer</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03697",
+          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, the <code>deviceAddress</code> member of <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> not be zero"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03511",
@@ -27284,7 +36710,7 @@
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03512",
-          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in <code>pHitShaderBindingTable</code> accessed as a result of this command in order to execute an any hit shader <strong class=\"purple\">must</strong> not be set to zero"
+          "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in <code>pHitShaderBindingTable</code> accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03513",
@@ -27295,88 +36721,56 @@
           "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in <code>pHitShaderBindingTable</code> accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-buffer-02708",
-          "text": " If <code>buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-04735",
+          "text": " Any non-zero hit group entries in <code>pHitShaderBindingTable</code> accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-buffer-02709",
-          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> bit set"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-04736",
+          "text": " Any non-zero hit group entries in <code>pHitShaderBindingTable</code> accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-02710",
-          "text": " <code>offset</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-indirectDeviceAddress-03632",
+          "text": " If the buffer from which <code>indirectDeviceAddress</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-offset-03517",
-          "text": " <span class=\"eq\">(<code>offset</code> &#43; <code>sizeof</code>(<code>VkTraceRaysIndirectCommandKHR</code>))</span> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>buffer</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-indirectDeviceAddress-03633",
+          "text": " The buffer from which <code>indirectDeviceAddress</code> was queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> bit set"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-rayTracingIndirectTraceRays-03518",
-          "text": " the <a href=\"#features-raytracing-indirecttraceray\"><code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingIndirectTraceRays</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02692",
-          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02693",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
-        }
-      ],
-      "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-filterCubic-02694",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-indirectDeviceAddress-03634",
+          "text": " <code>indirectDeviceAddress</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-filterCubicMinmax-02695",
-          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
-        }
-      ],
-      "(VK_NV_corner_sampled_image)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-02696",
-          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
-        }
-      ],
-      "(VK_VERSION_1_1)": [
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-02707",
-          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-02711",
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-03635",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-indirectDeviceAddress-03636",
+          "text": " All device addresses between <code>indirectDeviceAddress</code> and <span class=\"eq\"><code>indirectDeviceAddress</code> &#43; <code>sizeof</code>(<code>VkTraceRaysIndirectCommandKHR</code>) - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-rayTracingPipelineTraceRaysIndirect-03637",
+          "text": " the <a href=\"#features-rayTracingPipelineTraceRaysIndirect\"><code>VkPhysicalDeviceRayTracingPipelineFeaturesKHR</code>::<code>rayTracingPipelineTraceRaysIndirect</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-parameter",
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRaygenShaderBindingTable-parameter",
-          "text": " <code>pRaygenShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
+          "text": " <code>pRaygenShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-parameter",
-          "text": " <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
+          "text": " <code>pMissShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-parameter",
-          "text": " <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
+          "text": " <code>pHitShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-parameter",
-          "text": " <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedBufferRegionKHR\">VkStridedBufferRegionKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-buffer-parameter",
-          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+          "text": " <code>pCallableShaderBindingTable</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkStridedDeviceAddressRegionKHR\">VkStridedDeviceAddressRegionKHR</a> structure"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-recording",
@@ -27389,1068 +36783,86 @@
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-renderpass",
           "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02692",
+          "text": " If a <code>VkImageView</code> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+!(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02693",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_IMG_filter_cubic,VK_EXT_filter_cubic)+(VK_EXT_filter_cubic)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-filterCubic-02694",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubic</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
         },
         {
-          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-commonparent",
-          "text": " Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-filterCubicMinmax-02695",
+          "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <code>VkFilterCubicImageViewImageFormatPropertiesEXT</code>::<code>filterCubicMinmax</code> returned by <code>vkGetPhysicalDeviceImageFormatProperties2</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_NV_corner_sampled_image)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-02696",
+          "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-02707",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, any resource accessed by the <code>VkPipeline</code> object bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> not be a protected resource"
+        }
+      ],
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04470",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04471",
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04472",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04473",
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-sparseImageInt64Atomics-04474",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+        },
+        {
+          "vuid": "VUID-vkCmdTraceRaysIndirectKHR-sparseImageInt64Atomics-04475",
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
         }
       ]
     },
     "VkTraceRaysIndirectCommandKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
+      "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [
         {
-          "vuid": "VUID-VkTraceRaysIndirectCommandKHR-width-03519",
-          "text": " <code>width</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[0]"
+          "vuid": "VUID-VkTraceRaysIndirectCommandKHR-width-03638",
+          "text": " <code>width</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\"><code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[0] {times} <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[0]</span>"
         },
         {
-          "vuid": "VUID-VkTraceRaysIndirectCommandKHR-height-03520",
-          "text": " <code>height</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[1]"
+          "vuid": "VUID-VkTraceRaysIndirectCommandKHR-height-03639",
+          "text": " <code>height</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\"><code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[1] {times} <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[1]</span>"
         },
         {
-          "vuid": "VUID-VkTraceRaysIndirectCommandKHR-depth-03521",
-          "text": " <code>depth</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[2]"
-        }
-      ]
-    },
-    "vkCmdBuildAccelerationStructureNV": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-geometryCount-02241",
-          "text": " <code>geometryCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>::<code>maxGeometryCount</code>"
+          "vuid": "VUID-VkTraceRaysIndirectCommandKHR-depth-03640",
+          "text": " <code>depth</code> <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\"><code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupCount</code>[2] {times} <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[2]</span>"
         },
         {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-dst-02488",
-          "text": " <code>dst</code> <strong class=\"purple\">must</strong> have been created with compatible <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a> where <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>type</code> and <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>flags</code> are identical, <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>instanceCount</code> and <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>geometryCount</code> for <code>dst</code> are greater than or equal to the build size and each geometry in <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>pGeometries</code> for <code>dst</code> has greater than or equal to the number of vertices, indices, and AABBs"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02489",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>src</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02490",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV</code> set in <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>flags</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02491",
-          "text": " If <code>update</code> is <code>VK_FALSE</code>, the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsNV\">vkGetAccelerationStructureMemoryRequirementsNV</a> with <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>accelerationStructure</code> set to <code>dst</code> and <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>type</code> set to <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>scratch</code> minus <code>scratchOffset</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02492",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsNV\">vkGetAccelerationStructureMemoryRequirementsNV</a> with <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>accelerationStructure</code> set to <code>dst</code> and <a href=\"#VkAccelerationStructureMemoryRequirementsInfoNV\">VkAccelerationStructureMemoryRequirementsInfoNV</a>::<code>type</code> set to <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>scratch</code> minus <code>scratchOffset</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-scratch-03522",
-          "text": " <code>scratch</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-instanceData-03523",
-          "text": " If <code>instanceData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>instanceData</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_NV</code> usage flag"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-03524",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, then objects that were previously active <strong class=\"purple\">must</strong> not be made inactive as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-03525",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, then objects that were previously inactive <strong class=\"purple\">must</strong> not be made active as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-03526",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, the <code>src</code> and <code>dst</code> objects <strong class=\"purple\">must</strong> either be the same object or not have any <a href=\"#resources-memory-aliasing\">memory aliasing</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-instanceData-parameter",
-          "text": " If <code>instanceData</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>instanceData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-dst-parameter",
-          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-src-parameter",
-          "text": " If <code>src</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-scratch-parameter",
-          "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureNV-commonparent",
-          "text": " Each of <code>commandBuffer</code>, <code>dst</code>, <code>instanceData</code>, <code>scratch</code>, and <code>src</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "vkCmdBuildAccelerationStructureKHR": {
-      "core": [
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pOffsetInfos-03402",
-          "text": " Each element of <code>ppOffsetInfos</code>[i] <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pInfos</code>[i].<code>geometryCount</code> <code>VkAccelerationStructureBuildOffsetInfoKHR</code> structures"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pInfos-03403",
-          "text": " Each <code>pInfos</code>[i].<code>srcAccelerationStructure</code> <strong class=\"purple\">must</strong> not refer to the same acceleration structure as any <code>pInfos</code>[i].<code>dstAccelerationStructure</code> that is provided to the same build command unless it is identical for an update"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pInfos-03404",
-          "text": " For each <code>pInfos</code>[i], <code>dstAccelerationStructure</code> <strong class=\"purple\">must</strong> have been created with compatible <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a> where <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> and <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>flags</code> are identical to <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>type</code> and <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code> respectively, <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>geometryCount</code> for <code>dstAccelerationStructure</code> are greater than or equal to the build size, and each geometry in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>ppGeometries</code> for <code>dstAccelerationStructure</code> has greater than or equal to the number of vertices, indices, and AABBs, <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>transformData</code> is both 0 or both non-zero, and all other parameters are the same"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pInfos-03405",
-          "text": " For each <code>pInfos</code>[i], if <code>update</code> is <code>VK_TRUE</code>, then objects that were previously active for that acceleration structure <strong class=\"purple\">must</strong> not be made inactive as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pInfos-03406",
-          "text": " For each <code>pInfos</code>[i], if <code>update</code> is <code>VK_TRUE</code>, then objects that were previously inactive for that acceleration structure <strong class=\"purple\">must</strong> not be made active as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-None-03407",
-          "text": " Any acceleration structure instance in any top level build in this command <strong class=\"purple\">must</strong> not reference any bottom level acceleration structure built by this command"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pInfos-03408",
-          "text": " There <strong class=\"purple\">must</strong> not be any <a href=\"#resources-memory-aliasing\">memory aliasing</a> between the scratch memories that are provided in all the <code>pInfos</code>[i].<code>scratchData</code> memories for the acceleration structure builds"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-None-03409",
-          "text": " There <strong class=\"purple\">must</strong> not be any <a href=\"#resources-memory-aliasing\">memory aliasing</a> between memory bound to any top level, bottom level, or instance acceleration structure accessed by this command"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-update-03527",
-          "text": " If <code>update</code> is <code>VK_FALSE</code>, all addresses between <code>pInfos</code>[i].<code>scratchData</code> and <code>pInfos</code>[i].<code>scratchData</code> + N - 1 <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer, where N is given by the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsKHR\">vkGetAccelerationStructureMemoryRequirementsKHR</a> with <a href=\"#VkAccelerationStructureMemoryRequirementsInfoKHR\">VkAccelerationStructureMemoryRequirementsInfoKHR</a>::<code>accelerationStructure</code> set to <code>pInfos</code>[i].<code>dstAccelerationStructure</code> and <a href=\"#VkAccelerationStructureMemoryRequirementsInfoKHR\">VkAccelerationStructureMemoryRequirementsInfoKHR</a>::<code>type</code> set to <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-update-03528",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, all addresses between <code>pInfos</code>[i].<code>scratchData</code> and <code>pInfos</code>[i].<code>scratchData</code> + N - 1 <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer, where N is given by the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetAccelerationStructureMemoryRequirementsKHR\">vkGetAccelerationStructureMemoryRequirementsKHR</a> with <a href=\"#VkAccelerationStructureMemoryRequirementsInfoKHR\">VkAccelerationStructureMemoryRequirementsInfoKHR</a>::<code>accelerationStructure</code> set to <code>pInfos</code>[i].<code>dstAccelerationStructure</code> and <a href=\"#VkAccelerationStructureMemoryRequirementsInfoKHR\">VkAccelerationStructureMemoryRequirementsInfoKHR</a>::<code>type</code> set to <code>VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pInfos-03529",
-          "text": " The buffer from which the buffer device address <code>pInfos</code>[i].<code>scratchData</code> is queried <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR</code> usage flag"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-None-04046",
-          "text": " All <a href=\"#VkDeviceOrHostAddressKHR\">VkDeviceOrHostAddressKHR</a> or <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> referenced by this command <strong class=\"purple\">must</strong> contain valid device addresses for a buffer bound to device memory. If the buffer is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single VkDeviceMemory object"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-None-03531",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to device memory"
-        }
-      ],
-      "(VK_KHR_deferred_host_operations)": [
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pNext-03532",
-          "text": " The <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a> structure <strong class=\"purple\">must</strong> not be included in the <code>pNext</code> chain of any of the provided <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structures"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-pInfos-parameter",
-          "text": " <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> valid <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structures"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-ppOffsetInfos-parameter",
-          "text": " <code>ppOffsetInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> <a href=\"#VkAccelerationStructureBuildOffsetInfoKHR\">VkAccelerationStructureBuildOffsetInfoKHR</a> structures"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureKHR-infoCount-arraylength",
-          "text": " <code>infoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        }
-      ]
-    },
-    "vkCmdBuildAccelerationStructureIndirectKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-None-04047",
-          "text": " All <a href=\"#VkDeviceOrHostAddressKHR\">VkDeviceOrHostAddressKHR</a> or <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> referenced by this command <strong class=\"purple\">must</strong> contain valid device addresses for a buffer bound to device memory. If the buffer is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single VkDeviceMemory object"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-None-03534",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to device memory"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-rayTracingIndirectAccelerationStructureBuild-03535",
-          "text": " The <a href=\"#features-raytracing-indirectasbuild\"><code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingIndirectAccelerationStructureBuild</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-indirectBuffer-parameter",
-          "text": " <code>indirectBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        },
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-commonparent",
-          "text": " Both of <code>commandBuffer</code>, and <code>indirectBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)+(VK_KHR_deferred_host_operations)": [
-        {
-          "vuid": "VUID-vkCmdBuildAccelerationStructureIndirectKHR-pNext-03536",
-          "text": " The <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a> structure <strong class=\"purple\">must</strong> not be included in the <code>pNext</code> chain of any of the provided <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structures"
-        }
-      ]
-    },
-    "VkAccelerationStructureBuildGeometryInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-update-03537",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>srcAccelerationStructure</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-update-03538",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>srcAccelerationStructure</code> <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-scratchData-03539",
-          "text": " <code>scratchData</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR</code> usage flag"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-update-03540",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, the <code>srcAccelerationStructure</code> and <code>dstAccelerationStructure</code> objects <strong class=\"purple\">must</strong> either be the same object or not have any <a href=\"#resources-memory-aliasing\">memory aliasing</a>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-parameter",
-          "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureTypeKHR\">VkAccelerationStructureTypeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBuildAccelerationStructureFlagBitsKHR\">VkBuildAccelerationStructureFlagBitsKHR</a> values"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-srcAccelerationStructure-parameter",
-          "text": " If <code>srcAccelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>srcAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-dstAccelerationStructure-parameter",
-          "text": " <code>dstAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-scratchData-parameter",
-          "text": " <code>scratchData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressKHR\">VkDeviceOrHostAddressKHR</a> union"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-commonparent",
-          "text": " Both of <code>dstAccelerationStructure</code>, and <code>srcAccelerationStructure</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "VkAccelerationStructureGeometryKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-03541",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, the <code>aabbs</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryAabbsDataKHR\">VkAccelerationStructureGeometryAabbsDataKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-03542",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, the <code>triangles</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-03543",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the <code>instances</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryInstancesDataKHR\">VkAccelerationStructureGeometryInstancesDataKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-geometryType-parameter",
-          "text": " <code>geometryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkGeometryTypeKHR\">VkGeometryTypeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-triangles-parameter",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, the <code>triangles</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-aabbs-parameter",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, the <code>aabbs</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryAabbsDataKHR\">VkAccelerationStructureGeometryAabbsDataKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-instances-parameter",
-          "text": " If <code>geometryType</code> is <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the <code>instances</code> member of <code>geometry</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureGeometryInstancesDataKHR\">VkAccelerationStructureGeometryInstancesDataKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryKHR-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkGeometryFlagBitsKHR\">VkGeometryFlagBitsKHR</a> values"
-        }
-      ]
-    },
-    "VkAccelerationStructureGeometryTrianglesDataKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-parameter",
-          "text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFormat\">VkFormat</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexData-parameter",
-          "text": " <code>vertexData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> union"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-parameter",
-          "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkIndexType\">VkIndexType</a> value"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexData-parameter",
-          "text": " If <code>indexData</code> is not <code>0</code>, <code>indexData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> union"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-transformData-parameter",
-          "text": " If <code>transformData</code> is not <code>0</code>, <code>transformData</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> union"
-        }
-      ]
-    },
-    "VkAccelerationStructureGeometryAabbsDataKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-data-03544",
-          "text": " <code>data</code> <strong class=\"purple\">must</strong> be aligned to <code>8</code> bytes"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-stride-03545",
-          "text": " <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of <code>8</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryAabbsDataKHR-data-parameter",
-          "text": " <code>data</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> union"
-        }
-      ]
-    },
-    "VkAabbPositionsKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAabbPositionsKHR-minX-03546",
-          "text": " <code>minX</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxX</code>"
-        },
-        {
-          "vuid": "VUID-VkAabbPositionsKHR-minY-03547",
-          "text": " <code>minY</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxY</code>"
-        },
-        {
-          "vuid": "VUID-VkAabbPositionsKHR-minZ-03548",
-          "text": " <code>minZ</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxZ</code>"
-        }
-      ]
-    },
-    "VkAccelerationStructureGeometryInstancesDataKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryInstancesDataKHR-data-03549",
-          "text": " <code>data</code> <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryInstancesDataKHR-arrayOfPointers-03550",
-          "text": " If <code>arrayOfPointers</code> is true, each pointer <strong class=\"purple\">must</strong> be aligned to <code>16</code> bytes"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryInstancesDataKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryInstancesDataKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureGeometryInstancesDataKHR-data-parameter",
-          "text": " <code>data</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> union"
-        }
-      ]
-    },
-    "VkAccelerationStructureInstanceKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureInstanceKHR-flags-parameter",
-          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkGeometryInstanceFlagBitsKHR\">VkGeometryInstanceFlagBitsKHR</a> values"
-        }
-      ]
-    },
-    "VkAccelerationStructureBuildOffsetInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildOffsetInfoKHR-primitiveOffset-03551",
-          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if the geometry uses indices, the offset <code>primitiveOffset</code> from <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>indexData</code> <strong class=\"purple\">must</strong> be a multiple of the element size of <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>indexType</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildOffsetInfoKHR-primitiveOffset-03552",
-          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, if the geometry doesn&#8217;t use indices, the offset <code>primitiveOffset</code> from <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>vertexData</code> <strong class=\"purple\">must</strong> be a multiple of the component size of <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>vertexFormat</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildOffsetInfoKHR-transformOffset-03553",
-          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code>, the offset <code>transformOffset</code> from <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>transformData</code> <strong class=\"purple\">must</strong> be a multiple of 16"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildOffsetInfoKHR-primitiveOffset-03554",
-          "text": " For geometries of type <code>VK_GEOMETRY_TYPE_AABBS_KHR</code>, the offset <code>primitiveOffset</code> from <a href=\"#VkAccelerationStructureGeometryAabbsDataKHR\">VkAccelerationStructureGeometryAabbsDataKHR</a>::<code>data</code> <strong class=\"purple\">must</strong> be a multiple of 8"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureBuildOffsetInfoKHR-primitiveOffset-03555",
-          "text": "   For geometries of type <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the offset   <code>primitiveOffset</code> from   <a href=\"#VkAccelerationStructureGeometryInstancesDataKHR\">VkAccelerationStructureGeometryInstancesDataKHR</a>::<code>data</code> <strong class=\"purple\">must</strong>   be a multiple of 16 // TODO - Almost certainly should be more here"
-        }
-      ]
-    },
-    "vkCmdWriteAccelerationStructuresPropertiesKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryPool-02493",
-          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> matching <code>queryType</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryPool-02494",
-          "text": " The queries identified by <code>queryPool</code> and <code>firstQuery</code> <strong class=\"purple\">must</strong> be <em>unavailable</em>"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-parameter",
-          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handles"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryType-parameter",
-          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryType\">VkQueryType</a> value"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryPool-parameter",
-          "text": " <code>queryPool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryPool\">VkQueryPool</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-accelerationStructureCount-arraylength",
-          "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commonparent",
-          "text": " Each of <code>commandBuffer</code>, <code>queryPool</code>, and the elements of <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ],
-      "core": [
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-accelerationStructures-03431",
-          "text": " All acceleration structures in <code>accelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryType-03432",
-          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code> or <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
-        }
-      ]
-    },
-    "vkCmdCopyAccelerationStructureNV": {
-      "core": [
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-mode-03410",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code> or <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-03411",
-          "text": " <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_NV_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-dst-parameter",
-          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-parameter",
-          "text": " <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-mode-parameter",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureNV-commonparent",
-          "text": " Each of <code>commandBuffer</code>, <code>dst</code>, and <code>src</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "vkCmdCopyAccelerationStructureKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-None-03556",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to device memory"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureInfoKHR\">VkCopyAccelerationStructureInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)+(VK_KHR_deferred_host_operations)": [
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureKHR-pNext-03557",
-          "text": " The <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a> structure <strong class=\"purple\">must</strong> not be included in the <code>pNext</code> chain of the <a href=\"#VkCopyAccelerationStructureInfoKHR\">VkCopyAccelerationStructureInfoKHR</a> structure"
-        }
-      ]
-    },
-    "VkCopyAccelerationStructureInfoKHR": {
-      "core": [
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-mode-03410",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code> or <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-03411",
-          "text": " <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a>"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-parameter",
-          "text": " <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-dst-parameter",
-          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-mode-parameter",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-commonparent",
-          "text": " Both of <code>dst</code>, and <code>src</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
-        }
-      ]
-    },
-    "vkCmdCopyAccelerationStructureToMemoryKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-None-04048",
-          "text": " All <code>VkDeviceOrHostAddressConstKHR</code> referenced by this command <strong class=\"purple\">must</strong> contain valid device addresses for a buffer bound to device memory. If the buffer is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single VkDeviceMemory object"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-None-03559",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to device memory"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureToMemoryInfoKHR\">VkCopyAccelerationStructureToMemoryInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_deferred_host_operations)": [
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pNext-03560",
-          "text": " The <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a> structure <strong class=\"purple\">must</strong> not be included in the <code>pNext</code> chain of the <a href=\"#VkCopyAccelerationStructureToMemoryInfoKHR\">VkCopyAccelerationStructureToMemoryInfoKHR</a> structure"
-        }
-      ],
-      "core": [
-        {
-          "vuid": "VUID-vkCmdCopyAccelerationStructureToMemoryKHR-mode-03412",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR</code>"
-        }
-      ]
-    },
-    "VkCopyAccelerationStructureToMemoryInfoKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561",
-          "text": " The memory pointed to by <code>dst</code> <strong class=\"purple\">must</strong> be at least as large as the serialization size of <code>src</code>, as reported by <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a>"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-src-parameter",
-          "text": " <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-parameter",
-          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressKHR\">VkDeviceOrHostAddressKHR</a> union"
-        },
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-mode-parameter",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
-        }
-      ],
-      "core": [
-        {
-          "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-mode-03412",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR</code>"
-        }
-      ]
-    },
-    "vkCmdCopyMemoryToAccelerationStructureKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-None-04049",
-          "text": " All <code>VkDeviceOrHostAddressKHR</code> referenced by this command <strong class=\"purple\">must</strong> contain valid device addresses for a buffer bound to device memory. If the buffer is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single VkDeviceMemory object"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-None-03563",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to device memory"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-commandBuffer-parameter",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyMemoryToAccelerationStructureInfoKHR\">VkCopyMemoryToAccelerationStructureInfoKHR</a> structure"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-commandBuffer-recording",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-commandBuffer-cmdpool",
-          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support compute operations"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-renderpass",
-          "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)+(VK_KHR_deferred_host_operations)": [
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pNext-03564",
-          "text": " The <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a> structure <strong class=\"purple\">must</strong> not be included in the <code>pNext</code> chain of the <a href=\"#VkCopyMemoryToAccelerationStructureInfoKHR\">VkCopyMemoryToAccelerationStructureInfoKHR</a> structure"
-        }
-      ],
-      "core": [
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-mode-03413",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03414",
-          "text": " The data in <code>pInfo-&gt;src</code> <strong class=\"purple\">must</strong> have a format compatible with the destination physical device as returned by <a href=\"#vkGetDeviceAccelerationStructureCompatibilityKHR\">vkGetDeviceAccelerationStructureCompatibilityKHR</a>"
-        }
-      ]
-    },
-    "VkCopyMemoryToAccelerationStructureInfoKHR": {
-      "core": [
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-mode-03413",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-pInfo-03414",
-          "text": " The data in <code>pInfo-&gt;src</code> <strong class=\"purple\">must</strong> have a format compatible with the destination physical device as returned by <a href=\"#vkGetDeviceAccelerationStructureCompatibilityKHR\">vkGetDeviceAccelerationStructureCompatibilityKHR</a>"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeferredOperationInfoKHR\">VkDeferredOperationInfoKHR</a>"
-        },
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-sType-unique",
-          "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
-        },
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-src-parameter",
-          "text": " <code>src</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> union"
-        },
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-parameter",
-          "text": " <code>dst</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
-        },
-        {
-          "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-mode-parameter",
-          "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCopyAccelerationStructureModeKHR\">VkCopyAccelerationStructureModeKHR</a> value"
-        }
-      ]
-    },
-    "vkGetDeviceAccelerationStructureCompatibilityKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-rayTracing-03565",
-          "text": " The <a href=\"#features-raytracing\"><code>rayTracing</code></a> or <a href=\"#features-rayQuery\"><code>rayQuery</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-version-parameter",
-          "text": " <code>version</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureVersionKHR\">VkAccelerationStructureVersionKHR</a> structure"
-        }
-      ]
-    },
-    "VkAccelerationStructureVersionKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-VkAccelerationStructureVersionKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureVersionKHR-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
-        },
-        {
-          "vuid": "VUID-VkAccelerationStructureVersionKHR-versionData-parameter",
-          "text": " <code>versionData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>2</code>*VK_UUID_SIZE <code>uint8_t</code> values"
-        }
-      ]
-    },
-    "vkBuildAccelerationStructureKHR": {
-      "core": [
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-pOffsetInfos-03402",
-          "text": " Each element of <code>ppOffsetInfos</code>[i] <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pInfos</code>[i].<code>geometryCount</code> <code>VkAccelerationStructureBuildOffsetInfoKHR</code> structures"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-pInfos-03403",
-          "text": " Each <code>pInfos</code>[i].<code>srcAccelerationStructure</code> <strong class=\"purple\">must</strong> not refer to the same acceleration structure as any <code>pInfos</code>[i].<code>dstAccelerationStructure</code> that is provided to the same build command unless it is identical for an update"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-pInfos-03404",
-          "text": " For each <code>pInfos</code>[i], <code>dstAccelerationStructure</code> <strong class=\"purple\">must</strong> have been created with compatible <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a> where <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>type</code> and <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>flags</code> are identical to <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>type</code> and <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code> respectively, <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>geometryCount</code> for <code>dstAccelerationStructure</code> are greater than or equal to the build size, and each geometry in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>ppGeometries</code> for <code>dstAccelerationStructure</code> has greater than or equal to the number of vertices, indices, and AABBs, <a href=\"#VkAccelerationStructureGeometryTrianglesDataKHR\">VkAccelerationStructureGeometryTrianglesDataKHR</a>::<code>transformData</code> is both 0 or both non-zero, and all other parameters are the same"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-pInfos-03405",
-          "text": " For each <code>pInfos</code>[i], if <code>update</code> is <code>VK_TRUE</code>, then objects that were previously active for that acceleration structure <strong class=\"purple\">must</strong> not be made inactive as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-pInfos-03406",
-          "text": " For each <code>pInfos</code>[i], if <code>update</code> is <code>VK_TRUE</code>, then objects that were previously inactive for that acceleration structure <strong class=\"purple\">must</strong> not be made active as per <a href=\"#acceleration-structure-inactive-prims\">Inactive Primitives and Instances</a>"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-None-03407",
-          "text": " Any acceleration structure instance in any top level build in this command <strong class=\"purple\">must</strong> not reference any bottom level acceleration structure built by this command"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-pInfos-03408",
-          "text": " There <strong class=\"purple\">must</strong> not be any <a href=\"#resources-memory-aliasing\">memory aliasing</a> between the scratch memories that are provided in all the <code>pInfos</code>[i].<code>scratchData</code> memories for the acceleration structure builds"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-None-03409",
-          "text": " There <strong class=\"purple\">must</strong> not be any <a href=\"#resources-memory-aliasing\">memory aliasing</a> between memory bound to any top level, bottom level, or instance acceleration structure accessed by this command"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-None-03437",
-          "text": " All <a href=\"#VkDeviceOrHostAddressKHR\">VkDeviceOrHostAddressKHR</a> or <a href=\"#VkDeviceOrHostAddressConstKHR\">VkDeviceOrHostAddressConstKHR</a> referenced by this command <strong class=\"purple\">must</strong> contain valid host addresses"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-None-03438",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to host-visible memory"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-rayTracingHostAccelerationStructureCommands-03439",
-          "text": " The <a href=\"#features-raytracing-hostascmds\"><code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingHostAccelerationStructureCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        }
-      ],
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-pInfos-parameter",
-          "text": " <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> valid <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a> structures"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-ppOffsetInfos-parameter",
-          "text": " <code>ppOffsetInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>infoCount</code> <a href=\"#VkAccelerationStructureBuildOffsetInfoKHR\">VkAccelerationStructureBuildOffsetInfoKHR</a> structures"
-        },
-        {
-          "vuid": "VUID-vkBuildAccelerationStructureKHR-infoCount-arraylength",
-          "text": " <code>infoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        }
-      ]
-    },
-    "vkCopyAccelerationStructureKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureKHR-None-03440",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to host-visible memory"
-        },
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureKHR-rayTracingHostAccelerationStructureCommands-03441",
-          "text": " the <a href=\"#features-raytracing-hostascmds\"><code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingHostAccelerationStructureCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureInfoKHR\">VkCopyAccelerationStructureInfoKHR</a> structure"
-        }
-      ]
-    },
-    "vkCopyMemoryToAccelerationStructureKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-None-03442",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to host-visible memory"
-        },
-        {
-          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-None-03443",
-          "text": " All <code>VkDeviceOrHostAddressConstKHR</code> referenced by this command <strong class=\"purple\">must</strong> contain valid host pointers"
-        },
-        {
-          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-rayTracingHostAccelerationStructureCommands-03444",
-          "text": " the <a href=\"#features-raytracing-hostascmds\"><code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingHostAccelerationStructureCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCopyMemoryToAccelerationStructureKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyMemoryToAccelerationStructureInfoKHR\">VkCopyMemoryToAccelerationStructureInfoKHR</a> structure"
-        }
-      ]
-    },
-    "vkCopyAccelerationStructureToMemoryKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-None-03445",
-          "text": " All <code>VkAccelerationStructureKHR</code> objects referenced by this command <strong class=\"purple\">must</strong> be bound to host-visible memory"
-        },
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-None-03446",
-          "text": " All <code>VkDeviceOrHostAddressKHR</code> referenced by this command <strong class=\"purple\">must</strong> contain valid host pointers"
-        },
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-rayTracingHostAccelerationStructureCommands-03447",
-          "text": " the <a href=\"#features-raytracing-hostascmds\"><code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingHostAccelerationStructureCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
-        },
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-parameter",
-          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyAccelerationStructureToMemoryInfoKHR\">VkCopyAccelerationStructureToMemoryInfoKHR</a> structure"
-        }
-      ]
-    },
-    "vkWriteAccelerationStructuresPropertiesKHR": {
-      "(VK_NV_ray_tracing,VK_KHR_ray_tracing)": [
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03448",
-          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>, then <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of the size of <code>VkDeviceSize</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03449",
-          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>, then <code>data</code> <strong class=\"purple\">must</strong> point to a <code>VkDeviceSize</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03450",
-          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>, then <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of the size of <code>VkDeviceSize</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03451",
-          "text": " If <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>, then <code>data</code> <strong class=\"purple\">must</strong> point to a <code>VkDeviceSize</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-dataSize-03452",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <span class=\"eq\"><code>accelerationStructureCount</code>*<code>stride</code></span>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-03453",
-          "text": " The acceleration structures referenced by <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be bound to host-visible memory"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-device-parameter",
-          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-parameter",
-          "text": " <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>accelerationStructureCount</code> valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handles"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-parameter",
-          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryType\">VkQueryType</a> value"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pData-parameter",
-          "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-accelerationStructureCount-arraylength",
-          "text": " <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-dataSize-arraylength",
-          "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-parent",
-          "text": " Each element of <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
-        }
-      ],
-      "core": [
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-accelerationStructures-03431",
-          "text": " All acceleration structures in <code>accelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-queryType-03432",
-          "text": " <code>queryType</code> <strong class=\"purple\">must</strong> be <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code> or <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>"
-        },
-        {
-          "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-rayTracingHostAccelerationStructureCommands-03454",
-          "text": " the <a href=\"#features-raytracing-hostascmds\"><code>VkPhysicalDeviceRayTracingFeaturesKHR</code>::<code>rayTracingHostAccelerationStructureCommands</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+          "vuid": "VUID-VkTraceRaysIndirectCommandKHR-width-03641",
+          "text": " <span class=\"eq\"><code>width</code> {times} <code>height</code> {times} <code>depth</code></span> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxRayDispatchInvocationCount</code>"
         }
       ]
     },
@@ -28610,6 +37022,14 @@
         }
       ]
     },
+    "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT": {
+      "(VK_EXT_shader_image_atomic_int64)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT</code>"
+        }
+      ]
+    },
     "VkPhysicalDevice8BitStorageFeatures": {
       "(VK_VERSION_1_2,VK_KHR_8bit_storage)": [
         {
@@ -29018,15 +37438,31 @@
         }
       ]
     },
-    "VkPhysicalDeviceRayTracingFeaturesKHR": {
-      "(VK_KHR_ray_tracing)": [
+    "VkPhysicalDeviceAccelerationStructureFeaturesKHR": {
+      "(VK_KHR_acceleration_structure)": [
         {
-          "vuid": "VUID-VkPhysicalDeviceRayTracingFeaturesKHR-rayTracingShaderGroupHandleCaptureReplayMixed-03348",
-          "text": " If <code>rayTracingShaderGroupHandleCaptureReplayMixed</code> is <code>VK_TRUE</code>, <code>rayTracingShaderGroupHandleCaptureReplay</code> <strong class=\"purple\">must</strong> also be <code>VK_TRUE</code>"
+          "vuid": "VUID-VkPhysicalDeviceAccelerationStructureFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceRayTracingPipelineFeaturesKHR": {
+      "(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceRayTracingPipelineFeaturesKHR-rayTracingPipelineShaderGroupHandleCaptureReplayMixed-03575",
+          "text": " If <code>rayTracingPipelineShaderGroupHandleCaptureReplayMixed</code> is <code>VK_TRUE</code>, <code>rayTracingPipelineShaderGroupHandleCaptureReplay</code> <strong class=\"purple\">must</strong> also be <code>VK_TRUE</code>"
         },
         {
-          "vuid": "VUID-VkPhysicalDeviceRayTracingFeaturesKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR</code>"
+          "vuid": "VUID-VkPhysicalDeviceRayTracingPipelineFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceRayQueryFeaturesKHR": {
+      "(VK_KHR_ray_query)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceRayQueryFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR</code>"
         }
       ]
     },
@@ -29054,6 +37490,14 @@
         }
       ]
     },
+    "VkPhysicalDeviceDeviceMemoryReportFeaturesEXT": {
+      "(VK_EXT_device_memory_report)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceDeviceMemoryReportFeaturesEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT</code>"
+        }
+      ]
+    },
     "VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT": {
       "(VK_EXT_pipeline_creation_cache_control)": [
         {
@@ -29062,6 +37506,14 @@
         }
       ]
     },
+    "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR": {
+      "(VK_KHR_zero_initialize_workgroup_memory)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR</code>"
+        }
+      ]
+    },
     "VkPhysicalDevicePrivateDataFeaturesEXT": {
       "(VK_EXT_private_data)": [
         {
@@ -29090,6 +37542,14 @@
         }
       ]
     },
+    "VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR": {
+      "(VK_KHR_shader_terminate_invocation)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR</code>"
+        }
+      ]
+    },
     "VkPhysicalDeviceCustomBorderColorFeaturesEXT": {
       "(VK_EXT_custom_border_color)": [
         {
@@ -29098,6 +37558,14 @@
         }
       ]
     },
+    "VkPhysicalDevicePortabilitySubsetFeaturesKHR": {
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkPhysicalDevicePortabilitySubsetFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR</code>"
+        }
+      ]
+    },
     "VkPhysicalDevicePerformanceQueryFeaturesKHR": {
       "(VK_KHR_performance_query)": [
         {
@@ -29106,6 +37574,54 @@
         }
       ]
     },
+    "VkPhysicalDevice4444FormatsFeaturesEXT": {
+      "(VK_EXT_4444_formats)": [
+        {
+          "vuid": "VUID-VkPhysicalDevice4444FormatsFeaturesEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE": {
+      "(VK_VALVE_mutable_descriptor_type)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR": {
+      "(VK_KHR_workgroup_memory_explicit_layout)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceSynchronization2FeaturesKHR": {
+      "(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceSynchronization2FeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceFragmentShadingRateFeaturesKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceFragmentShadingRateFeaturesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV": {
+      "(VK_NV_fragment_shading_rate_enums)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV</code>"
+        }
+      ]
+    },
     "VkPhysicalDevicePushDescriptorPropertiesKHR": {
       "(VK_KHR_push_descriptor)": [
         {
@@ -29330,11 +37846,19 @@
         }
       ]
     },
-    "VkPhysicalDeviceRayTracingPropertiesKHR": {
-      "(VK_KHR_ray_tracing)": [
+    "VkPhysicalDeviceAccelerationStructurePropertiesKHR": {
+      "(VK_KHR_acceleration_structure)": [
         {
-          "vuid": "VUID-VkPhysicalDeviceRayTracingPropertiesKHR-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR</code>"
+          "vuid": "VUID-VkPhysicalDeviceAccelerationStructurePropertiesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceRayTracingPipelinePropertiesKHR": {
+      "(VK_KHR_ray_tracing_pipeline)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceRayTracingPipelinePropertiesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR</code>"
         }
       ]
     },
@@ -29394,6 +37918,34 @@
         }
       ]
     },
+    "VkPhysicalDevicePortabilitySubsetPropertiesKHR": {
+      "(VK_KHR_portability_subset)": [
+        {
+          "vuid": "VUID-VkPhysicalDevicePortabilitySubsetPropertiesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceFragmentShadingRatePropertiesKHR": {
+      "(VK_KHR_fragment_shading_rate)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceFragmentShadingRatePropertiesKHR-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR</code>"
+        }
+      ]
+    },
+    "VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV": {
+      "(VK_NV_fragment_shading_rate_enums)": [
+        {
+          "vuid": "VUID-VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV-maxFragmentShadingRateInvocationCount-parameter",
+          "text": " <code>maxFragmentShadingRateInvocationCount</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSampleCountFlagBits\">VkSampleCountFlagBits</a> value"
+        }
+      ]
+    },
     "vkGetPhysicalDeviceMultisamplePropertiesEXT": {
       "(VK_EXT_sample_locations)": [
         {
@@ -30176,6 +38728,14 @@
         }
       ]
     },
+    "PFN_vkDebugUtilsMessengerCallbackEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-PFN_vkDebugUtilsMessengerCallbackEXT-None-04769",
+          "text": " The callback <strong class=\"purple\">must</strong> not make calls to any Vulkan commands."
+        }
+      ]
+    },
     "VkDebugUtilsMessengerCallbackDataEXT": {
       "(VK_EXT_debug_utils)": [
         {
@@ -30556,6 +39116,38 @@
         }
       ]
     },
+    "vkGetQueueCheckpointData2NV": {
+      "(VK_NV_device_diagnostic_checkpoints)+(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-vkGetQueueCheckpointData2NV-queue-03892",
+          "text": " The device that <code>queue</code> belongs to <strong class=\"purple\">must</strong> be in the lost state"
+        },
+        {
+          "vuid": "VUID-vkGetQueueCheckpointData2NV-queue-parameter",
+          "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueue\">VkQueue</a> handle"
+        },
+        {
+          "vuid": "VUID-vkGetQueueCheckpointData2NV-pCheckpointDataCount-parameter",
+          "text": " <code>pCheckpointDataCount</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>uint32_t</code> value"
+        },
+        {
+          "vuid": "VUID-vkGetQueueCheckpointData2NV-pCheckpointData-parameter",
+          "text": " If the value referenced by <code>pCheckpointDataCount</code> is not <code>0</code>, and <code>pCheckpointData</code> is not <code>NULL</code>, <code>pCheckpointData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pCheckpointDataCount</code> <a href=\"#VkCheckpointData2NV\">VkCheckpointData2NV</a> structures"
+        }
+      ]
+    },
+    "VkCheckpointData2NV": {
+      "(VK_NV_device_diagnostic_checkpoints)+(VK_KHR_synchronization2)": [
+        {
+          "vuid": "VUID-VkCheckpointData2NV-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV</code>"
+        },
+        {
+          "vuid": "VUID-VkCheckpointData2NV-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
     "vkGetQueueCheckpointDataNV": {
       "(VK_NV_device_diagnostic_checkpoints)": [
         {
@@ -30615,6 +39207,350 @@
           "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
         }
       ]
+    },
+    "StandaloneSpirv": {
+      "core": [
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04633",
+          "text": " Every entry point <strong class=\"purple\">must</strong> have no return value and accept no arguments"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04634",
+          "text": " The static function-call graph for an entry point <strong class=\"purple\">must</strong> not contain cycles; that is, static recursion is not allowed"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04635",
+          "text": " The <strong>Logical</strong> or <strong>PhysicalStorageBuffer64</strong> addressing model <strong class=\"purple\">must</strong> be selected"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04636",
+          "text": " <strong>Scope</strong> for execution <strong class=\"purple\">must</strong> be limited to <strong>Workgroup</strong> or <strong>Subgroup</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04637",
+          "text": " If the <strong>Scope</strong> for execution is <strong>Workgroup</strong>, then it <strong class=\"purple\">must</strong> only be used in the task, mesh, tessellation control, or compute execution models"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04638",
+          "text": " <strong>Scope</strong> for memory <strong class=\"purple\">must</strong> be limited to <strong>Device</strong>, <strong>QueueFamily</strong>, <strong>Workgroup</strong>, <strong>ShaderCallKHR</strong>, <strong>Subgroup</strong>, or <strong>Invocation</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04639",
+          "text": " If the <strong>Scope</strong> for memory is <strong>Workgroup</strong>, then it <strong class=\"purple\">must</strong> only be used in the task, mesh, or compute execution models"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04640",
+          "text": " If the <strong>Scope</strong> for memory is <strong>ShaderCallKHR</strong>, then it <strong class=\"purple\">must</strong> only be used in ray generation, intersection, closest hit, any-hit, miss, and callable execution models"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04641",
+          "text": " If the <strong>Scope</strong> for memory is <strong>Invocation</strong>, then memory semantics <strong class=\"purple\">must</strong> be <strong>None</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04642",
+          "text": " <strong>Scope</strong> for <strong>Non Uniform Group Operations</strong> <strong class=\"purple\">must</strong> be limited to <strong>Subgroup</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04643",
+          "text": " <strong>Storage Class</strong> <strong class=\"purple\">must</strong> be limited to <strong>UniformConstant</strong>, <strong>Input</strong>, <strong>Uniform</strong>, <strong>Output</strong>, <strong>Workgroup</strong>, <strong>Private</strong>, <strong>Function</strong>, <strong>PushConstant</strong>, <strong>Image</strong>, <strong>StorageBuffer</strong>, <strong>RayPayloadKHR</strong>, <strong>IncomingRayPayloadKHR</strong>, <strong>HitAttributeKHR</strong>, <strong>CallableDataKHR</strong>, <strong>IncomingCallableDataKHR</strong>, <strong>ShaderRecordBufferKHR</strong>, or <strong>PhysicalStorageBuffer</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04644",
+          "text": " If the <strong>Storage Class</strong> is <strong>Output</strong>, then it <strong class=\"purple\">must</strong> not be used in the <strong>RayGenerationKHR</strong>, <strong>IntersectionKHR</strong>, <strong>AnyHitKHR</strong>, <strong>ClosestHitKHR</strong>, <strong>MissKHR</strong>, or <strong>CallableKHR</strong> execution models"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04645",
+          "text": " If the <strong>Storage Class</strong> is <strong>Workgroup</strong>, then it <strong class=\"purple\">must</strong> only be used in the task, mesh, or compute execution models"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpAtomicStore-04730",
+          "text": " <code>OpAtomicStore</code> <strong class=\"purple\">must</strong> not use <strong>Acquire</strong>, <strong>AcquireRelease</strong>, or <strong>SequentiallyConsistent</strong> memory semantics"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpAtomicLoad-04731",
+          "text": " <code>OpAtomicLoad</code> <strong class=\"purple\">must</strong> not use <strong>Release</strong>, <strong>AcquireRelease</strong>, or <strong>SequentiallyConsistent</strong> memory semantics"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpMemoryBarrier-04732",
+          "text": " <code>OpMemoryBarrier</code> <strong class=\"purple\">must</strong> use one of <strong>Acquire</strong>, <strong>Release</strong>, <strong>AcquireRelease</strong>, or <strong>SequentiallyConsistent</strong> memory semantics"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpMemoryBarrier-04733",
+          "text": " <code>OpMemoryBarrier</code> <strong class=\"purple\">must</strong> include at least one storage class"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpControlBarrier-04650",
+          "text": " If the semantics for <code>OpControlBarrier</code> includes one of <strong>Acquire</strong>, <strong>Release</strong>, <strong>AcquireRelease</strong>, or <strong>SequentiallyConsistent</strong> memory semantics, then it <strong class=\"purple\">must</strong> include at least one storage class"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpVariable-04651",
+          "text": " Any <code>OpVariable</code> with an <code>Initializer</code> operand <strong class=\"purple\">must</strong> have <strong>Output</strong>, <strong>Private</strong>, <strong>Function</strong>, or <strong>Workgroup</strong> as its <strong>Storage Class</strong> operand"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpVariable-04734",
+          "text": " Any <code>OpVariable</code> with an <code>Initializer</code> operand and <strong>Workgroup</strong> as its <strong>Storage Class</strong> operand <strong class=\"purple\">must</strong> use <code>OpConstantNull</code> as the initializer."
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpReadClockKHR-04652",
+          "text": " <strong>Scope</strong> for <code>OpReadClockKHR</code> <strong class=\"purple\">must</strong> be limited to <strong>Subgroup</strong> or <strong>Device</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OriginLowerLeft-04653",
+          "text": " The <code>OriginLowerLeft</code> execution mode <strong class=\"purple\">must</strong> not be used; fragment entry points <strong class=\"purple\">must</strong> declare <code>OriginUpperLeft</code>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-PixelCenterInteger-04654",
+          "text": " The <code>PixelCenterInteger</code> execution mode <strong class=\"purple\">must</strong> not be used (pixels are always centered at half-integer coordinates)"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-UniformConstant-04655",
+          "text": " Any variable in the <code>UniformConstant</code> storage class <strong class=\"purple\">must</strong> be typed as either <code>OpTypeImage</code>, <code>OpTypeSampler</code>, <code>OpTypeSampledImage</code>, <code>OpTypeAccelerationStructureKHR</code>, or an array of one of these types"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpTypeImage-04656",
+          "text": " <code>OpTypeImage</code> <strong class=\"purple\">must</strong> declare a scalar 32-bit float, 64-bit integer, or 32-bit integer type for the &#8220;Sampled Type&#8221; (<code>RelaxedPrecision</code> <strong class=\"purple\">can</strong> be applied to a sampling instruction and to the variable holding the result of a sampling instruction)"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpTypeImage-04657",
+          "text": " <code>OpTypeImage</code> <strong class=\"purple\">must</strong> have a &#8220;Sampled&#8221; operand of 1 (sampled image) or 2 (storage image)"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpImageTexelPointer-04658",
+          "text": " If an <code>OpImageTexelPointer</code> is used in an atomic operation, the image type of the <code>image</code> parameter to <code>OpImageTexelPointer</code> <strong class=\"purple\">must</strong> have an image format of <code>R64i</code>, <code>R64ui</code>, <code>R32f</code>, <code>R32i</code>, or <code>R32ui</code>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpImageQuerySizeLod-04659",
+          "text": " <code>OpImageQuerySizeLod</code>, <code>OpImageQueryLod</code>, and <code>OpImageQueryLevels</code> <strong class=\"purple\">must</strong> only consume an &#8220;Image&#8221; operand whose type has its &#8220;Sampled&#8221; operand set to 1"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-SubpassData-04660",
+          "text": " The <span class=\"eq\">(u,v)</span> coordinates used for a <code>SubpassData</code> <strong class=\"purple\">must</strong> be the &lt;id&gt; of a constant vector <span class=\"eq\">(0,0)</span>, or if a layer coordinate is used, <strong class=\"purple\">must</strong> be a vector that was formed with constant 0 for the <span class=\"eq\">u</span> and <span class=\"eq\">v</span> components"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpTypeImage-04661",
+          "text": " Objects of types <code>OpTypeImage</code>, <code>OpTypeSampler</code>, <code>OpTypeSampledImage</code>, and arrays of these types <strong class=\"purple\">must</strong> not be stored to or modified"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04662",
+          "text": " Any image operation <strong class=\"purple\">must</strong> use at most one of the <code>Offset</code>, <code>ConstOffset</code>, and <code>ConstOffsets</code> image operands"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04663",
+          "text": " Image operand <code>Offset</code> <strong class=\"purple\">must</strong> only be used with <code>OpImage</code>*<code>Gather</code> instructions"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpImageGather-04664",
+          "text": " The &#8220;Component&#8221; operand of <code>OpImageGather</code>, and <code>OpImageSparseGather</code> <strong class=\"purple\">must</strong> be the &lt;id&gt; of a constant instruction"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpImage-04777",
+          "text": " <code>OpImage</code>*<code>Dref</code> <strong class=\"purple\">must</strong> not consume an image whose <code>Dim</code> is 3D."
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpTypeAccelerationStructureKHR-04665",
+          "text": " Objects of types <code>OpTypeAccelerationStructureKHR</code> and arrays of this type <strong class=\"purple\">must</strong> not be stored to or modified"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpReportIntersectionKHR-04666",
+          "text": " The value of the &#8220;Hit Kind&#8221; operand of <code>OpReportIntersectionKHR</code> <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[0,127]</span>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04667",
+          "text": " Structure types <strong class=\"purple\">must</strong> not contain opaque types"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-BuiltIn-04668",
+          "text": " Any <code>BuiltIn</code> decoration not listed in <a href=\"#interfaces-builtin-variables\">Built-In Variables</a> <strong class=\"purple\">must</strong> not be used"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-GLSLShared-04669",
+          "text": " The <code>GLSLShared</code> and <code>GLSLPacked</code> decorations <strong class=\"purple\">must</strong> not be used"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Flat-04670",
+          "text": " The <code>Flat</code>, <code>NoPerspective</code>, <code>Sample</code>, and <code>Centroid</code> decorations <strong class=\"purple\">must</strong> not be used on variables with storage class other than <code>Input</code> or on variables used in the interface of non-fragment shader entry points"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Flat-04744",
+          "text": " The <code>Flat</code> decorations <strong class=\"purple\">must</strong> be used on variables with storage class of <code>Input</code> in a fragment shader stage that are a scalar integer, vector of integer, or any double-precision floating-point type"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Patch-04671",
+          "text": " The <code>Patch</code> decoration <strong class=\"purple\">must</strong> not be used on variables in the interface of a vertex, geometry, or fragment shader stage&#8217;s entry point"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-ViewportRelativeNV-04672",
+          "text": " The <code>ViewportRelativeNV</code> decoration <strong class=\"purple\">must</strong> only be used on a variable decorated with <code>Layer</code> in the vertex, tessellation evaluation, or geometry shader stages"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-ViewportRelativeNV-04673",
+          "text": " The <code>ViewportRelativeNV</code> decoration <strong class=\"purple\">must</strong> not be used unless a variable decorated with one of <code>ViewportIndex</code> or <code>ViewportMaskNV</code> is also statically used by the same <code>OpEntryPoint</code>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-ViewportMaskNV-04674",
+          "text": " The <code>ViewportMaskNV</code> and <code>ViewportIndex</code> decorations <strong class=\"purple\">must</strong> not both be statically used by one or more <code>OpEntryPoint</code>&#8217;s that form the vertex processing stages of a graphics pipeline"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-FPRoundingMode-04675",
+          "text": " Rounding modes other than round-to-nearest-even and round-towards-zero <strong class=\"purple\">must</strong> not be used for the <code>FPRoundingMode</code> decoration."
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-FPRoundingMode-04676",
+          "text": " The <code>FPRoundingMode</code> decoration <strong class=\"purple\">must</strong> only be used for the floating-point conversion instructions as described in the <a href=\"https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_16bit_storage.html\"><code>SPV_KHR_16bit_storage</code></a> SPIR-V extension"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Invariant-04677",
+          "text": " Variables decorated with <code>Invariant</code> and variables with structure types that have any members decorated with <code>Invariant</code> <strong class=\"purple\">must</strong> be in the <code>Output</code> or <code>Input</code> storage class, <code>Invariant</code> used on an <code>Input</code> storage class variable or structure member has no effect"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-VulkanMemoryModel-04678",
+          "text": " <a id=\"builtin-volatile-semantics\"></a> If the <code>VulkanMemoryModel</code> capability is not declared, the <code>Volatile</code> decoration <strong class=\"purple\">must</strong> be used on any variable declaration that includes one of the <code>SMIDNV</code>, <code>WarpIDNV</code>, <code>SubgroupSize</code>, <code>SubgroupLocalInvocationId</code>, <code>SubgroupEqMask</code>, <code>SubgroupGeMask</code>, <code>SubgroupGtMask</code>, <code>SubgroupLeMask</code>, or <code>SubgroupLtMask</code> <code>BuiltIn</code> decorations when used in the ray generation, closest hit, miss, intersection, or callable shaders, or with the <code>RayTmaxKHR</code> <code>Builtin</code> decoration when used in an intersection shader"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-VulkanMemoryModel-04679",
+          "text": " If the <code>VulkanMemoryModel</code> capability is declared, the <code>OpLoad</code> instruction <strong class=\"purple\">must</strong> use the <code>Volatile</code> memory semantics when it accesses into any variable that includes one of the <code>SMIDNV</code>, <code>WarpIDNV</code>, <code>SubgroupSize</code>, <code>SubgroupLocalInvocationId</code>, <code>SubgroupEqMask</code>, <code>SubgroupGeMask</code>, <code>SubgroupGtMask</code>, <code>SubgroupLeMask</code>, or <code>SubgroupLtMask</code> <code>BuiltIn</code> decorations when used in the ray generation, closest hit, miss, intersection, or callable shaders, or with the <code>RayTmaxKHR</code> <code>Builtin</code> decoration when used in an intersection shader"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpTypeRuntimeArray-04680",
+          "text": " <code>OpTypeRuntimeArray</code> <strong class=\"purple\">must</strong> only be used for the last member of an <code>OpTypeStruct</code> that is in the <code>StorageBuffer</code> or <code>PhysicalStorageBuffer</code> storage class decorated as <code>Block</code>, or that is in the <code>Uniform</code> storage class decorated as <code>BufferBlock</code>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Function-04681",
+          "text": " A type <em>T</em> that is an array sized with a specialization constant <strong class=\"purple\">must</strong> neither be, nor be contained in, the type <em>T2</em> of a variable <em>V</em>, unless either: a) <em>T</em> is equal to <em>T2</em>, b) <em>V</em> is declared in the <code>Function</code>, or <code>Private</code> storage classes, c) <em>V</em> is a non-Block variable in the <code>Workgroup</code> storage class, or d) <em>V</em> is an interface variable with an additional level of arrayness, <a href=\"#interfaces-iointerfaces-matching\">as described in interface matching</a>, and <em>T</em> is the member type of the array type <em>T2</em>."
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpControlBarrier-04682",
+          "text": " If <code>OpControlBarrier</code> is used in ray generation, intersection, any-hit, closest hit, miss, fragment, vertex, tessellation evaluation, or geometry shaders, the execution Scope <strong class=\"purple\">must</strong> be <code>Subgroup</code>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-LocalSize-04683",
+          "text": " For each compute shader entry point, either a <code>LocalSize</code> execution mode or an object decorated with the <code>WorkgroupSize</code> decoration <strong class=\"purple\">must</strong> be specified"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-DerivativeGroupQuadsNV-04684",
+          "text": " For compute shaders using the <code>DerivativeGroupQuadsNV</code> execution mode, the first two dimensions of the local workgroup size <strong class=\"purple\">must</strong> be a multiple of two"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-DerivativeGroupLinearNV-04778",
+          "text": " For compute shaders using the <code>DerivativeGroupLinearNV</code> execution mode, the product of the dimensions of the local workgroup size <strong class=\"purple\">must</strong> be a multiple of four"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpGroupNonUniformBallotBitCount-04685",
+          "text": " If <code>OpGroupNonUniformBallotBitCount</code> is used, the group operation <strong class=\"purple\">must</strong> be limited to <strong>Reduce</strong>, <strong>InclusiveScan</strong>, or <strong>ExclusiveScan</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04686",
+          "text": " The <em>Pointer</em> operand of all atomic instructions <strong class=\"purple\">must</strong> have a <strong>Storage Class</strong> limited to <strong>Uniform</strong>, <strong>Workgroup</strong>, <strong>Image</strong>, <strong>StorageBuffer</strong>, or <strong>PhysicalStorageBuffer</strong>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04687",
+          "text": " Output variables or block members decorated with <code>Offset</code> that have a 64-bit type, or a composite type containing a 64-bit type, <strong class=\"purple\">must</strong> specify an <code>Offset</code> value aligned to a 8 byte boundary"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04689",
+          "text": " The size of any output block containing any member decorated with <code>Offset</code> that is a 64-bit type <strong class=\"purple\">must</strong> be a multiple of 8"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04690",
+          "text": " The first member of an output block that specifies a <code>Offset</code> decoration <strong class=\"purple\">must</strong> specify a <code>Offset</code> value that is aligned to an 8 byte boundary if that block contains any member decorated with <code>Offset</code> and is a 64-bit type"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04691",
+          "text": " Output variables or block members decorated with <code>Offset</code> that have a 32-bit type, or a composite type contains a 32-bit type, <strong class=\"purple\">must</strong> specify an <code>Offset</code> value aligned to a 4 byte boundary"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04692",
+          "text": " Output variables, blocks or block members decorated with <code>Offset</code> <strong class=\"purple\">must</strong> only contain base types that have components that are either 32-bit or 64-bit in size"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Offset-04716",
+          "text": " Only variables or block members in the output interface decorated with <code>Offset</code> <strong class=\"purple\">can</strong> be captured for transform feedback, and those variables or block members <strong class=\"purple\">must</strong> also be decorated with <code>XfbBuffer</code> and <code>XfbStride</code>, or inherit <code>XfbBuffer</code> and <code>XfbStride</code> decorations from a block containing them"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-XfbBuffer-04693",
+          "text": " All variables or block members in the output interface of the entry point being compiled decorated with a specific <code>XfbBuffer</code> value <strong class=\"purple\">must</strong> all be decorated with identical <code>XfbStride</code> values"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Stream-04694",
+          "text": " If any variables or block members in the output interface of the entry point being compiled are decorated with <code>Stream</code>, then all variables belonging to the same <code>XfbBuffer</code> <strong class=\"purple\">must</strong> specify the same <code>Stream</code> value"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-XfbBuffer-04696",
+          "text": " For any two variables or block members in the output interface of the entry point being compiled with the same <code>XfbBuffer</code> value, the ranges determined by the <code>Offset</code> decoration and the size of the type <strong class=\"purple\">must</strong> not overlap"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-XfbBuffer-04697",
+          "text": " All block members in the output interface of the entry point being compiled that are in the same block and have a declared or inherited <code>XfbBuffer</code> decoration <strong class=\"purple\">must</strong> specify the same <code>XfbBuffer</code> value"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-RayPayloadKHR-04698",
+          "text": " <code>RayPayloadKHR</code> storage class <strong class=\"purple\">must</strong> only be used in ray generation, any-hit, closest hit or miss shaders"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-IncomingRayPayloadKHR-04699",
+          "text": " <code>IncomingRayPayloadKHR</code> storage class <strong class=\"purple\">must</strong> only be used in closest hit, any-hit, or miss shaders"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-IncomingRayPayloadKHR-04700",
+          "text": " There <strong class=\"purple\">must</strong> be at most one variable with the <code>IncomingRayPayloadKHR</code> storage class in the input interface of an entry point"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-HitAttributeKHR-04701",
+          "text": " <code>HitAttributeKHR</code> storage class <strong class=\"purple\">must</strong> only be used in intersection, any-hit, or closest hit shaders"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-HitAttributeKHR-04702",
+          "text": " There <strong class=\"purple\">must</strong> be at most one variable with the <code>HitAttributeKHR</code> storage class in the input interface of an entry point"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-HitAttributeKHR-04703",
+          "text": " A variable with <code>HitAttributeKHR</code> storage class <strong class=\"purple\">must</strong> only be written to in an intersection shader"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-CallableDataKHR-04704",
+          "text": " <code>CallableDataKHR</code> storage class <strong class=\"purple\">must</strong> only be used in ray generation, closest hit, miss, and callable shaders"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-IncomingCallableDataKHR-04705",
+          "text": " <code>IncomingCallableDataKHR</code> storage class <strong class=\"purple\">must</strong> only be used in callable shaders"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-IncomingCallableDataKHR-04706",
+          "text": " There <strong class=\"purple\">must</strong> be at most one variable with the <code>IncomingCallableDataKHR</code> storage class in the input interface of an entry point"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Base-04707",
+          "text": " The <code>Base</code> operand of <code>OpPtrAccessChain</code> <strong class=\"purple\">must</strong> point to one of the following: <strong>Workgroup</strong>, if <code>VariablePointers</code> is enabled; <strong>StorageBuffer</strong>, if <code>VariablePointers</code> or <code>VariablePointersStorageBuffer</code> is enabled; <strong>PhysicalStorageBuffer</strong>, if the <code>PhysicalStorageBuffer64</code> addressing model is enabled"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04708",
+          "text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, all instructions that support memory access operands and that use a physical pointer <strong class=\"purple\">must</strong> include the <code>Aligned</code> operand"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04709",
+          "text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, any access chain instruction that accesses into a <code>RowMajor</code> matrix <strong class=\"purple\">must</strong> only be used as the <code>Pointer</code> operand to <code>OpLoad</code> or <code>OpStore</code>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04710",
+          "text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, <code>OpConvertUToPtr</code> and <code>OpConvertPtrToU</code> <strong class=\"purple\">must</strong> use an integer type whose <code>Width</code> is 64"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-OpTypeForwardPointer-04711",
+          "text": " <code>OpTypeForwardPointer</code> <strong class=\"purple\">must</strong> have a storage class of <code>PhysicalStorageBuffer</code>"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-None-04745",
+          "text": " All variables with a storage class of <strong>PushConstant</strong> declared as an array <strong class=\"purple\">must</strong> only be accessed by dynamically uniform indices"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Result-04780",
+          "text": " The <code>Result</code> <code>Type</code> operand of any <code>OpImageRead</code> or <code>OpImageSparseRead</code> instruction <strong class=\"purple\">must</strong> be a vector of four components"
+        },
+        {
+          "vuid": "VUID-StandaloneSpirv-Base-04781",
+          "text": " The <code>Base</code> operand of any <code>OpBitCount</code>, <code>OpBitReverse</code>, <code>OpBitFieldInsert</code>, <code>OpBitFieldSExtract</code>, or <code>OpBitFieldUExtract</code> instruction <strong class=\"purple\">must</strong> be a 32-bit integer scalar or a vector of 32-bit integers"
+        }
+      ]
     }
   }
 }
\ No newline at end of file
diff --git a/registry/vk.xml b/registry/vk.xml
index 52c6f58..ceecae5 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <registry>
     <comment>
-Copyright (c) 2015-2020 The Khronos Group Inc.
+Copyright 2015-2021 The Khronos Group Inc.
 
 SPDX-License-Identifier: Apache-2.0 OR MIT
     </comment>
@@ -13,9 +13,9 @@
 language incorporated into the Specification and reference pages, and other
 material which is registered by Khronos, such as tags used by extension and
 layer authors. The authoritative public version of vk.xml is maintained in
-the master branch of the Khronos Vulkan GitHub project. The authoritative
-private version is maintained in the master branch of the member gitlab
-server.
+the default branch (currently named main) of the Khronos Vulkan GitHub
+project. The authoritative private version is maintained in the default
+branch of the member gitlab server.
     </comment>
 
     <platforms comment="Vulkan platform names, reserved for use with platform- and window system-specific extensions">
@@ -33,6 +33,7 @@
         <platform name="fuchsia" protect="VK_USE_PLATFORM_FUCHSIA" comment="Fuchsia"/>
         <platform name="ggp" protect="VK_USE_PLATFORM_GGP" comment="Google Games Platform"/>
         <platform name="provisional" protect="VK_ENABLE_BETA_EXTENSIONS" comment="Enable declarations for beta/provisional extensions"/>
+        <platform name="screen" protect="VK_USE_PLATFORM_SCREEN_QNX" comment="QNX Screen Graphics Subsystem"/>
     </platforms>
 
     <tags comment="Vulkan vendor/author tags for extensions and layers">
@@ -50,10 +51,10 @@
         <tag name="KDAB"        author="KDAB"                          contact="Sean Harmer @seanharmer"/>
         <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"/>
+        <tag name="FUCHSIA"     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="Maurice Ribble @mribble"/>
+        <tag name="QCOM"        author="Qualcomm Technologies, Inc."   contact="Jeff Leger @jackohounhd"/>
         <tag name="LUNARG"      author="LunarG, Inc."                  contact="Karen Ghavam @karenghavam-lunarg"/>
         <tag name="SAMSUNG"     author="Samsung Electronics Co., Ltd." contact="Alon Or-bach @alonorbach"/>
         <tag name="SEC"         author="Samsung Electronics Co., Ltd." contact="Alon Or-bach @alonorbach"/>
@@ -66,6 +67,9 @@
         <tag name="EXT"         author="Multivendor"                   contact="Jon Leech @oddhack"/>
         <tag name="MESA"        author="Mesa open source project"      contact="Chad Versace @chadversary, Daniel Stone @fooishbar, David Airlie @airlied, Jason Ekstrand @jekstrand"/>
         <tag name="INTEL"       author="Intel Corporation"             contact="Slawek Grajewski @sgrajewski"/>
+        <tag name="HUAWEI"      author="Huawei Technologies Co. Ltd."  contact="Hueilong Wang @wyvernathuawei"/>
+        <tag name="VALVE"       author="Valve Corporation"             contact="Pierre-Loup Griffais @plagman, Joshua Ashton @Joshua-Ashton, Hans-Kristian Arntzen @HansKristian-Work"/>
+        <tag name="QNX"         author="BlackBerry Limited"            contact="Mike Gorchak @mgorchak-blackberry"/>
     </tags>
 
     <types comment="Vulkan type definitions">
@@ -81,6 +85,7 @@
         <type category="include" name="directfb.h"/>
         <type category="include" name="zircon/types.h"/>
         <type category="include" name="ggp_c/vulkan_types.h"/>
+        <type category="include" name="screen/screen.h"/>
             <comment>
                 In the current header structure, each platform's interfaces
                 are confined to a platform-specific header (vulkan_xlib.h,
@@ -119,12 +124,14 @@
         <type requires="zircon/types.h" name="zx_handle_t"/>
         <type requires="ggp_c/vulkan_types.h" name="GgpStreamDescriptor"/>
         <type requires="ggp_c/vulkan_types.h" name="GgpFrameToken"/>
+        <type requires="screen/screen.h" name="_screen_context"/>
+        <type requires="screen/screen.h" name="_screen_window"/>
 
         <type category="define">#define <name>VK_MAKE_VERSION</name>(major, minor, patch) \
     ((((uint32_t)(major)) &lt;&lt; 22) | (((uint32_t)(minor)) &lt;&lt; 12) | ((uint32_t)(patch)))</type>
         <type category="define">#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) &gt;&gt; 22)</type>
-        <type category="define">#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) &gt;&gt; 12) &amp; 0x3ff)</type>
-        <type category="define">#define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) &amp; 0xfff)</type>
+        <type category="define">#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) &gt;&gt; 12) &amp; 0x3FFU)</type>
+        <type category="define">#define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) &amp; 0xFFFU)</type>
 
         <type category="define">// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
 //#define <name>VK_API_VERSION</name> <type>VK_MAKE_VERSION</type>(1, 0, 0) // Patch version should always be set to 0</type>
@@ -135,24 +142,44 @@
         <type category="define">// Vulkan 1.2 version number
 #define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_VERSION</type>(1, 2, 0)// Patch version should always be set to 0</type>
         <type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 148</type>
+#define <name>VK_HEADER_VERSION</name> 174</type>
         <type category="define" requires="VK_HEADER_VERSION">// Complete version of this file
 #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_VERSION</type>(1, 2, VK_HEADER_VERSION)</type>
 
         <type category="define">
 #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
 
-        <type category="define" name="VK_DEFINE_NON_DISPATCHABLE_HANDLE">
-#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
-#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) &amp;&amp; !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
-#else
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
-#endif
+        <type category="define" name="VK_USE_64_BIT_PTR_DEFINES">
+#ifndef VK_USE_64_BIT_PTR_DEFINES
+    #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) &amp;&amp; !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
+        #define VK_USE_64_BIT_PTR_DEFINES 1
+    #else
+        #define VK_USE_64_BIT_PTR_DEFINES 0
+    #endif
 #endif</type>
-
-        <type category="define">
-#define <name>VK_NULL_HANDLE</name> 0</type>
+        <type category="define" requires="VK_USE_64_BIT_PTR_DEFINES" name="VK_DEFINE_NON_DISPATCHABLE_HANDLE">
+#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
+    #if (VK_USE_64_BIT_PTR_DEFINES==1)
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
+    #else
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
+    #endif
+#endif</type>
+        <type category="define" requires="VK_DEFINE_NON_DISPATCHABLE_HANDLE" name="VK_NULL_HANDLE">
+#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
+    #if (VK_USE_64_BIT_PTR_DEFINES==1)
+        #if __cplusplus >= 201103L
+            #define VK_NULL_HANDLE nullptr
+        #else
+            #define VK_NULL_HANDLE ((void*)0)
+        #endif
+    #else
+        #define VK_NULL_HANDLE 0ULL
+    #endif
+#endif
+#ifndef VK_NULL_HANDLE
+    #define VK_NULL_HANDLE 0
+#endif</type>
 
         <type category="basetype">struct <name>ANativeWindow</name>;</type>
         <type category="basetype">struct <name>AHardwareBuffer</name>;</type>
@@ -166,6 +193,7 @@
         <type category="basetype">typedef <type>uint32_t</type> <name>VkSampleMask</name>;</type>
         <type category="basetype">typedef <type>uint32_t</type> <name>VkBool32</name>;</type>
         <type category="basetype">typedef <type>uint32_t</type> <name>VkFlags</name>;</type>
+        <type category="basetype">typedef <type>uint64_t</type> <name>VkFlags64</name>;</type>
         <type category="basetype">typedef <type>uint64_t</type> <name>VkDeviceSize</name>;</type>
         <type category="basetype">typedef <type>uint64_t</type> <name>VkDeviceAddress</name>;</type>
 
@@ -218,12 +246,13 @@
         <type requires="VkPipelineCreateFlagBits"         category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineCreateFlags</name>;</type>
         <type requires="VkColorComponentFlagBits"         category="bitmask">typedef <type>VkFlags</type> <name>VkColorComponentFlags</name>;</type>
         <type requires="VkFenceCreateFlagBits"            category="bitmask">typedef <type>VkFlags</type> <name>VkFenceCreateFlags</name>;</type>
+            <comment>When VkSemaphoreCreateFlagBits is first extended, need to add a requires= attribute for it to VkSemaphoreCreateFlags</comment>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkSemaphoreCreateFlags</name>;</type>
         <type requires="VkFormatFeatureFlagBits"          category="bitmask">typedef <type>VkFlags</type> <name>VkFormatFeatureFlags</name>;</type>
         <type requires="VkQueryControlFlagBits"           category="bitmask">typedef <type>VkFlags</type> <name>VkQueryControlFlags</name>;</type>
         <type requires="VkQueryResultFlagBits"            category="bitmask">typedef <type>VkFlags</type> <name>VkQueryResultFlags</name>;</type>
         <type requires="VkShaderModuleCreateFlagBits"     category="bitmask">typedef <type>VkFlags</type> <name>VkShaderModuleCreateFlags</name>;</type>
-        <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkEventCreateFlags</name>;</type>
+        <type requires="VkEventCreateFlagBits"            category="bitmask">typedef <type>VkFlags</type> <name>VkEventCreateFlags</name>;</type>
         <type requires="VkCommandPoolCreateFlagBits"      category="bitmask">typedef <type>VkFlags</type> <name>VkCommandPoolCreateFlags</name>;</type>
         <type requires="VkCommandPoolResetFlagBits"       category="bitmask">typedef <type>VkFlags</type> <name>VkCommandPoolResetFlags</name>;</type>
         <type requires="VkCommandBufferResetFlagBits"     category="bitmask">typedef <type>VkFlags</type> <name>VkCommandBufferResetFlags</name>;</type>
@@ -252,6 +281,7 @@
         <type requires="VkBuildAccelerationStructureFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkBuildAccelerationStructureFlagsKHR</name>;</type>
         <type                                             category="bitmask" name="VkBuildAccelerationStructureFlagsNV" alias="VkBuildAccelerationStructureFlagsKHR"/>
         <type requires="VkPrivateDataSlotCreateFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkPrivateDataSlotCreateFlagsEXT</name>;</type>
+        <type requires="VkAccelerationStructureCreateFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkAccelerationStructureCreateFlagsKHR</name>;</type>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkDescriptorUpdateTemplateCreateFlags</name>;</type>
         <type                                             category="bitmask" name="VkDescriptorUpdateTemplateCreateFlagsKHR" alias="VkDescriptorUpdateTemplateCreateFlags"/>
         <type requires="VkPipelineCreationFeedbackFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineCreationFeedbackFlagsEXT</name>;</type>
@@ -262,6 +292,8 @@
         <type requires="VkPipelineCompilerControlFlagBitsAMD" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineCompilerControlFlagsAMD</name>;</type>
         <type requires="VkShaderCorePropertiesFlagBitsAMD" category="bitmask">typedef <type>VkFlags</type> <name>VkShaderCorePropertiesFlagsAMD</name>;</type>
         <type requires="VkDeviceDiagnosticsConfigFlagBitsNV" category="bitmask">typedef <type>VkFlags</type> <name>VkDeviceDiagnosticsConfigFlagsNV</name>;</type>
+        <type bitvalues="VkAccessFlagBits2KHR"             category="bitmask">typedef <type>VkFlags64</type> <name>VkAccessFlags2KHR</name>;</type>
+        <type bitvalues="VkPipelineStageFlagBits2KHR"      category="bitmask">typedef <type>VkFlags64</type> <name>VkPipelineStageFlags2KHR</name>;</type>
 
             <comment>WSI extensions</comment>
         <type requires="VkCompositeAlphaFlagBitsKHR"      category="bitmask">typedef <type>VkFlags</type> <name>VkCompositeAlphaFlagsKHR</name>;</type>
@@ -283,6 +315,7 @@
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkImagePipeSurfaceCreateFlagsFUCHSIA</name>;</type>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkStreamDescriptorSurfaceCreateFlagsGGP</name>;</type>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkHeadlessSurfaceCreateFlagsEXT</name>;</type>
+        <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkScreenSurfaceCreateFlagsQNX</name>;</type>
         <type requires="VkPeerMemoryFeatureFlagBits"      category="bitmask">typedef <type>VkFlags</type> <name>VkPeerMemoryFeatureFlags</name>;</type>
         <type                                             category="bitmask" name="VkPeerMemoryFeatureFlagsKHR"               alias="VkPeerMemoryFeatureFlags"/>
         <type requires="VkMemoryAllocateFlagBits"         category="bitmask">typedef <type>VkFlags</type> <name>VkMemoryAllocateFlags</name>;</type>
@@ -321,6 +354,7 @@
         <type requires="VkDebugUtilsMessageTypeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkDebugUtilsMessageTypeFlagsEXT</name>;</type>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkDebugUtilsMessengerCreateFlagsEXT</name>;</type>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkDebugUtilsMessengerCallbackDataFlagsEXT</name>;</type>
+        <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkDeviceMemoryReportFlagsEXT</name>;</type>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineRasterizationConservativeStateCreateFlagsEXT</name>;</type>
         <type requires="VkDescriptorBindingFlagBits"      category="bitmask">typedef <type>VkFlags</type> <name>VkDescriptorBindingFlags</name>;</type>
         <type                                             category="bitmask" name="VkDescriptorBindingFlagsEXT"               alias="VkDescriptorBindingFlags"/>
@@ -334,53 +368,54 @@
         <type requires="VkImageFormatConstraintsFlagBitsFUCHSIA"     category="bitmask">typedef <type>VkFlags</type> <name>VkImageFormatConstraintsFlagsFUCHSIA</name>;</type>
         <type requires="VkImageConstraintsInfoFlagBitsFUCHSIA"     category="bitmask">typedef <type>VkFlags</type> <name>VkImageConstraintsInfoFlagsFUCHSIA</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>
 
             <comment>Types which can be void pointers or class pointers, selected at compile time</comment>
-        <type category="handle"><type>VK_DEFINE_HANDLE</type>(<name>VkInstance</name>)</type>
-        <type category="handle" parent="VkInstance"><type>VK_DEFINE_HANDLE</type>(<name>VkPhysicalDevice</name>)</type>
-        <type category="handle" parent="VkPhysicalDevice"><type>VK_DEFINE_HANDLE</type>(<name>VkDevice</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_HANDLE</type>(<name>VkQueue</name>)</type>
-        <type category="handle" parent="VkCommandPool"><type>VK_DEFINE_HANDLE</type>(<name>VkCommandBuffer</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDeviceMemory</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkCommandPool</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBuffer</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBufferView</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkImage</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkImageView</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkShaderModule</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPipeline</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPipelineLayout</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSampler</name>)</type>
-        <type category="handle" parent="VkDescriptorPool"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorSet</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorSetLayout</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorPool</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkFence</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSemaphore</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkEvent</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkQueryPool</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkFramebuffer</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkRenderPass</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPipelineCache</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkIndirectCommandsLayoutNV</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorUpdateTemplate</name>)</type>
+        <type category="handle"                           objtypeenum="VK_OBJECT_TYPE_INSTANCE"><type>VK_DEFINE_HANDLE</type>(<name>VkInstance</name>)</type>
+        <type category="handle" parent="VkInstance"       objtypeenum="VK_OBJECT_TYPE_PHYSICAL_DEVICE"><type>VK_DEFINE_HANDLE</type>(<name>VkPhysicalDevice</name>)</type>
+        <type category="handle" parent="VkPhysicalDevice" objtypeenum="VK_OBJECT_TYPE_DEVICE"><type>VK_DEFINE_HANDLE</type>(<name>VkDevice</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_QUEUE"><type>VK_DEFINE_HANDLE</type>(<name>VkQueue</name>)</type>
+        <type category="handle" parent="VkCommandPool"    objtypeenum="VK_OBJECT_TYPE_COMMAND_BUFFER"><type>VK_DEFINE_HANDLE</type>(<name>VkCommandBuffer</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_DEVICE_MEMORY"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDeviceMemory</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_COMMAND_POOL"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkCommandPool</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_BUFFER"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBuffer</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_BUFFER_VIEW"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBufferView</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_IMAGE"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkImage</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_IMAGE_VIEW"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkImageView</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_SHADER_MODULE"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkShaderModule</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_PIPELINE"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPipeline</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_PIPELINE_LAYOUT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPipelineLayout</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_SAMPLER"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSampler</name>)</type>
+        <type category="handle" parent="VkDescriptorPool" objtypeenum="VK_OBJECT_TYPE_DESCRIPTOR_SET"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorSet</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorSetLayout</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_DESCRIPTOR_POOL"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorPool</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_FENCE"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkFence</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_SEMAPHORE"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSemaphore</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_EVENT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkEvent</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_QUERY_POOL"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkQueryPool</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_FRAMEBUFFER"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkFramebuffer</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_RENDER_PASS"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkRenderPass</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_PIPELINE_CACHE"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPipelineCache</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkIndirectCommandsLayoutNV</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDescriptorUpdateTemplate</name>)</type>
         <type category="handle" name="VkDescriptorUpdateTemplateKHR" alias="VkDescriptorUpdateTemplate"/>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSamplerYcbcrConversion</name>)</type>
+        <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"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkValidationCacheEXT</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkAccelerationStructureKHR</name>)</type>
-        <type category="handle" name="VkAccelerationStructureNV"     alias="VkAccelerationStructureKHR"/>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPerformanceConfigurationINTEL</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBufferCollectionFUCHSIA</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDeferredOperationKHR</name>)</type>
-        <type category="handle" parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPrivateDataSlotEXT</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBufferCollectionFUCHSIA</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>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPerformanceConfigurationINTEL</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDeferredOperationKHR</name>)</type>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPrivateDataSlotEXT</name>)</type>
 
             <comment>WSI extensions</comment>
-        <type category="handle" parent="VkPhysicalDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDisplayKHR</name>)</type>
-        <type category="handle" parent="VkDisplayKHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDisplayModeKHR</name>)</type>
-        <type category="handle" parent="VkInstance"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSurfaceKHR</name>)</type>
-        <type category="handle" parent="VkSurfaceKHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSwapchainKHR</name>)</type>
-        <type category="handle" parent="VkInstance"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDebugReportCallbackEXT</name>)</type>
-        <type category="handle" parent="VkInstance"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDebugUtilsMessengerEXT</name>)</type>
+        <type category="handle" parent="VkPhysicalDevice" objtypeenum="VK_OBJECT_TYPE_DISPLAY_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDisplayKHR</name>)</type>
+        <type category="handle" parent="VkDisplayKHR"     objtypeenum="VK_OBJECT_TYPE_DISPLAY_MODE_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDisplayModeKHR</name>)</type>
+        <type category="handle" parent="VkInstance"       objtypeenum="VK_OBJECT_TYPE_SURFACE_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSurfaceKHR</name>)</type>
+        <type category="handle" parent="VkSurfaceKHR"     objtypeenum="VK_OBJECT_TYPE_SWAPCHAIN_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSwapchainKHR</name>)</type>
+        <type category="handle" parent="VkInstance"       objtypeenum="VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDebugReportCallbackEXT</name>)</type>
+        <type category="handle" parent="VkInstance"       objtypeenum="VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDebugUtilsMessengerEXT</name>)</type>
 
             <comment>Types generated from corresponding enums tags below</comment>
         <type name="VkAttachmentLoadOp" category="enum"/>
@@ -460,6 +495,8 @@
         <type name="VkDescriptorPoolCreateFlagBits" category="enum"/>
         <type name="VkDependencyFlagBits" category="enum"/>
         <type name="VkObjectType" category="enum"/>
+        <type name="VkEventCreateFlagBits" category="enum"/>
+            <comment>When VkSemaphoreCreateFlagBits is first extended, need to add a type enum tag for it here</comment>
 
         <comment>Extensions</comment>
         <type name="VkIndirectCommandsLayoutUsageFlagBitsNV" category="enum"/>
@@ -493,6 +530,8 @@
         <type category="enum" name="VkGeometryInstanceFlagBitsNV"                  alias="VkGeometryInstanceFlagBitsKHR"/>
         <type name="VkBuildAccelerationStructureFlagBitsKHR" category="enum"/>
         <type category="enum" name="VkBuildAccelerationStructureFlagBitsNV"        alias="VkBuildAccelerationStructureFlagBitsKHR"/>
+        <type name="VkAccelerationStructureCreateFlagBitsKHR" category="enum"/>
+        <type name="VkBuildAccelerationStructureModeKHR" category="enum"/>
         <type name="VkCopyAccelerationStructureModeKHR" category="enum"/>
         <type category="enum" name="VkCopyAccelerationStructureModeNV"             alias="VkCopyAccelerationStructureModeKHR"/>
         <type name="VkAccelerationStructureTypeKHR" category="enum"/>
@@ -501,9 +540,10 @@
         <type category="enum" name="VkGeometryTypeNV"                              alias="VkGeometryTypeKHR"/>
         <type name="VkRayTracingShaderGroupTypeKHR" category="enum"/>
         <type category="enum" name="VkRayTracingShaderGroupTypeNV"                 alias="VkRayTracingShaderGroupTypeKHR"/>
-        <type name="VkAccelerationStructureMemoryRequirementsTypeKHR" category="enum"/>
-        <type category="enum" name="VkAccelerationStructureMemoryRequirementsTypeNV" alias="VkAccelerationStructureMemoryRequirementsTypeKHR"/>
+        <type name="VkAccelerationStructureMemoryRequirementsTypeNV" category="enum"/>
         <type name="VkAccelerationStructureBuildTypeKHR" category="enum"/>
+        <type name="VkAccelerationStructureCompatibilityKHR" category="enum"/>
+        <type name="VkShaderGroupShaderKHR" category="enum"/>
         <type name="VkMemoryOverallocationBehaviorAMD" category="enum"/>
         <type name="VkScopeNV" category="enum"/>
         <type name="VkComponentTypeNV" category="enum"/>
@@ -529,6 +569,10 @@
         <type name="VkImageFormatConstraintsFlagBitsFUCHSIA" category="enum"/>
         <type name="VkImageConstraintsInfoFlagBitsFUCHSIA" category="enum"/>
         <type name="VkMemoryOpFlagBitsFUCHSIA" category="enum"/>
+        <type name="VkFragmentShadingRateNV" category="enum"/>
+        <type name="VkFragmentShadingRateTypeNV" category="enum"/>
+        <type name="VkAccessFlagBits2KHR" category="enum"/>
+        <type name="VkPipelineStageFlagBits2KHR" category="enum"/>
 
             <comment>WSI extensions</comment>
         <type name="VkColorSpaceKHR" category="enum"/>
@@ -538,6 +582,7 @@
         <type name="VkSurfaceTransformFlagBitsKHR" category="enum"/>
         <type name="VkDebugReportFlagBitsEXT" category="enum"/>
         <type name="VkDebugReportObjectTypeEXT" category="enum"/>
+        <type name="VkDeviceMemoryReportEventTypeEXT" category="enum"/>
         <type name="VkRasterizationOrderAMD" category="enum"/>
         <type name="VkExternalMemoryHandleTypeFlagBitsNV" category="enum"/>
         <type name="VkExternalMemoryFeatureFlagBitsNV" category="enum"/>
@@ -588,6 +633,8 @@
         <type name="VkShaderFloatControlsIndependence" category="enum"/>
         <type category="enum" name="VkShaderFloatControlsIndependenceKHR"          alias="VkShaderFloatControlsIndependence"/>
         <type name="VkSwapchainImageUsageFlagBitsANDROID" category="enum"/>
+        <type name="VkFragmentShadingRateCombinerOpKHR" category="enum"/>
+        <type name="VkSubmitFlagBitsKHR" category="enum"/>
 
             <comment>Enumerated types in the header, but not used by the API</comment>
         <type name="VkVendorId" category="enum"/>
@@ -644,14 +691,19 @@
     const <type>VkDebugUtilsMessengerCallbackDataEXT</type>*      pCallbackData,
     <type>void</type>*                                            pUserData);</type>
 
+            <comment>The PFN_vkDeviceMemoryReportCallbackEXT type is used by the VK_EXT_device_memory_report extension</comment>
+        <type category="funcpointer" requires="VkDeviceMemoryReportCallbackDataEXT">typedef void (VKAPI_PTR *<name>PFN_vkDeviceMemoryReportCallbackEXT</name>)(
+    const <type>VkDeviceMemoryReportCallbackDataEXT</type>*  pCallbackData,
+    <type>void</type>*                                       pUserData);</type>
+
             <comment>Struct types</comment>
         <type category="struct" name="VkBaseOutStructure">
             <member><type>VkStructureType</type> <name>sType</name></member>
-            <member>struct <type>VkBaseOutStructure</type>* <name>pNext</name></member>
+            <member optional="true">struct <type>VkBaseOutStructure</type>* <name>pNext</name></member>
         </type>
         <type category="struct" name="VkBaseInStructure">
             <member><type>VkStructureType</type> <name>sType</name></member>
-            <member>const struct <type>VkBaseInStructure</type>* <name>pNext</name></member>
+            <member optional="true">const struct <type>VkBaseInStructure</type>* <name>pNext</name></member>
         </type>
         <type category="struct" name="VkOffset2D">
             <member><type>int32_t</type>        <name>x</name></member>
@@ -717,7 +769,7 @@
         </type>
         <type category="struct" name="VkApplicationInfo">
             <member values="VK_STRUCTURE_TYPE_APPLICATION_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*     <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*     <name>pNext</name></member>
             <member optional="true" len="null-terminated">const <type>char</type>*     <name>pApplicationName</name></member>
             <member><type>uint32_t</type>        <name>applicationVersion</name></member>
             <member optional="true" len="null-terminated">const <type>char</type>*     <name>pEngineName</name></member>
@@ -734,7 +786,7 @@
         </type>
         <type category="struct" name="VkDeviceQueueCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*     <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*     <name>pNext</name></member>
             <member optional="true"><type>VkDeviceQueueCreateFlags</type>    <name>flags</name></member>
             <member><type>uint32_t</type>        <name>queueFamilyIndex</name></member>
             <member><type>uint32_t</type>        <name>queueCount</name></member>
@@ -742,7 +794,7 @@
         </type>
         <type category="struct" name="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*     <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*     <name>pNext</name></member>
             <member optional="true"><type>VkDeviceCreateFlags</type>    <name>flags</name></member>
             <member><type>uint32_t</type>        <name>queueCreateInfoCount</name></member>
             <member len="queueCreateInfoCount">const <type>VkDeviceQueueCreateInfo</type>* <name>pQueueCreateInfos</name></member>
@@ -754,7 +806,7 @@
         </type>
         <type category="struct" name="VkInstanceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*     <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*     <name>pNext</name></member>
             <member optional="true"><type>VkInstanceCreateFlags</type>  <name>flags</name></member>
             <member optional="true">const <type>VkApplicationInfo</type>* <name>pApplicationInfo</name></member>
             <member optional="true"><type>uint32_t</type>               <name>enabledLayerCount</name></member>
@@ -776,7 +828,7 @@
         </type>
         <type category="struct" name="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkDeviceSize</type>           <name>allocationSize</name><comment>Size of memory allocation</comment></member>
             <member><type>uint32_t</type>               <name>memoryTypeIndex</name><comment>Index of the of the memory type to allocate from</comment></member>
         </type>
@@ -807,7 +859,7 @@
         </type>
         <type category="struct" name="VkMappedMemoryRange">
             <member values="VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkDeviceMemory</type>         <name>memory</name><comment>Mapped 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>
@@ -836,7 +888,7 @@
         </type>
         <type category="struct" name="VkWriteDescriptorSet">
             <member values="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member noautovalidity="true"><type>VkDescriptorSet</type>        <name>dstSet</name><comment>Destination descriptor set</comment></member>
             <member><type>uint32_t</type>               <name>dstBinding</name><comment>Binding within the destination descriptor set to write</comment></member>
             <member><type>uint32_t</type>               <name>dstArrayElement</name><comment>Array element within the destination binding to write</comment></member>
@@ -848,7 +900,7 @@
         </type>
         <type category="struct" name="VkCopyDescriptorSet">
             <member values="VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkDescriptorSet</type>        <name>srcSet</name><comment>Source descriptor set</comment></member>
             <member><type>uint32_t</type>               <name>srcBinding</name><comment>Binding within the source descriptor set to copy from</comment></member>
             <member><type>uint32_t</type>               <name>srcArrayElement</name><comment>Array element within the source binding to copy from</comment></member>
@@ -859,7 +911,7 @@
         </type>
         <type category="struct" name="VkBufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkBufferCreateFlags</type>    <name>flags</name><comment>Buffer creation flags</comment></member>
             <member><type>VkDeviceSize</type>           <name>size</name><comment>Specified in bytes</comment></member>
             <member><type>VkBufferUsageFlags</type>     <name>usage</name><comment>Buffer usage flags</comment></member>
@@ -869,7 +921,7 @@
         </type>
         <type category="struct" name="VkBufferViewCreateInfo">
             <member values="VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkBufferViewCreateFlags</type><name>flags</name></member>
             <member><type>VkBuffer</type>               <name>buffer</name></member>
             <member><type>VkFormat</type>               <name>format</name><comment>Optionally specifies format of elements</comment></member>
@@ -896,13 +948,13 @@
         </type>
         <type category="struct" name="VkMemoryBarrier">
             <member values="VK_STRUCTURE_TYPE_MEMORY_BARRIER"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkAccessFlags</type>          <name>srcAccessMask</name><comment>Memory accesses from the source of the dependency to synchronize</comment></member>
             <member optional="true"><type>VkAccessFlags</type>          <name>dstAccessMask</name><comment>Memory accesses from the destination of the dependency to synchronize</comment></member>
         </type>
         <type category="struct" name="VkBufferMemoryBarrier">
             <member values="VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member noautovalidity="true"><type>VkAccessFlags</type>          <name>srcAccessMask</name><comment>Memory accesses from the source of the dependency to synchronize</comment></member>
             <member noautovalidity="true"><type>VkAccessFlags</type>          <name>dstAccessMask</name><comment>Memory accesses from the destination of the dependency to synchronize</comment></member>
             <member><type>uint32_t</type>               <name>srcQueueFamilyIndex</name><comment>Queue family to transition ownership from</comment></member>
@@ -913,7 +965,7 @@
         </type>
         <type category="struct" name="VkImageMemoryBarrier">
             <member values="VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member noautovalidity="true"><type>VkAccessFlags</type>          <name>srcAccessMask</name><comment>Memory accesses from the source of the dependency to synchronize</comment></member>
             <member noautovalidity="true"><type>VkAccessFlags</type>          <name>dstAccessMask</name><comment>Memory accesses from the destination of the dependency to synchronize</comment></member>
             <member><type>VkImageLayout</type>          <name>oldLayout</name><comment>Current layout of the image</comment></member>
@@ -925,7 +977,7 @@
         </type>
         <type category="struct" name="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkImageCreateFlags</type>     <name>flags</name><comment>Image creation flags</comment></member>
             <member><type>VkImageType</type>            <name>imageType</name></member>
             <member><type>VkFormat</type>               <name>format</name></member>
@@ -949,7 +1001,7 @@
         </type>
         <type category="struct" name="VkImageViewCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkImageViewCreateFlags</type> <name>flags</name></member>
             <member><type>VkImage</type>                <name>image</name></member>
             <member><type>VkImageViewType</type>        <name>viewType</name></member>
@@ -994,7 +1046,7 @@
         </type>
         <type category="struct" name="VkBindSparseInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>               <name>waitSemaphoreCount</name></member>
             <member len="waitSemaphoreCount">const <type>VkSemaphore</type>*     <name>pWaitSemaphores</name></member>
             <member optional="true"><type>uint32_t</type>               <name>bufferBindCount</name></member>
@@ -1036,7 +1088,7 @@
         </type>
         <type category="struct" name="VkShaderModuleCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkShaderModuleCreateFlags</type> <name>flags</name></member>
             <member><type>size_t</type>                 <name>codeSize</name><comment>Specified in bytes</comment></member>
             <member len="latexmath:[\textrm{codeSize} \over 4]" altlen="codeSize / 4">const <type>uint32_t</type>*            <name>pCode</name><comment>Binary code of size codeSize</comment></member>
@@ -1050,7 +1102,7 @@
         </type>
         <type category="struct" name="VkDescriptorSetLayoutCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkDescriptorSetLayoutCreateFlags</type>    <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>               <name>bindingCount</name><comment>Number of bindings in the descriptor set layout</comment></member>
             <member len="bindingCount">const <type>VkDescriptorSetLayoutBinding</type>* <name>pBindings</name><comment>Array of descriptor set layout bindings</comment></member>
@@ -1061,7 +1113,7 @@
         </type>
         <type category="struct" name="VkDescriptorPoolCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkDescriptorPoolCreateFlags</type>  <name>flags</name></member>
             <member><type>uint32_t</type>               <name>maxSets</name></member>
             <member><type>uint32_t</type>               <name>poolSizeCount</name></member>
@@ -1069,7 +1121,7 @@
         </type>
         <type category="struct" name="VkDescriptorSetAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkDescriptorPool</type>       <name>descriptorPool</name></member>
             <member><type>uint32_t</type>               <name>descriptorSetCount</name></member>
             <member len="descriptorSetCount">const <type>VkDescriptorSetLayout</type>* <name>pSetLayouts</name></member>
@@ -1087,7 +1139,7 @@
         </type>
         <type category="struct" name="VkPipelineShaderStageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineShaderStageCreateFlags</type>    <name>flags</name></member>
             <member><type>VkShaderStageFlagBits</type>  <name>stage</name><comment>Shader stage</comment></member>
             <member><type>VkShaderModule</type>         <name>module</name><comment>Module containing entry point</comment></member>
@@ -1096,7 +1148,7 @@
         </type>
         <type category="struct" name="VkComputePipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCreateFlags</type>  <name>flags</name><comment>Pipeline creation flags</comment></member>
             <member><type>VkPipelineShaderStageCreateInfo</type> <name>stage</name></member>
             <member><type>VkPipelineLayout</type>       <name>layout</name><comment>Interface layout of the pipeline</comment></member>
@@ -1116,7 +1168,7 @@
         </type>
         <type category="struct" name="VkPipelineVertexInputStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineVertexInputStateCreateFlags</type>    <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>               <name>vertexBindingDescriptionCount</name><comment>number of bindings</comment></member>
             <member len="vertexBindingDescriptionCount">const <type>VkVertexInputBindingDescription</type>* <name>pVertexBindingDescriptions</name></member>
@@ -1125,29 +1177,29 @@
         </type>
         <type category="struct" name="VkPipelineInputAssemblyStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineInputAssemblyStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkPrimitiveTopology</type>    <name>topology</name></member>
             <member><type>VkBool32</type>               <name>primitiveRestartEnable</name></member>
         </type>
         <type category="struct" name="VkPipelineTessellationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineTessellationStateCreateFlags</type>    <name>flags</name></member>
             <member><type>uint32_t</type>               <name>patchControlPoints</name></member>
         </type>
         <type category="struct" name="VkPipelineViewportStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineViewportStateCreateFlags</type>    <name>flags</name></member>
-            <member><type>uint32_t</type>               <name>viewportCount</name></member>
+            <member optional="true"><type>uint32_t</type>               <name>viewportCount</name></member>
             <member noautovalidity="true" optional="true" len="viewportCount">const <type>VkViewport</type>*      <name>pViewports</name></member>
-            <member><type>uint32_t</type>               <name>scissorCount</name></member>
+            <member optional="true"><type>uint32_t</type>               <name>scissorCount</name></member>
             <member noautovalidity="true" optional="true" len="scissorCount">const <type>VkRect2D</type>*        <name>pScissors</name></member>
         </type>
         <type category="struct" name="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member optional="true"><type>VkPipelineRasterizationStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkBool32</type>               <name>depthClampEnable</name></member>
             <member><type>VkBool32</type>               <name>rasterizerDiscardEnable</name></member>
@@ -1162,7 +1214,7 @@
         </type>
         <type category="struct" name="VkPipelineMultisampleStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineMultisampleStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkSampleCountFlagBits</type>  <name>rasterizationSamples</name><comment>Number of samples used for rasterization</comment></member>
             <member><type>VkBool32</type>               <name>sampleShadingEnable</name><comment>optional (GL45)</comment></member>
@@ -1183,7 +1235,7 @@
         </type>
         <type category="struct" name="VkPipelineColorBlendStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineColorBlendStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkBool32</type>               <name>logicOpEnable</name></member>
             <member noautovalidity="true"><type>VkLogicOp</type>              <name>logicOp</name></member>
@@ -1193,7 +1245,7 @@
         </type>
         <type category="struct" name="VkPipelineDynamicStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineDynamicStateCreateFlags</type>    <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>               <name>dynamicStateCount</name></member>
             <member len="dynamicStateCount">const <type>VkDynamicState</type>*  <name>pDynamicStates</name></member>
@@ -1209,7 +1261,7 @@
         </type>
         <type category="struct" name="VkPipelineDepthStencilStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineDepthStencilStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkBool32</type>               <name>depthTestEnable</name></member>
             <member><type>VkBool32</type>               <name>depthWriteEnable</name></member>
@@ -1223,7 +1275,7 @@
         </type>
         <type category="struct" name="VkGraphicsPipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCreateFlags</type>  <name>flags</name><comment>Pipeline creation flags</comment></member>
             <member><type>uint32_t</type>               <name>stageCount</name></member>
             <member len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member>
@@ -1244,7 +1296,7 @@
         </type>
         <type category="struct" name="VkPipelineCacheCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCacheCreateFlags</type>    <name>flags</name></member>
             <member optional="true"><type>size_t</type>                 <name>initialDataSize</name><comment>Size of initial data to populate cache, in bytes</comment></member>
             <member len="initialDataSize">const <type>void</type>*            <name>pInitialData</name><comment>Initial data to populate cache</comment></member>
@@ -1256,7 +1308,7 @@
         </type>
         <type category="struct" name="VkPipelineLayoutCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineLayoutCreateFlags</type>    <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>               <name>setLayoutCount</name><comment>Number of descriptor sets interfaced by the pipeline</comment></member>
             <member len="setLayoutCount">const <type>VkDescriptorSetLayout</type>* <name>pSetLayouts</name><comment>Array of setCount number of descriptor set layout objects defining the layout of the</comment></member>
@@ -1265,7 +1317,7 @@
         </type>
         <type category="struct" name="VkSamplerCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkSamplerCreateFlags</type>   <name>flags</name></member>
             <member><type>VkFilter</type>               <name>magFilter</name><comment>Filter mode for magnification</comment></member>
             <member><type>VkFilter</type>               <name>minFilter</name><comment>Filter mode for minifiation</comment></member>
@@ -1285,20 +1337,20 @@
         </type>
         <type category="struct" name="VkCommandPoolCreateInfo">
             <member values="VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkCommandPoolCreateFlags</type>   <name>flags</name><comment>Command pool creation flags</comment></member>
             <member><type>uint32_t</type>               <name>queueFamilyIndex</name></member>
         </type>
         <type category="struct" name="VkCommandBufferAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkCommandPool</type>          <name>commandPool</name></member>
             <member><type>VkCommandBufferLevel</type>   <name>level</name></member>
             <member><type>uint32_t</type>               <name>commandBufferCount</name></member>
         </type>
         <type category="struct" name="VkCommandBufferInheritanceInfo">
             <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true" noautovalidity="true"><type>VkRenderPass</type>    <name>renderPass</name><comment>Render pass for secondary command buffers</comment></member>
             <member><type>uint32_t</type>               <name>subpass</name></member>
             <member optional="true" noautovalidity="true"><type>VkFramebuffer</type>   <name>framebuffer</name><comment>Framebuffer for secondary command buffers</comment></member>
@@ -1308,18 +1360,18 @@
         </type>
         <type category="struct" name="VkCommandBufferBeginInfo">
             <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkCommandBufferUsageFlags</type>  <name>flags</name><comment>Command buffer usage flags</comment></member>
             <member optional="true" noautovalidity="true">const <type>VkCommandBufferInheritanceInfo</type>*       <name>pInheritanceInfo</name><comment>Pointer to inheritance info for secondary command buffers</comment></member>
         </type>
         <type category="struct" name="VkRenderPassBeginInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkRenderPass</type>           <name>renderPass</name></member>
             <member><type>VkFramebuffer</type>          <name>framebuffer</name></member>
             <member><type>VkRect2D</type>               <name>renderArea</name></member>
             <member optional="true"><type>uint32_t</type>               <name>clearValueCount</name></member>
-            <member len="clearValueCount">const <type>VkClearValue</type>*    <name>pClearValues</name></member>
+            <member len="clearValueCount" noautovalidity="true">const <type>VkClearValue</type>*    <name>pClearValues</name></member>
         </type>
         <type category="union" name="VkClearColorValue" comment="// Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on image/attachment being cleared.">
             <member><type>float</type>                  <name>float32</name>[4]</member>
@@ -1331,13 +1383,13 @@
             <member><type>uint32_t</type>               <name>stencil</name></member>
         </type>
         <type category="union" name="VkClearValue" comment="// Union allowing specification of color or depth and stencil values. Actual value selected is based on attachment being cleared.">
-            <member><type>VkClearColorValue</type>      <name>color</name></member>
+            <member noautovalidity="true"><type>VkClearColorValue</type>      <name>color</name></member>
             <member><type>VkClearDepthStencilValue</type> <name>depthStencil</name></member>
         </type>
         <type category="struct" name="VkClearAttachment">
             <member><type>VkImageAspectFlags</type>     <name>aspectMask</name></member>
             <member><type>uint32_t</type>               <name>colorAttachment</name></member>
-            <member><type>VkClearValue</type>           <name>clearValue</name></member>
+            <member noautovalidity="true"><type>VkClearValue</type>           <name>clearValue</name></member>
         </type>
         <type category="struct" name="VkAttachmentDescription">
             <member optional="true"><type>VkAttachmentDescriptionFlags</type> <name>flags</name></member>
@@ -1369,15 +1421,15 @@
         <type category="struct" name="VkSubpassDependency">
             <member><type>uint32_t</type>               <name>srcSubpass</name></member>
             <member><type>uint32_t</type>               <name>dstSubpass</name></member>
-            <member><type>VkPipelineStageFlags</type>   <name>srcStageMask</name></member>
-            <member><type>VkPipelineStageFlags</type>   <name>dstStageMask</name></member>
+            <member optional="true"><type>VkPipelineStageFlags</type>   <name>srcStageMask</name></member>
+            <member optional="true"><type>VkPipelineStageFlags</type>   <name>dstStageMask</name></member>
             <member optional="true"><type>VkAccessFlags</type>          <name>srcAccessMask</name><comment>Memory accesses from the source of the dependency to synchronize</comment></member>
             <member optional="true"><type>VkAccessFlags</type>          <name>dstAccessMask</name><comment>Memory accesses from the destination of the dependency to synchronize</comment></member>
             <member optional="true"><type>VkDependencyFlags</type>      <name>dependencyFlags</name></member>
         </type>
         <type category="struct" name="VkRenderPassCreateInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkRenderPassCreateFlags</type> <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>   <name>attachmentCount</name></member>
             <member len="attachmentCount">const <type>VkAttachmentDescription</type>* <name>pAttachments</name></member>
@@ -1388,12 +1440,12 @@
         </type>
         <type category="struct" name="VkEventCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkEventCreateFlags</type>     <name>flags</name><comment>Event creation flags</comment></member>
         </type>
         <type category="struct" name="VkFenceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkFenceCreateFlags</type>     <name>flags</name><comment>Fence creation flags</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFeatures">
@@ -1579,12 +1631,12 @@
         </type>
         <type category="struct" name="VkSemaphoreCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkSemaphoreCreateFlags</type> <name>flags</name><comment>Semaphore creation flags</comment></member>
         </type>
         <type category="struct" name="VkQueryPoolCreateInfo">
             <member values="VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkQueryPoolCreateFlags</type> <name>flags</name></member>
             <member><type>VkQueryType</type>            <name>queryType</name></member>
             <member><type>uint32_t</type>               <name>queryCount</name></member>
@@ -1592,7 +1644,7 @@
         </type>
         <type category="struct" name="VkFramebufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkFramebufferCreateFlags</type>    <name>flags</name></member>
             <member><type>VkRenderPass</type>           <name>renderPass</name></member>
             <member optional="true"><type>uint32_t</type>               <name>attachmentCount</name></member>
@@ -1621,7 +1673,7 @@
         </type>
         <type category="struct" name="VkSubmitInfo">
             <member values="VK_STRUCTURE_TYPE_SUBMIT_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>       <name>waitSemaphoreCount</name></member>
             <member len="waitSemaphoreCount">const <type>VkSemaphore</type>*     <name>pWaitSemaphores</name></member>
             <member len="waitSemaphoreCount">const <type>VkPipelineStageFlags</type>*           <name>pWaitDstStageMask</name></member>
@@ -1654,7 +1706,7 @@
         </type>
         <type category="struct" name="VkDisplayModeCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkDisplayModeCreateFlagsKHR</type>      <name>flags</name></member>
             <member><type>VkDisplayModeParametersKHR</type>       <name>parameters</name><comment>The parameters this mode uses.</comment></member>
         </type>
@@ -1671,7 +1723,7 @@
         </type>
         <type category="struct" name="VkDisplaySurfaceCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkDisplaySurfaceCreateFlagsKHR</type>   <name>flags</name></member>
             <member><type>VkDisplayModeKHR</type>                 <name>displayMode</name><comment>The mode to use when displaying this surface</comment></member>
             <member><type>uint32_t</type>                         <name>planeIndex</name><comment>The plane on which this surface appears.  Must be between 0 and the value returned by vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in pPropertyCount.</comment></member>
@@ -1683,7 +1735,7 @@
         </type>
         <type category="struct" name="VkDisplayPresentInfoKHR" structextends="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkRect2D</type>                         <name>srcRect</name><comment>Rectangle within the presentable image to read pixel data from when presenting to the display.</comment></member>
             <member><type>VkRect2D</type>                         <name>dstRect</name><comment>Rectangle within the current display mode's visible region to display srcRectangle in.</comment></member>
             <member><type>VkBool32</type>                         <name>persistent</name><comment>For smart displays, use buffered mode.  If the display properties member "persistentMode" is VK_FALSE, this member must always be VK_FALSE.</comment></member>
@@ -1702,70 +1754,77 @@
         </type>
         <type category="struct" name="VkAndroidSurfaceCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                    <name>pNext</name></member>
             <member optional="true"><type>VkAndroidSurfaceCreateFlagsKHR</type> <name>flags</name></member>
             <member noautovalidity="true">struct <type>ANativeWindow</type>*    <name>window</name></member>
         </type>
         <type category="struct" name="VkViSurfaceCreateInfoNN">
             <member values="VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkViSurfaceCreateFlagsNN</type>   <name>flags</name></member>
             <member noautovalidity="true"><type>void</type>*                            <name>window</name></member>
         </type>
         <type category="struct" name="VkWaylandSurfaceCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkWaylandSurfaceCreateFlagsKHR</type>   <name>flags</name></member>
             <member noautovalidity="true">struct <type>wl_display</type>*               <name>display</name></member>
             <member noautovalidity="true">struct <type>wl_surface</type>*               <name>surface</name></member>
         </type>
         <type category="struct" name="VkWin32SurfaceCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkWin32SurfaceCreateFlagsKHR</type>   <name>flags</name></member>
             <member><type>HINSTANCE</type>                        <name>hinstance</name></member>
             <member><type>HWND</type>                             <name>hwnd</name></member>
         </type>
         <type category="struct" name="VkXlibSurfaceCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkXlibSurfaceCreateFlagsKHR</type>   <name>flags</name></member>
             <member noautovalidity="true"><type>Display</type>*                         <name>dpy</name></member>
             <member><type>Window</type>                           <name>window</name></member>
         </type>
         <type category="struct" name="VkXcbSurfaceCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkXcbSurfaceCreateFlagsKHR</type>   <name>flags</name></member>
             <member noautovalidity="true"><type>xcb_connection_t</type>*                <name>connection</name></member>
             <member><type>xcb_window_t</type>                     <name>window</name></member>
         </type>
         <type category="struct" name="VkDirectFBSurfaceCreateInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkDirectFBSurfaceCreateFlagsEXT</type>   <name>flags</name></member>
             <member noautovalidity="true"><type>IDirectFB</type>*                       <name>dfb</name></member>
             <member noautovalidity="true"><type>IDirectFBSurface</type>*                <name>surface</name></member>
         </type>
         <type category="struct" name="VkImagePipeSurfaceCreateInfoFUCHSIA">
             <member values="VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkImagePipeSurfaceCreateFlagsFUCHSIA</type>   <name>flags</name></member>
             <member><type>zx_handle_t</type>                      <name>imagePipeHandle</name></member>
         </type>
         <type category="struct" name="VkStreamDescriptorSurfaceCreateInfoGGP">
             <member values="VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkStreamDescriptorSurfaceCreateFlagsGGP</type> <name>flags</name></member>
             <member><type>GgpStreamDescriptor</type>              <name>streamDescriptor</name></member>
         </type>
+        <type category="struct" name="VkScreenSurfaceCreateInfoQNX">
+            <member values="VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true"><type>VkScreenSurfaceCreateFlagsQNX</type>    <name>flags</name></member>
+            <member noautovalidity="true">struct <type>_screen_context</type>*    <name>context</name></member>
+            <member noautovalidity="true">struct <type>_screen_window</type>*     <name>window</name></member>
+        </type>
         <type category="struct" name="VkSurfaceFormatKHR" returnedonly="true">
             <member><type>VkFormat</type>                         <name>format</name><comment>Supported pair of rendering format</comment></member>
             <member><type>VkColorSpaceKHR</type>                  <name>colorSpace</name><comment>and color space for the surface</comment></member>
         </type>
         <type category="struct" name="VkSwapchainCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkSwapchainCreateFlagsKHR</type>        <name>flags</name></member>
             <member><type>VkSurfaceKHR</type>                     <name>surface</name><comment>The swapchain's target surface</comment></member>
             <member><type>uint32_t</type>                         <name>minImageCount</name><comment>Minimum number of presentation images the application needs</comment></member>
@@ -1785,7 +1844,7 @@
         </type>
         <type category="struct" name="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*  <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*  <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>waitSemaphoreCount</name><comment>Number of semaphores to wait for before presenting</comment></member>
             <member len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name><comment>Semaphores to wait for before presenting</comment></member>
             <member><type>uint32_t</type>                         <name>swapchainCount</name><comment>Number of swapchains to present in this call</comment></member>
@@ -1795,20 +1854,20 @@
         </type>
         <type category="struct" name="VkDebugReportCallbackCreateInfoEXT" structextends="VkInstanceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkDebugReportFlagsEXT</type>            <name>flags</name><comment>Indicates which events call this callback</comment></member>
             <member><type>PFN_vkDebugReportCallbackEXT</type>     <name>pfnCallback</name><comment>Function pointer of a callback function</comment></member>
             <member optional="true"><type>void</type>*            <name>pUserData</name><comment>User data provided to callback function</comment></member>
         </type>
         <type category="struct" name="VkValidationFlagsEXT" structextends="VkInstanceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT"><type>VkStructureType</type>                  <name>sType</name><comment>Must be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT</comment></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>disabledValidationCheckCount</name><comment>Number of validation checks to disable</comment></member>
             <member len="disabledValidationCheckCount">const <type>VkValidationCheckEXT</type>* <name>pDisabledValidationChecks</name><comment>Validation checks to disable</comment></member>
         </type>
         <type category="struct" name="VkValidationFeaturesEXT" structextends="VkInstanceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT"><type>VkStructureType</type>  <name>sType</name><comment>Must be VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT</comment></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                         <name>enabledValidationFeatureCount</name><comment>Number of validation features to enable</comment></member>
             <member len="enabledValidationFeatureCount">const <type>VkValidationFeatureEnableEXT</type>* <name>pEnabledValidationFeatures</name><comment>Validation features to enable</comment></member>
             <member optional="true"><type>uint32_t</type>                         <name>disabledValidationFeatureCount</name><comment>Number of validation features to disable</comment></member>
@@ -1816,19 +1875,19 @@
         </type>
         <type category="struct" name="VkPipelineRasterizationStateRasterizationOrderAMD" structextends="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkRasterizationOrderAMD</type>          <name>rasterizationOrder</name><comment>Rasterization order to use for the pipeline</comment></member>
         </type>
         <type category="struct" name="VkDebugMarkerObjectNameInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDebugReportObjectTypeEXT</type>       <name>objectType</name><comment>The type of the object</comment></member>
             <member><type>uint64_t</type>                         <name>object</name><comment>The handle of the object, cast to uint64_t</comment></member>
             <member len="null-terminated">const <type>char</type>* <name>pObjectName</name><comment>Name to apply to the object</comment></member>
         </type>
         <type category="struct" name="VkDebugMarkerObjectTagInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDebugReportObjectTypeEXT</type>       <name>objectType</name><comment>The type of the object</comment></member>
             <member><type>uint64_t</type>                         <name>object</name><comment>The handle of the object, cast to uint64_t</comment></member>
             <member><type>uint64_t</type>                         <name>tagName</name><comment>The name of the tag to set on the object</comment></member>
@@ -1837,23 +1896,23 @@
         </type>
         <type category="struct" name="VkDebugMarkerMarkerInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member len="null-terminated">const <type>char</type>* <name>pMarkerName</name><comment>Name of the debug marker</comment></member>
-            <member optional="true"><type>float</type>            <name>color</name>[4]<comment>Optional color for debug marker</comment></member>
+            <member><type>float</type>            <name>color</name>[4]<comment>Optional color for debug marker</comment></member>
         </type>
         <type category="struct" name="VkDedicatedAllocationImageCreateInfoNV" structextends="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>dedicatedAllocation</name><comment>Whether this image uses a dedicated allocation</comment></member>
         </type>
         <type category="struct" name="VkDedicatedAllocationBufferCreateInfoNV" structextends="VkBufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>dedicatedAllocation</name><comment>Whether this buffer uses a dedicated allocation</comment></member>
         </type>
         <type category="struct" name="VkDedicatedAllocationMemoryAllocateInfoNV" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkImage</type>          <name>image</name><comment>Image that this allocation will be bound to</comment></member>
             <member optional="true"><type>VkBuffer</type>         <name>buffer</name><comment>Buffer that this allocation will be bound to</comment></member>
         </type>
@@ -1865,23 +1924,23 @@
         </type>
         <type category="struct" name="VkExternalMemoryImageCreateInfoNV" structextends="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagsNV</type> <name>handleTypes</name></member>
         </type>
         <type category="struct" name="VkExportMemoryAllocateInfoNV" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagsNV</type> <name>handleTypes</name></member>
         </type>
         <type category="struct" name="VkImportMemoryWin32HandleInfoNV" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagsNV</type> <name>handleType</name></member>
             <member optional="true"><type>HANDLE</type>                           <name>handle</name></member>
         </type>
         <type category="struct" name="VkExportMemoryWin32HandleInfoNV" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true">const <type>SECURITY_ATTRIBUTES</type>*       <name>pAttributes</name></member>
             <member optional="true"><type>DWORD</type>                            <name>dwAccess</name></member>
         </type>
@@ -1891,9 +1950,9 @@
             <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">
+        <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>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                         <name>acquireCount</name></member>
             <member len="acquireCount">const <type>VkDeviceMemory</type>*            <name>pAcquireSyncs</name></member>
             <member len="acquireCount">const <type>uint64_t</type>*                  <name>pAcquireKeys</name></member>
@@ -1904,27 +1963,27 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                       <name>deviceGeneratedCommands</name></member>
         </type>
         <type category="struct" name="VkDevicePrivateDataCreateInfoEXT" allowduplicate="true" structextends="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                               <name>privateDataSlotRequestCount</name></member>
         </type>
         <type category="struct" name="VkPrivateDataSlotCreateInfoEXT">
             <member values="VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>VkPrivateDataSlotCreateFlagsEXT</type>        <name>flags</name></member>
         </type>
         <type category="struct" name="VkPhysicalDevicePrivateDataFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                                  <name>pNext</name></member>
             <member><type>VkBool32</type>                               <name>privateData</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>uint32_t</type>         <name>maxGraphicsShaderGroupCount</name></member>
             <member><type>uint32_t</type>         <name>maxIndirectSequenceCount</name></member>
             <member><type>uint32_t</type>         <name>maxIndirectCommandsTokenCount</name></member>
@@ -1937,7 +1996,7 @@
         </type>
         <type category="struct" name="VkGraphicsShaderGroupCreateInfoNV">
             <member values="VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                <name>pNext</name></member>
             <member><type>uint32_t</type>                                                   <name>stageCount</name></member>
             <member len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>*    <name>pStages</name></member>
             <member noautovalidity="true" optional="true">const <type>VkPipelineVertexInputStateCreateInfo</type>*                <name>pVertexInputState</name></member>
@@ -1945,7 +2004,7 @@
         </type>
         <type category="struct" name="VkGraphicsPipelineShaderGroupsCreateInfoNV" structextends="VkGraphicsPipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                <name>pNext</name></member>
             <member><type>uint32_t</type>                                                   <name>groupCount</name></member>
             <member len="groupCount">const <type>VkGraphicsShaderGroupCreateInfoNV</type>*  <name>pGroups</name></member>
             <member optional="true"><type>uint32_t</type>                                   <name>pipelineCount</name></member>
@@ -1973,7 +2032,7 @@
         </type>
         <type category="struct" name="VkIndirectCommandsLayoutTokenNV">
             <member values="VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                    <name>pNext</name></member>
             <member><type>VkIndirectCommandsTokenTypeNV</type>  <name>tokenType</name></member>
             <member><type>uint32_t</type>                       <name>stream</name></member>
             <member><type>uint32_t</type>                       <name>offset</name></member>
@@ -1990,7 +2049,7 @@
         </type>
         <type category="struct" name="VkIndirectCommandsLayoutCreateInfoNV">
             <member values="VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                             <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                             <name>pNext</name></member>
             <member><type>VkIndirectCommandsLayoutUsageFlagsNV</type>    <name>flags</name></member>
             <member><type>VkPipelineBindPoint</type>                     <name>pipelineBindPoint</name></member>
             <member><type>uint32_t</type>                                <name>tokenCount</name></member>
@@ -2000,7 +2059,7 @@
         </type>
         <type category="struct" name="VkGeneratedCommandsInfoNV">
             <member values="VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
             <member><type>VkPipelineBindPoint</type>                <name>pipelineBindPoint</name></member>
             <member><type>VkPipeline</type>                         <name>pipeline</name></member>
             <member><type>VkIndirectCommandsLayoutNV</type>         <name>indirectCommandsLayout</name></member>
@@ -2011,13 +2070,13 @@
             <member><type>VkDeviceSize</type>                       <name>preprocessOffset</name></member>
             <member><type>VkDeviceSize</type>                       <name>preprocessSize</name></member>
             <member optional="true"><type>VkBuffer</type>           <name>sequencesCountBuffer</name></member>
-            <member optional="true"><type>VkDeviceSize</type>       <name>sequencesCountOffset</name></member>
+            <member><type>VkDeviceSize</type>                       <name>sequencesCountOffset</name></member>
             <member optional="true"><type>VkBuffer</type>           <name>sequencesIndexBuffer</name></member>
-            <member optional="true"><type>VkDeviceSize</type>       <name>sequencesIndexOffset</name></member>
+            <member><type>VkDeviceSize</type>                       <name>sequencesIndexOffset</name></member>
         </type>
         <type category="struct" name="VkGeneratedCommandsMemoryRequirementsInfoNV">
             <member values="VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                 <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                 <name>pNext</name></member>
             <member><type>VkPipelineBindPoint</type>         <name>pipelineBindPoint</name></member>
             <member><type>VkPipeline</type>                  <name>pipeline</name></member>
             <member><type>VkIndirectCommandsLayoutNV</type>  <name>indirectCommandsLayout</name></member>
@@ -2025,31 +2084,31 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceFeatures2" structextends="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkPhysicalDeviceFeatures</type>         <name>features</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFeatures2KHR"                            alias="VkPhysicalDeviceFeatures2"/>
         <type category="struct" name="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkPhysicalDeviceProperties</type>       <name>properties</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceProperties2KHR"                          alias="VkPhysicalDeviceProperties2"/>
         <type category="struct" name="VkFormatProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkFormatProperties</type>               <name>formatProperties</name></member>
         </type>
         <type category="struct" name="VkFormatProperties2KHR"                                  alias="VkFormatProperties2"/>
         <type category="struct" name="VkImageFormatProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkImageFormatProperties</type>          <name>imageFormatProperties</name></member>
         </type>
         <type category="struct" name="VkImageFormatProperties2KHR"                             alias="VkImageFormatProperties2"/>
         <type category="struct" name="VkPhysicalDeviceImageFormatInfo2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkFormat</type>                         <name>format</name></member>
             <member><type>VkImageType</type>                      <name>type</name></member>
             <member><type>VkImageTiling</type>                    <name>tiling</name></member>
@@ -2059,25 +2118,25 @@
         <type category="struct" name="VkPhysicalDeviceImageFormatInfo2KHR"                     alias="VkPhysicalDeviceImageFormatInfo2"/>
         <type category="struct" name="VkQueueFamilyProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkQueueFamilyProperties</type>          <name>queueFamilyProperties</name></member>
         </type>
         <type category="struct" name="VkQueueFamilyProperties2KHR"                             alias="VkQueueFamilyProperties2"/>
         <type category="struct" name="VkPhysicalDeviceMemoryProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkPhysicalDeviceMemoryProperties</type> <name>memoryProperties</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMemoryProperties2KHR"                    alias="VkPhysicalDeviceMemoryProperties2"/>
         <type category="struct" name="VkSparseImageFormatProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkSparseImageFormatProperties</type>    <name>properties</name></member>
         </type>
         <type category="struct" name="VkSparseImageFormatProperties2KHR"                       alias="VkSparseImageFormatProperties2"/>
         <type category="struct" name="VkPhysicalDeviceSparseImageFormatInfo2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkFormat</type>                         <name>format</name></member>
             <member><type>VkImageType</type>                      <name>type</name></member>
             <member><type>VkSampleCountFlagBits</type>            <name>samples</name></member>
@@ -2087,7 +2146,7 @@
         <type category="struct" name="VkPhysicalDeviceSparseImageFormatInfo2KHR"               alias="VkPhysicalDeviceSparseImageFormatInfo2"/>
         <type category="struct" name="VkPhysicalDevicePushDescriptorPropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>maxPushDescriptors</name></member>
         </type>
         <type category="struct" name="VkConformanceVersion">
@@ -2099,7 +2158,7 @@
         <type category="struct" name="VkConformanceVersionKHR"                                 alias="VkConformanceVersion"/>
         <type category="struct" name="VkPhysicalDeviceDriverProperties" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkDriverId</type>                       <name>driverID</name></member>
             <member><type>char</type>                             <name>driverName</name>[<enum>VK_MAX_DRIVER_NAME_SIZE</enum>]</member>
             <member><type>char</type>                             <name>driverInfo</name>[<enum>VK_MAX_DRIVER_INFO_SIZE</enum>]</member>
@@ -2108,7 +2167,7 @@
         <type category="struct" name="VkPhysicalDeviceDriverPropertiesKHR"                     alias="VkPhysicalDeviceDriverProperties"/>
         <type category="struct" name="VkPresentRegionsKHR" structextends="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>swapchainCount</name><comment>Copy of VkPresentInfoKHR::swapchainCount</comment></member>
             <member len="swapchainCount" optional="true">const <type>VkPresentRegionKHR</type>*   <name>pRegions</name><comment>The regions that have changed</comment></member>
         </type>
@@ -2123,7 +2182,7 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceVariablePointersFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>variablePointersStorageBuffer</name></member>
             <member><type>VkBool32</type>                         <name>variablePointers</name></member>
         </type>
@@ -2138,19 +2197,19 @@
         <type category="struct" name="VkExternalMemoryPropertiesKHR"                           alias="VkExternalMemoryProperties"/>
         <type category="struct" name="VkPhysicalDeviceExternalImageFormatInfo"  structextends="VkPhysicalDeviceImageFormatInfo2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExternalImageFormatInfoKHR"              alias="VkPhysicalDeviceExternalImageFormatInfo"/>
         <type category="struct" name="VkExternalImageFormatProperties" returnedonly="true" structextends="VkImageFormatProperties2">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkExternalMemoryProperties</type> <name>externalMemoryProperties</name></member>
         </type>
         <type category="struct" name="VkExternalImageFormatPropertiesKHR"                      alias="VkExternalImageFormatProperties"/>
         <type category="struct" name="VkPhysicalDeviceExternalBufferInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkBufferCreateFlags</type> <name>flags</name></member>
             <member><type>VkBufferUsageFlags</type>               <name>usage</name></member>
             <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
@@ -2158,13 +2217,13 @@
         <type category="struct" name="VkPhysicalDeviceExternalBufferInfoKHR"                   alias="VkPhysicalDeviceExternalBufferInfo"/>
         <type category="struct" name="VkExternalBufferProperties" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkExternalMemoryProperties</type>    <name>externalMemoryProperties</name></member>
         </type>
         <type category="struct" name="VkExternalBufferPropertiesKHR"                           alias="VkExternalBufferProperties"/>
         <type category="struct" name="VkPhysicalDeviceIDProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint8_t</type>                          <name>deviceUUID</name>[<enum>VK_UUID_SIZE</enum>]</member>
             <member><type>uint8_t</type>                          <name>driverUUID</name>[<enum>VK_UUID_SIZE</enum>]</member>
             <member><type>uint8_t</type>                          <name>deviceLUID</name>[<enum>VK_LUID_SIZE</enum>]</member>
@@ -2174,49 +2233,49 @@
         <type category="struct" name="VkPhysicalDeviceIDPropertiesKHR"                         alias="VkPhysicalDeviceIDProperties"/>
         <type category="struct" name="VkExternalMemoryImageCreateInfo" structextends="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
-            <member><type>VkExternalMemoryHandleTypeFlags</type> <name>handleTypes</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true"><type>VkExternalMemoryHandleTypeFlags</type> <name>handleTypes</name></member>
         </type>
         <type category="struct" name="VkExternalMemoryImageCreateInfoKHR"                      alias="VkExternalMemoryImageCreateInfo"/>
         <type category="struct" name="VkExternalMemoryBufferCreateInfo" structextends="VkBufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlags</type> <name>handleTypes</name></member>
         </type>
         <type category="struct" name="VkExternalMemoryBufferCreateInfoKHR"                     alias="VkExternalMemoryBufferCreateInfo"/>
         <type category="struct" name="VkExportMemoryAllocateInfo" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlags</type> <name>handleTypes</name></member>
         </type>
         <type category="struct" name="VkExportMemoryAllocateInfoKHR"                           alias="VkExportMemoryAllocateInfo"/>
         <type category="struct" name="VkImportMemoryWin32HandleInfoKHR" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
             <member optional="true"><type>HANDLE</type>           <name>handle</name></member>
             <member optional="true"><type>LPCWSTR</type>          <name>name</name></member>
         </type>
         <type category="struct" name="VkExportMemoryWin32HandleInfoKHR" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true">const <type>SECURITY_ATTRIBUTES</type>* <name>pAttributes</name></member>
             <member><type>DWORD</type>                            <name>dwAccess</name></member>
             <member><type>LPCWSTR</type>                          <name>name</name></member>
         </type>
         <type category="struct" name="VkImportMemoryZirconHandleInfoFUCHSIA" structextends="VkMemoryAllocateInfo">
-            <member values="VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
             <member>const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
             <member optional="true"><type>zx_handle_t</type>           <name>handle</name></member>
         </type>
         <type category="struct" name="VkMemoryZirconHandlePropertiesFUCHSIA" returnedonly="true">
-            <member values="VK_STRUCTURE_TYPE_TEMP_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member values="VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
             <member><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>memoryTypeBits</name></member>
         </type>
         <type category="struct" name="VkMemoryGetZirconHandleInfoFUCHSIA">
-            <member values="VK_STRUCTURE_TYPE_TEMP_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member values="VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
             <member>const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
@@ -2301,35 +2360,35 @@
         </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><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>memoryTypeBits</name></member>
         </type>
         <type category="struct" name="VkMemoryGetWin32HandleInfoKHR">
             <member values="VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
         <type category="struct" name="VkImportMemoryFdInfoKHR" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
             <member><type>int</type>                              <name>fd</name></member>
         </type>
         <type category="struct" name="VkMemoryFdPropertiesKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>memoryTypeBits</name></member>
         </type>
         <type category="struct" name="VkMemoryGetFdInfoKHR">
             <member values="VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
-        <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoKHR" structextends="VkSubmitInfo">
+        <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoKHR" structextends="VkSubmitInfo,VkSubmitInfo2KHR">
             <member values="VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>acquireCount</name></member>
             <member len="acquireCount">const <type>VkDeviceMemory</type>* <name>pAcquireSyncs</name></member>
             <member len="acquireCount">const <type>uint64_t</type>* <name>pAcquireKeys</name></member>
@@ -2340,13 +2399,13 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceExternalSemaphoreInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExternalSemaphoreInfoKHR"                alias="VkPhysicalDeviceExternalSemaphoreInfo"/>
         <type category="struct" name="VkExternalSemaphoreProperties" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlags</type> <name>exportFromImportedHandleTypes</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlags</type> <name>compatibleHandleTypes</name></member>
             <member optional="true"><type>VkExternalSemaphoreFeatureFlags</type> <name>externalSemaphoreFeatures</name></member>
@@ -2354,29 +2413,29 @@
         <type category="struct" name="VkExternalSemaphorePropertiesKHR"                        alias="VkExternalSemaphoreProperties"/>
         <type category="struct" name="VkExportSemaphoreCreateInfo" structextends="VkSemaphoreCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalSemaphoreHandleTypeFlags</type> <name>handleTypes</name></member>
         </type>
         <type category="struct" name="VkExportSemaphoreCreateInfoKHR"                          alias="VkExportSemaphoreCreateInfo"/>
         <type category="struct" name="VkImportSemaphoreWin32HandleInfoKHR">
             <member values="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member externsync="true"><type>VkSemaphore</type>    <name>semaphore</name></member>
             <member optional="true"><type>VkSemaphoreImportFlags</type> <name>flags</name></member>
-            <member optional="true"><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
+            <member noautovalidity="true"><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
             <member optional="true"><type>HANDLE</type>           <name>handle</name></member>
             <member optional="true"><type>LPCWSTR</type>          <name>name</name></member>
         </type>
         <type category="struct" name="VkExportSemaphoreWin32HandleInfoKHR" structextends="VkSemaphoreCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true">const <type>SECURITY_ATTRIBUTES</type>*       <name>pAttributes</name></member>
             <member><type>DWORD</type>                            <name>dwAccess</name></member>
             <member><type>LPCWSTR</type>                          <name>name</name></member>
         </type>
         <type category="struct" name="VkD3D12FenceSubmitInfoKHR" structextends="VkSubmitInfo">
             <member values="VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>waitSemaphoreValuesCount</name></member>
             <member optional="true" len="waitSemaphoreValuesCount">const <type>uint64_t</type>* <name>pWaitSemaphoreValues</name></member>
             <member optional="true"><type>uint32_t</type>         <name>signalSemaphoreValuesCount</name></member>
@@ -2384,13 +2443,13 @@
         </type>
         <type category="struct" name="VkSemaphoreGetWin32HandleInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkSemaphore</type>                      <name>semaphore</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
         <type category="struct" name="VkImportSemaphoreFdInfoKHR">
             <member values="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member externsync="true"><type>VkSemaphore</type>    <name>semaphore</name></member>
             <member optional="true"><type>VkSemaphoreImportFlags</type> <name>flags</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
@@ -2398,33 +2457,33 @@
         </type>
         <type category="struct" name="VkSemaphoreGetFdInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkSemaphore</type>                      <name>semaphore</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
         <type category="struct" name="VkImportSemaphoreZirconHandleInfoFUCHSIA">
-            <member values="VK_STRUCTURE_TYPE_TEMP_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member values="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member externsync="true"><type>VkSemaphore</type>    <name>semaphore</name></member>
             <member optional="true"><type>VkSemaphoreImportFlags</type> <name>flags</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
-            <member><type>zx_handle_t</type>                              <name>handle</name></member>
+            <member><type>zx_handle_t</type>                              <name>zirconHandle</name></member>
         </type>
         <type category="struct" name="VkSemaphoreGetZirconHandleInfoFUCHSIA">
-            <member values="VK_STRUCTURE_TYPE_TEMP_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member values="VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkSemaphore</type>                      <name>semaphore</name></member>
             <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExternalFenceInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkExternalFenceHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExternalFenceInfoKHR"                    alias="VkPhysicalDeviceExternalFenceInfo"/>
         <type category="struct" name="VkExternalFenceProperties" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkExternalFenceHandleTypeFlags</type> <name>exportFromImportedHandleTypes</name></member>
             <member><type>VkExternalFenceHandleTypeFlags</type> <name>compatibleHandleTypes</name></member>
             <member optional="true"><type>VkExternalFenceFeatureFlags</type> <name>externalFenceFeatures</name></member>
@@ -2432,35 +2491,35 @@
         <type category="struct" name="VkExternalFencePropertiesKHR"                            alias="VkExternalFenceProperties"/>
         <type category="struct" name="VkExportFenceCreateInfo" structextends="VkFenceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalFenceHandleTypeFlags</type> <name>handleTypes</name></member>
         </type>
         <type category="struct" name="VkExportFenceCreateInfoKHR"                              alias="VkExportFenceCreateInfo"/>
         <type category="struct" name="VkImportFenceWin32HandleInfoKHR">
             <member values="VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                        <name>pNext</name></member>
             <member externsync="true"><type>VkFence</type>                          <name>fence</name></member>
             <member optional="true"><type>VkFenceImportFlags</type>              <name>flags</name></member>
-            <member optional="true"><type>VkExternalFenceHandleTypeFlagBits</type>  <name>handleType</name></member>
+            <member noautovalidity="true"><type>VkExternalFenceHandleTypeFlagBits</type>  <name>handleType</name></member>
             <member optional="true"><type>HANDLE</type>                             <name>handle</name></member>
             <member optional="true"><type>LPCWSTR</type>                            <name>name</name></member>
         </type>
         <type category="struct" name="VkExportFenceWin32HandleInfoKHR" structextends="VkFenceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                <name>pNext</name></member>
             <member optional="true">const <type>SECURITY_ATTRIBUTES</type>* <name>pAttributes</name></member>
             <member><type>DWORD</type>                                      <name>dwAccess</name></member>
             <member><type>LPCWSTR</type>                                    <name>name</name></member>
         </type>
         <type category="struct" name="VkFenceGetWin32HandleInfoKHR">
             <member values="VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>VkFence</type>                                <name>fence</name></member>
             <member><type>VkExternalFenceHandleTypeFlagBits</type>   <name>handleType</name></member>
         </type>
         <type category="struct" name="VkImportFenceFdInfoKHR">
             <member values="VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member externsync="true"><type>VkFence</type>              <name>fence</name></member>
             <member optional="true"><type>VkFenceImportFlags</type>  <name>flags</name></member>
             <member><type>VkExternalFenceHandleTypeFlagBits</type>   <name>handleType</name></member>
@@ -2468,13 +2527,13 @@
         </type>
         <type category="struct" name="VkFenceGetFdInfoKHR">
             <member values="VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>VkFence</type>                                <name>fence</name></member>
             <member><type>VkExternalFenceHandleTypeFlagBits</type>   <name>handleType</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMultiviewFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>multiview</name><comment>Multiple views in a renderpass</comment></member>
             <member><type>VkBool32</type>                         <name>multiviewGeometryShader</name><comment>Multiple views in a renderpass w/ geometry shader</comment></member>
             <member><type>VkBool32</type>                         <name>multiviewTessellationShader</name><comment>Multiple views in a renderpass w/ tessellation shader</comment></member>
@@ -2482,14 +2541,14 @@
         <type category="struct" name="VkPhysicalDeviceMultiviewFeaturesKHR"                    alias="VkPhysicalDeviceMultiviewFeatures"/>
         <type category="struct" name="VkPhysicalDeviceMultiviewProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>maxMultiviewViewCount</name><comment>max number of views in a subpass</comment></member>
             <member><type>uint32_t</type>                         <name>maxMultiviewInstanceIndex</name><comment>max instance index for a draw in a multiview subpass</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMultiviewPropertiesKHR"                  alias="VkPhysicalDeviceMultiviewProperties"/>
         <type category="struct" name="VkRenderPassMultiviewCreateInfo" structextends="VkRenderPassCreateInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO"><type>VkStructureType</type>        <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>               <name>subpassCount</name></member>
             <member len="subpassCount">const <type>uint32_t</type>*     <name>pViewMasks</name></member>
             <member optional="true"><type>uint32_t</type>               <name>dependencyCount</name></member>
@@ -2500,7 +2559,7 @@
         <type category="struct" name="VkRenderPassMultiviewCreateInfoKHR"                      alias="VkRenderPassMultiviewCreateInfo"/>
         <type category="struct" name="VkSurfaceCapabilities2EXT" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>minImageCount</name><comment>Supported minimum number of images for the surface</comment></member>
             <member><type>uint32_t</type>                         <name>maxImageCount</name><comment>Supported maximum number of images for the surface, 0 for unlimited</comment></member>
             <member><type>VkExtent2D</type>                       <name>currentExtent</name><comment>Current image width and height for the surface, (0, 0) if undefined</comment></member>
@@ -2515,27 +2574,27 @@
         </type>
         <type category="struct" name="VkDisplayPowerInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDisplayPowerStateEXT</type>           <name>powerState</name></member>
         </type>
         <type category="struct" name="VkDeviceEventInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceEventTypeEXT</type>             <name>deviceEvent</name></member>
         </type>
         <type category="struct" name="VkDisplayEventInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDisplayEventTypeEXT</type>            <name>displayEvent</name></member>
         </type>
         <type category="struct" name="VkSwapchainCounterCreateInfoEXT" structextends="VkSwapchainCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkSurfaceCounterFlagsEXT</type>         <name>surfaceCounters</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceGroupProperties" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>physicalDeviceCount</name></member>
             <member><type>VkPhysicalDevice</type>                 <name>physicalDevices</name>[<enum>VK_MAX_DEVICE_GROUP_SIZE</enum>]</member>
             <member><type>VkBool32</type>                         <name>subsetAllocation</name></member>
@@ -2543,14 +2602,14 @@
         <type category="struct" name="VkPhysicalDeviceGroupPropertiesKHR"                      alias="VkPhysicalDeviceGroupProperties"/>
         <type category="struct" name="VkMemoryAllocateFlagsInfo" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkMemoryAllocateFlags</type> <name>flags</name></member>
             <member><type>uint32_t</type>                         <name>deviceMask</name></member>
         </type>
         <type category="struct" name="VkMemoryAllocateFlagsInfoKHR"                            alias="VkMemoryAllocateFlagsInfo"/>
         <type category="struct" name="VkBindBufferMemoryInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkBuffer</type>                         <name>buffer</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkDeviceSize</type>                     <name>memoryOffset</name></member>
@@ -2558,14 +2617,14 @@
         <type category="struct" name="VkBindBufferMemoryInfoKHR"                               alias="VkBindBufferMemoryInfo"/>
         <type category="struct" name="VkBindBufferMemoryDeviceGroupInfo" structextends="VkBindBufferMemoryInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>deviceIndexCount</name></member>
             <member len="deviceIndexCount">const <type>uint32_t</type>*  <name>pDeviceIndices</name></member>
         </type>
         <type category="struct" name="VkBindBufferMemoryDeviceGroupInfoKHR"                    alias="VkBindBufferMemoryDeviceGroupInfo"/>
         <type category="struct" name="VkBindImageMemoryInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkImage</type>                          <name>image</name></member>
             <member noautovalidity="true"><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkDeviceSize</type>                     <name>memoryOffset</name></member>
@@ -2573,7 +2632,7 @@
         <type category="struct" name="VkBindImageMemoryInfoKHR"                                alias="VkBindImageMemoryInfo"/>
         <type category="struct" name="VkBindImageMemoryDeviceGroupInfo" structextends="VkBindImageMemoryInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>deviceIndexCount</name></member>
             <member len="deviceIndexCount">const <type>uint32_t</type>*  <name>pDeviceIndices</name></member>
             <member optional="true"><type>uint32_t</type>         <name>splitInstanceBindRegionCount</name></member>
@@ -2582,7 +2641,7 @@
         <type category="struct" name="VkBindImageMemoryDeviceGroupInfoKHR"                     alias="VkBindImageMemoryDeviceGroupInfo"/>
         <type category="struct" name="VkDeviceGroupRenderPassBeginInfo" structextends="VkRenderPassBeginInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>deviceMask</name></member>
             <member optional="true"><type>uint32_t</type>         <name>deviceRenderAreaCount</name></member>
             <member len="deviceRenderAreaCount">const <type>VkRect2D</type>*  <name>pDeviceRenderAreas</name></member>
@@ -2590,13 +2649,13 @@
         <type category="struct" name="VkDeviceGroupRenderPassBeginInfoKHR"                     alias="VkDeviceGroupRenderPassBeginInfo"/>
         <type category="struct" name="VkDeviceGroupCommandBufferBeginInfo" structextends="VkCommandBufferBeginInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>deviceMask</name></member>
         </type>
         <type category="struct" name="VkDeviceGroupCommandBufferBeginInfoKHR"                  alias="VkDeviceGroupCommandBufferBeginInfo"/>
         <type category="struct" name="VkDeviceGroupSubmitInfo" structextends="VkSubmitInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>waitSemaphoreCount</name></member>
             <member len="waitSemaphoreCount">const <type>uint32_t</type>*    <name>pWaitSemaphoreDeviceIndices</name></member>
             <member optional="true"><type>uint32_t</type>         <name>commandBufferCount</name></member>
@@ -2607,31 +2666,31 @@
         <type category="struct" name="VkDeviceGroupSubmitInfoKHR"                              alias="VkDeviceGroupSubmitInfo"/>
         <type category="struct" name="VkDeviceGroupBindSparseInfo" structextends="VkBindSparseInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>resourceDeviceIndex</name></member>
             <member><type>uint32_t</type>                         <name>memoryDeviceIndex</name></member>
         </type>
         <type category="struct" name="VkDeviceGroupBindSparseInfoKHR"                          alias="VkDeviceGroupBindSparseInfo"/>
         <type category="struct" name="VkDeviceGroupPresentCapabilitiesKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>presentMask</name>[<enum>VK_MAX_DEVICE_GROUP_SIZE</enum>]</member>
             <member><type>VkDeviceGroupPresentModeFlagsKHR</type> <name>modes</name></member>
         </type>
         <type category="struct" name="VkImageSwapchainCreateInfoKHR" structextends="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkSwapchainKHR</type>   <name>swapchain</name></member>
         </type>
         <type category="struct" name="VkBindImageMemorySwapchainInfoKHR" structextends="VkBindImageMemoryInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></member>
             <member><type>uint32_t</type>                         <name>imageIndex</name></member>
         </type>
         <type category="struct" name="VkAcquireNextImageInfoKHR">
             <member values="VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></member>
             <member><type>uint64_t</type>                         <name>timeout</name></member>
             <member optional="true" externsync="true"><type>VkSemaphore</type> <name>semaphore</name></member>
@@ -2640,21 +2699,21 @@
         </type>
         <type category="struct" name="VkDeviceGroupPresentInfoKHR" structextends="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>swapchainCount</name></member>
             <member len="swapchainCount">const <type>uint32_t</type>* <name>pDeviceMasks</name></member>
             <member><type>VkDeviceGroupPresentModeFlagBitsKHR</type> <name>mode</name></member>
         </type>
         <type category="struct" name="VkDeviceGroupDeviceCreateInfo" structextends="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                         <name>physicalDeviceCount</name></member>
             <member len="physicalDeviceCount">const <type>VkPhysicalDevice</type>*  <name>pPhysicalDevices</name></member>
         </type>
         <type category="struct" name="VkDeviceGroupDeviceCreateInfoKHR"                        alias="VkDeviceGroupDeviceCreateInfo"/>
         <type category="struct" name="VkDeviceGroupSwapchainCreateInfoKHR" structextends="VkSwapchainCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceGroupPresentModeFlagsKHR</type>                         <name>modes</name></member>
         </type>
         <type category="struct" name="VkDescriptorUpdateTemplateEntry">
@@ -2668,7 +2727,7 @@
         <type category="struct" name="VkDescriptorUpdateTemplateEntryKHR"                      alias="VkDescriptorUpdateTemplateEntry"/>
         <type category="struct" name="VkDescriptorUpdateTemplateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                               <name>pNext</name></member>
             <member optional="true"><type>VkDescriptorUpdateTemplateCreateFlags</type>    <name>flags</name></member>
             <member><type>uint32_t</type>                 <name>descriptorUpdateEntryCount</name><comment>Number of descriptor update entries to use for the update template</comment></member>
             <member len="descriptorUpdateEntryCount">const <type>VkDescriptorUpdateTemplateEntry</type>* <name>pDescriptorUpdateEntries</name><comment>Descriptor update entries for the template</comment></member>
@@ -2686,7 +2745,7 @@
         <type category="struct" name="VkHdrMetadataEXT">
                 <comment>Display primary in chromaticity coordinates</comment>
             <member values="VK_STRUCTURE_TYPE_HDR_METADATA_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*    <name>pNext</name></member>
                 <comment> From SMPTE 2086</comment>
             <member noautovalidity="true"><type>VkXYColorEXT</type>   <name>displayPrimaryRed</name><comment>Display primary's Red</comment></member>
             <member noautovalidity="true"><type>VkXYColorEXT</type>   <name>displayPrimaryGreen</name><comment>Display primary's Green</comment></member>
@@ -2700,12 +2759,12 @@
         </type>
         <type category="struct" name="VkDisplayNativeHdrSurfaceCapabilitiesAMD" returnedonly="true" structextends="VkSurfaceCapabilities2KHR">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*          <name>pNext</name></member>
+            <member optional="true"><type>void</type>*          <name>pNext</name></member>
             <member><type>VkBool32</type>       <name>localDimmingSupport</name></member>
         </type>
         <type category="struct" name="VkSwapchainDisplayNativeHdrCreateInfoAMD" structextends="VkSwapchainCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>       <name>localDimmingEnable</name></member>
         </type>
         <type category="struct" name="VkRefreshCycleDurationGOOGLE" returnedonly="true">
@@ -2720,7 +2779,7 @@
         </type>
         <type category="struct" name="VkPresentTimesInfoGOOGLE" structextends="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>swapchainCount</name><comment>Copy of VkPresentInfoKHR::swapchainCount</comment></member>
             <member len="swapchainCount" optional="true">const <type>VkPresentTimeGOOGLE</type>*   <name>pTimes</name><comment>The earliest times to present images</comment></member>
         </type>
@@ -2730,19 +2789,19 @@
         </type>
         <type category="struct" name="VkIOSSurfaceCreateInfoMVK">
             <member values="VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                    <name>pNext</name></member>
             <member optional="true"><type>VkIOSSurfaceCreateFlagsMVK</type>     <name>flags</name></member>
             <member noautovalidity="true">const <type>void</type>*                                    <name>pView</name></member>
         </type>
         <type category="struct" name="VkMacOSSurfaceCreateInfoMVK">
             <member values="VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                    <name>pNext</name></member>
             <member optional="true"><type>VkMacOSSurfaceCreateFlagsMVK</type>   <name>flags</name></member>
             <member noautovalidity="true">const <type>void</type>*                                    <name>pView</name></member>
         </type>
         <type category="struct" name="VkMetalSurfaceCreateInfoEXT">
             <member values="VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                    <name>pNext</name></member>
             <member optional="true"><type>VkMetalSurfaceCreateFlagsEXT</type>   <name>flags</name></member>
             <member noautovalidity="true">const <type>CAMetalLayer</type>*      <name>pLayer</name></member>
         </type>
@@ -2752,7 +2811,7 @@
         </type>
         <type category="struct" name="VkPipelineViewportWScalingStateCreateInfoNV" structextends="VkPipelineViewportStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>viewportWScalingEnable</name></member>
             <member><type>uint32_t</type>               <name>viewportCount</name></member>
             <member noautovalidity="true" optional="true" len="viewportCount">const <type>VkViewportWScalingNV</type>*      <name>pViewportWScalings</name></member>
@@ -2765,19 +2824,19 @@
         </type>
         <type category="struct" name="VkPipelineViewportSwizzleStateCreateInfoNV" structextends="VkPipelineViewportStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineViewportSwizzleStateCreateFlagsNV</type>    <name>flags</name></member>
             <member><type>uint32_t</type>               <name>viewportCount</name></member>
             <member len="viewportCount">const <type>VkViewportSwizzleNV</type>*      <name>pViewportSwizzles</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceDiscardRectanglePropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>maxDiscardRectangles</name><comment>max number of active discard rectangles</comment></member>
         </type>
         <type category="struct" name="VkPipelineDiscardRectangleStateCreateInfoEXT" structextends="VkGraphicsPipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                       <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                       <name>pNext</name></member>
             <member optional="true"><type>VkPipelineDiscardRectangleStateCreateFlagsEXT</type>     <name>flags</name></member>
             <member><type>VkDiscardRectangleModeEXT</type>                                         <name>discardRectangleMode</name></member>
             <member optional="true"><type>uint32_t</type>                                          <name>discardRectangleCount</name></member>
@@ -2785,7 +2844,7 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>perViewPositionAllComponents</name></member>
         </type>
         <type category="struct" name="VkInputAttachmentAspectReference">
@@ -2796,60 +2855,60 @@
         <type category="struct" name="VkInputAttachmentAspectReferenceKHR"                     alias="VkInputAttachmentAspectReference"/>
         <type category="struct" name="VkRenderPassInputAttachmentAspectCreateInfo" structextends="VkRenderPassCreateInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                     <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                     <name>pNext</name></member>
             <member><type>uint32_t</type>                        <name>aspectReferenceCount</name></member>
             <member len="aspectReferenceCount">const <type>VkInputAttachmentAspectReference</type>* <name>pAspectReferences</name></member>
         </type>
         <type category="struct" name="VkRenderPassInputAttachmentAspectCreateInfoKHR"          alias="VkRenderPassInputAttachmentAspectCreateInfo"/>
         <type category="struct" name="VkPhysicalDeviceSurfaceInfo2KHR">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkSurfaceKHR</type> <name>surface</name></member>
         </type>
         <type category="struct" name="VkSurfaceCapabilities2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*   <name>pNext</name></member>
+            <member optional="true"><type>void</type>*   <name>pNext</name></member>
             <member><type>VkSurfaceCapabilitiesKHR</type> <name>surfaceCapabilities</name></member>
         </type>
         <type category="struct" name="VkSurfaceFormat2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkSurfaceFormatKHR</type> <name>surfaceFormat</name></member>
         </type>
         <type category="struct" name="VkDisplayProperties2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkDisplayPropertiesKHR</type> <name>displayProperties</name></member>
         </type>
         <type category="struct" name="VkDisplayPlaneProperties2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkDisplayPlanePropertiesKHR</type> <name>displayPlaneProperties</name></member>
         </type>
         <type category="struct" name="VkDisplayModeProperties2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkDisplayModePropertiesKHR</type> <name>displayModeProperties</name></member>
         </type>
         <type category="struct" name="VkDisplayPlaneInfo2KHR">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member externsync="true"><type>VkDisplayModeKHR</type> <name>mode</name></member>
             <member><type>uint32_t</type> <name>planeIndex</name></member>
         </type>
         <type category="struct" name="VkDisplayPlaneCapabilities2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkDisplayPlaneCapabilitiesKHR</type> <name>capabilities</name></member>
         </type>
         <type category="struct" name="VkSharedPresentSurfaceCapabilitiesKHR" returnedonly="true" structextends="VkSurfaceCapabilities2KHR">
             <member values="VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member optional="true"><type>VkImageUsageFlags</type> <name>sharedPresentSupportedUsageFlags</name><comment>Supported image usage flags if swapchain created using a shared present mode</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDevice16BitStorageFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>storageBuffer16BitAccess</name><comment>16-bit integer/floating-point variables supported in BufferBlock</comment></member>
             <member><type>VkBool32</type>                         <name>uniformAndStorageBuffer16BitAccess</name><comment>16-bit integer/floating-point variables supported in BufferBlock and Block</comment></member>
             <member><type>VkBool32</type>                         <name>storagePushConstant16</name><comment>16-bit integer/floating-point variables supported in PushConstant</comment></member>
@@ -2858,89 +2917,89 @@
         <type category="struct" name="VkPhysicalDevice16BitStorageFeaturesKHR"                 alias="VkPhysicalDevice16BitStorageFeatures"/>
         <type category="struct" name="VkPhysicalDeviceSubgroupProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                   <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                   <name>pNext</name></member>
             <member noautovalidity="true"><type>uint32_t</type>                      <name>subgroupSize</name><comment>The size of a subgroup for this queue.</comment></member>
             <member noautovalidity="true"><type>VkShaderStageFlags</type>            <name>supportedStages</name><comment>Bitfield of what shader stages support subgroup operations</comment></member>
             <member noautovalidity="true"><type>VkSubgroupFeatureFlags</type>        <name>supportedOperations</name><comment>Bitfield of what subgroup operations are supported.</comment></member>
             <member noautovalidity="true"><type>VkBool32</type> <name>quadOperationsInAllStages</name><comment>Flag to specify whether quad operations are available in all stages.</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
-             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-             <member><type>void</type>*                          <name>pNext</name></member>
-             <member noautovalidity="true"><type>VkBool32</type> <name>shaderSubgroupExtendedTypes</name><comment>Flag to specify whether subgroup operations with extended types are supported</comment></member>
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                          <name>pNext</name></member>
+            <member noautovalidity="true"><type>VkBool32</type> <name>shaderSubgroupExtendedTypes</name><comment>Flag to specify whether subgroup operations with extended types are supported</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR"  alias="VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures"/>
         <type category="struct" name="VkBufferMemoryRequirementsInfo2">
             <member values="VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                          <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                          <name>pNext</name></member>
             <member><type>VkBuffer</type>                                                             <name>buffer</name></member>
         </type>
         <type category="struct" name="VkBufferMemoryRequirementsInfo2KHR"                      alias="VkBufferMemoryRequirementsInfo2"/>
         <type category="struct" name="VkImageMemoryRequirementsInfo2">
             <member values="VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                          <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                          <name>pNext</name></member>
             <member><type>VkImage</type>                                                              <name>image</name></member>
         </type>
         <type category="struct" name="VkImageMemoryRequirementsInfo2KHR"                       alias="VkImageMemoryRequirementsInfo2"/>
         <type category="struct" name="VkImageSparseMemoryRequirementsInfo2">
             <member values="VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                          <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                          <name>pNext</name></member>
             <member><type>VkImage</type>                                                              <name>image</name></member>
         </type>
         <type category="struct" name="VkImageSparseMemoryRequirementsInfo2KHR"                 alias="VkImageSparseMemoryRequirementsInfo2"/>
         <type category="struct" name="VkMemoryRequirements2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkMemoryRequirements</type>                                                 <name>memoryRequirements</name></member>
         </type>
         <type category="struct" name="VkMemoryRequirements2KHR"                                alias="VkMemoryRequirements2"/>
         <type category="struct" name="VkSparseImageMemoryRequirements2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                                       <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                                       <name>pNext</name></member>
             <member><type>VkSparseImageMemoryRequirements</type>                                      <name>memoryRequirements</name></member>
         </type>
         <type category="struct" name="VkSparseImageMemoryRequirements2KHR"                     alias="VkSparseImageMemoryRequirements2"/>
         <type category="struct" name="VkPhysicalDevicePointClippingProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkPointClippingBehavior</type>      <name>pointClippingBehavior</name></member>
         </type>
         <type category="struct" name="VkPhysicalDevicePointClippingPropertiesKHR"              alias="VkPhysicalDevicePointClippingProperties"/>
         <type category="struct" name="VkMemoryDedicatedRequirements" returnedonly="true" structextends="VkMemoryRequirements2">
             <member values="VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>prefersDedicatedAllocation</name></member>
             <member><type>VkBool32</type>                         <name>requiresDedicatedAllocation</name></member>
         </type>
         <type category="struct" name="VkMemoryDedicatedRequirementsKHR"                        alias="VkMemoryDedicatedRequirements"/>
         <type category="struct" name="VkMemoryDedicatedAllocateInfo" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkImage</type>          <name>image</name><comment>Image that this allocation will be bound to</comment></member>
             <member optional="true"><type>VkBuffer</type>         <name>buffer</name><comment>Buffer that this allocation will be bound to</comment></member>
         </type>
         <type category="struct" name="VkMemoryDedicatedAllocateInfoKHR"                        alias="VkMemoryDedicatedAllocateInfo"/>
         <type category="struct" name="VkImageViewUsageCreateInfo" structextends="VkImageViewCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkImageUsageFlags</type> <name>usage</name></member>
         </type>
         <type category="struct" name="VkImageViewUsageCreateInfoKHR"                           alias="VkImageViewUsageCreateInfo"/>
         <type category="struct" name="VkPipelineTessellationDomainOriginStateCreateInfo" structextends="VkPipelineTessellationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkTessellationDomainOrigin</type>    <name>domainOrigin</name></member>
         </type>
         <type category="struct" name="VkPipelineTessellationDomainOriginStateCreateInfoKHR"    alias="VkPipelineTessellationDomainOriginStateCreateInfo"/>
         <type category="struct" name="VkSamplerYcbcrConversionInfo" structextends="VkSamplerCreateInfo,VkImageViewCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkSamplerYcbcrConversion</type>      <name>conversion</name></member>
         </type>
         <type category="struct" name="VkSamplerYcbcrConversionInfoKHR"                         alias="VkSamplerYcbcrConversionInfo"/>
         <type category="struct" name="VkSamplerYcbcrConversionCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkFormat</type>                         <name>format</name></member>
             <member><type>VkSamplerYcbcrModelConversion</type> <name>ycbcrModel</name></member>
             <member><type>VkSamplerYcbcrRange</type>           <name>ycbcrRange</name></member>
@@ -2953,72 +3012,72 @@
         <type category="struct" name="VkSamplerYcbcrConversionCreateInfoKHR"                   alias="VkSamplerYcbcrConversionCreateInfo"/>
         <type category="struct" name="VkBindImagePlaneMemoryInfo" structextends="VkBindImageMemoryInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkImageAspectFlagBits</type>            <name>planeAspect</name></member>
         </type>
         <type category="struct" name="VkBindImagePlaneMemoryInfoKHR"                           alias="VkBindImagePlaneMemoryInfo"/>
         <type category="struct" name="VkImagePlaneMemoryRequirementsInfo" structextends="VkImageMemoryRequirementsInfo2">
             <member values="VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkImageAspectFlagBits</type>            <name>planeAspect</name></member>
         </type>
         <type category="struct" name="VkImagePlaneMemoryRequirementsInfoKHR"                   alias="VkImagePlaneMemoryRequirementsInfo"/>
         <type category="struct" name="VkPhysicalDeviceSamplerYcbcrConversionFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>samplerYcbcrConversion</name><comment>Sampler color conversion supported</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR"       alias="VkPhysicalDeviceSamplerYcbcrConversionFeatures"/>
         <type category="struct" name="VkSamplerYcbcrConversionImageFormatProperties" returnedonly="true" structextends="VkImageFormatProperties2">
             <member values="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>combinedImageSamplerDescriptorCount</name></member>
         </type>
         <type category="struct" name="VkSamplerYcbcrConversionImageFormatPropertiesKHR"        alias="VkSamplerYcbcrConversionImageFormatProperties"/>
         <type category="struct" name="VkTextureLODGatherFormatPropertiesAMD" returnedonly="true" structextends="VkImageFormatProperties2">
             <member values="VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>supportsTextureGatherLODBiasAMD</name></member>
         </type>
         <type category="struct" name="VkConditionalRenderingBeginInfoEXT">
             <member values="VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkBuffer</type>                         <name>buffer</name></member>
             <member><type>VkDeviceSize</type>                     <name>offset</name></member>
             <member optional="true"><type>VkConditionalRenderingFlagsEXT</type>    <name>flags</name></member>
         </type>
         <type category="struct" name="VkProtectedSubmitInfo" structextends="VkSubmitInfo">
             <member values="VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                     <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                     <name>pNext</name></member>
             <member><type>VkBool32</type>                        <name>protectedSubmit</name><comment>Submit protected command buffers</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceProtectedMemoryFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>protectedMemory</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceProtectedMemoryProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>protectedNoFault</name></member>
         </type>
         <type category="struct" name="VkDeviceQueueInfo2">
             <member values="VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member optional="true"><type>VkDeviceQueueCreateFlags</type>            <name>flags</name></member>
             <member><type>uint32_t</type>                            <name>queueFamilyIndex</name></member>
             <member><type>uint32_t</type>                            <name>queueIndex</name></member>
         </type>
         <type category="struct" name="VkPipelineCoverageToColorStateCreateInfoNV" structextends="VkPipelineMultisampleStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                      <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCoverageToColorStateCreateFlagsNV</type>                    <name>flags</name></member>
             <member><type>VkBool32</type>                         <name>coverageToColorEnable</name></member>
             <member optional="true"><type>uint32_t</type>         <name>coverageToColorLocation</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSamplerFilterMinmaxProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>filterMinmaxSingleComponentFormats</name></member>
             <member><type>VkBool32</type>               <name>filterMinmaxImageComponentMapping</name></member>
         </type>
@@ -3027,10 +3086,10 @@
             <member><type>float</type>                            <name>x</name></member>
             <member><type>float</type>                            <name>y</name></member>
         </type>
-        <type category="struct" name="VkSampleLocationsInfoEXT" structextends="VkImageMemoryBarrier">
+        <type category="struct" name="VkSampleLocationsInfoEXT" structextends="VkImageMemoryBarrier,VkImageMemoryBarrier2KHR">
             <member values="VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
-            <member optional="true"><type>VkSampleCountFlagBits</type>  <name>sampleLocationsPerPixel</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
+            <member noautovalidity="true"><type>VkSampleCountFlagBits</type>  <name>sampleLocationsPerPixel</name></member>
             <member><type>VkExtent2D</type>                             <name>sampleLocationGridSize</name></member>
             <member optional="true"><type>uint32_t</type>               <name>sampleLocationsCount</name></member>
             <member len="sampleLocationsCount">const <type>VkSampleLocationEXT</type>* <name>pSampleLocations</name></member>
@@ -3045,7 +3104,7 @@
         </type>
         <type category="struct" name="VkRenderPassSampleLocationsBeginInfoEXT" structextends="VkRenderPassBeginInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>attachmentInitialSampleLocationsCount</name></member>
             <member len="attachmentInitialSampleLocationsCount">const <type>VkAttachmentSampleLocationsEXT</type>* <name>pAttachmentInitialSampleLocations</name></member>
             <member optional="true"><type>uint32_t</type>         <name>postSubpassSampleLocationsCount</name></member>
@@ -3053,13 +3112,13 @@
         </type>
         <type category="struct" name="VkPipelineSampleLocationsStateCreateInfoEXT" structextends="VkPipelineMultisampleStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>sampleLocationsEnable</name></member>
             <member><type>VkSampleLocationsInfoEXT</type>         <name>sampleLocationsInfo</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSampleLocationsPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkSampleCountFlags</type>               <name>sampleLocationSampleCounts</name></member>
             <member><type>VkExtent2D</type>                       <name>maxSampleLocationGridSize</name></member>
             <member><type>float</type>                            <name>sampleLocationCoordinateRange</name>[2]</member>
@@ -3068,23 +3127,23 @@
         </type>
         <type category="struct" name="VkMultisamplePropertiesEXT" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkExtent2D</type>                       <name>maxSampleLocationGridSize</name></member>
         </type>
         <type category="struct" name="VkSamplerReductionModeCreateInfo" structextends="VkSamplerCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkSamplerReductionMode</type>           <name>reductionMode</name></member>
         </type>
         <type category="struct" name="VkSamplerReductionModeCreateInfoEXT" alias="VkSamplerReductionModeCreateInfo"/>
         <type category="struct" name="VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>advancedBlendCoherentOperations</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>advancedBlendMaxColorAttachments</name></member>
             <member><type>VkBool32</type>                         <name>advancedBlendIndependentBlend</name></member>
             <member><type>VkBool32</type>                         <name>advancedBlendNonPremultipliedSrcColor</name></member>
@@ -3094,20 +3153,20 @@
         </type>
         <type category="struct" name="VkPipelineColorBlendAdvancedStateCreateInfoEXT" structextends="VkPipelineColorBlendStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>srcPremultiplied</name></member>
             <member><type>VkBool32</type>               <name>dstPremultiplied</name></member>
             <member><type>VkBlendOverlapEXT</type>      <name>blendOverlap</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceInlineUniformBlockFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>inlineUniformBlock</name></member>
             <member><type>VkBool32</type>               <name>descriptorBindingInlineUniformBlockUpdateAfterBind</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceInlineUniformBlockPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>maxInlineUniformBlockSize</name></member>
             <member><type>uint32_t</type>               <name>maxPerStageDescriptorInlineUniformBlocks</name></member>
             <member><type>uint32_t</type>               <name>maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks</name></member>
@@ -3116,18 +3175,18 @@
         </type>
         <type category="struct" name="VkWriteDescriptorSetInlineUniformBlockEXT" structextends="VkWriteDescriptorSet">
             <member values="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>dataSize</name></member>
             <member len="dataSize">const <type>void</type>* <name>pData</name></member>
         </type>
         <type category="struct" name="VkDescriptorPoolInlineUniformBlockCreateInfoEXT" structextends="VkDescriptorPoolCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>maxInlineUniformBlockBindings</name></member>
         </type>
         <type category="struct" name="VkPipelineCoverageModulationStateCreateInfoNV" structextends="VkPipelineMultisampleStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                      <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCoverageModulationStateCreateFlagsNV</type>                   <name>flags</name></member>
             <member><type>VkCoverageModulationModeNV</type>                                                       <name>coverageModulationMode</name></member>
             <member><type>VkBool32</type>                                                                         <name>coverageModulationTableEnable</name></member>
@@ -3136,45 +3195,45 @@
         </type>
         <type category="struct" name="VkImageFormatListCreateInfo" structextends="VkImageCreateInfo,VkSwapchainCreateInfoKHR,VkPhysicalDeviceImageFormatInfo2">
             <member values="VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>               <name>viewFormatCount</name></member>
             <member len="viewFormatCount">const <type>VkFormat</type>*  <name>pViewFormats</name></member>
         </type>
         <type category="struct" name="VkImageFormatListCreateInfoKHR"                          alias="VkImageFormatListCreateInfo"/>
         <type category="struct" name="VkValidationCacheCreateInfoEXT">
             <member values="VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkValidationCacheCreateFlagsEXT</type>    <name>flags</name></member>
             <member optional="true"><type>size_t</type>                 <name>initialDataSize</name></member>
             <member len="initialDataSize">const <type>void</type>*            <name>pInitialData</name></member>
         </type>
         <type category="struct" name="VkShaderModuleValidationCacheCreateInfoEXT" structextends="VkShaderModuleCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkValidationCacheEXT</type>    <name>validationCache</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMaintenance3Properties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>maxPerSetDescriptors</name></member>
             <member><type>VkDeviceSize</type>                     <name>maxMemoryAllocationSize</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMaintenance3PropertiesKHR"               alias="VkPhysicalDeviceMaintenance3Properties"/>
         <type category="struct" name="VkDescriptorSetLayoutSupport" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*            <name>pNext</name></member>
             <member><type>VkBool32</type>         <name>supported</name></member>
         </type>
         <type category="struct" name="VkDescriptorSetLayoutSupportKHR"                         alias="VkDescriptorSetLayoutSupport"/>
         <type category="struct" name="VkPhysicalDeviceShaderDrawParametersFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>shaderDrawParameters</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderDrawParameterFeatures"             alias="VkPhysicalDeviceShaderDrawParametersFeatures"/>
         <type category="struct" name="VkPhysicalDeviceShaderFloat16Int8Features" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>shaderFloat16</name><comment>16-bit floats (halfs) in shaders</comment></member>
             <member><type>VkBool32</type>                         <name>shaderInt8</name><comment>8-bit integers in shaders</comment></member>
         </type>
@@ -3182,7 +3241,7 @@
         <type category="struct" name="VkPhysicalDeviceFloat16Int8FeaturesKHR"                  alias="VkPhysicalDeviceShaderFloat16Int8Features"/>
         <type category="struct" name="VkPhysicalDeviceFloatControlsProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkShaderFloatControlsIndependence</type> <name>denormBehaviorIndependence</name></member>
             <member><type>VkShaderFloatControlsIndependence</type> <name>roundingModeIndependence</name></member>
             <member><type>VkBool32</type>                         <name>shaderSignedZeroInfNanPreserveFloat16</name><comment>An implementation can preserve signed zero, nan, inf</comment></member>
@@ -3204,7 +3263,7 @@
         <type category="struct" name="VkPhysicalDeviceFloatControlsPropertiesKHR"              alias="VkPhysicalDeviceFloatControlsProperties"/>
         <type category="struct" name="VkPhysicalDeviceHostQueryResetFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>hostQueryReset</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceHostQueryResetFeaturesEXT"               alias="VkPhysicalDeviceHostQueryResetFeatures"/>
@@ -3214,7 +3273,7 @@
         </type>
         <type category="struct" name="VkNativeBufferANDROID">
             <member values="VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member>const <type>void</type>* <name>handle</name></member>
             <member><type>int</type> <name>stride</name></member>
             <member><type>int</type> <name>format</name></member>
@@ -3223,12 +3282,12 @@
         </type>
         <type category="struct" name="VkSwapchainImageCreateInfoANDROID">
             <member values="VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkSwapchainImageUsageFlagsANDROID</type> <name>usage</name></member>
         </type>
         <type category="struct" name="VkPhysicalDevicePresentationPropertiesANDROID">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkBool32</type> <name>sharedImage</name></member>
         </type>
         <type category="struct" name="VkShaderResourceUsageAMD" returnedonly="true">
@@ -3249,19 +3308,19 @@
         </type>
         <type category="struct" name="VkDeviceQueueGlobalPriorityCreateInfoEXT" structextends="VkDeviceQueueCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                    <name>pNext</name></member>
             <member><type>VkQueueGlobalPriorityEXT</type>       <name>globalPriority</name></member>
         </type>
         <type category="struct" name="VkDebugUtilsObjectNameInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
             <member><type>VkObjectType</type>                                           <name>objectType</name></member>
             <member><type>uint64_t</type>                                               <name>objectHandle</name></member>
             <member optional="true" len="null-terminated">const <type>char</type>*      <name>pObjectName</name></member>
         </type>
         <type category="struct" name="VkDebugUtilsObjectTagInfoEXT">
             <member values="VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>VkObjectType</type>                           <name>objectType</name></member>
             <member><type>uint64_t</type>                               <name>objectHandle</name></member>
             <member><type>uint64_t</type>                               <name>tagName</name></member>
@@ -3270,13 +3329,13 @@
         </type>
         <type category="struct" name="VkDebugUtilsLabelEXT">
             <member values="VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member len="null-terminated">const <type>char</type>*      <name>pLabelName</name></member>
-            <member optional="true"><type>float</type>                  <name>color</name>[4]</member>
+            <member><type>float</type>                  <name>color</name>[4]</member>
         </type>
-        <type category="struct" name="VkDebugUtilsMessengerCreateInfoEXT" structextends="VkInstanceCreateInfo">
+        <type category="struct" name="VkDebugUtilsMessengerCreateInfoEXT" allowduplicate="true" structextends="VkInstanceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                          <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                          <name>pNext</name></member>
             <member optional="true"><type>VkDebugUtilsMessengerCreateFlagsEXT</type>  <name>flags</name></member>
             <member><type>VkDebugUtilsMessageSeverityFlagsEXT</type>                  <name>messageSeverity</name></member>
             <member><type>VkDebugUtilsMessageTypeFlagsEXT</type>                      <name>messageType</name></member>
@@ -3288,7 +3347,7 @@
             <member optional="true">const <type>void</type>*                                                        <name>pNext</name></member>
             <member optional="true"><type>VkDebugUtilsMessengerCallbackDataFlagsEXT</type>                          <name>flags</name></member>
             <member optional="true" len="null-terminated">const <type>char</type>*                                  <name>pMessageIdName</name></member>
-            <member optional="true"><type>int32_t</type>                                                            <name>messageIdNumber</name></member>
+            <member><type>int32_t</type>                                                            <name>messageIdNumber</name></member>
             <member len="null-terminated">const <type>char</type>*                                                  <name>pMessage</name></member>
             <member optional="true"><type>uint32_t</type>                                                           <name>queueLabelCount</name></member>
             <member len="queueLabelCount">const <type>VkDebugUtilsLabelEXT</type>*                  <name>pQueueLabels</name></member>
@@ -3297,25 +3356,48 @@
             <member optional="true"><type>uint32_t</type>                                                           <name>objectCount</name></member>
             <member len="objectCount">const <type>VkDebugUtilsObjectNameInfoEXT</type>*             <name>pObjects</name></member>
         </type>
+        <type category="struct" name="VkPhysicalDeviceDeviceMemoryReportFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
+            <member><type>VkBool32</type>                    <name>deviceMemoryReport</name></member>
+        </type>
+        <type category="struct" name="VkDeviceDeviceMemoryReportCreateInfoEXT" allowduplicate="true" structextends="VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*         <name>pNext</name></member>
+            <member><type>VkDeviceMemoryReportFlagsEXT</type>        <name>flags</name></member>
+            <member><type>PFN_vkDeviceMemoryReportCallbackEXT</type> <name>pfnUserCallback</name></member>
+            <member><type>void</type>*                               <name>pUserData</name></member>
+        </type>
+        <type category="struct" name="VkDeviceMemoryReportCallbackDataEXT" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
+            <member><type>VkDeviceMemoryReportFlagsEXT</type>     <name>flags</name></member>
+            <member><type>VkDeviceMemoryReportEventTypeEXT</type> <name>type</name></member>
+            <member><type>uint64_t</type>                         <name>memoryObjectId</name></member>
+            <member><type>VkDeviceSize</type>                     <name>size</name></member>
+            <member><type>VkObjectType</type>                     <name>objectType</name></member>
+            <member><type>uint64_t</type>                         <name>objectHandle</name></member>
+            <member><type>uint32_t</type>                         <name>heapIndex</name></member>
+        </type>
         <type category="struct" name="VkImportMemoryHostPointerInfoEXT" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
             <member optional="false"><type>void</type>* <name>pHostPointer</name></member>
         </type>
         <type category="struct" name="VkMemoryHostPointerPropertiesEXT" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>uint32_t</type> <name>memoryTypeBits</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExternalMemoryHostPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkDeviceSize</type> <name>minImportedHostPointerAlignment</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceConservativeRasterizationPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>float</type>                  <name>primitiveOverestimationSize</name><comment>The size in pixels the primitive is enlarged at each edge during conservative rasterization</comment></member>
             <member><type>float</type>                  <name>maxExtraPrimitiveOverestimationSize</name><comment>The maximum additional overestimation the client can specify in the pipeline state</comment></member>
             <member><type>float</type>                  <name>extraPrimitiveOverestimationSizeGranularity</name><comment>The granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize</comment></member>
@@ -3328,12 +3410,12 @@
         </type>
         <type category="struct" name="VkCalibratedTimestampInfoEXT">
             <member values="VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkTimeDomainEXT</type>        <name>timeDomain</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderCorePropertiesAMD" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>uint32_t</type> <name>shaderEngineCount</name><comment>number of shader engines</comment></member>
             <member><type>uint32_t</type> <name>shaderArraysPerEngineCount</name><comment>number of shader arrays</comment></member>
             <member><type>uint32_t</type> <name>computeUnitsPerShaderArray</name><comment>number of physical CUs per shader array</comment></member>
@@ -3351,20 +3433,20 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderCoreProperties2AMD" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*    <name>pNext</name><comment>Pointer to next structure</comment></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name><comment>Pointer to next structure</comment></member>
             <member><type>VkShaderCorePropertiesFlagsAMD</type> <name>shaderCoreFeatures</name><comment>features supported by the shader core</comment></member>
             <member><type>uint32_t</type> <name>activeComputeUnitCount</name><comment>number of active compute units across all shader engines/arrays</comment></member>
         </type>
         <type category="struct" name="VkPipelineRasterizationConservativeStateCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                      <name>pNext</name></member>
             <member optional="true"><type>VkPipelineRasterizationConservativeStateCreateFlagsEXT</type>           <name>flags</name><comment>Reserved</comment></member>
             <member><type>VkConservativeRasterizationModeEXT</type>                                               <name>conservativeRasterizationMode</name><comment>Conservative rasterization mode</comment></member>
             <member><type>float</type>                                                                            <name>extraPrimitiveOverestimationSize</name><comment>Extra overestimation to add to the primitive</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceDescriptorIndexingFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>shaderInputAttachmentArrayDynamicIndexing</name></member>
             <member><type>VkBool32</type>               <name>shaderUniformTexelBufferArrayDynamicIndexing</name></member>
             <member><type>VkBool32</type>               <name>shaderStorageTexelBufferArrayDynamicIndexing</name></member>
@@ -3389,7 +3471,7 @@
         <type category="struct" name="VkPhysicalDeviceDescriptorIndexingFeaturesEXT"           alias="VkPhysicalDeviceDescriptorIndexingFeatures"/>
         <type category="struct" name="VkPhysicalDeviceDescriptorIndexingProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>maxUpdateAfterBindDescriptorsInAllPools</name></member>
             <member><type>VkBool32</type>               <name>shaderUniformBufferArrayNonUniformIndexingNative</name></member>
             <member><type>VkBool32</type>               <name>shaderSampledImageArrayNonUniformIndexingNative</name></member>
@@ -3417,27 +3499,27 @@
         <type category="struct" name="VkPhysicalDeviceDescriptorIndexingPropertiesEXT"         alias="VkPhysicalDeviceDescriptorIndexingProperties"/>
         <type category="struct" name="VkDescriptorSetLayoutBindingFlagsCreateInfo" structextends="VkDescriptorSetLayoutCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                        <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                                           <name>bindingCount</name></member>
             <member len="bindingCount" optional="false,true">const <type>VkDescriptorBindingFlags</type>* <name>pBindingFlags</name></member>
         </type>
         <type category="struct" name="VkDescriptorSetLayoutBindingFlagsCreateInfoEXT"          alias="VkDescriptorSetLayoutBindingFlagsCreateInfo"/>
         <type category="struct" name="VkDescriptorSetVariableDescriptorCountAllocateInfo" structextends="VkDescriptorSetAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>               <name>descriptorSetCount</name></member>
             <member len="descriptorSetCount">const <type>uint32_t</type>* <name>pDescriptorCounts</name></member>
         </type>
         <type category="struct" name="VkDescriptorSetVariableDescriptorCountAllocateInfoEXT"   alias="VkDescriptorSetVariableDescriptorCountAllocateInfo"/>
         <type category="struct" name="VkDescriptorSetVariableDescriptorCountLayoutSupport" structextends="VkDescriptorSetLayoutSupport" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*            <name>pNext</name></member>
             <member><type>uint32_t</type>         <name>maxVariableDescriptorCount</name></member>
         </type>
         <type category="struct" name="VkDescriptorSetVariableDescriptorCountLayoutSupportEXT"  alias="VkDescriptorSetVariableDescriptorCountLayoutSupport"/>
         <type category="struct" name="VkAttachmentDescription2">
             <member values="VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true">const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkAttachmentDescriptionFlags</type> <name>flags</name></member>
             <member><type>VkFormat</type>                                     <name>format</name></member>
             <member><type>VkSampleCountFlagBits</type>                        <name>samples</name></member>
@@ -3451,7 +3533,7 @@
         <type category="struct" name="VkAttachmentDescription2KHR"                             alias="VkAttachmentDescription2"/>
         <type category="struct" name="VkAttachmentReference2">
             <member values="VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true">const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>uint32_t</type>                          <name>attachment</name></member>
             <member><type>VkImageLayout</type>                     <name>layout</name></member>
             <member noautovalidity="true"><type>VkImageAspectFlags</type> <name>aspectMask</name></member>
@@ -3459,7 +3541,7 @@
         <type category="struct" name="VkAttachmentReference2KHR"                               alias="VkAttachmentReference2"/>
         <type category="struct" name="VkSubpassDescription2">
             <member values="VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true">const <type>void</type>*                           <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                           <name>pNext</name></member>
             <member optional="true"><type>VkSubpassDescriptionFlags</type>                   <name>flags</name></member>
             <member><type>VkPipelineBindPoint</type>                                         <name>pipelineBindPoint</name></member>
             <member><type>uint32_t</type>                                                    <name>viewMask</name></member>
@@ -3475,20 +3557,20 @@
         <type category="struct" name="VkSubpassDescription2KHR"                                alias="VkSubpassDescription2"/>
         <type category="struct" name="VkSubpassDependency2">
             <member values="VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true">const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>uint32_t</type>                          <name>srcSubpass</name></member>
             <member><type>uint32_t</type>                          <name>dstSubpass</name></member>
-            <member><type>VkPipelineStageFlags</type>              <name>srcStageMask</name></member>
-            <member><type>VkPipelineStageFlags</type>              <name>dstStageMask</name></member>
+            <member optional="true"><type>VkPipelineStageFlags</type> <name>srcStageMask</name></member>
+            <member optional="true"><type>VkPipelineStageFlags</type> <name>dstStageMask</name></member>
             <member optional="true"><type>VkAccessFlags</type>     <name>srcAccessMask</name></member>
             <member optional="true"><type>VkAccessFlags</type>     <name>dstAccessMask</name></member>
             <member optional="true"><type>VkDependencyFlags</type> <name>dependencyFlags</name></member>
-            <member optional="true"><type>int32_t</type>           <name>viewOffset</name></member>
+            <member><type>int32_t</type>                           <name>viewOffset</name></member>
         </type>
         <type category="struct" name="VkSubpassDependency2KHR"                                 alias="VkSubpassDependency2"/>
         <type category="struct" name="VkRenderPassCreateInfo2">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                              <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                              <name>pNext</name></member>
             <member optional="true"><type>VkRenderPassCreateFlags</type>                  <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>                                 <name>attachmentCount</name></member>
             <member len="attachmentCount">const <type>VkAttachmentDescription2</type>*    <name>pAttachments</name></member>
@@ -3502,37 +3584,37 @@
         <type category="struct" name="VkRenderPassCreateInfo2KHR"                              alias="VkRenderPassCreateInfo2"/>
         <type category="struct" name="VkSubpassBeginInfo">
             <member values="VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkSubpassContents</type>      <name>contents</name></member>
         </type>
         <type category="struct" name="VkSubpassBeginInfoKHR"                                   alias="VkSubpassBeginInfo"/>
         <type category="struct" name="VkSubpassEndInfo">
             <member values="VK_STRUCTURE_TYPE_SUBPASS_END_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
         </type>
         <type category="struct" name="VkSubpassEndInfoKHR"                                     alias="VkSubpassEndInfo"/>
         <type category="struct" name="VkPhysicalDeviceTimelineSemaphoreFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>timelineSemaphore</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceTimelineSemaphoreFeaturesKHR"            alias="VkPhysicalDeviceTimelineSemaphoreFeatures"/>
         <type category="struct" name="VkPhysicalDeviceTimelineSemaphoreProperties" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint64_t</type>               <name>maxTimelineSemaphoreValueDifference</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceTimelineSemaphorePropertiesKHR"          alias="VkPhysicalDeviceTimelineSemaphoreProperties"/>
         <type category="struct" name="VkSemaphoreTypeCreateInfo" structextends="VkSemaphoreCreateInfo,VkPhysicalDeviceExternalSemaphoreInfo">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkSemaphoreType</type>        <name>semaphoreType</name></member>
             <member><type>uint64_t</type>               <name>initialValue</name></member>
         </type>
         <type category="struct" name="VkSemaphoreTypeCreateInfoKHR"                            alias="VkSemaphoreTypeCreateInfo"/>
         <type category="struct" name="VkTimelineSemaphoreSubmitInfo" structextends="VkSubmitInfo,VkBindSparseInfo">
             <member values="VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>waitSemaphoreValueCount</name></member>
             <member optional="true" len="waitSemaphoreValueCount">const <type>uint64_t</type>* <name>pWaitSemaphoreValues</name></member>
             <member optional="true"><type>uint32_t</type>         <name>signalSemaphoreValueCount</name></member>
@@ -3541,7 +3623,7 @@
         <type category="struct" name="VkTimelineSemaphoreSubmitInfoKHR"                        alias="VkTimelineSemaphoreSubmitInfo"/>
         <type category="struct" name="VkSemaphoreWaitInfo">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkSemaphoreWaitFlags</type> <name>flags</name></member>
             <member><type>uint32_t</type>               <name>semaphoreCount</name></member>
             <member len="semaphoreCount">const <type>VkSemaphore</type>* <name>pSemaphores</name></member>
@@ -3550,7 +3632,7 @@
         <type category="struct" name="VkSemaphoreWaitInfoKHR"                                  alias="VkSemaphoreWaitInfo"/>
         <type category="struct" name="VkSemaphoreSignalInfo">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkSemaphore</type>            <name>semaphore</name></member>
             <member><type>uint64_t</type>               <name>value</name></member>
         </type>
@@ -3561,18 +3643,18 @@
         </type>
         <type category="struct" name="VkPipelineVertexInputDivisorStateCreateInfoEXT" structextends="VkPipelineVertexInputStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>uint32_t</type>                            <name>vertexBindingDivisorCount</name></member>
             <member len="vertexBindingDivisorCount">const <type>VkVertexInputBindingDivisorDescriptionEXT</type>*      <name>pVertexBindingDivisors</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>maxVertexAttribDivisor</name><comment>max value of vertex attribute divisor</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDevicePCIBusInfoPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>pciDomain</name></member>
             <member><type>uint32_t</type>               <name>pciBus</name></member>
             <member><type>uint32_t</type>               <name>pciDevice</name></member>
@@ -3580,28 +3662,28 @@
         </type>
         <type category="struct" name="VkImportAndroidHardwareBufferInfoANDROID" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
             <member>struct <type>AHardwareBuffer</type>*            <name>buffer</name></member>
         </type>
         <type category="struct" name="VkAndroidHardwareBufferUsageANDROID" structextends="VkImageFormatProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
             <member><type>uint64_t</type>                           <name>androidHardwareBufferUsage</name></member>
         </type>
         <type category="struct" name="VkAndroidHardwareBufferPropertiesANDROID" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
             <member><type>VkDeviceSize</type>                       <name>allocationSize</name></member>
             <member><type>uint32_t</type>                           <name>memoryTypeBits</name></member>
         </type>
         <type category="struct" name="VkMemoryGetAndroidHardwareBufferInfoANDROID">
             <member values="VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
             <member><type>VkDeviceMemory</type>                     <name>memory</name></member>
         </type>
         <type category="struct" name="VkAndroidHardwareBufferFormatPropertiesANDROID" structextends="VkAndroidHardwareBufferPropertiesANDROID" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
             <member><type>VkFormat</type>                           <name>format</name></member>
             <member><type>uint64_t</type>                           <name>externalFormat</name></member>
             <member><type>VkFormatFeatureFlags</type>               <name>formatFeatures</name></member>
@@ -3613,17 +3695,17 @@
         </type>
         <type category="struct" name="VkCommandBufferInheritanceConditionalRenderingInfoEXT" structextends="VkCommandBufferInheritanceInfo">
             <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>conditionalRenderingEnable</name><comment>Whether this secondary command buffer may be executed during an active conditional rendering</comment></member>
         </type>
         <type category="struct" name="VkExternalFormatANDROID" structextends="VkImageCreateInfo,VkSamplerYcbcrConversionCreateInfo">
             <member values="VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
             <member><type>uint64_t</type>                           <name>externalFormat</name></member>
         </type>
         <type category="struct" name="VkPhysicalDevice8BitStorageFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>storageBuffer8BitAccess</name><comment>8-bit integer variables supported in StorageBuffer</comment></member>
             <member><type>VkBool32</type>                         <name>uniformAndStorageBuffer8BitAccess</name><comment>8-bit integer variables supported in StorageBuffer and Uniform</comment></member>
             <member><type>VkBool32</type>                         <name>storagePushConstant8</name><comment>8-bit integer variables supported in PushConstant</comment></member>
@@ -3631,13 +3713,13 @@
         <type category="struct" name="VkPhysicalDevice8BitStorageFeaturesKHR"                  alias="VkPhysicalDevice8BitStorageFeatures"/>
         <type category="struct" name="VkPhysicalDeviceConditionalRenderingFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>conditionalRendering</name></member>
             <member><type>VkBool32</type>                           <name>inheritedConditionalRendering</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceVulkanMemoryModelFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>vulkanMemoryModel</name></member>
             <member><type>VkBool32</type>                         <name>vulkanMemoryModelDeviceScope</name></member>
             <member><type>VkBool32</type>                         <name>vulkanMemoryModelAvailabilityVisibilityChains</name></member>
@@ -3645,14 +3727,14 @@
         <type category="struct" name="VkPhysicalDeviceVulkanMemoryModelFeaturesKHR"            alias="VkPhysicalDeviceVulkanMemoryModelFeatures"/>
         <type category="struct" name="VkPhysicalDeviceShaderAtomicInt64Features" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>shaderBufferInt64Atomics</name></member>
             <member><type>VkBool32</type>                            <name>shaderSharedInt64Atomics</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderAtomicInt64FeaturesKHR"            alias="VkPhysicalDeviceShaderAtomicInt64Features"/>
         <type category="struct" name="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>shaderBufferFloat32Atomics</name></member>
             <member><type>VkBool32</type>                            <name>shaderBufferFloat32AtomicAdd</name></member>
             <member><type>VkBool32</type>                            <name>shaderBufferFloat64Atomics</name></member>
@@ -3668,24 +3750,24 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>vertexAttributeInstanceRateDivisor</name></member>
             <member><type>VkBool32</type>                           <name>vertexAttributeInstanceRateZeroDivisor</name></member>
         </type>
         <type category="struct" name="VkQueueFamilyCheckpointPropertiesNV" structextends="VkQueueFamilyProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*           <name>pNext</name></member>
+            <member optional="true"><type>void</type>*           <name>pNext</name></member>
             <member><type>VkPipelineStageFlags</type> <name>checkpointExecutionStageMask</name></member>
         </type>
         <type category="struct" name="VkCheckpointDataNV" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkPipelineStageFlagBits</type>   <name>stage</name></member>
             <member noautovalidity="true"><type>void</type>* <name>pCheckpointMarker</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceDepthStencilResolveProperties" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                                <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                                <name>pNext</name></member>
             <member><type>VkResolveModeFlags</type>                   <name>supportedDepthResolveModes</name><comment>supported depth resolve modes</comment></member>
             <member><type>VkResolveModeFlags</type>                   <name>supportedStencilResolveModes</name><comment>supported stencil resolve modes</comment></member>
             <member><type>VkBool32</type>                             <name>independentResolveNone</name><comment>depth and stencil resolve modes can be set independently if one of them is none</comment></member>
@@ -3694,31 +3776,31 @@
         <type category="struct" name="VkPhysicalDeviceDepthStencilResolvePropertiesKHR"        alias="VkPhysicalDeviceDepthStencilResolveProperties"/>
         <type category="struct" name="VkSubpassDescriptionDepthStencilResolve" structextends="VkSubpassDescription2">
             <member values="VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                              <name>pNext</name></member>
-            <member><type>VkResolveModeFlagBits</type>                                    <name>depthResolveMode</name><comment>depth resolve mode</comment></member>
-            <member><type>VkResolveModeFlagBits</type>                                    <name>stencilResolveMode</name><comment>stencil resolve mode</comment></member>
+            <member optional="true">const <type>void</type>*                              <name>pNext</name></member>
+            <member noautovalidity="true"><type>VkResolveModeFlagBits</type>              <name>depthResolveMode</name><comment>depth resolve mode</comment></member>
+            <member noautovalidity="true"><type>VkResolveModeFlagBits</type>              <name>stencilResolveMode</name><comment>stencil resolve mode</comment></member>
             <member optional="true">const <type>VkAttachmentReference2</type>*            <name>pDepthStencilResolveAttachment</name><comment>depth/stencil resolve attachment</comment></member>
         </type>
         <type category="struct" name="VkSubpassDescriptionDepthStencilResolveKHR"              alias="VkSubpassDescriptionDepthStencilResolve"/>
         <type category="struct" name="VkImageViewASTCDecodeModeEXT" structextends="VkImageViewCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkFormat</type>                         <name>decodeMode</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceASTCDecodeFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>decodeModeSharedExponent</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceTransformFeedbackFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>transformFeedback</name></member>
             <member><type>VkBool32</type>               <name>geometryStreams</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceTransformFeedbackPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>maxTransformFeedbackStreams</name></member>
             <member><type>uint32_t</type>               <name>maxTransformFeedbackBuffers</name></member>
             <member><type>VkDeviceSize</type>           <name>maxTransformFeedbackBufferSize</name></member>
@@ -3732,55 +3814,55 @@
         </type>
         <type category="struct" name="VkPipelineRasterizationStateStreamCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                      <name>pNext</name></member>
             <member optional="true"><type>VkPipelineRasterizationStateStreamCreateFlagsEXT</type>                 <name>flags</name></member>
             <member><type>uint32_t</type>                                                                         <name>rasterizationStream</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                       <name>representativeFragmentTest</name></member>
         </type>
         <type category="struct" name="VkPipelineRepresentativeFragmentTestStateCreateInfoNV" structextends="VkGraphicsPipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*    <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>       <name>representativeFragmentTestEnable</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExclusiveScissorFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>exclusiveScissor</name></member>
         </type>
         <type category="struct" name="VkPipelineViewportExclusiveScissorStateCreateInfoNV" structextends="VkPipelineViewportStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                       <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                       <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                                          <name>exclusiveScissorCount</name></member>
             <member noautovalidity="true" len="exclusiveScissorCount">const <type>VkRect2D</type>* <name>pExclusiveScissors</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceCornerSampledImageFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>cornerSampledImage</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceComputeShaderDerivativesFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>computeDerivativeGroupQuads</name></member>
             <member><type>VkBool32</type>                         <name>computeDerivativeGroupLinear</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>fragmentShaderBarycentric</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderImageFootprintFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>imageFootprint</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>dedicatedAllocationImageAliasing</name></member>
         </type>
         <type category="struct" name="VkShadingRatePaletteNV">
@@ -3789,20 +3871,20 @@
         </type>
         <type category="struct" name="VkPipelineViewportShadingRateImageStateCreateInfoNV" structextends="VkPipelineViewportStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                             <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                             <name>pNext</name></member>
             <member><type>VkBool32</type>                                                                <name>shadingRateImageEnable</name></member>
-            <member noautovalidity="true"><type>uint32_t</type>                                          <name>viewportCount</name></member>
+            <member optional="true"><type>uint32_t</type>                                                <name>viewportCount</name></member>
             <member noautovalidity="true" len="viewportCount">const <type>VkShadingRatePaletteNV</type>* <name>pShadingRatePalettes</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShadingRateImageFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>shadingRateImage</name></member>
             <member><type>VkBool32</type>                            <name>shadingRateCoarseSampleOrder</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShadingRateImagePropertiesNV" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkExtent2D</type>                          <name>shadingRateTexelSize</name></member>
             <member><type>uint32_t</type>                            <name>shadingRatePaletteSize</name></member>
             <member><type>uint32_t</type>                            <name>shadingRateMaxCoarseSamples</name></member>
@@ -3820,20 +3902,20 @@
         </type>
         <type category="struct" name="VkPipelineViewportCoarseSampleOrderStateCreateInfoNV" structextends="VkPipelineViewportStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                            <name>pNext</name></member>
             <member><type>VkCoarseSampleOrderTypeNV</type>                                              <name>sampleOrderType</name></member>
             <member optional="true"><type>uint32_t</type>                                               <name>customSampleOrderCount</name></member>
             <member len="customSampleOrderCount">const <type>VkCoarseSampleOrderCustomNV</type>*        <name>pCustomSampleOrders</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMeshShaderFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>taskShader</name></member>
             <member><type>VkBool32</type>                            <name>meshShader</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMeshShaderPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>uint32_t</type>                            <name>maxDrawMeshTasksCount</name></member>
             <member><type>uint32_t</type>                            <name>maxTaskWorkGroupInvocations</name></member>
             <member><type>uint32_t</type>                            <name>maxTaskWorkGroupSize</name>[3]</member>
@@ -3854,7 +3936,7 @@
         </type>
         <type category="struct" name="VkRayTracingShaderGroupCreateInfoNV">
             <member values="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkRayTracingShaderGroupTypeKHR</type> <name>type</name></member>
             <member><type>uint32_t</type>               <name>generalShader</name></member>
             <member><type>uint32_t</type>               <name>closestHitShader</name></member>
@@ -3863,7 +3945,7 @@
         </type>
         <type category="struct" name="VkRayTracingShaderGroupCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkRayTracingShaderGroupTypeKHR</type> <name>type</name></member>
             <member><type>uint32_t</type>               <name>generalShader</name></member>
             <member><type>uint32_t</type>               <name>closestHitShader</name></member>
@@ -3873,7 +3955,7 @@
         </type>
         <type category="struct" name="VkRayTracingPipelineCreateInfoNV">
             <member values="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCreateFlags</type>  <name>flags</name><comment>Pipeline creation flags</comment></member>
             <member><type>uint32_t</type>               <name>stageCount</name></member>
             <member len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member>
@@ -3886,22 +3968,23 @@
         </type>
         <type category="struct" name="VkRayTracingPipelineCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCreateFlags</type>  <name>flags</name><comment>Pipeline creation flags</comment></member>
             <member optional="true"><type>uint32_t</type> <name>stageCount</name></member>
             <member len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member>
             <member optional="true"><type>uint32_t</type> <name>groupCount</name></member>
             <member len="groupCount">const <type>VkRayTracingShaderGroupCreateInfoKHR</type>* <name>pGroups</name></member>
-            <member><type>uint32_t</type>               <name>maxRecursionDepth</name></member>
-            <member><type>VkPipelineLibraryCreateInfoKHR</type> <name>libraries</name></member>
+            <member><type>uint32_t</type>               <name>maxPipelineRayRecursionDepth</name></member>
+            <member optional="true">const <type>VkPipelineLibraryCreateInfoKHR</type>* <name>pLibraryInfo</name></member>
             <member optional="true">const <type>VkRayTracingPipelineInterfaceCreateInfoKHR</type>* <name>pLibraryInterface</name></member>
+            <member optional="true">const <type>VkPipelineDynamicStateCreateInfo</type>* <name>pDynamicState</name></member>
             <member><type>VkPipelineLayout</type>       <name>layout</name><comment>Interface layout of the pipeline</comment></member>
             <member noautovalidity="true" optional="true"><type>VkPipeline</type>      <name>basePipelineHandle</name><comment>If VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of</comment></member>
             <member><type>int32_t</type>                <name>basePipelineIndex</name><comment>If VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of</comment></member>
         </type>
         <type category="struct" name="VkGeometryTrianglesNV">
             <member values="VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                <name>pNext</name></member>
             <member optional="true"><type>VkBuffer</type>   <name>vertexData</name></member>
             <member><type>VkDeviceSize</type>               <name>vertexOffset</name></member>
             <member><type>uint32_t</type>                   <name>vertexCount</name></member>
@@ -3916,7 +3999,7 @@
         </type>
         <type category="struct" name="VkGeometryAABBNV">
             <member values="VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                <name>pNext</name></member>
             <member optional="true"><type>VkBuffer</type>   <name>aabbData</name></member>
             <member><type>uint32_t</type>                   <name>numAABBs</name></member>
             <member><type>uint32_t</type>                   <name>stride</name><comment>Stride in bytes between AABBs</comment></member>
@@ -3928,14 +4011,14 @@
         </type>
         <type category="struct" name="VkGeometryNV">
             <member values="VK_STRUCTURE_TYPE_GEOMETRY_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                   <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                   <name>pNext</name></member>
             <member><type>VkGeometryTypeKHR</type>                  <name>geometryType</name></member>
             <member><type>VkGeometryDataNV</type>                              <name>geometry</name></member>
             <member optional="true"><type>VkGeometryFlagsKHR</type> <name>flags</name></member>
         </type>
         <type category="struct" name="VkAccelerationStructureInfoNV">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>VkAccelerationStructureTypeNV</type>         <name>type</name></member>
             <member optional="true"><type>VkBuildAccelerationStructureFlagsNV</type><name>flags</name></member>
             <member optional="true"><type>uint32_t</type>               <name>instanceCount</name></member>
@@ -3944,69 +4027,87 @@
         </type>
         <type category="struct" name="VkAccelerationStructureCreateInfoNV">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>VkDeviceSize</type>                           <name>compactedSize</name></member>
             <member><type>VkAccelerationStructureInfoNV</type>          <name>info</name></member>
         </type>
-        <type category="struct" name="VkBindAccelerationStructureMemoryInfoKHR">
-            <member values="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
-            <member><type>VkAccelerationStructureKHR</type>       <name>accelerationStructure</name></member>
+        <type category="struct" name="VkBindAccelerationStructureMemoryInfoNV">
+            <member values="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*     <name>pNext</name></member>
+            <member><type>VkAccelerationStructureNV</type>       <name>accelerationStructure</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkDeviceSize</type>                     <name>memoryOffset</name></member>
             <member optional="true"><type>uint32_t</type>         <name>deviceIndexCount</name></member>
             <member len="deviceIndexCount">const <type>uint32_t</type>*  <name>pDeviceIndices</name></member>
         </type>
-        <type category="struct" name="VkBindAccelerationStructureMemoryInfoNV"                 alias="VkBindAccelerationStructureMemoryInfoKHR"/>
         <type category="struct" name="VkWriteDescriptorSetAccelerationStructureKHR" structextends="VkWriteDescriptorSet">
             <member values="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>accelerationStructureCount</name></member>
-            <member len="accelerationStructureCount">const <type>VkAccelerationStructureKHR</type>* <name>pAccelerationStructures</name></member>
+            <member optional="false,true" len="accelerationStructureCount">const <type>VkAccelerationStructureKHR</type>* <name>pAccelerationStructures</name></member>
         </type>
-        <type category="struct" name="VkWriteDescriptorSetAccelerationStructureNV"             alias="VkWriteDescriptorSetAccelerationStructureKHR"/>
-        <type category="struct" name="VkAccelerationStructureMemoryRequirementsInfoKHR">
-            <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                          <name>pNext</name></member>
-            <member><type>VkAccelerationStructureMemoryRequirementsTypeKHR</type>                     <name>type</name></member>
-            <member><type>VkAccelerationStructureBuildTypeKHR</type>                                  <name>buildType</name></member>
-            <member><type>VkAccelerationStructureKHR</type>                                           <name>accelerationStructure</name></member>
+        <type category="struct" name="VkWriteDescriptorSetAccelerationStructureNV" structextends="VkWriteDescriptorSet">
+            <member values="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*      <name>pNext</name></member>
+            <member><type>uint32_t</type>                         <name>accelerationStructureCount</name></member>
+            <member optional="false,true" len="accelerationStructureCount">const <type>VkAccelerationStructureNV</type>* <name>pAccelerationStructures</name></member>
         </type>
         <type category="struct" name="VkAccelerationStructureMemoryRequirementsInfoNV">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                          <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                          <name>pNext</name></member>
             <member><type>VkAccelerationStructureMemoryRequirementsTypeNV</type>                     <name>type</name></member>
             <member><type>VkAccelerationStructureNV</type>                                           <name>accelerationStructure</name></member>
         </type>
-        <type category="struct" name="VkPhysicalDeviceRayTracingFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
-            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracing</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracingShaderGroupHandleCaptureReplay</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracingShaderGroupHandleCaptureReplayMixed</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracingAccelerationStructureCaptureReplay</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracingIndirectTraceRays</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracingIndirectAccelerationStructureBuild</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracingHostAccelerationStructureCommands</name></member>
-            <member><type>VkBool32</type>                         <name>rayQuery</name></member>
-            <member><type>VkBool32</type>                         <name>rayTracingPrimitiveCulling</name></member>
+        <type category="struct" name="VkPhysicalDeviceAccelerationStructureFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
+            <member><type>VkBool32</type>                         <name>accelerationStructure</name></member>
+            <member><type>VkBool32</type>                         <name>accelerationStructureCaptureReplay</name></member>
+            <member><type>VkBool32</type>                         <name>accelerationStructureIndirectBuild</name></member>
+            <member><type>VkBool32</type>                         <name>accelerationStructureHostCommands</name></member>
+            <member><type>VkBool32</type>                         <name>descriptorBindingAccelerationStructureUpdateAfterBind</name></member>
         </type>
-        <type category="struct" name="VkPhysicalDeviceRayTracingPropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
-            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
-            <member><type>uint32_t</type>                         <name>shaderGroupHandleSize</name></member>
-            <member><type>uint32_t</type>                         <name>maxRecursionDepth</name></member>
-            <member><type>uint32_t</type>                         <name>maxShaderGroupStride</name></member>
-            <member><type>uint32_t</type>                         <name>shaderGroupBaseAlignment</name></member>
+        <type category="struct" name="VkPhysicalDeviceRayTracingPipelineFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*            <name>pNext</name></member>
+            <member><type>VkBool32</type>                         <name>rayTracingPipeline</name></member>
+            <member><type>VkBool32</type>                         <name>rayTracingPipelineShaderGroupHandleCaptureReplay</name></member>
+            <member><type>VkBool32</type>                         <name>rayTracingPipelineShaderGroupHandleCaptureReplayMixed</name></member>
+            <member><type>VkBool32</type>                         <name>rayTracingPipelineTraceRaysIndirect</name></member>
+            <member><type>VkBool32</type>                         <name>rayTraversalPrimitiveCulling</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceRayQueryFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*            <name>pNext</name></member>
+            <member><type>VkBool32</type>                         <name>rayQuery</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceAccelerationStructurePropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*            <name>pNext</name></member>
             <member><type>uint64_t</type>                         <name>maxGeometryCount</name></member>
             <member><type>uint64_t</type>                         <name>maxInstanceCount</name></member>
             <member><type>uint64_t</type>                         <name>maxPrimitiveCount</name></member>
+            <member><type>uint32_t</type>                         <name>maxPerStageDescriptorAccelerationStructures</name></member>
+            <member><type>uint32_t</type>                         <name>maxPerStageDescriptorUpdateAfterBindAccelerationStructures</name></member>
             <member><type>uint32_t</type>                         <name>maxDescriptorSetAccelerationStructures</name></member>
+            <member><type>uint32_t</type>                         <name>maxDescriptorSetUpdateAfterBindAccelerationStructures</name></member>
+            <member><type>uint32_t</type>                         <name>minAccelerationStructureScratchOffsetAlignment</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceRayTracingPipelinePropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*            <name>pNext</name></member>
+            <member><type>uint32_t</type>                         <name>shaderGroupHandleSize</name></member>
+            <member><type>uint32_t</type>                         <name>maxRayRecursionDepth</name></member>
+            <member><type>uint32_t</type>                         <name>maxShaderGroupStride</name></member>
+            <member><type>uint32_t</type>                         <name>shaderGroupBaseAlignment</name></member>
             <member><type>uint32_t</type>                         <name>shaderGroupHandleCaptureReplaySize</name></member>
+            <member><type>uint32_t</type>                         <name>maxRayDispatchInvocationCount</name></member>
+            <member><type>uint32_t</type>                         <name>shaderGroupHandleAlignment</name></member>
+            <member><type>uint32_t</type>                         <name>maxRayHitAttributeSize</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceRayTracingPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>shaderGroupHandleSize</name></member>
             <member><type>uint32_t</type>                         <name>maxRecursionDepth</name></member>
             <member><type>uint32_t</type>                         <name>maxShaderGroupStride</name></member>
@@ -4016,9 +4117,8 @@
             <member><type>uint64_t</type>                         <name>maxTriangleCount</name></member>
             <member><type>uint32_t</type>                         <name>maxDescriptorSetAccelerationStructures</name></member>
         </type>
-        <type category="struct" name="VkStridedBufferRegionKHR">
-            <member optional="true"><type>VkBuffer</type>         <name>buffer</name></member>
-            <member><type>VkDeviceSize</type>                     <name>offset</name></member>
+        <type category="struct" name="VkStridedDeviceAddressRegionKHR">
+            <member optional="true"><type>VkDeviceAddress</type>  <name>deviceAddress</name></member>
             <member><type>VkDeviceSize</type>                     <name>stride</name></member>
             <member><type>VkDeviceSize</type>                     <name>size</name></member>
         </type>
@@ -4029,7 +4129,7 @@
         </type>
         <type category="struct" name="VkDrmFormatModifierPropertiesListEXT" returnedonly="true" structextends="VkFormatProperties2">
             <member values="VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type> <name>drmFormatModifierCount</name></member>
             <member optional="true,false" len="drmFormatModifierCount"><type>VkDrmFormatModifierPropertiesEXT</type>* <name>pDrmFormatModifierProperties</name></member>
         </type>
@@ -4040,7 +4140,7 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceImageDrmFormatModifierInfoEXT" structextends="VkPhysicalDeviceImageFormatInfo2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>uint64_t</type> <name>drmFormatModifier</name></member>
             <member><type>VkSharingMode</type> <name>sharingMode</name></member>
             <member optional="true"><type>uint32_t</type> <name>queueFamilyIndexCount</name></member>
@@ -4048,55 +4148,55 @@
         </type>
         <type category="struct" name="VkImageDrmFormatModifierListCreateInfoEXT" structextends="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>uint32_t</type> <name>drmFormatModifierCount</name></member>
             <member len="drmFormatModifierCount">const <type>uint64_t</type>* <name>pDrmFormatModifiers</name></member>
         </type>
         <type category="struct" name="VkImageDrmFormatModifierExplicitCreateInfoEXT" structextends="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>uint64_t</type> <name>drmFormatModifier</name></member>
             <member optional="false"><type>uint32_t</type> <name>drmFormatModifierPlaneCount</name></member>
             <member len="drmFormatModifierPlaneCount">const <type>VkSubresourceLayout</type>* <name>pPlaneLayouts</name></member>
         </type>
         <type category="struct" name="VkImageDrmFormatModifierPropertiesEXT" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>uint64_t</type> <name>drmFormatModifier</name></member>
         </type>
         <type category="struct" name="VkImageStencilUsageCreateInfo" structextends="VkImageCreateInfo,VkPhysicalDeviceImageFormatInfo2">
             <member values="VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkImageUsageFlags</type> <name>stencilUsage</name></member>
         </type>
         <type category="struct" name="VkImageStencilUsageCreateInfoEXT"                        alias="VkImageStencilUsageCreateInfo"/>
         <type category="struct" name="VkDeviceMemoryOverallocationCreateInfoAMD"  structextends="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkMemoryOverallocationBehaviorAMD</type> <name>overallocationBehavior</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFragmentDensityMapFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>fragmentDensityMap</name></member>
             <member><type>VkBool32</type>                         <name>fragmentDensityMapDynamic</name></member>
             <member><type>VkBool32</type>                         <name>fragmentDensityMapNonSubsampledImages</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFragmentDensityMap2FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>fragmentDensityMapDeferred</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFragmentDensityMapPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkExtent2D</type>                       <name>minFragmentDensityTexelSize</name></member>
             <member><type>VkExtent2D</type>                       <name>maxFragmentDensityTexelSize</name></member>
             <member><type>VkBool32</type>                         <name>fragmentDensityInvocations</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFragmentDensityMap2PropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                          <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                          <name>pNext</name></member>
             <member><type>VkBool32</type>                       <name>subsampledLoads</name></member>
             <member><type>VkBool32</type>                       <name>subsampledCoarseReconstructionEarlyAccess</name></member>
             <member><type>uint32_t</type>                       <name>maxSubsampledArrayLayers</name></member>
@@ -4104,56 +4204,56 @@
         </type>
         <type category="struct" name="VkRenderPassFragmentDensityMapCreateInfoEXT" structextends="VkRenderPassCreateInfo,VkRenderPassCreateInfo2">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkAttachmentReference</type>            <name>fragmentDensityMapAttachment</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceScalarBlockLayoutFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>scalarBlockLayout</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceScalarBlockLayoutFeaturesEXT"            alias="VkPhysicalDeviceScalarBlockLayoutFeatures"/>
         <type category="struct" name="VkSurfaceProtectedCapabilitiesKHR" structextends="VkSurfaceCapabilities2KHR">
             <member values="VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>* <name>pNext</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
             <member><type>VkBool32</type> <name>supportsProtected</name><comment>Represents if surface can be protected</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceUniformBufferStandardLayoutFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>uniformBufferStandardLayout</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR"  alias="VkPhysicalDeviceUniformBufferStandardLayoutFeatures"/>
         <type category="struct" name="VkPhysicalDeviceDepthClipEnableFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>depthClipEnable</name></member>
         </type>
         <type category="struct" name="VkPipelineRasterizationDepthClipStateCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                                 <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                 <name>pNext</name></member>
             <member optional="true"><type>VkPipelineRasterizationDepthClipStateCreateFlagsEXT</type>         <name>flags</name><comment>Reserved</comment></member>
             <member><type>VkBool32</type>                                                                    <name>depthClipEnable</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMemoryBudgetPropertiesEXT" structextends="VkPhysicalDeviceMemoryProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkDeviceSize</type>                       <name>heapBudget</name>[<enum>VK_MAX_MEMORY_HEAPS</enum>]</member>
             <member><type>VkDeviceSize</type>                       <name>heapUsage</name>[<enum>VK_MAX_MEMORY_HEAPS</enum>]</member>
         </type>
         <type category="struct" name="VkPhysicalDeviceMemoryPriorityFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>memoryPriority</name></member>
         </type>
         <type category="struct" name="VkMemoryPriorityAllocateInfoEXT" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
             <member><type>float</type>                              <name>priority</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceBufferDeviceAddressFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>bufferDeviceAddress</name></member>
             <member><type>VkBool32</type>                           <name>bufferDeviceAddressCaptureReplay</name></member>
             <member><type>VkBool32</type>                           <name>bufferDeviceAddressMultiDevice</name></member>
@@ -4161,7 +4261,7 @@
         <type category="struct" name="VkPhysicalDeviceBufferDeviceAddressFeaturesKHR"          alias="VkPhysicalDeviceBufferDeviceAddressFeatures"/>
         <type category="struct" name="VkPhysicalDeviceBufferDeviceAddressFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>bufferDeviceAddress</name></member>
             <member><type>VkBool32</type>                           <name>bufferDeviceAddressCaptureReplay</name></member>
             <member><type>VkBool32</type>                           <name>bufferDeviceAddressMultiDevice</name></member>
@@ -4169,49 +4269,49 @@
         <type category="struct" name="VkPhysicalDeviceBufferAddressFeaturesEXT"                alias="VkPhysicalDeviceBufferDeviceAddressFeaturesEXT"/>
         <type category="struct" name="VkBufferDeviceAddressInfo">
             <member values="VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
             <member><type>VkBuffer</type>                                               <name>buffer</name></member>
         </type>
         <type category="struct" name="VkBufferDeviceAddressInfoKHR"                            alias="VkBufferDeviceAddressInfo"/>
         <type category="struct" name="VkBufferDeviceAddressInfoEXT"                            alias="VkBufferDeviceAddressInfo"/>
         <type category="struct" name="VkBufferOpaqueCaptureAddressCreateInfo" structextends="VkBufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint64_t</type>                         <name>opaqueCaptureAddress</name></member>
         </type>
         <type category="struct" name="VkBufferOpaqueCaptureAddressCreateInfoKHR"               alias="VkBufferOpaqueCaptureAddressCreateInfo"/>
         <type category="struct" name="VkBufferDeviceAddressCreateInfoEXT" structextends="VkBufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceAddress</type>                  <name>deviceAddress</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceImageViewImageFormatInfoEXT" structextends="VkPhysicalDeviceImageFormatInfo2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkImageViewType</type>                  <name>imageViewType</name></member>
         </type>
         <type category="struct" name="VkFilterCubicImageViewImageFormatPropertiesEXT" returnedonly="true" structextends="VkImageFormatProperties2">
             <member values="VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>filterCubic</name><comment>The combinations of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT</comment></member>
             <member><type>VkBool32</type>                         <name>filterCubicMinmax</name><comment>The combination of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT and ReductionMode of Min or Max</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceImagelessFramebufferFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                                    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                                    <name>pNext</name></member>
             <member><type>VkBool32</type>                                 <name>imagelessFramebuffer</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceImagelessFramebufferFeaturesKHR"         alias="VkPhysicalDeviceImagelessFramebufferFeatures"/>
         <type category="struct" name="VkFramebufferAttachmentsCreateInfo" structextends="VkFramebufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                              <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                              <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                 <name>attachmentImageInfoCount</name></member>
             <member len="attachmentImageInfoCount">const <type>VkFramebufferAttachmentImageInfo</type>* <name>pAttachmentImageInfos</name></member>
         </type>
         <type category="struct" name="VkFramebufferAttachmentsCreateInfoKHR"                   alias="VkFramebufferAttachmentsCreateInfo"/>
         <type category="struct" name="VkFramebufferAttachmentImageInfo">
             <member values="VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                              <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                              <name>pNext</name></member>
             <member optional="true"><type>VkImageCreateFlags</type>       <name>flags</name><comment>Image creation flags</comment></member>
             <member><type>VkImageUsageFlags</type>                        <name>usage</name><comment>Image usage flags</comment></member>
             <member><type>uint32_t</type>                                 <name>width</name></member>
@@ -4223,30 +4323,30 @@
         <type category="struct" name="VkFramebufferAttachmentImageInfoKHR"                     alias="VkFramebufferAttachmentImageInfo"/>
         <type category="struct" name="VkRenderPassAttachmentBeginInfo" structextends="VkRenderPassBeginInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                              <name>pNext</name></member>             <!-- Pointer to next structure -->
+            <member optional="true">const <type>void</type>*                              <name>pNext</name></member>             <!-- Pointer to next structure -->
             <member optional="true"><type>uint32_t</type>                 <name>attachmentCount</name></member>
             <member len="attachmentCount">const <type>VkImageView</type>* <name>pAttachments</name></member>
         </type>
         <type category="struct" name="VkRenderPassAttachmentBeginInfoKHR"                      alias="VkRenderPassAttachmentBeginInfo"/>
         <type category="struct" name="VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkBool32</type>               <name>textureCompressionASTC_HDR</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceCooperativeMatrixFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>cooperativeMatrix</name></member>
             <member><type>VkBool32</type>                            <name>cooperativeMatrixRobustBufferAccess</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceCooperativeMatrixPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkShaderStageFlags</type>                  <name>cooperativeMatrixSupportedStages</name></member>
         </type>
         <type category="struct" name="VkCooperativeMatrixPropertiesNV">
             <member values="VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>uint32_t</type>                            <name>MSize</name></member>
             <member><type>uint32_t</type>                            <name>NSize</name></member>
             <member><type>uint32_t</type>                            <name>KSize</name></member>
@@ -4258,25 +4358,25 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceYcbcrImageArraysFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>ycbcrImageArrays</name></member>
         </type>
         <type category="struct" name="VkImageViewHandleInfoNVX">
             <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkImageView</type>                         <name>imageView</name></member>
             <member><type>VkDescriptorType</type>                    <name>descriptorType</name></member>
             <member optional="true"><type>VkSampler</type>           <name>sampler</name></member>
         </type>
         <type category="struct" name="VkImageViewAddressPropertiesNVX" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
             <member><type>VkDeviceAddress</type>    <name>deviceAddress</name></member>
             <member><type>VkDeviceSize</type>       <name>size</name></member>
         </type>
         <type category="struct" name="VkPresentFrameTokenGGP" structextends="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>GgpFrameToken</type>                    <name>frameToken</name></member>
         </type>
         <type category="struct" name="VkPipelineCreationFeedbackEXT" returnedonly="true">
@@ -4285,39 +4385,40 @@
         </type>
         <type category="struct" name="VkPipelineCreationFeedbackCreateInfoEXT" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo,VkRayTracingPipelineCreateInfoNV,VkRayTracingPipelineCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>VkPipelineCreationFeedbackEXT</type>*      <name>pPipelineCreationFeedback</name><comment>Output pipeline creation feedback.</comment></member>
             <member><type>uint32_t</type>                            <name>pipelineStageCreationFeedbackCount</name></member>
             <member len="pipelineStageCreationFeedbackCount"><type>VkPipelineCreationFeedbackEXT</type>* <name>pPipelineStageCreationFeedbacks</name><comment>One entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct</comment></member>
         </type>
         <type category="struct" name="VkSurfaceFullScreenExclusiveInfoEXT" structextends="VkPhysicalDeviceSurfaceInfo2KHR,VkSwapchainCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkFullScreenExclusiveEXT</type>         <name>fullScreenExclusive</name></member>
         </type>
         <type category="struct" name="VkSurfaceFullScreenExclusiveWin32InfoEXT" structextends="VkPhysicalDeviceSurfaceInfo2KHR,VkSwapchainCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*      <name>pNext</name></member>
             <member><type>HMONITOR</type>         <name>hmonitor</name></member>
         </type>
         <type category="struct" name="VkSurfaceCapabilitiesFullScreenExclusiveEXT" structextends="VkSurfaceCapabilities2KHR">
             <member values="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*            <name>pNext</name></member>
             <member><type>VkBool32</type>         <name>fullScreenExclusiveSupported</name></member>
         </type>
         <type category="struct" name="VkPhysicalDevicePerformanceQueryFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>performanceCounterQueryPools</name><comment>performance counters supported in query pools</comment></member>
-            <member><type>VkBool32</type>                         <name>performanceCounterMultipleQueryPools</name><comment>performance counters from multiple query pools can be accessed in the same primary command buffer</comment></member>        </type>
+            <member><type>VkBool32</type>                         <name>performanceCounterMultipleQueryPools</name><comment>performance counters from multiple query pools can be accessed in the same primary command buffer</comment></member>
+        </type>
         <type category="struct" name="VkPhysicalDevicePerformanceQueryPropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
-             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-             <member><type>void</type>* <name>pNext</name></member>
-             <member noautovalidity="true"><type>VkBool32</type> <name>allowCommandBufferQueryCopies</name><comment>Flag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults</comment></member>
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
+            <member noautovalidity="true"><type>VkBool32</type> <name>allowCommandBufferQueryCopies</name><comment>Flag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults</comment></member>
         </type>
         <type category="struct" name="VkPerformanceCounterKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                             <name>pNext</name></member> <!-- Pointer to next structure -->
+            <member optional="true">const <type>void</type>*                             <name>pNext</name></member> <!-- Pointer to next structure -->
             <member><type>VkPerformanceCounterUnitKHR</type>        <name>unit</name></member>
             <member><type>VkPerformanceCounterScopeKHR</type>       <name>scope</name></member>
             <member><type>VkPerformanceCounterStorageKHR</type>     <name>storage</name></member>
@@ -4325,7 +4426,7 @@
         </type>
         <type category="struct" name="VkPerformanceCounterDescriptionKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                             <name>pNext</name></member> <!-- Pointer to next structure -->
+            <member optional="true">const <type>void</type>*                             <name>pNext</name></member> <!-- Pointer to next structure -->
             <member optional="true"><type>VkPerformanceCounterDescriptionFlagsKHR</type> <name>flags</name></member>
             <member><type>char</type>                                    <name>name</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
             <member><type>char</type>                                    <name>category</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
@@ -4333,7 +4434,7 @@
         </type>
         <type category="struct" name="VkQueryPoolPerformanceCreateInfoKHR" structextends="VkQueryPoolCreateInfo">
             <member values="VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                             <name>pNext</name></member> <!-- Pointer to next structure -->
+            <member optional="true">const <type>void</type>*                             <name>pNext</name></member> <!-- Pointer to next structure -->
             <member><type>uint32_t</type>                                <name>queueFamilyIndex</name></member>
             <member><type>uint32_t</type>                                <name>counterIndexCount</name></member>
             <member len="counterIndexCount">const <type>uint32_t</type>* <name>pCounterIndices</name></member>
@@ -4348,34 +4449,34 @@
         </type>
         <type category="struct" name="VkAcquireProfilingLockInfoKHR">
             <member values="VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkAcquireProfilingLockFlagsKHR</type> <name>flags</name><comment>Acquire profiling lock flags</comment></member>
             <member><type>uint64_t</type> <name>timeout</name></member>
         </type>
-        <type category="struct" name="VkPerformanceQuerySubmitInfoKHR" structextends="VkSubmitInfo">
+        <type category="struct" name="VkPerformanceQuerySubmitInfoKHR" structextends="VkSubmitInfo,VkSubmitInfo2KHR">
             <member values="VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*         <name>pNext</name></member>
             <member><type>uint32_t</type>            <name>counterPassIndex</name><comment>Index for which counter pass to submit</comment></member>
         </type>
         <type category="struct" name="VkHeadlessSurfaceCreateInfoEXT">
             <member values="VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkHeadlessSurfaceCreateFlagsEXT</type>   <name>flags</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceCoverageReductionModeFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                       <name>coverageReductionMode</name></member>
         </type>
         <type category="struct" name="VkPipelineCoverageReductionStateCreateInfoNV" structextends="VkPipelineMultisampleStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                        <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCoverageReductionStateCreateFlagsNV</type>      <name>flags</name></member>
             <member><type>VkCoverageReductionModeNV</type>                                          <name>coverageReductionMode</name></member>
         </type>
         <type category="struct" name="VkFramebufferMixedSamplesCombinationNV" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                      <name>pNext</name></member>
             <member><type>VkCoverageReductionModeNV</type>  <name>coverageReductionMode</name></member>
             <member><type>VkSampleCountFlagBits</type>      <name>rasterizationSamples</name></member>
             <member><type>VkSampleCountFlags</type>         <name>depthStencilSamples</name></member>
@@ -4383,7 +4484,7 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>shaderIntegerFunctions2</name></member>
         </type>
         <type category="union" name="VkPerformanceValueDataINTEL">
@@ -4395,102 +4496,102 @@
         </type>
         <type category="struct" name="VkPerformanceValueINTEL">
             <member><type>VkPerformanceValueTypeINTEL</type>        <name>type</name></member>
-            <member selector="type"><type>VkPerformanceValueDataINTEL</type>        <name>data</name></member>
+            <member selector="type" noautovalidity="true"><type>VkPerformanceValueDataINTEL</type>        <name>data</name></member>
         </type>
         <type category="struct" name="VkInitializePerformanceApiInfoINTEL" >
             <member values="VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
-            <member optional="false"><type>void</type>*             <name>pUserData</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true"><type>void</type>*               <name>pUserData</name></member>
         </type>
         <type category="struct" name="VkQueryPoolPerformanceQueryCreateInfoINTEL" structextends="VkQueryPoolCreateInfo">
             <member values="VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>VkQueryPoolSamplingModeINTEL</type>        <name>performanceCountersSampling</name></member>
         </type>
         <type category="struct" name="VkQueryPoolCreateInfoINTEL"                              alias="VkQueryPoolPerformanceQueryCreateInfoINTEL"/>
         <type category="struct" name="VkPerformanceMarkerInfoINTEL">
             <member values="VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>uint64_t</type>                            <name>marker</name></member>
         </type>
         <type category="struct" name="VkPerformanceStreamMarkerInfoINTEL">
             <member values="VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>uint32_t</type>                            <name>marker</name></member>
         </type>
         <type category="struct" name="VkPerformanceOverrideInfoINTEL">
             <member values="VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>VkPerformanceOverrideTypeINTEL</type>      <name>type</name></member>
             <member><type>VkBool32</type>                            <name>enable</name></member>
             <member><type>uint64_t</type>                            <name>parameter</name></member>
         </type>
         <type category="struct" name="VkPerformanceConfigurationAcquireInfoINTEL">
             <member values="VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                         <name>pNext</name></member>
             <member><type>VkPerformanceConfigurationTypeINTEL</type> <name>type</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderClockFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>shaderSubgroupClock</name></member>
             <member><type>VkBool32</type>                            <name>shaderDeviceClock</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceIndexTypeUint8FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>indexTypeUint8</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderSMBuiltinsPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                          <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                          <name>pNext</name></member>
             <member><type>uint32_t</type>                       <name>shaderSMCount</name></member>
             <member><type>uint32_t</type>                       <name>shaderWarpsPerSM</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderSMBuiltinsFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                       <name>shaderSMBuiltins</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name><comment>Pointer to next structure</comment></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name><comment>Pointer to next structure</comment></member>
             <member><type>VkBool32</type>               <name>fragmentShaderSampleInterlock</name></member>
             <member><type>VkBool32</type>               <name>fragmentShaderPixelInterlock</name></member>
             <member><type>VkBool32</type>               <name>fragmentShaderShadingRateInterlock</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                       <name>separateDepthStencilLayouts</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR"  alias="VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures"/>
         <type category="struct" name="VkAttachmentReferenceStencilLayout" structextends="VkAttachmentReference2">
             <member values="VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkImageLayout</type>                  <name>stencilLayout</name></member>
         </type>
         <type category="struct" name="VkAttachmentReferenceStencilLayoutKHR"                   alias="VkAttachmentReferenceStencilLayout"/>
         <type category="struct" name="VkAttachmentDescriptionStencilLayout" structextends="VkAttachmentDescription2">
             <member values="VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkImageLayout</type>                  <name>stencilInitialLayout</name></member>
             <member><type>VkImageLayout</type>                  <name>stencilFinalLayout</name></member>
         </type>
         <type category="struct" name="VkAttachmentDescriptionStencilLayoutKHR"                 alias="VkAttachmentDescriptionStencilLayout"/>
         <type category="struct" name="VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
             <member><type>VkBool32</type>           <name>pipelineExecutableInfo</name></member>
         </type>
         <type category="struct" name="VkPipelineInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*        <name>pNext</name></member>
             <member><type>VkPipeline</type>         <name>pipeline</name></member>
         </type>
         <type category="struct" name="VkPipelineExecutablePropertiesKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
             <member><type>VkShaderStageFlags</type> <name>stages</name></member>
             <member><type>char</type>               <name>name</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
             <member><type>char</type>               <name>description</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
@@ -4498,7 +4599,7 @@
         </type>
         <type category="struct" name="VkPipelineExecutableInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*        <name>pNext</name></member>
             <member><type>VkPipeline</type>         <name>pipeline</name></member>
             <member><type>uint32_t</type>           <name>executableIndex</name></member>
         </type>
@@ -4510,73 +4611,73 @@
         </type>
         <type category="struct" name="VkPipelineExecutableStatisticKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
             <member><type>char</type>               <name>name</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
             <member><type>char</type>               <name>description</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
             <member><type>VkPipelineExecutableStatisticFormatKHR</type> <name>format</name></member>
-            <member selector="format"><type>VkPipelineExecutableStatisticValueKHR</type>  <name>value</name></member>
+            <member selector="format" noautovalidity="true"><type>VkPipelineExecutableStatisticValueKHR</type>  <name>value</name></member>
         </type>
         <type category="struct" name="VkPipelineExecutableInternalRepresentationKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*              <name>pNext</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
             <member><type>char</type>               <name>name</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
             <member><type>char</type>               <name>description</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
             <member><type>VkBool32</type>           <name>isText</name></member>
-            <member optional="true"><type>size_t</type>               <name>dataSize</name></member>
+            <member><type>size_t</type>             <name>dataSize</name></member>
             <member optional="true" len="dataSize"><type>void</type>* <name>pData</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>shaderDemoteToHelperInvocation</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>texelBufferAlignment</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
             <member><type>VkDeviceSize</type>                       <name>storageTexelBufferOffsetAlignmentBytes</name></member>
             <member><type>VkBool32</type>                           <name>storageTexelBufferOffsetSingleTexelAlignment</name></member>
             <member><type>VkDeviceSize</type>                       <name>uniformTexelBufferOffsetAlignmentBytes</name></member>
             <member><type>VkBool32</type>                           <name>uniformTexelBufferOffsetSingleTexelAlignment</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSubgroupSizeControlFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
-             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-             <member><type>void</type>*                          <name>pNext</name></member>
-             <member><type>VkBool32</type> <name>subgroupSizeControl</name></member>
-             <member><type>VkBool32</type> <name>computeFullSubgroups</name></member>
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                          <name>pNext</name></member>
+            <member><type>VkBool32</type> <name>subgroupSizeControl</name></member>
+            <member><type>VkBool32</type> <name>computeFullSubgroups</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSubgroupSizeControlPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
-             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-             <member><type>void</type>*                          <name>pNext</name></member>
-             <member noautovalidity="true"><type>uint32_t</type> <name>minSubgroupSize</name><comment>The minimum subgroup size supported by this device</comment></member>
-             <member noautovalidity="true"><type>uint32_t</type> <name>maxSubgroupSize</name><comment>The maximum subgroup size supported by this device</comment></member>
-             <member noautovalidity="true"><type>uint32_t</type> <name>maxComputeWorkgroupSubgroups</name><comment>The maximum number of subgroups supported in a workgroup</comment></member>
-             <member><type>VkShaderStageFlags</type>             <name>requiredSubgroupSizeStages</name><comment>The shader stages that support specifying a subgroup size</comment></member>
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                          <name>pNext</name></member>
+            <member noautovalidity="true"><type>uint32_t</type> <name>minSubgroupSize</name><comment>The minimum subgroup size supported by this device</comment></member>
+            <member noautovalidity="true"><type>uint32_t</type> <name>maxSubgroupSize</name><comment>The maximum subgroup size supported by this device</comment></member>
+            <member noautovalidity="true"><type>uint32_t</type> <name>maxComputeWorkgroupSubgroups</name><comment>The maximum number of subgroups supported in a workgroup</comment></member>
+            <member><type>VkShaderStageFlags</type>             <name>requiredSubgroupSizeStages</name><comment>The shader stages that support specifying a subgroup size</comment></member>
         </type>
         <type category="struct" name="VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT" returnedonly="true" structextends="VkPipelineShaderStageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>requiredSubgroupSize</name></member>
         </type>
         <type category="struct" name="VkMemoryOpaqueCaptureAddressAllocateInfo" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                   <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                   <name>pNext</name></member>
             <member><type>uint64_t</type>                      <name>opaqueCaptureAddress</name></member>
         </type>
         <type category="struct" name="VkMemoryOpaqueCaptureAddressAllocateInfoKHR"             alias="VkMemoryOpaqueCaptureAddressAllocateInfo"/>
         <type category="struct" name="VkDeviceMemoryOpaqueCaptureAddressInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
         </type>
         <type category="struct" name="VkDeviceMemoryOpaqueCaptureAddressInfoKHR"               alias="VkDeviceMemoryOpaqueCaptureAddressInfo"/>
         <type category="struct" name="VkPhysicalDeviceLineRasterizationFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>rectangularLines</name></member>
             <member><type>VkBool32</type>                           <name>bresenhamLines</name></member>
             <member><type>VkBool32</type>                           <name>smoothLines</name></member>
@@ -4586,25 +4687,25 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceLineRasterizationPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>uint32_t</type>                            <name>lineSubPixelPrecisionBits</name></member>
         </type>
         <type category="struct" name="VkPipelineRasterizationLineStateCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                      <name>pNext</name></member>
             <member><type>VkLineRasterizationModeEXT</type>                                       <name>lineRasterizationMode</name></member>
             <member><type>VkBool32</type>                                                         <name>stippledLineEnable</name></member>
-            <member optional="true"><type>uint32_t</type>                                         <name>lineStippleFactor</name></member>
-            <member optional="true"><type>uint16_t</type>                                         <name>lineStipplePattern</name></member>
+            <member><type>uint32_t</type>                                                         <name>lineStippleFactor</name></member>
+            <member><type>uint16_t</type>                                                         <name>lineStipplePattern</name></member>
         </type>
         <type category="struct" name="VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkBool32</type>                                                         <name>pipelineCreationCacheControl</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceVulkan11Features" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>storageBuffer16BitAccess</name><comment>16-bit integer/floating-point variables supported in BufferBlock</comment></member>
             <member><type>VkBool32</type>                         <name>uniformAndStorageBuffer16BitAccess</name><comment>16-bit integer/floating-point variables supported in BufferBlock and Block</comment></member>
             <member><type>VkBool32</type>                         <name>storagePushConstant16</name><comment>16-bit integer/floating-point variables supported in PushConstant</comment></member>
@@ -4620,7 +4721,7 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceVulkan11Properties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*      <name>pNext</name></member>
+            <member optional="true"><type>void</type>*      <name>pNext</name></member>
             <member><type>uint8_t</type>                          <name>deviceUUID</name>[<enum>VK_UUID_SIZE</enum>]</member>
             <member><type>uint8_t</type>                          <name>driverUUID</name>[<enum>VK_UUID_SIZE</enum>]</member>
             <member><type>uint8_t</type>                          <name>deviceLUID</name>[<enum>VK_LUID_SIZE</enum>]</member>
@@ -4639,7 +4740,7 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceVulkan12Features" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                         <name>samplerMirrorClampToEdge</name></member>
             <member><type>VkBool32</type>                         <name>drawIndirectCount</name></member>
             <member><type>VkBool32</type>                         <name>storageBuffer8BitAccess</name><comment>8-bit integer variables supported in StorageBuffer</comment></member>
@@ -4690,7 +4791,7 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceVulkan12Properties" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkDriverId</type>                       <name>driverID</name></member>
             <member><type>char</type>                             <name>driverName</name>[<enum>VK_MAX_DRIVER_NAME_SIZE</enum>]</member>
             <member><type>char</type>                             <name>driverInfo</name>[<enum>VK_MAX_DRIVER_INFO_SIZE</enum>]</member>
@@ -4746,17 +4847,17 @@
         </type>
         <type category="struct" name="VkPipelineCompilerControlCreateInfoAMD" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD"><type>VkStructureType</type>   <name>sType</name></member>
-            <member>const <type>void</type>*                                                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCompilerControlFlagsAMD</type>                                      <name>compilerControlFlags</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceCoherentMemoryFeaturesAMD" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>deviceCoherentMemory</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceToolPropertiesEXT" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>char</type>            <name>name</name>[<enum>VK_MAX_EXTENSION_NAME_SIZE</enum>]</member>
             <member><type>char</type>            <name>version</name>[<enum>VK_MAX_EXTENSION_NAME_SIZE</enum>]</member>
             <member><type>VkToolPurposeFlagsEXT</type> <name>purposes</name></member>
@@ -4765,18 +4866,18 @@
         </type>
         <type category="struct" name="VkSamplerCustomBorderColorCreateInfoEXT" structextends="VkSamplerCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                                            <name>pNext</name></member>
-            <member><type>VkClearColorValue</type>                                                                      <name>customBorderColor</name></member>
+            <member optional="true">const <type>void</type>*                                                                            <name>pNext</name></member>
+            <member noautovalidity="true"><type>VkClearColorValue</type>                                                                      <name>customBorderColor</name></member>
             <member><type>VkFormat</type>                                                                               <name>format</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceCustomBorderColorPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                                                                   <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                                                                   <name>pNext</name></member>
             <member><type>uint32_t</type>                                                                                      <name>maxCustomBorderColorSamplers</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceCustomBorderColorFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>customBorderColors</name></member>
             <member><type>VkBool32</type>                           <name>customBorderColorWithoutFormat</name></member>
         </type>
@@ -4790,25 +4891,26 @@
         </type>
         <type category="struct" name="VkAccelerationStructureGeometryTrianglesDataKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                   <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                   <name>pNext</name></member>
             <member><type>VkFormat</type>                                      <name>vertexFormat</name></member>
-            <member><type>VkDeviceOrHostAddressConstKHR</type>                 <name>vertexData</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type>                 <name>vertexData</name></member>
             <member><type>VkDeviceSize</type>                                  <name>vertexStride</name></member>
+            <member><type>uint32_t</type>                                      <name>maxVertex</name></member>
             <member><type>VkIndexType</type>                                   <name>indexType</name></member>
-            <member optional="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>indexData</name></member>
-            <member optional="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>transformData</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type>                 <name>indexData</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type>                 <name>transformData</name></member>
         </type>
         <type category="struct" name="VkAccelerationStructureGeometryAabbsDataKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                           <name>pNext</name></member>
-            <member><type>VkDeviceOrHostAddressConstKHR</type>         <name>data</name></member>
+            <member optional="true">const <type>void</type>*                           <name>pNext</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type>         <name>data</name></member>
             <member><type>VkDeviceSize</type>                          <name>stride</name></member>
         </type>
         <type category="struct" name="VkAccelerationStructureGeometryInstancesDataKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                           <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                           <name>pNext</name></member>
             <member><type>VkBool32</type>                              <name>arrayOfPointers</name></member>
-            <member><type>VkDeviceOrHostAddressConstKHR</type>         <name>data</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type>         <name>data</name></member>
         </type>
         <type category="union" name="VkAccelerationStructureGeometryDataKHR">
             <member selection="VK_GEOMETRY_TYPE_TRIANGLES_KHR"><type>VkAccelerationStructureGeometryTrianglesDataKHR</type> <name>triangles</name></member>
@@ -4817,48 +4919,38 @@
         </type>
         <type category="struct" name="VkAccelerationStructureGeometryKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
             <member><type>VkGeometryTypeKHR</type>                      <name>geometryType</name></member>
             <member selector="geometryType"><type>VkAccelerationStructureGeometryDataKHR</type> <name>geometry</name></member>
             <member optional="true"><type>VkGeometryFlagsKHR</type>     <name>flags</name></member>
         </type>
         <type category="struct" name="VkAccelerationStructureBuildGeometryInfoKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                        <name>pNext</name></member>
             <member><type>VkAccelerationStructureTypeKHR</type>                                     <name>type</name></member>
             <member optional="true"><type>VkBuildAccelerationStructureFlagsKHR</type>               <name>flags</name></member>
-            <member><type>VkBool32</type>                                                           <name>update</name></member>
-            <member optional="true"><type>VkAccelerationStructureKHR</type>                         <name>srcAccelerationStructure</name></member>
-            <member><type>VkAccelerationStructureKHR</type>                                         <name>dstAccelerationStructure</name></member>
-            <member><type>VkBool32</type>                                                           <name>geometryArrayOfPointers</name></member>
+            <member noautovalidity="true"><type>VkBuildAccelerationStructureModeKHR</type>          <name>mode</name></member>
+            <member optional="true" noautovalidity="true"><type>VkAccelerationStructureKHR</type>                   <name>srcAccelerationStructure</name></member>
+            <member optional="true" noautovalidity="true"><type>VkAccelerationStructureKHR</type>                   <name>dstAccelerationStructure</name></member>
             <member optional="true"><type>uint32_t</type>                                           <name>geometryCount</name></member>
-            <member noautovalidity="true">const <type>VkAccelerationStructureGeometryKHR</type>* const*   <name>ppGeometries</name></member>
-            <member><type>VkDeviceOrHostAddressKHR</type>                                           <name>scratchData</name></member>
+            <member len="geometryCount" optional="true">const <type>VkAccelerationStructureGeometryKHR</type>*    <name>pGeometries</name></member>
+            <member len="geometryCount,1" optional="true,false">const <type>VkAccelerationStructureGeometryKHR</type>* const*   <name>ppGeometries</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressKHR</type>                                           <name>scratchData</name></member>
         </type>
-        <type category="struct" name="VkAccelerationStructureBuildOffsetInfoKHR">
+        <type category="struct" name="VkAccelerationStructureBuildRangeInfoKHR">
             <member><type>uint32_t</type>                                                <name>primitiveCount</name></member>
             <member><type>uint32_t</type>                                                <name>primitiveOffset</name></member>
-            <member optional="true"><type>uint32_t</type>                                <name>firstVertex</name></member>
-            <member optional="true"><type>uint32_t</type>                                <name>transformOffset</name></member>
-        </type>
-        <type category="struct" name="VkAccelerationStructureCreateGeometryTypeInfoKHR">
-            <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                             <name>pNext</name></member>
-            <member><type>VkGeometryTypeKHR</type>                                       <name>geometryType</name></member>
-            <member><type>uint32_t</type>                                                <name>maxPrimitiveCount</name></member>
-            <member><type>VkIndexType</type>                                              <name>indexType</name></member>
-            <member optional="true"><type>uint32_t</type>                                <name>maxVertexCount</name></member>
-            <member optional="true"><type>VkFormat</type>                                <name>vertexFormat</name></member>
-            <member optional="true"><type>VkBool32</type>                                <name>allowsTransforms</name></member>
+            <member><type>uint32_t</type>                                                <name>firstVertex</name></member>
+            <member><type>uint32_t</type>                                                <name>transformOffset</name></member>
         </type>
         <type category="struct" name="VkAccelerationStructureCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                             <name>pNext</name></member>
-            <member><type>VkDeviceSize</type>                                            <name>compactedSize</name></member>
+            <member optional="true">const <type>void</type>*                             <name>pNext</name></member>
+            <member optional="true"><type>VkAccelerationStructureCreateFlagsKHR</type>   <name>createFlags</name></member>
+            <member><type>VkBuffer</type>                                                <name>buffer</name></member>
+            <member><type>VkDeviceSize</type>                                            <name>offset</name><comment>Specified in bytes</comment></member>
+            <member><type>VkDeviceSize</type>                                            <name>size</name></member>
             <member><type>VkAccelerationStructureTypeKHR</type>                          <name>type</name></member>
-            <member optional="true"><type>VkBuildAccelerationStructureFlagsKHR</type>    <name>flags</name></member>
-            <member optional="true"><type>uint32_t</type>                                <name>maxGeometryCount</name></member>
-            <member len="maxGeometryCount">const <type>VkAccelerationStructureCreateGeometryTypeInfoKHR</type>* <name>pGeometryInfos</name></member>
             <member optional="true"><type>VkDeviceAddress</type>                         <name>deviceAddress</name></member>
         </type>
         <type category="struct" name="VkAabbPositionsKHR">
@@ -4886,95 +4978,99 @@
         <type category="struct" name="VkAccelerationStructureInstanceNV"                       alias="VkAccelerationStructureInstanceKHR"/>
         <type category="struct" name="VkAccelerationStructureDeviceAddressInfoKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
             <member><type>VkAccelerationStructureKHR</type>                             <name>accelerationStructure</name></member>
         </type>
-        <type category="struct" name="VkAccelerationStructureVersionKHR">
-            <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
-            <member len="2*VK_UUID_SIZE">const <type>uint8_t</type>*                    <name>versionData</name></member>
+        <type category="struct" name="VkAccelerationStructureVersionInfoKHR">
+            <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
+            <member len="2*ename:VK_UUID_SIZE" altlen="2*VK_UUID_SIZE">const <type>uint8_t</type>*                    <name>pVersionData</name></member>
         </type>
         <type category="struct" name="VkCopyAccelerationStructureInfoKHR">
             <member values="VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
             <member><type>VkAccelerationStructureKHR</type>                             <name>src</name></member>
             <member><type>VkAccelerationStructureKHR</type>                             <name>dst</name></member>
             <member><type>VkCopyAccelerationStructureModeKHR</type>                     <name>mode</name></member>
         </type>
         <type category="struct" name="VkCopyAccelerationStructureToMemoryInfoKHR">
             <member values="VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
             <member><type>VkAccelerationStructureKHR</type>                             <name>src</name></member>
-            <member><type>VkDeviceOrHostAddressKHR</type>                               <name>dst</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressKHR</type>                               <name>dst</name></member>
             <member><type>VkCopyAccelerationStructureModeKHR</type>                     <name>mode</name></member>
         </type>
         <type category="struct" name="VkCopyMemoryToAccelerationStructureInfoKHR">
             <member values="VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
-            <member><type>VkDeviceOrHostAddressConstKHR</type>                          <name>src</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
+            <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type>                          <name>src</name></member>
             <member><type>VkAccelerationStructureKHR</type>                             <name>dst</name></member>
             <member><type>VkCopyAccelerationStructureModeKHR</type>                     <name>mode</name></member>
         </type>
         <type category="struct" name="VkRayTracingPipelineInterfaceCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
-            <member><type>uint32_t</type>                                               <name>maxPayloadSize</name></member>
-            <member><type>uint32_t</type>                                               <name>maxAttributeSize</name></member>
-            <member><type>uint32_t</type>                                               <name>maxCallableSize</name></member>
-        </type>
-        <type category="struct" name="VkDeferredOperationInfoKHR" structextends="VkRayTracingPipelineCreateInfoKHR,VkAccelerationStructureBuildGeometryInfoKHR,VkCopyAccelerationStructureInfoKHR,VkCopyMemoryToAccelerationStructureInfoKHR,VkCopyAccelerationStructureToMemoryInfoKHR">
-            <member values="VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                   <name>pNext</name></member>
-            <member noautovalidity="true"><type>VkDeferredOperationKHR</type>        <name>operationHandle</name></member>
+            <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
+            <member><type>uint32_t</type>                                               <name>maxPipelineRayPayloadSize</name></member>
+            <member><type>uint32_t</type>                                               <name>maxPipelineRayHitAttributeSize</name></member>
         </type>
         <type category="struct" name="VkPipelineLibraryCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                               <name>libraryCount</name></member>
             <member len="libraryCount">const <type>VkPipeline</type>*                   <name>pLibraries</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExtendedDynamicStateFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>extendedDynamicState</name></member>
         </type>
         <type category="struct" name="VkRenderPassTransformBeginInfoQCOM" structextends="VkRenderPassBeginInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                           <name>pNext</name><comment>Pointer to next structure</comment></member>
+            <member optional="true"><type>void</type>*                           <name>pNext</name><comment>Pointer to next structure</comment></member>
+            <member noautovalidity="true"><type>VkSurfaceTransformFlagBitsKHR</type>   <name>transform</name></member>
+        </type>
+        <type category="struct" name="VkCopyCommandTransformInfoQCOM" structextends="VkBufferImageCopy2KHR,VkImageBlit2KHR">
+            <member values="VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true" noautovalidity="true">const <type>void</type>*     <name>pNext</name></member>
             <member noautovalidity="true"><type>VkSurfaceTransformFlagBitsKHR</type>   <name>transform</name></member>
         </type>
         <type category="struct" name="VkCommandBufferInheritanceRenderPassTransformInfoQCOM" structextends="VkCommandBufferInheritanceInfo">
             <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                           <name>pNext</name><comment>Pointer to next structure</comment></member>
+            <member optional="true"><type>void</type>*                           <name>pNext</name><comment>Pointer to next structure</comment></member>
             <member noautovalidity="true"><type>VkSurfaceTransformFlagBitsKHR</type>   <name>transform</name></member>
             <member><type>VkRect2D</type>                        <name>renderArea</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceDiagnosticsConfigFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type>                       <name>diagnosticsConfig</name></member>
         </type>
         <type category="struct" name="VkDeviceDiagnosticsConfigCreateInfoNV" structextends="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                         <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                         <name>pNext</name></member>
             <member optional="true"><type>VkDeviceDiagnosticsConfigFlagsNV</type>    <name>flags</name></member>
         </type>
+        <type category="struct" name="VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*          <name>pNext</name></member>
+            <member><type>VkBool32</type>       <name>shaderZeroInitializeWorkgroupMemory</name></member>
+        </type>
         <type category="struct" name="VkPhysicalDeviceRobustness2FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>robustBufferAccess2</name></member>
             <member><type>VkBool32</type>                           <name>robustImageAccess2</name></member>
             <member><type>VkBool32</type>                           <name>nullDescriptor</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceRobustness2PropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkDeviceSize</type>                       <name>robustStorageBufferAccessSizeAlignment</name></member>
             <member><type>VkDeviceSize</type>                       <name>robustUniformBufferAccessSizeAlignment</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceImageRobustnessFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <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">
@@ -5001,39 +5097,362 @@
             <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 noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member><type>VkBool32</type>                           <name>workgroupMemoryExplicitLayout</name></member>
+            <member><type>VkBool32</type>                           <name>workgroupMemoryExplicitLayoutScalarBlockLayout</name></member>
+            <member><type>VkBool32</type>                           <name>workgroupMemoryExplicitLayout8BitAccess</name></member>
+            <member><type>VkBool32</type>                           <name>workgroupMemoryExplicitLayout16BitAccess</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDevicePortabilitySubsetFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
+            <member><type>VkBool32</type>                           <name>constantAlphaColorBlendFactors</name></member>
+            <member><type>VkBool32</type>                           <name>events</name></member>
+            <member><type>VkBool32</type>                           <name>imageViewFormatReinterpretation</name></member>
+            <member><type>VkBool32</type>                           <name>imageViewFormatSwizzle</name></member>
+            <member><type>VkBool32</type>                           <name>imageView2DOn3DImage</name></member>
+            <member><type>VkBool32</type>                           <name>multisampleArrayImage</name></member>
+            <member><type>VkBool32</type>                           <name>mutableComparisonSamplers</name></member>
+            <member><type>VkBool32</type>                           <name>pointPolygons</name></member>
+            <member><type>VkBool32</type>                           <name>samplerMipLodBias</name></member>
+            <member><type>VkBool32</type>                           <name>separateStencilMaskRef</name></member>
+            <member><type>VkBool32</type>                           <name>shaderSampleRateInterpolationFunctions</name></member>
+            <member><type>VkBool32</type>                           <name>tessellationIsolines</name></member>
+            <member><type>VkBool32</type>                           <name>tessellationPointMode</name></member>
+            <member><type>VkBool32</type>                           <name>triangleFans</name></member>
+            <member><type>VkBool32</type>                           <name>vertexAttributeAccessBeyondStride</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDevicePortabilitySubsetPropertiesKHR" structextends="VkPhysicalDeviceProperties2">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
+            <member><type>uint32_t</type>                           <name>minVertexInputBindingStrideAlignment</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDevice4444FormatsFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*        <name>pNext</name></member>
+            <member><type>VkBool32</type>                           <name>formatA4R4G4B4</name></member>
+            <member><type>VkBool32</type>                           <name>formatA4B4G4R4</name></member>
+        </type>
+        <type category="struct" name="VkBufferCopy2KHR">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*  <name>pNext</name></member>
+            <member><type>VkDeviceSize</type> <name>srcOffset</name><comment>Specified in bytes</comment></member>
+            <member><type>VkDeviceSize</type> <name>dstOffset</name><comment>Specified in bytes</comment></member>
+            <member noautovalidity="true"><type>VkDeviceSize</type> <name>size</name><comment>Specified in bytes</comment></member>
+        </type>
+        <type category="struct" name="VkImageCopy2KHR">
+            <member values="VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
+            <member><type>VkImageSubresourceLayers</type> <name>srcSubresource</name></member>
+            <member><type>VkOffset3D</type> <name>srcOffset</name><comment>Specified in pixels for both compressed and uncompressed images</comment></member>
+            <member><type>VkImageSubresourceLayers</type> <name>dstSubresource</name></member>
+            <member><type>VkOffset3D</type> <name>dstOffset</name><comment>Specified in pixels for both compressed and uncompressed images</comment></member>
+            <member><type>VkExtent3D</type> <name>extent</name><comment>Specified in pixels for both compressed and uncompressed images</comment></member>
+        </type>
+        <type category="struct" name="VkImageBlit2KHR">
+            <member values="VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*  <name>pNext</name></member>
+            <member><type>VkImageSubresourceLayers</type> <name>srcSubresource</name></member>
+            <member><type>VkOffset3D</type> <name>srcOffsets</name>[2]<comment>Specified in pixels for both compressed and uncompressed images</comment></member>
+            <member><type>VkImageSubresourceLayers</type> <name>dstSubresource</name></member>
+            <member><type>VkOffset3D</type> <name>dstOffsets</name>[2]<comment>Specified in pixels for both compressed and uncompressed images</comment></member>
+        </type>
+        <type category="struct" name="VkBufferImageCopy2KHR">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*  <name>pNext</name></member>
+            <member><type>VkDeviceSize</type> <name>bufferOffset</name><comment>Specified in bytes</comment></member>
+            <member><type>uint32_t</type> <name>bufferRowLength</name><comment>Specified in texels</comment></member>
+            <member><type>uint32_t</type> <name>bufferImageHeight</name></member>
+            <member><type>VkImageSubresourceLayers</type> <name>imageSubresource</name></member>
+            <member><type>VkOffset3D</type> <name>imageOffset</name><comment>Specified in pixels for both compressed and uncompressed images</comment></member>
+            <member><type>VkExtent3D</type> <name>imageExtent</name><comment>Specified in pixels for both compressed and uncompressed images</comment></member>
+        </type>
+        <type category="struct" name="VkImageResolve2KHR">
+            <member values="VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*  <name>pNext</name></member>
+            <member><type>VkImageSubresourceLayers</type> <name>srcSubresource</name></member>
+            <member><type>VkOffset3D</type> <name>srcOffset</name></member>
+            <member><type>VkImageSubresourceLayers</type> <name>dstSubresource</name></member>
+            <member><type>VkOffset3D</type> <name>dstOffset</name></member>
+            <member><type>VkExtent3D</type> <name>extent</name></member>
+        </type>
+        <type category="struct" name="VkCopyBufferInfo2KHR">
+            <member values="VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
+            <member><type>VkBuffer</type> <name>srcBuffer</name></member>
+            <member><type>VkBuffer</type> <name>dstBuffer</name></member>
+            <member><type>uint32_t</type> <name>regionCount</name></member>
+            <member len="regionCount">const <type>VkBufferCopy2KHR</type>* <name>pRegions</name></member>
+        </type>
+        <type category="struct" name="VkCopyImageInfo2KHR">
+            <member values="VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
+            <member><type>VkImage</type> <name>srcImage</name></member>
+            <member><type>VkImageLayout</type> <name>srcImageLayout</name></member>
+            <member><type>VkImage</type> <name>dstImage</name></member>
+            <member><type>VkImageLayout</type> <name>dstImageLayout</name></member>
+            <member><type>uint32_t</type> <name>regionCount</name></member>
+            <member len="regionCount">const <type>VkImageCopy2KHR</type>* <name>pRegions</name></member>
+        </type>
+        <type category="struct" name="VkBlitImageInfo2KHR">
+            <member values="VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
+            <member><type>VkImage</type> <name>srcImage</name></member>
+            <member><type>VkImageLayout</type> <name>srcImageLayout</name></member>
+            <member><type>VkImage</type> <name>dstImage</name></member>
+            <member><type>VkImageLayout</type> <name>dstImageLayout</name></member>
+            <member><type>uint32_t</type> <name>regionCount</name></member>
+            <member len="regionCount">const <type>VkImageBlit2KHR</type>* <name>pRegions</name></member>
+            <member><type>VkFilter</type> <name>filter</name></member>
+        </type>
+        <type category="struct" name="VkCopyBufferToImageInfo2KHR">
+            <member values="VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
+            <member><type>VkBuffer</type> <name>srcBuffer</name></member>
+            <member><type>VkImage</type> <name>dstImage</name></member>
+            <member><type>VkImageLayout</type> <name>dstImageLayout</name></member>
+            <member><type>uint32_t</type> <name>regionCount</name></member>
+            <member len="regionCount">const <type>VkBufferImageCopy2KHR</type>* <name>pRegions</name></member>
+        </type>
+        <type category="struct" name="VkCopyImageToBufferInfo2KHR">
+            <member values="VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
+            <member><type>VkImage</type> <name>srcImage</name></member>
+            <member><type>VkImageLayout</type> <name>srcImageLayout</name></member>
+            <member><type>VkBuffer</type> <name>dstBuffer</name></member>
+            <member><type>uint32_t</type> <name>regionCount</name></member>
+            <member len="regionCount">const <type>VkBufferImageCopy2KHR</type>* <name>pRegions</name></member>
+        </type>
+        <type category="struct" name="VkResolveImageInfo2KHR">
+            <member values="VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>* <name>pNext</name></member>
+            <member><type>VkImage</type> <name>srcImage</name></member>
+            <member><type>VkImageLayout</type> <name>srcImageLayout</name></member>
+            <member><type>VkImage</type> <name>dstImage</name></member>
+            <member><type>VkImageLayout</type> <name>dstImageLayout</name></member>
+            <member><type>uint32_t</type> <name>regionCount</name></member>
+            <member len="regionCount">const <type>VkImageResolve2KHR</type>* <name>pRegions</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
+            <member><type>VkBool32</type>                            <name>shaderImageInt64Atomics</name></member>
+            <member><type>VkBool32</type>                            <name>sparseImageInt64Atomics</name></member>
+        </type>
+        <type category="struct" name="VkFragmentShadingRateAttachmentInfoKHR" structextends="VkSubpassDescription2">
+            <member values="VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                <name>pNext</name></member>
+            <member>const <type>VkAttachmentReference2</type>* <name>pFragmentShadingRateAttachment</name></member>
+            <member><type>VkExtent2D</type>                 <name>shadingRateAttachmentTexelSize</name></member>
+        </type>
+        <type category="struct" name="VkPipelineFragmentShadingRateStateCreateInfoKHR" structextends="VkGraphicsPipelineCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                                <name>pNext</name></member>
+            <member><type>VkExtent2D</type>                                 <name>fragmentSize</name></member>
+            <member><type>VkFragmentShadingRateCombinerOpKHR</type>         <name>combinerOps</name>[2]</member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceFragmentShadingRateFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
+            <member><type>VkBool32</type>           <name>pipelineFragmentShadingRate</name></member>
+            <member><type>VkBool32</type>           <name>primitiveFragmentShadingRate</name></member>
+            <member><type>VkBool32</type>           <name>attachmentFragmentShadingRate</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceFragmentShadingRatePropertiesKHR" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
+            <member><type>VkExtent2D</type>             <name>minFragmentShadingRateAttachmentTexelSize</name></member>
+            <member><type>VkExtent2D</type>             <name>maxFragmentShadingRateAttachmentTexelSize</name></member>
+            <member><type>uint32_t</type>               <name>maxFragmentShadingRateAttachmentTexelSizeAspectRatio</name></member>
+            <member><type>VkBool32</type>               <name>primitiveFragmentShadingRateWithMultipleViewports</name></member>
+            <member><type>VkBool32</type>               <name>layeredShadingRateAttachments</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateNonTrivialCombinerOps</name></member>
+            <member><type>VkExtent2D</type>             <name>maxFragmentSize</name></member>
+            <member><type>uint32_t</type>               <name>maxFragmentSizeAspectRatio</name></member>
+            <member><type>uint32_t</type>               <name>maxFragmentShadingRateCoverageSamples</name></member>
+            <member><type>VkSampleCountFlagBits</type>  <name>maxFragmentShadingRateRasterizationSamples</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateWithShaderDepthStencilWrites</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateWithSampleMask</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateWithShaderSampleMask</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateWithConservativeRasterization</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateWithFragmentShaderInterlock</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateWithCustomSampleLocations</name></member>
+            <member><type>VkBool32</type>               <name>fragmentShadingRateStrictMultiplyCombiner</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceFragmentShadingRateKHR" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*              <name>pNext</name></member>
+            <member><type>VkSampleCountFlags</type> <name>sampleCounts</name></member>
+            <member><type>VkExtent2D</type>         <name>fragmentSize</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR"><type>VkStructureType</type><name>sType</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member><type>VkBool32</type>                       <name>shaderTerminateInvocation</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
+            <member><type>VkBool32</type>                           <name>fragmentShadingRateEnums</name></member>
+            <member><type>VkBool32</type>                           <name>supersampleFragmentShadingRates</name></member>
+            <member><type>VkBool32</type>                           <name>noInvocationFragmentShadingRates</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV" structextends="VkPhysicalDeviceProperties2">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true"><type>void</type>*                              <name>pNext</name></member>
+            <member><type>VkSampleCountFlagBits</type>              <name>maxFragmentShadingRateInvocationCount</name></member>
+        </type>
+        <type category="struct" name="VkPipelineFragmentShadingRateEnumStateCreateInfoNV" structextends="VkGraphicsPipelineCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
+            <member><type>VkFragmentShadingRateTypeNV</type>        <name>shadingRateType</name></member>
+            <member><type>VkFragmentShadingRateNV</type>            <name>shadingRate</name></member>
+            <member><type>VkFragmentShadingRateCombinerOpKHR</type> <name>combinerOps</name>[2]</member>
+        </type>
+        <type category="struct" name="VkAccelerationStructureBuildSizesInfoKHR">
+            <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member optional="true">const <type>void</type>*        <name>pNext</name></member>
+            <member><type>VkDeviceSize</type>                       <name>accelerationStructureSize</name></member>
+            <member><type>VkDeviceSize</type>                       <name>updateScratchSize</name></member>
+            <member><type>VkDeviceSize</type>                       <name>buildScratchSize</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"><type>VkStructureType</type> <name>sType</name></member>
+            <member noautovalidity="true"><type>void</type>*                     <name>pNext</name></member>
+            <member><type>VkBool32</type>                                        <name>mutableDescriptorType</name></member>
+        </type>
+        <type category="struct" name="VkMutableDescriptorTypeListVALVE">
+            <member optional="true"><type>uint32_t</type>                                          <name>descriptorTypeCount</name></member>
+            <member len="descriptorTypeCount">const <type>VkDescriptorType</type>* <name>pDescriptorTypes</name></member>
+        </type>
+        <type category="struct" name="VkMutableDescriptorTypeCreateInfoVALVE" structextends="VkDescriptorSetLayoutCreateInfo,VkDescriptorPoolCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                                                                      <name>pNext</name></member>
+            <member optional="true"><type>uint32_t</type>                                                         <name>mutableDescriptorTypeListCount</name></member>
+            <member len="mutableDescriptorTypeListCount">const <type>VkMutableDescriptorTypeListVALVE</type>* <name>pMutableDescriptorTypeLists</name></member>
+        </type>
+        <type category="struct" name="VkMemoryBarrier2KHR" structextends="VkSubpassDependency2">
+            <member values="VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>srcStageMask</name></member>
+            <member optional="true"><type>VkAccessFlags2KHR</type>         <name>srcAccessMask</name></member>
+            <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>dstStageMask</name></member>
+            <member optional="true"><type>VkAccessFlags2KHR</type>         <name>dstAccessMask</name></member>
+        </type>
+        <type category="struct" name="VkImageMemoryBarrier2KHR">
+            <member values="VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>srcStageMask</name></member>
+            <member optional="true"><type>VkAccessFlags2KHR</type>         <name>srcAccessMask</name></member>
+            <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>dstStageMask</name></member>
+            <member optional="true"><type>VkAccessFlags2KHR</type>         <name>dstAccessMask</name></member>
+            <member><type>VkImageLayout</type>                             <name>oldLayout</name></member>
+            <member><type>VkImageLayout</type>                             <name>newLayout</name></member>
+            <member><type>uint32_t</type>                                  <name>srcQueueFamilyIndex</name></member>
+            <member><type>uint32_t</type>                                  <name>dstQueueFamilyIndex</name></member>
+            <member><type>VkImage</type>                                   <name>image</name></member>
+            <member><type>VkImageSubresourceRange</type>                   <name>subresourceRange</name></member>
+        </type>
+        <type category="struct" name="VkBufferMemoryBarrier2KHR">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>srcStageMask</name></member>
+            <member optional="true"><type>VkAccessFlags2KHR</type>         <name>srcAccessMask</name></member>
+            <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>dstStageMask</name></member>
+            <member optional="true"><type>VkAccessFlags2KHR</type>         <name>dstAccessMask</name></member>
+            <member><type>uint32_t</type>                                  <name>srcQueueFamilyIndex</name></member>
+            <member><type>uint32_t</type>                                  <name>dstQueueFamilyIndex</name></member>
+            <member><type>VkBuffer</type>                                  <name>buffer</name></member>
+            <member><type>VkDeviceSize</type>                              <name>offset</name></member>
+            <member><type>VkDeviceSize</type>                              <name>size</name></member>
+        </type>
+        <type category="struct" name="VkDependencyInfoKHR">
+            <member values="VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>VkDependencyFlags</type>         <name>dependencyFlags</name></member>
+            <member optional="true"><type>uint32_t</type>                  <name>memoryBarrierCount</name></member>
+            <member len="memoryBarrierCount">const <type>VkMemoryBarrier2KHR</type>* <name>pMemoryBarriers</name></member>
+            <member optional="true"><type>uint32_t</type>                  <name>bufferMemoryBarrierCount</name></member>
+            <member len="bufferMemoryBarrierCount">const <type>VkBufferMemoryBarrier2KHR</type>* <name>pBufferMemoryBarriers</name></member>
+            <member optional="true"><type>uint32_t</type>                  <name>imageMemoryBarrierCount</name></member>
+            <member len="imageMemoryBarrierCount">const <type>VkImageMemoryBarrier2KHR</type>* <name>pImageMemoryBarriers</name></member>
+        </type>
+        <type category="struct" name="VkSemaphoreSubmitInfoKHR">
+            <member values="VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"><type>VkStructureType</type>       <name>sType</name></member>
+            <member>const <type>void</type>*                                                                <name>pNext</name></member>
+            <member><type>VkSemaphore</type>                                                                <name>semaphore</name></member>
+            <member><type>uint64_t</type>                                                                   <name>value</name></member>
+            <member optional="true"><type>VkPipelineStageFlags2KHR</type>                                   <name>stageMask</name></member>
+            <member><type>uint32_t</type>                                                                   <name>deviceIndex</name></member>
+        </type>
+        <type category="struct" name="VkCommandBufferSubmitInfoKHR">
+            <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"><type>VkStructureType</type>  <name>sType</name></member>
+            <member>const <type>void</type>*                                                                <name>pNext</name></member>
+            <member><type>VkCommandBuffer</type>                                                            <name>commandBuffer</name></member>
+            <member><type>uint32_t</type>                                                                   <name>deviceMask</name></member>
+        </type>
+        <type category="struct" name="VkSubmitInfo2KHR">
+            <member values="VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"><type>VkStructureType</type>               <name>sType</name></member>
+            <member>const <type>void</type>*                                                                <name>pNext</name></member>
+            <member optional="true"><type>VkSubmitFlagsKHR</type>                                           <name>flags</name></member>
+            <member optional="true"><type>uint32_t</type>                                                   <name>waitSemaphoreInfoCount</name></member>
+            <member len="waitSemaphoreInfoCount">const <type>VkSemaphoreSubmitInfoKHR</type>*               <name>pWaitSemaphoreInfos</name></member>
+            <member optional="true"><type>uint32_t</type>                                                   <name>commandBufferInfoCount</name></member>
+            <member len="commandBufferInfoCount">const <type>VkCommandBufferSubmitInfoKHR</type>*           <name>pCommandBufferInfos</name></member>
+            <member optional="true"><type>uint32_t</type>                                                   <name>signalSemaphoreInfoCount</name></member>
+            <member len="signalSemaphoreInfoCount">const <type>VkSemaphoreSubmitInfoKHR</type>*             <name>pSignalSemaphoreInfos</name></member>
+        </type>
+        <type category="struct" name="VkQueueFamilyCheckpointProperties2NV" structextends="VkQueueFamilyProperties2" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*           <name>pNext</name></member>
+            <member><type>VkPipelineStageFlags2KHR</type> <name>checkpointExecutionStageMask</name></member>
+        </type>
+        <type category="struct" name="VkCheckpointData2NV" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*                  <name>pNext</name></member>
+            <member><type>VkPipelineStageFlags2KHR</type>   <name>stage</name></member>
+            <member noautovalidity="true"><type>void</type>* <name>pCheckpointMarker</name></member>
+        </type>
+        <type category="struct" name="VkPhysicalDeviceSynchronization2FeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member><type>VkBool32</type>                           <name>synchronization2</name></member>
+        </type>
     </types>
 
     <comment>Vulkan enumerant (token) definitions</comment>
 
     <enums name="API Constants" comment="Vulkan hardcoded constants - not an enumerated type, part of the header boilerplate">
-        <enum value="256"   name="VK_MAX_PHYSICAL_DEVICE_NAME_SIZE"/>
-        <enum value="16"    name="VK_UUID_SIZE"/>
-        <enum value="8"     name="VK_LUID_SIZE"/>
-        <enum               name="VK_LUID_SIZE_KHR" alias="VK_LUID_SIZE"/>
-        <enum value="256"   name="VK_MAX_EXTENSION_NAME_SIZE"/>
-        <enum value="256"   name="VK_MAX_DESCRIPTION_SIZE"/>
-        <enum value="32"    name="VK_MAX_MEMORY_TYPES"/>
-        <enum value="16"    name="VK_MAX_MEMORY_HEAPS" comment="The maximum number of unique memory heaps, each of which supporting 1 or more memory types"/>
-        <enum value="1000.0f" name="VK_LOD_CLAMP_NONE"/>
-        <enum value="(~0U)" name="VK_REMAINING_MIP_LEVELS"/>
-        <enum value="(~0U)" name="VK_REMAINING_ARRAY_LAYERS"/>
-        <enum value="(~0ULL)" name="VK_WHOLE_SIZE"/>
-        <enum value="(~0U)" name="VK_ATTACHMENT_UNUSED"/>
-        <enum value="1"     name="VK_TRUE"/>
-        <enum value="0"     name="VK_FALSE"/>
-        <enum value="(~0U)" name="VK_QUEUE_FAMILY_IGNORED"/>
-        <enum value="(~0U-1)" name="VK_QUEUE_FAMILY_EXTERNAL"/>
-        <enum               name="VK_QUEUE_FAMILY_EXTERNAL_KHR" alias="VK_QUEUE_FAMILY_EXTERNAL"/>
-        <enum value="(~0U-2)" name="VK_QUEUE_FAMILY_FOREIGN_EXT"/>
-        <enum value="(~0U)" name="VK_SUBPASS_EXTERNAL"/>
-        <enum value="32"    name="VK_MAX_DEVICE_GROUP_SIZE"/>
-        <enum               name="VK_MAX_DEVICE_GROUP_SIZE_KHR" alias="VK_MAX_DEVICE_GROUP_SIZE"/>
-        <enum value="256"   name="VK_MAX_DRIVER_NAME_SIZE"/>
-        <enum               name="VK_MAX_DRIVER_NAME_SIZE_KHR" alias="VK_MAX_DRIVER_NAME_SIZE"/>
-        <enum value="256"   name="VK_MAX_DRIVER_INFO_SIZE"/>
-        <enum               name="VK_MAX_DRIVER_INFO_SIZE_KHR" alias="VK_MAX_DRIVER_INFO_SIZE"/>
-        <enum value="(~0U)" name="VK_SHADER_UNUSED_KHR"/>
-        <enum               name="VK_SHADER_UNUSED_NV" alias="VK_SHADER_UNUSED_KHR"/>
+        <enum type="uint32_t" value="256"       name="VK_MAX_PHYSICAL_DEVICE_NAME_SIZE"/>
+        <enum type="uint32_t" value="16"        name="VK_UUID_SIZE"/>
+        <enum type="uint32_t" value="8"         name="VK_LUID_SIZE"/>
+        <enum                                   name="VK_LUID_SIZE_KHR" alias="VK_LUID_SIZE"/>
+        <enum type="uint32_t" value="256"       name="VK_MAX_EXTENSION_NAME_SIZE"/>
+        <enum type="uint32_t" value="256"       name="VK_MAX_DESCRIPTION_SIZE"/>
+        <enum type="uint32_t" value="32"        name="VK_MAX_MEMORY_TYPES"/>
+        <enum type="uint32_t" value="16"        name="VK_MAX_MEMORY_HEAPS" comment="The maximum number of unique memory heaps, each of which supporting 1 or more memory types"/>
+        <enum type="float"    value="1000.0F"   name="VK_LOD_CLAMP_NONE"/>
+        <enum type="uint32_t" value="(~0U)"     name="VK_REMAINING_MIP_LEVELS"/>
+        <enum type="uint32_t" value="(~0U)"     name="VK_REMAINING_ARRAY_LAYERS"/>
+        <enum type="uint64_t" value="(~0ULL)"   name="VK_WHOLE_SIZE"/>
+        <enum type="uint32_t" value="(~0U)"     name="VK_ATTACHMENT_UNUSED"/>
+        <enum type="uint32_t" value="1"         name="VK_TRUE"/>
+        <enum type="uint32_t" value="0"         name="VK_FALSE"/>
+        <enum type="uint32_t" value="(~0U)"     name="VK_QUEUE_FAMILY_IGNORED"/>
+        <enum type="uint32_t" value="(~1U)"     name="VK_QUEUE_FAMILY_EXTERNAL"/>
+        <enum                                   name="VK_QUEUE_FAMILY_EXTERNAL_KHR" alias="VK_QUEUE_FAMILY_EXTERNAL"/>
+        <enum type="uint32_t" value="(~2U)"     name="VK_QUEUE_FAMILY_FOREIGN_EXT"/>
+        <enum type="uint32_t" value="(~0U)"     name="VK_SUBPASS_EXTERNAL"/>
+        <enum type="uint32_t" value="32"        name="VK_MAX_DEVICE_GROUP_SIZE"/>
+        <enum                                   name="VK_MAX_DEVICE_GROUP_SIZE_KHR" alias="VK_MAX_DEVICE_GROUP_SIZE"/>
+        <enum type="uint32_t" value="256"       name="VK_MAX_DRIVER_NAME_SIZE"/>
+        <enum                                   name="VK_MAX_DRIVER_NAME_SIZE_KHR" alias="VK_MAX_DRIVER_NAME_SIZE"/>
+        <enum type="uint32_t" value="256"       name="VK_MAX_DRIVER_INFO_SIZE"/>
+        <enum                                   name="VK_MAX_DRIVER_INFO_SIZE_KHR" alias="VK_MAX_DRIVER_INFO_SIZE"/>
+        <enum type="uint32_t" value="(~0U)"     name="VK_SHADER_UNUSED_KHR"/>
+        <enum                                   name="VK_SHADER_UNUSED_NV" alias="VK_SHADER_UNUSED_KHR"/>
     </enums>
 
     <comment>
@@ -5185,12 +5604,6 @@
         <enum value="1"     name="VK_POLYGON_MODE_LINE"/>
         <enum value="2"     name="VK_POLYGON_MODE_POINT"/>
     </enums>
-    <enums name="VkCullModeFlagBits" type="bitmask">
-        <enum value="0"     name="VK_CULL_MODE_NONE"/>
-        <enum bitpos="0"    name="VK_CULL_MODE_FRONT_BIT"/>
-        <enum bitpos="1"    name="VK_CULL_MODE_BACK_BIT"/>
-        <enum value="0x00000003" name="VK_CULL_MODE_FRONT_AND_BACK"/>
-    </enums>
     <enums name="VkFrontFace" type="enum">
         <enum value="0"     name="VK_FRONT_FACE_COUNTER_CLOCKWISE"/>
         <enum value="1"     name="VK_FRONT_FACE_CLOCKWISE"/>
@@ -5552,33 +5965,33 @@
     <enums name="VkDescriptorUpdateTemplateType" type="enum">
         <enum value="0"     name="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"   comment="Create descriptor update template for descriptor set updates"/>
     </enums>
-    <enums name="VkObjectType" type="enum" comment="Enums to track objects of various types">
+    <enums name="VkObjectType" type="enum" comment="Enums to track objects of various types - also see objtypeenum attributes on type tags">
         <enum value="0"     name="VK_OBJECT_TYPE_UNKNOWN"/>
-        <enum value="1"     name="VK_OBJECT_TYPE_INSTANCE"                           comment="VkInstance"/>
-        <enum value="2"     name="VK_OBJECT_TYPE_PHYSICAL_DEVICE"                    comment="VkPhysicalDevice"/>
-        <enum value="3"     name="VK_OBJECT_TYPE_DEVICE"                             comment="VkDevice"/>
-        <enum value="4"     name="VK_OBJECT_TYPE_QUEUE"                              comment="VkQueue"/>
-        <enum value="5"     name="VK_OBJECT_TYPE_SEMAPHORE"                          comment="VkSemaphore"/>
-        <enum value="6"     name="VK_OBJECT_TYPE_COMMAND_BUFFER"                     comment="VkCommandBuffer"/>
-        <enum value="7"     name="VK_OBJECT_TYPE_FENCE"                              comment="VkFence"/>
-        <enum value="8"     name="VK_OBJECT_TYPE_DEVICE_MEMORY"                      comment="VkDeviceMemory"/>
-        <enum value="9"     name="VK_OBJECT_TYPE_BUFFER"                             comment="VkBuffer"/>
-        <enum value="10"    name="VK_OBJECT_TYPE_IMAGE"                              comment="VkImage"/>
-        <enum value="11"    name="VK_OBJECT_TYPE_EVENT"                              comment="VkEvent"/>
-        <enum value="12"    name="VK_OBJECT_TYPE_QUERY_POOL"                         comment="VkQueryPool"/>
-        <enum value="13"    name="VK_OBJECT_TYPE_BUFFER_VIEW"                        comment="VkBufferView"/>
-        <enum value="14"    name="VK_OBJECT_TYPE_IMAGE_VIEW"                         comment="VkImageView"/>
-        <enum value="15"    name="VK_OBJECT_TYPE_SHADER_MODULE"                      comment="VkShaderModule"/>
-        <enum value="16"    name="VK_OBJECT_TYPE_PIPELINE_CACHE"                     comment="VkPipelineCache"/>
-        <enum value="17"    name="VK_OBJECT_TYPE_PIPELINE_LAYOUT"                    comment="VkPipelineLayout"/>
-        <enum value="18"    name="VK_OBJECT_TYPE_RENDER_PASS"                        comment="VkRenderPass"/>
-        <enum value="19"    name="VK_OBJECT_TYPE_PIPELINE"                           comment="VkPipeline"/>
-        <enum value="20"    name="VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"              comment="VkDescriptorSetLayout"/>
-        <enum value="21"    name="VK_OBJECT_TYPE_SAMPLER"                            comment="VkSampler"/>
-        <enum value="22"    name="VK_OBJECT_TYPE_DESCRIPTOR_POOL"                    comment="VkDescriptorPool"/>
-        <enum value="23"    name="VK_OBJECT_TYPE_DESCRIPTOR_SET"                     comment="VkDescriptorSet"/>
-        <enum value="24"    name="VK_OBJECT_TYPE_FRAMEBUFFER"                        comment="VkFramebuffer"/>
-        <enum value="25"    name="VK_OBJECT_TYPE_COMMAND_POOL"                       comment="VkCommandPool"/>
+        <enum value="1"     name="VK_OBJECT_TYPE_INSTANCE"/>
+        <enum value="2"     name="VK_OBJECT_TYPE_PHYSICAL_DEVICE"/>
+        <enum value="3"     name="VK_OBJECT_TYPE_DEVICE"/>
+        <enum value="4"     name="VK_OBJECT_TYPE_QUEUE"/>
+        <enum value="5"     name="VK_OBJECT_TYPE_SEMAPHORE"/>
+        <enum value="6"     name="VK_OBJECT_TYPE_COMMAND_BUFFER"/>
+        <enum value="7"     name="VK_OBJECT_TYPE_FENCE"/>
+        <enum value="8"     name="VK_OBJECT_TYPE_DEVICE_MEMORY"/>
+        <enum value="9"     name="VK_OBJECT_TYPE_BUFFER"/>
+        <enum value="10"    name="VK_OBJECT_TYPE_IMAGE"/>
+        <enum value="11"    name="VK_OBJECT_TYPE_EVENT"/>
+        <enum value="12"    name="VK_OBJECT_TYPE_QUERY_POOL"/>
+        <enum value="13"    name="VK_OBJECT_TYPE_BUFFER_VIEW"/>
+        <enum value="14"    name="VK_OBJECT_TYPE_IMAGE_VIEW"/>
+        <enum value="15"    name="VK_OBJECT_TYPE_SHADER_MODULE"/>
+        <enum value="16"    name="VK_OBJECT_TYPE_PIPELINE_CACHE"/>
+        <enum value="17"    name="VK_OBJECT_TYPE_PIPELINE_LAYOUT"/>
+        <enum value="18"    name="VK_OBJECT_TYPE_RENDER_PASS"/>
+        <enum value="19"    name="VK_OBJECT_TYPE_PIPELINE"/>
+        <enum value="20"    name="VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"/>
+        <enum value="21"    name="VK_OBJECT_TYPE_SAMPLER"/>
+        <enum value="22"    name="VK_OBJECT_TYPE_DESCRIPTOR_POOL"/>
+        <enum value="23"    name="VK_OBJECT_TYPE_DESCRIPTOR_SET"/>
+        <enum value="24"    name="VK_OBJECT_TYPE_FRAMEBUFFER"/>
+        <enum value="25"    name="VK_OBJECT_TYPE_COMMAND_POOL"/>
     </enums>
 
         <comment>Flags</comment>
@@ -5588,6 +6001,12 @@
         <enum bitpos="2"    name="VK_QUEUE_TRANSFER_BIT"                             comment="Queue supports transfer operations"/>
         <enum bitpos="3"    name="VK_QUEUE_SPARSE_BINDING_BIT"                       comment="Queue supports sparse resource memory management operations"/>
     </enums>
+    <enums name="VkCullModeFlagBits" type="bitmask">
+        <enum value="0"     name="VK_CULL_MODE_NONE"/>
+        <enum bitpos="0"    name="VK_CULL_MODE_FRONT_BIT"/>
+        <enum bitpos="1"    name="VK_CULL_MODE_BACK_BIT"/>
+        <enum value="0x00000003" name="VK_CULL_MODE_FRONT_AND_BACK"/>
+    </enums>
     <enums name="VkRenderPassCreateFlagBits" type="bitmask"></enums>
     <enums name="VkDeviceQueueCreateFlagBits" type="bitmask"></enums>
     <enums name="VkMemoryPropertyFlagBits" type="bitmask">
@@ -5633,7 +6052,7 @@
     <enums name="VkBufferCreateFlagBits" type="bitmask">
         <enum bitpos="0"    name="VK_BUFFER_CREATE_SPARSE_BINDING_BIT"               comment="Buffer should support sparse backing"/>
         <enum bitpos="1"    name="VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"             comment="Buffer should support sparse backing with partial residency"/>
-        <enum bitpos="2"    name="VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"               comment="Buffer should support constent data access to physical memory ranges mapped into multiple locations of sparse buffers"/>
+        <enum bitpos="2"    name="VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"               comment="Buffer should support constant data access to physical memory ranges mapped into multiple locations of sparse buffers"/>
     </enums>
     <enums name="VkShaderStageFlagBits" type="bitmask">
         <enum bitpos="0"    name="VK_SHADER_STAGE_VERTEX_BIT"/>
@@ -5658,7 +6077,7 @@
     <enums name="VkImageCreateFlagBits" type="bitmask">
         <enum bitpos="0"    name="VK_IMAGE_CREATE_SPARSE_BINDING_BIT"                comment="Image should support sparse backing"/>
         <enum bitpos="1"    name="VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"              comment="Image should support sparse backing with partial residency"/>
-        <enum bitpos="2"    name="VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"                comment="Image should support constent data access to physical memory ranges mapped into multiple locations of sparse images"/>
+        <enum bitpos="2"    name="VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"                comment="Image should support constant data access to physical memory ranges mapped into multiple locations of sparse images"/>
         <enum bitpos="3"    name="VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"                comment="Allows image views to have different format than the base image"/>
         <enum bitpos="4"    name="VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"               comment="Allows creating image views with cube type from the created image"/>
     </enums>
@@ -5666,7 +6085,7 @@
     </enums>
     <enums name="VkSamplerCreateFlagBits" type="bitmask">
     </enums>
-    <enums name="VkPipelineCreateFlagBits" type="bitmask">
+    <enums name="VkPipelineCreateFlagBits" type="bitmask" comment="Note that the gap at bitpos 10 is unused, and can be reserved">
         <enum bitpos="0"    name="VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"/>
         <enum bitpos="1"    name="VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"/>
         <enum bitpos="2"    name="VK_PIPELINE_CREATE_DERIVATIVE_BIT"/>
@@ -5682,8 +6101,7 @@
     <enums name="VkFenceCreateFlagBits" type="bitmask">
         <enum bitpos="0"    name="VK_FENCE_CREATE_SIGNALED_BIT"/>
     </enums>
-    <enums name="VkSemaphoreCreateFlagBits" type="bitmask">
-    </enums>
+        <comment>When VkSemaphoreCreateFlagBits is first extended, need to add a bitmask enums tag for it here</comment>
     <enums name="VkFormatFeatureFlagBits" type="bitmask">
         <enum bitpos="0"    name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"               comment="Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)"/>
         <enum bitpos="1"    name="VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"               comment="Format can be used for storage images (STORAGE_IMAGE descriptor type)"/>
@@ -5889,6 +6307,13 @@
         <enum value="33"    name="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"/>
         <enum               name="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT" comment="Backwards-compatible alias containing a typo"/>
     </enums>
+    <enums name="VkDeviceMemoryReportEventTypeEXT" type="enum">
+        <enum value="0"     name="VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT"/>
+        <enum value="1"     name="VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT"/>
+        <enum value="2"     name="VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT"/>
+        <enum value="3"     name="VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT"/>
+        <enum value="4"     name="VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT"/>
+    </enums>
     <enums name="VkRasterizationOrderAMD" type="enum">
         <enum value="0"     name="VK_RASTERIZATION_ORDER_STRICT_AMD"/>
         <enum value="1"     name="VK_RASTERIZATION_ORDER_RELAXED_AMD"/>
@@ -5913,6 +6338,7 @@
         <enum value="1"     name="VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT"/>
         <enum value="2"     name="VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT"/>
         <enum value="3"     name="VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT"/>
+        <enum value="4"     name="VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT"/>
     </enums>
     <enums name="VkValidationFeatureDisableEXT" type="enum">
         <enum value="0"     name="VK_VALIDATION_FEATURE_DISABLE_ALL_EXT"/>
@@ -5998,7 +6424,8 @@
         <enum bitpos="0"    name="VK_FENCE_IMPORT_TEMPORARY_BIT"/>
     </enums>
     <enums name="VkSurfaceCounterFlagBitsEXT" type="bitmask">
-        <enum bitpos="0"    name="VK_SURFACE_COUNTER_VBLANK_EXT"/>
+        <enum bitpos="0"    name="VK_SURFACE_COUNTER_VBLANK_BIT_EXT"/>
+        <enum               name="VK_SURFACE_COUNTER_VBLANK_EXT" alias="VK_SURFACE_COUNTER_VBLANK_BIT_EXT" comment="Backwards-compatible alias containing a typo"/>
     </enums>
     <enums name="VkDisplayPowerStateEXT" type="enum">
         <enum value="0"     name="VK_DISPLAY_POWER_STATE_OFF_EXT"/>
@@ -6132,7 +6559,8 @@
         <enum value="0x10003" name="VK_VENDOR_ID_KAZAN" comment="Kazan Software Renderer"/>
         <enum value="0x10004" name="VK_VENDOR_ID_CODEPLAY" comment="Codeplay Software Ltd. vendor ID"/>
         <enum value="0x10005" name="VK_VENDOR_ID_MESA"  comment="Mesa vendor ID"/>
-            <unused start="0x10006" comment="This is the next unused available Khronos vendor ID"/>
+        <enum value="0x10006" name="VK_VENDOR_ID_POCL"  comment="PoCL vendor ID"/>
+            <unused start="0x10007" comment="This is the next unused available Khronos vendor ID"/>
     </enums>
     <enums name="VkDriverId" type="enum">
         <comment>Driver IDs are now represented as enums instead of the old
@@ -6200,24 +6628,33 @@
         <enum bitpos="3" name="VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"/>
         <enum bitpos="4" name="VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"/>
     </enums>
+    <enums name="VkAccelerationStructureCreateFlagBitsKHR" type="bitmask">
+        <enum bitpos="0" name="VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"/>
+    </enums>
     <enums name="VkCopyAccelerationStructureModeKHR" type="enum">
         <enum value="0" name="VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR"/>
         <enum value="1" name="VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR"/>
         <enum value="2" name="VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR"/>
         <enum value="3" name="VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR"/>
     </enums>
+    <enums name="VkBuildAccelerationStructureModeKHR" type="enum">
+        <enum value="0" name="VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR"/>
+        <enum value="1" name="VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR"/>
+    </enums>
     <enums name="VkAccelerationStructureTypeKHR" type="enum">
         <enum value="0" name="VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR"/>
         <enum value="1" name="VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR"/>
+        <enum value="2" name="VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR"/>
     </enums>
     <enums name="VkGeometryTypeKHR" type="enum">
         <enum value="0" name="VK_GEOMETRY_TYPE_TRIANGLES_KHR"/>
         <enum value="1" name="VK_GEOMETRY_TYPE_AABBS_KHR"/>
+        <enum value="2" name="VK_GEOMETRY_TYPE_INSTANCES_KHR"/>
     </enums>
-    <enums name="VkAccelerationStructureMemoryRequirementsTypeKHR" type="enum">
-        <enum value="0" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR"/>
-        <enum value="1" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR"/>
-        <enum value="2" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR"/>
+    <enums name="VkAccelerationStructureMemoryRequirementsTypeNV" type="enum">
+        <enum value="0" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV"/>
+        <enum value="1" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV"/>
+        <enum value="2" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV"/>
     </enums>
     <enums name="VkAccelerationStructureBuildTypeKHR" type="enum">
         <enum value="0" name="VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR"/>
@@ -6229,6 +6666,16 @@
         <enum value="1" name="VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR"/>
         <enum value="2" name="VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR"/>
     </enums>
+    <enums name="VkAccelerationStructureCompatibilityKHR" type="enum">
+        <enum value="0" name="VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR"/>
+        <enum value="1" name="VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR"/>
+    </enums>
+    <enums name="VkShaderGroupShaderKHR" type="enum">
+        <enum value="0" name="VK_SHADER_GROUP_SHADER_GENERAL_KHR"/>
+        <enum value="1" name="VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR"/>
+        <enum value="2" name="VK_SHADER_GROUP_SHADER_ANY_HIT_KHR"/>
+        <enum value="3" name="VK_SHADER_GROUP_SHADER_INTERSECTION_KHR"/>
+    </enums>
     <enums name="VkMemoryOverallocationBehaviorAMD" type="enum">
         <enum value="0"     name="VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD"/>
         <enum value="1"     name="VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD"/>
@@ -6301,8 +6748,10 @@
         <enum value="5"     name="VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR"/>
     </enums>
     <enums name="VkPerformanceCounterDescriptionFlagBitsKHR" type="bitmask">
-        <enum bitpos="0"     name="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR"/>
-        <enum bitpos="1"     name="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR"/>
+        <enum bitpos="0"    name="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR"/>
+        <enum               name="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR" alias="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR" comment="Backwards-compatible alias containing a typo"/>
+        <enum bitpos="1"    name="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR"/>
+        <enum               name="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR" alias="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR" comment="Backwards-compatible alias containing a typo"/>
     </enums>
     <enums name="VkAcquireProfilingLockFlagBitsKHR" type="bitmask">
     </enums>
@@ -6375,6 +6824,89 @@
         <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"/>
+        <enum value="2" name="VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR"/>
+        <enum value="3" name="VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR"/>
+        <enum value="4" name="VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR"/>
+    </enums>
+    <enums name="VkFragmentShadingRateNV" type="enum">
+        <enum value="0"  name="VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV"/>
+        <enum value="1"  name="VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV"/>
+        <enum value="4"  name="VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV"/>
+        <enum value="5"  name="VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV"/>
+        <enum value="6"  name="VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV"/>
+        <enum value="9"  name="VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV"/>
+        <enum value="10" name="VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV"/>
+        <enum value="11" name="VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV"/>
+        <enum value="12" name="VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV"/>
+        <enum value="13" name="VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV"/>
+        <enum value="14" name="VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV"/>
+        <enum value="15" name="VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV"/>
+    </enums>
+    <enums name="VkFragmentShadingRateTypeNV" type="enum">
+        <enum value="0"  name="VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV"/>
+        <enum value="1"  name="VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV"/>
+    </enums>
+    <enums name="VkAccessFlagBits2KHR" type="bitmask" bitwidth="64">
+        <enum value="0"     name="VK_ACCESS_2_NONE_KHR"/>
+        <enum bitpos="0"    name="VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR"/>
+        <enum bitpos="1"    name="VK_ACCESS_2_INDEX_READ_BIT_KHR"/>
+        <enum bitpos="2"    name="VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR"/>
+        <enum bitpos="3"    name="VK_ACCESS_2_UNIFORM_READ_BIT_KHR"/>
+        <enum bitpos="4"    name="VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR"/>
+        <enum bitpos="5"    name="VK_ACCESS_2_SHADER_READ_BIT_KHR"/>
+        <enum bitpos="6"    name="VK_ACCESS_2_SHADER_WRITE_BIT_KHR"/>
+        <enum bitpos="7"    name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR"/>
+        <enum bitpos="8"    name="VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR"/>
+        <enum bitpos="9"    name="VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR"/>
+        <enum bitpos="10"   name="VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR"/>
+        <enum bitpos="11"   name="VK_ACCESS_2_TRANSFER_READ_BIT_KHR"/>
+        <enum bitpos="12"   name="VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR"/>
+        <enum bitpos="13"   name="VK_ACCESS_2_HOST_READ_BIT_KHR"/>
+        <enum bitpos="14"   name="VK_ACCESS_2_HOST_WRITE_BIT_KHR"/>
+        <enum bitpos="15"   name="VK_ACCESS_2_MEMORY_READ_BIT_KHR"/>
+        <enum bitpos="16"   name="VK_ACCESS_2_MEMORY_WRITE_BIT_KHR"/>
+        <!-- bitpos 17-31 are specified by extensions to the original VkAccessFlagBits enum -->
+        <enum bitpos="32"   name="VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR"/>
+        <enum bitpos="33"   name="VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR"/>
+        <enum bitpos="34"   name="VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR"/>
+    </enums>
+    <enums name="VkPipelineStageFlagBits2KHR" type="bitmask" bitwidth="64">
+        <enum value="0"    name="VK_PIPELINE_STAGE_2_NONE_KHR"/>
+        <enum bitpos="0"    name="VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR"/>
+        <enum bitpos="1"    name="VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR"/>
+        <enum bitpos="2"    name="VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR"/>
+        <enum bitpos="3"    name="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR"/>
+        <enum bitpos="4"    name="VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR"/>
+        <enum bitpos="5"    name="VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR"/>
+        <enum bitpos="6"    name="VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR"/>
+        <enum bitpos="7"    name="VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR"/>
+        <enum bitpos="8"    name="VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR"/>
+        <enum bitpos="9"    name="VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR"/>
+        <enum bitpos="10"   name="VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR"/>
+        <enum bitpos="11"   name="VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR"/>
+        <enum bitpos="12"   name="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR"/>
+        <enum               name="VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR"/>
+        <enum bitpos="13"   name="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR"/>
+        <enum bitpos="14"   name="VK_PIPELINE_STAGE_2_HOST_BIT_KHR"/>
+        <enum bitpos="15"   name="VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR"/>
+        <enum bitpos="16"   name="VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR"/>
+        <!-- bitpos 17-31 are specified by extensions to the original VkPipelineStageFlagBits enum -->
+        <enum bitpos="32"   name="VK_PIPELINE_STAGE_2_COPY_BIT_KHR"/>
+        <enum bitpos="33"   name="VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR"/>
+        <enum bitpos="34"   name="VK_PIPELINE_STAGE_2_BLIT_BIT_KHR"/>
+        <enum bitpos="35"   name="VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR"/>
+        <enum bitpos="36"   name="VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR"/>
+        <enum bitpos="37"   name="VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR"/>
+        <enum bitpos="38"   name="VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR"/>
+    </enums>
+    <enums name="VkSubmitFlagBitsKHR" type="bitmask">
+        <enum bitpos="0"    name="VK_SUBMIT_PROTECTED_BIT_KHR"/>
+    </enums>
+    <enums name="VkEventCreateFlagBits" type="bitmask">
+    </enums>
 
     <commands comment="Vulkan command definitions">
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_LAYER_NOT_PRESENT,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INCOMPATIBLE_DRIVER">
@@ -6512,7 +7044,7 @@
                 <param>all sname:VkQueue objects created from pname:device</param>
             </implicitexternsyncparams>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR">
             <proto><type>VkResult</type> <name>vkAllocateMemory</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param>const <type>VkMemoryAllocateInfo</type>* <name>pAllocateInfo</name></param>
@@ -6621,7 +7153,7 @@
             <param optional="true" externsync="true"><type>VkFence</type> <name>fence</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">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkResetFences</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>uint32_t</type> <name>fenceCount</name></param>
@@ -6676,7 +7208,7 @@
             <param><type>VkDevice</type> <name>device</name></param>
             <param externsync="true"><type>VkEvent</type> <name>event</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkResetEvent</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param externsync="true"><type>VkEvent</type> <name>event</name></param>
@@ -6849,7 +7381,7 @@
             <param optional="true" externsync="true"><type>VkPipelineLayout</type> <name>pipelineLayout</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,VK_ERROR_TOO_MANY_OBJECTS">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkCreateSampler</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param>const <type>VkSamplerCreateInfo</type>* <name>pCreateInfo</name></param>
@@ -6963,7 +7495,7 @@
             <param optional="true" externsync="true"><type>VkCommandPool</type> <name>commandPool</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">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkResetCommandPool</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param externsync="true"><type>VkCommandPool</type> <name>commandPool</name></param>
@@ -6997,7 +7529,7 @@
                 <param>the sname:VkCommandPool that pname:commandBuffer was allocated from</param>
             </implicitexternsyncparams>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkResetCommandBuffer</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
             <param optional="true"><type>VkCommandBufferResetFlags</type> <name>flags</name></param>
@@ -7203,7 +7735,7 @@
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
             <param><type>VkImage</type> <name>image</name></param>
             <param><type>VkImageLayout</type> <name>imageLayout</name></param>
-            <param>const <type>VkClearColorValue</type>* <name>pColor</name></param>
+            <param noautovalidity="true">const <type>VkClearColorValue</type>* <name>pColor</name></param>
             <param><type>uint32_t</type> <name>rangeCount</name></param>
             <param len="rangeCount">const <type>VkImageSubresourceRange</type>* <name>pRanges</name></param>
         </command>
@@ -7251,8 +7783,8 @@
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
             <param><type>uint32_t</type> <name>eventCount</name></param>
             <param len="eventCount">const <type>VkEvent</type>* <name>pEvents</name></param>
-            <param><type>VkPipelineStageFlags</type> <name>srcStageMask</name></param>
-            <param><type>VkPipelineStageFlags</type> <name>dstStageMask</name></param>
+            <param optional="true"><type>VkPipelineStageFlags</type> <name>srcStageMask</name></param>
+            <param optional="true"><type>VkPipelineStageFlags</type> <name>dstStageMask</name></param>
             <param optional="true"><type>uint32_t</type> <name>memoryBarrierCount</name></param>
             <param len="memoryBarrierCount">const <type>VkMemoryBarrier</type>* <name>pMemoryBarriers</name></param>
             <param optional="true"><type>uint32_t</type> <name>bufferMemoryBarrierCount</name></param>
@@ -7617,6 +8149,19 @@
             <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>vkCreateScreenSurfaceQNX</name></proto>
+            <param><type>VkInstance</type> <name>instance</name></param>
+            <param>const <type>VkScreenSurfaceCreateInfoQNX</type>* <name>pCreateInfo</name></param>
+            <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
+            <param><type>VkSurfaceKHR</type>* <name>pSurface</name></param>
+        </command>
+        <command>
+            <proto><type>VkBool32</type> <name>vkGetPhysicalDeviceScreenPresentationSupportQNX</name></proto>
+            <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
+            <param><type>uint32_t</type> <name>queueFamilyIndex</name></param>
+            <param>struct <type>_screen_window</type>* <name>window</name></param>
+        </command>
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
             <proto><type>VkResult</type> <name>vkCreateDebugReportCallbackEXT</name></proto>
             <param><type>VkInstance</type> <name>instance</name></param>
@@ -7796,7 +8341,7 @@
             <param>const <type>VkMemoryGetWin32HandleInfoKHR</type>* <name>pGetWin32HandleInfo</name></param>
             <param><type>HANDLE</type>* <name>pHandle</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE">
             <proto><type>VkResult</type> <name>vkGetMemoryWin32HandlePropertiesKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></param>
@@ -7809,7 +8354,7 @@
             <param>const <type>VkMemoryGetFdInfoKHR</type>* <name>pGetFdInfo</name></param>
             <param><type>int</type>* <name>pFd</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE">
             <proto><type>VkResult</type> <name>vkGetMemoryFdPropertiesKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></param>
@@ -7822,11 +8367,11 @@
             <param>const <type>VkMemoryGetZirconHandleInfoFUCHSIA</type>* <name>pGetZirconHandleInfo</name></param>
             <param><type>zx_handle_t</type>* <name>pZirconHandle</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE">
             <proto><type>VkResult</type> <name>vkGetMemoryZirconHandlePropertiesFUCHSIA</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></param>
-            <param><type>zx_handle_t</type> <name>ZirconHandle</name></param>
+            <param><type>zx_handle_t</type> <name>zirconHandle</name></param>
             <param><type>VkMemoryZirconHandlePropertiesFUCHSIA</type>* <name>pMemoryZirconHandleProperties</name></param>
         </command>
         <command>
@@ -7864,7 +8409,7 @@
             <param>const <type>VkSemaphoreGetZirconHandleInfoFUCHSIA</type>* <name>pGetZirconHandleInfo</name></param>
             <param><type>zx_handle_t</type>* <name>pZirconHandle</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE">
             <proto><type>VkResult</type> <name>vkImportSemaphoreZirconHandleFUCHSIA</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param>const <type>VkImportSemaphoreZirconHandleInfoFUCHSIA</type>* <name>pImportSemaphoreZirconHandleInfo</name></param>
@@ -7903,7 +8448,7 @@
             <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
             <param><type>VkDisplayKHR</type> <name>display</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INITIALIZATION_FAILED">
             <proto><type>VkResult</type> <name>vkAcquireXlibDisplayEXT</name></proto>
             <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
             <param><type>Display</type>* <name>dpy</name></param>
@@ -7916,6 +8461,17 @@
             <param><type>RROutput</type> <name>rrOutput</name></param>
             <param><type>VkDisplayKHR</type>* <name>pDisplay</name></param>
         </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_INITIALIZATION_FAILED">
+            <proto><type>VkResult</type> <name>vkAcquireWinrtDisplayNV</name></proto>
+            <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
+            <param><type>VkDisplayKHR</type> <name>display</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_INITIALIZATION_FAILED">
+            <proto><type>VkResult</type> <name>vkGetWinrtDisplayNV</name></proto>
+            <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
+            <param><type>uint32_t</type> <name>deviceRelativeId</name></param>
+            <param><type>VkDisplayKHR</type>* <name>pDisplay</name></param>
+        </command>
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
             <proto><type>VkResult</type> <name>vkDisplayPowerControlEXT</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
@@ -7937,7 +8493,7 @@
             <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
             <param><type>VkFence</type>* <name>pFence</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR">
             <proto><type>VkResult</type> <name>vkGetSwapchainCounterEXT</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkSwapchainKHR</type> <name>swapchain</name></param>
@@ -8064,13 +8620,13 @@
             <param><type>VkDevice</type> <name>device</name></param>
             <param externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_DEVICE_LOST,VK_ERROR_SURFACE_LOST_KHR">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_SURFACE_LOST_KHR">
             <proto><type>VkResult</type> <name>vkGetRefreshCycleDurationGOOGLE</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></param>
             <param><type>VkRefreshCycleDurationGOOGLE</type>* <name>pDisplayTimingProperties</name></param>
         </command>
-        <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR,VK_ERROR_SURFACE_LOST_KHR">
+        <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR,VK_ERROR_SURFACE_LOST_KHR">
             <proto><type>VkResult</type> <name>vkGetPastPresentationTimingGOOGLE</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></param>
@@ -8357,7 +8913,7 @@
             <param><type>VkDebugUtilsMessageTypeFlagsEXT</type> <name>messageTypes</name></param>
             <param>const <type>VkDebugUtilsMessengerCallbackDataEXT</type>* <name>pCallbackData</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE">
             <proto><type>VkResult</type> <name>vkGetMemoryHostPointerPropertiesEXT</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></param>
@@ -8420,7 +8976,7 @@
             <param>const <type>VkSemaphoreSignalInfo</type>* <name>pSignalInfo</name></param>
         </command>
         <command name="vkSignalSemaphoreKHR"                       alias="vkSignalSemaphore"/>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR">
             <proto><type>VkResult</type> <name>vkGetAndroidHardwareBufferPropertiesANDROID</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param>const struct <type>AHardwareBuffer</type>* <name>buffer</name></param>
@@ -8587,12 +9143,11 @@
             <param optional="true" externsync="true"><type>VkAccelerationStructureKHR</type> <name>accelerationStructure</name></param>
             <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
         </command>
-        <command name="vkDestroyAccelerationStructureNV"                    alias="vkDestroyAccelerationStructureKHR"/>
         <command>
-            <proto><type>void</type> <name>vkGetAccelerationStructureMemoryRequirementsKHR</name></proto>
+            <proto><type>void</type> <name>vkDestroyAccelerationStructureNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param>const <type>VkAccelerationStructureMemoryRequirementsInfoKHR</type>* <name>pInfo</name></param>
-            <param><type>VkMemoryRequirements2</type>* <name>pMemoryRequirements</name></param>
+            <param optional="true" externsync="true"><type>VkAccelerationStructureNV</type> <name>accelerationStructure</name></param>
+            <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
         </command>
         <command>
             <proto><type>void</type> <name>vkGetAccelerationStructureMemoryRequirementsNV</name></proto>
@@ -8601,17 +9156,16 @@
             <param><type>VkMemoryRequirements2KHR</type>* <name>pMemoryRequirements</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>vkBindAccelerationStructureMemoryKHR</name></proto>
+            <proto><type>VkResult</type> <name>vkBindAccelerationStructureMemoryNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>uint32_t</type> <name>bindInfoCount</name></param>
-            <param len="bindInfoCount">const <type>VkBindAccelerationStructureMemoryInfoKHR</type>* <name>pBindInfos</name></param>
+            <param len="bindInfoCount">const <type>VkBindAccelerationStructureMemoryInfoNV</type>* <name>pBindInfos</name></param>
         </command>
-        <command name="vkBindAccelerationStructureMemoryNV"                 alias="vkBindAccelerationStructureMemoryKHR"/>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
             <proto><type>void</type> <name>vkCmdCopyAccelerationStructureNV</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
-            <param><type>VkAccelerationStructureKHR</type> <name>dst</name></param>
-            <param><type>VkAccelerationStructureKHR</type> <name>src</name></param>
+            <param><type>VkAccelerationStructureNV</type> <name>dst</name></param>
+            <param><type>VkAccelerationStructureNV</type> <name>src</name></param>
             <param><type>VkCopyAccelerationStructureModeKHR</type> <name>mode</name></param>
         </command>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
@@ -8622,6 +9176,7 @@
         <command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkCopyAccelerationStructureKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
+            <param optional="true"><type>VkDeferredOperationKHR</type> <name>deferredOperation</name></param>
             <param>const <type>VkCopyAccelerationStructureInfoKHR</type>* <name>pInfo</name></param>
         </command>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
@@ -8632,6 +9187,7 @@
         <command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkCopyAccelerationStructureToMemoryKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
+            <param optional="true"><type>VkDeferredOperationKHR</type> <name>deferredOperation</name></param>
             <param>const <type>VkCopyAccelerationStructureToMemoryInfoKHR</type>* <name>pInfo</name></param>
         </command>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
@@ -8642,6 +9198,7 @@
         <command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkCopyMemoryToAccelerationStructureKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
+            <param optional="true"><type>VkDeferredOperationKHR</type> <name>deferredOperation</name></param>
             <param>const <type>VkCopyMemoryToAccelerationStructureInfoKHR</type>* <name>pInfo</name></param>
         </command>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
@@ -8653,7 +9210,15 @@
             <param><type>VkQueryPool</type> <name>queryPool</name></param>
             <param><type>uint32_t</type> <name>firstQuery</name></param>
         </command>
-        <command name="vkCmdWriteAccelerationStructuresPropertiesNV"        alias="vkCmdWriteAccelerationStructuresPropertiesKHR"/>
+        <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdWriteAccelerationStructuresPropertiesNV</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+            <param><type>uint32_t</type> <name>accelerationStructureCount</name></param>
+            <param len="accelerationStructureCount">const <type>VkAccelerationStructureNV</type>* <name>pAccelerationStructures</name></param>
+            <param><type>VkQueryType</type> <name>queryType</name></param>
+            <param><type>VkQueryPool</type> <name>queryPool</name></param>
+            <param><type>uint32_t</type> <name>firstQuery</name></param>
+        </command>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
             <proto><type>void</type> <name>vkCmdBuildAccelerationStructureNV</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
@@ -8661,8 +9226,8 @@
             <param optional="true"><type>VkBuffer</type> <name>instanceData</name></param>
             <param><type>VkDeviceSize</type> <name>instanceOffset</name></param>
             <param><type>VkBool32</type> <name>update</name></param>
-            <param><type>VkAccelerationStructureKHR</type> <name>dst</name></param>
-            <param optional="true"><type>VkAccelerationStructureKHR</type> <name>src</name></param>
+            <param><type>VkAccelerationStructureNV</type> <name>dst</name></param>
+            <param optional="true"><type>VkAccelerationStructureNV</type> <name>src</name></param>
             <param><type>VkBuffer</type> <name>scratch</name></param>
             <param><type>VkDeviceSize</type> <name>scratchOffset</name></param>
         </command>
@@ -8679,10 +9244,10 @@
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
             <proto><type>void</type> <name>vkCmdTraceRaysKHR</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pRaygenShaderBindingTable</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pMissShaderBindingTable</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pHitShaderBindingTable</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pCallableShaderBindingTable</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pRaygenShaderBindingTable</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pMissShaderBindingTable</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pHitShaderBindingTable</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pCallableShaderBindingTable</name></param>
             <param><type>uint32_t</type> <name>width</name></param>
             <param><type>uint32_t</type> <name>height</name></param>
             <param><type>uint32_t</type> <name>depth</name></param>
@@ -8727,7 +9292,7 @@
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
             <proto><type>VkResult</type> <name>vkGetAccelerationStructureHandleNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param><type>VkAccelerationStructureKHR</type> <name>accelerationStructure</name></param>
+            <param><type>VkAccelerationStructureNV</type> <name>accelerationStructure</name></param>
             <param><type>size_t</type> <name>dataSize</name></param>
             <param len="dataSize"><type>void</type>* <name>pData</name></param>
         </command>
@@ -8743,6 +9308,7 @@
         <command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS">
             <proto><type>VkResult</type> <name>vkCreateRayTracingPipelinesKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
+            <param optional="true"><type>VkDeferredOperationKHR</type> <name>deferredOperation</name></param>
             <param optional="true"><type>VkPipelineCache</type> <name>pipelineCache</name></param>
             <param><type>uint32_t</type> <name>createInfoCount</name></param>
             <param len="createInfoCount">const <type>VkRayTracingPipelineCreateInfoKHR</type>* <name>pCreateInfos</name></param>
@@ -8758,24 +9324,36 @@
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
             <proto><type>void</type> <name>vkCmdTraceRaysIndirectKHR</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pRaygenShaderBindingTable</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pMissShaderBindingTable</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pHitShaderBindingTable</name></param>
-            <param>const <type>VkStridedBufferRegionKHR</type>* <name>pCallableShaderBindingTable</name></param>
-            <param><type>VkBuffer</type> <name>buffer</name></param>
-            <param><type>VkDeviceSize</type> <name>offset</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pRaygenShaderBindingTable</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pMissShaderBindingTable</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pHitShaderBindingTable</name></param>
+            <param>const <type>VkStridedDeviceAddressRegionKHR</type>* <name>pCallableShaderBindingTable</name></param>
+            <param><type>VkDeviceAddress</type> <name>indirectDeviceAddress</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INCOMPATIBLE_VERSION_KHR">
-            <proto><type>VkResult</type> <name>vkGetDeviceAccelerationStructureCompatibilityKHR</name></proto>
+        <command>
+            <proto><type>void</type> <name>vkGetDeviceAccelerationStructureCompatibilityKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param>const <type>VkAccelerationStructureVersionKHR</type>* <name>version</name></param>
+            <param>const <type>VkAccelerationStructureVersionInfoKHR</type>* <name>pVersionInfo</name></param>
+            <param><type>VkAccelerationStructureCompatibilityKHR</type>* <name>pCompatibility</name></param>
+        </command>
+        <command>
+            <proto><type>VkDeviceSize</type> <name>vkGetRayTracingShaderGroupStackSizeKHR</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkPipeline</type> <name>pipeline</name></param>
+            <param><type>uint32_t</type> <name>group</name></param>
+            <param><type>VkShaderGroupShaderKHR</type> <name>groupShader</name></param>
+        </command>
+        <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdSetRayTracingPipelineStackSizeKHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+            <param><type>uint32_t</type> <name>pipelineStackSize</name></param>
         </command>
         <command>
             <proto><type>uint32_t</type> <name>vkGetImageViewHandleNVX</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param>const <type>VkImageViewHandleInfoNVX</type>* <name>pInfo</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_UNKNOWN">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_UNKNOWN">
             <proto><type>VkResult</type> <name>vkGetImageViewAddressNVX</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkImageView</type> <name>imageView</name></param>
@@ -8818,7 +9396,7 @@
             <param>const <type>VkQueryPoolPerformanceCreateInfoKHR</type>* <name>pPerformanceQueryCreateInfo</name></param>
             <param><type>uint32_t</type>* <name>pNumPasses</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" errorcodes="VK_TIMEOUT">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_TIMEOUT">
             <proto><type>VkResult</type> <name>vkAcquireProfilingLockKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param>const <type>VkAcquireProfilingLockInfoKHR</type>* <name>pInfo</name></param>
@@ -8827,7 +9405,7 @@
             <proto><type>void</type> <name>vkReleaseProfilingLockKHR</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
         </command>
-        <command successcodes="VK_SUCCESS">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
             <proto><type>VkResult</type> <name>vkGetImageDrmFormatModifierPropertiesEXT</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkImage</type> <name>image</name></param>
@@ -8892,7 +9470,7 @@
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
             <proto><type>VkResult</type> <name>vkReleasePerformanceConfigurationINTEL</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param><type>VkPerformanceConfigurationINTEL</type> <name>configuration</name></param>
+            <param optional="true" externsync="true"><type>VkPerformanceConfigurationINTEL</type> <name>configuration</name></param>
         </command>
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
             <proto><type>VkResult</type> <name>vkQueueSetPerformanceConfigurationINTEL</name></proto>
@@ -8938,7 +9516,7 @@
             <param><type>uint32_t</type> <name>lineStippleFactor</name></param>
             <param><type>uint16_t</type> <name>lineStipplePattern</name></param>
         </command>
-        <command successcodes="VK_SUCCESS,VK_INCOMPLETE">
+        <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
             <proto><type>VkResult</type> <name>vkGetPhysicalDeviceToolPropertiesEXT</name></proto>
             <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
             <param optional="false,true"><type>uint32_t</type>* <name>pToolCount</name></param>
@@ -8952,26 +9530,28 @@
             <param><type>VkAccelerationStructureKHR</type>*                        <name>pAccelerationStructure</name></param>
         </command>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
-            <proto><type>void</type> <name>vkCmdBuildAccelerationStructureKHR</name></proto>
+            <proto><type>void</type> <name>vkCmdBuildAccelerationStructuresKHR</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type>                                    <name>commandBuffer</name></param>
             <param><type>uint32_t</type> <name>infoCount</name></param>
             <param len="infoCount">const <type>VkAccelerationStructureBuildGeometryInfoKHR</type>* <name>pInfos</name></param>
-            <param len="infoCount">const <type>VkAccelerationStructureBuildOffsetInfoKHR</type>* const* <name>ppOffsetInfos</name></param>
+            <param len="infoCount">const <type>VkAccelerationStructureBuildRangeInfoKHR</type>* const* <name>ppBuildRangeInfos</name></param>
         </command>
         <command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
-            <proto><type>void</type> <name>vkCmdBuildAccelerationStructureIndirectKHR</name></proto>
+            <proto><type>void</type> <name>vkCmdBuildAccelerationStructuresIndirectKHR</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type>                  <name>commandBuffer</name></param>
-            <param>const <type>VkAccelerationStructureBuildGeometryInfoKHR</type>* <name>pInfo</name></param>
-            <param><type>VkBuffer</type>                                           <name>indirectBuffer</name></param>
-            <param><type>VkDeviceSize</type>                                       <name>indirectOffset</name></param>
-            <param><type>uint32_t</type>                                           <name>indirectStride</name></param>
+            <param><type>uint32_t</type>                                           <name>infoCount</name></param>
+            <param len="infoCount">const <type>VkAccelerationStructureBuildGeometryInfoKHR</type>* <name>pInfos</name></param>
+            <param len="infoCount">const <type>VkDeviceAddress</type>*             <name>pIndirectDeviceAddresses</name></param>
+            <param len="infoCount">const <type>uint32_t</type>*                    <name>pIndirectStrides</name></param>
+            <param len="infoCount">const <type>uint32_t</type>* const*             <name>ppMaxPrimitiveCounts</name></param>
         </command>
         <command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
-            <proto><type>VkResult</type> <name>vkBuildAccelerationStructureKHR</name></proto>
+            <proto><type>VkResult</type> <name>vkBuildAccelerationStructuresKHR</name></proto>
             <param><type>VkDevice</type>                                           <name>device</name></param>
+            <param optional="true"><type>VkDeferredOperationKHR</type> <name>deferredOperation</name></param>
             <param><type>uint32_t</type> <name>infoCount</name></param>
             <param len="infoCount">const <type>VkAccelerationStructureBuildGeometryInfoKHR</type>* <name>pInfos</name></param>
-            <param len="infoCount">const <type>VkAccelerationStructureBuildOffsetInfoKHR</type>* const* <name>ppOffsetInfos</name></param>
+            <param len="infoCount">const <type>VkAccelerationStructureBuildRangeInfoKHR</type>* const* <name>ppBuildRangeInfos</name></param>
         </command>
         <command>
             <proto><type>VkDeviceAddress</type> <name>vkGetAccelerationStructureDeviceAddressKHR</name></proto>
@@ -9113,13 +9693,123 @@
             <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>
+        </command>
+        <command queues="transfer,graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary" pipeline="transfer">
+            <proto><type>void</type> <name>vkCmdCopyImage2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+            <param>const <type>VkCopyImageInfo2KHR</type>* <name>pCopyImageInfo</name></param>
+        </command>
+        <command queues="graphics" renderpass="outside" cmdbufferlevel="primary,secondary" pipeline="transfer">
+            <proto><type>void</type> <name>vkCmdBlitImage2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+            <param>const <type>VkBlitImageInfo2KHR</type>* <name>pBlitImageInfo</name></param>
+        </command>
+        <command queues="transfer,graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary" pipeline="transfer">
+            <proto><type>void</type> <name>vkCmdCopyBufferToImage2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+            <param>const <type>VkCopyBufferToImageInfo2KHR</type>* <name>pCopyBufferToImageInfo</name></param>
+        </command>
+        <command queues="transfer,graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary" pipeline="transfer">
+            <proto><type>void</type> <name>vkCmdCopyImageToBuffer2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+            <param>const <type>VkCopyImageToBufferInfo2KHR</type>* <name>pCopyImageToBufferInfo</name></param>
+        </command>
+        <command queues="graphics" renderpass="outside" cmdbufferlevel="primary,secondary" pipeline="transfer">
+            <proto><type>void</type> <name>vkCmdResolveImage2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+            <param>const <type>VkResolveImageInfo2KHR</type>* <name>pResolveImageInfo</name></param>
+        </command>
+        <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdSetFragmentShadingRateKHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>           <name>commandBuffer</name></param>
+            <param>const <type>VkExtent2D</type>*                           <name>pFragmentSize</name></param>
+            <param>const <type>VkFragmentShadingRateCombinerOpKHR</type>    <name>combinerOps</name>[2]</param>
+        </command>
+        <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
+            <proto><type>VkResult</type> <name>vkGetPhysicalDeviceFragmentShadingRatesKHR</name></proto>
+            <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
+            <param optional="false,true"><type>uint32_t</type>* <name>pFragmentShadingRateCount</name></param>
+            <param optional="true" len="pFragmentShadingRateCount"><type>VkPhysicalDeviceFragmentShadingRateKHR</type>* <name>pFragmentShadingRates</name></param>
+        </command>
+        <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdSetFragmentShadingRateEnumNV</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>           <name>commandBuffer</name></param>
+            <param><type>VkFragmentShadingRateNV</type>                     <name>shadingRate</name></param>
+            <param>const <type>VkFragmentShadingRateCombinerOpKHR</type>    <name>combinerOps</name>[2]</param>
+        </command>
+        <command>
+            <proto><type>void</type> <name>vkGetAccelerationStructureBuildSizesKHR</name></proto>
+            <param><type>VkDevice</type>                                            <name>device</name></param>
+            <param><type>VkAccelerationStructureBuildTypeKHR</type>                 <name>buildType</name></param>
+            <param>const <type>VkAccelerationStructureBuildGeometryInfoKHR</type>*  <name>pBuildInfo</name></param>
+            <param optional="true" len="pBuildInfo-&gt;geometryCount">const <type>uint32_t</type>*  <name>pMaxPrimitiveCounts</name></param>
+            <param><type>VkAccelerationStructureBuildSizesInfoKHR</type>*           <name>pSizeInfo</name></param>
+        </command>
+        <command queues="graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdSetEvent2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>                   <name>commandBuffer</name></param>
+            <param><type>VkEvent</type>                                             <name>event</name></param>
+            <param>const <type>VkDependencyInfoKHR</type>*                          <name>pDependencyInfo</name></param>
+        </command>
+        <command queues="graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdResetEvent2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>                   <name>commandBuffer</name></param>
+            <param><type>VkEvent</type>                                             <name>event</name></param>
+            <param><type>VkPipelineStageFlags2KHR</type>                            <name>stageMask</name></param>
+        </command>
+        <command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdWaitEvents2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>                   <name>commandBuffer</name></param>
+            <param><type>uint32_t</type>                                            <name>eventCount</name></param>
+            <param len="eventCount">const <type>VkEvent</type>*                     <name>pEvents</name></param>
+            <param len="eventCount">const <type>VkDependencyInfoKHR</type>*         <name>pDependencyInfos</name></param>
+        </command>
+        <command queues="transfer,graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdPipelineBarrier2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>                   <name>commandBuffer</name></param>
+            <param>const <type>VkDependencyInfoKHR</type>*                                <name>pDependencyInfo</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST">
+            <proto><type>VkResult</type> <name>vkQueueSubmit2KHR</name></proto>
+            <param externsync="true"><type>VkQueue</type>                           <name>queue</name></param>
+            <param optional="true"><type>uint32_t</type>                            <name>submitCount</name></param>
+            <param len="submitCount">const <type>VkSubmitInfo2KHR</type>*           <name>pSubmits</name></param>
+            <param optional="true" externsync="true"><type>VkFence</type>           <name>fence</name></param>
+        </command>
+        <command queues="transfer,graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" pipeline="transfer">
+            <proto><type>void</type> <name>vkCmdWriteTimestamp2KHR</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>                   <name>commandBuffer</name></param>
+            <param><type>VkPipelineStageFlags2KHR</type>                            <name>stage</name></param>
+            <param><type>VkQueryPool</type>                                         <name>queryPool</name></param>
+            <param><type>uint32_t</type>                                            <name>query</name></param>
+        </command>
+        <command queues="transfer,graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" pipeline="transfer">
+            <proto><type>void</type> <name>vkCmdWriteBufferMarker2AMD</name></proto>
+            <param externsync="true"><type>VkCommandBuffer</type>                   <name>commandBuffer</name></param>
+            <param><type>VkPipelineStageFlags2KHR</type>                            <name>stage</name></param>
+            <param><type>VkBuffer</type>                                            <name>dstBuffer</name></param>
+            <param><type>VkDeviceSize</type>                                        <name>dstOffset</name></param>
+            <param><type>uint32_t</type>                                            <name>marker</name></param>
+        </command>
+        <command>
+            <proto><type>void</type> <name>vkGetQueueCheckpointData2NV</name></proto>
+            <param><type>VkQueue</type> <name>queue</name></param>
+            <param optional="false,true"><type>uint32_t</type>* <name>pCheckpointDataCount</name></param>
+            <param optional="true" len="pCheckpointDataCount"><type>VkCheckpointData2NV</type>* <name>pCheckpointData</name></param>
+        </command>
     </commands>
 
     <feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
         <require comment="Header boilerplate">
             <type name="vk_platform"/>
             <type name="VK_DEFINE_HANDLE"/>
+            <type name="VK_USE_64_BIT_PTR_DEFINES"/>
             <type name="VK_DEFINE_NON_DISPATCHABLE_HANDLE"/>
+            <type name="VK_NULL_HANDLE"/>
         </require>
         <require comment="Fundamental types used by many commands and structures">
             <type name="VkBool32"/>
@@ -9166,7 +9856,6 @@
             <enum name="VK_SUBPASS_EXTERNAL"/>
             <enum name="VK_TRUE"/>
             <enum name="VK_WHOLE_SIZE"/>
-            <type name="VK_NULL_HANDLE"/>
             <type name="VkPipelineCacheHeaderVersion"/>
         </require>
         <require comment="Device initialization">
@@ -9316,6 +10005,7 @@
         <require comment="Event commands">
             <type name="VkEvent"/>
             <type name="VkEventCreateFlags"/>
+            <type name="VkEventCreateFlagBits"/>
             <type name="VkEventCreateInfo"/>
             <command name="vkCreateEvent"/>
             <command name="vkDestroyEvent"/>
@@ -10153,7 +10843,7 @@
                 <enum value="&quot;VK_KHR_surface&quot;"                        name="VK_KHR_SURFACE_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkResult" dir="-"                     name="VK_ERROR_SURFACE_LOST_KHR"/>
                 <enum offset="1" extends="VkResult" dir="-"                     name="VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"/>
-                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_SURFACE_KHR"                comment="VkSurfaceKHR"/>
+                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_SURFACE_KHR"/>
                 <type name="VkSurfaceKHR"/>
                 <type name="VkSurfaceTransformFlagBitsKHR"/>
                 <type name="VkPresentModeKHR"/>
@@ -10178,7 +10868,7 @@
                 <enum offset="2" extends="VkImageLayout"                        name="VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"/>
                 <enum offset="3" extends="VkResult"                             name="VK_SUBOPTIMAL_KHR"/>
                 <enum offset="4" extends="VkResult" dir="-"                     name="VK_ERROR_OUT_OF_DATE_KHR"/>
-                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_SWAPCHAIN_KHR"              comment="VkSwapchainKHR"/>
+                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_SWAPCHAIN_KHR"/>
                 <type name="VkSwapchainCreateFlagBitsKHR"/>
                 <type name="VkSwapchainCreateFlagsKHR"/>
                 <type name="VkSwapchainCreateInfoKHR"/>
@@ -10220,8 +10910,8 @@
                 <enum value="&quot;VK_KHR_display&quot;"                        name="VK_KHR_DISPLAY_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"/>
                 <enum offset="1" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"/>
-                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_DISPLAY_KHR"                comment="VkDisplayKHR"/>
-                <enum offset="1" extends="VkObjectType"                         name="VK_OBJECT_TYPE_DISPLAY_MODE_KHR"           comment="VkDisplayModeKHR"/>
+                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_DISPLAY_KHR"/>
+                <enum offset="1" extends="VkObjectType"                         name="VK_OBJECT_TYPE_DISPLAY_MODE_KHR"/>
                 <type name="VkDisplayKHR"/>
                 <type name="VkDisplayModeCreateFlagsKHR"/>
                 <type name="VkDisplayModeCreateInfoKHR"/>
@@ -10345,7 +11035,7 @@
                 <enum offset="0" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"/>
                 <enum alias="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT" comment="Backwards-compatible alias containing a typo"/>
                 <enum offset="1" extends="VkResult" dir="-"                     name="VK_ERROR_VALIDATION_FAILED_EXT"/>
-                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"  comment="VkDebugReportCallbackEXT"/>
+                <enum offset="0" extends="VkObjectType"                         name="VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"/>
                 <type name="VkDebugReportCallbackEXT"/>
                 <type name="PFN_vkDebugReportCallbackEXT"/>
                 <type name="VkDebugReportFlagBitsEXT"/>
@@ -10453,12 +11143,10 @@
                 <enum value="0"                                         name="VK_AMD_EXTENSION_24_SPEC_VERSION"/>
                 <enum value="&quot;VK_AMD_extension_24&quot;"           name="VK_AMD_EXTENSION_24_EXTENSION_NAME"/>
                 <enum bitpos="6" extends="VkQueueFlagBits"              name="VK_QUEUE_RESERVED_6_BIT_KHR"/>
-                <enum bitpos="27" extends="VkPipelineStageFlagBits"     name="VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR"/>
-                <enum bitpos="30" extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_30_BIT_KHR"/>
-                    <!-- Comment this out for now to avoid warning messages.
-                         The extension will probably change to avoid it.
-                <enum bitpos="31" extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_31_BIT_KHR"/>
-                    -->
+                <enum bitpos="26" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_RESERVED_26_BIT_KHR"/>
+                <!-- Also reserve equivalent 32-bit enum <enum bitpos="26" extends="VkPipelineStageFlagBits"     name="VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR"/> -->
+                <enum bitpos="35" extends="VkAccessFlagBits2KHR"        name="VK_ACCESS_2_RESERVED_READ_35_BIT_KHR"/>
+                <enum bitpos="36" extends="VkAccessFlagBits2KHR"        name="VK_ACCESS_2_RESERVED_WRITE_36_BIT_KHR"/>
                 <enum bitpos="15" extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_15_BIT_KHR"/>
                 <enum bitpos="16" extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_16_BIT_KHR"/>
                 <enum bitpos="13" extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_13_BIT_KHR"/>
@@ -10474,9 +11162,10 @@
                 <enum value="0"                                         name="VK_AMD_EXTENSION_25_SPEC_VERSION"/>
                 <enum value="&quot;VK_AMD_extension_25&quot;"           name="VK_AMD_EXTENSION_25_EXTENSION_NAME"/>
                 <enum bitpos="5" extends="VkQueueFlagBits"              name="VK_QUEUE_RESERVED_5_BIT_KHR"/>
-                <enum bitpos="26" extends="VkPipelineStageFlagBits"     name="VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR"/>
-                <enum bitpos="28" extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_28_BIT_KHR"/>
-                <enum bitpos="29" extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_29_BIT_KHR"/>
+                <enum bitpos="27" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_RESERVED_27_BIT_KHR"/>
+                <!-- Also reserve equivalent 32-bit enum <enum bitpos="27" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR"/> -->
+                <enum bitpos="37" extends="VkAccessFlagBits2KHR"        name="VK_ACCESS_2_RESERVED_READ_37_BIT_KHR"/>
+                <enum bitpos="38" extends="VkAccessFlagBits2KHR"        name="VK_ACCESS_2_RESERVED_WRITE_38_BIT_KHR"/>
                 <enum bitpos="13" extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_13_BIT_KHR"/>
                 <enum bitpos="14" extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_14_BIT_KHR"/>
                 <enum bitpos="10" extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_10_BIT_KHR"/>
@@ -11651,9 +12340,9 @@
                 <command name="vkGetDisplayPlaneCapabilities2KHR"/>
             </require>
         </extension>
-        <extension name="VK_MVK_ios_surface" number="123" type="instance" requires="VK_KHR_surface" platform="ios" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings">
+        <extension name="VK_MVK_ios_surface" number="123" type="instance" requires="VK_KHR_surface" platform="ios" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings" deprecatedby="VK_EXT_metal_surface">
             <require>
-                <enum value="2"                                             name="VK_MVK_IOS_SURFACE_SPEC_VERSION"/>
+                <enum value="3"                                             name="VK_MVK_IOS_SURFACE_SPEC_VERSION"/>
                 <enum value="&quot;VK_MVK_ios_surface&quot;"                name="VK_MVK_IOS_SURFACE_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"/>
                 <type name="VkIOSSurfaceCreateFlagsMVK"/>
@@ -11661,9 +12350,9 @@
                 <command name="vkCreateIOSSurfaceMVK"/>
             </require>
         </extension>
-        <extension name="VK_MVK_macos_surface" number="124" type="instance" requires="VK_KHR_surface" platform="macos" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings">
+        <extension name="VK_MVK_macos_surface" number="124" type="instance" requires="VK_KHR_surface" platform="macos" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings" deprecatedby="VK_EXT_metal_surface">
             <require>
-                <enum value="2"                                             name="VK_MVK_MACOS_SURFACE_SPEC_VERSION"/>
+                <enum value="3"                                             name="VK_MVK_MACOS_SURFACE_SPEC_VERSION"/>
                 <enum value="&quot;VK_MVK_macos_surface&quot;"              name="VK_MVK_MACOS_SURFACE_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK"/>
                 <type name="VkMacOSSurfaceCreateFlagsMVK"/>
@@ -11710,7 +12399,7 @@
                 <enum offset="2" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT"/>
                 <enum offset="3" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT"/>
                 <enum offset="4" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT"/>
-                <enum offset="0" extends="VkObjectType"                     name="VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"      comment="VkDebugUtilsMessengerEXT"/>
+                <enum offset="0" extends="VkObjectType"                     name="VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"/>
                 <type name="PFN_vkDebugUtilsMessengerCallbackEXT"/>
                 <type name="VkDebugUtilsLabelEXT"/>
                 <type name="VkDebugUtilsMessageSeverityFlagBitsEXT"/>
@@ -11982,65 +12671,41 @@
                 <type name="VkPipelineCoverageToColorStateCreateInfoNV"/>
             </require>
         </extension>
-        <extension name="VK_KHR_ray_tracing" number="151" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_get_memory_requirements2,VK_EXT_descriptor_indexing,VK_KHR_buffer_device_address,VK_KHR_deferred_host_operations,VK_KHR_pipeline_library" author="KHR" contact="Daniel Koch @dgkoch" platform="provisional" supported="vulkan" provisional="true" sortorder="1" comment="Explicit sort order to require processing after VK_NV_ray_tracing">
+        <extension name="VK_KHR_acceleration_structure" number="151" type="device" requiresCore="1.1" requires="VK_EXT_descriptor_indexing,VK_KHR_buffer_device_address,VK_KHR_deferred_host_operations" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1">
             <require>
-                <enum value="8"                                             name="VK_KHR_RAY_TRACING_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_ray_tracing&quot;"                name="VK_KHR_RAY_TRACING_EXTENSION_NAME"/>
-                <enum                                                       name="VK_SHADER_UNUSED_KHR"/>
-                <enum offset="6"  extends="VkStructureType" extnumber="166" name="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR"/>
-                <enum offset="7"  extends="VkStructureType" extnumber="166" name="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR"/>
+                <enum value="11"                                            name="VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_acceleration_structure&quot;"     name="VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME"/>
+                <enum offset="7"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR"/>
                 <enum offset="0"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR"/>
-                <enum offset="1"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR"/>
                 <enum offset="2"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR"/>
                 <enum offset="3"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR"/>
                 <enum offset="4"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR"/>
                 <enum offset="5"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR"/>
                 <enum offset="6"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR"/>
-                <enum offset="8"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR"/>
-                <enum offset="9"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR"/>
+                <enum offset="9"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR"/>
                 <enum offset="10" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR"/>
                 <enum offset="11" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR"/>
                 <enum offset="12" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR"/>
-                <enum offset="13" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR"/>
-                <enum offset="14" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR"/>
-                <enum offset="15" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR"/>
-                <enum offset="16" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR"/>
+                <enum offset="13" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR"/>
+                <enum offset="14" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR"/>
                 <enum offset="17" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR"/>
-                <enum offset="18" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR"/>
-                <enum bitpos="8"  extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_RAYGEN_BIT_KHR"/>
-                <enum bitpos="9"  extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_ANY_HIT_BIT_KHR"/>
-                <enum bitpos="10" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR"/>
-                <enum bitpos="11" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_MISS_BIT_KHR"/>
-                <enum bitpos="12" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_INTERSECTION_BIT_KHR"/>
-                <enum bitpos="13" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_CALLABLE_BIT_KHR"/>
-                <enum bitpos="21" extends="VkPipelineStageFlagBits"         name="VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"/>
+                <enum offset="20" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR"/>
                 <enum bitpos="25" extends="VkPipelineStageFlagBits"         name="VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/>
-                <enum bitpos="10" extends="VkBufferUsageFlagBits"           name="VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR"/>
-                <enum offset="0"  extends="VkPipelineBindPoint" extnumber="166" name="VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR"/>
-                <enum offset="0"  extends="VkDescriptorType" extnumber="166" name="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"/>
+                <enum offset="0"  extends="VkDescriptorType"                name="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"/>
                 <enum bitpos="21" extends="VkAccessFlagBits"                name="VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"/>
                 <enum bitpos="22" extends="VkAccessFlagBits"                name="VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"/>
-                <enum offset="0"  extends="VkQueryType" extnumber="166"     name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR"/>
-                <enum offset="0"  extends="VkQueryType"                     name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR"/>
-                <enum offset="0"  extends="VkObjectType" extnumber="166"    name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"/>
-                <enum offset="0"  extends="VkDebugReportObjectTypeEXT" extnumber="166" name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT"/>
+                <enum offset="0"  extends="VkQueryType"                     name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR"/>
+                <enum offset="1"  extends="VkQueryType"                     name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR"/>
+                <enum offset="0"  extends="VkObjectType"                    name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"/>
+                <enum offset="0"  extends="VkDebugReportObjectTypeEXT"      name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT"/>
                 <enum offset="0"  extends="VkIndexType" extnumber="166"     name="VK_INDEX_TYPE_NONE_KHR"/>
-                <enum offset="0"  extends="VkGeometryTypeKHR"               name="VK_GEOMETRY_TYPE_INSTANCES_KHR"/>
-                <enum offset="0"  extends="VkResult" dir="-"                name="VK_ERROR_INCOMPATIBLE_VERSION_KHR"/>
                 <enum bitpos="29" extends="VkFormatFeatureFlagBits"         name="VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"/>
-                <enum bitpos="14" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"/>
-                <enum bitpos="15" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"/>
-                <enum bitpos="16" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"/>
-                <enum bitpos="17" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"/>
-                <enum bitpos="12" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"/>
-                <enum bitpos="13" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR"/>
+                <enum bitpos="19" extends="VkBufferUsageFlagBits"           name="VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"/>
+                <enum bitpos="20" extends="VkBufferUsageFlagBits"           name="VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR"/>
                 <type name="VkAccelerationStructureTypeKHR"/>
                 <type name="VkDeviceOrHostAddressKHR"/>
                 <type name="VkDeviceOrHostAddressConstKHR"/>
-                <type name="VkAccelerationStructureBuildOffsetInfoKHR"/>
-                <type name="VkRayTracingShaderGroupCreateInfoKHR"/>
-                <type name="VkRayTracingShaderGroupTypeKHR"/>
-                <type name="VkRayTracingPipelineCreateInfoKHR"/>
+                <type name="VkAccelerationStructureBuildRangeInfoKHR"/>
                 <type name="VkAabbPositionsKHR"/>
                 <type name="VkAccelerationStructureGeometryTrianglesDataKHR"/>
                 <type name="VkTransformMatrixKHR"/>
@@ -12055,34 +12720,30 @@
                 <type name="VkGeometryInstanceFlagsKHR"/>
                 <type name="VkGeometryFlagBitsKHR"/>
                 <type name="VkGeometryInstanceFlagBitsKHR"/>
-                <type name="VkAccelerationStructureCreateGeometryTypeInfoKHR"/>
                 <type name="VkAccelerationStructureCreateInfoKHR"/>
                 <type name="VkAccelerationStructureKHR"/>
                 <type name="VkBuildAccelerationStructureFlagBitsKHR"/>
                 <type name="VkBuildAccelerationStructureFlagsKHR"/>
                 <type name="VkCopyAccelerationStructureModeKHR"/>
                 <type name="VkGeometryTypeKHR"/>
-                <type name="VkBindAccelerationStructureMemoryInfoKHR"/>
                 <type name="VkWriteDescriptorSetAccelerationStructureKHR"/>
-                <type name="VkAccelerationStructureMemoryRequirementsInfoKHR"/>
-                <type name="VkPhysicalDeviceRayTracingFeaturesKHR"/>
-                <type name="VkPhysicalDeviceRayTracingPropertiesKHR"/>
-                <type name="VkAccelerationStructureMemoryRequirementsTypeKHR"/>
+                <type name="VkPhysicalDeviceAccelerationStructureFeaturesKHR"/>
+                <type name="VkPhysicalDeviceAccelerationStructurePropertiesKHR"/>
                 <type name="VkAccelerationStructureDeviceAddressInfoKHR"/>
-                <type name="VkAccelerationStructureVersionKHR"/>
-                <type name="VkStridedBufferRegionKHR"/>
-                <type name="VkTraceRaysIndirectCommandKHR"/>
+                <type name="VkAccelerationStructureVersionInfoKHR"/>
                 <type name="VkCopyAccelerationStructureToMemoryInfoKHR"/>
                 <type name="VkCopyMemoryToAccelerationStructureInfoKHR"/>
                 <type name="VkCopyAccelerationStructureInfoKHR"/>
-                <type name="VkRayTracingPipelineInterfaceCreateInfoKHR"/>
+                <type name="VkAccelerationStructureCompatibilityKHR"/>
+                <type name="VkAccelerationStructureCreateFlagBitsKHR"/>
+                <type name="VkAccelerationStructureCreateFlagsKHR"/>
+                <type name="VkBuildAccelerationStructureModeKHR"/>
+                <type name="VkAccelerationStructureBuildSizesInfoKHR"/>
                 <command name="vkCreateAccelerationStructureKHR"/>
                 <command name="vkDestroyAccelerationStructureKHR"/>
-                <command name="vkGetAccelerationStructureMemoryRequirementsKHR"/>
-                <command name="vkBindAccelerationStructureMemoryKHR"/>
-                <command name="vkCmdBuildAccelerationStructureKHR"/>
-                <command name="vkCmdBuildAccelerationStructureIndirectKHR"/>
-                <command name="vkBuildAccelerationStructureKHR"/>
+                <command name="vkCmdBuildAccelerationStructuresKHR"/>
+                <command name="vkCmdBuildAccelerationStructuresIndirectKHR"/>
+                <command name="vkBuildAccelerationStructuresKHR"/>
                 <command name="vkCopyAccelerationStructureKHR"/>
                 <command name="vkCopyAccelerationStructureToMemoryKHR"/>
                 <command name="vkCopyMemoryToAccelerationStructureKHR"/>
@@ -12090,14 +12751,63 @@
                 <command name="vkCmdCopyAccelerationStructureKHR"/>
                 <command name="vkCmdCopyAccelerationStructureToMemoryKHR"/>
                 <command name="vkCmdCopyMemoryToAccelerationStructureKHR"/>
+                <command name="vkGetAccelerationStructureDeviceAddressKHR"/>
+                <command name="vkCmdWriteAccelerationStructuresPropertiesKHR"/>
+                <command name="vkGetDeviceAccelerationStructureCompatibilityKHR"/>
+                <command name="vkGetAccelerationStructureBuildSizesKHR"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_ray_tracing_pipeline" number="348" type="device" requiresCore="1.1" requires="VK_KHR_spirv_1_4,VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1">
+            <require>
+                <enum value="1"                                             name="VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_ray_tracing_pipeline&quot;"       name="VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME"/>
+                <enum                                                       name="VK_SHADER_UNUSED_KHR"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR"/>
+                <enum offset="1" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR"/>
+                <enum offset="15" extends="VkStructureType" extnumber="151" name="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR"/>
+                <enum offset="16" extends="VkStructureType" extnumber="151" name="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR"/>
+                <enum offset="18" extends="VkStructureType" extnumber="151" name="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR"/>
+                <enum bitpos="8"  extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_RAYGEN_BIT_KHR"/>
+                <enum bitpos="9"  extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_ANY_HIT_BIT_KHR"/>
+                <enum bitpos="10" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR"/>
+                <enum bitpos="11" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_MISS_BIT_KHR"/>
+                <enum bitpos="12" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_INTERSECTION_BIT_KHR"/>
+                <enum bitpos="13" extends="VkShaderStageFlagBits"           name="VK_SHADER_STAGE_CALLABLE_BIT_KHR"/>
+                <enum bitpos="21" extends="VkPipelineStageFlagBits"         name="VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"/>
+                <enum bitpos="10" extends="VkBufferUsageFlagBits"           name="VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR"/>
+                <enum offset="0"  extends="VkPipelineBindPoint" extnumber="166" name="VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR"/>
+                <enum bitpos="14" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"/>
+                <enum bitpos="15" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"/>
+                <enum bitpos="16" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"/>
+                <enum bitpos="17" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"/>
+                <enum bitpos="12" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"/>
+                <enum bitpos="13" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR"/>
+                <enum bitpos="19" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"/>
+                <enum offset="0"  extends="VkDynamicState"                  name="VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR"/>
+                <type name="VkRayTracingShaderGroupCreateInfoKHR"/>
+                <type name="VkRayTracingShaderGroupTypeKHR"/>
+                <type name="VkRayTracingPipelineCreateInfoKHR"/>
+                <type name="VkPhysicalDeviceRayTracingPipelineFeaturesKHR"/>
+                <type name="VkPhysicalDeviceRayTracingPipelinePropertiesKHR"/>
+                <type name="VkStridedDeviceAddressRegionKHR"/>
+                <type name="VkTraceRaysIndirectCommandKHR"/>
+                <type name="VkRayTracingPipelineInterfaceCreateInfoKHR"/>
+                <type name="VkShaderGroupShaderKHR"/>
                 <command name="vkCmdTraceRaysKHR"/>
                 <command name="vkCreateRayTracingPipelinesKHR"/>
                 <command name="vkGetRayTracingShaderGroupHandlesKHR"/>
-                <command name="vkGetAccelerationStructureDeviceAddressKHR"/>
                 <command name="vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"/>
-                <command name="vkCmdWriteAccelerationStructuresPropertiesKHR"/>
                 <command name="vkCmdTraceRaysIndirectKHR"/>
-                <command name="vkGetDeviceAccelerationStructureCompatibilityKHR"/>
+                <command name="vkGetRayTracingShaderGroupStackSizeKHR"/>
+                <command name="vkCmdSetRayTracingPipelineStackSizeKHR"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_ray_query" number="349" type="device" requiresCore="1.1" requires="VK_KHR_spirv_1_4,VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1">
+            <require>
+                <enum value="1"                                             name="VK_KHR_RAY_QUERY_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_ray_query&quot;"                  name="VK_KHR_RAY_QUERY_EXTENSION_NAME"/>
+                <enum offset="13" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR"/>
+                <type name="VkPhysicalDeviceRayQueryFeaturesKHR"/>
             </require>
         </extension>
         <extension name="VK_NV_extension_152" number="152" author="NV" contact="Jeff Bolz @jeffbolznv" supported="disabled">
@@ -12243,7 +12953,6 @@
                 <enum offset="0" dir="-" extends="VkResult" name="VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT"/>
 
                 <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT"/>
-                <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT"/>
                 <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT"/>
                 <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT"/>
                 <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT"/>
@@ -12278,7 +12987,7 @@
                 <enum value="&quot;VK_EXT_validation_cache&quot;"           name="VK_EXT_VALIDATION_CACHE_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT"/>
                 <enum offset="1" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT"/>
-                <enum offset="0" extends="VkObjectType"                     name="VK_OBJECT_TYPE_VALIDATION_CACHE_EXT" comment="VkValidationCacheEXT"/>
+                <enum offset="0" extends="VkObjectType"                     name="VK_OBJECT_TYPE_VALIDATION_CACHE_EXT"/>
                 <type name="VkValidationCacheEXT"/>
                 <type name="VkValidationCacheCreateInfoEXT"/>
                 <type name="VkShaderModuleValidationCacheCreateInfoEXT"/>
@@ -12321,10 +13030,14 @@
                 <enum value="&quot;VK_EXT_shader_viewport_index_layer&quot;" name="VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_NV_extension_164" number="164" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
+        <extension name="VK_KHR_portability_subset" number="164" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Bill Hollings @billhollings" platform="provisional" supported="vulkan" provisional="true">
             <require>
-                <enum value="0"                                             name="VK_EXT_EXTENSION_164_SPEC_VERSION"/>
-                <enum value="&quot;VK_NV_extension_164&quot;"               name="VK_EXT_EXTENSION_164_EXTENSION_NAME"/>
+                <enum value="1"                                             name="VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_portability_subset&quot;"         name="VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+                <enum offset="1" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+                <type name="VkPhysicalDevicePortabilitySubsetFeaturesKHR"/>
+                <type name="VkPhysicalDevicePortabilitySubsetPropertiesKHR"/>
             </require>
         </extension>
         <extension name="VK_NV_shading_rate_image" number="165" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan">
@@ -12365,8 +13078,8 @@
                 <enum offset="3"  extends="VkStructureType"   name="VK_STRUCTURE_TYPE_GEOMETRY_NV"/>
                 <enum offset="4"  extends="VkStructureType"   name="VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV"/>
                 <enum offset="5"  extends="VkStructureType"   name="VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV"/>
-                <enum extends="VkStructureType"               name="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV" alias="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR"/>
-                <enum extends="VkStructureType"               name="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV" alias="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR"/>
+                <enum offset="6"  extends="VkStructureType"   name="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV"/>
+                <enum offset="7"  extends="VkStructureType"   name="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV"/>
                 <enum offset="8"  extends="VkStructureType"   name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV"/>
                 <enum offset="9"  extends="VkStructureType"   name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV"/>
                 <enum offset="11" extends="VkStructureType"   name="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"/>
@@ -12379,15 +13092,15 @@
                 <enum extends="VkShaderStageFlagBits"         name="VK_SHADER_STAGE_CALLABLE_BIT_NV" alias="VK_SHADER_STAGE_CALLABLE_BIT_KHR"/>
                 <enum extends="VkPipelineStageFlagBits"       name="VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"/>
                 <enum extends="VkPipelineStageFlagBits"       name="VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV" alias="VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/>
-                <enum extends="VkBufferUsageFlagBits"         name="VK_BUFFER_USAGE_RAY_TRACING_BIT_NV" alias="VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR"/>
+                <enum extends="VkBufferUsageFlagBits"         name="VK_BUFFER_USAGE_RAY_TRACING_BIT_NV" alias="VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR"/>
                 <enum extends="VkPipelineBindPoint"           name="VK_PIPELINE_BIND_POINT_RAY_TRACING_NV" alias="VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR"/>
-                <enum extends="VkDescriptorType"              name="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV" alias="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"/>
+                <enum offset="0" extends="VkDescriptorType"   name="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV"/>
                 <enum extends="VkAccessFlagBits"              name="VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV" alias="VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"/>
                 <enum extends="VkAccessFlagBits"              name="VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV" alias="VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"/>
-                <enum extends="VkQueryType"                   name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV" alias="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR"/>
+                <enum offset="0" extends="VkQueryType"        name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV"/>
                 <enum bitpos="5" extends="VkPipelineCreateFlagBits"      name="VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV"/>
-                <enum extends="VkObjectType"                  name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV" alias="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"/>
-                <enum extends="VkDebugReportObjectTypeEXT"    name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT"/>
+                <enum offset="0" extends="VkObjectType"       name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"/>
+                <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT"/>
                 <enum extends="VkIndexType"                   name="VK_INDEX_TYPE_NONE_NV" alias="VK_INDEX_TYPE_NONE_KHR"/>
                 <type name="VkRayTracingShaderGroupCreateInfoNV"/>
                 <type name="VkRayTracingShaderGroupTypeNV"/>
@@ -12437,9 +13150,6 @@
                 <type name="VkTransformMatrixNV"/>
                 <type name="VkAabbPositionsNV"/>
                 <type name="VkAccelerationStructureInstanceNV"/>
-                <enum extends="VkAccelerationStructureMemoryRequirementsTypeKHR" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV" alias="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR"/>
-                <enum extends="VkAccelerationStructureMemoryRequirementsTypeKHR" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV" alias="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR"/>
-                <enum extends="VkAccelerationStructureMemoryRequirementsTypeKHR" name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV" alias="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR"/>
                 <command name="vkCreateAccelerationStructureNV"/>
                 <command name="vkDestroyAccelerationStructureNV"/>
                 <command name="vkGetAccelerationStructureMemoryRequirementsNV"/>
@@ -12468,9 +13178,6 @@
             <require>
                 <enum value="0"                                             name="VK_EXT_EXTENSION_168_SPEC_VERSION"/>
                 <enum value="&quot;VK_NV_extension_168&quot;"               name="VK_EXT_EXTENSION_168_EXTENSION_NAME"/>
-                <enum bitpos="19" extends="VkPipelineCreateFlagBits"        name="VK_PIPELINE_CREATE_RESERVED_19_BIT_KHR"/>
-                <enum bitpos="19" extends="VkBufferUsageFlagBits"           name="VK_BUFFER_USAGE_RESERVED_19_BIT_KHR"/>
-                <enum bitpos="20" extends="VkBufferUsageFlagBits"           name="VK_BUFFER_USAGE_RESERVED_20_BIT_KHR"/>
             </require>
         </extension>
         <extension name="VK_KHR_maintenance3" number="169" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1">
@@ -12707,6 +13414,8 @@
             <require>
                 <enum value="0"                                         name="VK_GOOGLE_EXTENSION_196_SPEC_VERSION"/>
                 <enum value="&quot;VK_GOOGLE_extension_196&quot;"       name="VK_GOOGLE_EXTENSION_196_EXTENSION_NAME"/>
+                <enum bitpos="1"  extends="VkPipelineCacheCreateFlagBits"
+                    name="VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT"/>
             </require>
         </extension>
         <extension name="VK_KHR_driver_properties" number="197" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Daniel Rakos @drakos-amd" supported="vulkan" promotedto="VK_VERSION_1_2">
@@ -12960,10 +13669,12 @@
                 <command name="vkCreateImagePipeSurfaceFUCHSIA"/>
             </require>
         </extension>
-        <extension name="VK_GOOGLE_extension_216" number="216" author="GOOGLE" contact="Jesse Hall @critsec" supported="disabled">
+        <extension name="VK_KHR_shader_terminate_invocation" number="216" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Jesse Hall @critsec" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_KHR_EXTENSION_216_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_216&quot;"              name="VK_KHR_EXTENSION_216_EXTENSION_NAME"/>
+                <enum value="1"                                                 name="VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_shader_terminate_invocation&quot;"    name="VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR"/>
+                <type name="VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR"/>
             </require>
         </extension>
         <extension name="VK_GOOGLE_extension_217" number="217" author="GOOGLE" contact="Jesse Hall @critsec" supported="disabled">
@@ -13057,11 +13768,29 @@
                 <enum bitpos="1" extends="VkPipelineShaderStageCreateFlagBits" name="VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT"/>
             </require>
         </extension>
-        <extension name="VK_AMD_extension_227" number="227" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
+        <extension name="VK_KHR_fragment_shading_rate" number="227" type="device" requires="VK_KHR_create_renderpass2,VK_KHR_get_physical_device_properties2" author="KHR" contact="Tobias Hector @tobski" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_AMD_EXTENSION_227_SPEC_VERSION"/>
-                <enum value="&quot;VK_AMD_extension_227&quot;"              name="VK_AMD_EXTENSION_227_EXTENSION_NAME"/>
-                <enum bitpos="30" extends="VkFormatFeatureFlagBits"         name="VK_FORMAT_FEATURE_AMD_RESERVED_30_BIT"/>
+                <enum value="1"                                                 name="VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_fragment_shading_rate&quot;" name="VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME"/>
+                <type name="VkFragmentShadingRateCombinerOpKHR"/>
+                <type name="VkFragmentShadingRateAttachmentInfoKHR"/>
+                <type name="VkPipelineFragmentShadingRateStateCreateInfoKHR"/>
+                <type name="VkPhysicalDeviceFragmentShadingRateFeaturesKHR"/>
+                <type name="VkPhysicalDeviceFragmentShadingRatePropertiesKHR"/>
+                <type name="VkPhysicalDeviceFragmentShadingRateKHR"/>
+                <command name="vkGetPhysicalDeviceFragmentShadingRatesKHR"/>
+                <command name="vkCmdSetFragmentShadingRateKHR"/>
+                <enum extends="VkImageLayout"           name="VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR" alias="VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV"/>
+                <enum offset="0" extends="VkDynamicState"                       name="VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR"/>
+                <enum offset="0" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"/>
+                <enum offset="1" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR"/>
+                <enum offset="2" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR"/>
+                <enum offset="3" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR"/>
+                <enum offset="4" extends="VkStructureType"                      name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR"/>
+                <enum extends="VkAccessFlagBits"        name="VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"  alias="VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV"/>
+                <enum extends="VkImageUsageFlagBits"    name="VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"  alias="VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV"/>
+                <enum extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"   alias="VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV"/>
+                <enum bitpos="30" extends="VkFormatFeatureFlagBits"              name="VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/>
             </require>
         </extension>
         <extension name="VK_AMD_shader_core_properties2" number="228" type="device" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan" requires="VK_AMD_shader_core_properties">
@@ -13114,10 +13843,12 @@
                 <enum value="&quot;VK_AMD_extension_234&quot;"              name="VK_AMD_EXTENSION_234_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_AMD_extension_235" number="235" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
+        <extension name="VK_EXT_shader_image_atomic_int64" number="235" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Tobias Hector @tobski" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_AMD_EXTENSION_235_SPEC_VERSION"/>
-                <enum value="&quot;VK_AMD_extension_235&quot;"              name="VK_AMD_EXTENSION_235_EXTENSION_NAME"/>
+                <enum value="1"                                             name="VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_shader_image_atomic_int64&quot;"  name="VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"/>
+                <type name="VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT"/>
             </require>
         </extension>
         <extension name="VK_AMD_extension_236" number="236" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
@@ -13243,7 +13974,7 @@
         </extension>
         <extension name="VK_EXT_validation_features" number="248" type="instance" author="LUNARG" contact="Karl Schultz @karl-lunarg" specialuse="debugging" supported="vulkan">
             <require>
-                <enum value="3"                                             name="VK_EXT_VALIDATION_FEATURES_SPEC_VERSION"/>
+                <enum value="4"                                             name="VK_EXT_VALIDATION_FEATURES_SPEC_VERSION"/>
                 <enum value="&quot;VK_EXT_validation_features&quot;"        name="VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT"/>
                 <type name="VkValidationFeaturesEXT"/>
@@ -13479,14 +14210,12 @@
                 <command name="vkCmdSetStencilOpEXT"/>
              </require>
          </extension>
-        <extension name="VK_KHR_deferred_host_operations" number="269" type="device" author="KHR" contact="Josh Barczak @jbarczak" platform="provisional" supported="vulkan" provisional="true">
+        <extension name="VK_KHR_deferred_host_operations" number="269" type="device" author="KHR" contact="Josh Barczak @jbarczak" supported="vulkan">
             <require>
-                <enum value="3"                                             name="VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION"/>
+                <enum value="4"                                             name="VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_deferred_host_operations&quot;"   name="VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR"/>
                 <enum offset="0" extends="VkObjectType"                     name="VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"/>
                 <type name="VkDeferredOperationKHR"/>
-                <type name="VkDeferredOperationInfoKHR"/>
                 <command name="vkCreateDeferredOperationKHR"/>
                 <command name="vkDestroyDeferredOperationKHR"/>
                 <command name="vkGetDeferredOperationMaxConcurrencyKHR"/>
@@ -13583,7 +14312,7 @@
                 <enum bitpos="17" extends="VkPipelineStageFlagBits"         name="VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"/>
                 <enum bitpos="17" extends="VkAccessFlagBits"                name="VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"/>
                 <enum bitpos="18" extends="VkAccessFlagBits"                name="VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"/>
-                <enum offset="0" extends="VkObjectType"                     name="VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV" comment="VkIndirectCommandsLayoutNV"/>
+                <enum offset="0" extends="VkObjectType"                     name="VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"/>
                 <type name="VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV"/>
                 <type name="VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV"/>
                 <type name="VkGraphicsShaderGroupCreateInfoNV"/>
@@ -13656,10 +14385,19 @@
                 <enum value="&quot;VK_EXT_extension_284&quot;"              name="VK_EXT_extension_284"/>
             </require>
         </extension>
-        <extension name="VK_EXT_extension_285" number="285" type="device" author="EXT" contact="Yiwei Zhang @zzyiwei" supported="disabled">
+        <extension name="VK_EXT_device_memory_report" number="285" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_EXT_EXTENSION_285_SPEC_VERSION"/>
-                <enum value="&quot;VK_EXT_extension_285&quot;"              name="VK_EXT_extension_285"/>
+                <enum value="2"                                             name="VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_device_memory_report&quot;"       name="VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT"/>
+                <enum offset="1" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT"/>
+                <enum offset="2" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"/>
+                <type name="VkPhysicalDeviceDeviceMemoryReportFeaturesEXT"/>
+                <type name="VkDeviceDeviceMemoryReportCreateInfoEXT"/>
+                <type name="VkDeviceMemoryReportCallbackDataEXT"/>
+                <type name="VkDeviceMemoryReportFlagsEXT"/>
+                <type name="VkDeviceMemoryReportEventTypeEXT"/>
+                <type name="PFN_vkDeviceMemoryReportCallbackEXT"/>
             </require>
         </extension>
         <extension name="VK_EXT_extension_286" number="286" type="instance" author="EXT" contact="Drew DeVault sir@cmpwn.com" supported="disabled">
@@ -13739,7 +14477,7 @@
                 <enum value="&quot;VK_GOOGLE_user_type&quot;"               name="VK_GOOGLE_USER_TYPE_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_KHR_pipeline_library" number="291" type="device" author="KHR" contact="Christoph Kubisch @pixeljetstream" platform="provisional" supported="vulkan" provisional="true">
+        <extension name="VK_KHR_pipeline_library" number="291" type="device" author="KHR" contact="Christoph Kubisch @pixeljetstream" supported="vulkan">
             <require>
                 <enum value="1"                                             name="VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_pipeline_library&quot;"           name="VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME"/>
@@ -13832,7 +14570,7 @@
         <extension name="VK_NV_device_diagnostics_config" number="301" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan">
             <require>
                 <enum value="1"                                             name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION"/>
-                <enum value="&quot;VK_NV_device_diagnostics_config&quot;"     name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME"/>
+                <enum value="&quot;VK_NV_device_diagnostics_config&quot;"   name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"/>
                 <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"/>
                 <type name="VkPhysicalDeviceDiagnosticsConfigFeaturesNV"/>
@@ -13922,10 +14660,101 @@
                 <enum value="&quot;VK_AMD_extension_314&quot;"              name="VK_AMD_EXTENSION_314_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_AMD_extension_315" number="315" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
+        <extension name="VK_KHR_synchronization2" number="315" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_AMD_EXTENSION_315_SPEC_VERSION"/>
-                <enum value="&quot;VK_AMD_extension_315&quot;"              name="VK_AMD_EXTENSION_315_EXTENSION_NAME"/>
+                <enum value="1"                                             name="VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_synchronization2&quot;"           name="VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME"/>
+                <enum offset="0"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"/>
+                <enum offset="1"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"/>
+                <enum offset="2"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"/>
+                <enum offset="3"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"/>
+                <enum offset="4"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"/>
+                <enum offset="5"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"/>
+                <enum offset="6"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"/>
+                <enum offset="7"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"/>
+                <enum bitpos="0"  extends="VkEventCreateFlagBits"           name="VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR"/>
+                <enum offset="0"  extends="VkImageLayout"                   name="VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR"/>
+                <enum offset="1"  extends="VkImageLayout"                   name="VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR"/>
+                <enum value="0"  extends="VkPipelineStageFlagBits"          name="VK_PIPELINE_STAGE_NONE_KHR"/>
+                <enum value="0"  extends="VkAccessFlagBits"                 name="VK_ACCESS_NONE_KHR"/>
+                <type name="VkPipelineStageFlags2KHR"/>
+                <type name="VkPipelineStageFlagBits2KHR"/>
+                <type name="VkAccessFlags2KHR"/>
+                <type name="VkAccessFlagBits2KHR"/>
+                <type name="VkMemoryBarrier2KHR"/>
+                <type name="VkBufferMemoryBarrier2KHR"/>
+                <type name="VkImageMemoryBarrier2KHR"/>
+                <type name="VkDependencyInfoKHR"/>
+                <type name="VkSubmitInfo2KHR"/>
+                <type name="VkSemaphoreSubmitInfoKHR"/>
+                <type name="VkCommandBufferSubmitInfoKHR"/>
+                <type name="VkSubmitFlagBitsKHR"/>
+                <type name="VkSubmitFlagsKHR"/>
+                <type name="VkPhysicalDeviceSynchronization2FeaturesKHR"/>
+                <command name="vkCmdSetEvent2KHR"/>
+                <command name="vkCmdResetEvent2KHR"/>
+                <command name="vkCmdWaitEvents2KHR"/>
+                <command name="vkCmdPipelineBarrier2KHR"/>
+                <command name="vkCmdWriteTimestamp2KHR"/>
+                <command name="vkQueueSubmit2KHR"/>
+            </require>
+            <require extension="VK_EXT_transform_feedback">
+                <enum bitpos="24" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT"/>
+                <enum bitpos="25" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"/>
+                <enum bitpos="26" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"/>
+                <enum bitpos="27" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"/>
+            </require>
+            <require extension="VK_EXT_conditional_rendering">
+                <enum bitpos="18" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT" comment="A pipeline stage for conditional rendering predicate fetch"/>
+                <enum bitpos="20" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT"  comment="read access flag for reading conditional rendering predicate"/>
+            </require>
+            <require extension="VK_NV_device_generated_commands">
+                <enum bitpos="17" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV"/>
+                <enum bitpos="17" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV"/>
+                <enum bitpos="18" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV"/>
+            </require>
+            <require extension="VK_KHR_fragment_shading_rate">
+                <enum bitpos="22" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/>
+                <enum bitpos="23" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"/>
+            </require>
+            <require extension="VK_NV_shading_rate_image">
+                <enum extends="VkPipelineStageFlagBits2KHR"                 name="VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV" alias="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/>
+                <enum extends="VkAccessFlagBits2KHR"                        name="VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV"    alias="VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"/>
+            </require>
+            <require extension="VK_KHR_acceleration_structure">
+                <enum bitpos="25" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/>
+                <enum bitpos="21" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR"/>
+                <enum bitpos="22" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"/>
+            </require>
+            <require extension="VK_KHR_ray_tracing_pipeline">
+                <enum bitpos="21" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR"/>
+            </require>
+            <require extension="VK_NV_ray_tracing">
+                <enum extends="VkPipelineStageFlagBits2KHR"                 name="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR"/>
+                <enum extends="VkPipelineStageFlagBits2KHR"                 name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV" alias="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/>
+                <enum extends="VkAccessFlagBits2KHR"                        name="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV" alias="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR"/>
+                <enum extends="VkAccessFlagBits2KHR"                        name="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV" alias="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"/>
+            </require>
+            <require extension="VK_EXT_fragment_density_map">
+                <enum bitpos="23" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT"/>
+                <enum bitpos="24" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"/>
+            </require>
+            <require extension="VK_EXT_blend_operation_advanced">
+                <enum bitpos="19" extends="VkAccessFlagBits2KHR"            name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"/>
+            </require>
+            <require extension="VK_NV_mesh_shader">
+                <enum bitpos="19" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV"/>
+                <enum bitpos="20" extends="VkPipelineStageFlagBits2KHR"     name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV"/>
+            </require>
+            <require extension="VK_AMD_buffer_marker">
+                <command name="vkCmdWriteBufferMarker2AMD"/>
+            </require>
+            <require extension="VK_NV_device_diagnostic_checkpoints">
+                <type name="VkQueueFamilyCheckpointProperties2NV"/>
+                <type name="VkCheckpointData2NV"/>
+                <command name="vkGetQueueCheckpointData2NV"/>
+                <enum offset="8" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"/>
+                <enum offset="9" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"/>
             </require>
         </extension>
         <extension name="VK_AMD_extension_316" number="316" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
@@ -14016,35 +14845,7 @@
                 <command name="vkGetBufferCollectionProperties2FUCHSIA"/>
             </require>
         </extension>
-        <extension name="VK_FUCHSIA_external_memory" number="1006" type="device" requires="VK_KHR_external_memory_capabilities,VK_KHR_external_memory" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="vulkan" platform="fuchsia">
-            <require>
-                <enum value="1"                                                name="VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION"/>
-                <enum value="&quot;VK_FUCHSIA_external_memory&quot;"           name="VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"/>
-                <enum offset="1" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_TEMP_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"/>
-                <enum offset="2" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_TEMP_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/>
-                <enum bitpos="20" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA"/>
-                <type name="VkImportMemoryZirconHandleInfoFUCHSIA"/>
-                <type name="VkMemoryZirconHandlePropertiesFUCHSIA"/>
-                <type name="VkMemoryGetZirconHandleInfoFUCHSIA"/>
-                <command name="vkGetMemoryZirconHandleFUCHSIA"/>
-                <command name="vkGetMemoryZirconHandlePropertiesFUCHSIA"/>
-            </require>
-        </extension>
-        <extension name="VK_FUCHSIA_external_semaphore" number="1007" type="device" requires="VK_KHR_external_semaphore_capabilities,VK_KHR_external_semaphore" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="vulkan" platform="fuchsia">
-            <require>
-                <enum value="1"                                                  name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION"/>
-                <enum value="&quot;VK_FUCHSIA_external_semaphore&quot;"          name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkStructureType"                       name="VK_STRUCTURE_TYPE_TEMP_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"/>
-                <enum offset="1" extends="VkStructureType"                       name="VK_STRUCTURE_TYPE_TEMP_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/>
-                <enum bitpos="20" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA"/>
-                <type name="VkImportSemaphoreZirconHandleInfoFUCHSIA"/>
-                <type name="VkSemaphoreGetZirconHandleInfoFUCHSIA"/>
-                <command name="vkImportSemaphoreZirconHandleFUCHSIA"/>
-                <command name="vkGetSemaphoreZirconHandleFUCHSIA"/>
-             </require>
-        </extension>
-        <extension name="VK_FUCHSIA_compact_image" number="1008" type="device" author="FUCHSIA" contact="David Reveman @reveman" supported="vulkan">
+        <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"/>
@@ -14064,25 +14865,39 @@
                 <enum value="&quot;VK_KHR_extension_325&quot;"              name="VK_KHR_EXTENSION_325_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_KHR_extension_326" number="326" author="KHR" contact="Alan Baker @alan-baker" supported="disabled">
+        <extension name="VK_KHR_zero_initialize_workgroup_memory" number="326" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alan Baker @alan-baker" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_KHR_EXTENSION_326_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_326&quot;"              name="VK_KHR_EXTENSION_326_EXTENSION_NAME"/>
+              <enum value="1" name="VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION"/>
+              <enum value="&quot;VK_KHR_zero_initialize_workgroup_memory&quot;" name="VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME"/>
+              <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR"/>
+              <type name="VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR"/>
             </require>
         </extension>
-        <extension name="VK_NV_extension_327" number="327" author="NV" contact="Pat Brown @pbrown" supported="disabled">
+        <extension name="VK_NV_fragment_shading_rate_enums" number="327" type="device" requires="VK_KHR_fragment_shading_rate" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_NV_EXTENSION_327_SPEC_VERSION"/>
-                <enum value="&quot;VK_NV_extension_327&quot;"               name="VK_NV_EXTENSION_327_EXTENSION_NAME"/>
+                <enum value="1"                                                 name="VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_fragment_shading_rate_enums&quot;" name="VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV"/>
+                <enum offset="1" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV"/>
+                <enum offset="2" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV"/>
+                <type name="VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV"/>
+                <type name="VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV"/>
+                <type name="VkPipelineFragmentShadingRateEnumStateCreateInfoNV"/>
+                <type name="VkFragmentShadingRateNV"/>
+                <type name="VkFragmentShadingRateTypeNV"/>
+                <command name="vkCmdSetFragmentShadingRateEnumNV"/>
             </require>
         </extension>
-        <extension name="VK_NV_extension_328" number="328" author="NV" contact="Pat Brown @pbrown" supported="disabled">
+        <extension name="VK_NV_extension_328" number="328" author="NV" contact="Eric Werness @ewerness-nv" supported="disabled" requires="VK_KHR_acceleration_structure">
             <require>
                 <enum value="0"                                             name="VK_NV_EXTENSION_328_SPEC_VERSION"/>
                 <enum value="&quot;VK_NV_extension_328&quot;"               name="VK_NV_EXTENSION_328_EXTENSION_NAME"/>
+                <enum bitpos="5" extends="VkBuildAccelerationStructureFlagBitsKHR" name="VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_5_NV"/>
+                <enum bitpos="2" extends="VkAccelerationStructureCreateFlagBitsKHR" name="VK_ACCELERATION_STRUCTURE_CREATE_RESERVED_BIT_2_NV"/>
+                <enum bitpos="20"  extends="VkPipelineCreateFlagBits"              name="VK_PIPELINE_CREATE_RESERVED_BIT_20_NV"/>
             </require>
         </extension>
-        <extension name="VK_NV_extension_329" number="329" author="NV" contact="Pat Brown @pbrown" supported="disabled">
+        <extension name="VK_NV_extension_329" number="329" author="NV" contact="Pat Brown @nvpbrown" supported="disabled">
             <require>
                 <enum value="0"                                             name="VK_NV_EXTENSION_329_SPEC_VERSION"/>
                 <enum value="&quot;VK_NV_extension_329&quot;"               name="VK_NV_EXTENSION_329_EXTENSION_NAME"/>
@@ -14117,10 +14932,12 @@
                 <type name="VkPhysicalDeviceFragmentDensityMap2PropertiesEXT"/>
             </require>
         </extension>
-        <extension name="VK_EXT_extension_334" number="334" author="EXT" contact="Jeff Leger @jackohound" supported="disabled">
+        <extension name="VK_QCOM_rotated_copy_commands" number="334" type="device" requires="VK_KHR_swapchain,VK_KHR_copy_commands2" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_EXT_EXTENSION_334_SPEC_VERSION"/>
-                <enum value="&quot;VK_EXT_extension_334&quot;"              name="VK_EXT_EXTENSION_334_EXTENSION_NAME"/>
+                <enum value="0"                                             name="VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION"/>
+                <enum value="&quot;VK_QCOM_rotated_copy_commands&quot;"     name="VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM"/>
+                <type name="VkCopyCommandTransformInfoQCOM"/>
             </require>
         </extension>
         <extension name="VK_KHR_extension_335" number="335" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled">
@@ -14131,22 +14948,52 @@
         </extension>
         <extension name="VK_EXT_image_robustness" number="336" type="device" author="EXT" contact="Graeme Leese @gnl21" supported="vulkan" requires="VK_KHR_get_physical_device_properties2">
             <require>
-                <enum value="1"                                                 name="VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION"/>
-                <enum value="&quot;VK_EXT_image_robustness&quot;"               name="VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME"/>
+                <enum value="1"                                             name="VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_image_robustness&quot;"           name="VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT"/>
                 <type name="VkPhysicalDeviceImageRobustnessFeaturesEXT"/>
             </require>
         </extension>
-        <extension name="VK_KHR_extension_337" number="337" type="device" author="KHR" contact="Caio Marcelo de Oliveira Filho @cmarcelo" supported="disabled">
+        <extension name="VK_KHR_workgroup_memory_explicit_layout" number="337" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Caio Marcelo de Oliveira Filho @cmarcelo" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_KHR_EXTENSION_337_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_337&quot;"              name="VK_KHR_EXTENSION_337_EXTENSION_NAME"/>
+                <enum value="1"                                                      name="VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_workgroup_memory_explicit_layout&quot;"    name="VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                           name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"/>
+                <type name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"/>
             </require>
         </extension>
-        <extension name="VK_KHR_extension_338" number="338" author="KHR" contact="Jeff Leger @jackohound" supported="disabled">
+        <extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" contact="Jeff Leger @jackohound" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_KHR_EXTENSION_338_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_338&quot;"              name="VK_KHR_EXTENSION_338_EXTENSION_NAME"/>
+                <enum value="1"                                             name="VK_KHR_COPY_COMMANDS_2_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_copy_commands2&quot;"             name="VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR"/>
+                <enum offset="1" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR"/>
+                <enum offset="2" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR"/>
+                <enum offset="3" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR"/>
+                <enum offset="4" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR"/>
+                <enum offset="5" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR"/>
+                <enum offset="6" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR"/>
+                <enum offset="7" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR"/>
+                <enum offset="8" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR"/>
+                <enum offset="9" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR"/>
+                <enum offset="10" extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"/>
+                <type name="VkCopyBufferInfo2KHR"/>
+                <type name="VkCopyImageInfo2KHR"/>
+                <type name="VkCopyBufferToImageInfo2KHR"/>
+                <type name="VkCopyImageToBufferInfo2KHR"/>
+                <type name="VkBlitImageInfo2KHR"/>
+                <type name="VkResolveImageInfo2KHR"/>
+                <type name="VkBufferCopy2KHR"/>
+                <type name="VkImageCopy2KHR"/>
+                <type name="VkImageBlit2KHR"/>
+                <type name="VkBufferImageCopy2KHR"/>
+                <type name="VkImageResolve2KHR"/>
+                <command name="vkCmdCopyBuffer2KHR"/>
+                <command name="vkCmdCopyImage2KHR"/>
+                <command name="vkCmdCopyBufferToImage2KHR"/>
+                <command name="vkCmdCopyImageToBuffer2KHR"/>
+                <command name="vkCmdBlitImage2KHR"/>
+                <command name="vkCmdResolveImage2KHR"/>
             </require>
         </extension>
         <extension name="VK_ARM_extension_339" number="339" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
@@ -14161,10 +15008,14 @@
                 <enum value="&quot;VK_EXT_extension_340&quot;"              name="VK_EXT_EXTENSION_340_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_EXT_extension_341" number="341" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled">
+        <extension name="VK_EXT_4444_formats" number="341" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_EXT_EXTENSION_341_SPEC_VERSION"/>
-                <enum value="&quot;VK_EXT_extension_341&quot;"              name="VK_EXT_EXTENSION_341_EXTENSION_NAME"/>
+                <enum value="1"                                             name="VK_EXT_4444_FORMATS_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_4444_formats&quot;"               name="VK_EXT_4444_FORMATS_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"/>
+                <enum offset="0" extends="VkFormat"                         name="VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT"/>
+                <enum offset="1" extends="VkFormat"                         name="VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT"/>
+                <type name="VkPhysicalDevice4444FormatsFeaturesEXT"/>
             </require>
         </extension>
         <extension name="VK_EXT_extension_342" number="342" author="EXT" contact="Ralph Potter gitlab:@r_potter" supported="disabled">
@@ -14191,10 +15042,12 @@
                 <enum value="&quot;VK_ARM_extension_345&quot;"              name="VK_ARM_EXTENSION_345_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_NV_extension_346" number="346" author="NV" contact="Jeff Juliano @jjuliano" supported="disabled">
+        <extension name="VK_NV_acquire_winrt_display" number="346" type="device" requires="VK_EXT_direct_mode_display" author="NV" contact="Jeff Juliano @jjuliano" platform="win32" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_NV_EXTENSION_346_SPEC_VERSION"/>
-                <enum value="&quot;VK_NV_extension_346&quot;"               name="VK_NV_EXTENSION_346_EXTENSION_NAME"/>
+                <enum value="1"                                             name="VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_acquire_winrt_display&quot;"       name="VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME"/>
+                <command name="vkAcquireWinrtDisplayNV"/>
+                <command name="vkGetWinrtDisplayNV"/>
             </require>
         </extension>
         <extension name="VK_EXT_directfb_surface" number="347" type="instance" requires="VK_KHR_surface" platform="directfb" supported="vulkan" author="EXT" contact="Nicolas Caramelli @caramelli">
@@ -14208,25 +15061,100 @@
                 <command name="vkGetPhysicalDeviceDirectFBPresentationSupportEXT"/>
             </require>
         </extension>
-        <extension name="VK_KHR_extension_348" number="348" author="KHR" contact="Daniel Koch @dgkoch" supported="disabled">
-            <require>
-                <enum value="0"                                             name="VK_KHR_EXTENSION_348_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_348&quot;"              name="VK_KHR_EXTENSION_348_EXTENSION_NAME"/>
-            </require>
-        </extension>
-        <extension name="VK_KHR_extension_349" number="349" author="KHR" contact="Daniel Koch @dgkoch" supported="disabled">
-            <require>
-                <enum value="0"                                             name="VK_KHR_EXTENSION_349_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_349&quot;"              name="VK_KHR_EXTENSION_349_EXTENSION_NAME"/>
-            </require>
-        </extension>
         <extension name="VK_KHR_extension_350" number="350" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled">
             <require>
                 <enum value="0"                                             name="VK_KHR_EXTENSION_350_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_extension_350&quot;"              name="VK_KHR_EXTENSION_350_EXTENSION_NAME"/>
+                <enum bitpos="2"  extends="VkPipelineCacheCreateFlagBits"   name="VK_PIPELINE_CACHE_CREATE_RESERVED_2_BIT_EXT"/>
             </require>
         </extension>
-        <extension name="VK_FUCHSIA_memory_control" number="364" type="device" author="FUCHSIA" contact="John Bauman @jbauman42" supported="vulkan">
+        <extension name="VK_NV_extension_351" number="351" author="NV" contact="Liam Middlebrook @liam-middlebrook" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_NV_EXTENSION_351_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_351&quot;"               name="VK_NV_EXTENSION_351_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_VALVE_mutable_descriptor_type" number="352" type="device" supported="vulkan" author="VALVE" contact="Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" requires="VK_KHR_maintenance3">
+            <require>
+                <enum value="1"                                                name="VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION"/>
+                <enum value="&quot;VK_VALVE_mutable_descriptor_type&quot;"     name="VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"/>
+                <enum offset="2" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE"/>
+                <enum offset="0" extends="VkDescriptorType"                    name="VK_DESCRIPTOR_TYPE_MUTABLE_VALVE"/>
+                <enum bitpos="2" extends="VkDescriptorPoolCreateFlagBits"      name="VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE"/>
+                <enum bitpos="2" extends="VkDescriptorSetLayoutCreateFlagBits" name="VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE"/>
+                <type name="VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE"/>
+                <type name="VkMutableDescriptorTypeListVALVE"/>
+                <type name="VkMutableDescriptorTypeCreateInfoVALVE"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_353" number="353" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_353_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_353&quot;"              name="VK_EXT_EXTENSION_353_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_354" number="354" author="EXT" contact="Simon Ser @emersion" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_354_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_354&quot;"              name="VK_EXT_EXTENSION_354_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_355" number="355" author="EXT" contact="Ralph Potter gitlab:@r_potter" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_355_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_355&quot;"              name="VK_EXT_EXTENSION_355_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_vertex_attribute_aliasing" number="356" type="device" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled" specialuse="glemulation">
+            <require>
+                <enum value="0"                                             name="VK_EXT_VERTEX_ATTRIBUTE_ALIASING_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_vertex_attribute_aliasing&quot;"  name="VK_EXT_VERTEX_ATTRIBUTE_ALIASING_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_357" number="357" author="EXT" contact="Courtney Goeltzenleuchter @courtney-g" supported="disabled" specialuse="glemulation">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_357"/>
+                <enum value="&quot;VK_EXT_extension_357&quot;"              name="VK_EXT_EXTENSION_357"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_358" number="358" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_KHR_EXTENSION_358_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_358&quot;"              name="VK_KHR_EXTENSION_358_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_359" number="359" author="EXT" contact="Bill Hollings @billhollings" supported="disabled" specialuse="glemulation">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_359"/>
+                <enum value="&quot;VK_EXT_extension_359&quot;"              name="VK_EXT_EXTENSION_359"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_360" number="360" author="EXT" contact="Bill Hollings @billhollings" supported="disabled" specialuse="glemulation">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_360"/>
+                <enum value="&quot;VK_EXT_extension_360&quot;"              name="VK_EXT_EXTENSION_360"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_361" number="361" author="KHR" contact="Lionel Landwerlin @llandwerlin" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_361"/>
+                <enum value="&quot;VK_EXT_extension_361&quot;"              name="VK_EXT_EXTENSION_361"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_362" number="362" author="EXT" contact="Lionel Duc @nvlduc" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_362_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_362&quot;"              name="VK_EXT_EXTENSION_362_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_363" number="363" author="EXT" contact="Kaye Mason @chaleur" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_363_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_363&quot;"              name="VK_EXT_EXTENSION_363_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_FUCHSIA_memory_control" number="364" type="device" author="FUCHSIA" contact="John Bauman @jbauman42" platform="fuchsia" supported="vulkan">
             <require>
                 <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"/>
@@ -14244,5 +15172,772 @@
                 <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">
+          <require>
+            <enum value="1"                                                name="VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION"/>
+            <enum value="&quot;VK_FUCHSIA_external_memory&quot;"           name="VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME"/>
+            <enum offset="0" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"/>
+            <enum offset="1" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"/>
+            <enum offset="2" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/>
+            <enum bitpos="11" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA"/>
+            <type name="VkImportMemoryZirconHandleInfoFUCHSIA"/>
+            <type name="VkMemoryZirconHandlePropertiesFUCHSIA"/>
+            <type name="VkMemoryGetZirconHandleInfoFUCHSIA"/>
+            <command name="vkGetMemoryZirconHandleFUCHSIA"/>
+            <command name="vkGetMemoryZirconHandlePropertiesFUCHSIA"/>
+          </require>
+        </extension>
+        <extension name="VK_FUCHSIA_external_semaphore" number="366" type="device" requires="VK_KHR_external_semaphore_capabilities,VK_KHR_external_semaphore" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan">
+          <require>
+            <enum value="1"                                                name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION"/>
+            <enum value="&quot;VK_FUCHSIA_external_semaphore&quot;"        name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME"/>
+            <enum offset="0" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"/>
+            <enum offset="1" extends="VkStructureType"                     name="VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/>
+            <enum bitpos="7" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA"/>
+            <type name="VkImportSemaphoreZirconHandleInfoFUCHSIA"/>
+            <type name="VkSemaphoreGetZirconHandleInfoFUCHSIA"/>
+            <command name="vkImportSemaphoreZirconHandleFUCHSIA"/>
+            <command name="vkGetSemaphoreZirconHandleFUCHSIA"/>
+          </require>
+        </extension>
+        <extension name="VK_FUCHSIA_extension_367" number="367" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_367_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_367&quot;"              name="VK_EXT_EXTENSION_367_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_FUCHSIA_extension_368" number="368" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_368_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_368&quot;"              name="VK_EXT_EXTENSION_368_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_QCOM_extension_369" number="369" author="QCOM" contact="Matthew Netsch @mnetsch" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_QCOM_EXTENSION_369_SPEC_VERSION"/>
+                <enum value="&quot;VK_QCOM_extension_369&quot;"         name="VK_QCOM_EXTENSION_369_EXTENSION_NAME"/>
+                <enum bitpos="4" extends="VkDescriptorBindingFlagBits"  name="VK_DESCRIPTOR_BINDING_RESERVED_4_BIT_QCOM"/>
+            </require>
+        </extension>
+        <extension name="VK_HUAWEI_extension_370" number="370" author="HUAWEI" contact="Hueilong Wang @wyvernathuawei" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_HUAWEI_EXTENSION_370_SPEC_VERSION"/>
+                <enum value="&quot;VK_HUAWEI_extension_370&quot;"         name="VK_HUAWEI_EXTENSION_370_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_HUAWEI_extension_371" number="371" author="HUAWEI" contact="Hueilong Wang @wyvernathuawei" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_HUAWEI_EXTENSION_371_SPEC_VERSION"/>
+                <enum value="&quot;VK_HUAWEI_extension_371&quot;"         name="VK_HUAWEI_EXTENSION_371_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_372" number="372" author="NV" contact="Carsten Rohde @crohde" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_372_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_372&quot;"           name="VK_NV_EXTENSION_372_EXTENSION_NAME"/>
+                <enum bitpos="5" extends="VkBufferCreateFlagBits"       name="VK_BUFFER_CREATE_RESERVED_5_BIT_NV"/>
+                <enum bitpos="15" extends="VkImageCreateFlagBits"       name="VK_IMAGE_CREATE_RESERVED_15_BIT_NV"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_373" number="373" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_373_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_373&quot;"           name="VK_NV_EXTENSION_373_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_374" number="374" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_374_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_374&quot;"           name="VK_NV_EXTENSION_374_EXTENSION_NAME"/>
+                <enum bitpos="4" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_RESERVED_4_BIT_NV"/>
+                <enum bitpos="5" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_RESERVED_5_BIT_NV"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_375" number="375" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_375_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_375&quot;"           name="VK_NV_EXTENSION_375_EXTENSION_NAME"/>
+                <enum bitpos="5" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_RESERVED_5_BIT_NV"/>
+                <enum bitpos="6" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_RESERVED_6_BIT_NV"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_376" number="376" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_EXT_EXTENSION_376_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_376&quot;"          name="VK_EXT_EXTENSION_376_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_377" number="377" author="EXT" contact="Hugues Evrard @hevrard" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_EXT_EXTENSION_377_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_377&quot;"          name="VK_EXT_EXTENSION_377_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_378" number="378" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_378_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_378&quot;"           name="VK_NV_EXTENSION_378_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_QNX_screen_surface" number="379" type="instance" requires="VK_KHR_surface" platform="screen" author="QNX" contact="Mike Gorchak @mgorchak-blackberry" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_QNX_SCREEN_SURFACE_SPEC_VERSION"/>
+                <enum value="&quot;VK_QNX_screen_surface&quot;"         name="VK_QNX_SCREEN_SURFACE_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX"/>
+                <type name="VkScreenSurfaceCreateFlagsQNX"/>
+                <type name="VkScreenSurfaceCreateInfoQNX"/>
+                <command name="vkCreateScreenSurfaceQNX"/>
+                <command name="vkGetPhysicalDeviceScreenPresentationSupportQNX"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_380" number="380" author="KHR" contact="James Jones @cubanismo" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_380_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_380&quot;"          name="VK_KHR_EXTENSION_380_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_381" number="381" author="KHR" contact="James Jones @cubanismo" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_381_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_381&quot;"          name="VK_KHR_EXTENSION_381_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_382" number="382" author="EXT" contact="Sharif Elcott @selcott" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_EXT_EXTENSION_382_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_382&quot;"          name="VK_EXT_EXTENSION_382_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_383" number="383" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_EXT_EXTENSION_383_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_383&quot;"          name="VK_EXT_EXTENSION_383_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_384" number="384" type="instance" author="EXT" contact="Chia-I Wu @olvaffe1" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_EXT_EXTENSION_384_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_384&quot;"          name="VK_EXT_EXTENSION_384_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_MESA_extension_385" number="385" type="instance" author="MESA" contact="Chia-I Wu @olvaffe1" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_MESA_EXTENSION_385_SPEC_VERSION"/>
+                <enum value="&quot;VK_MESA_extension_385&quot;"         name="VK_MESA_EXTENSION_385_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_GOOGLE_extension_386" number="386" author="GOOGLE" contact="Chia-I Wu @olvaffe1" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_GOOGLE_EXTENSION_386_SPEC_VERSION"/>
+                <enum value="&quot;VK_GOOGLE_extension_386&quot;"       name="VK_GOOGLE_EXTENSION_386_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_387" number="387" author="KHR" contact="Daniel Koch @dgkoch" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_KHR_EXTENSION_387_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_387&quot;"              name="VK_KHR_EXTENSION_387_EXTENSION_NAME"/>
+            </require>
+          </extension>
+        <extension name="VK_EXT_extension_388" number="388" author="EXT" contact="Alan Baker @alan-baker" supported="disabled">
+          <require>
+              <enum value="0"                                             name="VK_EXT_EXTENSION_388_SPEC_VERSION"/>
+              <enum value="&quot;VK_EXT_extension_388&quot;"              name="VK_EXT_EXTENSION_388_EXTENSION_NAME"/>
+          </require>
+        </extension>
+        <extension name="VK_EXT_extension_389" number="389" author="EXT" contact="Yiwei Zhang @zhangyiwei" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_EXT_EXTENSION_389_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_389&quot;"          name="VK_EXT_EXTENSION_389_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_390" number="390" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_390_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_390&quot;"              name="VK_EXT_EXTENSION_390_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_391" number="391" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_391_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_391&quot;"              name="VK_EXT_EXTENSION_391_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_392" number="392" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled">
+            <require>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_392_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_392&quot;"              name="VK_EXT_EXTENSION_392_EXTENSION_NAME"/>
+            </require>
+        </extension>
     </extensions>
+    <spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it">
+        <spirvextension name="SPV_KHR_variable_pointers">
+            <enable version="VK_API_VERSION_1_1"/>
+            <enable extension="VK_KHR_variable_pointers"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_shader_explicit_vertex_parameter">
+            <enable extension="VK_AMD_shader_explicit_vertex_parameter"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_gcn_shader">
+            <enable extension="VK_AMD_gcn_shader"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_gpu_shader_half_float">
+            <enable extension="VK_AMD_gpu_shader_half_float"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_gpu_shader_int16">
+            <enable extension="VK_AMD_gpu_shader_int16"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_shader_ballot">
+            <enable extension="VK_AMD_shader_ballot"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_shader_fragment_mask">
+            <enable extension="VK_AMD_shader_fragment_mask"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_shader_image_load_store_lod">
+            <enable extension="VK_AMD_shader_image_load_store_lod"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_shader_trinary_minmax">
+            <enable extension="VK_AMD_shader_trinary_minmax"/>
+        </spirvextension>
+        <spirvextension name="SPV_AMD_texture_gather_bias_lod">
+            <enable extension="VK_AMD_texture_gather_bias_lod"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_shader_draw_parameters">
+            <enable version="VK_API_VERSION_1_1"/>
+            <enable extension="VK_KHR_shader_draw_parameters"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_8bit_storage">
+            <enable version="VK_API_VERSION_1_2"/>
+            <enable extension="VK_KHR_8bit_storage"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_16bit_storage">
+            <enable version="VK_API_VERSION_1_1"/>
+            <enable extension="VK_KHR_16bit_storage"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_shader_clock">
+            <enable extension="VK_KHR_shader_clock"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_float_controls">
+            <enable version="VK_API_VERSION_1_2"/>
+            <enable extension="VK_KHR_shader_float_controls"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_storage_buffer_storage_class">
+            <enable version="VK_API_VERSION_1_1"/>
+            <enable extension="VK_KHR_storage_buffer_storage_class"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_post_depth_coverage">
+            <enable extension="VK_EXT_post_depth_coverage"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_shader_stencil_export">
+            <enable extension="VK_EXT_shader_stencil_export"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_shader_ballot">
+            <enable extension="VK_EXT_shader_subgroup_ballot"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_subgroup_vote">
+            <enable extension="VK_EXT_shader_subgroup_vote"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_sample_mask_override_coverage">
+            <enable extension="VK_NV_sample_mask_override_coverage"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_geometry_shader_passthrough">
+            <enable extension="VK_NV_geometry_shader_passthrough"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_mesh_shader">
+            <enable extension="VK_NV_mesh_shader"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_viewport_array2">
+            <enable extension="VK_NV_viewport_array2"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_shader_subgroup_partitioned">
+            <enable extension="VK_NV_shader_subgroup_partitioned"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_shader_viewport_index_layer">
+            <enable version="VK_API_VERSION_1_2"/>
+            <enable extension="VK_EXT_shader_viewport_index_layer"/>
+        </spirvextension>
+        <spirvextension name="SPV_NVX_multiview_per_view_attributes">
+            <enable extension="VK_NVX_multiview_per_view_attributes"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_descriptor_indexing">
+            <enable version="VK_API_VERSION_1_2"/>
+            <enable extension="VK_EXT_descriptor_indexing"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_vulkan_memory_model">
+            <enable version="VK_API_VERSION_1_2"/>
+            <enable extension="VK_KHR_vulkan_memory_model"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_compute_shader_derivatives">
+            <enable extension="VK_NV_compute_shader_derivatives"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_fragment_shader_barycentric">
+            <enable extension="VK_NV_fragment_shader_barycentric"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_shader_image_footprint">
+            <enable extension="VK_NV_shader_image_footprint"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_shading_rate">
+            <enable extension="VK_NV_shading_rate_image"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_ray_tracing">
+            <enable extension="VK_NV_ray_tracing"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_ray_tracing">
+            <enable extension="VK_KHR_ray_tracing_pipeline"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_ray_query">
+            <enable extension="VK_KHR_ray_query"/>
+        </spirvextension>
+        <spirvextension name="SPV_GOOGLE_hlsl_functionality1">
+            <enable extension="VK_GOOGLE_hlsl_functionality1"/>
+        </spirvextension>
+        <spirvextension name="SPV_GOOGLE_user_type">
+            <enable extension="VK_GOOGLE_user_type"/>
+        </spirvextension>
+        <spirvextension name="SPV_GOOGLE_decorate_string">
+            <enable extension="VK_GOOGLE_decorate_string"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_fragment_invocation_density">
+            <enable extension="VK_EXT_fragment_density_map"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_physical_storage_buffer">
+            <enable version="VK_API_VERSION_1_2"/>
+            <enable extension="VK_KHR_buffer_device_address"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_physical_storage_buffer">
+            <enable extension="VK_EXT_buffer_device_address"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_cooperative_matrix">
+            <enable extension="VK_NV_cooperative_matrix"/>
+        </spirvextension>
+        <spirvextension name="SPV_NV_shader_sm_builtins">
+            <enable extension="VK_NV_shader_sm_builtins"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_fragment_shader_interlock">
+            <enable extension="VK_EXT_fragment_shader_interlock"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_demote_to_helper_invocation">
+            <enable extension="VK_EXT_shader_demote_to_helper_invocation"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_fragment_shading_rate">
+            <enable extension="VK_KHR_fragment_shading_rate"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_non_semantic_info">
+            <enable extension="VK_KHR_shader_non_semantic_info"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_shader_image_int64">
+            <enable extension="VK_EXT_shader_image_atomic_int64"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_terminate_invocation">
+            <enable extension="VK_KHR_shader_terminate_invocation"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_multiview">
+            <enable version="VK_API_VERSION_1_1"/>
+            <enable extension="VK_KHR_multiview"/>
+        </spirvextension>
+        <spirvextension name="SPV_KHR_workgroup_memory_explicit_layout">
+            <enable extension="VK_KHR_workgroup_memory_explicit_layout"/>
+        </spirvextension>
+        <spirvextension name="SPV_EXT_shader_atomic_float_add">
+            <enable extension="VK_EXT_shader_atomic_float"/>
+        </spirvextension>
+    </spirvextensions>
+    <spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it">
+        <spirvcapability name="Matrix">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="Shader">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="InputAttachment">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="Sampled1D">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="Image1D">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="SampledBuffer">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="ImageBuffer">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="ImageQuery">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="DerivativeControl">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="Geometry">
+            <enable struct="VkPhysicalDeviceFeatures" feature="geometryShader"/>
+        </spirvcapability>
+        <spirvcapability name="Tessellation">
+            <enable struct="VkPhysicalDeviceFeatures" feature="tessellationShader"/>
+        </spirvcapability>
+        <spirvcapability name="Float64">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderFloat64"/>
+        </spirvcapability>
+        <spirvcapability name="Int64">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderInt64"/>
+        </spirvcapability>
+        <spirvcapability name="Int64Atomics">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderBufferInt64Atomics" requires="VK_VERSION_1_2,VK_KHR_shader_atomic_int64"/>
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderSharedInt64Atomics" requires="VK_VERSION_1_2,VK_KHR_shader_atomic_int64"/>
+        </spirvcapability>
+        <spirvcapability name="AtomicFloat32AddEXT">
+            <enable struct="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" feature="shaderBufferFloat32AtomicAdd" requires="VK_EXT_shader_atomic_float"/>
+            <enable struct="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" feature="shaderSharedFloat32AtomicAdd" requires="VK_EXT_shader_atomic_float"/>
+            <enable struct="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" feature="shaderImageFloat32AtomicAdd" requires="VK_EXT_shader_atomic_float"/>
+            <enable struct="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" feature="sparseImageFloat32AtomicAdd" requires="VK_EXT_shader_atomic_float"/>
+        </spirvcapability>
+        <spirvcapability name="AtomicFloat64AddEXT">
+            <enable struct="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" feature="shaderBufferFloat64AtomicAdd" requires="VK_EXT_shader_atomic_float"/>
+            <enable struct="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" feature="shaderSharedFloat64AtomicAdd" requires="VK_EXT_shader_atomic_float"/>
+        </spirvcapability>
+        <spirvcapability name="Int64ImageEXT">
+            <enable struct="VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT" feature="shaderImageInt64Atomics" requires="VK_EXT_shader_image_atomic_int64"/>
+        </spirvcapability>
+        <spirvcapability name="Int16">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderInt16"/>
+        </spirvcapability>
+        <spirvcapability name="TessellationPointSize">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderTessellationAndGeometryPointSize"/>
+        </spirvcapability>
+        <spirvcapability name="GeometryPointSize">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderTessellationAndGeometryPointSize"/>
+        </spirvcapability>
+        <spirvcapability name="ImageGatherExtended">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderImageGatherExtended"/>
+        </spirvcapability>
+        <spirvcapability name="StorageImageMultisample">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderStorageImageMultisample"/>
+        </spirvcapability>
+        <spirvcapability name="UniformBufferArrayDynamicIndexing">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderUniformBufferArrayDynamicIndexing"/>
+        </spirvcapability>
+        <spirvcapability name="SampledImageArrayDynamicIndexing">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderSampledImageArrayDynamicIndexing"/>
+        </spirvcapability>
+        <spirvcapability name="StorageBufferArrayDynamicIndexing">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderStorageBufferArrayDynamicIndexing"/>
+        </spirvcapability>
+        <spirvcapability name="StorageImageArrayDynamicIndexing">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderStorageImageArrayDynamicIndexing"/>
+        </spirvcapability>
+        <spirvcapability name="ClipDistance">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderClipDistance"/>
+        </spirvcapability>
+        <spirvcapability name="CullDistance">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderCullDistance"/>
+        </spirvcapability>
+        <spirvcapability name="ImageCubeArray">
+            <enable struct="VkPhysicalDeviceFeatures" feature="imageCubeArray"/>
+        </spirvcapability>
+        <spirvcapability name="SampleRateShading">
+            <enable struct="VkPhysicalDeviceFeatures" feature="sampleRateShading"/>
+        </spirvcapability>
+        <spirvcapability name="SparseResidency">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderResourceResidency"/>
+        </spirvcapability>
+        <spirvcapability name="MinLod">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderResourceMinLod"/>
+        </spirvcapability>
+        <spirvcapability name="SampledCubeArray">
+            <enable struct="VkPhysicalDeviceFeatures" feature="imageCubeArray"/>
+        </spirvcapability>
+        <spirvcapability name="ImageMSArray">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderStorageImageMultisample"/>
+        </spirvcapability>
+        <spirvcapability name="StorageImageExtendedFormats">
+            <enable version="VK_API_VERSION_1_0"/>
+        </spirvcapability>
+        <spirvcapability name="InterpolationFunction">
+            <enable struct="VkPhysicalDeviceFeatures" feature="sampleRateShading"/>
+        </spirvcapability>
+        <spirvcapability name="StorageImageReadWithoutFormat">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderStorageImageReadWithoutFormat"/>
+        </spirvcapability>
+        <spirvcapability name="StorageImageWriteWithoutFormat">
+            <enable struct="VkPhysicalDeviceFeatures" feature="shaderStorageImageWriteWithoutFormat"/>
+        </spirvcapability>
+        <spirvcapability name="MultiViewport">
+            <enable struct="VkPhysicalDeviceFeatures" feature="multiViewport"/>
+        </spirvcapability>
+        <spirvcapability name="DrawParameters">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="shaderDrawParameters" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDeviceShaderDrawParametersFeatures" feature="shaderDrawParameters" requires="VK_VERSION_1_1"/>
+            <enable extension="VK_KHR_shader_draw_parameters"/>
+        </spirvcapability>
+        <spirvcapability name="MultiView">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="multiview" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDeviceMultiviewFeatures" feature="multiview" requires="VK_KHR_multiview"/>
+        </spirvcapability>
+        <spirvcapability name="DeviceGroup">
+            <enable version="VK_API_VERSION_1_1"/>
+            <enable extension="VK_KHR_device_group"/>
+        </spirvcapability>
+        <spirvcapability name="VariablePointersStorageBuffer">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointersStorageBuffer" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDeviceVariablePointersFeatures" feature="variablePointersStorageBuffer" requires="VK_KHR_variable_pointers"/>
+        </spirvcapability>
+        <spirvcapability name="VariablePointers">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointers" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDeviceVariablePointersFeatures" feature="variablePointers" requires="VK_KHR_variable_pointers"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderClockKHR">
+            <enable extension="VK_KHR_shader_clock"/>
+        </spirvcapability>
+        <spirvcapability name="StencilExportEXT">
+            <enable extension="VK_EXT_shader_stencil_export"/>
+        </spirvcapability>
+        <spirvcapability name="SubgroupBallotKHR">
+            <enable extension="VK_EXT_shader_subgroup_ballot"/>
+        </spirvcapability>
+        <spirvcapability name="SubgroupVoteKHR">
+            <enable extension="VK_EXT_shader_subgroup_vote"/>
+        </spirvcapability>
+        <spirvcapability name="ImageReadWriteLodAMD">
+            <enable extension="VK_AMD_shader_image_load_store_lod"/>
+        </spirvcapability>
+        <spirvcapability name="ImageGatherBiasLodAMD">
+            <enable extension="VK_AMD_texture_gather_bias_lod"/>
+        </spirvcapability>
+        <spirvcapability name="FragmentMaskAMD">
+            <enable extension="VK_AMD_shader_fragment_mask"/>
+        </spirvcapability>
+        <spirvcapability name="SampleMaskOverrideCoverageNV">
+            <enable extension="VK_NV_sample_mask_override_coverage"/>
+        </spirvcapability>
+        <spirvcapability name="GeometryShaderPassthroughNV">
+            <enable extension="VK_NV_geometry_shader_passthrough"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderViewportIndex">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderOutputViewportIndex" requires="VK_VERSION_1_2"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderLayer">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderOutputLayer" requires="VK_VERSION_1_2"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderViewportIndexLayerEXT">
+            <enable extension="VK_EXT_shader_viewport_index_layer"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderViewportIndexLayerNV">
+            <enable extension="VK_NV_viewport_array2"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderViewportMaskNV">
+            <enable extension="VK_NV_viewport_array2"/>
+        </spirvcapability>
+        <spirvcapability name="PerViewAttributesNV">
+            <enable extension="VK_NVX_multiview_per_view_attributes"/>
+        </spirvcapability>
+        <spirvcapability name="StorageBuffer16BitAccess">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="storageBuffer16BitAccess" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storageBuffer16BitAccess" requires="VK_KHR_16bit_storage"/>
+        </spirvcapability>
+        <spirvcapability name="UniformAndStorageBuffer16BitAccess">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="uniformAndStorageBuffer16BitAccess" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="uniformAndStorageBuffer16BitAccess" requires="VK_KHR_16bit_storage"/>
+        </spirvcapability>
+        <spirvcapability name="StoragePushConstant16">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="storagePushConstant16" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storagePushConstant16" requires="VK_KHR_16bit_storage"/>
+        </spirvcapability>
+        <spirvcapability name="StorageInputOutput16">
+            <enable struct="VkPhysicalDeviceVulkan11Features" feature="storageInputOutput16" requires="VK_VERSION_1_2"/>
+            <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storageInputOutput16" requires="VK_KHR_16bit_storage"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniform">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_BASIC_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformVote">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_VOTE_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformArithmetic">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_ARITHMETIC_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformBallot">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_BALLOT_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformShuffle">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_SHUFFLE_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformShuffleRelative">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformClustered">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_CLUSTERED_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformQuad">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_QUAD_BIT" requires="VK_VERSION_1_1"/>
+        </spirvcapability>
+        <spirvcapability name="GroupNonUniformPartitionedNV">
+            <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV" requires="VK_NV_shader_subgroup_partitioned"/>
+        </spirvcapability>
+        <spirvcapability name="SampleMaskPostDepthCoverage">
+            <enable extension="VK_EXT_post_depth_coverage"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderNonUniform">
+            <enable version="VK_API_VERSION_1_2"/>
+            <enable extension="VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="RuntimeDescriptorArray">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="runtimeDescriptorArray" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="InputAttachmentArrayDynamicIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderInputAttachmentArrayDynamicIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="UniformTexelBufferArrayDynamicIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderUniformTexelBufferArrayDynamicIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="StorageTexelBufferArrayDynamicIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderStorageTexelBufferArrayDynamicIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="UniformBufferArrayNonUniformIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderUniformBufferArrayNonUniformIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="SampledImageArrayNonUniformIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderSampledImageArrayNonUniformIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="StorageBufferArrayNonUniformIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderStorageBufferArrayNonUniformIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="StorageImageArrayNonUniformIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderStorageImageArrayNonUniformIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="InputAttachmentArrayNonUniformIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderInputAttachmentArrayNonUniformIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="UniformTexelBufferArrayNonUniformIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderUniformTexelBufferArrayNonUniformIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="StorageTexelBufferArrayNonUniformIndexing">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderStorageTexelBufferArrayNonUniformIndexing" requires="VK_VERSION_1_2,VK_EXT_descriptor_indexing"/>
+        </spirvcapability>
+        <spirvcapability name="Float16">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderFloat16" requires="VK_VERSION_1_2,VK_KHR_shader_float16_int8"/>
+            <enable extension="VK_AMD_gpu_shader_half_float"/>
+        </spirvcapability>
+        <spirvcapability name="Int8">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="shaderInt8" requires="VK_VERSION_1_2,VK_KHR_shader_float16_int8"/>
+        </spirvcapability>
+        <spirvcapability name="StorageBuffer8BitAccess">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="storageBuffer8BitAccess" requires="VK_VERSION_1_2,VK_KHR_8bit_storage"/>
+        </spirvcapability>
+        <spirvcapability name="UniformAndStorageBuffer8BitAccess">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="uniformAndStorageBuffer8BitAccess" requires="VK_VERSION_1_2,VK_KHR_8bit_storage"/>
+        </spirvcapability>
+        <spirvcapability name="StoragePushConstant8">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="storagePushConstant8" requires="VK_VERSION_1_2,VK_KHR_8bit_storage"/>
+        </spirvcapability>
+        <spirvcapability name="VulkanMemoryModel">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="vulkanMemoryModel" requires="VK_VERSION_1_2,VK_KHR_vulkan_memory_model"/>
+        </spirvcapability>
+        <spirvcapability name="VulkanMemoryModelDeviceScope">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="vulkanMemoryModelDeviceScope" requires="VK_VERSION_1_2,VK_KHR_vulkan_memory_model"/>
+        </spirvcapability>
+        <spirvcapability name="DenormPreserve">
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderDenormPreserveFloat16" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderDenormPreserveFloat32" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderDenormPreserveFloat64" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+        </spirvcapability>
+        <spirvcapability name="DenormFlushToZero">
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderDenormFlushToZeroFloat16" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderDenormFlushToZeroFloat32" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderDenormFlushToZeroFloat64" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+        </spirvcapability>
+        <spirvcapability name="SignedZeroInfNanPreserve">
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderSignedZeroInfNanPreserveFloat16" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderSignedZeroInfNanPreserveFloat32" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderSignedZeroInfNanPreserveFloat64" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+        </spirvcapability>
+        <spirvcapability name="RoundingModeRTE">
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderRoundingModeRTEFloat16" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderRoundingModeRTEFloat32" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderRoundingModeRTEFloat64" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+        </spirvcapability>
+        <spirvcapability name="RoundingModeRTZ">
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderRoundingModeRTZFloat16" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderRoundingModeRTZFloat32" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+            <enable property="VkPhysicalDeviceVulkan12Properties" member="shaderRoundingModeRTZFloat64" value="VK_TRUE" requires="VK_VERSION_1_2,VK_KHR_shader_float_controls"/>
+        </spirvcapability>
+        <spirvcapability name="ComputeDerivativeGroupQuadsNV">
+            <enable struct="VkPhysicalDeviceComputeShaderDerivativesFeaturesNV" feature="computeDerivativeGroupQuads" requires="VK_NV_compute_shader_derivatives"/>
+        </spirvcapability>
+        <spirvcapability name="ComputeDerivativeGroupLinearNV">
+            <enable struct="VkPhysicalDeviceComputeShaderDerivativesFeaturesNV" feature="computeDerivativeGroupLinear" requires="VK_NV_compute_shader_derivatives"/>
+        </spirvcapability>
+        <spirvcapability name="FragmentBarycentricNV">
+            <enable struct="VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV" feature="fragmentShaderBarycentric" requires="VK_NV_fragment_shader_barycentric"/>
+        </spirvcapability>
+        <spirvcapability name="ImageFootprintNV">
+            <enable struct="VkPhysicalDeviceShaderImageFootprintFeaturesNV" feature="imageFootprint" requires="VK_NV_shader_image_footprint"/>
+        </spirvcapability>
+        <spirvcapability name="ShadingRateNV">
+            <enable struct="VkPhysicalDeviceShadingRateImageFeaturesNV" feature="shadingRateImage" requires="VK_NV_shading_rate_image"/>
+        </spirvcapability>
+        <spirvcapability name="MeshShadingNV">
+            <enable extension="VK_NV_mesh_shader"/>
+        </spirvcapability>
+        <spirvcapability name="RayTracingKHR">
+            <enable struct="VkPhysicalDeviceRayTracingPipelineFeaturesKHR" feature="rayTracingPipeline" requires="VK_KHR_ray_tracing_pipeline"/>
+        </spirvcapability>
+        <spirvcapability name="RayQueryKHR">
+            <enable struct="VkPhysicalDeviceRayQueryFeaturesKHR" feature="rayQuery" requires="VK_KHR_ray_query"/>
+        </spirvcapability>
+        <spirvcapability name="RayTraversalPrimitiveCullingKHR">
+            <enable struct="VkPhysicalDeviceRayTracingPipelineFeaturesKHR" feature="rayTraversalPrimitiveCulling" requires="VK_KHR_ray_tracing_pipeline"/>
+        </spirvcapability>
+        <spirvcapability name="RayTracingNV">
+            <enable extension="VK_NV_ray_tracing"/>
+        </spirvcapability>
+        <spirvcapability name="TransformFeedback">
+            <enable struct="VkPhysicalDeviceTransformFeedbackFeaturesEXT" feature="transformFeedback" requires="VK_EXT_transform_feedback"/>
+        </spirvcapability>
+        <spirvcapability name="GeometryStreams">
+            <enable struct="VkPhysicalDeviceTransformFeedbackFeaturesEXT" feature="geometryStreams" requires="VK_EXT_transform_feedback"/>
+        </spirvcapability>
+        <spirvcapability name="FragmentDensityEXT">
+            <enable struct="VkPhysicalDeviceFragmentDensityMapFeaturesEXT" feature="fragmentDensityMap" requires="VK_EXT_fragment_density_map"/>
+        </spirvcapability>
+        <spirvcapability name="PhysicalStorageBufferAddresses">
+            <enable struct="VkPhysicalDeviceVulkan12Features" feature="bufferDeviceAddress" requires="VK_VERSION_1_2,VK_KHR_buffer_device_address"/>
+            <enable struct="VkPhysicalDeviceBufferDeviceAddressFeaturesEXT" feature="bufferDeviceAddress" requires="VK_EXT_buffer_device_address" alias="bufferDeviceAddressEXT"/>
+        </spirvcapability>
+        <spirvcapability name="CooperativeMatrixNV">
+            <enable struct="VkPhysicalDeviceCooperativeMatrixFeaturesNV" feature="cooperativeMatrix" requires="VK_NV_cooperative_matrix"/>
+        </spirvcapability>
+        <spirvcapability name="IntegerFunctions2INTEL">
+            <enable struct="VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL" feature="shaderIntegerFunctions2" requires="VK_INTEL_shader_integer_functions2"/>
+        </spirvcapability>
+        <spirvcapability name="ShaderSMBuiltinsNV">
+            <enable struct="VkPhysicalDeviceShaderSMBuiltinsFeaturesNV" feature="shaderSMBuiltins" requires="VK_NV_shader_sm_builtins"/>
+        </spirvcapability>
+        <spirvcapability name="FragmentShaderSampleInterlockEXT">
+            <enable struct="VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT" feature="fragmentShaderSampleInterlock" requires="VK_EXT_fragment_shader_interlock"/>
+        </spirvcapability>
+        <spirvcapability name="FragmentShaderPixelInterlockEXT">
+            <enable struct="VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT" feature="fragmentShaderPixelInterlock" requires="VK_EXT_fragment_shader_interlock"/>
+        </spirvcapability>
+        <spirvcapability name="FragmentShaderShadingRateInterlockEXT">
+            <enable struct="VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT" feature="fragmentShaderShadingRateInterlock" requires="VK_EXT_fragment_shader_interlock"/>
+            <enable struct="VkPhysicalDeviceShadingRateImageFeaturesNV" feature="shadingRateImage" requires="VK_NV_shading_rate_image"/>
+        </spirvcapability>
+        <spirvcapability name="DemoteToHelperInvocationEXT">
+            <enable struct="VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT" feature="shaderDemoteToHelperInvocation" requires="VK_EXT_shader_demote_to_helper_invocation"/>
+        </spirvcapability>
+        <spirvcapability name="FragmentShadingRateKHR">
+            <enable struct="VkPhysicalDeviceFragmentShadingRateFeaturesKHR" feature="pipelineFragmentShadingRate" requires="VK_KHR_fragment_shading_rate"/>
+            <enable struct="VkPhysicalDeviceFragmentShadingRateFeaturesKHR" feature="primitiveFragmentShadingRate" requires="VK_KHR_fragment_shading_rate"/>
+            <enable struct="VkPhysicalDeviceFragmentShadingRateFeaturesKHR" feature="attachmentFragmentShadingRate" requires="VK_KHR_fragment_shading_rate"/>
+        </spirvcapability>
+        <spirvcapability name="WorkgroupMemoryExplicitLayoutKHR">
+            <enable struct="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" feature="workgroupMemoryExplicitLayout" requires="VK_KHR_workgroup_memory_explicit_layout"/>
+        </spirvcapability>
+        <spirvcapability name="WorkgroupMemoryExplicitLayout8BitAccessKHR">
+            <enable struct="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" feature="workgroupMemoryExplicitLayout8BitAccess" requires="VK_KHR_workgroup_memory_explicit_layout"/>
+        </spirvcapability>
+        <spirvcapability name="WorkgroupMemoryExplicitLayout16BitAccessKHR">
+            <enable struct="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" feature="workgroupMemoryExplicitLayout16BitAccess" requires="VK_KHR_workgroup_memory_explicit_layout"/>
+        </spirvcapability>
+    </spirvcapabilities>
 </registry>
diff --git a/registry/vkconventions.py b/registry/vkconventions.py
index e12e0ff..5ceeeb0 100644
--- a/registry/vkconventions.py
+++ b/registry/vkconventions.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3 -i
 #
-# Copyright (c) 2013-2020 The Khronos Group Inc.
+# Copyright 2013-2021 The Khronos Group Inc.
 #
 # SPDX-License-Identifier: Apache-2.0